Skip to content
New issue

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

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

Already on GitHub? # 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.

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

No branches or pull requests

2 participants