You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add CCPP timestep_init and timestep_final phases to ufs-weather-model, fv3atm, GFDL_atmos_cubed_sphere, ccpp-framework, ccpp-physics.
The timestep_init phase will take the place of and run the time_vary group of the CCPP suite definition files, i.e. run at the beginning of every time step. The timestep_final phase will be added at the end of the physics calls at every time step (not doing anything at the moment).
Same as for the CCPP init and final phases, timestep_init and timestep_final will automatically run over all blocks at the same time (same as the time_vary group), and the conversion of the blocked data into contiguous arrays and back happens in the auto-generated caps (instead of manually inside the time_vary physics). This allows us to remove the dependency on the GFS DDTs in the calls to the time_vary physics. It also simplifies greatly the calls to gcycle/sfcsub.
No changes required for the suite definition files or the regression test configuration.
Because the data conversions happen in different places, and the loops over the individual blocks inside the time_vary physics is removed, it is possible that this will change the answer in full/prod mode. In debug or repro mode, b4b identical results are expected. This will need to be confirmed when it is time for committing the PRs listed below.
Solution
The implementation of these changes requires five PRs across the different repositories:
Description
Add CCPP
timestep_init
andtimestep_final
phases to ufs-weather-model, fv3atm, GFDL_atmos_cubed_sphere, ccpp-framework, ccpp-physics.The
timestep_init
phase will take the place of and run thetime_vary
group of the CCPP suite definition files, i.e. run at the beginning of every time step. Thetimestep_final
phase will be added at the end of the physics calls at every time step (not doing anything at the moment).Same as for the CCPP
init
andfinal
phases,timestep_init
andtimestep_final
will automatically run over all blocks at the same time (same as thetime_vary
group), and the conversion of the blocked data into contiguous arrays and back happens in the auto-generated caps (instead of manually inside thetime_vary
physics). This allows us to remove the dependency on the GFS DDTs in the calls to thetime_vary
physics. It also simplifies greatly the calls togcycle
/sfcsub
.No changes required for the suite definition files or the regression test configuration.
Because the data conversions happen in different places, and the loops over the individual blocks inside the
time_vary
physics is removed, it is possible that this will change the answer in full/prod mode. In debug or repro mode, b4b identical results are expected. This will need to be confirmed when it is time for committing the PRs listed below.Solution
The implementation of these changes requires five PRs across the different repositories:
#337
NOAA-EMC/fv3atm#217
NCAR/ccpp-physics#534
NCAR/ccpp-framework#344
NOAA-EMC/GFDL_atmos_cubed_sphere#47
Alternatives
None.
Related to
See above.
The text was updated successfully, but these errors were encountered: