forked from mom-ocean/MOM6
-
Notifications
You must be signed in to change notification settings - Fork 59
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
Add GL90 diagnostics #293
Merged
Merged
Add GL90 diagnostics #293
Commits on Nov 29, 2022
-
Add GL90 parameterization in stacked shallow water
This adds a new vertical viscosity parameterization as in Greatbatch and Lamb (1990), Ferreira & Marshall (2006) and Zhao & Vallis (2008), hereafter referred to as the GL90 vertical viscosity parameterization. This vertical viscosity scheme redistributes momentum in the vertical, and is the equivalent of the Gent & McWilliams (1990) parameterization, but in a TWA (thickness-weighted averaged) set of equations. The vertical viscosity coefficient nu is computed from kappa_GM via thermal wind balance, and the following relation: nu = kappa_GM * f^2 / N^2. The vertical viscosity del_z ( nu del_z u) is applied to the momentum equation with stress-free boundary conditions at the top and bottom. In the current implementation, kappa_GM is assumed either (a) constant or as (b) having an EBT structure. A third possible formulation of nu is depth-independent: nu = f^2 * alpha The latter formulation would be equivalent to a kappa_GM that varies as N^2 with depth. Currently, the GL90 parameterization is only implemented in stacked shallow water (SSW) mode, in which case we have 1/N^2 = h/g'. More specifically, this commit adds a new subroutine that computes the couping coefficient associated with GL90 via a_cpl_gl90 = nu / h = kappa_GM * f^2 / g' or a_cpl_gl90 = nu / h = f^2 * alpha / h. Further, a_cpl_gl90 is multiplied by a function (botfn), which is 0 within the GL90 bottom boundary layer, whose depth is set by Hbbl_gl90, and 1 otherwise. This modification is necessary to avlid fluxing momentum into vanished layers that ride over steep topography. Finally, a_cpl_gl90 is added to a_cpl, where the latter is the coupling coefficient associated with the remaining vertical stresses, used in the vertical viscosity solver. More information can be found in Loose et al. (https://www.essoar.org/doi/abs/10.1002/essoar.10512867.1), Appendix B.
Configuration menu - View commit details
-
Copy full SHA for 8cac514 - Browse repository at this point
Copy the full SHA 8cac514View commit details
Commits on Dec 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 36ba269 - Browse repository at this point
Copy the full SHA 36ba269View commit details
Commits on Dec 5, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9ebd3a9 - Browse repository at this point
Copy the full SHA 9ebd3a9View commit details -
Rewrite comment so it does not contain apostrophe
Change g' --> g^prime because doxygen and style test does not like the apostrophe.
Configuration menu - View commit details
-
Copy full SHA for 35ab8ec - Browse repository at this point
Copy the full SHA 35ab8ecView commit details
Commits on Dec 8, 2022
-
Add GL90 viscosity and coupling coefficient diags
New diagnostics: * au_gl90_visc: zonal viscous coupling coefficient associated with GL90, is contained in au_visc * av_gl90_visc: meridional viscous coupling coefficient associated with GL90, is contained in av_visc * Kv_gl90_u: GL90 vertical viscosity at u-points, is contained in Kv_u * Kv_gl90_v: GL90 vertical viscosity at v-points, is contained in Kv_v
Configuration menu - View commit details
-
Copy full SHA for ee9ac60 - Browse repository at this point
Copy the full SHA ee9ac60View commit details -
Add d[uv]_dt_visc_gl90 momentum budget diagnostics
New diagnostics: * du_dt_visc_gl90: zonal acceleration due to GL90 vertical viscosity, included in du_dt_visc * dv_dt_visc_gl90: meridional acceleration due to GL90 vertical viscosity, included in dv_dt_visc
Configuration menu - View commit details
-
Copy full SHA for cebc2ea - Browse repository at this point
Copy the full SHA cebc2eaView commit details
Commits on Dec 13, 2022
-
New diagnostics: * GLwork: Kinetic Energy Source from GL90 Vertical Viscosity The energetics of the GL90 parameterization (named "GLwork") are intentionally computed in MOM_vert_friction, rather than in MOM_diagnostics, where the reamining kinetic energy budget terms are computed. We have to do the computation in MOM_vert_friction to ensure sign- definiteness when GLwork is summed in the vertical. Indeed, MOM_diagnostics does not have access to the velocities and thicknesses used in the vertical solver, but rather uses a time-mean barotropic transport [uv]h to compute the energy budget diagnostics. A detailed discussion and exploration of this issue can be found in ocean-eddy-cpt#25. As a result of not computing the energetics in MOM_diagnostics, GLwork is not exactly contained in KE_visc. KE_visc represents the energetics of all vertical viscosity contributions, including the GL90 vertical viscosity. We could implement a term "KE_visc_gl90" that can be 1-to-1 compared to KE_visc; that is, KE_visc - KE_visc_gl90 would represent exactly the energetics of all viscosity contributions EXCEPT the GL90 viscosity. If we implemented KE_visc_gl90, this term would in practice be very similar as GLwork, but sign-definiteness is not ensured, see above.
Configuration menu - View commit details
-
Copy full SHA for 167b9d4 - Browse repository at this point
Copy the full SHA 167b9d4View commit details
Commits on Dec 23, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4a25269 - Browse repository at this point
Copy the full SHA 4a25269View commit details
Commits on Jan 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9aa4c0a - Browse repository at this point
Copy the full SHA 9aa4c0aView commit details
Commits on Jan 9, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0128a4e - Browse repository at this point
Copy the full SHA 0128a4eView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.