/[MITgcm]/manual/s_algorithm/text/spatial-discrete.tex
ViewVC logotype

Contents of /manual/s_algorithm/text/spatial-discrete.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1.1.1 - (show annotations) (download) (as text) (vendor branch)
Wed Aug 8 16:15:21 2001 UTC (23 years, 10 months ago) by adcroft
Branch: dummy
CVS Tags: Import
Changes since 1.1: +0 -0 lines
File MIME type: application/x-tex
Importing model documentation into CVS

1 % $Header: $
2 % $Name: $
3
4 \section{Spatial discretization of the dynamical equations}
5
6 \subsection{C grid staggering of variables}
7
8 \begin{figure}
9 \centerline{ \resizebox{!}{2in}{ \includegraphics{part2/cgrid3d.eps}} }
10 \label{fig-cgrid3d}
11 \caption{Three dimensional staggering of velocity components. This
12 facilitates the natural discretization of the continuity and tracer
13 equations. }
14 \end{figure}
15
16 \subsection{Horizontal grid}
17
18 \begin{figure}
19 \centerline{ \begin{tabular}{cc}
20 \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Ac.eps}}
21 & \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Az.eps}}
22 \\
23 \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Au.eps}}
24 & \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Av.eps}}
25 \end{tabular} }
26 \label{fig-hgrid}
27 \caption{Three dimensional staggering of velocity components. This
28 facilitates the natural discretization of the continuity and tracer
29 equations. }
30 \end{figure}
31
32 \subsection{Vertical grid}
33
34 \begin{figure}
35 \centerline{ \begin{tabular}{cc}
36 \raisebox{4in}{a)}
37 \resizebox{!}{4in}{ \includegraphics{part2/vgrid-cellcentered.eps}}
38 &
39 \raisebox{4in}{b)}
40 \resizebox{!}{4in}{ \includegraphics{part2/vgrid-accurate.eps}}
41 \end{tabular} }
42 \label{fig-vgrid}
43 \caption{Two versions of the vertical grid. a) The cell centered
44 approach where the interface depths are specified and the tracer
45 points centered in between the interfaces. b) The interface centered
46 approach where tracer levels are specified and the w-interfaces are
47 centered in between.}
48 \end{figure}
49
50
51 \subsection{Continuity and horizontal pressure gradient terms}
52
53 The core algorithm is based on the ``C grid'' discretization of the
54 continuity equation which can be summarized as:
55 \begin{eqnarray}
56 \partial_t u + \frac{1}{\Delta x_c} \delta_i \left. \frac{ \partial \Phi}{\partial r}\right|_{s} \eta + \frac{\epsilon_{nh}}{\Delta x_c} \delta_i \Phi_{nh}' & = & G_u - \frac{1}{\Delta x_c} \delta_i \Phi_h' \\
57 \partial_t v + \frac{1}{\Delta y_c} \delta_j \left. \frac{ \partial \Phi}{\partial r}\right|_{s} \eta + \frac{\epsilon_{nh}}{\Delta y_c} \delta_j \Phi_{nh}' & = & G_v - \frac{1}{\Delta y_c} \delta_j \Phi_h' \\
58 \epsilon_{nh} \left( \partial_t w + \frac{1}{\Delta r_c} \delta_k \Phi_{nh}' \right) & = & \epsilon_{nh} G_w + \overline{b}^k - \frac{1}{\Delta r_c} \delta_k \Phi_{h}' \\
59 \delta_i \Delta y_g \Delta r_f h_w u +
60 \delta_j \Delta x_g \Delta r_f h_s v +
61 \delta_k {\cal A}_c w & = & {\cal A}_c \delta_k (P-E)_{r=0}
62 \end{eqnarray}
63 where the continuity equation has been most naturally discretized by
64 staggering the three components of velocity as shown in
65 Fig.~\ref{fig-cgrid3d}. The grid lengths $\Delta x_c$ and $\Delta y_c$
66 are the lengths between tracer points (cell centers). The grid lengths
67 $\Delta x_g$, $\Delta y_g$ are the grid lengths between cell
68 corners. $\Delta r_f$ and $\Delta r_c$ are the distance (in units of
69 $r$) between level interfaces (w-level) and level centers (tracer
70 level). The surface area presented in the vertical is denoted ${\cal
71 A}_c$. The factors $h_w$ and $h_s$ are non-dimensional fractions
72 (between 0 and 1) that represent the fraction cell depth that is
73 ``open'' for fluid flow.
74 \marginpar{$h_w$: {\bf hFacW}}
75 \marginpar{$h_s$: {\bf hFacS}}
76
77 The last equation, the discrete continuity equation, can be summed in
78 the vertical to yeild the free-surface equation:
79 \begin{equation}
80 {\cal A}_c \partial_t \eta + \delta_i \sum_k \Delta y_g \Delta r_f h_w u + \delta_j \sum_k \Delta x_g \Delta r_f h_s v =
81 {\cal A}_c(P-E)_{r=0}
82 \end{equation}
83 The source term $P-E$ on the rhs of continuity accounts for the local
84 addition of volume due to excess precipitation and run-off over
85 evaporation and only enters the top-level of the {\em ocean} model.
86
87 \subsection{Hydrostatic balance}
88
89 The vertical momentum equation has the hydrostatic or
90 quasi-hydrostatic balance on the right hand side. This discretization
91 guarantees that the conversion of potential to kinetic energy as
92 derived from the buoyancy equation exactly matches the form derived
93 from the pressure gradient terms when forming the kinetic energy
94 equation.
95
96 In the ocean, using z-ccordinates, the hydrostatic balance terms are
97 discretized:
98 \begin{equation}
99 \epsilon_{nh} \partial_t w
100 + g \overline{\rho'}^k + \frac{1}{\Delta z} \delta_k \Phi_h' = \ldots
101 \end{equation}
102
103 In the atmosphere, using p-coordinates, hydrostatic balance is
104 discretized:
105 \begin{equation}
106 \overline{\theta'}^k + \frac{1}{\Delta \Pi} \delta_k \Phi_h' = 0
107 \end{equation}
108 where $\Delta \Pi$ is the difference in Exner function between the
109 pressure points. The non-hydrostatic equations are not available in
110 the atmosphere.
111
112 The difference in approach between ocean and atmosphere occurs because
113 of the direct use of the ideal gas equation in forming the potential
114 energy conversion term $\alpha \omega$. The form of these consversion
115 terms is discussed at length in \cite{Adcroft01}.
116
117 Because of the different representation of hydrostatic balance between
118 ocean and atmosphere there is no elegant way to represent both systems
119 using an arbitrary coordinate.
120
121 The integration for hydrostatic pressure is made in the positive $r$
122 direction (increasing k-index). For the ocean, this is from the
123 free-surface down and for the atmosphere this is from the ground up.
124
125 The calculations are made in the subroutine {\em
126 CALC\_PHI\_HYD}. Inside this routine, one of other of the
127 atmospheric/oceanic form is selected based on the string variable {\bf
128 buoyancyRelation}.
129
130 \subsection{Flux-form momentum equations}
131
132 The original finite volume model was based on the Eulerian flux form
133 momentum equations. This is the default though the vector invariant
134 form is optionally available (and recommended in some cases).
135
136 The ``G's'' (our colloquial name for all terms on rhs!) are broken
137 into the various advective, Coriolis, horizontal dissipation, vertical
138 dissipation and metric forces:
139 \marginpar{$G_u$: {\bf Gu} }
140 \marginpar{$G_v$: {\bf Gv} }
141 \marginpar{$G_w$: {\bf Gw} }
142 \begin{eqnarray}
143 G_u & = & G_u^{adv} + G_u^{cor} + G_u^{h-diss} + G_u^{v-diss} +
144 G_u^{metric} + G_u^{nh-metric} \\
145 G_v & = & G_v^{adv} + G_v^{cor} + G_v^{h-diss} + G_v^{v-diss} +
146 G_v^{metric} + G_v^{nh-metric} \\
147 G_w & = & G_w^{adv} + G_w^{cor} + G_w^{h-diss} + G_w^{v-diss} +
148 G_w^{metric} + G_w^{nh-metric}
149 \end{eqnarray}
150 In the hydrostatic limit, $G_w=0$ and $\epsilon_{nh}=0$, reducing the
151 vertical momentum to hydrostatic balance.
152
153 These terms are calculated in routines called from subroutine {\em
154 CALC\_MOM\_RHS} a collected into the global arrays {\bf Gu}, {\bf Gv},
155 and {\bf Gw}.
156
157 \fbox{ \begin{minipage}{4.25in}
158 {\em S/R CALC\_MOM\_RHS} ({\em pkg/mom\_fluxform/calc\_mom\_rhs.F})
159
160 $G_u$: {\bf Gu} ({\em DYNVARS.h})
161
162 $G_v$: {\bf Gv} ({\em DYNVARS.h})
163
164 $G_w$: {\bf Gw} ({\em DYNVARS.h})
165 \end{minipage} }
166
167
168 \subsubsection{Advection of momentum}
169
170 The advective operator is second order accurate in space:
171 \begin{eqnarray}
172 {\cal A}_w \Delta r_f h_w G_u^{adv} & = &
173 \delta_i \overline{ U }^i \overline{ u }^i
174 + \delta_j \overline{ V }^i \overline{ u }^j
175 + \delta_k \overline{ W }^i \overline{ u }^k \\
176 {\cal A}_s \Delta r_f h_s G_v^{adv} & = &
177 \delta_i \overline{ U }^j \overline{ v }^i
178 + \delta_j \overline{ V }^j \overline{ v }^j
179 + \delta_k \overline{ W }^j \overline{ v }^k \\
180 {\cal A}_c \Delta r_c G_w^{adv} & = &
181 \delta_i \overline{ U }^k \overline{ w }^i
182 + \delta_j \overline{ V }^k \overline{ w }^j
183 + \delta_k \overline{ W }^k \overline{ w }^k \\
184 \end{eqnarray}
185 and because of the flux form does not contribute to the global budget
186 of linear momentum. The quantities $U$, $V$ and $W$ are volume fluxes
187 defined:
188 \marginpar{$U$: {\bf uTrans} }
189 \marginpar{$V$: {\bf vTrans} }
190 \marginpar{$W$: {\bf rTrans} }
191 \begin{eqnarray}
192 U & = & \Delta y_g \Delta r_f h_w u \\
193 V & = & \Delta x_g \Delta r_f h_s v \\
194 W & = & {\cal A}_c w
195 \end{eqnarray}
196 The advection of momentum takes the same form as the advection of
197 tracers but by a translated advective flow. Consequently, the
198 conservation of second moments, derived for tracers later, applies to
199 $u^2$ and $v^2$ and $w^2$ so that advection of momentum correctly
200 conserves kinetic energy.
201
202 \fbox{ \begin{minipage}{4.25in}
203 {\em S/R MOM\_U\_ADV\_UU} ({\em mom\_u\_adv\_uu.F})
204
205 {\em S/R MOM\_U\_ADV\_VU} ({\em mom\_u\_adv\_vu.F})
206
207 {\em S/R MOM\_U\_ADV\_WU} ({\em mom\_u\_adv\_wu.F})
208
209 {\em S/R MOM\_U\_ADV\_UV} ({\em mom\_u\_adv\_uv.F})
210
211 {\em S/R MOM\_U\_ADV\_VV} ({\em mom\_u\_adv\_vv.F})
212
213 {\em S/R MOM\_U\_ADV\_WV} ({\em mom\_u\_adv\_wv.F})
214
215 $uu$, $uv$, $vu$, $vv$: {\bf aF} (local to {\em calc\_mom\_rhs.F})
216 \end{minipage} }
217
218
219
220 \subsubsection{Coriolis terms}
221
222 The ``pure C grid'' Coriolis terms (i.e. in absence of C-D scheme) are
223 discretized:
224 \begin{eqnarray}
225 {\cal A}_w \Delta r_f h_w G_u^{Cor} & = &
226 \overline{ f {\cal A}_c \Delta r_f h_c \overline{ v }^j }^i
227 - \epsilon_{nh} \overline{ f' {\cal A}_c \Delta r_f h_c \overline{ w }^k }^i \\
228 {\cal A}_s \Delta r_f h_s G_v^{Cor} & = &
229 - \overline{ f {\cal A}_c \Delta r_f h_c \overline{ u }^i }^j \\
230 {\cal A}_c \Delta r_c G_w^{Cor} & = &
231 \epsilon_{nh} \overline{ f' {\cal A}_c \Delta r_f h_c \overline{ u }^i }^k
232 \end{eqnarray}
233 where the Coriolis parameters $f$ and $f'$ are defined:
234 \begin{eqnarray}
235 f & = & 2 \Omega \sin{\phi} \\
236 f' & = & 2 \Omega \cos{\phi}
237 \end{eqnarray}
238 when using spherical geometry, otherwise the $\beta$-plane definition is used:
239 \begin{eqnarray}
240 f & = & f_o + \beta y \\
241 f' & = & 0
242 \end{eqnarray}
243
244 This discretization globally conserves kinetic energy. It should be
245 noted that despite the use of this discretization in former
246 publications, all calculations to date have used the following
247 different discretization:
248 \begin{eqnarray}
249 G_u^{Cor} & = &
250 f_u \overline{ v }^{ji}
251 - \epsilon_{nh} f_u' \overline{ w }^{ik} \\
252 G_v^{Cor} & = &
253 - f_v \overline{ u }^{ij} \\
254 G_w^{Cor} & = &
255 \epsilon_{nh} f_w' \overline{ u }^{ik}
256 \end{eqnarray}
257 \marginpar{Need to change the default in code to match this}
258 where the subscripts on $f$ and $f'$ indicate evaluation of the
259 Coriolis parameters at the appropriate points in space. The above
260 discretization does {\em not} conserve anything, especially energy. An
261 option to recover this discretization has been retained for backward
262 compatibility testing (set run-time logical {\bf
263 useNonconservingCoriolis} to {\em true} which otherwise defaults to
264 {\em false}).
265
266 \fbox{ \begin{minipage}{4.25in}
267 {\em S/R MOM\_CDSCHEME} ({\em mom\_cdscheme.F})
268
269 {\em S/R MOM\_U\_CORIOLIS} ({\em mom\_u\_coriolis.F})
270
271 {\em S/R MOM\_V\_CORIOLIS} ({\em mom\_v\_coriolis.F})
272
273 $G_u^{Cor}$, $G_v^{Cor}$: {\bf cF} (local to {\em calc\_mom\_rhs.F})
274 \end{minipage} }
275
276
277 \subsubsection{Curvature metric terms}
278
279 The most commonly used coordinate system on the sphere is the
280 geographic system $(\lambda,\phi)$. The curvilinear nature of these
281 coordinates on the sphere lead to some ``metric'' terms in the
282 component momentum equations. Under the thin-atmosphere and
283 hydrostatic approximations these terms are discretized:
284 \begin{eqnarray}
285 {\cal A}_w \Delta r_f h_w G_u^{metric} & = &
286 \overline{ \frac{ \overline{u}^i }{a} \tan{\phi} {\cal A}_c \Delta r_f h_c \overline{ v }^j }^i \\
287 {\cal A}_s \Delta r_f h_s G_v^{metric} & = &
288 - \overline{ \frac{ \overline{u}^i }{a} \tan{\phi} {\cal A}_c \Delta r_f h_c \overline{ u }^i }^j \\
289 G_w^{metric} & = & 0
290 \end{eqnarray}
291 where $a$ is the radius of the planet (sphericity is assumed) or the
292 radial distance of the particle (i.e. a function of height). It is
293 easy to see that this discretization satisfies all the properties of
294 the discrete Coriolis terms since the metric factor $\frac{u}{a}
295 \tan{\phi}$ can be viewed as a modification of the vertical Coriolis
296 parameter: $f \rightarrow f+\frac{u}{a} \tan{\phi}$.
297
298 However, as for the Coriolis terms, a non-energy conserving form has
299 exclusively been used to date:
300 \begin{eqnarray}
301 G_u^{metric} & = & \frac{u \overline{v}^{ij} }{a} \tan{\phi} \\
302 G_v^{metric} & = & \frac{ \overline{u}^{ij} \overline{u}^{ij}}{a} \tan{\phi}
303 \end{eqnarray}
304 where $\tan{\phi}$ is evaluated at the $u$ and $v$ points
305 respectively.
306
307 \fbox{ \begin{minipage}{4.25in}
308 {\em S/R MOM\_U\_METRIC\_SPHERE} ({\em mom\_u\_metric\_sphere.F})
309
310 {\em S/R MOM\_V\_METRIC\_SPHERE} ({\em mom\_v\_metric\_sphere.F})
311
312 $G_u^{metric}$, $G_v^{metric}$: {\bf mT} (local to {\em calc\_mom\_rhs.F})
313 \end{minipage} }
314
315
316
317 \subsubsection{Non-hydrostatic metric terms}
318
319 For the non-hydrostatic equations, dropping the thin-atmosphere
320 approximation re-introduces metric terms involving $w$ and are
321 required to conserve anglular momentum:
322 \begin{eqnarray}
323 {\cal A}_w \Delta r_f h_w G_u^{metric} & = &
324 - \overline{ \frac{ \overline{u}^i \overline{w}^k }{a} {\cal A}_c \Delta r_f h_c }^i \\
325 {\cal A}_s \Delta r_f h_s G_v^{metric} & = &
326 - \overline{ \frac{ \overline{v}^j \overline{w}^k }{a} {\cal A}_c \Delta r_f h_c}^j \\
327 {\cal A}_c \Delta r_c G_w^{metric} & = &
328 \overline{ \frac{ {\overline{u}^i}^2 + {\overline{v}^j}^2}{a} {\cal A}_c \Delta r_f h_c }^k
329 \end{eqnarray}
330
331 Because we are always consistent, even if consistently wrong, we have,
332 in the past, used a different discretization in the model which is:
333 \begin{eqnarray}
334 G_u^{metric} & = &
335 - \frac{u}{a} \overline{w}^{ik} \\
336 G_v^{metric} & = &
337 - \frac{v}{a} \overline{w}^{jk} \\
338 G_w^{metric} & = &
339 \frac{1}{a} ( {\overline{u}^{ik}}^2 + {\overline{v}^{jk}}^2 )
340 \end{eqnarray}
341
342 \fbox{ \begin{minipage}{4.25in}
343 {\em S/R MOM\_U\_METRIC\_NH} ({\em mom\_u\_metric\_nh.F})
344
345 {\em S/R MOM\_V\_METRIC\_NH} ({\em mom\_v\_metric\_nh.F})
346
347 $G_u^{metric}$, $G_v^{metric}$: {\bf mT} (local to {\em calc\_mom\_rhs.F})
348 \end{minipage} }
349
350
351 \subsubsection{Lateral dissipation}
352
353 Historically, we have represented the SGS Reynolds stresses as simply
354 down gradient momentum fluxes, ignoring constraints on the stress
355 tensor such as symmetry.
356 \begin{eqnarray}
357 {\cal A}_w \Delta r_f h_w G_u^{h-diss} & = &
358 \delta_i \Delta y_f \Delta r_f h_c \tau_{11}
359 + \delta_j \Delta x_v \Delta r_f h_\zeta \tau_{12} \\
360 {\cal A}_s \Delta r_f h_s G_v^{h-diss} & = &
361 \delta_i \Delta y_u \Delta r_f h_\zeta \tau_{21}
362 + \delta_j \Delta x_f \Delta r_f h_c \tau_{22}
363 \end{eqnarray}
364 \marginpar{Check signs of stress definitions}
365
366 The lateral viscous stresses are discretized:
367 \begin{eqnarray}
368 \tau_{11} & = & A_h c_{11\Delta}(\phi) \frac{1}{\Delta x_f} \delta_i u
369 -A_4 c_{11\Delta^2}(\phi) \frac{1}{\Delta x_f} \delta_i \nabla^2 u \\
370 \tau_{12} & = & A_h c_{12\Delta}(\phi) \frac{1}{\Delta y_u} \delta_j u
371 -A_4 c_{12\Delta^2}(\phi)\frac{1}{\Delta y_u} \delta_j \nabla^2 u \\
372 \tau_{21} & = & A_h c_{21\Delta}(\phi) \frac{1}{\Delta x_v} \delta_i v
373 -A_4 c_{21\Delta^2}(\phi) \frac{1}{\Delta x_v} \delta_i \nabla^2 v \\
374 \tau_{22} & = & A_h c_{22\Delta}(\phi) \frac{1}{\Delta y_f} \delta_j v
375 -A_4 c_{22\Delta^2}(\phi) \frac{1}{\Delta y_f} \delta_j \nabla^2 v
376 \end{eqnarray}
377 where the non-dimensional factors $c_{lm\Delta^n}(\phi), \{l,m,n\} \in
378 \{1,2\}$ define the ``cosine'' scaling with latitude which can be
379 applied in various ad-hoc ways. For instance, $c_{11\Delta} =
380 c_{21\Delta} = (\cos{\phi})^{3/2}$, $c_{12\Delta}=c_{22\Delta}=0$ would
381 represent the an-isotropic cosine scaling typically used on the
382 ``lat-lon'' grid for Laplacian viscosity.
383 \marginpar{Need to tidy up method for controlling this in code}
384
385 It should be noted that dispite the ad-hoc nature of the scaling, some
386 scaling must be done since on a lat-lon grid the converging meridians
387 make it very unlikely that a stable viscosity parameter exists across
388 the entire model domain.
389
390 The Laplacian viscosity coefficient, $A_h$ ({\bf viscAh}), has units
391 of $m^2 s^{-1}$. The bi-harmonic viscosity coefficient, $A_4$ ({\bf
392 viscA4}), has units of $m^4 s^{-1}$.
393
394 \fbox{ \begin{minipage}{4.25in}
395 {\em S/R MOM\_U\_XVISCFLUX} ({\em mom\_u\_xviscflux.F})
396
397 {\em S/R MOM\_U\_YVISCFLUX} ({\em mom\_u\_yviscflux.F})
398
399 {\em S/R MOM\_V\_XVISCFLUX} ({\em mom\_v\_xviscflux.F})
400
401 {\em S/R MOM\_V\_YVISCFLUX} ({\em mom\_v\_yviscflux.F})
402
403 $\tau_{11}$, $\tau_{12}$, $\tau_{22}$, $\tau_{22}$: {\bf vF}, {\bf
404 v4F} (local to {\em calc\_mom\_rhs.F})
405 \end{minipage} }
406
407 Two types of lateral boundary condition exist for the lateral viscous
408 terms, no-slip and free-slip.
409
410 The free-slip condition is most convenient to code since it is
411 equivalent to zero-stress on boundaries. Simple masking of the stress
412 components sets them to zero. The fractional open stress is properly
413 handled using the lopped cells.
414
415 The no-slip condition defines the normal gradient of a tangential flow
416 such that the flow is zero on the boundary. Rather than modify the
417 stresses by using complicated functions of the masks and ``ghost''
418 points (see \cite{Adcroft+Marshall98}) we add the boundary stresses as
419 an additional source term in cells next to solid boundaries. This has
420 the advantage of being able to cope with ``thin walls'' and also makes
421 the interior stress calculation (code) independent of the boundary
422 conditions. The ``body'' force takes the form:
423 \begin{eqnarray}
424 G_u^{side-drag} & = &
425 \frac{4}{\Delta z_f} \overline{ (1-h_\zeta) \frac{\Delta x_v}{\Delta y_u} }^j
426 \left( A_h c_{12\Delta}(\phi) u - A_4 c_{12\Delta^2}(\phi) \nabla^2 u \right)
427 \\
428 G_v^{side-drag} & = &
429 \frac{4}{\Delta z_f} \overline{ (1-h_\zeta) \frac{\Delta y_u}{\Delta x_v} }^i
430 \left( A_h c_{21\Delta}(\phi) v - A_4 c_{21\Delta^2}(\phi) \nabla^2 v \right)
431 \end{eqnarray}
432
433 In fact, the above discretization is not quite complete because it
434 assumes that the bathymetry at velocity points is deeper than at
435 neighbouring vorticity points, e.g. $1-h_w < 1-h_\zeta$
436
437 \fbox{ \begin{minipage}{4.25in}
438 {\em S/R MOM\_U\_SIDEDRAG} ({\em mom\_u\_sidedrag.F})
439
440 {\em S/R MOM\_V\_SIDEDRAG} ({\em mom\_v\_sidedrag.F})
441
442 $G_u^{side-drag}$, $G_v^{side-drag}$: {\bf vF} (local to {\em calc\_mom\_rhs.F})
443 \end{minipage} }
444
445
446 \subsubsection{Vertical dissipation}
447
448 Vertical viscosity terms are discretized with only partial adherence
449 to the variable grid lengths introduced by the finite volume
450 formulation. This reduces the formal accuracy of these terms to just
451 first order but only next to boundaries; exactly where other terms
452 appear such as linar and quadratic bottom drag.
453 \begin{eqnarray}
454 G_u^{v-diss} & = &
455 \frac{1}{\Delta r_f h_w} \delta_k \tau_{13} \\
456 G_v^{v-diss} & = &
457 \frac{1}{\Delta r_f h_s} \delta_k \tau_{23} \\
458 G_w^{v-diss} & = & \epsilon_{nh}
459 \frac{1}{\Delta r_f h_d} \delta_k \tau_{33}
460 \end{eqnarray}
461 represents the general discrete form of the vertical dissipation terms.
462
463 In the interior the vertical stresses are discretized:
464 \begin{eqnarray}
465 \tau_{13} & = & A_v \frac{1}{\Delta r_c} \delta_k u \\
466 \tau_{23} & = & A_v \frac{1}{\Delta r_c} \delta_k v \\
467 \tau_{33} & = & A_v \frac{1}{\Delta r_f} \delta_k w
468 \end{eqnarray}
469 It should be noted that in the non-hydrostatic form, the stress tensor
470 is even less consistent than for the hydrostatic (see Wazjowicz
471 \cite{Waojz}). It is well known how to do this properly (see Griffies
472 \cite{Griffies}) and is on the list of to-do's.
473
474 \fbox{ \begin{minipage}{4.25in}
475 {\em S/R MOM\_U\_RVISCLFUX} ({\em mom\_u\_rviscflux.F})
476
477 {\em S/R MOM\_V\_RVISCLFUX} ({\em mom\_v\_rviscflux.F})
478
479 $\tau_{13}$: {\bf urf} (local to {\em calc\_mom\_rhs.F})
480
481 $\tau_{23}$: {\bf vrf} (local to {\em calc\_mom\_rhs.F})
482 \end{minipage} }
483
484
485 As for the lateral viscous terms, the free-slip condition is
486 equivalent to simply setting the stress to zero on boundaries. The
487 no-slip condition is implemented as an additional term acting on top
488 of the interior and free-slip stresses. Bottom drag represents
489 additional friction, in addition to that imposed by the no-slip
490 condition at the bottom. The drag is cast as a stress expressed as a
491 linear or quadratic function of the mean flow in the layer above the
492 topography:
493 \begin{eqnarray}
494 \tau_{13}^{bottom-drag} & = &
495 \left(
496 2 A_v \frac{1}{\Delta r_c}
497 + r_b
498 + C_d \sqrt{ \overline{2 KE}^i }
499 \right) u \\
500 \tau_{23}^{bottom-drag} & = &
501 \left(
502 2 A_v \frac{1}{\Delta r_c}
503 + r_b
504 + C_d \sqrt{ \overline{2 KE}^j }
505 \right) v
506 \end{eqnarray}
507 where these terms are only evaluated immediately above topography.
508 $r_b$ ({\bf bottomDragLinear}) has units of $m s^{-1}$ and a typical value
509 of the order 0.0002 $m s^{-1}$. $C_d$ ({\bf bottomDragQuadratic}) is
510 dimensionless with typical values in the range 0.001--0.003.
511
512 \fbox{ \begin{minipage}{4.25in}
513 {\em S/R MOM\_U\_BOTTOMDRAG} ({\em mom\_u\_bottomdrag.F})
514
515 {\em S/R MOM\_V\_BOTTOMDRAG} ({\em mom\_v\_bottomdrag.F})
516
517 $\tau_{13}^{bottom-drag}$, $\tau_{23}^{bottom-drag}$: {\bf vf} (local to {\em calc\_mom\_rhs.F})
518 \end{minipage} }
519
520
521
522
523
524 \subsection{Tracer equations}
525
526 The tracer equations are discretized consistantly with the continuity
527 equation to facilitate conservation properties analogous to the
528 continuum:
529 \begin{equation}
530 {\cal A}_c \Delta r_f h_c \partial_\theta
531 + \delta_i U \overline{ \theta }^i
532 + \delta_j V \overline{ \theta }^j
533 + \delta_k W \overline{ \theta }^k
534 = {\cal A}_c \Delta r_f h_c {\cal S}_\theta + \theta {\cal A}_c \delta_k (P-E)_{r=0}
535 \end{equation}
536 The quantities $U$, $V$ and $W$ are volume fluxes defined:
537 \marginpar{$U$: {\bf uTrans} }
538 \marginpar{$V$: {\bf vTrans} }
539 \marginpar{$W$: {\bf rTrans} }
540 \begin{eqnarray}
541 U & = & \Delta y_g \Delta r_f h_w u \\
542 V & = & \Delta x_g \Delta r_f h_s v \\
543 W & = & {\cal A}_c w
544 \end{eqnarray}
545 ${\cal S}$ represents the ``parameterized'' SGS processes and
546 physics associated with the tracer. For instance, potential
547 temperature equation in the ocean has is forced by surface and
548 partially penetrating heat fluxes:
549 \begin{equation}
550 {\cal A}_c \Delta r_f h_c {\cal S}_\theta = \frac{1}{c_p \rho_o} \delta_k {\cal A}_c {\cal Q}
551 \end{equation}
552 while the salt equation has no real sources, ${\cal S}=0$, which
553 leaves just the $P-E$ term.
554
555 The continuity equation can be recovered by setting ${\cal Q}=0$ and
556 $\theta=1$. The term $\theta (P-E)_{r=0}$ is required to retain local
557 conservation of $\theta$. Global conservation is not possible using
558 the flux-form (as here) and a linearized free-surface
559 (\cite{Griffies00,Campin02}).
560
561
562
563
564 \subsection{Derivation of discrete energy conservation}
565
566 These discrete equations conserve kinetic plus potential energy using the
567 following definitions:
568 \begin{equation}
569 KE = \frac{1}{2} \left( \overline{ u^2 }^i + \overline{ v^2 }^j +
570 \epsilon_{nh} \overline{ w^2 }^k \right)
571 \end{equation}
572
573
574 \subsection{Vector invariant momentum equations}
575
576 The finite volume method lends itself to describing the continuity and
577 tracer equations in curvilinear coordinate systems but the appearance
578 of new metric terms in the flux-form momentum equations makes
579 generalizing them far from elegant. The vector invariant form of the
580 momentum equations are exactly that; invariant under coordinate
581 transformations.
582
583 The non-hydrostatic vector invariant equations read:
584 \begin{equation}
585 \partial_t \vec{v} + ( 2\vec{\Omega} + \vec{\zeta}) \wedge \vec{v}
586 - b \hat{r}
587 + \vec{\nabla} B = \vec{\nabla} \cdot \vec{\bf \tau}
588 \end{equation}
589 which describe motions in any orthogonal curvilinear coordinate
590 system. Here, $B$ is the Bernoulli function and $\vec{\zeta}=\nabla
591 \wedge \vec{v}$ is the vorticity vector. We can take advantage of the
592 elegance of these equations when discretizing them and use the
593 discrete definitions of the grad, curl and divergence operators to
594 satisfy constraints. We can also consider the analogy to forming
595 derived equations, such as the vorticity equation, and examine how the
596 discretization can be adjusted to give suitable vorticity advection
597 among other things.
598
599 The underlying algorithm is the same as for the flux form
600 equations. All that has changed is the contents of the ``G's''. For
601 the time-being, only the hydrostatic terms have been coded but we will
602 indicate the points where non-hydrostatic contributions will enter:
603 \begin{eqnarray}
604 G_u & = & G_u^{fv} + G_u^{\zeta_3 v} + G_u^{\zeta_2 w} + G_u^{\partial_x B}
605 + G_u^{\partial_z \tau^x} + G_u^{h-dissip} + G_u^{v-dissip} \\
606 G_v & = & G_v^{fu} + G_v^{\zeta_3 u} + G_v^{\zeta_1 w} + G_v^{\partial_y B}
607 + G_v^{\partial_z \tau^y} + G_v^{h-dissip} + G_v^{v-dissip} \\
608 G_w & = & G_w^{fu} + G_w^{\zeta_1 v} + G_w^{\zeta_2 u} + G_w^{\partial_z B}
609 + G_w^{h-dissip} + G_w^{v-dissip}
610 \end{eqnarray}
611
612 \fbox{ \begin{minipage}{4.25in}
613 {\em S/R CALC\_MOM\_RHS} ({\em pkg/mom\_vecinv/calc\_mom\_rhs.F})
614
615 $G_u$: {\bf Gu} ({\em DYNVARS.h})
616
617 $G_v$: {\bf Gv} ({\em DYNVARS.h})
618
619 $G_w$: {\bf Gw} ({\em DYNVARS.h})
620 \end{minipage} }
621
622 \subsubsection{Relative vorticity}
623
624 The vertical component of relative vorticity is explicitly calculated
625 and use in the discretization. The particular form is crucial for
626 numerical stablility; alternative definitions break the conservation
627 properties of the discrete equations.
628
629 Relative vorticity is defined:
630 \begin{equation}
631 \zeta_3 = \frac{\Gamma}{A_\zeta}
632 = \frac{1}{{\cal A}_\zeta} ( \delta_i \Delta y_c v - \delta_j \Delta x_c u )
633 \end{equation}
634 where ${\cal A}_\zeta$ is the area of the vorticity cell presented in
635 the vertical and $\Gamma$ is the circulation about that cell.
636
637 \fbox{ \begin{minipage}{4.25in}
638 {\em S/R MOM\_VI\_CALC\_RELVORT3} ({\em mom\_vi\_calc\_relvort3.F})
639
640 $\zeta_3$: {\bf vort3} (local to {\em calc\_mom\_rhs.F})
641 \end{minipage} }
642
643
644 \subsubsection{Kinetic energy}
645
646 The kinetic energy, denoted $KE$, is defined:
647 \begin{equation}
648 KE = \frac{1}{2} ( \overline{ u^2 }^i + \overline{ v^2 }^j
649 + \epsilon_{nh} \overline{ w^2 }^k )
650 \end{equation}
651
652 \fbox{ \begin{minipage}{4.25in}
653 {\em S/R MOM\_VI\_CALC\_KE} ({\em mom\_vi\_calc\_ke.F})
654
655 $KE$: {\bf KE} (local to {\em calc\_mom\_rhs.F})
656 \end{minipage} }
657
658
659 \subsubsection{Coriolis terms}
660
661 The potential enstrophy conserving form of the linear Coriolis terms
662 are written:
663 \begin{eqnarray}
664 G_u^{fv} & = &
665 \frac{1}{\Delta x_c}
666 \overline{ \frac{f}{h_\zeta} }^j \overline{ \overline{ \Delta x_g h_s v }^j }^i \\
667 G_v^{fu} & = & -
668 \frac{1}{\Delta y_c}
669 \overline{ \frac{f}{h_\zeta} }^i \overline{ \overline{ \Delta y_g h_w u }^i }^j
670 \end{eqnarray}
671 Here, the Coriolis parameter $f$ is defined at vorticity (corner)
672 points.
673 \marginpar{$f$: {\bf fCoriG}}
674 \marginpar{$h_\zeta$: {\bf hFacZ}}
675
676 The potential enstrophy conserving form of the non-linear Coriolis
677 terms are written:
678 \begin{eqnarray}
679 G_u^{\zeta_3 v} & = &
680 \frac{1}{\Delta x_c}
681 \overline{ \frac{\zeta_3}{h_\zeta} }^j \overline{ \overline{ \Delta x_g h_s v }^j }^i \\
682 G_v^{\zeta_3 u} & = & -
683 \frac{1}{\Delta y_c}
684 \overline{ \frac{\zeta_3}{h_\zeta} }^i \overline{ \overline{ \Delta y_g h_w u }^i }^j
685 \end{eqnarray}
686 \marginpar{$\zeta_3$: {\bf vort3}}
687
688 The Coriolis terms can also be evaluated together and expressed in
689 terms of absolute vorticity $f+\zeta_3$. The potential enstrophy
690 conserving form using the absolute vorticity is written:
691 \begin{eqnarray}
692 G_u^{fv} + G_u^{\zeta_3 v} & = &
693 \frac{1}{\Delta x_c}
694 \overline{ \frac{f + \zeta_3}{h_\zeta} }^j \overline{ \overline{ \Delta x_g h_s v }^j }^i \\
695 G_v^{fu} + G_v^{\zeta_3 u} & = & -
696 \frac{1}{\Delta y_c}
697 \overline{ \frac{f + \zeta_3}{h_\zeta} }^i \overline{ \overline{ \Delta y_g h_w u }^i }^j
698 \end{eqnarray}
699
700 \marginpar{Run-time control needs to be added for these options} The
701 disctinction between using absolute vorticity or relative vorticity is
702 useful when constructing higher order advection schemes; monotone
703 advection of relative vorticity behaves differently to monotone
704 advection of absolute vorticity. Currently the choice of
705 relative/absolute vorticity, centered/upwind/high order advection is
706 available only through commented subroutine calls.
707
708 \fbox{ \begin{minipage}{4.25in}
709 {\em S/R MOM\_VI\_CORIOLIS} ({\em mom\_vi\_coriolis.F})
710
711 {\em S/R MOM\_VI\_U\_CORIOLIS} ({\em mom\_vi\_u\_coriolis.F})
712
713 {\em S/R MOM\_VI\_V\_CORIOLIS} ({\em mom\_vi\_v\_coriolis.F})
714
715 $G_u^{fv}$, $G_u^{\zeta_3 v}$: {\bf uCf} (local to {\em calc\_mom\_rhs.F})
716
717 $G_v^{fu}$, $G_v^{\zeta_3 u}$: {\bf vCf} (local to {\em calc\_mom\_rhs.F})
718 \end{minipage} }
719
720
721 \subsubsection{Shear terms}
722
723 The shear terms ($\zeta_2w$ and $\zeta_1w$) are are discretized to
724 guarantee that no spurious generation of kinetic energy is possible;
725 the horizontal gradient of Bernoulli function has to be consistent
726 with the vertical advection of shear:
727 \marginpar{N-H terms have not been tried!}
728 \begin{eqnarray}
729 G_u^{\zeta_2 w} & = &
730 \frac{1}{ {\cal A}_w \Delta r_f h_w } \overline{
731 \overline{ {\cal A}_c w }^i ( \delta_k u - \epsilon_{nh} \delta_j w )
732 }^k \\
733 G_v^{\zeta_1 w} & = &
734 \frac{1}{ {\cal A}_s \Delta r_f h_s } \overline{
735 \overline{ {\cal A}_c w }^i ( \delta_k u - \epsilon_{nh} \delta_j w )
736 }^k
737 \end{eqnarray}
738
739 \fbox{ \begin{minipage}{4.25in}
740 {\em S/R MOM\_VI\_U\_VERTSHEAR} ({\em mom\_vi\_u\_vertshear.F})
741
742 {\em S/R MOM\_VI\_V\_VERTSHEAR} ({\em mom\_vi\_v\_vertshear.F})
743
744 $G_u^{\zeta_2 w}$: {\bf uCf} (local to {\em calc\_mom\_rhs.F})
745
746 $G_v^{\zeta_1 w}$: {\bf vCf} (local to {\em calc\_mom\_rhs.F})
747 \end{minipage} }
748
749
750
751 \subsubsection{Gradient of Bernoulli function}
752
753 \begin{eqnarray}
754 G_u^{\partial_x B} & = &
755 \frac{1}{\Delta x_c} \delta_i ( \phi' + KE ) \\
756 G_v^{\partial_y B} & = &
757 \frac{1}{\Delta x_y} \delta_j ( \phi' + KE )
758 %G_w^{\partial_z B} & = &
759 %\frac{1}{\Delta r_c} h_c \delta_k ( \phi' + KE )
760 \end{eqnarray}
761
762 \fbox{ \begin{minipage}{4.25in}
763 {\em S/R MOM\_VI\_U\_GRAD\_KE} ({\em mom\_vi\_u\_grad\_ke.F})
764
765 {\em S/R MOM\_VI\_V\_GRAD\_KE} ({\em mom\_vi\_v\_grad\_ke.F})
766
767 $G_u^{\partial_x KE}$: {\bf uCf} (local to {\em calc\_mom\_rhs.F})
768
769 $G_v^{\partial_y KE}$: {\bf vCf} (local to {\em calc\_mom\_rhs.F})
770 \end{minipage} }
771
772
773
774 \subsubsection{Horizontal dissipation}
775
776 The horizontal divergence, a complimentary quantity to relative
777 vorticity, is used in parameterizing the Reynolds stresses and is
778 discretized:
779 \begin{equation}
780 D = \frac{1}{{\cal A}_c h_c} (
781 \delta_i \Delta y_g h_w u
782 + \delta_j \Delta x_g h_s v )
783 \end{equation}
784
785 \fbox{ \begin{minipage}{4.25in}
786 {\em S/R MOM\_VI\_CALC\_HDIV} ({\em mom\_vi\_calc\_hdiv.F})
787
788 $D$: {\bf hDiv} (local to {\em calc\_mom\_rhs.F})
789 \end{minipage} }
790
791
792 \subsubsection{Horizontal dissipation}
793
794 The following discretization of horizontal dissipation conserves
795 potential vorticity (thickness weighted relative vorticity) and
796 divergence and dissipates energy, enstrophy and divergence squared:
797 \begin{eqnarray}
798 G_u^{h-dissip} & = &
799 \frac{1}{\Delta x_c} \delta_i ( A_D D - A_{D4} D^*)
800 - \frac{1}{\Delta y_u h_w} \delta_j h_\zeta ( A_\zeta \zeta - A_{\zeta4} \zeta^* )
801 \\
802 G_v^{h-dissip} & = &
803 \frac{1}{\Delta x_v h_s} \delta_i h_\zeta ( A_\zeta \zeta - A_\zeta \zeta^* )
804 + \frac{1}{\Delta y_c} \delta_j ( A_D D - A_{D4} D^* )
805 \end{eqnarray}
806 where
807 \begin{eqnarray}
808 D^* & = & \frac{1}{{\cal A}_c h_c} (
809 \delta_i \Delta y_g h_w \nabla^2 u
810 + \delta_j \Delta x_g h_s \nabla^2 v ) \\
811 \zeta^* & = & \frac{1}{{\cal A}_\zeta} (
812 \delta_i \Delta y_c \nabla^2 v
813 - \delta_j \Delta x_c \nabla^2 u )
814 \end{eqnarray}
815
816 \fbox{ \begin{minipage}{4.25in}
817 {\em S/R MOM\_VI\_HDISSIP} ({\em mom\_vi\_hdissip.F})
818
819 $G_u^{h-dissip}$: {\bf uDiss} (local to {\em calc\_mom\_rhs.F})
820
821 $G_v^{h-dissip}$: {\bf vDiss} (local to {\em calc\_mom\_rhs.F})
822 \end{minipage} }
823
824
825 \subsubsection{Vertical dissipation}
826
827 Currently, this is exactly the same code as the flux form equations.
828 \begin{eqnarray}
829 G_u^{v-diss} & = &
830 \frac{1}{\Delta r_f h_w} \delta_k \tau_{13} \\
831 G_v^{v-diss} & = &
832 \frac{1}{\Delta r_f h_s} \delta_k \tau_{23}
833 \end{eqnarray}
834 represents the general discrete form of the vertical dissipation terms.
835
836 In the interior the vertical stresses are discretized:
837 \begin{eqnarray}
838 \tau_{13} & = & A_v \frac{1}{\Delta r_c} \delta_k u \\
839 \tau_{23} & = & A_v \frac{1}{\Delta r_c} \delta_k v
840 \end{eqnarray}
841
842 \fbox{ \begin{minipage}{4.25in}
843 {\em S/R MOM\_U\_RVISCLFUX} ({\em mom\_u\_rviscflux.F})
844
845 {\em S/R MOM\_V\_RVISCLFUX} ({\em mom\_v\_rviscflux.F})
846
847 $\tau_{13}$: {\bf urf} (local to {\em calc\_mom\_rhs.F})
848
849 $\tau_{23}$: {\bf vrf} (local to {\em calc\_mom\_rhs.F})
850 \end{minipage} }

  ViewVC Help
Powered by ViewVC 1.1.22