### Compute turbulence in the bottom layer

INTERFACE:

   subroutine bottom_layer(nlev,h0,h,rho,u,v,NN,u_taus,u_taub, &

DESCRIPTION:

In this routine all computations related to turbulence in the bottom layer are performed. The algorithms are described in section 4.35. Note that these algorithms are affected by some pre-processor macros defined in cppdefs.inp, and by the parameters set in kpp.nml, see section 4.35.

The computation of the bulk Richardson number is slightly different from the surface boundary layer, since for the bottom boundary layer this quantity is defined as,

 (226)

where denotes the position of the edge of the bottom boundary layer.

Also different from the surface layer computations is the absence of non-local fluxes.

USES:

   IMPLICIT NONE

INPUT PARAMETERS:

number of grid cells
integer                                       :: nlev

bathymetry (m)
REALTYPE                                      :: h0

thickness of grid cells (m)
REALTYPE                                      :: h(0:nlev)

potential density at grid centers (kg/m^3)
REALTYPE                                      :: rho(0:nlev)

velocity components at grid centers (m/s)
REALTYPE                                      :: u(0:nlev),v(0:nlev)

square of buoyancy frequency (1/s^2)
REALTYPE                                      :: NN(0:nlev)

surface and bottom friction velocities (m/s)
REALTYPE                                      :: u_taus,u_taub

bottom temperature flux (K m/s) and
salinity flux (sal m/s) (negative for loss)
REALTYPE                                      :: tFlux,sFlux

bottom buoyancy fluxes (m^2/s^3) due to
heat and salinity fluxes
REALTYPE                                      :: btFlux,bsFlux

radiative flux [ I(z)/(rho Cp) ] (K m/s)
and associated buoyancy flux (m^2/s^3)

   Original author(s): Lars Umlauf