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.8. 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.8.


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-01-24