forked from mom-ocean/MOM6
-
Notifications
You must be signed in to change notification settings - Fork 57
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 parameterization for stacked shallow water #268
Merged
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
-
Configuration menu - View commit details
-
Copy full SHA for 949f51a - Browse repository at this point
Copy the full SHA 949f51aView commit details
Commits on Dec 13, 2022
-
Introduce logical variable KD_GL90_USE_EBT_STRUCT
This variable is analogous to KHTH_USE_EBT_STRUCT, but is specifically for the GL90 scheme. If the user sets KD_GL90_USE_EBT_STRUCT = True, an EBT structure will be applied to KD_GL90. Before this commit, KHTH_USE_EBT_STRUCT took the two-fold role of imposing an EBT structure on KHTH (used in the GM scheme) and KD_GL90 (used in the GL scheme), which may have been confusing.
Configuration menu - View commit details
-
Copy full SHA for e79e8bb - Browse repository at this point
Copy the full SHA e79e8bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 01ec2c4 - Browse repository at this point
Copy the full SHA 01ec2c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ff428f - Browse repository at this point
Copy the full SHA 6ff428fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2361b7 - Browse repository at this point
Copy the full SHA a2361b7View commit details
Commits on Dec 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4d56332 - Browse repository at this point
Copy the full SHA 4d56332View commit details
Commits on Dec 21, 2022
-
Add arguments do_not_log = .not.CS%use_GL90_in_SSW
All get_param calls that are for variables that are only used when GL90 is in use get the argument do_not_log = .not.CS%use_GL90_in_SSW. Prior, these variables have been wrapped by an if-statement.
Configuration menu - View commit details
-
Copy full SHA for 2712b20 - Browse repository at this point
Copy the full SHA 2712b20View commit details
Commits on Dec 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4ef01e6 - Browse repository at this point
Copy the full SHA 4ef01e6View 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.