RRTMGP cleanup from ORTs#782
Conversation
…es in ccpp-physics.
climbfuji
left a comment
There was a problem hiding this comment.
Quite a few changes in several files. Would you be able to expand the description of your PR, please, to help the reviewers? What issue is addressed, and how? We don't need a novel, just a few items that make it easier for us to review. Also, please list the associated fv3atm and ufs-weather-model PRs. Thanks!
I did give the PR a first quick look, thanks for cleaning up a lot of the trailing whitespaces.
I see you moved the calculation of top_at_1 moved from physics/GFS_rrtmgp_cloud_overlap_pre.F90 to physics/GFS_rrtmgp_pre.F90. Is this now the only place where it is calculated, and then sent to the other schemes as a host model/CCPP variable? II think so, but please confirm.
|
@dustinswales This PR will be scheduled for commit soon, can you please address the comments from the code review so far? Thanks. |
|
grantfirl
left a comment
There was a problem hiding this comment.
Nice work, @dustinswales. Thanks for the cleanup along with the other changes!
|
I reviewed changes in rte-rrtmgp with commit 4bf8b44 and found nothing to change my previous approval of this PR from a CCPP point of view. |
SamuelTrahanNOAA
left a comment
There was a problem hiding this comment.
No complaints. I don't know the radiation code well, but at a technical level it looks good.
This PR contains bug fixes to the RRTMGP radiation scheme discovered using the UFS operational regression tests.
There were two errors.
-) Indexing bug in SW cloud-sampling routine (dustinswales@0a545c6#diff-ab383f7b24008085d38216e27611d9db32967aa782caf00525886f1c46407665L102)
-) Revert bug introduced by #627. A little background. In this PR, the surface albedo calculation was moved out of the SW scheme and to the start of the radiation loop. In RRTMGP, the calculation of the solar-zenith angle was not moved out of the scheme along with the surface-albedo calculation. The SZA is an input to the subroutine to compute the surface-albedo. The fix is to call to coszmn() from GFS_rrtmgp_pre.F90, not GFS_rrtmgp_sw_pre.F90.
Additionally, there was some cleanup.