Skip to content

Small change to CMake for MPAS + Initial MPAS interstitial scheme.#301

Merged
dustinswales merged 5 commits into
ufs-community:ufs/devfrom
dustinswales:feature/mpas_nuopc_init
Aug 29, 2025
Merged

Small change to CMake for MPAS + Initial MPAS interstitial scheme.#301
dustinswales merged 5 commits into
ufs-community:ufs/devfrom
dustinswales:feature/mpas_nuopc_init

Conversation

@dustinswales
Copy link
Copy Markdown
Collaborator

Description of Changes:

This PR contains two small changes related to the MPAS dycore implementation in the UFS:

  1. FMS is needed by GFS_typedefs.F90 for both dynamical cores. Add MPAS macro to physics/CmakeLists.txt to link to FMS.

  2. Create first MPAS based interstitial scheme for initializing the random seeds used by the radiation scheme(s) in the CCPP. (@grantfirl This may need to be revisited later on. For FV3 and SCM, we compute the initial (reproducible) RNG seeds in this interstitial, whereas NRL NEPTUNE provides the seeds. We may want look into how MPAS-A is initializing the RMGs for McICA in radiation as well.)

Tests Conducted:

No changes to existing results.
Allows for MPAS enabled tests in the UWM.

Dependencies:

Documentation:

N/A

Issue (optional):

N/A

Copy link
Copy Markdown
Collaborator

@grantfirl grantfirl left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Copy Markdown
Collaborator

@rhaesung rhaesung left a comment

Choose a reason for hiding this comment

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

Looks good to me, just a few minor typos.

intent = in
[ipsd0]
standard_name = initial_seed_for_mcica
long_name = initial permutaion seed for mcica radiation
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.

permutation, not permutaion

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.

@rhaesung Good catch. It appears that this typo is common throughout the radiation (copy and paste for the win!)

./Radiation/RRTMGP/rrtmgp_sw_main.F90: elseif (isubc_sw == 2) then ! use input array of permutaion seeds
./Radiation/RRTMGP/rrtmgp_lw_main.F90: elseif (isubc_lw == 2) then ! use input array of permutaion seeds
./Radiation/RRTMG/radlw_main.F90: elseif ( isubclw == 2 ) then ! use input array of permutaion seeds
./Radiation/RRTMG/radlw_main.F90: & 'with a prescribed sequence of permutaion seeds'
./Radiation/RRTMG/radsw_main.F90: elseif ( isubcsw == 2 ) then ! use input array of permutaion seeds
./Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.meta: long_name = initial permutaion seed for mcica radiation
./Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.mpas.meta: long_name = initial permutaion seed for mcica radiation
./Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.mpas.meta: long_name = limit for initial permutaion seed for mcica radiation
./Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.meta: long_name = initial permutaion seed for mcica radiation
./Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.meta: long_name = initial permutaion seed for mcica radiation
./Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.meta: long_name = limit for initial permutaion seed for mcica radiation
./Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.meta: long_name = initial permutaion seed for mcica radiation
./Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.meta: long_name = limit for initial permutaion seed for mcica radiation

To keep this PR lean anf focused on MPAS in the UWM, would it be okay if I fix this typo into #305? (This one is all radiation anyways.)

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.

@dustinswales Sounds good to me. I'm okay with holding off on the typo fix here—thanks for keeping this one clean and focused.

intent = in
[ipsdlim]
standard_name = limit_for_initial_seed_for_mcica
long_name = limit for initial permutaion seed for mcica radiation
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.

same here

@jkbk2004
Copy link
Copy Markdown

all tests are done ok at ufs-community/ufs-weather-model#2780. @rhaesung @grantfirl can you merge this pr?

@dustinswales dustinswales merged commit 2c4dbd1 into ufs-community:ufs/dev Aug 29, 2025
3 checks passed
@dustinswales dustinswales deleted the feature/mpas_nuopc_init branch September 18, 2025 20:30
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