-
Notifications
You must be signed in to change notification settings - Fork 147
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
Update for new RRTMG cloud overlap methods (replaced by #487) #477
Conversation
@mjiacono Thanks for submitting these updated PRs. I'll be looking at them over the next few days! |
@mjiacono @ligiabernardet @grantfirl I pulled your PR into the latest ufs-weather-model code and made the necessary adjustments in the fv3atm repository. I had to make a few more changes so that your updates with the GSL SGS cloud pre/post code and the RRTMGP codes. Good news is that the regression tests all passed against the official baseline on hera using the gnu compilers; the more extensive testing using intel is still ongoing. |
Update: the hera.intel regression tests also pass - looking great! I'll create my ccpp-physics wrapper PR and the fv3atm and ufs-weather-model PRs after @dustinswales' RRTMGP update went in (Dustin is replicating your extended cloud overlap schemes in RRTMGP, and I will need to resolve a few conflicts when I update your/my code from his PR). |
This PR has been pulled into #487 and will be merged as part of it. |
…th_rrtmgp_and_updated RRTMG cloud overlap method update (contains #477)
- updates `.gitmodules` and the submodule pointer for fv3atm for code review and testing of the following changes in fv3atm and ccpp-physics: - add two new cloud overlap methods for RRTMG to ccpp-physics - see detailed description in NCAR/ccpp-physics#477. - add necessary variables to `GFS_typedefs.{F90,meta} and fix a few metadata entries - see NOAA-EMC/fv3atm#157 - contains changes from @DusanJovic-NOAA from branch https://github.com/DusanJovic-NOAA/ufs-weather-model/commits/update_compile_script that removes the old gnumake `compile.sh` script and replaces it with the new cmake `compile_cmake.sh` script (which is renamed to `compile.sh`) - contains follow-up work in the regression test scripts to use `NEMS_COMPILER` throughout instead of a mixture of `NEMS_COMPILER` and `COMPILER` (note: `NEMS_COMPILER` should be renamed to something like `UFS_COMPILER` or `RT_COMPILER` in the future, along with corresponding changes for `NEMS_MACHINE` etc.) - fixes the `readlink` command in the top-level `build.sh` and in `tests/compile.sh` for macOS (similar to what was done for branch release/public-v1 - remove lines `cp ${PATHRT}/../FV3/ccpp/suites/suite_${CCPP_SUITE}.xml suite_${CCPP_SUITE}.xml` from `tests/fv3_conf/ccpp*.IN`, i.e. no longer copy suite definition files to regression test run directories - replace GSL drag suite with CIRES UGWP/GFS GWD in `tests/tests/fv3_ccpp_rrfs_v1beta` and `tests/tests/fv3_ccpp_rrfs_v1beta_debug` (cherry-picked from PR #205 for branch release/public-v2)
The RRTMG cloud overlap updates add two new cloud overlap methods, exponential and exponential-random, which are selected using the existing iovr_lw and iovr_sw control parameter (4=EXP; 5=ER). Each method requires the calculation of the vertical decorrelation parameter, alpha, which is done through calls to a new subroutine, get_alpha, which resides in radiation_clouds.f. In addition, alpha requires the specification of a decorrelation length, and two ways have been provided to define this quantity, either as a constant or as a latitude-varying and day-of-year varying quantity. The decorrelation length method is selected through the new control parameter, idcor, which is set in physparam.f. If required (when idcor=0), the constant decorrelation length is defined through the new parameter decorr_con (in units of km) in physcons.F90.