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

Aligning Pi, Siderial Day, and hence Coriolis Parameter in MPAS-Ocean and MPAS-SeaIce with E3SM #6387

Open
proteanplanet opened this issue May 2, 2024 · 2 comments

Comments

@proteanplanet
Copy link
Contributor

Two fundamental constants differ across E3SM and MPAS components affecting the Coriolis Parameter.

MPAS-SeaIce declares constants in mpas_seaice_constants.F drawn directly from shr_const_mod.F90 in the E3SM framework and in ice_comp_mct.F. By comparison, MPAS-Ocean draws on some constants declared in mpas_ocn_constants.F from shr_const_mod.F90 in the E3SM framework, also in ocn_comp_mct.F, but others from the MPAS framework in mpas_constants.F.

Here are the resulting differences to PI and Omega (O=ocean, I=sea ice, E=E3SM:):

PI
3.141592653589793 (O)
3.14159265358979323846 (I)
3.14159265358979323846 (E)

Omega (/s)
7.29212e-5 (O)
7.29212e-5 (I)
7.29212351699037e-05 (E - calculated using PI and siderial day constants)

These values should be identical across the coupled system. Suggest we collectively use [SHR_CONST_OMEGA](https://github.com/E3SM-Project/E3SM/blob/661e8078abde19f5542755d9bd9a75206a999fbe/share /util/shr_const_mod.F90#L19), declared in the respective ocean and sea ice files.

@xylar
Copy link
Contributor

xylar commented May 3, 2024

I have a proposed fix to MPAS-Ocean init mode in:
E3SM-Ocean-Discussion#96
The Coriolis parameter is only computed in MPAS-Ocean initial conditions and then carried through. It is never computed in forward mode, nor is omega used anywhere I could identify in forward mode.

@xylar
Copy link
Contributor

xylar commented May 3, 2024

The lower precision constant pii is pervasive enough in MPAS-Ocean forward mode that this will need to be fixed in a separate PR.

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

5 participants