In the gls implementation in ROMS, the Galperin correction is used to limit the turbulent length scale so it does not exceed the Ozmidov scale. This effectively limits the dissipation rate.
In the gls implementation this is done in the following statement:
Code: Select all
gls(i,j,k,nnew)=MAX(gls(i,j,k,nnew),gls_fac5* &
& tke(i,j,k,nnew)**(tke_exp4)* &
& (SQRT(MAX(0.0_r8, &
& buoy2(i,j,k)))+eps)** &
& (-gls_n(ng)))
[/color]
So, when the Galperin correction is imposed, gls ~ 0.228*tke*N (for k-epsilon, where the variable gls = dissipation rate). The limit on the dissipation rate is the same for k-omega and kkl (just with different coefficients above).
By definition, the eddy coefficients are AKv = cmue*tke^2*epsilon^-1 and AKt = cmue'*tke^2*epsilon^-1 (using k-epsilon notation, where cmue and cmue' are the stability parameters).
So, under the Galperin correction AKv and AKt asymptote to AKv = cmue*tke*0.0288^-1*N^-1 and AKt = cmue'*tke*0.0288^-1*N^-1, respectively.
Further, under the quasi-equilibrium Kantha and Clayson stability functions, both cmue and cmue' asymptote to constant values under the Galperin correction because alphaN becomes constant (where alphaN = N^2*tke^2*dissipation^-2). For Canuto, the stability functions are still a function of the gradient richardson number under the Galperin correction, but the result is effectively the same).
As a result, when the Galperin correction is imposed (which is most of the time in a stratified flow from my experience) the eddy coefficients become:
AKv ~ AKt ~ 0.05*tke*N^-1.
So for a given stratification (N), the minimum values of AKv and AKt are set by the minimum value of tke. In ROMS the recommended minimum tke is 7.6e-6, which will prevent the values of AKv and AKt from ever reaching the background values when they are set low (< 10^-5 depending on your stratification). For example if N~.05, then the lowest value of AKv will be ~ 7.6e-6. Under stronger stratification, the minimum viscosity/diffusivity will increase. This also causes the effective background viscosity/diffusivity to vary with stratification, which does not seem like a good thing to me.
So, in order for the model to reach low values of background viscosity/diffusivity, you must reduce tke_min below the recommended value for gls in ROMS. For instance, GOTM uses tke_min = 10^-10. When I use this value in ROMS, the model runs fine and achieves the specified background viscosity.
It should also be noted that in ROMS the recommended minimum value of tke is different for k-epsilon and gls-mellor-yamada (kkl). The recommended value for kkl is slightly lower than the k-epsilon and k-omega value. This can lead to the different closures performing differently even though it is really just the result of different effective background viscosity/diffusivity. This can actually make a significant difference when you are looking at biologically important fluxes of materials (like oxygen) across the pycnocline.