Skip to content

Add TEOS-10 and z-tilde vertical coordinate#464

Merged
cbegeman merged 23 commits intoE3SM-Project:mainfrom
xylar:add-teos10-and-ztilde
Mar 5, 2026
Merged

Add TEOS-10 and z-tilde vertical coordinate#464
cbegeman merged 23 commits intoE3SM-Project:mainfrom
xylar:add-teos10-and-ztilde

Conversation

@xylar
Copy link
Copy Markdown
Collaborator

@xylar xylar commented Feb 18, 2026

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

  • Developer's Guide has been updated
  • API documentation in the Developer's Guide (api.md) has any new or modified class, method and/or functions listed
  • Documentation has been built locally and changes look as expected
  • Testing comment in the PR documents testing used to verify the changes

@xylar xylar self-assigned this Feb 18, 2026
@xylar xylar added enhancement New feature or request framework Changes relating to the polaris framework as opposed to individual tests or analysis ocean Related to the ocean component labels Feb 18, 2026
@xylar
Copy link
Copy Markdown
Collaborator Author

xylar commented Feb 18, 2026

Testing

I ran both the Omega and MPAS-Ocean PR suites on Chrysalis with Intel, using main as a baseline.

For Omega, I am seeing diffs in manufactured solution del4 (again!) that I can't yet explain. All other tests are BFB.

For MPAS-Ocean, I am seeing machine-precision diffs in the initial conditions for in the ice_shelf_2d/5km/z-star test and overflow/default, and BFB results for all other tests.

@xylar
Copy link
Copy Markdown
Collaborator Author

xylar commented Feb 18, 2026

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 omega.yml files (baseline compared with this branch), whereas i saw diffs earlier. I'll update soon...

@xylar
Copy link
Copy Markdown
Collaborator Author

xylar commented Feb 18, 2026

Rerunning the Omega PR suite with the correct baseline Omega submodule shows bit-for-bit results for all tests.

@xylar xylar requested a review from cbegeman February 18, 2026 19:35
@xylar
Copy link
Copy Markdown
Collaborator Author

xylar commented Feb 18, 2026

@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.

@xylar
Copy link
Copy Markdown
Collaborator Author

xylar commented Feb 19, 2026

I think it would make sense for this to go in before #460 but we should discuss that.

@xylar xylar force-pushed the add-teos10-and-ztilde branch from 4762b6e to 6f61b84 Compare March 5, 2026 17:06
Copy link
Copy Markdown
Collaborator

@cbegeman cbegeman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving on the basis of code inspection and @xylar 's testing. I have tested a subset of the z-tilde routines from this PR in another branch. Thanks!

@cbegeman cbegeman merged commit 802351b into E3SM-Project:main Mar 5, 2026
@xylar xylar deleted the add-teos10-and-ztilde branch March 10, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request framework Changes relating to the polaris framework as opposed to individual tests or analysis ocean Related to the ocean component

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants