Add TEOS-10 and z-tilde vertical coordinate#464
Add TEOS-10 and z-tilde vertical coordinate#464xylar wants to merge 22 commits intoE3SM-Project:mainfrom
Conversation
This merge also adds docstrings and adds a compute_specvol() funciton
It is the same as z-star in this context
One function computes the pressure given geometric layer thickness and specific volume, while the other computes pressure and specific volume iteratively, given geometric thickness, temperature and salinity (among other things).
This computes geometric height from pseudo-height, complimenting the functionality we already have to compute pseudo-height from geometric height.
TestingI ran both the Omega and MPAS-Ocean PR suites on Chrysalis with Intel, using For Omega, I am seeing diffs in manufactured solution For MPAS-Ocean, I am seeing machine-precision diffs in the initial conditions for in the |
|
I believe my diffs are just a mistake in the Omega version I was using as the baseline. I have re-initialized the Omega submodule and now see no differences in my |
|
Rerunning the Omega PR suite with the correct baseline Omega submodule shows bit-for-bit results for all tests. |
|
@cbegeman, would you have time to give this a quick look? My hope is that this will be helpful to you as well, but we may have some conflicts with other work to untangle after this goes in. |
|
I think it would make sense for this to go in before #460 but we should discuss that. |
This pull request introduces a modular and extensible Equations of State (EOS) framework for the Polaris ocean model, enabling support for both linear and TEOS-10 EOS options. It adds new high-level APIs for computing seawater density and specific volume, improves documentation, and refactors vertical coordinate handling for clarity and extensibility.
This merge also adds a module for the z-tilde vertical coordinate in Omega. Functionality is available for computing geometric pressure from pseudo-height and vice versa, as pressure from geometric thickness, geometric height from pseudo-height, and finally pressure and specific volume together from temperature and salinity values at specified locations in geometric height.
In addition, this merge includes performance improvements and clean-up to the z-star and z-level vertical coordinate initialization.
Checklist
api.md) has any new or modified class, method and/or functions listedTestingcomment in the PR documents testing used to verify the changes