I am 100% sure that my namelist.wps is right. Because when I change other time periods of fnl data, all the programmes are working. So I really dont know why. Even though I change the grid resolution, the problem still exists.
ungrib has the capability to interpolate data to the specified time. I would suggest you run ungrib.exe for a specific period, for example, if your have good FNL data at 2022-02-01_06 and 2022-02-01_18, but the data at 2022-02-01_12 is wrong, then you can run ungrib over the period from 2022-02-01_06 to 2022-02-01_18, but specify interval_seconds = 21600, ungrib will produce intermediate file at 2022-02-01_12.
This is not that accurate but it is a compromise if the data is missing at 2022-02-01_12.