INTERFACE:
subroutine do_turbulence(nlev,dt,depth,u_taus,u_taub,z0s,z0b,h, &
NN,SS,xP)
DESCRIPTION:
This routine is the central point of the turbulence scheme. It determines the order, in which turbulence variables are updated, and calls other member functions updating the TKE, the length-scale, the dissipation rate, the ASM etc. Note, that the list of arguments in do_turbulence() corresponds exactly to those mean flow and grid-related variables required to update the turbulent quantities. These variables have to be passed from a 3-D model, if the turbulence module of GOTM is used for the computation of the turbulent fluxes. Do not forget to call init_turbulence() from the 3-D model before the first call to do_turbulence().
The variable turb_method determines the essential structure of the calls in do_turbulence(). At the moment, the following model types are available:
The second-order models fall into different categories, depending on the value of second_method. These models, discussed in detail in section 4.4, are listed in the following.
USES:
IMPLICIT NONE
interface
subroutine production(nlev,NN,SS,xP)
integer, intent(in) :: nlev
REALTYPE, intent(in) :: NN(0:nlev)
REALTYPE, intent(in) :: SS(0:nlev)
REALTYPE, intent(in), optional :: xP(0:nlev)
end subroutine production
end interface
INPUT PARAMETERS:
number of vertical layers
integer, intent(in) :: nlev
time step (s)
REALTYPE, intent(in) :: dt
distance between surface
and bottom(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)
boyancy frequency squared (1/s^2)
REALTYPE, intent(in) :: NN(0:nlev)
shear-frequency squared (1/s^2)
REALTYPE, intent(in) :: SS(0:nlev)
TKE production due to seagrass
friction (m^2/s^3)
REALTYPE, intent(in), optional :: xP(0:nlev)
REVISION HISTORY:
Original author(s): Karsten Bolding, Hans Burchard,
Lars Umlauf
Karsten Bolding 2012-01-24