Compute turbulence in the surface layer


INTERFACE:

   subroutine surface_layer(nlev,h0,h,rho,u,v,NN,u_taus,u_taub,       &
                            tFlux,btFlux,sFlux,bsFlux,tRad,bRad,f)
DESCRIPTION:

In this routine all computations related to turbulence in the surface 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.


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
 
   surface temperature flux (K m/s) and
   salinity flux (sal m/s) (negative for loss)
   REALTYPE                                      :: tFlux,sFlux
 
   surface 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)
   REALTYPE                                      :: tRad(0:nlev),bRad(0:nlev)
 
   Coriolis parameter (rad/s)
   REALTYPE                                      :: f
REVISION HISTORY:
   Original author(s): Lars Umlauf



Karsten Bolding 2012-12-28