Skip to content

Add RRTMGP and surface coupling to convection-permitting suite - #422

Merged
kuanchihwang merged 10 commits into
ESCOMP:mainfrom
kuanchihwang:staging/add-rrtmgp-to-cps
Aug 6, 2026
Merged

Add RRTMGP and surface coupling to convection-permitting suite#422
kuanchihwang merged 10 commits into
ESCOMP:mainfrom
kuanchihwang:staging/add-rrtmgp-to-cps

Conversation

@kuanchihwang

@kuanchihwang kuanchihwang commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Tag name

None (Bit-for-bit)

Originator(s)

kuanchihwang

Description (include the issue title, and the keyword ['closes', 'fixes', 'resolves'] followed by the issue number)

This PR adds RRTMGP and surface coupling to the convection-permitting suite. It also applies a blanket fix to the inconsistent tendency handling across various MMM physics schemes.

List all namelist files that have been modified

None

List all files eliminated and why

None

List all files added and what they do

None

List all existing files that have been modified, and describe the changes

M       schemes/mmm/bl_gwdo_compat.meta
    * Fix inconsistent tendency behaviors in MMM physics schemes
M       schemes/mmm/bl_mynn_compat.meta
M       schemes/mmm/cu_ntiedtke_compat.meta
M       schemes/mmm/mmm_physics_compat.F90
    * Update standard names and add interstitial for RRTMGP
    * Fix inconsistent tendency behaviors in MMM physics schemes
M       schemes/mmm/mmm_physics_compat.meta
    * Update standard names and add interstitial for RRTMGP
    * Fix metadata
    * Fix inconsistent tendency behaviors in MMM physics schemes
M       test/test_suites/suite_convection_permitting.xml
    * Add RRTMGP to convection-permitting suite
    * Update standard names and add interstitial for RRTMGP
    * Enable surface coupling
    * Fix inconsistent tendency behaviors in MMM physics schemes
M       test/unit-test/tests/mmm/mmm_physics_compat_tests.pf
    * Add unit tests

List all automated tests that failed, as well as an explanation for why they were not fixed

All passed.

Is this an answer-changing PR? If so, is it a new physics package, algorithm change, tuning change, etc?

Yes, but only for the convection-permitting suite.

If yes to the above question, describe how this code was validated with the new/modified features

Configure, build, and run CAM-SIMA with the MPASCP compset.

@kuanchihwang
kuanchihwang marked this pull request as ready for review July 13, 2026 18:14
@kuanchihwang
kuanchihwang requested a review from nusbaume July 13, 2026 18:14

@nusbaume nusbaume left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @kuanchihwang! I just had one optional request and a comment covering the discussion we had in our meeting. Otherwise these changes look good to me!


<scheme>mmm_physics_compat</scheme>

<!-- Begin section RRTMGP -->

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might note here that RRTMGP is the radiation scheme (as it may not be obvious to new users):

Suggested change
<!-- Begin section RRTMGP -->
<!-- Begin section RRTMGP (radiation scheme) -->

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the comments in 1c1c32c.

Comment on lines +407 to +412
! Save pending tendencies to final tendencies.
!
! The reason for this mechanism is to mitigate the inconsistent tendency behaviors across various MMM physics schemes.
! Although some schemes correctly accumulate their tendencies with others, there are certain schemes that outright
! overwrite the tendencies from others. Instead of wrestling with the problematic schemes individually like MPAS does,
! which is very error-prone, a suite-level scheme is introduced to blanketly enforce the correct behavior.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm totally happy with this for now, but long-term is there a chance that we can eventually fix the problematic schemes so that this helper scheme is no longer needed? Definitely not a high priority, but it does seem like a way to reduce the total amount of variables (and thus memory) that is needed for a simulation.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can definitely move the fixes to the compatibility wrapper of each scheme if that is the desired direction, but we likely cannot modify the main schemes at MMM-physics because it will break the dependent MMM models.

MPAS also suffers from this issue: The _p-suffix variables can be found all over the place in each physics driver (e.g., the PBL physics driver[1]).

@nusbaume
nusbaume requested a review from peverwhee July 22, 2026 18:02

@peverwhee peverwhee left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one tiny comment quibble but nothing that holds back my approval!

Comment thread schemes/mmm/mmm_physics_compat.F90 Outdated
@kuanchihwang
kuanchihwang merged commit b0cb412 into ESCOMP:main Aug 6, 2026
5 checks passed
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.

4 participants