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

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

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

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

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22