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

Energetics of horizontal friction in MOM_hor_visc #1366

Open
NoraLoose opened this issue Apr 6, 2021 · 0 comments
Open

Energetics of horizontal friction in MOM_hor_visc #1366

NoraLoose opened this issue Apr 6, 2021 · 0 comments
Assignees

Comments

@NoraLoose
Copy link
Contributor

In the MOM_hor_visc module, the computation of FrictWork and MEKE%mom_src is inaccurate if the grid is curvilinear. The computation is only exact in Cartesian coordinates.

This is what is being computed:
https://github.com/NOAA-GFDL/MOM6/blob/fae570d0a0396cf0ae8960a633e998110dbdad8e/src/parameterizations/lateral/MOM_hor_visc.F90#L1562-L1576
The issue is that

(u(I,j,k)-u(I-1,j,k))*G%IdxT(i,j)

in line 1563 should be substituted by

dudx(i,j) = CS%DY_dxT(i,j)*(G%IdyCu(I,j) * u(I,j,k) - &
                                  G%IdyCu(I-1,j) * u(I-1,j,k)),

i.e., the code is missing some of the metric terms. The metric terms are also missing in the remaining lines in the code snippet above.

I think it would be most efficient to substitute
https://github.com/NOAA-GFDL/MOM6/blob/fae570d0a0396cf0ae8960a633e998110dbdad8e/src/parameterizations/lateral/MOM_hor_visc.F90#L1563-L1564
by

((str_xx(i,j)-RoScl*bhstr_xx(i,j))*sh_xx(i,j),

and in the remaining lines one could use sh_xy.

Everything I have said above also applies to FrictWork in this code snippet.

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

No branches or pull requests

2 participants