The dynamic q2l-equation


INTERFACE:

   subroutine lengthscaleeq(nlev,dt,depth,u_taus,u_taub,z0s,z0b,h,NN,SS)
DESCRIPTION:

Following suggestions of Rotta (1951), Mellor and Yamada (1982) proposed an equation for the product $ q^2
l$ expressed by

$\displaystyle \dot{\overline{q^2 l}} = {\cal D}_l + l ( E_1 P + E_3 G - E_2 F \epsilon ) \; , \quad$ (162)

where $ \dot{\overline{q^2 l}}$ denotes the material derivative of $ q^2
l$. The production terms $ P$ and $ G$ follow from (154), and $ \epsilon$ can be computed either directly from (158), or from (155) with the help (159).

The so-called wall function, $ F$, appearing in (162) is defined by

$\displaystyle F = 1 + E_2 \left( \dfrac{l}{\kappa {\cal L}_z} \right)^2 \; , \quad$ (163)

$ \kappa$ being the von Kármán constant and $ {\cal L}_z$ some measure for the distance from the wall. Different possiblities for $ {\cal L}_z$ are implemented in GOTM, which can be activated be setting the parameter MY_length in gotmturb.nml to appropriate values. Close to the wall, however, one always has $ {\cal L}_z= \overline{z}$, where $ \overline{z}$ is the distance from the wall.

For horizontally homogeneous flows, the transport term $ {\cal D}_l$ appearing in (162) is expressed by a simple gradient formulation,

$\displaystyle {\cal D}_l = \dfrac{\partial}{\partial {z}} \left( q l S_l \dfrac{\partial {q^2 l}}{\partial {z}} \right) \; , \quad$ (164)

where $ S_l$ is a constant of the model. The values for the model constants recommended by Mellor and Yamada (1982) are displayed in table 6. They can be set in gotmturb.nml. Note, that the parameter $ E_3$ in stably stratifed flows is in principle a function of the so-called steady state Richardson-number, as discussed by Burchard (2001b), see discussion in the context of (116).

Table 6: Constants appearing in (162) and (158)


At the end of this routine the length-scale can be constrained according to a suggestion of Galperin et al. (1988). This feature is optional and can be activated by setting length_lim = .true. in gotmturb.nml.


USES:

   use turbulence, only: P,B
   use turbulence, only: tke,tkeo,k_min,eps,eps_min,L
   use turbulence, only: kappa,e1,e2,e3,b1
   use turbulence, only: MY_length,cm0,cde,galp,length_lim
   use turbulence, only: q2l_bc, psi_ubc, psi_lbc, ubc_type, lbc_type
   use turbulence, only: sl
   use util,       only: Dirichlet,Neumann
 
   IMPLICIT NONE
INPUT PARAMETERS:
 
   number of vertical layers
   integer,  intent(in)                :: nlev
 
   time step (s)
   REALTYPE, intent(in)                :: dt
 
   local water depth (m)
   REALTYPE, intent(in)                :: depth
 
   surface and bottom
   friction velocity (m/s)
   REALTYPE, intent(in)                :: u_taus,u_taub
 
   surface and bottom
   roughness length (m)
   REALTYPE, intent(in)                :: z0s,z0b
 
   layer thickness (m)
   REALTYPE, intent(in)                :: h(0:nlev)
 
   square of shear and buoyancy
   frequency (1/s^2)
   REALTYPE, intent(in)                :: NN(0:nlev),SS(0:nlev)
REVISION HISTORY:
   Original author(s): Lars Umlauf
                      (re-write after first version of
                       H. Burchard and K. Bolding

Karsten Bolding 2012-12-28