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

Update for new RRTMG cloud overlap methods (replaced by #487) #477

Merged
merged 1 commit into from
Sep 25, 2020
Merged

Update for new RRTMG cloud overlap methods (replaced by #487) #477

merged 1 commit into from
Sep 25, 2020

Conversation

mjiacono
Copy link
Collaborator

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.

  • Source file GFS_rrtmg_pre.F90 was modified to specify the distance between model layers that is required for defining alpha, which is done with the progcld* subroutines.
  • Source files physcons.F90 and physparam.f were changes as described above.
  • Source file radiation_clouds.f was modified to change each of the progcld* subroutines to call get_alpha prior to the calls to gethml. The latter was changed to generate the high, middle and low cloud diagnostic for the EXP and ER overlap methods. The decision was made to create the new get_alpha subroutine and to call it prior to the radiation in order to facilitate future expansion should more sophisticated methods for defining the decorrelation length and alpha prove beneficial in future research. The alpha parameter is output from GFS_typedefs.F90 and passed to the RRTMG radiation. - Source files radlw_main.f and radsw_main.f were modified to allow use of EXP and ER (and the required alpha) within the sub-column generator that defines the sub-grid cloud properties for the radiative transfer calculations.
  • The .meta files associated with the affected source files were also modified to allow proper generation of the related CAP files.

@climbfuji
Copy link
Collaborator

@mjiacono Thanks for submitting these updated PRs. I'll be looking at them over the next few days!

@climbfuji
Copy link
Collaborator

climbfuji commented Aug 3, 2020

@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.

@climbfuji
Copy link
Collaborator

@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).

@climbfuji
Copy link
Collaborator

This PR has been pulled into #487 and will be merged as part of it.

@climbfuji climbfuji changed the title Update for new RRTMG cloud overlap methods Update for new RRTMG cloud overlap methods (replaced by #487) Aug 11, 2020
climbfuji added a commit that referenced this pull request Sep 25, 2020
…th_rrtmgp_and_updated

RRTMG cloud overlap method update (contains #477)
@climbfuji climbfuji merged commit b0bc1ab into NCAR:master Sep 25, 2020
DusanJovic-NOAA pushed a commit to ufs-community/ufs-weather-model that referenced this pull request Sep 28, 2020
- 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)
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.

2 participants