Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix hrrr quilting restart tests #683

Closed

Conversation

DusanJovic-NOAA
Copy link
Collaborator

Description

Small change in quilting restart write routine to make all axis in the physics restart files use double values (instead of float even when physics is compiled in 32 bit) to make the files identical to FMS restart files. With this change we can have all tests that run quilting use the same baselines as corresponding control tests.

Is a change of answers expected from this PR? No

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? ufs-weather-model regression test
What compilers / HPCs was it tested with? Intel and GNU on Hera
Are the changes covered by regression tests? Yes
Have the ufs-weather-model regression test been run? Yes. On what platform? Hera.

  • Will the code updates change regression test baseline? If yes, why? Please show the baseline directory below.
  • Please commit the regression test log files in your ufs-weather-model branch

Dependencies

N/A

@BrianCurtis-NOAA
Copy link
Collaborator

Are there fixes that need to be made (or already are made) in FMS to accept float where applicable?

@DusanJovic-NOAA
Copy link
Collaborator Author

Are there fixes that need to be made (or already are made) in FMS to accept float where applicable?

There are no changes required in FMS, this PR modifies fv3atm write routine to make the restart files identical to FMS restart files.

@DusanJovic-NOAA
Copy link
Collaborator Author

Currently, FMS restart files have all axis defined as double:

$ ncdump -h hrrr_control_dyn32_phy32_intel/RESTART/20210322.120000.phy_data.tile1.nc
netcdf \20210322.120000.phy_data.tile1 {
dimensions:
        xaxis_1 = 96 ;
        yaxis_1 = 96 ;
        zaxis_1 = 127 ;
        Time = UNLIMITED ; // (1 currently)
variables:
        double xaxis_1(xaxis_1) ;
                xaxis_1:cartesian_axis = "X" ;
        double yaxis_1(yaxis_1) ;
                yaxis_1:cartesian_axis = "Y" ;
        double zaxis_1(zaxis_1) ;
                zaxis_1:cartesian_axis = "Z" ;
        double Time(Time) ;
                Time:cartesian_axis = "T" ;
        float cv(Time, yaxis_1, xaxis_1) ;
                cv:checksum = "               0" ;
        float cvt(Time, yaxis_1, xaxis_1) ;
                cvt:checksum = "               0" ;
        float cvb(Time, yaxis_1, xaxis_1) ;

while quilting restart files have vertical axis defined as float:

$ ncdump -h hrrr_control_qr_dyn32_phy32_intel/RESTART/20210322.120000.phy_data.tile1.nc
netcdf \20210322.120000.phy_data.tile1 {
dimensions:
        xaxis_1 = 96 ;
        yaxis_1 = 96 ;
        zaxis_1 = 127 ;
        Time = UNLIMITED ; // (1 currently)
variables:
        double xaxis_1(xaxis_1) ;
                xaxis_1:cartesian_axis = "X" ;
        double yaxis_1(yaxis_1) ;
                yaxis_1:cartesian_axis = "Y" ;
        float zaxis_1(zaxis_1) ;
                zaxis_1:cartesian_axis = "Z" ;
        double Time(Time) ;
                Time:cartesian_axis = "T" ;
        float cv(Time, yaxis_1, xaxis_1) ;
                cv:checksum = "               0" ;
        float cvt(Time, yaxis_1, xaxis_1) ;
                cvt:checksum = "               0" ;
        float cvb(Time, yaxis_1, xaxis_1) ;

This PR fixes that inconsistency. Whether that should be changed, and whether we change it in both FMS and quilting is a separate issue. If we want to keep FMS and quilting restarts identical then the change should be made in both places at the same time.
The goal of this PR is to make quilting restart files identical to FMS, so that we can update all 'qr' tests to use same baselines as corresponding control tests.

@zach1221
Copy link
Collaborator

zach1221 commented Aug 31, 2023

Combined PR #1467 is finished testing, and these fv3atm sub-PRs are ready for final review/merge. @junwang-noaa are you able to provide a review of this PR as well?

Edit disregard. changes here were combined into fv3atm 595

@DusanJovic-NOAA
Copy link
Collaborator Author

This PR is already merged via #595

@DusanJovic-NOAA DusanJovic-NOAA deleted the fix_qr_tests branch August 31, 2023 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Several issues with how some of the hrrr 'quilt restart' tests are configured
5 participants