Add subgrid scale correction scheme and init mode test cases#6288
Conversation
|
With the subgrid corrections off, I have verified this PR is BFB with v3.0.0 for the compass nightly test suite on Anvil (intel-mpi). |
|
Compiled MPAS-O standalone with intel on chrysalis and gnu on perlmutter. This branch compares BFB against the master branchpoint with the nightly test suite on both, using all default flags (subgrid scale correction scheme off). |
|
@sbrus89, these simple tests both fail for me right now, on chrysalis and perlmutter, after I Both pass for the master branch point. On this branch, they fail during build. On chrysalis: on perlmutter: It looks like we are just not compiling your subgrid module in E3SM, and it is missing in the cmake file: Check this file: |
|
@mark-petersen, thanks for catching this. |
|
Now passes: |
mark-petersen
left a comment
There was a problem hiding this comment.
Tested standalone with this feature on using MPAS-Dev/compass#785. Passes all tests using intel on chrysalis and gnu on perlmutter, both debug and optimized. Tests commands are reported at MPAS-Dev/compass#785 (comment)
|
@cbegeman please review. |
|
@sbrus89 Thanks for your patience! I'll get to this by the end of this week. |
|
@cbegeman, no problem. Thanks! |
cbegeman
left a comment
There was a problem hiding this comment.
@sbrus89 Fantastic work here! This is a really exciting feature to have. I ran just the buttermilk bay case on chrys with intel, openmpi. I just have a few suggestions, mostly regarding config option checks. I look forward to playing around with these features more in the future!
|
Thanks for all your testing and suggestions, @cbegeman! |
|
@sbrus89 Let me know what you think of my changes. Feel free to revert if you like! These changes are BFB for the parabolic bowl test on chrys. |
|
@cbegeman, I like the changes you made. Thanks for pushing those! |
|
@jonbob, this PR is ready to go whenever time allows. I did not do any of the namelist modifications for E3SM, since I know you have a script that takes care of that. |
|
Thanks @sbrus89 -- I'll run the scripts right now and see how far we can get |
|
@sbrus89 -- do we want the init_mode_subgrid namelist record exposed in E3SM? |
|
@jonbob, no I don't think so. I added a commit that specifies it as |
|
Thanks, I looked at this carefully. In order for it to work, you will need to do the following:
otherwise, it can't read the
and then test it with subgrid on for both init and forward, plus a standard E3SM run. I think you need to make these changes even though all the subgrid variables with the dimension |
|
@sbrus89 -- I ran the scripts to make the bld files consistent with Registry and pushed them back to this PR. It all looks good to me, but there are some "To do" comments that were in the namelist_defaults file that get lost here. I'm not sure where they came from? |
|
@sbrus89 Polaris is having trouble parsing your init mode registry additions on perlmutter. I've noticed that there are several places where spaces are used instead of tabs, but the error seems to be indicating a missing quotation. The line number indicated in the error message does not map onto the line numbers in |
|
@cbegeman, thanks for noticing this. I'll look into it and push a fix. |
|
@cbegeman, that parsing issue should be fixed now. Thanks again! |
|
@jonbob, I believe this is ready whenever you get a chance. |
Add subgrid scale correction scheme and init mode test cases This pull request adds a subgrid scale correction scheme into MPAS-Ocean. It is currently meant only for single-layer, barotropic coastal flooding applications and is implemented as an mpaso standalone feature. The subgrid corrections introduced here account for the nonlinear relationship between ssh and grid-averaged wet volume per unit area in partially wet cells. These relationships are calculated as lookup tables from high-resolution (subgrid scale) bathymetry data. This lookup table calculation is done as a pre-processing step implemented in MPAS-Ocean init mode. Using the subgrid correction scheme increases the accuracy of the wetting/drying transition. It is especially advantageous at coarser resolutions, where it can increase model efficiency by reducing the level of resolution required to represent the effects of small-scale conveyances. Two test cases are also added: 1. A subgrid version of the existing parabolic bowl wetting and drying test case 2. A simulation of Buttermilk Bay, MA with idealized tidal boundary forcing [NML] [BFB] for all standard E3SM tests, mpaso standalone only
|
Passes:
with expected NML DIFFs. merged to next |
|
merged to master and expected NML DIFFs blessed |
|
Thank you, @jonbob! |
This merge updates the E3SM-Project submodule from [93e511d](https://github.com/E3SM-Project/E3SM/tree/93e511d) to [31e0924](https://github.com/E3SM-Project/E3SM/tree/31e0924). This update includes the following MPAS-Ocean and MPAS-Frameworks PRs (check mark indicates bit-for-bit with previous PR in the list): - [ ] (ocn) E3SM-Project/E3SM#6256 - [ ] (ocn) E3SM-Project/E3SM#6224 - [ ] (ocn) E3SM-Project/E3SM#6270 - [ ] (ocn) E3SM-Project/E3SM#6293 - [ ] (ocn) E3SM-Project/E3SM#6321 - [ ] (ocn) E3SM-Project/E3SM#6262 - [ ] (ocn) E3SM-Project/E3SM#6300 - [ ] (ocn) E3SM-Project/E3SM#6334 - [ ] (ocn) E3SM-Project/E3SM#6371 - [ ] (ocn) E3SM-Project/E3SM#6288
This pull request adds a subgrid scale correction scheme into MPAS-Ocean. This capability has been developed under the ESMD area of the ICoM project in collaboration with Dam Wirasaet at U. of Notre Dame. It is currently meant only for single-layer, barotropic coastal flooding applications and is implemented as a default-off stealth feature.
The subgrid corrections introduced here account for the nonlinear relationship between ssh and grid-averaged wet volume per unit area in partially wet cells. These relationships are calculated as lookup tables from high-resolution (subgrid scale) bathymetry data. This lookup table calculation is done as a pre-processing step implemented in MPAS-Ocean init mode. Using the subgrid correction scheme increases the accuracy of the wetting/drying transition. It is especially advantageous at coarser resolutions, where it can increase model efficiency by reducing the level of resolution required to represent the effects of small-scale conveyances.
The design document for this feature can be found here: MPAS_O_SGS_design_doc.pdf
Two test cases have been used to 1) verify the accuracy/convergence of the subgrid capability and 2) demonstrate its effectiveness in a realistic coastal domain. These test cases are:
A subgrid version of the existing parabolic bowl wetting and drying test case
A simulation of Buttermilk Bay, MA with idealized tidal boundary forcing
These test cases have been implemented in compass in this pull request: MPAS-Dev/compass#785. See images there for testing results.
More information on the subgrid correction methodology can be found in Kennedy et al. 2019. This paper also discusses the Buttermilk Bay test case.
This PR also includes a new (optional) update to the existing wetting and drying algorithm that takes into account the ssh gradient between cells that share a previously limited edge. This treatment of limited edges works both independent of and with the subgrid corrections. The update helps improves the wetting and drying convergence for the parabolic bowl test case. However, this approach is currently limited to a single layer configuration. A big thanks goes out to Dam for contributing this improvement to the standard wetting and drying scheme.
[NML]
[BFB] (for all standard E3SM tests)