-
Notifications
You must be signed in to change notification settings - Fork 167
cam6_4_091: Implement support for moving mountain gravity wave scheme in MPAS dycore #1297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cam6_4_091: Implement support for moving mountain gravity wave scheme in MPAS dycore #1297
Conversation
|
I do not have the permission to either assign myself or request reviews. Tagging @PeterHjortLauritzen and @mgduda to take a look at this PR to ensure scientific correctness. |
Thanks for the tag! I've just added myself and @PeterHjortLauritzen as reviewers. |
|
Thank you for implementing this! As a sanity check I ran an SE CAM7 regression test: And "hacked" an MPAS CAM7 regression test: with and I had to change dust scheme due to an error message: Note that this run uses L32. I ran the MPAS test for 5 days to avoid any spin-up issues. Here is VORT4GW for time-step 9 for SE (left) comparred to day 5 for MPAS (right) using same countour interval [-0.0003,0.0003] in the surface level: Same as above but for top level and top level minus 1, respectively: The latter two plots seem to show sponge layer damping differences. In all I think the VORT4GW is scientifically correct. PR approved! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great ... thank you!
We really need a CAM7 (L58) low top regression test for MPAS. Something like this one:
ERP_D_Ln9.ne30pg3_ne30pg3_mt232.FHISTC_LTso.derecho_intel.cam-outfrq9s
Would you be willing to add that to this PR? (Jesse and/or Cheryl can help you out if you have questions)
This could save some CPU cycles.
nusbaume
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @kuanchihwang! I just had one ChangeLog update reminder, but otherwise the PR looks good to me!
cacraigucar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the reminder (more to me than to you) that a regression test needs to be added or an existing one needs to be modified to test this new feature.
|
@cacraigucar I pushed 9fd166e to add a new test for CAM7 low top with MPAS dynamical core. It is an ERS (Exact Restart from Startup) test with the "FHISTC_LTso" compset [1]. The test is quite heavy to run, requiring ~15 minutes of wall time on 128 CPU cores and ~110 GB of memory, so I did not configure it on Izumi. Let me know if you have other review comments! |
@kuanchihwang - We typically try to run most of our testing at the coarsest grids and only have a very few at the "realistic" grids. Could this test use your mpasa480_mpasa480 grid instead? |
|
@cacraigucar CTSM is active in the "FHISTC_LTso" compset. Unfortunately, CTSM does not provide the "flanduse_timeseries" input data [1] for MPAS on the "mpasa480_mpasa480" grid. Attempting to configure such test will result in an error that shows "No default value found for flanduse_timeseries. Are defaults provided for this resolution and land mask?". |
@ekluzek and/or @adamrher - I believe we need to have a CTSM supporting dataset for the mpasa480_mpasa480 grid. Is it possible for us to get this? |
|
@cacraigucar we didn't provide support for a landuse.timeseries file for mpas480 as it isn't in the list in this file: https://docs.google.com/spreadsheets/d/1Osq56e423CF107zhoNQ0VS7-iH_JXLF9AtCvBdXyfJ4 But, if needed we can add it. For your testing you might just add the following to user_nl_clm for your tests:
|
|
@ekluzek does setting flanduse_timeseries to ' ' tell the model to grab all the surface properties from the fsurdat file? If so, I think it's fine to do this for testing purposes. |
Yes, exactly. It'll just keep surface properties fixed at whatever the fsurdat file has. For testing you probably aren't testing the whole historical period for example. And it just means that if you do run the whole historical period the surface will stay with 1850 conditions. And that's not likely to be a problem for the things you care about in testing CAM. |
Also test on Izumi.
For testing purposes, it is fine to set `flanduse_timeseries` to ''. This causes CTSM to keep surface properties fixed at those specified in `fsurdat`.
|
…ints (#394) ### 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 ports a new feature from ESCOMP/CAM#1297 to CAM-SIMA. It enables MPAS dynamical core to compute relative vorticities at cell points. Although the feature is currently not used anywhere, it will be when CAM7 physics is implemented in CAM-SIMA. The formulations are identical to CAM, but the implementation here incorporates object-oriented programming to be consistent with other parts of MPAS dynamical core. ### 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 src/dynamics/mpas/driver/dyn_mpas_subdriver.F90 * Enable MPAS subdriver to compute relative vorticities at cell points ``` ### Regression tests: No changes to any existing tests. All tests pass with respect to the last baseline, `sima0_06_000`.



This PR implements support for moving mountain gravity wave scheme in MPAS dycore.
The
use_gw_movmtn_pblnamelist option will now default to.true.when MPAS dycore and CAM7 physics are both selected, which matches the behavior as in SE dycore.The moving mountain gravity wave scheme needs relative vorticities at cell points as input. However, because MPAS uses staggered C-grid for spatial discretization, where wind vectors are located at edge points, it calculates relative vorticities at vertex points instead. As a result, this PR introduces a new functionality in MPAS subdriver to regrid vertex values to cell values. The regridding functionality is also generalized so that it will work with all variables at vertex points.
Subsequently, relative vorticities are passed to physics buffer during dynamics-physics coupling, after which the moving mountain gravity wave scheme can query and use them as input.
Closes #1253
Closes #1277
Additional notes about tests: