Some algebraic length-scale relations


INTERFACE:

   subroutine algebraiclength(method,nlev,z0b,z0s,depth,h,NN)
DESCRIPTION:

This subroutine computes the vertical profile of the turbulent scale $ l$ from different types of analytical expressions. These range from simple geometrical forms to more complicated expressions taking into account the effects of stratification and shear. The users can select their method in the input file gotmturb.nml. For convenience, we define here $ d_b$ and $ d_s$ as the distance from the bottom and the surface, respectively. The water depth is then given by $ H=d_b+d_s$, and $ z_0^b$ and $ z_0^s$ are the repective roughness lengths. With these abbreviations, the expressions implemented in GOTM are as follows.

  1. The parabolic profile is defined according to

    $\displaystyle l=\kappa \frac{(d_s+z_0^s) (d_b+z_0^b)} {d_s+d_b+z_0^b+z_0^s} \; , \quad$ (175)

    where it should be noted that only for large water depth this equation converges to $ \kappa(z+z_0)$ near the bottom or near the surface.
  2. The triangular profile is defined according to

    $\displaystyle l = \kappa   \min(d_s+z_0^s,d_b+z_0^b) \; , \quad     $ (176)

    which converges always to $ \kappa(z+z_0)$ near the bottom or near the surface.
  3. A distorted parabola can be constructed by using a slightly modified form of the equation used by Xing and Davies (1995),

    $\displaystyle l = \kappa \frac{(d_s+z_0^s)(d_b^\text{Xing}+z_0^b)} {d_s+d_b^\te...
... d_b^\text{Xing} = d_b \exp{\left(-\beta \frac{d_b}{H} \right)} \; , \quad     $ (177)

    where it should be noted that only for large water depth this equation converges to $ \kappa(z+z_0)$ near the bottom or near the surface. The constant $ \beta$ is a form parameter determining the distortion of the profile. Currently we use $ \beta = 2$ in GOTM.
  4. A distorted parabola can be constructed by using a slightly modified form of the equation used by Robert and Ouellet (1987),

    $\displaystyle l = \kappa (d_b+z_0^b) \sqrt{1-\frac{d_b-z_0^s}{H}} \; , \quad    $ (178)

    where it should be noted that only for large water depth this equation converges to $ \kappa(z+z_0)$ near the bottom. Near the surface, the slope of $ l$ is always different from the law of the wall, a fact that becomes important when model solutions for the case of breaking waves are computed, see section 4.7.4.
  5. Also the famous formula of Blackadar (1962) is based on a parabolic shape, extended by an extra length-scale $ l_a$. Using the form of Luyten et al. (1996), the algebraic relation is expressed by

    $\displaystyle l = \left( \frac{1}{\kappa (d_s+z_0^s)} +\frac{1}{\kappa (d_b+z_0^b)} +\dfrac{1}{l_a} \right) \; , \quad$ (179)

    where

    $\displaystyle l_a = \gamma_0 \frac{\int_{-H}^\eta k^\frac{1}{2} z dz} {\int_{-H}^\eta k^\frac{1}{2} dz}$ (180)

    is the natural kinetic energy scale resulting from the first moment of the rms turbulent velocity. The constant $ \gamma_0$ usually takes the value $ \gamma_0 = 0.2$. It should be noted that this expression for $ l$ converges to $ \kappa(z+z_0)$ at the surface and the bottom only for large water depth, and when $ l_a$ plays only a minor role.
  6. The so-called ISPRAMIX method to compute the length-scale is described in detail in section 4.22.
After the length-scale has been computed, it is optionally limited by the method suggested by Galperin et al. (1988). This option can be activated in gotmturb.nml by setting length_lim = .true. The rate of dissipation is computed according to (155).


USES:

   use turbulence, only: L,eps,tke,k_min,eps_min
   use turbulence, only: cde,galp,kappa,length_lim
   IMPLICIT NONE
INPUT PARAMETERS:
 
   type of length scale
   integer,  intent(in)                :: method
 
   number of vertical layers
   integer,  intent(in)                :: nlev
 
   surface and bottom roughness (m)
   REALTYPE, intent(in)                :: z0b,z0s
 
   local depth (m)
   REALTYPE, intent(in)                :: depth
 
   layer thicknesses (m)
   REALTYPE, intent(in)                :: h(0:nlev)
 
   buoyancy frequency (1/s^2)
   REALTYPE, intent(in)                :: NN(0:nlev)
DEFINED PARAMETERS:
   integer, parameter                  :: Parabola=1
   integer, parameter                  :: Triangle=2
   integer, parameter                  :: Xing=3
   integer, parameter                  :: RobertOuellet=4
   integer, parameter                  :: Blackadar=5
   integer, parameter                  :: ispra_length=7
REVISION HISTORY:
   Original author(s):  Manuel Ruiz Villarreal, Hans Burchard

Karsten Bolding 2012-12-28