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/ufsatm#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.