2 |
% $Name$ |
% $Name$ |
3 |
|
|
4 |
\section{Tracer equations} |
\section{Tracer equations} |
5 |
|
\label{sect:tracer_equations} |
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 |
9 |
advection-diussion equations. There are many alternatives to second |
advection-diffusion equations. There are many alternatives to second |
10 |
order method for advection and alternative parameterizations for the |
order method for advection and alternative parameterizations for the |
11 |
sub-grid scale processes. The Gent-McWilliams eddy parameterization, |
sub-grid scale processes. The Gent-McWilliams eddy parameterization, |
12 |
KPP mixing scheme and PV flux parameterization are all dealt with in |
KPP mixing scheme and PV flux parameterization are all dealt with in |
15 |
described here. |
described here. |
16 |
|
|
17 |
\subsection{Time-stepping of tracers: ABII} |
\subsection{Time-stepping of tracers: ABII} |
18 |
|
\label{sect:tracer_equations_abII} |
19 |
|
|
20 |
The default advection scheme is the centered second order method which |
The default advection scheme is the centered second order method which |
21 |
requires a second order or quasi-second order time-stepping scheme to |
requires a second order or quasi-second order time-stepping scheme to |
43 |
everywhere else. This term is therefore referred to as the surface |
everywhere else. This term is therefore referred to as the surface |
44 |
correction term. Global conservation is not possible using the |
correction term. Global conservation is not possible using the |
45 |
flux-form (as here) and a linearized free-surface |
flux-form (as here) and a linearized free-surface |
46 |
(\cite{Griffies00,Campin02}). |
(\cite{griffies:00,campin:02}). |
47 |
|
|
48 |
The continuity equation can be recovered by setting |
The continuity equation can be recovered by setting |
49 |
$G_{diff}=G_{forc}=0$ and $\tau=1$. |
$G_{diff}=G_{forc}=0$ and $\tau=1$. |
50 |
|
|
51 |
The driver routine that calls the routines to calculate tendancies are |
The driver routine that calls the routines to calculate tendencies are |
52 |
{\em S/R CALC\_GT} and {\em S/R CALC\_GS} for temperature and salt |
{\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 |
(moisture), respectively. These in turn call a generic advection |
54 |
diffusion routine {\em S/R GAD\_CALC\_RHS} that is called with the |
diffusion routine {\em S/R GAD\_CALC\_RHS} that is called with the |
55 |
flow field and relevent tracer as arguments and returns the collective |
flow field and relevant tracer as arguments and returns the collective |
56 |
tendancy due to advection and diffusion. Forcing is add subsequently |
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 tendancy |
in {\em S/R CALC\_GT} or {\em S/R CALC\_GS} to the same tendency |
58 |
array. |
array. |
59 |
|
|
60 |
\fbox{ \begin{minipage}{4.75in} |
\fbox{ \begin{minipage}{4.75in} |
68 |
|
|
69 |
\end{minipage} } |
\end{minipage} } |
70 |
|
|
71 |
|
The space and time discretization are treated separately (method of |
72 |
The space and time discretizations are treated seperately (method of |
lines). Tendencies are calculated at time levels $n$ and $n-1$ and |
73 |
lines). The Adams-Bashforth time discretization reads: |
extrapolated to $n+1/2$ using the Adams-Bashforth method: |
74 |
\marginpar{$\epsilon$: {\bf AB\_eps}} |
\marginpar{$\epsilon$: {\bf AB\_eps}} |
|
\marginpar{$\Delta t$: {\bf deltaTtracer}} |
|
75 |
\begin{equation} |
\begin{equation} |
76 |
\tau^{(n+1)} = \tau^{(n)} + \Delta t \left( |
G^{(n+1/2)} = |
77 |
(\frac{3}{2} + \epsilon) G^{(n)} - (\frac{1}{2} + \epsilon) G^{(n-1)} |
(\frac{3}{2} + \epsilon) G^{(n)} - (\frac{1}{2} + \epsilon) G^{(n-1)} |
|
\right) |
|
78 |
\end{equation} |
\end{equation} |
79 |
where $G^{(n)} = G_{adv}^\tau + G_{diff}^\tau + G_{src}^\tau$ at time |
where $G^{(n)} = G_{adv}^\tau + G_{diff}^\tau + G_{src}^\tau$ at time |
80 |
step $n$. |
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 |
|
|
83 |
Strictly speaking the ABII scheme should be applied only to the |
\fbox{ \begin{minipage}{4.75in} |
84 |
advection terms. However, this scheme is only used in conjuction with |
{\em S/R ADAMS\_BASHFORTH2} ({\em model/src/adams\_bashforth2.F}) |
85 |
the standard second, third and fourth order advection |
|
86 |
schemes. Selection of any other advection scheme disables |
$G^{(n+1/2)}$: {\bf gTracer} (argument on exit) |
87 |
Adams-Bashforth for tracers so that explicit diffusion and forcing use |
|
88 |
the forward method. |
$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 |
|
The tracers are stepped forward in time using the extrapolated tendency: |
97 |
|
\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} |
\fbox{ \begin{minipage}{4.75in} |
103 |
{\em S/R TIMESTEP\_TRACER} ({\em model/src/timestep\_tracer.F}) |
{\em S/R TIMESTEP\_TRACER} ({\em model/src/timestep\_tracer.F}) |
104 |
|
|
105 |
$\tau$: {\bf tracer} (argument) |
$\tau^{(n+1)}$: {\bf gTracer} (argument on exit) |
106 |
|
|
107 |
$G^{(n)}$: {\bf gTracer} (argument) |
$\tau^{(n)}$: {\bf tracer} (argument on entry) |
108 |
|
|
109 |
$G^{(n-1)}$: {\bf gTrNm1} (argument) |
$G^{(n+1/2)}$: {\bf gTracer} (argument) |
110 |
|
|
111 |
$\Delta t$: {\bf deltaTtracer} (PARAMS.h) |
$\Delta t$: {\bf deltaTtracer} (PARAMS.h) |
112 |
|
|
113 |
\end{minipage} } |
\end{minipage} } |
114 |
|
|
115 |
|
Strictly speaking the ABII scheme should be applied only to the |
116 |
|
advection terms. However, this scheme is only used in conjunction with |
117 |
|
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 |
|
\section{Linear advection schemes} |
126 |
|
\label{sect:tracer-advection} |
127 |
|
|
128 |
\begin{figure} |
\begin{figure} |
129 |
\resizebox{5.5in}{!}{\includegraphics{part2/advect-1d-lo.eps}} |
\resizebox{5.5in}{!}{\includegraphics{part2/advect-1d-lo.eps}} |
130 |
\caption{ |
\caption{ |
162 |
} |
} |
163 |
\end{figure} |
\end{figure} |
164 |
|
|
|
\section{Linear advection schemes} |
|
|
|
|
165 |
The advection schemes known as centered second order, centered fourth |
The advection schemes known as centered second order, centered fourth |
166 |
order, first order upwind and upwind biased third order are known as |
order, first order upwind and upwind biased third order are known as |
167 |
linear advection schemes because the coefficient for interpolation of |
linear advection schemes because the coefficient for interpolation of |
172 |
\subsection{Centered second order advection-diffusion} |
\subsection{Centered second order advection-diffusion} |
173 |
|
|
174 |
The basic discretization, centered second order, is the default. It is |
The basic discretization, centered second order, is the default. It is |
175 |
designed to be consistant with the continuity equation to facilitate |
designed to be consistent with the continuity equation to facilitate |
176 |
conservation properties analogous to the continuum. However, centered |
conservation properties analogous to the continuum. However, centered |
177 |
second order advection is notoriously noisey and must be used in |
second order advection is notoriously noisy and must be used in |
178 |
conjuction with some finite amount of diffusion to produce a sensible |
conjunction with some finite amount of diffusion to produce a sensible |
179 |
solution. |
solution. |
180 |
|
|
181 |
The advection operator is discretized: |
The advection operator is discretized: |
201 |
|
|
202 |
For non-divergent flow, this discretization can be shown to conserve |
For non-divergent flow, this discretization can be shown to conserve |
203 |
the tracer both locally and globally and to globally conserve tracer |
the tracer both locally and globally and to globally conserve tracer |
204 |
variance, $\tau^2$. The proof is given in \cite{Adcroft95,Adcroft97}. |
variance, $\tau^2$. The proof is given in \cite{adcroft:95,adcroft:97}. |
205 |
|
|
206 |
\fbox{ \begin{minipage}{4.75in} |
\fbox{ \begin{minipage}{4.75in} |
207 |
{\em S/R GAD\_C2\_ADV\_X} ({\em gad\_c2\_adv\_x.F}) |
{\em S/R GAD\_C2\_ADV\_X} ({\em gad\_c2\_adv\_x.F}) |
249 |
\end{eqnarray} |
\end{eqnarray} |
250 |
|
|
251 |
At boundaries, $\delta_{\hat{n}} \tau$ is set to zero allowing |
At boundaries, $\delta_{\hat{n}} \tau$ is set to zero allowing |
252 |
$\delta_{nn}$ to be evaluated. We are currently examing the accuracy |
$\delta_{nn}$ to be evaluated. We are currently examine the accuracy |
253 |
of this boundary condition and the effect on the solution. |
of this boundary condition and the effect on the solution. |
254 |
|
|
255 |
|
\fbox{ \begin{minipage}{4.75in} |
256 |
|
{\em S/R GAD\_U3\_ADV\_X} ({\em gad\_u3\_adv\_x.F}) |
257 |
|
|
258 |
|
$F_x$: {\bf uT} (argument) |
259 |
|
|
260 |
|
$U$: {\bf uTrans} (argument) |
261 |
|
|
262 |
|
$\tau$: {\bf tracer} (argument) |
263 |
|
|
264 |
|
{\em S/R GAD\_U3\_ADV\_Y} ({\em gad\_u3\_adv\_y.F}) |
265 |
|
|
266 |
|
$F_y$: {\bf vT} (argument) |
267 |
|
|
268 |
|
$V$: {\bf vTrans} (argument) |
269 |
|
|
270 |
|
$\tau$: {\bf tracer} (argument) |
271 |
|
|
272 |
|
{\em S/R GAD\_U3\_ADV\_R} ({\em gad\_u3\_adv\_r.F}) |
273 |
|
|
274 |
|
$F_r$: {\bf wT} (argument) |
275 |
|
|
276 |
|
$W$: {\bf rTrans} (argument) |
277 |
|
|
278 |
|
$\tau$: {\bf tracer} (argument) |
279 |
|
|
280 |
|
\end{minipage} } |
281 |
|
|
282 |
\subsection{Centered fourth order advection} |
\subsection{Centered fourth order advection} |
283 |
|
|
284 |
Centered fourth order advection is formally the most accurate scheme |
Centered fourth order advection is formally the most accurate scheme |
285 |
we have implemented and can be used to great effect in high resolution |
we have implemented and can be used to great effect in high resolution |
286 |
simultation where dynamical scales are well resolved. However, the |
simulation where dynamical scales are well resolved. However, the |
287 |
scheme is noisey like the centered second order method and so must be |
scheme is noisy like the centered second order method and so must be |
288 |
used with some finite amount of diffusion. Bi-harmonic is recommended |
used with some finite amount of diffusion. Bi-harmonic is recommended |
289 |
since it is more scale selective and less likely to diffuse away the |
since it is more scale selective and less likely to diffuse away the |
290 |
well resolved gradient the fourth order scheme worked so hard to |
well resolved gradient the fourth order scheme worked so hard to |
298 |
\end{eqnarray} |
\end{eqnarray} |
299 |
|
|
300 |
As for the third order scheme, the best discretization near boundaries |
As for the third order scheme, the best discretization near boundaries |
301 |
is under investigation but currenlty $\delta_i \tau=0$ on a boundary. |
is under investigation but currently $\delta_i \tau=0$ on a boundary. |
302 |
|
|
303 |
|
\fbox{ \begin{minipage}{4.75in} |
304 |
|
{\em S/R GAD\_C4\_ADV\_X} ({\em gad\_c4\_adv\_x.F}) |
305 |
|
|
306 |
|
$F_x$: {\bf uT} (argument) |
307 |
|
|
308 |
|
$U$: {\bf uTrans} (argument) |
309 |
|
|
310 |
|
$\tau$: {\bf tracer} (argument) |
311 |
|
|
312 |
|
{\em S/R GAD\_C4\_ADV\_Y} ({\em gad\_c4\_adv\_y.F}) |
313 |
|
|
314 |
|
$F_y$: {\bf vT} (argument) |
315 |
|
|
316 |
|
$V$: {\bf vTrans} (argument) |
317 |
|
|
318 |
|
$\tau$: {\bf tracer} (argument) |
319 |
|
|
320 |
|
{\em S/R GAD\_C4\_ADV\_R} ({\em gad\_c4\_adv\_r.F}) |
321 |
|
|
322 |
|
$F_r$: {\bf wT} (argument) |
323 |
|
|
324 |
|
$W$: {\bf rTrans} (argument) |
325 |
|
|
326 |
|
$\tau$: {\bf tracer} (argument) |
327 |
|
|
328 |
|
\end{minipage} } |
329 |
|
|
330 |
|
|
331 |
\subsection{First order upwind advection} |
\subsection{First order upwind advection} |
332 |
|
|
388 |
r = \frac{ \tau_{i+1} - \tau_{i} }{ \tau_{i} - \tau_{i-1} } & \forall & u < 0 |
r = \frac{ \tau_{i+1} - \tau_{i} }{ \tau_{i} - \tau_{i-1} } & \forall & u < 0 |
389 |
\end{eqnarray} |
\end{eqnarray} |
390 |
as it's argument. There are many choices of limiter function but we |
as it's argument. There are many choices of limiter function but we |
391 |
only provide the Superbee limiter \cite{Roe85}: |
only provide the Superbee limiter \cite{roe:85}: |
392 |
\begin{equation} |
\begin{equation} |
393 |
\psi(r) = \max[0,\min[1,2r],\min[2,r]] |
\psi(r) = \max[0,\min[1,2r],\min[2,r]] |
394 |
\end{equation} |
\end{equation} |
395 |
|
|
396 |
|
\fbox{ \begin{minipage}{4.75in} |
397 |
|
{\em S/R GAD\_FLUXLIMIT\_ADV\_X} ({\em gad\_fluxlimit\_adv\_x.F}) |
398 |
|
|
399 |
|
$F_x$: {\bf uT} (argument) |
400 |
|
|
401 |
|
$U$: {\bf uTrans} (argument) |
402 |
|
|
403 |
|
$\tau$: {\bf tracer} (argument) |
404 |
|
|
405 |
|
{\em S/R GAD\_FLUXLIMIT\_ADV\_Y} ({\em gad\_fluxlimit\_adv\_y.F}) |
406 |
|
|
407 |
|
$F_y$: {\bf vT} (argument) |
408 |
|
|
409 |
|
$V$: {\bf vTrans} (argument) |
410 |
|
|
411 |
|
$\tau$: {\bf tracer} (argument) |
412 |
|
|
413 |
|
{\em S/R GAD\_FLUXLIMIT\_ADV\_R} ({\em gad\_fluxlimit\_adv\_r.F}) |
414 |
|
|
415 |
|
$F_r$: {\bf wT} (argument) |
416 |
|
|
417 |
|
$W$: {\bf rTrans} (argument) |
418 |
|
|
419 |
|
$\tau$: {\bf tracer} (argument) |
420 |
|
|
421 |
|
\end{minipage} } |
422 |
|
|
423 |
|
|
424 |
\subsection{Third order direct space time} |
\subsection{Third order direct space time} |
425 |
|
|
426 |
The direct-space-time method deals with space and time discretization |
The direct-space-time method deals with space and time discretization |
427 |
together (other methods that treat space and time seperately are known |
together (other methods that treat space and time separately are known |
428 |
collectively as the ``Method of Lines''). The Lax-Wendroff scheme |
collectively as the ``Method of Lines''). The Lax-Wendroff scheme |
429 |
falls into this category; it adds sufficient diffusion to a second |
falls into this category; it adds sufficient diffusion to a second |
430 |
order flux that the forward-in-time method is stable. The upwind |
order flux that the forward-in-time method is stable. The upwind |
442 |
d_1 & = & \frac{1}{6} ( 2 - |c| ) ( 1 - |c| ) \\ |
d_1 & = & \frac{1}{6} ( 2 - |c| ) ( 1 - |c| ) \\ |
443 |
d_2 & = & \frac{1}{6} ( 1 - |c| ) ( 1 + |c| ) |
d_2 & = & \frac{1}{6} ( 1 - |c| ) ( 1 + |c| ) |
444 |
\end{eqnarray} |
\end{eqnarray} |
445 |
The coefficients $d_0$ and $d_1$ approach $1/3$ and $1/6$ repectively |
The coefficients $d_0$ and $d_1$ approach $1/3$ and $1/6$ respectively |
446 |
as the Courant number, $c$, vanishes. In this limit, the conventional |
as the Courant number, $c$, vanishes. In this limit, the conventional |
447 |
third order upwind method is recovered. For finite Courant number, the |
third order upwind method is recovered. For finite Courant number, the |
448 |
deviations from the linear method are analogous to the diffusion added |
deviations from the linear method are analogous to the diffusion added |
450 |
|
|
451 |
The DST3 method described above must be used in a forward-in-time |
The DST3 method described above must be used in a forward-in-time |
452 |
manner and is stable for $0 \le |c| \le 1$. Although the scheme |
manner and is stable for $0 \le |c| \le 1$. Although the scheme |
453 |
appears to be forward-in-time, it is in fact second order in time and |
appears to be forward-in-time, it is in fact third order in time and |
454 |
the accuracy increases with the Courant number! For low Courant |
the accuracy increases with the Courant number! For low Courant |
455 |
number, DST3 produces very similar results (indistinguishable in |
number, DST3 produces very similar results (indistinguishable in |
456 |
Fig.~\ref{fig:advect-1d-lo}) to the linear third order method but for |
Fig.~\ref{fig:advect-1d-lo}) to the linear third order method but for |
458 |
unstable, the scheme is extremely accurate |
unstable, the scheme is extremely accurate |
459 |
(Fig.~\ref{fig:advect-1d-hi}) with only minor overshoots. |
(Fig.~\ref{fig:advect-1d-hi}) with only minor overshoots. |
460 |
|
|
461 |
|
\fbox{ \begin{minipage}{4.75in} |
462 |
|
{\em S/R GAD\_DST3\_ADV\_X} ({\em gad\_dst3\_adv\_x.F}) |
463 |
|
|
464 |
|
$F_x$: {\bf uT} (argument) |
465 |
|
|
466 |
|
$U$: {\bf uTrans} (argument) |
467 |
|
|
468 |
|
$\tau$: {\bf tracer} (argument) |
469 |
|
|
470 |
|
{\em S/R GAD\_DST3\_ADV\_Y} ({\em gad\_dst3\_adv\_y.F}) |
471 |
|
|
472 |
|
$F_y$: {\bf vT} (argument) |
473 |
|
|
474 |
|
$V$: {\bf vTrans} (argument) |
475 |
|
|
476 |
|
$\tau$: {\bf tracer} (argument) |
477 |
|
|
478 |
|
{\em S/R GAD\_DST3\_ADV\_R} ({\em gad\_dst3\_adv\_r.F}) |
479 |
|
|
480 |
|
$F_r$: {\bf wT} (argument) |
481 |
|
|
482 |
|
$W$: {\bf rTrans} (argument) |
483 |
|
|
484 |
|
$\tau$: {\bf tracer} (argument) |
485 |
|
|
486 |
|
\end{minipage} } |
487 |
|
|
488 |
|
|
489 |
\subsection{Third order direct space time with flux limiting} |
\subsection{Third order direct space time with flux limiting} |
490 |
|
|
491 |
The overshoots in the DST3 method can be controlled with a flux limiter. |
The overshoots in the DST3 method can be controlled with a flux limiter. |
506 |
\psi(r) = \max[0, \min[\min(1,d_0+d_1r],\frac{1-c}{c}r ]] |
\psi(r) = \max[0, \min[\min(1,d_0+d_1r],\frac{1-c}{c}r ]] |
507 |
\end{equation} |
\end{equation} |
508 |
|
|
509 |
|
\fbox{ \begin{minipage}{4.75in} |
510 |
|
{\em S/R GAD\_DST3FL\_ADV\_X} ({\em gad\_dst3\_adv\_x.F}) |
511 |
|
|
512 |
|
$F_x$: {\bf uT} (argument) |
513 |
|
|
514 |
|
$U$: {\bf uTrans} (argument) |
515 |
|
|
516 |
|
$\tau$: {\bf tracer} (argument) |
517 |
|
|
518 |
|
{\em S/R GAD\_DST3FL\_ADV\_Y} ({\em gad\_dst3\_adv\_y.F}) |
519 |
|
|
520 |
|
$F_y$: {\bf vT} (argument) |
521 |
|
|
522 |
|
$V$: {\bf vTrans} (argument) |
523 |
|
|
524 |
|
$\tau$: {\bf tracer} (argument) |
525 |
|
|
526 |
|
{\em S/R GAD\_DST3FL\_ADV\_R} ({\em gad\_dst3\_adv\_r.F}) |
527 |
|
|
528 |
|
$F_r$: {\bf wT} (argument) |
529 |
|
|
530 |
|
$W$: {\bf rTrans} (argument) |
531 |
|
|
532 |
|
$\tau$: {\bf tracer} (argument) |
533 |
|
|
534 |
|
\end{minipage} } |
535 |
|
|
536 |
|
|
537 |
\subsection{Multi-dimensional advection} |
\subsection{Multi-dimensional advection} |
538 |
|
|
539 |
In many of the aforementioned advection schemes the behaviour in |
\begin{figure} |
540 |
|
\resizebox{5.5in}{!}{\includegraphics{part2/advect-2d-lo-diag.eps}} |
541 |
|
\caption{ |
542 |
|
Comparison of advection schemes in two dimensions; diagonal advection |
543 |
|
of a resolved Gaussian feature. Courant number is 0.01 with |
544 |
|
30$\times$30 points and solutions are shown for T=1/2. White lines |
545 |
|
indicate zero crossing (ie. the presence of false minima). The left |
546 |
|
column shows the second order schemes; top) centered second order with |
547 |
|
Adams-Bashforth, middle) Lax-Wendroff and bottom) Superbee flux |
548 |
|
limited. The middle column shows the third order schemes; top) upwind |
549 |
|
biased third order with Adams-Bashforth, middle) third order direct |
550 |
|
space-time method and bottom) the same with flux limiting. The top |
551 |
|
right panel shows the centered fourth order scheme with |
552 |
|
Adams-Bashforth and right middle panel shows a fourth order variant on |
553 |
|
the DST method. Bottom right panel shows the Superbee flux limiter |
554 |
|
(second order) applied independently in each direction (method of |
555 |
|
lines). |
556 |
|
\label{fig:advect-2d-lo-diag} |
557 |
|
} |
558 |
|
\end{figure} |
559 |
|
|
560 |
|
\begin{figure} |
561 |
|
\resizebox{5.5in}{!}{\includegraphics{part2/advect-2d-mid-diag.eps}} |
562 |
|
\caption{ |
563 |
|
Comparison of advection schemes in two dimensions; diagonal advection |
564 |
|
of a resolved Gaussian feature. Courant number is 0.27 with |
565 |
|
30$\times$30 points and solutions are shown for T=1/2. White lines |
566 |
|
indicate zero crossing (ie. the presence of false minima). The left |
567 |
|
column shows the second order schemes; top) centered second order with |
568 |
|
Adams-Bashforth, middle) Lax-Wendroff and bottom) Superbee flux |
569 |
|
limited. The middle column shows the third order schemes; top) upwind |
570 |
|
biased third order with Adams-Bashforth, middle) third order direct |
571 |
|
space-time method and bottom) the same with flux limiting. The top |
572 |
|
right panel shows the centered fourth order scheme with |
573 |
|
Adams-Bashforth and right middle panel shows a fourth order variant on |
574 |
|
the DST method. Bottom right panel shows the Superbee flux limiter |
575 |
|
(second order) applied independently in each direction (method of |
576 |
|
lines). |
577 |
|
\label{fig:advect-2d-mid-diag} |
578 |
|
} |
579 |
|
\end{figure} |
580 |
|
|
581 |
|
\begin{figure} |
582 |
|
\resizebox{5.5in}{!}{\includegraphics{part2/advect-2d-hi-diag.eps}} |
583 |
|
\caption{ |
584 |
|
Comparison of advection schemes in two dimensions; diagonal advection |
585 |
|
of a resolved Gaussian feature. Courant number is 0.47 with |
586 |
|
30$\times$30 points and solutions are shown for T=1/2. White lines |
587 |
|
indicate zero crossings and initial maximum values (ie. the presence |
588 |
|
of false extrema). The left column shows the second order schemes; |
589 |
|
top) centered second order with Adams-Bashforth, middle) Lax-Wendroff |
590 |
|
and bottom) Superbee flux limited. The middle column shows the third |
591 |
|
order schemes; top) upwind biased third order with Adams-Bashforth, |
592 |
|
middle) third order direct space-time method and bottom) the same with |
593 |
|
flux limiting. The top right panel shows the centered fourth order |
594 |
|
scheme with Adams-Bashforth and right middle panel shows a fourth |
595 |
|
order variant on the DST method. Bottom right panel shows the Superbee |
596 |
|
flux limiter (second order) applied independently in each direction |
597 |
|
(method of lines). |
598 |
|
\label{fig:advect-2d-hi-diag} |
599 |
|
} |
600 |
|
\end{figure} |
601 |
|
|
602 |
|
|
603 |
|
|
604 |
|
In many of the aforementioned advection schemes the behavior in |
605 |
multiple dimensions is not necessarily as good as the one dimensional |
multiple dimensions is not necessarily as good as the one dimensional |
606 |
behaviour. For instance, a shape preserving monotonic scheme in one |
behavior. For instance, a shape preserving monotonic scheme in one |
607 |
dimension can have severe shape distortion in two dimensions if the |
dimension can have severe shape distortion in two dimensions if the |
608 |
two components of horizontal fluxes are treated independently. There |
two components of horizontal fluxes are treated independently. There |
609 |
is a large body of literature on the subject dealing with this problem |
is a large body of literature on the subject dealing with this problem |
624 |
\end{eqnarray} |
\end{eqnarray} |
625 |
|
|
626 |
In order to incorporate this method into the general model algorithm, |
In order to incorporate this method into the general model algorithm, |
627 |
we compute the effective tendancy rather than update the tracer so |
we compute the effective tendency rather than update the tracer so |
628 |
that other terms such as diffusion are using the $n$ time-level and |
that other terms such as diffusion are using the $n$ time-level and |
629 |
not the updated $n+3/3$ quantities: |
not the updated $n+3/3$ quantities: |
630 |
\begin{equation} |
\begin{equation} |
634 |
\begin{equation} |
\begin{equation} |
635 |
\tau^{n+1} = \tau^{n} + \Delta t \left( G^{n+1/2}_{adv} + G_{diff}(\tau^{n}) + G^{n}_{forcing} \right) |
\tau^{n+1} = \tau^{n} + \Delta t \left( G^{n+1/2}_{adv} + G_{diff}(\tau^{n}) + G^{n}_{forcing} \right) |
636 |
\end{equation} |
\end{equation} |
637 |
|
|
638 |
|
\fbox{ \begin{minipage}{4.75in} |
639 |
|
{\em S/R GAD\_ADVECTION} ({\em gad\_advection.F}) |
640 |
|
|
641 |
|
$\tau$: {\bf Tracer} (argument) |
642 |
|
|
643 |
|
$G^{n+1/2}_{adv}$: {\bf Gtracer} (argument) |
644 |
|
|
645 |
|
$F_x, F_y, F_r$: {\bf af} (local) |
646 |
|
|
647 |
|
$U$: {\bf uTrans} (local) |
648 |
|
|
649 |
|
$V$: {\bf vTrans} (local) |
650 |
|
|
651 |
|
$W$: {\bf rTrans} (local) |
652 |
|
|
653 |
|
\end{minipage} } |
654 |
|
|
655 |
|
|
656 |
|
\section{Comparison of advection schemes} |
657 |
|
|
658 |
|
Figs.~\ref{fig:advect-2d-lo-diag}, \ref{fig:advect-2d-mid-diag} and |
659 |
|
\ref{fig:advect-2d-hi-diag} show solutions to a simple diagonal |
660 |
|
advection problem using a selection of schemes for low, moderate and |
661 |
|
high Courant numbers, respectively. The top row shows the linear |
662 |
|
schemes, integrated with the Adams-Bashforth method. Theses schemes |
663 |
|
are clearly unstable for the high Courant number and weakly unstable |
664 |
|
for the moderate Courant number. The presence of false extrema is very |
665 |
|
apparent for all Courant numbers. The middle row shows solutions |
666 |
|
obtained with the unlimited but multi-dimensional schemes. These |
667 |
|
solutions also exhibit false extrema though the pattern now shows |
668 |
|
symmetry due to the multi-dimensional scheme. Also, the schemes are |
669 |
|
stable at high Courant number where the linear schemes weren't. The |
670 |
|
bottom row (left and middle) shows the limited schemes and most |
671 |
|
obvious is the absence of false extrema. The accuracy and stability of |
672 |
|
the unlimited non-linear schemes is retained at high Courant number |
673 |
|
but at low Courant number the tendency is to loose amplitude in sharp |
674 |
|
peaks due to diffusion. The one dimensional tests shown in |
675 |
|
Figs.~\ref{fig:advect-1d-lo} and \ref{fig:advect-1d-hi} showed this |
676 |
|
phenomenon. |
677 |
|
|
678 |
|
Finally, the bottom left and right panels use the same advection |
679 |
|
scheme but the right does not use the multi-dimensional method. At low |
680 |
|
Courant number this appears to not matter but for moderate Courant |
681 |
|
number severe distortion of the feature is apparent. Moreover, the |
682 |
|
stability of the multi-dimensional scheme is determined by the maximum |
683 |
|
Courant number applied of each dimension while the stability of the |
684 |
|
method of lines is determined by the sum. Hence, in the high Courant |
685 |
|
number plot, the scheme is unstable. |
686 |
|
|
687 |
|
With many advection schemes implemented in the code two questions |
688 |
|
arise: ``Which scheme is best?'' and ``Why don't you just offer the |
689 |
|
best advection scheme?''. Unfortunately, no one advection scheme is |
690 |
|
``the best'' for all particular applications and for new applications |
691 |
|
it is often a matter of trial to determine which is most |
692 |
|
suitable. Here are some guidelines but these are not the rule; |
693 |
|
\begin{itemize} |
694 |
|
\item If you have a coarsely resolved model, using a |
695 |
|
positive or upwind biased scheme will introduce significant diffusion |
696 |
|
to the solution and using a centered higher order scheme will |
697 |
|
introduce more noise. In this case, simplest may be best. |
698 |
|
\item If you have a high resolution model, using a higher order |
699 |
|
scheme will give a more accurate solution but scale-selective |
700 |
|
diffusion might need to be employed. The flux limited methods |
701 |
|
offer similar accuracy in this regime. |
702 |
|
\item If your solution has shocks or propagating fronts then a |
703 |
|
flux limited scheme is almost essential. |
704 |
|
\item If your time-step is limited by advection, the multi-dimensional |
705 |
|
non-linear schemes have the most stability (up to Courant number 1). |
706 |
|
\item If you need to know how much diffusion/dissipation has occurred you |
707 |
|
will have a lot of trouble figuring it out with a non-linear method. |
708 |
|
\item The presence of false extrema is non-physical and this alone is the |
709 |
|
strongest argument for using a positive scheme. |
710 |
|
\end{itemize} |