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

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

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


Revision 1.1 - (hide annotations) (download) (as text)
Wed Aug 8 16:15:21 2001 UTC (23 years, 10 months ago) by adcroft
Branch: MAIN
Branch point for: dummy
File MIME type: application/x-tex
Initial revision

1 adcroft 1.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