/[MITgcm]/manual/s_algorithm/text/tracer.tex
ViewVC logotype

Annotation of /manual/s_algorithm/text/tracer.tex

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


Revision 1.27 - (hide annotations) (download) (as text)
Wed Oct 26 17:30:23 2016 UTC (8 years, 8 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint01, HEAD
Changes since 1.26: +21 -1 lines
File MIME type: application/x-tex
Update advection scheme table.

1 heimbach 1.27 % $Header: /u/gcmpack/manual/s_algorithm/text/tracer.tex,v 1.26 2010/08/30 23:09:19 jmc Exp $
2 adcroft 1.2 % $Name: $
3 adcroft 1.1
4     \section{Tracer equations}
5 jmc 1.26 \label{sec:tracer_equations}
6 edhill 1.18 \begin{rawhtml}
7     <!-- CMIREDIR:tracer_equations: -->
8     \end{rawhtml}
9 adcroft 1.1
10 adcroft 1.2 The basic discretization used for the tracer equations is the second
11     order piece-wise constant finite volume form of the forced
12 cnh 1.8 advection-diffusion equations. There are many alternatives to second
13 adcroft 1.2 order method for advection and alternative parameterizations for the
14     sub-grid scale processes. The Gent-McWilliams eddy parameterization,
15     KPP mixing scheme and PV flux parameterization are all dealt with in
16     separate sections. The basic discretization of the advection-diffusion
17     part of the tracer equations and the various advection schemes will be
18     described here.
19    
20 adcroft 1.3 \subsection{Time-stepping of tracers: ABII}
21 jmc 1.26 \label{sec:tracer_equations_abII}
22 edhill 1.18 \begin{rawhtml}
23     <!-- CMIREDIR:tracer_equations_abII: -->
24     \end{rawhtml}
25 adcroft 1.3
26     The default advection scheme is the centered second order method which
27     requires a second order or quasi-second order time-stepping scheme to
28     be stable. Historically this has been the quasi-second order
29     Adams-Bashforth method (ABII) and applied to all terms. For an
30     arbitrary tracer, $\tau$, the forced advection-diffusion equation
31     reads:
32     \begin{equation}
33     \partial_t \tau + G_{adv}^\tau = G_{diff}^\tau + G_{forc}^\tau
34     \end{equation}
35     where $G_{adv}^\tau$, $G_{diff}^\tau$ and $G_{forc}^\tau$ are the
36     tendencies due to advection, diffusion and forcing, respectively,
37     namely:
38     \begin{eqnarray}
39     G_{adv}^\tau & = & \partial_x u \tau + \partial_y v \tau + \partial_r w \tau
40     - \tau \nabla \cdot {\bf v} \\
41     G_{diff}^\tau & = & \nabla \cdot {\bf K} \nabla \tau
42     \end{eqnarray}
43     and the forcing can be some arbitrary function of state, time and
44     space.
45    
46     The term, $\tau \nabla \cdot {\bf v}$, is required to retain local
47     conservation in conjunction with the linear implicit free-surface. It
48     only affects the surface layer since the flow is non-divergent
49     everywhere else. This term is therefore referred to as the surface
50     correction term. Global conservation is not possible using the
51     flux-form (as here) and a linearized free-surface
52 adcroft 1.10 (\cite{griffies:00,campin:02}).
53 adcroft 1.3
54     The continuity equation can be recovered by setting
55     $G_{diff}=G_{forc}=0$ and $\tau=1$.
56    
57 cnh 1.8 The driver routine that calls the routines to calculate tendencies are
58 adcroft 1.3 {\em S/R CALC\_GT} and {\em S/R CALC\_GS} for temperature and salt
59     (moisture), respectively. These in turn call a generic advection
60     diffusion routine {\em S/R GAD\_CALC\_RHS} that is called with the
61 cnh 1.8 flow field and relevant tracer as arguments and returns the collective
62     tendency due to advection and diffusion. Forcing is add subsequently
63     in {\em S/R CALC\_GT} or {\em S/R CALC\_GS} to the same tendency
64 adcroft 1.3 array.
65    
66     \fbox{ \begin{minipage}{4.75in}
67     {\em S/R GAD\_CALC\_RHS} ({\em pkg/generic\_advdiff/gad\_calc\_rhs.F})
68    
69     $\tau$: {\bf tracer} (argument)
70    
71     $G^{(n)}$: {\bf gTracer} (argument)
72    
73     $F_r$: {\bf fVerT} (argument)
74    
75     \end{minipage} }
76    
77 cnh 1.8 The space and time discretization are treated separately (method of
78     lines). Tendencies are calculated at time levels $n$ and $n-1$ and
79 adcroft 1.4 extrapolated to $n+1/2$ using the Adams-Bashforth method:
80 adcroft 1.3 \marginpar{$\epsilon$: {\bf AB\_eps}}
81     \begin{equation}
82 adcroft 1.4 G^{(n+1/2)} =
83 adcroft 1.3 (\frac{3}{2} + \epsilon) G^{(n)} - (\frac{1}{2} + \epsilon) G^{(n-1)}
84     \end{equation}
85     where $G^{(n)} = G_{adv}^\tau + G_{diff}^\tau + G_{src}^\tau$ at time
86 cnh 1.8 step $n$. The tendency at $n-1$ is not re-calculated but rather the
87     tendency at $n$ is stored in a global array for later re-use.
88 adcroft 1.4
89     \fbox{ \begin{minipage}{4.75in}
90     {\em S/R ADAMS\_BASHFORTH2} ({\em model/src/adams\_bashforth2.F})
91    
92     $G^{(n+1/2)}$: {\bf gTracer} (argument on exit)
93    
94     $G^{(n)}$: {\bf gTracer} (argument on entry)
95    
96     $G^{(n-1)}$: {\bf gTrNm1} (argument)
97    
98     $\epsilon$: {\bf ABeps} (PARAMS.h)
99    
100     \end{minipage} }
101    
102 cnh 1.8 The tracers are stepped forward in time using the extrapolated tendency:
103 adcroft 1.4 \begin{equation}
104     \tau^{(n+1)} = \tau^{(n)} + \Delta t G^{(n+1/2)}
105     \end{equation}
106     \marginpar{$\Delta t$: {\bf deltaTtracer}}
107    
108     \fbox{ \begin{minipage}{4.75in}
109     {\em S/R TIMESTEP\_TRACER} ({\em model/src/timestep\_tracer.F})
110    
111     $\tau^{(n+1)}$: {\bf gTracer} (argument on exit)
112    
113     $\tau^{(n)}$: {\bf tracer} (argument on entry)
114    
115     $G^{(n+1/2)}$: {\bf gTracer} (argument)
116    
117     $\Delta t$: {\bf deltaTtracer} (PARAMS.h)
118    
119     \end{minipage} }
120 adcroft 1.3
121     Strictly speaking the ABII scheme should be applied only to the
122 cnh 1.8 advection terms. However, this scheme is only used in conjunction with
123 adcroft 1.3 the standard second, third and fourth order advection
124     schemes. Selection of any other advection scheme disables
125     Adams-Bashforth for tracers so that explicit diffusion and forcing use
126     the forward method.
127    
128    
129    
130    
131 adcroft 1.4 \section{Linear advection schemes}
132 jmc 1.26 \label{sec:tracer-advection}
133 afe 1.14 \begin{rawhtml}
134 afe 1.15 <!-- CMIREDIR:linear_advection_schemes: -->
135 afe 1.14 \end{rawhtml}
136 adcroft 1.3
137     \begin{figure}
138 jmc 1.25 \resizebox{5.5in}{!}{\includegraphics{s_algorithm/figs/advect-1d-lo.eps}}
139 adcroft 1.3 \caption{
140     Comparison of 1-D advection schemes. Courant number is 0.05 with 60
141     points and solutions are shown for T=1 (one complete period).
142     a) Shows the upwind biased schemes; first order upwind, DST3,
143     third order upwind and second order upwind.
144     b) Shows the centered schemes; Lax-Wendroff, DST4, centered second order,
145     centered fourth order and finite volume fourth order.
146     c) Shows the second order flux limiters: minmod, Superbee,
147     MC limiter and the van Leer limiter.
148     d) Shows the DST3 method with flux limiters due to Sweby with
149     $\mu=1$, $\mu=c/(1-c)$ and a fourth order DST method with Sweby limiter,
150     $\mu=c/(1-c)$.
151     \label{fig:advect-1d-lo}
152     }
153     \end{figure}
154    
155     \begin{figure}
156 jmc 1.25 \resizebox{5.5in}{!}{\includegraphics{s_algorithm/figs/advect-1d-hi.eps}}
157 adcroft 1.3 \caption{
158     Comparison of 1-D advection schemes. Courant number is 0.89 with 60
159     points and solutions are shown for T=1 (one complete period).
160     a) Shows the upwind biased schemes; first order upwind and DST3.
161     Third order upwind and second order upwind are unstable at this Courant number.
162     b) Shows the centered schemes; Lax-Wendroff, DST4. Centered second order,
163     centered fourth order and finite volume fourth order and unstable at this
164     Courant number.
165     c) Shows the second order flux limiters: minmod, Superbee,
166     MC limiter and the van Leer limiter.
167     d) Shows the DST3 method with flux limiters due to Sweby with
168     $\mu=1$, $\mu=c/(1-c)$ and a fourth order DST method with Sweby limiter,
169     $\mu=c/(1-c)$.
170     \label{fig:advect-1d-hi}
171     }
172     \end{figure}
173    
174     The advection schemes known as centered second order, centered fourth
175     order, first order upwind and upwind biased third order are known as
176     linear advection schemes because the coefficient for interpolation of
177     the advected tracer are linear and a function only of the flow, not
178     the tracer field it self. We discuss these first since they are most
179     commonly used in the field and most familiar.
180    
181 adcroft 1.2 \subsection{Centered second order advection-diffusion}
182    
183     The basic discretization, centered second order, is the default. It is
184 cnh 1.8 designed to be consistent with the continuity equation to facilitate
185 adcroft 1.3 conservation properties analogous to the continuum. However, centered
186 cnh 1.8 second order advection is notoriously noisy and must be used in
187     conjunction with some finite amount of diffusion to produce a sensible
188 adcroft 1.3 solution.
189    
190     The advection operator is discretized:
191 adcroft 1.1 \begin{equation}
192 adcroft 1.3 {\cal A}_c \Delta r_f h_c G_{adv}^\tau =
193     \delta_i F_x + \delta_j F_y + \delta_k F_r
194 adcroft 1.1 \end{equation}
195 adcroft 1.2 where the area integrated fluxes are given by:
196     \begin{eqnarray}
197 adcroft 1.3 F_x & = & U \overline{ \tau }^i \\
198     F_y & = & V \overline{ \tau }^j \\
199     F_r & = & W \overline{ \tau }^k
200 adcroft 1.2 \end{eqnarray}
201 adcroft 1.1 The quantities $U$, $V$ and $W$ are volume fluxes defined:
202     \marginpar{$U$: {\bf uTrans} }
203     \marginpar{$V$: {\bf vTrans} }
204     \marginpar{$W$: {\bf rTrans} }
205     \begin{eqnarray}
206     U & = & \Delta y_g \Delta r_f h_w u \\
207     V & = & \Delta x_g \Delta r_f h_s v \\
208     W & = & {\cal A}_c w
209     \end{eqnarray}
210    
211 adcroft 1.3 For non-divergent flow, this discretization can be shown to conserve
212     the tracer both locally and globally and to globally conserve tracer
213 adcroft 1.10 variance, $\tau^2$. The proof is given in \cite{adcroft:95,adcroft:97}.
214 adcroft 1.3
215     \fbox{ \begin{minipage}{4.75in}
216     {\em S/R GAD\_C2\_ADV\_X} ({\em gad\_c2\_adv\_x.F})
217    
218     $F_x$: {\bf uT} (argument)
219    
220     $U$: {\bf uTrans} (argument)
221    
222     $\tau$: {\bf tracer} (argument)
223    
224     {\em S/R GAD\_C2\_ADV\_Y} ({\em gad\_c2\_adv\_y.F})
225    
226     $F_y$: {\bf vT} (argument)
227    
228     $V$: {\bf vTrans} (argument)
229    
230     $\tau$: {\bf tracer} (argument)
231    
232     {\em S/R GAD\_C2\_ADV\_R} ({\em gad\_c2\_adv\_r.F})
233    
234     $F_r$: {\bf wT} (argument)
235    
236     $W$: {\bf rTrans} (argument)
237    
238     $\tau$: {\bf tracer} (argument)
239    
240     \end{minipage} }
241    
242    
243     \subsection{Third order upwind bias advection}
244    
245     Upwind biased third order advection offers a relatively good
246     compromise between accuracy and smoothness. It is not a ``positive''
247     scheme meaning false extrema are permitted but the amplitude of such
248     are significantly reduced over the centered second order method.
249    
250     The third order upwind fluxes are discretized:
251     \begin{eqnarray}
252     F_x & = & U \overline{\tau - \frac{1}{6} \delta_{ii} \tau}^i
253     + \frac{1}{2} |U| \delta_i \frac{1}{6} \delta_{ii} \tau \\
254     F_y & = & V \overline{\tau - \frac{1}{6} \delta_{ii} \tau}^j
255     + \frac{1}{2} |V| \delta_j \frac{1}{6} \delta_{jj} \tau \\
256     F_r & = & W \overline{\tau - \frac{1}{6} \delta_{ii} \tau}^k
257     + \frac{1}{2} |W| \delta_k \frac{1}{6} \delta_{kk} \tau
258     \end{eqnarray}
259    
260     At boundaries, $\delta_{\hat{n}} \tau$ is set to zero allowing
261 cnh 1.8 $\delta_{nn}$ to be evaluated. We are currently examine the accuracy
262 adcroft 1.3 of this boundary condition and the effect on the solution.
263    
264 adcroft 1.4 \fbox{ \begin{minipage}{4.75in}
265     {\em S/R GAD\_U3\_ADV\_X} ({\em gad\_u3\_adv\_x.F})
266    
267     $F_x$: {\bf uT} (argument)
268    
269     $U$: {\bf uTrans} (argument)
270    
271     $\tau$: {\bf tracer} (argument)
272    
273     {\em S/R GAD\_U3\_ADV\_Y} ({\em gad\_u3\_adv\_y.F})
274    
275     $F_y$: {\bf vT} (argument)
276    
277     $V$: {\bf vTrans} (argument)
278    
279     $\tau$: {\bf tracer} (argument)
280    
281     {\em S/R GAD\_U3\_ADV\_R} ({\em gad\_u3\_adv\_r.F})
282    
283     $F_r$: {\bf wT} (argument)
284    
285     $W$: {\bf rTrans} (argument)
286    
287     $\tau$: {\bf tracer} (argument)
288    
289     \end{minipage} }
290 adcroft 1.3
291     \subsection{Centered fourth order advection}
292    
293     Centered fourth order advection is formally the most accurate scheme
294     we have implemented and can be used to great effect in high resolution
295 cnh 1.8 simulation where dynamical scales are well resolved. However, the
296     scheme is noisy like the centered second order method and so must be
297 adcroft 1.3 used with some finite amount of diffusion. Bi-harmonic is recommended
298     since it is more scale selective and less likely to diffuse away the
299     well resolved gradient the fourth order scheme worked so hard to
300     create.
301    
302     The centered fourth order fluxes are discretized:
303     \begin{eqnarray}
304     F_x & = & U \overline{\tau - \frac{1}{6} \delta_{ii} \tau}^i \\
305     F_y & = & V \overline{\tau - \frac{1}{6} \delta_{ii} \tau}^j \\
306     F_r & = & W \overline{\tau - \frac{1}{6} \delta_{ii} \tau}^k
307     \end{eqnarray}
308    
309     As for the third order scheme, the best discretization near boundaries
310 cnh 1.8 is under investigation but currently $\delta_i \tau=0$ on a boundary.
311 adcroft 1.3
312 adcroft 1.4 \fbox{ \begin{minipage}{4.75in}
313     {\em S/R GAD\_C4\_ADV\_X} ({\em gad\_c4\_adv\_x.F})
314    
315     $F_x$: {\bf uT} (argument)
316    
317     $U$: {\bf uTrans} (argument)
318    
319     $\tau$: {\bf tracer} (argument)
320    
321     {\em S/R GAD\_C4\_ADV\_Y} ({\em gad\_c4\_adv\_y.F})
322    
323     $F_y$: {\bf vT} (argument)
324    
325     $V$: {\bf vTrans} (argument)
326    
327     $\tau$: {\bf tracer} (argument)
328    
329     {\em S/R GAD\_C4\_ADV\_R} ({\em gad\_c4\_adv\_r.F})
330    
331     $F_r$: {\bf wT} (argument)
332    
333     $W$: {\bf rTrans} (argument)
334    
335     $\tau$: {\bf tracer} (argument)
336    
337     \end{minipage} }
338    
339    
340 adcroft 1.3 \subsection{First order upwind advection}
341    
342     Although the upwind scheme is the underlying scheme for the robust or
343     non-linear methods given later, we haven't actually supplied this
344     method for general use. It would be very diffusive and it is unlikely
345     that it could ever produce more useful results than the positive
346     higher order schemes.
347    
348     Upwind bias is introduced into many schemes using the {\em abs}
349     function and is allows the first order upwind flux to be written:
350     \begin{eqnarray}
351     F_x & = & U \overline{ \tau }^i - \frac{1}{2} |U| \delta_i \tau \\
352     F_y & = & V \overline{ \tau }^j - \frac{1}{2} |V| \delta_j \tau \\
353     F_r & = & W \overline{ \tau }^k - \frac{1}{2} |W| \delta_k \tau
354     \end{eqnarray}
355    
356     If for some reason, the above method is required, then the second
357     order flux limiter scheme described later reduces to the above scheme
358     if the limiter is set to zero.
359    
360    
361     \section{Non-linear advection schemes}
362 jmc 1.26 \label{sec:non-linear_advection_schemes}
363 edhill 1.16 \begin{rawhtml}
364     <!-- CMIREDIR:non-linear_advection_schemes: -->
365     \end{rawhtml}
366 adcroft 1.3
367     Non-linear advection schemes invoke non-linear interpolation and are
368     widely used in computational fluid dynamics (non-linear does not refer
369     to the non-linearity of the advection operator). The flux limited
370     advection schemes belong to the class of finite volume methods which
371     neatly ties into the spatial discretization of the model.
372    
373     When employing the flux limited schemes, first order upwind or
374     direct-space-time method the time-stepping is switched to forward in
375     time.
376    
377     \subsection{Second order flux limiters}
378    
379     The second order flux limiter method can be cast in several ways but
380     is generally expressed in terms of other flux approximations. For
381     example, in terms of a first order upwind flux and second order
382     Lax-Wendroff flux, the limited flux is given as:
383     \begin{equation}
384     F = F_1 + \psi(r) F_{LW}
385     \end{equation}
386     where $\psi(r)$ is the limiter function,
387     \begin{equation}
388     F_1 = u \overline{\tau}^i - \frac{1}{2} |u| \delta_i \tau
389     \end{equation}
390     is the upwind flux,
391     \begin{equation}
392     F_{LW} = F_1 + \frac{|u|}{2} (1-c) \delta_i \tau
393     \end{equation}
394     is the Lax-Wendroff flux and $c = \frac{u \Delta t}{\Delta x}$ is the
395     Courant (CFL) number.
396    
397     The limiter function, $\psi(r)$, takes the slope ratio
398     \begin{eqnarray}
399     r = \frac{ \tau_{i-1} - \tau_{i-2} }{ \tau_{i} - \tau_{i-1} } & \forall & u > 0
400     \\
401     r = \frac{ \tau_{i+1} - \tau_{i} }{ \tau_{i} - \tau_{i-1} } & \forall & u < 0
402     \end{eqnarray}
403     as it's argument. There are many choices of limiter function but we
404 adcroft 1.11 only provide the Superbee limiter \cite{roe:85}:
405 adcroft 1.3 \begin{equation}
406     \psi(r) = \max[0,\min[1,2r],\min[2,r]]
407     \end{equation}
408    
409 adcroft 1.4 \fbox{ \begin{minipage}{4.75in}
410     {\em S/R GAD\_FLUXLIMIT\_ADV\_X} ({\em gad\_fluxlimit\_adv\_x.F})
411    
412     $F_x$: {\bf uT} (argument)
413    
414     $U$: {\bf uTrans} (argument)
415    
416     $\tau$: {\bf tracer} (argument)
417    
418     {\em S/R GAD\_FLUXLIMIT\_ADV\_Y} ({\em gad\_fluxlimit\_adv\_y.F})
419    
420     $F_y$: {\bf vT} (argument)
421    
422     $V$: {\bf vTrans} (argument)
423    
424     $\tau$: {\bf tracer} (argument)
425    
426     {\em S/R GAD\_FLUXLIMIT\_ADV\_R} ({\em gad\_fluxlimit\_adv\_r.F})
427    
428     $F_r$: {\bf wT} (argument)
429    
430     $W$: {\bf rTrans} (argument)
431    
432     $\tau$: {\bf tracer} (argument)
433    
434     \end{minipage} }
435    
436 adcroft 1.3
437     \subsection{Third order direct space time}
438    
439     The direct-space-time method deals with space and time discretization
440 cnh 1.8 together (other methods that treat space and time separately are known
441 adcroft 1.3 collectively as the ``Method of Lines''). The Lax-Wendroff scheme
442     falls into this category; it adds sufficient diffusion to a second
443     order flux that the forward-in-time method is stable. The upwind
444     biased third order DST scheme is:
445     \begin{eqnarray}
446     F = u \left( \tau_{i-1}
447     + d_0 (\tau_{i}-\tau_{i-1}) + d_1 (\tau_{i-1}-\tau_{i-2}) \right)
448     & \forall & u > 0 \\
449     F = u \left( \tau_{i}
450     - d_0 (\tau_{i}-\tau_{i-1}) - d_1 (\tau_{i+1}-\tau_{i}) \right)
451     & \forall & u < 0
452     \end{eqnarray}
453     where
454     \begin{eqnarray}
455     d_1 & = & \frac{1}{6} ( 2 - |c| ) ( 1 - |c| ) \\
456     d_2 & = & \frac{1}{6} ( 1 - |c| ) ( 1 + |c| )
457     \end{eqnarray}
458 cnh 1.8 The coefficients $d_0$ and $d_1$ approach $1/3$ and $1/6$ respectively
459 adcroft 1.3 as the Courant number, $c$, vanishes. In this limit, the conventional
460     third order upwind method is recovered. For finite Courant number, the
461     deviations from the linear method are analogous to the diffusion added
462     to centered second order advection in the Lax-Wendroff scheme.
463    
464     The DST3 method described above must be used in a forward-in-time
465     manner and is stable for $0 \le |c| \le 1$. Although the scheme
466 adcroft 1.13 appears to be forward-in-time, it is in fact third order in time and
467 adcroft 1.3 the accuracy increases with the Courant number! For low Courant
468     number, DST3 produces very similar results (indistinguishable in
469     Fig.~\ref{fig:advect-1d-lo}) to the linear third order method but for
470     large Courant number, where the linear upwind third order method is
471     unstable, the scheme is extremely accurate
472     (Fig.~\ref{fig:advect-1d-hi}) with only minor overshoots.
473    
474 adcroft 1.4 \fbox{ \begin{minipage}{4.75in}
475     {\em S/R GAD\_DST3\_ADV\_X} ({\em gad\_dst3\_adv\_x.F})
476    
477     $F_x$: {\bf uT} (argument)
478    
479     $U$: {\bf uTrans} (argument)
480    
481     $\tau$: {\bf tracer} (argument)
482    
483     {\em S/R GAD\_DST3\_ADV\_Y} ({\em gad\_dst3\_adv\_y.F})
484    
485     $F_y$: {\bf vT} (argument)
486    
487     $V$: {\bf vTrans} (argument)
488    
489     $\tau$: {\bf tracer} (argument)
490    
491     {\em S/R GAD\_DST3\_ADV\_R} ({\em gad\_dst3\_adv\_r.F})
492    
493     $F_r$: {\bf wT} (argument)
494    
495     $W$: {\bf rTrans} (argument)
496    
497     $\tau$: {\bf tracer} (argument)
498    
499     \end{minipage} }
500    
501    
502 adcroft 1.3 \subsection{Third order direct space time with flux limiting}
503    
504     The overshoots in the DST3 method can be controlled with a flux limiter.
505     The limited flux is written:
506     \begin{equation}
507     F =
508     \frac{1}{2}(u+|u|)\left( \tau_{i-1} + \psi(r^+)(\tau_{i} - \tau_{i-1} )\right)
509     +
510     \frac{1}{2}(u-|u|)\left( \tau_{i-1} + \psi(r^-)(\tau_{i} - \tau_{i-1} )\right)
511     \end{equation}
512     where
513     \begin{eqnarray}
514     r^+ & = & \frac{\tau_{i-1} - \tau_{i-2}}{\tau_{i} - \tau_{i-1}} \\
515     r^- & = & \frac{\tau_{i+1} - \tau_{i}}{\tau_{i} - \tau_{i-1}}
516     \end{eqnarray}
517     and the limiter is the Sweby limiter:
518     \begin{equation}
519     \psi(r) = \max[0, \min[\min(1,d_0+d_1r],\frac{1-c}{c}r ]]
520     \end{equation}
521 adcroft 1.1
522 adcroft 1.4 \fbox{ \begin{minipage}{4.75in}
523     {\em S/R GAD\_DST3FL\_ADV\_X} ({\em gad\_dst3\_adv\_x.F})
524    
525     $F_x$: {\bf uT} (argument)
526    
527     $U$: {\bf uTrans} (argument)
528    
529     $\tau$: {\bf tracer} (argument)
530    
531     {\em S/R GAD\_DST3FL\_ADV\_Y} ({\em gad\_dst3\_adv\_y.F})
532    
533     $F_y$: {\bf vT} (argument)
534    
535     $V$: {\bf vTrans} (argument)
536    
537     $\tau$: {\bf tracer} (argument)
538    
539     {\em S/R GAD\_DST3FL\_ADV\_R} ({\em gad\_dst3\_adv\_r.F})
540    
541     $F_r$: {\bf wT} (argument)
542    
543     $W$: {\bf rTrans} (argument)
544    
545     $\tau$: {\bf tracer} (argument)
546    
547     \end{minipage} }
548    
549    
550 adcroft 1.3 \subsection{Multi-dimensional advection}
551 adcroft 1.1
552 adcroft 1.4 \begin{figure}
553 jmc 1.25 \resizebox{5.5in}{!}{\includegraphics{s_algorithm/figs/advect-2d-lo-diag.eps}}
554 adcroft 1.4 \caption{
555     Comparison of advection schemes in two dimensions; diagonal advection
556 cnh 1.8 of a resolved Gaussian feature. Courant number is 0.01 with
557 adcroft 1.4 30$\times$30 points and solutions are shown for T=1/2. White lines
558     indicate zero crossing (ie. the presence of false minima). The left
559     column shows the second order schemes; top) centered second order with
560     Adams-Bashforth, middle) Lax-Wendroff and bottom) Superbee flux
561     limited. The middle column shows the third order schemes; top) upwind
562     biased third order with Adams-Bashforth, middle) third order direct
563     space-time method and bottom) the same with flux limiting. The top
564     right panel shows the centered fourth order scheme with
565     Adams-Bashforth and right middle panel shows a fourth order variant on
566     the DST method. Bottom right panel shows the Superbee flux limiter
567 cnh 1.8 (second order) applied independently in each direction (method of
568 adcroft 1.4 lines).
569     \label{fig:advect-2d-lo-diag}
570     }
571     \end{figure}
572    
573     \begin{figure}
574 jmc 1.25 \resizebox{5.5in}{!}{\includegraphics{s_algorithm/figs/advect-2d-mid-diag.eps}}
575 adcroft 1.4 \caption{
576     Comparison of advection schemes in two dimensions; diagonal advection
577 cnh 1.8 of a resolved Gaussian feature. Courant number is 0.27 with
578 adcroft 1.4 30$\times$30 points and solutions are shown for T=1/2. White lines
579     indicate zero crossing (ie. the presence of false minima). The left
580     column shows the second order schemes; top) centered second order with
581     Adams-Bashforth, middle) Lax-Wendroff and bottom) Superbee flux
582     limited. The middle column shows the third order schemes; top) upwind
583     biased third order with Adams-Bashforth, middle) third order direct
584     space-time method and bottom) the same with flux limiting. The top
585     right panel shows the centered fourth order scheme with
586     Adams-Bashforth and right middle panel shows a fourth order variant on
587     the DST method. Bottom right panel shows the Superbee flux limiter
588 cnh 1.8 (second order) applied independently in each direction (method of
589 adcroft 1.4 lines).
590     \label{fig:advect-2d-mid-diag}
591     }
592     \end{figure}
593    
594     \begin{figure}
595 jmc 1.25 \resizebox{5.5in}{!}{\includegraphics{s_algorithm/figs/advect-2d-hi-diag.eps}}
596 adcroft 1.4 \caption{
597     Comparison of advection schemes in two dimensions; diagonal advection
598 cnh 1.8 of a resolved Gaussian feature. Courant number is 0.47 with
599 adcroft 1.4 30$\times$30 points and solutions are shown for T=1/2. White lines
600     indicate zero crossings and initial maximum values (ie. the presence
601     of false extrema). The left column shows the second order schemes;
602     top) centered second order with Adams-Bashforth, middle) Lax-Wendroff
603     and bottom) Superbee flux limited. The middle column shows the third
604     order schemes; top) upwind biased third order with Adams-Bashforth,
605     middle) third order direct space-time method and bottom) the same with
606     flux limiting. The top right panel shows the centered fourth order
607     scheme with Adams-Bashforth and right middle panel shows a fourth
608     order variant on the DST method. Bottom right panel shows the Superbee
609 cnh 1.8 flux limiter (second order) applied independently in each direction
610 adcroft 1.4 (method of lines).
611     \label{fig:advect-2d-hi-diag}
612     }
613     \end{figure}
614    
615    
616    
617 cnh 1.8 In many of the aforementioned advection schemes the behavior in
618 adcroft 1.3 multiple dimensions is not necessarily as good as the one dimensional
619 cnh 1.8 behavior. For instance, a shape preserving monotonic scheme in one
620 adcroft 1.3 dimension can have severe shape distortion in two dimensions if the
621     two components of horizontal fluxes are treated independently. There
622     is a large body of literature on the subject dealing with this problem
623     and among the fixes are operator and flux splitting methods, corner
624     flux methods and more. We have adopted a variant on the standard
625     splitting methods that allows the flux calculations to be implemented
626     as if in one dimension:
627     \begin{eqnarray}
628     \tau^{n+1/3} & = & \tau^{n}
629     - \Delta t \left( \frac{1}{\Delta x} \delta_i F^x(\tau^{n})
630     + \tau^{n} \frac{1}{\Delta x} \delta_i u \right) \\
631 jmc 1.21 \tau^{n+2/3} & = & \tau^{n+1/3}
632 adcroft 1.3 - \Delta t \left( \frac{1}{\Delta y} \delta_j F^y(\tau^{n+1/3})
633     + \tau^{n} \frac{1}{\Delta y} \delta_i v \right) \\
634 jmc 1.21 \tau^{n+3/3} & = & \tau^{n+2/3}
635 adcroft 1.3 - \Delta t \left( \frac{1}{\Delta r} \delta_k F^x(\tau^{n+2/3})
636     + \tau^{n} \frac{1}{\Delta r} \delta_i w \right)
637     \end{eqnarray}
638 adcroft 1.1
639 adcroft 1.3 In order to incorporate this method into the general model algorithm,
640 cnh 1.8 we compute the effective tendency rather than update the tracer so
641 adcroft 1.3 that other terms such as diffusion are using the $n$ time-level and
642     not the updated $n+3/3$ quantities:
643     \begin{equation}
644     G^{n+1/2}_{adv} = \frac{1}{\Delta t} ( \tau^{n+3/3} - \tau^{n} )
645     \end{equation}
646     So that the over all time-stepping looks likes:
647     \begin{equation}
648     \tau^{n+1} = \tau^{n} + \Delta t \left( G^{n+1/2}_{adv} + G_{diff}(\tau^{n}) + G^{n}_{forcing} \right)
649     \end{equation}
650 adcroft 1.4
651     \fbox{ \begin{minipage}{4.75in}
652     {\em S/R GAD\_ADVECTION} ({\em gad\_advection.F})
653    
654     $\tau$: {\bf Tracer} (argument)
655    
656     $G^{n+1/2}_{adv}$: {\bf Gtracer} (argument)
657    
658     $F_x, F_y, F_r$: {\bf af} (local)
659    
660     $U$: {\bf uTrans} (local)
661    
662     $V$: {\bf vTrans} (local)
663    
664     $W$: {\bf rTrans} (local)
665    
666     \end{minipage} }
667    
668 jmc 1.23 \begin{figure}
669 jmc 1.25 \resizebox{3.5in}{!}{\includegraphics{s_algorithm/figs/multiDim_CS.eps}}
670 jmc 1.23 \caption{Muti-dimensional advection time-stepping with Cubed-Sphere topology
671     \label{fig:advect-multidim_cs}
672     }
673     \end{figure}
674 adcroft 1.4
675     \section{Comparison of advection schemes}
676 jmc 1.26 \label{sec:tracer_advection_schemes}
677 edhill 1.18 \begin{rawhtml}
678     <!-- CMIREDIR:comparison_of_advection_schemes: -->
679     \end{rawhtml}
680 adcroft 1.4
681 jmc 1.17 \begin{table}[htb]
682     \centering
683 heimbach 1.27 {\small
684 jmc 1.17 \begin{tabular}[htb]{|l|c|c|c|c|l|}
685     \hline
686     Advection Scheme & code & use & use Multi- & Stencil & comments \\
687     & & A.B. & dimension & (1 dim) & \\
688     \hline \hline
689 jmc 1.21 $1^{rst}$order upwind & 1 & No & Yes & 3 pts & linear/$\tau$, non-linear/v\\
690     \hline
691 jmc 1.17 centered $2^{nd}$order & 2 & Yes & No & 3 pts & linear \\
692     \hline
693 jmc 1.19 $3^{rd}$order upwind & 3 & Yes & No & 5 pts & linear/$\tau$\\
694 jmc 1.17 \hline
695     centered $4^{th}$order & 4 & Yes & No & 5 pts & linear \\
696     \hline \hline
697 jmc 1.21 $2^{nd}$order DST (Lax-Wendroff) & 20 &
698 jmc 1.22 No & Yes & 3 pts & linear/$\tau$, non-linear/v\\
699 jmc 1.21 \hline
700 jmc 1.19 $3^{rd}$order DST & 30 & No & Yes & 5 pts & linear/$\tau$, non-linear/v\\
701 heimbach 1.27 \hline
702     $2^{nd}$order-moment Prather & 80 & No & Yes & ~ & ~ \\
703 jmc 1.17 \hline \hline
704     $2^{nd}$order Flux Limiters & 77 & No & Yes & 5 pts & non-linear \\
705     \hline
706     $3^{nd}$order DST Flux limiter & 33 & No & Yes & 5 pts & non-linear \\
707     \hline
708 heimbach 1.27 $2^{nd}$order-moment Prather w. limiter & 81 & No & Yes & ~ & ~ \\
709     \hline
710     piecewise parabolic w. ``null'' limiter & 40 & No & Yes & ~ & ~ \\
711     \hline
712     piecewise parabolic w. ``mono'' limiter & 41 & No & Yes & ~ & ~ \\
713     \hline
714     piecewise quartic w. ``null'' limiter & 50 & No & Yes & ~ & ~ \\
715     \hline
716     piecewise quartic w. ``mono'' limiter & 51 & No & Yes & ~ & ~ \\
717     \hline
718     piecewise quartic w. ``weno'' limiter & 52 & No & Yes & ~ & ~ \\
719     \hline
720     $7^{nd}$order one-step method & 7 & No & Yes & ~ & ~ \\
721     with Monotonicity Preserving Limiter & ~ & ~ & ~ & ~ & ~ \\
722     \hline
723    
724 jmc 1.17 \end{tabular}
725 heimbach 1.27 }
726 jmc 1.17 \caption{Summary of the different advection schemes available in MITgcm.
727     ``A.B.'' stands for Adams-Bashforth and ``DST'' for direct space time.
728     The code corresponds to the number used to select the corresponding
729 jmc 1.19 advection scheme in the parameter file (e.g., {\bf tempAdvScheme}=3 in
730 jmc 1.17 file {\em data} selects the $3^{rd}$ order upwind advection scheme
731     for temperature).
732     }
733     \label{tab:advectionShemes_summary}
734     \end{table}
735    
736    
737 adcroft 1.4 Figs.~\ref{fig:advect-2d-lo-diag}, \ref{fig:advect-2d-mid-diag} and
738     \ref{fig:advect-2d-hi-diag} show solutions to a simple diagonal
739     advection problem using a selection of schemes for low, moderate and
740     high Courant numbers, respectively. The top row shows the linear
741     schemes, integrated with the Adams-Bashforth method. Theses schemes
742     are clearly unstable for the high Courant number and weakly unstable
743     for the moderate Courant number. The presence of false extrema is very
744     apparent for all Courant numbers. The middle row shows solutions
745     obtained with the unlimited but multi-dimensional schemes. These
746     solutions also exhibit false extrema though the pattern now shows
747     symmetry due to the multi-dimensional scheme. Also, the schemes are
748     stable at high Courant number where the linear schemes weren't. The
749     bottom row (left and middle) shows the limited schemes and most
750     obvious is the absence of false extrema. The accuracy and stability of
751     the unlimited non-linear schemes is retained at high Courant number
752 cnh 1.8 but at low Courant number the tendency is to loose amplitude in sharp
753 adcroft 1.4 peaks due to diffusion. The one dimensional tests shown in
754     Figs.~\ref{fig:advect-1d-lo} and \ref{fig:advect-1d-hi} showed this
755 cnh 1.8 phenomenon.
756 adcroft 1.4
757     Finally, the bottom left and right panels use the same advection
758 adcroft 1.9 scheme but the right does not use the multi-dimensional method. At low
759 adcroft 1.4 Courant number this appears to not matter but for moderate Courant
760 cnh 1.8 number severe distortion of the feature is apparent. Moreover, the
761 adcroft 1.4 stability of the multi-dimensional scheme is determined by the maximum
762     Courant number applied of each dimension while the stability of the
763     method of lines is determined by the sum. Hence, in the high Courant
764     number plot, the scheme is unstable.
765    
766     With many advection schemes implemented in the code two questions
767     arise: ``Which scheme is best?'' and ``Why don't you just offer the
768     best advection scheme?''. Unfortunately, no one advection scheme is
769     ``the best'' for all particular applications and for new applications
770     it is often a matter of trial to determine which is most
771     suitable. Here are some guidelines but these are not the rule;
772     \begin{itemize}
773     \item If you have a coarsely resolved model, using a
774     positive or upwind biased scheme will introduce significant diffusion
775     to the solution and using a centered higher order scheme will
776     introduce more noise. In this case, simplest may be best.
777     \item If you have a high resolution model, using a higher order
778     scheme will give a more accurate solution but scale-selective
779     diffusion might need to be employed. The flux limited methods
780     offer similar accuracy in this regime.
781 cnh 1.8 \item If your solution has shocks or propagating fronts then a
782 adcroft 1.4 flux limited scheme is almost essential.
783     \item If your time-step is limited by advection, the multi-dimensional
784 cnh 1.8 non-linear schemes have the most stability (up to Courant number 1).
785     \item If you need to know how much diffusion/dissipation has occurred you
786 adcroft 1.4 will have a lot of trouble figuring it out with a non-linear method.
787 adcroft 1.9 \item The presence of false extrema is non-physical and this alone is the
788 adcroft 1.4 strongest argument for using a positive scheme.
789     \end{itemize}

  ViewVC Help
Powered by ViewVC 1.1.22