2 |
% $Name$ |
% $Name$ |
3 |
|
|
4 |
|
|
5 |
\section{Generic Advection/Diffusion} |
\subsection{Generic Advection/Diffusion} |
6 |
\label{sec:pkg:gad} |
\label{sec:pkg:gad} |
7 |
\begin{rawhtml} |
\begin{rawhtml} |
8 |
<!-- CMIREDIR:package_gad: --> |
<!-- CMIREDIR:package_gad: --> |
9 |
\end{rawhtml} |
\end{rawhtml} |
10 |
|
|
11 |
The {\tt generic\_advdiff} package provides... |
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 |
\subsection{Introduction} |
salinity or water vapor) or passive (see pkg/ptracers). |
15 |
Package {\tt generic\_advdiff} is a... |
(see also sections \ref{sec:tracer_equations} to |
16 |
|
\ref{sec:tracer_advection_schemes}). |
17 |
|
|
18 |
\subsection{Key subroutines, parameters and files} |
|
19 |
\label{sec:pkg:rw:implementation_synopsis} |
\subsubsection{Introduction} |
20 |
The {\tt generic\_advdiff} package has... |
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 |
|
\subsubsection{GAD Diagnostics} |
46 |
|
\label{sec:pkg:gad:diagnostics} |
47 |
|
|
48 |
|
{\footnotesize |
49 |
|
\begin{verbatim} |
50 |
|
|
51 |
|
------------------------------------------------------------------------ |
52 |
|
<-Name->|Levs|<-parsing code->|<-- Units -->|<- Tile (max=80c) |
53 |
|
------------------------------------------------------------------------ |
54 |
|
ADVr_TH | 15 |WM LR |degC.m^3/s |Vertical Advective Flux of Pot.Temperature |
55 |
|
ADVx_TH | 15 |UU 087MR |degC.m^3/s |Zonal Advective Flux of Pot.Temperature |
56 |
|
ADVy_TH | 15 |VV 086MR |degC.m^3/s |Meridional Advective Flux of Pot.Temperature |
57 |
|
DFrE_TH | 15 |WM LR |degC.m^3/s |Vertical Diffusive Flux of Pot.Temperature (Explicit part) |
58 |
|
DIFx_TH | 15 |UU 090MR |degC.m^3/s |Zonal Diffusive Flux of Pot.Temperature |
59 |
|
DIFy_TH | 15 |VV 089MR |degC.m^3/s |Meridional Diffusive Flux of Pot.Temperature |
60 |
|
DFrI_TH | 15 |WM LR |degC.m^3/s |Vertical Diffusive Flux of Pot.Temperature (Implicit part) |
61 |
|
ADVr_SLT| 15 |WM LR |psu.m^3/s |Vertical Advective Flux of Salinity |
62 |
|
ADVx_SLT| 15 |UU 094MR |psu.m^3/s |Zonal Advective Flux of Salinity |
63 |
|
ADVy_SLT| 15 |VV 093MR |psu.m^3/s |Meridional Advective Flux of Salinity |
64 |
|
DFrE_SLT| 15 |WM LR |psu.m^3/s |Vertical Diffusive Flux of Salinity (Explicit part) |
65 |
|
DIFx_SLT| 15 |UU 097MR |psu.m^3/s |Zonal Diffusive Flux of Salinity |
66 |
|
DIFy_SLT| 15 |VV 096MR |psu.m^3/s |Meridional Diffusive Flux of Salinity |
67 |
|
DFrI_SLT| 15 |WM LR |psu.m^3/s |Vertical Diffusive Flux of Salinity (Implicit part) |
68 |
|
\end{verbatim} |
69 |
|
} |
70 |
|
|
71 |
|
\subsubsection{Experiments and tutorials that use GAD} |
72 |
|
\label{sec:pkg:gad:experiments} |
73 |
|
|
74 |
|
\begin{itemize} |
75 |
|
\item{Offline tutorial, in tutorial\_offline verification directory, described in section \ref{sec:eg-offline} } |
76 |
|
\item{Baroclinic gyre experiment, in tutorial\_baroclinic\_gyre verification directory, described in |
77 |
|
section \ref{sec:eg-fourlayer} } |
78 |
|
\item{Tracer Sensitivity tutorial, in tutorial\_tracer\_adjsens verification directory, described in |
79 |
|
section \ref{sec:eg-simple-tracer-adjoint} } |
80 |
|
\end{itemize} |