| 1 | 
molod | 
1.9 | 
% $Header: /u/gcmpack/manual/part6/generic_advdiff.tex,v 1.8 2006/04/06 21:35:26 edhill Exp $ | 
| 2 | 
edhill | 
1.1 | 
% $Name:  $ | 
| 3 | 
  | 
  | 
 | 
| 4 | 
  | 
  | 
 | 
| 5 | 
molod | 
1.5 | 
\subsection{Generic Advection/Diffusion} | 
| 6 | 
edhill | 
1.1 | 
\label{sec:pkg:gad} | 
| 7 | 
edhill | 
1.3 | 
\begin{rawhtml} | 
| 8 | 
  | 
  | 
<!-- CMIREDIR:package_gad: --> | 
| 9 | 
  | 
  | 
\end{rawhtml} | 
| 10 | 
  | 
  | 
 | 
| 11 | 
jmc | 
1.4 | 
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 | 
edhill | 
1.1 | 
 | 
| 18 | 
  | 
  | 
 | 
| 19 | 
molod | 
1.5 | 
\subsubsection{Introduction} | 
| 20 | 
cnh | 
1.6 | 
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 | 
edhill | 
1.1 | 
 | 
| 45 | 
molod | 
1.7 | 
\subsubsection{GAD Diagnostics} | 
| 46 | 
  | 
  | 
\label{sec:pkg:gad:diagnostics} | 
| 47 | 
edhill | 
1.1 | 
 | 
| 48 | 
edhill | 
1.8 | 
{\footnotesize | 
| 49 | 
molod | 
1.7 | 
\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 | 
edhill | 
1.8 | 
} | 
| 70 | 
edhill | 
1.1 | 
 | 
| 71 | 
molod | 
1.9 | 
\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{sect:eg-offline} } | 
| 76 | 
  | 
  | 
\item{Baroclinic gyre experiment, in tutorial\_baroclinic\_gyre verification directory, described in  | 
| 77 | 
  | 
  | 
      section \ref{sect:eg-fourlayer} } | 
| 78 | 
  | 
  | 
\item{Tracer Sensitivity tutorial, in tutorial\_tracer\_adjsens verification directory, described in  | 
| 79 | 
  | 
  | 
      section \ref{sect:eg-simple-tracer} } | 
| 80 | 
  | 
  | 
\end{itemize} |