| 1 |
% $Header: /u/gcmpack/manual/s_phys_pkgs/text/generic_advdiff.tex,v 1.9 2006/06/28 02:59:03 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{sec:tracer_equations} to |
| 16 |
\ref{sec: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 |
\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} |