Add test cases for subgrid scale wetting and drying corrections#785
Add test cases for subgrid scale wetting and drying corrections#785xylar merged 14 commits intoMPAS-Dev:mainfrom
Conversation
|
Thanks! Does this file need to be added? |
|
@sbrus89, bathymetry would ideally go in the bathymetry database, not in the initial condition database: |
|
And sorry for not reviewing. I was waiting on the E3SM PR. |
|
Thanks! |
|
@mark-petersen, the bathymetry should be available now. |
|
Passes all tests using intel on chrysalis and gnu on perlmutter, both debug and optimized. Tests are as follows: perlmutter chyrsalis |
mark-petersen
left a comment
There was a problem hiding this comment.
@sbrus89 this is excellent! Approving based on documentation, output plots, and passing functional testing with two compilers. I did not review the details of the compass code implementation.
|
Thanks for testing, @mark-petersen! |
cbegeman
left a comment
There was a problem hiding this comment.
This looks fantastic! I ran the standard test cases successfully. Just a few minor suggestions.
- resolution names km->m - Reduce to 2 day runtime - Viz clean up
- Add 64m res as default - remove Coriolis config - Add viz doc strings and fix title space
|
@xylar, thanks for the submodule update. I just rebased. |
|
@sbrus89, I was able to run the Buttermilk Bay test just fine! I had trouble with the viz step in both parabolic bowl test cases. The The |
|
Could you see if you are able to reproduce those errors? (This was on Chrysalis with the default Intel and OpenMPI configuration.) |
|
@xylar, thanks for testing. I'm looking into it now. |
|
@xylar, both the |
|
@sbrus89, I'll try running again first and point to the errors if they happen again. |
|
Great, thank you @xylar! |
| ax.loglog(self.resolutions, np.flip(rmse_1st_order), | ||
| ax.loglog(self.resolutions, rmse_1st_order, |










This pull request introduces two test cases for the subgrid scale correction scheme added in this E3SM PR: E3SM-Project/E3SM#6288. These test cases were developed under the ICoM project in collaboration with Dam Wirasaet at U. of Notre Dame.
The subgrid corrections used in these tests account for the nonlinear relationship between ssh and grid-averaged wet volume per unit area for partially wet cells. These relationships are calculated as lookup tables from high-resolution, subgrid scale, bathymetry data. This pre-processing step is implemented in MPAS-Ocean init mode 🙈. Using the subgrid correction scheme increases the accuracy of wetting and drying, and is especially advantageous at coarser resolutions. Currently, this capability is only implemented for single layer configurations.
The two test cases are:
A subgrid version of the existing parabolic bowl test case
A simulation of Buttermilk Bay, MA with idealized tidal boundary forcing
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 exercises 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 improves the wetting and drying convergence for the parabolic bowl. However, this approach is currently limited to a single layer configuration. Thanks to Dam for contributing this improvement!
Checklist
api.rst) has any new or modified class, method and/or functions listedE3SM-Projectsubmodule has been updated with relevant E3SM changesTestingin this PR) any testing that was used to verify the changes