1 |
% $Header: /u/gcmpack/manual/part6/generic_advdiff.tex,v 1.5 2005/07/18 20:45:27 molod Exp $ |
2 |
% $Name: $ |
3 |
|
4 |
|
5 |
\subsection{Generic Advection/Diffusion} |
6 |
\label{sec:pkg:gad} |
7 |
\begin{rawhtml} |
8 |
<!-- CMIREDIR:package_gad: --> |
9 |
\end{rawhtml} |
10 |
|
11 |
The {\tt generic\_advdiff} package contains high-level |
12 |
subroutines to solve the advection-diffusion equation |
13 |
of any tracer, either active (potential temperature, |
14 |
salinity or water vapor) or passive (see pkg/ptracers). |
15 |
(see also sections \ref{sect:tracer_equations} to |
16 |
\ref{sect:tracer_advection_schemes}). |
17 |
|
18 |
|
19 |
\subsubsection{Introduction} |
20 |
Package ``generic\_advdiff'' provides a common set of routines for |
21 |
calculating advective/diffusive fluxes for tracers (cell centered |
22 |
quantities on a C-grid). |
23 |
|
24 |
Many different advection schemes are available: the standard centered |
25 |
second order, centered fourth order and upwind biased third order |
26 |
schemes are known as linear methods and require some stable |
27 |
time-stepping method such as Adams-Bashforth. Alternatives such as |
28 |
flux-limited schemes are stable in the forward sense and are best |
29 |
combined with the multi-dimensional method provided in gad\_advection. |
30 |
|
31 |
\subsubsection{Key subroutines, parameters and files} |
32 |
\label{sec:pkg:gad:implementation_synopsis} |
33 |
There are two high-level routines: |
34 |
\begin{itemize} |
35 |
\item{GAD\_CALC\_RHS} calculates all fluxes at time level ``n'' and is |
36 |
used for the standard linear schemes. This must be used in |
37 |
conjuction with Adams--Bashforth time stepping. Diffusive and |
38 |
parameterized fluxes are always calculated here. |
39 |
|
40 |
\item{GAD\_ADVECTION} calculates just the advective fluxes using the |
41 |
non-linear schemes and can not be used in conjuction with |
42 |
Adams--Bashforth time stepping. |
43 |
\end{itemize} |
44 |
|
45 |
|
46 |
|
47 |
|