--- manual/s_examples/deep_convection/convection.tex 2002/02/28 19:32:19 1.2 +++ manual/s_examples/deep_convection/convection.tex 2004/10/16 03:40:13 1.5 @@ -1,5 +1,9 @@ \section{Surface Driven Convection} +\label{www:tutorials} \label{sect:eg-bconv} +\begin{rawhtml} + +\end{rawhtml} \bodytext{bgcolor="#FFFFFFFF"} @@ -39,6 +43,7 @@ \end{itemize} \subsection{Overview} +\label{www:tutorials} The model domain consists of an approximately 3 km square by 1 km deep box of initially @@ -108,6 +113,7 @@ in a binary data file generated using the Matlab script {\it input/gendata.m}. \subsection{Equations solved} +\label{www:tutorials} The model is configured in nonhydrostatic form, that is, all terms in the Navier Stokes equations are retained and the pressure field is found, subject to appropriate @@ -177,12 +183,14 @@ \\ \subsection{Discrete numerical configuration} +\label{www:tutorials} The domain is discretised with a uniform grid spacing in each direction. There are 64 grid cells in directions $x$ and $y$ and 20 vertical levels thus the domain comprises a total of just over 80 000 gridpoints. \subsection{Numerical stability criteria and other considerations} +\label{www:tutorials} For a heat flux of 800 Wm$^2$ and a rotation rate of $10^{-4}$ s$^{-1}$ the plume-scale can be expected to be a few hundred meters guiding our choice of grid @@ -208,6 +216,7 @@ correlated over 50 m. \subsection{Experiment configuration} +\label{www:tutorials} The model configuration for this experiment resides under the directory {\it verification/convection/}. The experiment files @@ -224,16 +233,19 @@ experiment. Below we describe these experiment-specific customisations. \subsubsection{File {\it code/CPP\_EEOPTIONS.h}} +\label{www:tutorials} This file uses standard default values and does not contain customisations for this experiment. \subsubsection{File {\it code/CPP\_OPTIONS.h}} +\label{www:tutorials} This file uses standard default values and does not contain customisations for this experiment. \subsubsection{File {\it code/SIZE.h}} +\label{www:tutorials} Three lines are customized in this file. These prescribe the domain grid dimensions. \begin{itemize} @@ -261,6 +273,7 @@ \begin{rawhtml}\end{rawhtml} \subsubsection{File {\it input/data}} +\label{www:tutorials} This file, reproduced completely below, specifies the main parameters for the experiment. The parameters that are significant for this configuration @@ -270,7 +283,7 @@ \item Line 4, \begin{verbatim} - 4 tRef=20*20.0, + 4 tRef=20*20.0, \end{verbatim} this line sets the initial and reference values of potential temperature at each model @@ -280,19 +293,19 @@ $x$ and $y$. The values specified are read into the variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} tRef \begin{rawhtml} \end{rawhtml} } in the model code, by procedure {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml}. } The temperature field is initialised, by procedure {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_THETA ({\it ini\_theta.F}) \begin{rawhtml} \end{rawhtml}. } @@ -300,7 +313,7 @@ \item Line 5, \begin{verbatim} - 5 sRef=20*35.0, + 5 sRef=20*35.0, \end{verbatim} this line sets the initial and reference values of salinity at each model level in units of ppt. In this case salinity is set to an (arbitrary) uniform value of @@ -310,19 +323,19 @@ $x$ and $y$. The values specified are read into the variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} sRef \begin{rawhtml} \end{rawhtml} } in the model code, by procedure {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) } \begin{rawhtml} \end{rawhtml}. The salinity field is initialised, by procedure {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_SALT ({\it ini\_salt.F}) \begin{rawhtml} \end{rawhtml}. } @@ -330,30 +343,30 @@ \item Line 6, \begin{verbatim} - 6 viscAh=0.1, + 6 viscAh=0.1, \end{verbatim} this line sets the horizontal laplacian dissipation coefficient to 0.1 ${\rm m^{2}s^{-1}}$. Boundary conditions for this operator are specified later. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} viscAh \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_params.F}) \begin{rawhtml} \end{rawhtml} } and applied in routines {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_MOM\_RHS ({\it calc\_mom\_rhs.F}) \begin{rawhtml} \end{rawhtml} } and {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_GW ({\it calc\_gw.F}) \begin{rawhtml} \end{rawhtml} }. @@ -361,32 +374,32 @@ \item Line 7, \begin{verbatim} - 7 viscAz=0.1, + 7 viscAz=0.1, \end{verbatim} this line sets the vertical laplacian frictional dissipation coefficient to 0.1 ${\rm m^{2}s^{-1}}$. Boundary conditions for this operator are specified later. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} viscAz \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} } and is copied into model general vertical coordinate variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} viscAr \begin{rawhtml} \end{rawhtml} }. At each time step, the viscous term contribution to the momentum equations is calculated in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_DIFFUSIVITY ({\it calc\_diffusivity.F}) \begin{rawhtml} \end{rawhtml} }. @@ -402,18 +415,18 @@ $\frac{\partial v}{\partial x}$=0 along boundaries in $x$. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} no\_slip\_sides \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} } and the boundary condition is evaluated in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_MOM\_RHS ({\it calc\_mom\_rhs.F}) \begin{rawhtml} \end{rawhtml} }. @@ -428,18 +441,18 @@ e.g. $u=v=0$ at $z=-H$, where $H$ is the local depth of the domain. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} no\_slip\_bottom \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} } and is applied in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_MOM\_RHS ({\it calc\_mom\_rhs.F}) \begin{rawhtml} \end{rawhtml} }. @@ -454,18 +467,18 @@ all boundaries. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} diffKhT \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} } and used in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_GT ({\it calc\_gt.F}) \begin{rawhtml} \end{rawhtml} }. @@ -479,24 +492,24 @@ operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} diffKzT \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} }. It is copied into model general vertical coordinate variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} diffKrT \begin{rawhtml} \end{rawhtml} } which is used in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_DIFFUSIVITY ({\it calc\_diffusivity.F}) \begin{rawhtml} \end{rawhtml} }. @@ -512,18 +525,18 @@ all boundaries. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} diffKsT \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} } and used in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_GS ({\it calc\_gs.F}) \begin{rawhtml} \end{rawhtml} }. @@ -538,24 +551,24 @@ operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} diffKzS \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} }. It is copied into model general vertical coordinate variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} diffKrS \begin{rawhtml} \end{rawhtml} } which is used in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CALC\_DIFFUSIVITY ({\it calc\_diffusivity.F}) \begin{rawhtml} \end{rawhtml} }. @@ -584,19 +597,19 @@ to $2 \times 10^{-4}$ $^o$ C$^{-1}$. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} tAlpha \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} }. The routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R FIND\_RHO ({\it find\_rho.F}) \begin{rawhtml} \end{rawhtml} } makes use of {\bf tAlpha}. @@ -662,7 +675,7 @@ gradient solver will use to 40, {\bf irrespective of the convergence criteria being met}. Used in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CG3D ({\it cg3d.F}) \begin{rawhtml} \end{rawhtml} }. @@ -680,7 +693,7 @@ tolerance falls below this value or until the maximum number of solver iterations is reached. Used in routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R CG3D ({\it cg3d.F}) \begin{rawhtml} \end{rawhtml} }. @@ -749,19 +762,19 @@ surface heat flux file used in the example. The variable {\bf -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} Qsurf \begin{rawhtml} \end{rawhtml} } is read in the routine {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R INI\_PARMS ({\it ini\_parms.F}) \begin{rawhtml} \end{rawhtml} } and applied in {\it -\begin{rawhtml} \end{rawhtml} +\begin{rawhtml} \end{rawhtml} S/R EXTERNAL\_FORCING\_SURF ({\it external\_forcing\_surf.F}) \begin{rawhtml} \end{rawhtml} } where the flux is converted to a temperature tendency. @@ -778,17 +791,20 @@ \subsubsection{File {\it input/data.pkg}} +\label{www:tutorials} This file uses standard default values and does not contain customisations for this experiment. \subsubsection{File {\it input/eedata}} +\label{www:tutorials} This file uses standard default values and does not contain customisations for this experiment. \subsubsection{File {\it input/Qsurf.bin}} +\label{www:tutorials} The file {\it input/Qsurf.bin} specifies a two-dimensional ($x,y$) map of heat flux values where @@ -811,13 +827,16 @@ \end{figure} \subsection{Running the example} +\label{www:tutorials} \subsubsection{Code download} +\label{www:tutorials} In order to run the examples you must first download the code distribution. Instructions for downloading the code can be found in \ref{sect:obtainingCode}. \subsubsection{Experiment Location} +\label{www:tutorials} This example experiments is located under the release sub-directory @@ -825,6 +844,7 @@ {\it verification/convection/ } \subsubsection{Running the Experiment} +\label{www:tutorials} To run the experiment