/[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.14 - (hide annotations) (download) (as text)
Tue Mar 23 15:29:40 2004 UTC (21 years, 3 months ago) by afe
Branch: MAIN
Changes since 1.13: +4 -1 lines
File MIME type: application/x-tex
o added rawhtml tags in tex source for cmi website redirects

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

  ViewVC Help
Powered by ViewVC 1.1.22