Skip to content

Implementation of MYNN-EDMF and MYNN-SFC submodules#1455

Open
joeolson42 wants to merge 14 commits into
MPAS-Dev:developfrom
joeolson42:mynnedmf_20260508
Open

Implementation of MYNN-EDMF and MYNN-SFC submodules#1455
joeolson42 wants to merge 14 commits into
MPAS-Dev:developfrom
joeolson42:mynnedmf_20260508

Conversation

@joeolson42

Copy link
Copy Markdown

This PR adds the official MYNN-EDMF and MYNN-SFC submodules to MPAS with via manage_externals. Some notes on the implementation are below:

  1. The submodules were added simultaneously due to the common package (bl_mynnedmf_in) used for both schemes (following the previous implementations).
  2. Two additional packages are added to control the allocation of 10 optional 3d output arrays and 5 tke budget arrays.
  3. a new cloudiness option is added to handle the processing of the MYNN-EDMF subgrid clouds analogous to radiation driver in WRF.
  4. The implementation was complicated by the earlier implementation of MYNN schemes, so renaming of key modules and subroutines was required to allow both submodules to work as alternatives to the other versions. The other schemes should still work but will hopefully be removed.

Comment thread src/core_atmosphere/physics/mpas_atmphys_driver_pbl.F Outdated
Comment thread src/core_atmosphere/physics/mpas_atmphys_driver_pbl.F Outdated
@mgduda

mgduda commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

I think the code is generally looking good from a software perspective. With PR #1460, which went in to the v8.4.1 release and modified packages for various surface fields, I think there will now be merge conflicts with the develop branch. @joeolson42 would you be able to rebase this PR branch onto the HEAD of the develop branch to resolve these conflicts? Or, if you'd like, I can help with this, as I'm familiar with the changes from #1460 that caused the merge conflicts.

Also, to accommodate changes in #1460, I think we'll need to add 'sf_mynnsfclay' to the list of valid surface layer schemes in the logic for the sfclayer package.

@joeolson42

Copy link
Copy Markdown
Author

I'll take care of it. I really like the idea of the sfclayer package--thanks for that! I'll fix the logic after the merge.

@joeolson42

Copy link
Copy Markdown
Author

@mgduda About our conversation about QKE advection... It would be nice to get that in as part of this PR, but I'm not sure how best to do it. It would be nice to keep TKE advection as a namelist option in case it has numerical stability problems in regional domains, like it did in WRF (especially for level 3). But if we follow the way it was done in WRF:

  1. we used an additional array (QKE_ADV) which is what was actually advected,
  2. then QKE was set equal to QKE_ADV at the beginning of the MYNN-EDMF,
  3. then QKE_ADV was set equal to QKE at the end of the MYNN-EDMF
  4. (2) and (3) were only performed if the namelist variable "tke_advect" was set to true

This worked and we could continue with this method, but I was wondering if you had a cleaner idea that wouldn't require an additional array. Something to think about.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants