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.4 on page 8.5.4.
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.