Corrections to GLS and MY25 Vertical closures #51
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.
Description
We have revised the modules for the predictor and corrector steps of the GLS and MY25 second-moment closure schemes. These revisions address a long-standing inconsistency in the default CPP selection of predictor and corrector advection schemes, an issue that dates back at least two decades to version 2.0.
Summary of the Issue
Currently, under the default turbulence advection mode (i.e., without defining
K_C4ADVECTION
for fourth-order centered advection orK_C2ADVECTION
for second-order centered advection), the following incongruities exist:Corrector Steps
: Both GLS and MY25 use third-order upwind advection.Predictor Steps
: GLS and MY25 default to fourth-order centered advection.This mismatch causes turbulent length scales to become highly noisy under strong tidal or coastal current advection, leading to instability. The result is a persistent lock on the high default setting gls_kmin=7.6E-6 (m2/s2), producing spuriously high diffusivity in low-stratification regions. M. Scully has noted this problem of spuriously high diffusivity in low stratification and by J. Pringle.
However, the problem of instabilities arising on lowered gls_kmin was not discussed.
Code Changes
K_C4ADVECTION
an explicit directive, setting third-order upwind advection as the default (consistent with the corrector modules).Impact and Observations
Notes on MY25
The same corrections to the advective scheme were still needed and were applied to the MY25 scheme. Although MY25 already constrains the length scale through an ad-hoc wall function in the dissipation term of the q2l equation so that L=q2l/q2 never gets remotely close to$\kappa$ *WaterDepth, the inconsistency in advection schemes likely affects its performance with spurious noise, however muffled. Harmonizing these steps ensures a more robust and accurate closure scheme.
Alternative Solution
Users can define
K_C4ADVECTION
orK_C2ADVECTION
in the current code to manually select the advection scheme. However, this might cause turbulence advection to differ materially from the default third-order upstream advection for density and scalars.Contact Ramsey R Harcourt at [email protected] OR
Ravi Prakash, at [email protected] if you have any questions.