Fix zero out accumulated total precip#979
Conversation
|
Thanks @junwang-noaa for providing a solution! This is related to the NOAA-EMC/GFS#1. @ClaraDraper-NOAA first found this precipitation accumulation issue. This fix is being tested in a test retro. |
|
@RuiyuSun The first output time for the IAU will now be the first time step at current cycle time. Please check if the total precip and bucket precip are now consistent. Thanks. |
@junwang-noaa Great! I will test this. |
|
This PR worked in the most recent retro test. The total accumulated precipitation rate is zeroed out during the first timestep and its value is the same as its corresponding bucket value in the sfcf files up to 6 hours. The RUNDIR of the test is at /lfs/h2/emc/physics/noscrub/ruiyu.sun/gfsv17_retro.logfiles/fcst.2420737. The gdas_fcst_seg0.log also in the dir. In the test, output_fh: 0.0417 1 2 3 4 5 6 7 8 9 (hard coded in model_configure). 0.0417=150/3600. This requests the model writes history file after zeroing out the total precipitation and other accumulated fields in the first timestep and ensures the accumulated precipitation rate (and other accumulated fields) and the bucket precipitation rate are the same at the 00Z forecast. One concern of this test setting is whether the initial value of total precipitation rate before zeroing out is used by any components in DA. An issue is this setting messed up the filename consistency between the model and workflow. For example, the 00Z files from the model: sfcf000-02-30.nc, atmf000-02-30.nc, GFSPRS.GrbF00 and GFSFLX.GrbF00 are not linked to their workflow names. atmf0.0.nc -> /lfs/h2/emc/stmp/ruiyu.sun/retro10p/gdas.20241115/06//model/atmos/histo |
|
The file name changes in the previous comments are due to the changes made to the forecast_postdet.sh. ruiyu.sun@dlogin04:/lfs/h2/emc/physics/noscrub/ruiyu.sun/git/gfsv17/global_workflow_gfsv17_0603_
|
@WenMeng-NOAA @ChristopherHill-NOAA Could you chime in about potential impact of changing the accumulated values in the sfc files from the values exact at f00 hour to those after one-time step to the UPP outputs and downstream products when IAU is used? |
@RuiyuSun These time-averaged variables are not outputted from UPP at F000. |
|
Thanks @WenMeng-NOAA for confirming! @ChristopherHill-NOAA do you have any concern, in terms of product generation, about writing out the accumulated fields at one timestep after FH000 instead of exactly at FH000? |
It is observed that none of the variables APCP, ACPCP, NCPCP, FROZR, FRZR, or TSNOWP appears in the GFSv16 product files |
…bo (#996) * Add fixes for Prate and UPP Call * Add changes to unit test due to fundamental change to output_fh * Reduce restart control variables to one
Description
This PR is to resolve the issue with #976. The average total precipitation fields (accumulated from cycle starting time) are not correct in GFSv17 retro run.
The following code changes in production/GFS.16 were lost in the current fv3atm ccpp driver code: https://github.com/NOAA-EMC/fv3atm/blob/production/GFS.v16/gfsphysics/GFS_layer/GFS_driver.F90#L643-L649
ccpp_driver.F90 is updated with the code.
Issue(s) addressed
Link the issues to be closed with this PR, whether in this repository or in another repository.
(Remember, issues should always be created before starting work on a PR branch!)
Testing
How were these changes tested?
The code has been tested on hera with cpld_control_gfsv17 and cpld_control_gfsv17_iau tests. There is no change in cpld_control_gfsv17 and the changes in sfc, pgrb and restart/phys files are what we expected. The rt log files are under:
/scratch1/NCEPDEV/nems/Jun.Wang/nems/vlab/20250523/totprep/ufs-weather-model/tests/logs/log_hera:
rt_cpld_control_gfsv17_intel.log
rt_cpld_control_gfsv17_iau_intel.log
For cpld_control_gfsv17_iau, the pgrb24 file shows field differences, with no impact on bucket precip related fields:
Dependencies
If testing this branch requires non-default branches in other repositories, list them.
Those branches should have matching names (ideally)
Do PRs in upstream repositories need to be merged first?
If so add the "waiting for other repos" label and list the upstream PRs