Update turbulence production (Source File: production.F90)


INTERFACE:

    subroutine production(nlev,NN,SS,xP)
DESCRIPTION:

This subroutine calculates the production terms of turbulent kinetic energy as defined in (152) and the production of buoayancy variance as defined in (159). The shear-production is computed according to

$\displaystyle P = \nu_t (M^2 + \alpha_w N^2) + X_P \; , \quad$ (146)

with the turbulent diffusivity of momentum, $ \nu_t$, defined in (44). The shear-frequency, $ M$, is discretised as described in section 3.2.14. The term multiplied by $ \alpha_w$ traces back to a parameterisation of breaking internal waves suggested by Mellor (1989). $ X_P$ is an extra production term, connected for example with turbulence production caused by sea-grass, see (272) in section 10.1. xP is an optional argument in the FORTRAN code.

Similarly, according to (78), the buoyancy production is computed from the expression

$\displaystyle G=-\nu^B_t N^2 + \tilde{\Gamma}_B \; , \quad$ (147)

with the turbulent diffusivity, $ \nu^B_t$, defined in (44). The second term in (147) represents the non-local buoyancy flux. The buoyancy-frequency, $ N$, is discretised as described in section 3.2.15.

The production of buoyancy variance by vertical meanflow gradients follows from (78) and (147)

$\displaystyle P_b = -G N^2 \quad .$ (148)

Thus, according to the definition of the potential energy (50), the buoyancy production $ G$ describes the conversion between turbulent kinetic and potential energy in (150) and (158), respectively.


USES:

    use turbulence, only: P,B,Pb
    use turbulence, only: num,nuh
    use turbulence, only: alpha,iw_model
    IMPLICIT NONE
INPUT PARAMETERS:
 
    number of vertical layers
    integer,  intent(in)                :: 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
    $Log: production.F90,v $
    Revision 1.5  2010-09-17 12:53:52  jorn
    extensive code clean-up to ensure proper initialization and clean-up of all variables
    Revision 1.4  2005-08-28 09:40:03  hb
    Misspelling in documentation corrected.
    Revision 1.3  2005/08/11 13:01:49  lars
    Added explicit loops for 3-D z-level support. Thanks to Vicente Fernandez.
    Revision 1.2  2005/07/19 16:46:14  hb
    removed superfluous variables - NNT, NNS, SSU, SSV
    Revision 1.1  2005/06/27 10:54:33  kbk
    new files needed
    Revision 1.6  2003/03/28 09:20:35  kbk
    added new copyright to files
    Revision 1.5  2003/03/28 08:56:56  kbk
    removed tabs
    Revision 1.4  2003/03/10 08:50:07  gotm
    Improved documentation and cleaned up code
    Revision 1.3  2002/02/08 08:59:57  gotm
    Revision 1.2  2001/11/18 16:02:16  gotm
    Allow no_shear calculation
    Revision 1.1.1.1  2001/02/12 15:55:57  gotm
    initial import into CVS

Karsten Bolding 2012-01-24