Skip to content

Add MYNN PBL scheme to convection-permitting physics suite#397

Open
kuanchihwang wants to merge 13 commits into
ESCOMP:mainfrom
kuanchihwang:staging/mynn-pbl-scheme
Open

Add MYNN PBL scheme to convection-permitting physics suite#397
kuanchihwang wants to merge 13 commits into
ESCOMP:mainfrom
kuanchihwang:staging/mynn-pbl-scheme

Conversation

@kuanchihwang
Copy link
Copy Markdown
Collaborator

@kuanchihwang kuanchihwang commented May 18, 2026

Tag name

TBD

Originator(s)

kuanchihwang

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

This PR adds MYNN PBL scheme to convection-permitting physics suite.

Additionally, an issue with the sima_state_diagnostics scheme has been identified and fixed. Consider the following two constituents for example:

  • mass_number_concentration_of_cloud_liquid_water_particles_in_air
  • mass_number_concentration_of_cloud_ice_water_crystals_in_air

The sima_state_diagnostics scheme adds constituents to history output by truncating their standard names to 32 characters. However, by doing so, both constituents will appear to have the same diagnostic name, "mass_number_concentration_of_clo". This issue will cause the model to crash.

Use the proper diagnostic_name API from the constituent object instead to fix it.

List all namelist files that have been modified

None

List all files eliminated and why

None

List all files added and what they do

A       schemes/mmm/bl_mynn_compat.F90
A       schemes/mmm/bl_mynn_compat.meta
  * Add MYNN PBL scheme

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

M       schemes/mmm/bl_gwdo_compat.F90
M       schemes/mmm/bl_gwdo_compat.meta
  * Consolidate constant initialization to `init` phase of YSU OGWD scheme
  * Keep consistent code style in YSU OGWD scheme
M       schemes/mmm/ccpp_kind_types.F90
  * Accommodate `kind_phys8` usage in MYNN PBL scheme
M       schemes/mmm/cu_ntiedtke_compat.F90
M       schemes/mmm/cu_ntiedtke_compat.meta
  * Remove `evap` from nTiedtke convection scheme
M       schemes/mmm/mmm_physics_compat.F90
M       schemes/mmm/mmm_physics_compat.meta
  * Add and modify interstitial schemes to support MYNN PBL scheme
M       schemes/mmm/sf_mynn_compat.F90
M       schemes/mmm/sf_mynn_compat.meta
  * Remove unnecessary array copying in MYNN surface layer scheme
  * Consolidate constant initialization to `init` phase of MYNN surface layer scheme
  * Change `spp_pbl` to integer in MYNN surface layer scheme
M       schemes/sima_diagnostics/sima_state_diagnostics.F90
  * Call proper API to get constituent diagnostic name
M       schemes/utilities/state_converters.F90
M       schemes/utilities/state_converters.meta
  * Add state converters between dry and wet snow mixing ratios
M       test/test_suites/suite_convection_permitting.xml
  * Add MYNN PBL scheme to convection-permitting physics suite
M       test/unit-test/tests/mmm/mmm_physics_compat_tests.pf
  * Fix unit tests

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

None

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

Yes, but only for convection-permitting physics 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.

It is a duplicate of `qfx` in MYNN surface layer scheme.
`spp_pbl` is an integer model control variable in MPAS. Make it consistent with
MPAS here.
The `diagnostic_name` API from the constituent object should be used to get the diagnostic name
instead of by truncating the standard name.

Consider the following two constituents:

* mass_number_concentration_of_cloud_liquid_water_particles_in_air
* mass_number_concentration_of_cloud_ice_water_crystals_in_air

By truncating their standard names to 32 characters, both will appear to have the same
diagnostic name, "mass_number_concentration_of_clo". This will crash the model.
@kuanchihwang kuanchihwang marked this pull request as ready for review May 18, 2026 21:12
@kuanchihwang kuanchihwang requested a review from nusbaume May 18, 2026 21:12
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.

1 participant