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

Enable customizable idealized, doubly-periodic tests #909

Open
wants to merge 70 commits into
base: develop
Choose a base branch
from

Conversation

LarissaReames-NOAA
Copy link
Collaborator

Description

This PR adds a doubly-periodic idealized test case to test_cases.F90 that is customizable by the user at run time via input.nml and that can be run within the UFS framework and is fully compatible with CCPP physics.

An important modification was made to make this case compatible with CCPP. To enable the user to choose the canned "SupeCell" sounding from GFDL's original supercell test, we copied over the routines from GFDL MP that were previously preventing this code from compiling with CCPP/"GFS physics".

We have added documentation to help the user, including some code to generate an idealized surface file that the user can customized to their liking. The PR at the UWM level will also have a corresponding regression test. It won't be baseline tested, but it will provide an easy route for user to generate a run directory.

Many thanks go to @MicroTed for all of his help and contributions to this effort as well. He's agreed to provide a test run directory repo that can be cloned by those who'd like to test the code inside a pre-generated run directory. You can find that here: https://github.com/MicroTed/ufs_ideal_run.git

Issue(s) addressed

Testing

Tested on Hera (intel and gnu, release and debug builds for both) and on Jet. Tests have been run to check that all the various types of sounding options can be used successfully.

The full suite of regression tests will be run at the weather model level. A regression test will be added in the WM.

No existing baseline changes are expected.

Dependencies

Requirements before merging

  • All new code in this PR is tested by at least one unit test
  • All new code in this PR includes Doxygen documentation
  • All new code in this PR does not add new compilation warnings (check CI output)

MicroTed and others added 30 commits October 15, 2021 20:16
Included ccpp suite that turns off pbl and surface layer schemes for better idealized testing.
LarissaReames-NOAA and others added 21 commits November 29, 2023 22:40
Eighth reconciliation PR from production/RRFS.v1 (NOAA-EMC#898)
@LarissaReames-NOAA LarissaReames-NOAA changed the title Ideal periodic Enable customizable idealized, doubly-periodic tests Jan 15, 2025
@LarissaReames-NOAA
Copy link
Collaborator Author

This PR doesn't add any new subroutines or inputs for routines contained in fv3atm, but I did add an if statement branch specifically for idealized test cases (grid_type=4) in module_fcst_grid_comp.F90 that would probably need a unit test. I don't think this file is covered by any unit tests as of yet, @edwardhartnett how do you want to proceed here? Do we need a unit test that test all branches of that if block?

@edwardhartnett
Copy link
Collaborator

Don't worry about the unit testing yet.

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.

Create a user-friendly idealized testing capability
4 participants