Skip to content

Add experimental support for MPAS "convection-permitting" physics suite#448

Merged
kuanchihwang merged 13 commits intoESCOMP:developmentfrom
kuanchihwang:staging/convection-permitting-suite
Feb 27, 2026
Merged

Add experimental support for MPAS "convection-permitting" physics suite#448
kuanchihwang merged 13 commits intoESCOMP:developmentfrom
kuanchihwang:staging/convection-permitting-suite

Conversation

@kuanchihwang
Copy link
Copy Markdown
Collaborator

@kuanchihwang kuanchihwang commented Dec 10, 2025

Tag name (required for release branches):

None

Originator(s):

kuanchihwang

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

This PR enables CAM-SIMA to run with the "convection-permitting" physics suite from MPAS. You can use the MPASCP component set alias to create a simulation case (e.g., ./create_newcase --compset MPASCP ...). Be advised that the physics suite is still a work in progress. It is currently run with analytic initial condition, and without a proper land model for surface fluxes.

Describe any changes made to the build system:

None

Describe any changes made to the namelist:

None

List any changes to the defaults for the input datasets (e.g., boundary datasets):

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       cime_config/config_component.xml
M       cime_config/config_compsets.xml
M       src/dynamics/tests/namelist_definition_analy_ic.xml
  * Add "MPASCP" as a valid compset alias for the new "convection-permitting" physics suite
M       src/data/physconst.F90
M       src/data/physconst.meta
  * Add latent heat of sublimation to physics constants
  * Fix standard name of `cpvir` in physics constants
M       src/data/registry.xml
  * Add variables needed by YSU orographic gravity wave drag scheme to the registry
  * Add variables needed by MYNN surface layer scheme to the registry

Regression tests:

SMS_Ln9.ne3pg3_ne3pg3_mg37.FADIAB.derecho_gnu.cam-outfrq_se_cslam (Overall: FAIL)
SMS_Ln9.ne3pg3_ne3pg3_mg37.FKESSLER.derecho_intel.cam-outfrq_se_cslam_multitape (Overall: NLFAIL)

Except for the known failing test above, all the other tests pass with respect to the last baseline, sima0_11_001.

When `base_idx` cannot be found by the `do` loop labeled `base_idx_loop`
above, its value is set to `size(base_var_names) + 1`. Then, a few lines
after, it is used again to access `base_var_names(base_idx)`, which
constitutes an out-of-bound array access. CAM-SIMA will crash due to this.

The solution is to `return` the subroutine early, and do not proceed any
further.
@kuanchihwang kuanchihwang marked this pull request as ready for review December 10, 2025 00:22
Copy link
Copy Markdown
Collaborator

@nusbaume nusbaume left a comment

Choose a reason for hiding this comment

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

Thanks @kuanchihwang! I had one request for an additional comment, but otherwise this all looks good to me!

@nusbaume nusbaume requested a review from cacraigucar February 11, 2026 22:05
@cacraigucar
Copy link
Copy Markdown
Collaborator

I believe everything is approved now

@kuanchihwang kuanchihwang changed the title Add experimental support for MMM "convection-permitting" physics suite Add experimental support for MPAS "convection-permitting" physics suite Feb 27, 2026
@kuanchihwang kuanchihwang merged commit e21c961 into ESCOMP:development Feb 27, 2026
16 checks passed
@kuanchihwang kuanchihwang deleted the staging/convection-permitting-suite branch February 27, 2026 19:07
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.

5 participants