Update MPAS dynamical core to version 8.4.0#495
Conversation
The patches are being contributed to upstream MPAS. We have to keep them for now until the next MPAS release.
nusbaume
left a comment
There was a problem hiding this comment.
Thanks for bringing in the latest version of MPAS @kuanchihwang! I have a question, an optional clean-up request, and some requests to eventually provide some unit labels for MPAS namelist entries, but nothing that is strictly required for this particular PR.
Of course if you have any questions or concerns with any of my requests then just let me know. Thanks again!
| @@ -0,0 +1,45 @@ | |||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | |||
There was a problem hiding this comment.
Just double-checking that these three patch files won't be needed once MPAS PR MPAS-Dev/MPAS-Model#1448 has been merged?
| character(strkind), pointer :: config_les_model | ||
| integer :: mesh_format | ||
| integer, pointer :: num_scalars | ||
| logical :: mpas_without_les |
There was a problem hiding this comment.
Should this logical be promoted to a variable within mpas_dynamical_core_type? That way we only need to query the config_les_model variable pointer once.
| call self % get_variable_pointer(config_les_model, 'cfg', 'config_les_model') | ||
|
|
||
| mpas_without_les = (trim(adjustl(config_les_model)) == 'none') | ||
|
|
||
| nullify(config_les_model) |
There was a problem hiding this comment.
If we promote mpas_without_les to an mpas_dynamical_core_type variable then these lines are no longer needed.
| <entry id="mpas_epssm_transition_bottom_z"> | ||
| <category>mpas</category> | ||
| <desc> | ||
| Height MSL of bottom of transition zone for epssm |
There was a problem hiding this comment.
Should this say "above" here?
| Height MSL of bottom of transition zone for epssm | |
| Height above MSL of bottom of transition zone for epssm |
| <values> | ||
| <value>30000.0</value> | ||
| </values> |
There was a problem hiding this comment.
Can we add a units tag here to indicate what the units are for the height number (I am guessing meters)?
| <values> | |
| <value>30000.0</value> | |
| </values> | |
| <units>m</units> | |
| <values> | |
| <value>30000.0</value> | |
| </values> |
I realize this file is created with a script, so if it is too difficult to add this at the moment then I am happy to open an issue and figure out a better, script-driven method later.
| Height MSL of top of transition zone for epssm | ||
| </desc> | ||
| <group>mpas_damping</group> | ||
| <type>real</type> | ||
| <values> | ||
| <value>50000.0</value> | ||
| </values> |
There was a problem hiding this comment.
Update description and add units element here as well (if doable)?
| Height MSL of top of transition zone for epssm | |
| </desc> | |
| <group>mpas_damping</group> | |
| <type>real</type> | |
| <values> | |
| <value>50000.0</value> | |
| </values> | |
| Height above MSL of top of transition zone for epssm | |
| </desc> | |
| <group>mpas_damping</group> | |
| <type>real</type> | |
| <units>m</units> | |
| <values> | |
| <value>50000.0</value> | |
| </values> |
| <value>0.0</value> | ||
| </values> | ||
| </entry> | ||
| <entry id="mpas_surface_heat_flux"> |
There was a problem hiding this comment.
Eventually can we add a units element for this entry as well? I am guessing it is something like m K s-1 but could be wrong. Again I am happy to push this off to future work given that there is a script involved.
| <value>0.0</value> | ||
| </values> | ||
| </entry> | ||
| <entry id="mpas_surface_moisture_flux"> |
There was a problem hiding this comment.
Eventually can we add a units element for this entry as well? I am guessing it is something like m kg kg-1 s-1 but could be wrong. Again I am happy to push this off to future work given that there is a script involved.
Tag name (required for release branches)
TBD
Originator(s)
kuanchihwang
Description (include the issue title, and the keyword ['closes', 'fixes', 'resolves'] followed by the issue number)
This PR updates MPAS dynamical core from version 8.3.1 to 8.4.0. See the release notes for details.
Notably, the new Large Eddy Simulation (LES) capability in MPAS is experimentally supported under CAM-SIMA, at the price of increased complexity in constituent handling. However, due to the object-oriented design of MPAS subdriver, this complexity is entirely contained within the subdriver layer and does not affect other parts of CAM-SIMA. This capability is disabled by default, and can be enabled manually through namelist options.
A future PR is planned to refactor the
dyn_mpas_define_scalarsubroutine in MPAS subdriver to keep its complexity and scope in check.Describe any changes made to the build system
src/dynamics/mpas/assets/Makefile.in.CESMhas been modified to suppress harmless but potentially confusing errors in build logs.Describe any changes made to the namelist
mpas_epssmThis namelist option has been deprecated and set to
0.0. Setting it to any values other than0.0triggers a compatibility warning.mpas_epssm_maximum,mpas_epssm_minimum,mpas_epssm_transition_bottom_z,mpas_epssm_transition_top_zThese new namelist options provide more fine-grained control on the off-centering parameter for the vertically implicit acoustic integration.
mpas_gpu_aware_mpiWhether to use GPU-aware MPI for halo exchanges.
mpas_les_model,mpas_les_surface,mpas_mix_scalars,mpas_surface_drag_coefficient,mpas_surface_heat_flux,mpas_surface_moisture_fluxThese new namelist options control the new LES capability in MPAS.
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
List all existing files that have been modified, and describe the changes
Regression tests
Expected answer changes due to MPAS version update.
Known failing test.
Expected answer changes due to MPAS version update.
Known failing test.
Pass.