INTERFACE:
subroutine gotm()DESCRIPTION:
Here, the turbulence module of the General Ocean Turbulence Model (GOTM,
see www.gotm.net and Umlauf et al. (2005)) is called. First, all
necessary parameters are transformed to suit with a 1D water column model,
i.e., 3D fields are transformed to a vertical vector, 2D horizontal
fields are converted to a scalar. The transformed 3D fields are
the layer heights hn
h, the shear squared
SS
SS1d,
the buoyancy frequency squared NN
NN1d,
the turbulent kinetic energy tke
tke1d,
the dissipation rate eps
eps1d
(from which the integral length scale L1d is calculated), the
eddy viscosity num
num1d, and the eddy diffusivity
nuh
nuh1d. The scalars are the surface and bottom friction
velocities, u_taus and u_taub, respectively, the
surface roughness parameter z0s (which is currently hard-coded),
and the bottom roughess parameter z0b.
Then, the GOTM turbulence module do_turbulence is called with
all the transformed parameters discussed above. Finally, the
vertical vectors tke1d, eps1d, num1d and nuh1d
are transformed back to 3D fields.
In case that the compiler option STRUCTURE_FRICTION is switched on, the additional turbulence production by structures in the water column is calculated by calculating the total production as
(132) |
There are furthermore a number of compiler options provided, e.g. for an older GOTM version, for barotropic calcuations, and for simple parabolic viscosity profiles circumventing the GOTM turbulence module. USES:
use halo_zones, only: update_3d_halo,wait_halo,H_TAG use domain, only: imin,imax,jmin,jmax,kmax,az,min_depth,crit_depth use variables_2d, only: D,zub,zvb,z use variables_3d, only: dt,kmin,ho,hn,tke,eps,SS,num,taus,taub #ifndef NO_BAROCLINIC use variables_3d, only: NN,nuh #endif use variables_3d, only: avmback,avhback #ifdef STRUCTURE_FRICTION use variables_3d, only: uu,vv,hun,hvn,sf #endif use turbulence, only: do_turbulence,cde use turbulence, only: tke1d => tke, eps1d => eps, L1d => L use turbulence, only: num1d => num, nuh1d => nuh use getm_timers, only: tic, toc, TIM_GOTM, TIM_GOTMTURB, TIM_GOTMH IMPLICIT NONEREVISION HISTORY:
Original author(s): Karsten Bolding & Hans BurchardLOCAL VARIABLES:
integer :: i,j,k REALTYPE :: u_taus,u_taub,z0s,z0b REALTYPE :: h(0:kmax),dry,zz REALTYPE :: NN1d(0:kmax),SS1d(0:kmax) REALTYPE :: xP(0:kmax)