Overview over 3D routines in GETM

This module contains the physical core of GETM. All three-dimensional equations are iterated here, which are currently the equations for

The vertical grid for GETM, i.e. the layer thicknesses in all
U-, V- and T-points, are defined in the routine `coordinates`,
see section 8.5.3 on page 8.5.3.

The grid-related vertical velocity is calculated directly from
the layer-integrated continuity equation (25) which here done
in the routine `ww_momentum` described on page .

The physics of the horizontal momentum equations is given in
section 3.1.1, and their transformation to general vertical
coordinates in section 4.2. Their numerical
treatment will be discussed in the routines for the individual terms, see
below.
The forcing terms of the horizontal momentum equations are calculated in
various routines, such as `uv_advect_3d` for the three-dimensional
advection (which in turn calls
`advection_3d` in case that higher order positive definite advection
schemes are chosen for the momentum equation),
`uv_diffusion_3d.F90` for the horizontal diffusion,
`bottom_friction_3d` for the bottom friction applied to the lowest
layer, and `internal_pressure` for the calculation of the internal
pressure gradients.

The major tracer equations in any ocean model are those for potential
temperature and salinity. They are calculated in the routines
`do_temperature` and `do_salinity`. A further hard-coded
tracer equation is the suspended matter equation, see `do_spm`.

In the near future (the present text is typed in February 2006),
a general interface to the biogeochemical module of GOTM
(also not yet released) will be available.
This allow to add tracer equations of arbitrary complexity to GETM, ranging
from completely passive tracer equations to complex ecosystem models
such as ERSEM (Baretta et al. (1995)). The interfacing between this
so-called GOTM-BIO to GETM is made in a similar manner than the interfacing
between GETM and the GOTM turbulence module described in
`gotm` on page .
The basic structure of GOTM-BIO has been recently presented by
Burchard et al. (2006).
Some more details about the tracer equations currently included in
GETM is given in section 8.2.

The entire turbulence model, which basically provides eddy viscosity
and eddy diffusivity is provided from the General
Ocean Turbulence Model (GOTM, see Umlauf et al. (2005) for the
source code documentation and `http://www.gotm.net` download of
source code, docomentation and test scenarios). The turbulence module
of GOTM (which is a complete one-dimensional water column model) is coupled
to GETM via the interfacing routine `gotm` described in section
`gotm` on page . Major input to the turbulence model
are the shear squared
and the buoyancy
frequency squared
with the buoyancy from (4).
Those are calculated and interpolated to the T-points where the
turbulence model columns are located in the routine `ss_nn`
described on page .

The surface and bottom stresses which need to be passed to the turbulence
module as well, are interpolated to T-points in the routine
`stresses_3d`, see page .

The module `rivers` (see section 8.12 on page
) organises the riverine input of fresh water
from any number of rivers.

Three-dimensional boundary conditions for temperature and salinity
are provided by means of the module `bdy-3d`, see section
8.11 described on page .

The remaining routines in the module `3d` deal with the coupling of the
external and the internal mode. The basic idea of the mode splitting
has already been discussed in section 5.1.
The consistency of the two modes is given through the so-called
slow terms, which are mode interaction terms resulting from
subtracting vertically integrated equations with parameterised
advection, diffusion, bottom friction and internal pressure
gradient from vertically integrated equations with explicit vertical resolution
of these processes. These slow terms which are updated every macro
time step only (that is why we call them slow terms) need to be considered
for the external mode included in module `2d`.
Those slow terms are calculated here in the `3d` module at the end
of `integrate_3d` and in the routine `slow_bottom_friction`,
and they are added together in `slow_terms`,
see the descriptions in sections 8.4.3,
8.13.10 and 8.13.11
on pages , ,
and , respectively.

One other important measure of coupling the two modes is to
add to all calculated - and -velocity profiles the difference
between their vertical integral and the time-average of the
vertically integrated transport from the previous set of micro time
steps. This shifting is done in the routines `uu_momentum_3d` and
`vv_momentum_3d` and the time-average of the
vertically integrated transport is updated in the `2d` module
in the routine `m2d` and divided by the number of
micro time steps per macro time step in `start_macro`.
Further basic calculations performed in `start_macro`
(see description in section 8.13.3
on page ) are the updates of
the *old* and *new* sea surface elevations with respect to
the actual macro time step.
The routine `stop_macro` (see description in section 8.13.12
on page )
which called at the end of each macro time step
simply resets the variables for the time-averaged transports to zero.

kklingbe 2017-10-02