Both DieCAST and CANDIE are similar to the GFDL model, most notably in
the use of Cartesian coordinates and the rigid lid
approximation. However, unlike the GFDL model (referred to the
tradition version of the Modular Ocean Model) uses a volume transport
streamfunction, both DieCAST and CANDIE are formulated in terms of the
surface pressure. The main advantages of using a pressure formulation
are the increased ease with which islands are handled, and the reduced
numerical sensitivity to depth variations. The latter attribute is due
to the appearance of (rather than
as in the stream function formulation) in the
differential equation determining the surface pressure, and reduces
the need to smooth the model bottom topography to maintain numerical
stability [e.g. Dukowicz et al., 1993]. Again, we emphasize that in
all references to the GFDL model, we are referring to the particular
version used in the test cases presented by HB, which uses the
streamfunction formulation. Madala and Piacsek [1977], Killworth et al.
[1991], Dukowicz et al. [1993], Dukowicz and Smith[1994] and
Pacanowski [1996] have each reformulated the GFDL model using
different pressure formulations and it would be of interest to explore
how these models perform on Haidvogel and Beckmann's test cases.
However, our interest here is in the approach used by Dietrich which
is distinct from each of those mentioned above. This approach is
presented below.
Using forward time stepping for horizontal diffusion terms, centered time stepping for advection and pressure variations, backward (or fully implicit) time stepping for vertical diffusion, and either centered or backward time stepping for the Coriolis term, the time discretization of (1), (2), (6) and (7) can be written as
where is the time step and superscripts n-1, n and n+1
represent the values of quantities at the corresponding time steps.
The quantity
is a measure of implicitness for the Coriolis
term:
= 0 gives centered (leap-frog) time differencing and
= 1 gives backward (fully implicit) treatment of the Coriolis
term. Dietrich et al. [1987] noted that, when the Ekman layer is
resolved, an extremely short time step would be required if an
explicit scheme were used for the vertical diffusion terms. To avoid
this undesirable restriction, while maintaining an accurate
representation of the Ekman layer dynamics, Dietrich et al. [1990]
suggested that both the Coriolis and the vertical diffusion terms
should be treated implicitly. The equations derived below allow for
either implicit or explicit treatment of the Coriolis terms, but treat
the vertical mixing in both the momentum and tracer equations
implicitly.
Clearly, since the Coriolis term may include a fully implicit contribution and the vertical diffusion is always treated implicitly, the state variables cannot be updated in the straightforward manner implied by the above equations. In practice, the updating is done through a sequence of steps equivalent to solving the above equations in combination with the continuity and hydrostatic equations at appropriate time levels.
Let us rewrite un+1, vn+1, Tn+1 and Sn+1 in terms of a set of trial variables:
where the initial trial fields
and
are updated to include the effects of horizontal
diffusion (forward), nonlinearity (centered), the pressure gradient
force (centered baroclinic and forward surface contributions), and
the contribution to the Coriolis force based on centered differencing.
and
include the
additional effects of vertical diffusion (backward) and the
contribution to the Coriolis force based on backward differencing.
Finally,
and
represent the corrections to
the velocity components required to allow for a time-centered surface
pressure.
The initial trial fields and
are given by
Each of the terms on the right sides of (23)-(26)
are expressed in terms of previously determined state variables and
hence are trivially calculated. Note the appearance of rather than
on the right hand sides of (23) and
(24). The quantity
is not yet known, but it
will be determined and properly accounted for in the final step of
the solution procedure.
The advanced trial fields and
are then determined by updating
and
to give the best current estimates of the
effects of vertical diffusion and Coriolis:
where . Note that we have used
and
in the vertical diffusion terms on the right sides
of (27) and (28), since the pressure
correction terms,
and
, are depth-independent (see (33) and (34)).
Also note that
and
(see (21) and (22)) have been used in the
vertical diffusion terms on the right hand sides of (29) and
(30).
At this point, and
are completely updated, but
and
are based on the use of
rather than
on the
right sides of (23) and (24), and the effect spills
over into (27) and (28) through the use of
on the right sides of these equations. It
remains to adjust the pressure terms to the time level n and update
the velocities appropriately in order to achieve a fully time centered
pressure formulation.
Subtracting (27) from (15), then using
(23) to eliminate , and performing the
corresponding operations on (16),(24) and
(28) gives
in which and
. It follows that
Note that and
are all
independent of z. Hence they make no contribution to the vertical
diffusion terms which are thus fully accounted by (27) and
(28).
Substitution of (19) and (20) into (14) and then using (33) and (34) gives
where the final equality is a convenient shorthand notation: the
penultimate form is used in all numerical calculations. Note that
does not in general satisfy the
depth-integrated continuity equation. Therefore
is not always zero, which leads non-zero corrections
and
.
Equation (35) is the general equation determining the surface
pressure correction . For the special case
(centered Coriolis), this equation simplifies to
Equations (35) and (36) are forced 2D elliptic
equations for the surface pressure correction , with the
forcing determined by the net divergence (or convergence) implied by
the advanced trial horizontal velocity field
over each vertical water column. Equation (35) or
(36) determines the change in the surface pressure required
to adjust the vertical velocity at the bottom to zero, as required by
the step-like bottom topography, and is solved subject to the normal
gradient of pressure being zero on the boundaries (corresponding, from
(31) and (32), to having no normal velocity through
the boundaries of the model domain).
has been
determined from (35) or (36), the barotropic
horizontal velocity corrections
and
are
determined by (33) and (34). Note that while the
pressure is fully updated only to the time level n, the velocity,
temperature and salinity are each fully updated to the time level
n+1, as required by the above scheme.
It is of significance that the above equation for the surface pressure
is linear. All nonlinear effects are included through the forcing term
which is fully determined at the central time level n so that no
iterations are required. As a consequence, the surface pressure can
be determined very efficiently using standard routines for elliptic
equations. Also note that the block implicit relaxation (BIR)
technique is used in both DieCAST and CANDIE to determine the surface
pressure correction . The BIR technique was originally
developed by Dietrich et al. [1975] and later modified by Madala
[1978]. Roache [1995] discusses this computationally efficient and
numerically stable elliptic marching method in sum detail.
In summary, each time step proceeds as follows. We first determine
the baroclinic contribution pb to the pressure field at time level
n and add it to the surface pressure from time level n-1 to give
an initial estimate of the pressure field at time level n. The
initial trial fields , and
are determined to allow for the pressure gradient,
diffusive horizontal fluxes, advection and an estimate of the Coriolis
force based on the state variables at the previous two time steps. We
then calculate the advanced trial fields
and
to include vertical diffusion and any
implicit contribution to the Coriolis terms. The surface pressure
correction
is then determined to eliminate the depth
integrated horizontal divergence of
over each
water column. After numerically solving the governing 2D elliptic
equation for
, the barotropic velocity corrections
are readily calculated through (33)
and (34). Adding these velocity corrections to
yields the total horizontal velocity
components
at the end of the time step. The
vertical velocity component
is then determined at each
Z-level by the horizontal divergence of
through
the continuity equation (4).