-
Notifications
You must be signed in to change notification settings - Fork 157
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.
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!
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`.
|
This PR implements support for moving mountain gravity wave scheme in MPAS dycore.
The
use_gw_movmtn_pbl
namelist 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: