_Discrete_Coriolis.dox

1/*! \page Discrete_Coriolis Discrete Coriolis Term
2
3\section Coriolis Coriolis Term
4In general, the discrete equations are written as simple difference equations
5based on the Arakawa C-grid as described in section \ref horizontal_grids.
6One of the more interesting exceptions is the Coriolis term. It is computed in the
7form shown in \eqref{eq:h-horz-momentum,h-equations,momentum}, or:
8
9\f[
10 \frac{( f + \zeta )}{h} \, \hat{\mathbf{z}} \times h \, \mathbf{u}
11\f]
12
13This term needs to be evaluated at \f$u\f$ points for the \f$v\f$ equation and
14vice versa, plus we need to keep the thickness, \f$h\f$, positive definite.
15MOM6 contains a number of options for how to compute this term.
16
17\li SADOURNY75_ENERGY Sadourny \cite sadourny1975 figured out how to
18conserve energy or enstrophy but not both. This option is energy conserving.
19The term in the \f$u\f$ equation becomes:
20\f[
21 \frac{1}{4 dx} \left( q_{i,j} (vh_{i+1,j} + vh_{i,j}) +
22 q_{i,j-1} (vh_{i+1,j-1} + vh_{i,j-1}) \right)
23\f]
24where \f$q = \frac{f + \zeta}{h}\f$ and \f$h\f$ is an area-weighted
25average of the four thicknesses surrounding the \f$q\f$ point, such that
26it is guaranteed to be positive definite.
27
28There is a variant on this scheme with the CORIOLIS_EN_DIS option. If true,
29two estimates of the thickness fluxes \f$vh\f$ are used to estimate the Coriolis
30term, and the one that dissipates energy relative to the other one
31is used.
32
33\li SADOURNY75_ENSTRO Also from \cite sadourny1975, this option is enstrophy
34conserving.
35\f[
36 \frac{1}{8 dx} ( q_{i,j} + q_{i,j-1} ) ((vh_{i+1,j} + vh_{i,j}) +
37 (vh_{i+1,j-1} + vh_{i,j-1}) )
38\f]
39
40\li ARAKAWA_LAMB81 From \cite arakawa1981 is a scheme which is both
41energy and enstrophy conserving. Its weaknesses are a large stencil and differing
42thickness stencils in the numerator and denominator.
43This scheme and several others (with differing values of \f$a,
44b, c, d\f$ and \f$ep\f$) are implemented as:
45\f{eqnarray}{
46 \frac{1}{dx} (a_{i,j} vh_{i+1,j} &+ b_{i,j} vh_{i,j} +
47 d_{i,j} vh_{i+1,j-1} + c_{i,j} vh_{i,j-1} \\
48 &+ ep_{i,j}*uh_{i-1,j} -
49 ep_{i+1,j}*uh_{i+1,j}) \label{eq:Coriolis_abcd}
50\f}
51with
52\f{eqnarray}{
53 a_{i,j} &= \frac{1}{24} (2.0*(q_{i+1,j} + q_{i,j-1}) + (q_{i,j} + q_{i+1,j-1})) \\
54 b_{i,j} &= \frac{1}{24} ((q_{i,j} + q_{i-1,j-1}) + 2.0*(q_{i-1,j} + q_{i,j-1})) \\
55 c_{i,j} &= \frac{1}{24} (2.0*(q_{i,j} + q_{i-1,j-1}) + (q_{i-1,j} + q_{i,j-1})) \\
56 d_{i,j} &= \frac{1}{24} ((q_{i+1,j} + q_{i,j-1}) + 2.0*(q_{i,j} + q_{i+1,j-1})) \\
57 ep_{i,j} &= \frac{1}{24}((q_{i,j} - q_{i-1,j-1}) + (q_{i-1,j} - q_{i,j-1}))
58\f}
59
60\li ARAKAWA_HSU90 From \cite arakawa1990 is a scheme which always conserves
61energy and conserves enstrophy in the limit of non-divergent flow. This one
62has a larger stencil than Sadourny's energy scheme, but it's much better behaved
63in terms of handling vanishing layers than Arakawa and Lamb.
64This scheme is implemented with:
65\f[
66 \frac{1}{dx} (a_{i,j} vh_{i+1,j} + b_{i,j} vh_{i,j} +
67 d_{i,j} vh_{i+1,j-1} + c_{i,j} vh_{i,j-1})
68\f]
69and
70\f{eqnarray}{
71 a_{i,j} &= \frac{1}{12} (q_{i,j} + (q_{i+1,j} + q_{i,j-1})) \\
72 b_{i,j} &= \frac{1}{12} (q_{i,j} + (q_{i-1,j} + q_{i,j-1})) \\
73 c_{i,j} &= \frac{1}{12} (q_{i,j} + (q_{i-1,j-1} + q_{i,j-1})) \\
74 d_{i,j} &= \frac{1}{12} (q_{i,j} + (q_{i+1,j-1} + q_{i,j-1}))
75\f}
76
77\li ARAKAWA_LAMB_BLEND This is a blending of Arakawa and Lamb, Arakawa and Hsu,
78and the Sadourny Energy scheme. There are weights CORIOLIS_BLEND_WT_LIN and
79CORIOLIS_BLEND_F_EFF_MAX to control this scheme. The equation is the same as for
80Arakawa and Lamb \eqref{eq:Coriolis_abcd}, but the values of \f$a, b, c, d\f$ and
81\f$ep\f$ differ when the pure Arakawa and Lamb scheme breaks down due to thickness
82variations.
83
84\li ROBUST_ENSTRO An enstrophy-conserving scheme which is robust to vanishing
85layers.
86
87Some of these options also support the BOUND_CORIOLIS flag. If true,
88the Coriolis terms in the \f$u\f$ equation are bounded by the four estimates of
89\f$\frac{(f+\zeta)}{h}vh\f$ from the four neighboring \f$v\f$ points, and
90similarly in the \f$v\f$ equation. This option would have no effect
91on the SADOURNY75_ENERGY scheme if it were possible to use centered
92difference thickness fluxes.
93
94Note, if BOUND_CORIOLIS is on, it will also turn on the
95BOUND_CORIOLIS_BIHARM option by default. This option uses a viscosity
96that increases with the square of the velocity shears, so that the
97resulting viscous drag is of comparable magnitude to the Coriolis
98terms when the velocity differences between adjacent grid points is
990.5*BOUND_CORIOLIS_VEL.
100
101\subsection Coriolis_BC Wall boundary conditions
102
103Two sets of boundary conditions have been coded in the
104definition of relative vorticity. These are written as:
105
106NOSLIP defined (in spherical coordinates):
107\f{eqnarray}{
108 \mbox{relvort} &= dv/dx \mbox{ (east $\&$ west)}, \mbox{ with } v = 0. \\
109 \mbox{relvort} &= -\sec(\phi) * d(u \cos(\phi))/dy \mbox{ (north $\&$
110 south)}, \mbox{ with } u = 0.
111\f}
112
113Free slip (NOSLIP not defined):
114\f[
115 \mbox{relvort} = 0 \mbox{ (all boundaries)}
116\f]
117
118with \f$\phi\f$ defined as latitude. The free slip boundary
119condition is much more natural on a C-grid.
120
121*/