Skip to content

Translate linear EOS between MPAS-Ocean and Omega#458

Open
cbegeman wants to merge 6 commits intoE3SM-Project:mainfrom
cbegeman:ocn-model/translate-eos
Open

Translate linear EOS between MPAS-Ocean and Omega#458
cbegeman wants to merge 6 commits intoE3SM-Project:mainfrom
cbegeman:ocn-model/translate-eos

Conversation

@cbegeman
Copy link
Collaborator

@cbegeman cbegeman commented Feb 2, 2026

Fixes #406

Checklist

  • Testing comment in the PR documents testing used to verify the changes

@cbegeman
Copy link
Collaborator Author

cbegeman commented Feb 2, 2026

Testing:

For polaris/tasks/ocean/single_column/cvmix/forward.yaml:

ocean:
  debug:
    config_disable_vel_explicit_bottom_drag: True
  eos:
    config_eos_type: linear
  eos_linear:
    config_eos_linear_alpha: 0.2
    config_eos_linear_beta: 0.01
    config_eos_linear_Tref: 5.0

Output for quiet=False in ocean_model_step:

WARNING: No Omega mapping found for these MPASO options:
    Eos/Linear/config_eos_linear_Tref

  Tendencies: BottomDragTendencyEnable = False
  Eos: EosType = linear
  Eos: Linear: DRhoDT = -0.2
  Eos: Linear: DRhoDS = 0.01

@cbegeman cbegeman requested a review from xylar February 2, 2026 20:57
@cbegeman cbegeman self-assigned this Feb 2, 2026
@cbegeman cbegeman added enhancement New feature or request framework Changes relating to the polaris framework as opposed to individual tests or analysis labels Feb 2, 2026
@xylar
Copy link
Collaborator

xylar commented Feb 3, 2026

@cbegeman, let's chat about this one at our meeting today.

My feeling would be that we should aim to make this PR have bit-for-bit changes unless there is a strong reason not to. That would mean that the new default values would be:

# Equation of state -drho/dT, defaults to mpas-ocean default
eos_linear_alpha = 0.2

# Equation of state drho/dS, defaults to mpas-ocean default
eos_linear_beta = 0.8

# Equation of state constant term, designed to match mpas-ocean's default linear EOS
# 1000.0 + 0.2 * 5.0 - 0.8 * 35 = 973.0
eos_linear_rhoref = 973.0

# Equation of state reference temperature, defaults to zero because omega doesn't have this term
eos_linear_Tref = 0.0

# Equation of state reference salinity, defaults to zero because omega doesn't have this term
eos_linear_Sref = 0.0

Then, I would think we would want to update the single_column/cvmix test to stick with eos_linear_Tref = 0.0:

ocean:
  eos:
    config_eos_type: linear
  eos_linear:
    config_eos_linear_alpha: 0.2
    config_eos_linear_beta: 0.01
    # 1000.0 + 0.2 * 5 - 0.01 * 35
    eos_linear_rhoref: 1000.65

It's okay if this PR is meant to be non-bit-for-bit but I think we want to document that more clearly if so.

@cbegeman
Copy link
Collaborator Author

cbegeman commented Feb 3, 2026

@xylar Those are good suggestions. I committed them and will test for BFB-ness

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mathematical translation needed between MPAS-Ocean's and Omega's linear EOS

2 participants

Comments