_General_coordinate.dox

1/*! \page General_Coordinate Generalized vertical coordinate equations
2
3The ocean equations discretized by MOM6 are formulated using
4generalized vertical coordinates. Motivation for using generalized
5vertical coordinates, and a full accounting of the ocean equations
6written using these coordinates, can be found in Griffies, Adcroft and
7Hallberg (2020) \cite Griffies_Adcroft_Hallberg2020. Here we provide
8a brief summary.
9
10Consider a smooth function of space and time, \f$r(x,y,z,t)\f$, that
11has a single-signed and non-zero vertical derivative known as the
12specific thickness
13\f{align}
14 \partial z/\partial r = (\partial r/\partial z)^{-1} = \mbox{specific thickness.}
15\f}
16The specific thickness measures the inverse vertical stratification of
17the vertical coordinate surfaces. As so constrained, \f$r\f$ can
18uniquely prescribe a positiion in the vertical. Consequently, the
19ocean equations can be mapped one-to-one from geopotential vertical
20coordinates to generalized vertical coordinate. Upon transforming to
21\f$r\f$-coordinates, the material time derivative of \f$r\f$ appears
22throughout the equations, playing the role of a pseudo-vertical
23velocity, and we make use of the following shorthand for this
24derivative
25\f{align}
26\dot{r} = D_{t} r.
27\f}
28
29The Boussinesq hydrostatic ocean equations take the following form using
30generalized vertical coordinates (\f$r\f$-coordinates)
31\f{align}
32\label{html:r-equations}\notag \\
33\rho_o \left[
34 \partial_{t} \mathbf{u} + (f + \zeta) \, \hat{\mathbf{z}} \times \mathbf{u}
35 + \dot{r} \, \partial_{r} \mathbf{u} \right]
36 &= -\nabla_r \, (p + \rho_{o} \, K) -\rho \nabla_r \Phi + \rho_{o} \, \mathbf{\mathcal{F}}
37 &\mbox{horizontal momentum}
38\label{eq:r-horz-momentum}
39\\
40\rho \, \partial_{r} \Phi + \partial_{r}p
41 &= 0
42&\mbox{hydrostatic}
43\label{eq:r-hydrostatic-equation}
44\\
45 \partial_{t}( z_r)
46+ \nabla_r \cdot ( z_r \, \mathbf{u} )
47+ \partial_{r} ( z_r \, \dot{r} )
48&= 0
49&\mbox{specific thickness}
50\label{eq:r-non-divergence}
51\\
52 \partial_{t} ( \theta \, z_r )
53+ \nabla_r \cdot ( \theta z_r \, \mathbf{u} )
54+ \partial_{r} ( \theta \, z_r \, \dot{r} )
55&= z_r \mathbf{\mathcal{N}}_\theta^\gamma
56- \partial_{r} J_\theta^{(z)}
57&\mbox{potential/Conservative temp}
58\label{eq:r-temperature-equation}
59\\
60\partial_{t} ( S \, z_r)
61+ \nabla_r \cdot ( S \, z_r \, \mathbf{u} )
62+ \partial_{r} ( S \, z_r \, \dot{r} )
63&= z_r \mathbf{\mathcal{N}}_S^\gamma
64- \partial_{r} J_S^{(z)}
65&\mbox{salinity}
66\label{eq:r-salinity-equation}
67\\
68\rho &= \rho( S, \theta, -g \rho_0 z )
69&\mbox{equation of state.}
70\f}
71The time derivatives appearing in these equations are computed with
72the generalized vertical coordinate fixed rather than the
73geopotential. It is a common misconception that the horizontal
74velocity, \f$\mathbf{u}\f$, is rotated to align with constant \f$r\f$
75surfaces. Such is not the case. Rather, the horizontal velocity,
76\f$\mathbf{u}\f$, is precisely the same horizontal velocity used with
77geopotential coordinates. However, its evolution has here been
78formulated using generalized vertical coordinates.
79
80As a finite volume model, MOM6 is discretized in the vertical by
81integrating between surfaces of constant \f$r\f$. The layer thickness
82is a basic term appearing in these equations, which results from
83integrating the specific thickness over a layer
84\f{align}
85h = \int z_r \, \mathrm{d}r.
86\f}
87Correspondingly, the model variables are treated as finite volume
88averages over each layer, with full accounting of this finite volume
89approach presented in Griffies, Adcroft and Hallberg (2020)
90\cite Griffies_Adcroft_Hallberg2020, and with the semi-discrete model
91ocean model equations written as follows.
92\f{align}
93\rho_0
94\left[ \frac{\partial \mathbf{u}}{\partial t} + \frac{( f + \zeta )}{h} \,
95\hat{\mathbf{z}} \times h \, \mathbf{u} + \underbrace{ \dot{r} \,
96\frac{\partial \mathbf{u}}{\partial r} }
97\right]
98&= -\nabla_r \, (p + \rho_{0} \, K) -
99\rho \nabla_r \, \Phi + \mathbf{\mathcal{F}}
100&\mbox{horizontal momentum}
101\label{eq:h-horz-momentum}
102\\
103\rho \, \delta_r \Phi + \delta_r p
104&= 0
105&\mbox{hydrostatic}
106\label{eq:h-hydrostatic-equation}
107\\
108\frac{\partial h}{\partial t} + \nabla_r \cdot \left( h \, \mathbf{u} \right) +
109\underbrace{ \delta_r ( z_r \dot{r} ) }
110 &= 0
111&\mbox{thickness}
112\label{eq:h-thickness-equation}
113\\
114\frac{\partial ( \theta \, h )}{\partial t} + \nabla_r \cdot \left( \theta h \,
115\mathbf{u} \right) + \underbrace{ \delta_r ( \theta \, z_r \dot{r} ) }
116&=
117h \mathbf{\mathcal{N}}_\theta^\gamma - \delta_r J_\theta^{(z)}
118&\mbox{potential/Conservative temp}
119\label{eq:h-temperature-equation}
120\\
121\frac{\partial ( S \, h )}{\partial t} + \nabla_r \cdot \left( S \, h \,
122\mathbf{u} \right) + \underbrace{ \delta_r ( S \, z_r \dot{r} ) }
123&=
124h \mathbf{\mathcal{N}}_S^\gamma - \delta_r J_S^{(z)}
125&\mbox{salinity}
126\label{eq:h-salinity-equation}
127\\
128\rho &= \rho\left( S, \theta, -g \rho_0 z(r) \right)
129&\mbox{equation of state,} \label{eq:h-equation-of-state}
130\f}
131where
132\f{align}
133\delta_{r} = \mathrm{d}r \, (\partial/\partial r)
134\f}
135is the discrete vertical difference operator. The pressure gradient
136accelerations in the momentum equation are written in
137continuous-in-the-vertical form for brevity; the exact discretization
138is detailed in \cite adcroft2008 and
139\cite Griffies_Adcroft_Hallberg2020. The \f$1/h\f$ and \f$h\f$ appearing in
140the horizontal momentum equation are carefully handled in the code to
141ensure proper cancellation even when the layer thickness goes to zero
142i.e., l'Hospital's rule is respected.
143
144The MOM6 time-stepping algorithm integrates the above layer-averaged
145equations forward in time allowing the vertical grid to follow the
146motion, i.e. \f$\dot{r}=0\f$, so that the underbraced terms are
147dropped. This approach is generally known as a Lagrangian method, with
148the Lagrangian approach in MOM6 limited to the vertical
149direction. After each Lagrangian step, a regrid step is applied that
150generates a new vertical grid of the user's choosing. The ocean state
151is then remapped from the old to the new grid. The physical state is
152not meant to change during the remap step, yet truncation errors make
153remapping imperfect. We employ high-order accurate reconstructions to
154minimize errors introduced during the remap step (\cite white2008,
155\cite white2009). The connection between time-stepping and remapping
156is described in section \ref ALE_Timestep.
157
158*/