Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.25deg config] Equation of state #180

Closed
minghangli-uni opened this issue Jun 25, 2024 · 6 comments
Closed

[0.25deg config] Equation of state #180

minghangli-uni opened this issue Jun 25, 2024 · 6 comments

Comments

@minghangli-uni
Copy link
Contributor

minghangli-uni commented Jun 25, 2024

As discussed in the namelist discussion, we need to decide between using TEOS10 or the current WRIGHT EOS for the 0.25deg configuration.

Instead of using TEOS10, which imposes a significant computational burden, it is suggested that two updated EOS options EOS_ROQUET_RHO (Boussinesq) and EOS_ROQUET_SPV (non-Boussinesq).

Both EOS are designed to fit over the same range of validity as TEOS10, but use a simple polynomial form that is more efficient to evaluate.

However, to my best of knowledge, I havent seen any configurations employing either of both EOS. In the latest OM5, the WRIGHT EOS is still in use.

WRT TFREEZE_FORM, if EOS_ROQUET_RHO is employed, TFREEZE_FORM cannot be LINEAR any more. Instead, we should use TFREEZE_TEOS10 or TFREEZE_TEOSPOLY.

One caveat from mom-ocean/MOM6#1592 (comment)

The one caveat with both of these equations of state is that because they use different state variables, we need to be careful about doing the conversions when initializing from or comparing with oceanic data, and we need to use a different functional form of the freezing point calculation that works in the same state variables.

EOS_ROQUET_RHO, EOS_ROQUET_SPV and TEOS10 use conservative temperature and absolute salinity as their state variables, while WRIGHT uses potential temperature and absolute salinity.

I will leave the current EQN_OF_STATE = "WRIGHT" and TFREEZE_FORM = "LINEAR" unchanged.

@angus-g
Copy link

angus-g commented Jul 31, 2024

I just wanted to give a quick update on this after the latest MOM6 dev meeting: I think WRIGHT is not parenthesis-safe, i.e. the compiler can reorder operations and lose bitwise reproducibility. There was a short discussion on a new default alternative, between WRIGHT_REDUCED and WRIGHT_FULL. The latter will soon become the new default equation of state in MOM6, given that it's valid over a wider range of T/S, and doesn't exhibit the same reproducibility issue.

@aekiss
Copy link
Contributor

aekiss commented Jul 31, 2024

Thanks @angus-g, was there any discussion of whether the EOS_ROQUET_* options are reproducible?

@angus-g
Copy link

angus-g commented Jul 31, 2024

My understanding is that yes, the EOS_ROQUET_* options are (but they were deemed to complex for the default parameter choice). TEOS10 on the other hand is not reproducible, since it leverages an external library.

@aekiss
Copy link
Contributor

aekiss commented Aug 16, 2024

Details are here: NOAA-GFDL/MOM6#331 (comment)

@aekiss
Copy link
Contributor

aekiss commented Aug 16, 2024

@minghangli-uni can we close this issue and continue the discussion in #20, since this affects all configs?

@minghangli-uni
Copy link
Contributor Author

Thanks @aekiss There is no PR associated with this issue, so it is safe to close it at this time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants