/[MITgcm]/manual/s_examples/baroclinic_gyre/fourlayer.tex
ViewVC logotype

Diff of /manual/s_examples/baroclinic_gyre/fourlayer.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.4 by cnh, Wed Oct 24 19:43:07 2001 UTC revision 1.18 by cnh, Wed Oct 13 05:06:26 2004 UTC
# Line 1  Line 1 
1  % $Header$  % $Header$
2  % $Name$  % $Name$
3    
4  \section{Example: Four layer Baroclinic Ocean Gyre In Spherical Coordinates}  \section[Baroclinic Gyre MITgcm Example]{Four Layer Baroclinic Ocean Gyre In Spherical Coordinates}
5  \label{sec:eg-fourlayer}  \label{www:tutorials}
6    \label{sect:eg-fourlayer}
7    
8  \bodytext{bgcolor="#FFFFFFFF"}  \bodytext{bgcolor="#FFFFFFFF"}
9    
# Line 19  Line 20 
20  This document describes an example experiment using MITgcm  This document describes an example experiment using MITgcm
21  to simulate a baroclinic ocean gyre in spherical  to simulate a baroclinic ocean gyre in spherical
22  polar coordinates. The barotropic  polar coordinates. The barotropic
23  example experiment in section \ref{sec:eg-baro}  example experiment in section \ref{sect:eg-baro}
24  ilustrated how to configure the code for a single layer  illustrated how to configure the code for a single layer
25  simulation in a cartesian grid. In this example a similar physical problem  simulation in a Cartesian grid. In this example a similar physical problem
26  is simulated, but the code is now configured  is simulated, but the code is now configured
27  for four layers and in a spherical polar coordinate system.  for four layers and in a spherical polar coordinate system.
28    
29  \subsection{Overview}  \subsection{Overview}
30    \label{www:tutorials}
31    
32  This example experiment demonstrates using the MITgcm to simulate  This example experiment demonstrates using the MITgcm to simulate
33  a baroclinic, wind-forced, ocean gyre circulation. The experiment  a baroclinic, wind-forced, ocean gyre circulation. The experiment
34  is a numerical rendition of the gyre circulation problem simliar  is a numerical rendition of the gyre circulation problem similar
35  to the problems described analytically by Stommel in 1966  to the problems described analytically by Stommel in 1966
36  \cite{Stommel66} and numerically in Holland et. al \cite{Holland75}.  \cite{Stommel66} and numerically in Holland et. al \cite{Holland75}.
37  \\  \\
# Line 37  to the problems described analytically b Line 39  to the problems described analytically b
39  In this experiment the model is configured to represent a mid-latitude  In this experiment the model is configured to represent a mid-latitude
40  enclosed sector of fluid on a sphere, $60^{\circ} \times 60^{\circ}$ in  enclosed sector of fluid on a sphere, $60^{\circ} \times 60^{\circ}$ in
41  lateral extent. The fluid is $2$~km deep and is forced  lateral extent. The fluid is $2$~km deep and is forced
42  by a constant in time zonal wind stress, $\tau_x$, that varies sinusoidally  by a constant in time zonal wind stress, $\tau_{\lambda}$, that varies
43  in the north-south direction. Topologically the simulated  sinusoidally in the north-south direction. Topologically the simulated
44  domain is a sector on a sphere and the coriolis parameter, $f$, is defined  domain is a sector on a sphere and the coriolis parameter, $f$, is defined
45  according to latitude, $\varphi$  according to latitude, $\varphi$
46    
47  \begin{equation}  \begin{equation}
48  \label{EQ:fcori}  \label{EQ:eg-fourlayer-fcori}
49  f(\varphi) = 2 \Omega \sin( \varphi )  f(\varphi) = 2 \Omega \sin( \varphi )
50  \end{equation}  \end{equation}
51    
# Line 54  f(\varphi) = 2 \Omega \sin( \varphi ) Line 56  f(\varphi) = 2 \Omega \sin( \varphi )
56    
57  \begin{equation}  \begin{equation}
58  \label{EQ:taux}  \label{EQ:taux}
59  \tau_x(\varphi) = \tau_{0}\sin(\pi \frac{\varphi}{L_{\varphi}})  \tau_{\lambda}(\varphi) = \tau_{0}\sin(\pi \frac{\varphi}{L_{\varphi}})
60  \end{equation}  \end{equation}
61    
62  \noindent where $L_{\varphi}$ is the lateral domain extent ($60^{\circ}$) and  \noindent where $L_{\varphi}$ is the lateral domain extent ($60^{\circ}$) and
63  $\tau_0$ is set to $0.1N m^{-2}$.  $\tau_0$ is set to $0.1N m^{-2}$.
64  \\  \\
65    
66  Figure \ref{FIG:simulation_config}  Figure \ref{FIG:eg-fourlayer-simulation_config}
67  summarises the configuration simulated.  summarizes the configuration simulated.
68  In contrast to the example in section \ref{sec:eg-baro}, the  In contrast to the example in section \ref{sect:eg-baro}, the
69  current experiment simulates a spherical polar domain. However, as indicated  current experiment simulates a spherical polar domain. As indicated
70  by the axes in the lower left of the figure the model code works internally  by the axes in the lower left of the figure the model code works internally
71  in a locally orthoganal coordinate $(x,y,z)$. For this experiment description  in a locally orthogonal coordinate $(x,y,z)$. For this experiment description
72  of this document the local orthogonal model coordinate $(x,y,z)$ is synonomous  the local orthogonal model coordinate $(x,y,z)$ is synonymous
73  with the spherical polar coordinate shown in figure  with the coordinates $(\lambda,\varphi,r)$ shown in figure
74  \ref{fig:spherical-polar-coord}  \ref{fig:spherical-polar-coord}
75  \\  \\
76    
# Line 82  $\theta_{1750}=6^{\circ}$~C. The equatio Line 84  $\theta_{1750}=6^{\circ}$~C. The equatio
84  linear  linear
85    
86  \begin{equation}  \begin{equation}
87  \label{EQ:linear1_eos}  \label{EQ:eg-fourlayer-linear1_eos}
88  \rho = \rho_{0} ( 1 - \alpha_{\theta}\theta^{'} )  \rho = \rho_{0} ( 1 - \alpha_{\theta}\theta^{'} )
89  \end{equation}  \end{equation}
90    
91  \noindent which is implemented in the model as a density anomaly equation  \noindent which is implemented in the model as a density anomaly equation
92    
93  \begin{equation}  \begin{equation}
94  \label{EQ:linear1_eos_pert}  \label{EQ:eg-fourlayer-linear1_eos_pert}
95  \rho^{'} = -\rho_{0}\alpha_{\theta}\theta^{'}  \rho^{'} = -\rho_{0}\alpha_{\theta}\theta^{'}
96  \end{equation}  \end{equation}
97    
98  \noindent with $\rho_{0}=999.8\,{\rm kg\,m}^{-3}$ and  \noindent with $\rho_{0}=999.8\,{\rm kg\,m}^{-3}$ and
99  $\alpha_{\theta}=2\times10^{-4}\,{\rm degrees}^{-1} $. Integrated forward in  $\alpha_{\theta}=2\times10^{-4}\,{\rm degrees}^{-1} $. Integrated forward in
100  this configuration the model state variable {\bf theta} is synonomous with  this configuration the model state variable {\bf theta} is equivalent to
101  either in-situ temperature, $T$, or potential temperature, $\theta$. For  either in-situ temperature, $T$, or potential temperature, $\theta$. For
102  consistency with later examples, in which the equation of state is  consistency with later examples, in which the equation of state is
103  non-linear, we use $\theta$ to represent temperature here. This is  non-linear, we use $\theta$ to represent temperature here. This is
104  the quantity that is carried in the model core equations.  the quantity that is carried in the model core equations.
105    
106  \begin{figure}  \begin{figure}
107  \begin{center}  %% \begin{center}
108   \resizebox{7.5in}{5.5in}{  %%  \resizebox{7.5in}{5.5in}{
109     \includegraphics*[0.2in,0.7in][10.5in,10.5in]  %%    \includegraphics*[0.2in,0.7in][10.5in,10.5in]
110     {part3/case_studies/fourlayer_gyre/simulation_config.eps} }  %%    {part3/case_studies/fourlayer_gyre/simulation_config.eps} }
111  \end{center}  %% \end{center}
112    \centerline{
113      \scalefig{.95}
114      \epsfbox{part3/case_studies/fourlayer_gyre/simulation_config.eps}
115    }
116  \caption{Schematic of simulation domain and wind-stress forcing function  \caption{Schematic of simulation domain and wind-stress forcing function
117  for the four-layer gyre numerical experiment. The domain is enclosed by solid  for the four-layer gyre numerical experiment. The domain is enclosed by solid
118  walls at $0^{\circ}$~E, $60^{\circ}$~E, $0^{\circ}$~N and $60^{\circ}$~N.  walls at $0^{\circ}$~E, $60^{\circ}$~E, $0^{\circ}$~N and $60^{\circ}$~N.
119  In the four-layer case an initial temperature stratification is  An initial stratification is
120  imposed by setting the potential temperature, $\theta$, in each layer.  imposed by setting the potential temperature, $\theta$, in each layer.
121  The vertical spacing, $\Delta z$, is constant and equal to $500$m.  The vertical spacing, $\Delta z$, is constant and equal to $500$m.
122  }  }
123  \label{FIG:simulation_config}  \label{FIG:eg-fourlayer-simulation_config}
124  \end{figure}  \end{figure}
125    
126  \subsection{Equations solved}  \subsection{Equations solved}
127    \label{www:tutorials}
128  The implicit free surface form of the  For this problem
129  pressure equation described in Marshall et. al \cite{Marshall97a} is  the implicit free surface, {\bf HPE} (see section \ref{sect:hydrostatic_and_quasi-hydrostatic_forms}) form of the
130  employed.  equations described in Marshall et. al \cite{marshall:97a} are
131  A horizontal laplacian operator $\nabla_{h}^2$ provides viscous  employed. The flow is three-dimensional with just temperature, $\theta$, as
132  dissipation. The wind-stress momentum input is added to the momentum equation  an active tracer.  The equation of state is linear.
133  for the ``zonal flow'', $u$. Other terms in the model  A horizontal Laplacian operator $\nabla_{h}^2$ provides viscous
134  are explicitly switched off for this experiement configuration (see section  dissipation and provides a diffusive sub-grid scale closure for the
135  \ref{SEC:code_config} ). This yields an active set of equations in  temperature equation. A wind-stress momentum forcing is added to the momentum
136    equation for the zonal flow, $u$. Other terms in the model
137    are explicitly switched off for this experiment configuration (see section
138    \ref{SEC:eg_fourl_code_config} ). This yields an active set of equations
139  solved in this configuration, written in spherical polar coordinates as  solved in this configuration, written in spherical polar coordinates as
140  follows  follows
141    
142  \begin{eqnarray}  \begin{eqnarray}
143  \label{EQ:model_equations}  \label{EQ:eg-fourlayer-model_equations}
144  \frac{Du}{Dt} - fv +  \frac{Du}{Dt} - fv +
145    \frac{1}{\rho}\frac{\partial p^{\prime}}{\partial \lambda} -    \frac{1}{\rho}\frac{\partial p^{\prime}}{\partial \lambda} -
146    A_{h}\nabla_{h}^2u - A_{z}\frac{\partial^{2}u}{\partial z^{2}}    A_{h}\nabla_{h}^2u - A_{z}\frac{\partial^{2}u}{\partial z^{2}}
147  & = &  & = &
148  \cal{F}  \cal{F}_{\lambda}
149  \\  \\
150  \frac{Dv}{Dt} + fu +  \frac{Dv}{Dt} + fu +
151    \frac{1}{\rho}\frac{\partial p^{\prime}}{\partial \varphi} -    \frac{1}{\rho}\frac{\partial p^{\prime}}{\partial \varphi} -
# Line 144  follows Line 153  follows
153  & = &  & = &
154  0  0
155  \\  \\
156  \frac{\partial \eta}{\partial t} + \frac{\partial H \hat{u}}{\partial \lambda} +  \frac{\partial \eta}{\partial t} + \frac{\partial H \widehat{u}}{\partial \lambda} +
157  \frac{\partial H \hat{v}}{\partial \varphi}  \frac{\partial H \widehat{v}}{\partial \varphi}
158  &=&  &=&
159  0  0
160    \label{eq:fourl_example_continuity}
161  \\  \\
162  \frac{D\theta}{Dt} -  \frac{D\theta}{Dt} -
163   K_{h}\nabla_{h}^2\theta  - K_{z}\frac{\partial^{2}\theta}{\partial z^{2}}   K_{h}\nabla_{h}^2\theta  - K_{z}\frac{\partial^{2}\theta}{\partial z^{2}}
164  & = &  & = &
165  0  0
166    \label{eq:eg_fourl_theta}
167  \\  \\
168  p^{\prime} & = &  p^{\prime} & = &
169  g\rho_{0} \eta + \int^{0}_{-z}\rho^{\prime} dz  g\rho_{0} \eta + \int^{0}_{-z}\rho^{\prime} dz
170  \\  \\
171  \rho^{\prime} & = &- \alpha_{\theta}\rho_{0}\theta^{\prime}  \rho^{\prime} & = &- \alpha_{\theta}\rho_{0}\theta^{\prime}
172  \\  \\
173  {\cal F} |_{s} & = & \frac{\tau_{x}}{\rho_{0}\Delta z_{s}}  {\cal F}_{\lambda} |_{s} & = & \frac{\tau_{\lambda}}{\rho_{0}\Delta z_{s}}
174  \\  \\
175  {\cal F} |_{i} & = & 0  {\cal F}_{\lambda} |_{i} & = & 0
176  \end{eqnarray}  \end{eqnarray}
177    
178  \noindent where $u$ and $v$ are the components of the horizontal  \noindent where $u$ and $v$ are the components of the horizontal
179  flow vector $\vec{u}$ on the sphere ($u=\dot{\lambda},v=\dot{\varphi}$).  flow vector $\vec{u}$ on the sphere ($u=\dot{\lambda},v=\dot{\varphi}$).
180  The terms $H\hat{u}$ and $H\hat{v}$ are the components of the term  The terms $H\widehat{u}$ and $H\widehat{v}$ are the components of the vertical
181  integrated in eqaution \ref{eq:free-surface}, as descirbed in section  integral term given in equation \ref{eq:free-surface} and
182    explained in more detail in section \ref{sect:pressure-method-linear-backward}.
183    However, for the problem presented here, the continuity relation (equation
184    \ref{eq:fourl_example_continuity}) differs from the general form given
185    in section \ref{sect:pressure-method-linear-backward},
186    equation \ref{eq:linear-free-surface=P-E+R}, because the source terms
187    ${\cal P}-{\cal E}+{\cal R}$
188    are all $0$.
189    
 The suffices ${s},{i}$ indicate surface and interior of the domain.  
 The forcing $\cal F$ is only applied at the surface.  
190  The pressure field, $p^{\prime}$, is separated into a barotropic part  The pressure field, $p^{\prime}$, is separated into a barotropic part
191  due to variations in sea-surface height, $\eta$, and a hydrostatic  due to variations in sea-surface height, $\eta$, and a hydrostatic
192  part due to variations in density, $\rho^{\prime}$, over the water column.  part due to variations in density, $\rho^{\prime}$, integrated
193    through the water column.
194    
195    The suffices ${s},{i}$ indicate surface layer and the interior of the domain.
196    The windstress forcing, ${\cal F}_{\lambda}$, is applied in the surface layer
197    by a source term in the zonal momentum equation. In the ocean interior
198    this term is zero.
199    
200    In the momentum equations
201    lateral and vertical boundary conditions for the $\nabla_{h}^{2}$
202    and $\frac{\partial^{2}}{\partial z^{2}}$ operators are specified
203    when the numerical simulation is run - see section
204    \ref{SEC:eg_fourl_code_config}. For temperature
205    the boundary condition is ``zero-flux''
206    e.g. $\frac{\partial \theta}{\partial \varphi}=
207    \frac{\partial \theta}{\partial \lambda}=\frac{\partial \theta}{\partial z}=0$.
208    
209    
210    
211  \subsection{Discrete Numerical Configuration}  \subsection{Discrete Numerical Configuration}
212    \label{www:tutorials}
213    
214   The model is configured in hydrostatic form.  The domain is discretised with   The domain is discretised with
215  a uniform grid spacing in latitude and longitude  a uniform grid spacing in latitude and longitude
216   $\Delta \lambda=\Delta \varphi=1^{\circ}$, so   $\Delta \lambda=\Delta \varphi=1^{\circ}$, so
217  that there are sixty grid cells in the zonal and meridional directions.  that there are sixty grid cells in the zonal and meridional directions.
218  Vertically the  Vertically the
219  model is configured with four layers with constant depth,  model is configured with four layers with constant depth,
220  $\Delta z$, of $500$~m. The internal, locally orthogonal, model coordinate  $\Delta z$, of $500$~m. The internal, locally orthogonal, model coordinate
221  variables $x$ and $y$ are initialised from the values of  variables $x$ and $y$ are initialized from the values of
222  $\lambda$, $\varphi$, $\Delta \lambda$ and $\Delta \varphi$ in  $\lambda$, $\varphi$, $\Delta \lambda$ and $\Delta \varphi$ in
223  radians according to  radians according to
224    
# Line 195  y=r\varphi,~\Delta y &= &r\Delta \varphi Line 229  y=r\varphi,~\Delta y &= &r\Delta \varphi
229    
230  The procedure for generating a set of internal grid variables from a  The procedure for generating a set of internal grid variables from a
231  spherical polar grid specification is discussed in section  spherical polar grid specification is discussed in section
232  \ref{sec:spatial_discrete_horizontal_grid}.  \ref{sect:spatial_discrete_horizontal_grid}.
233    
234  \noindent\fbox{ \begin{minipage}{5.5in}  \noindent\fbox{ \begin{minipage}{5.5in}
235  {\em S/R INI\_SPHERICAL\_POLAR\_GRID} ({\em  {\em S/R INI\_SPHERICAL\_POLAR\_GRID} ({\em
# Line 216  $\Delta x_v$, $\Delta y_u$: {\bf DXv}, { Line 250  $\Delta x_v$, $\Delta y_u$: {\bf DXv}, {
250    
251    
252    
253  As described in \ref{sec:tracer_equations}, the time evolution of potential  As described in \ref{sect:tracer_equations}, the time evolution of potential
254  temperature,  temperature,
255  $\theta$, equation is solved prognostically.  $\theta$, (equation \ref{eq:eg_fourl_theta})
256    is evaluated prognostically. The centered second-order scheme with
257    Adams-Bashforth time stepping described in section
258    \ref{sect:tracer_equations_abII} is used to step forward the temperature
259    equation. Prognostic terms in
260    the momentum equations are solved using flux form as
261    described in section \ref{sect:flux-form_momentum_eqautions}.
262  The pressure forces that drive the fluid motions, (  The pressure forces that drive the fluid motions, (
263  $\frac{\partial p^{'}}{\partial \lambda}$ and $\frac{\partial p^{'}}{\partial \varphi}$), are found by summing pressure due to surface  $\frac{\partial p^{'}}{\partial \lambda}$ and $\frac{\partial p^{'}}{\partial \varphi}$), are found by summing pressure due to surface
264  elevation $\eta$ and the hydrostatic pressure.  elevation $\eta$ and the hydrostatic pressure. The hydrostatic part of the
265    pressure is diagnosed explicitly by integrating density. The sea-surface
266    height, $\eta$, is diagnosed using an implicit scheme. The pressure
267    field solution method is described in sections
268    \ref{sect:pressure-method-linear-backward} and
269    \ref{sect:finding_the_pressure_field}.
270    
271  \subsubsection{Numerical Stability Criteria}  \subsubsection{Numerical Stability Criteria}
272    \label{www:tutorials}
273    
274  The laplacian dissipation coefficient, $A_{h}$, is set to $400 m s^{-1}$.  The Laplacian viscosity coefficient, $A_{h}$, is set to $400 m s^{-1}$.
275  This value is chosen to yield a Munk layer width \cite{Adcroft_thesis},  This value is chosen to yield a Munk layer width,
276    
277  \begin{eqnarray}  \begin{eqnarray}
278  \label{EQ:munk_layer}  \label{EQ:eg-fourlayer-munk_layer}
279  M_{w} = \pi ( \frac { A_{h} }{ \beta } )^{\frac{1}{3}}  M_{w} = \pi ( \frac { A_{h} }{ \beta } )^{\frac{1}{3}}
280  \end{eqnarray}  \end{eqnarray}
281    
282  \noindent  of $\approx 100$km. This is greater than the model  \noindent  of $\approx 100$km. This is greater than the model
283  resolution in mid-latitudes $\Delta x$, ensuring that the frictional  resolution in mid-latitudes
284    $\Delta x=r \cos(\varphi) \Delta \lambda \approx 80~{\rm km}$ at
285    $\varphi=45^{\circ}$, ensuring that the frictional
286  boundary layer is well resolved.  boundary layer is well resolved.
287  \\  \\
288    
289  \noindent The model is stepped forward with a  \noindent The model is stepped forward with a
290  time step $\delta t=1200$secs. With this time step the stability  time step $\delta t=1200$secs. With this time step the stability
291  parameter to the horizontal laplacian friction \cite{Adcroft_thesis}  parameter to the horizontal Laplacian friction
292    
293  \begin{eqnarray}  \begin{eqnarray}
294  \label{EQ:laplacian_stability}  \label{EQ:eg-fourlayer-laplacian_stability}
295  S_{l} = 4 \frac{A_{h} \delta t}{{\Delta x}^2}  S_{l} = 4 \frac{A_{h} \delta t}{{\Delta x}^2}
296  \end{eqnarray}  \end{eqnarray}
297    
298  \noindent evaluates to 0.012, which is well below the 0.3 upper limit  \noindent evaluates to 0.012, which is well below the 0.3 upper limit
299  for stability.  for stability for this term under ABII time-stepping.
300  \\  \\
301    
302  \noindent The vertical dissipation coefficient, $A_{z}$, is set to  \noindent The vertical dissipation coefficient, $A_{z}$, is set to
303  $1\times10^{-2} {\rm m}^2{\rm s}^{-1}$. The associated stability limit  $1\times10^{-2} {\rm m}^2{\rm s}^{-1}$. The associated stability limit
304    
305  \begin{eqnarray}  \begin{eqnarray}
306  \label{EQ:laplacian_stability_z}  \label{EQ:eg-fourlayer-laplacian_stability_z}
307  S_{l} = 4 \frac{A_{z} \delta t}{{\Delta z}^2}  S_{l} = 4 \frac{A_{z} \delta t}{{\Delta z}^2}
308  \end{eqnarray}  \end{eqnarray}
309    
# Line 266  and vertical ($K_{z}$) diffusion coeffic Line 314  and vertical ($K_{z}$) diffusion coeffic
314  \\  \\
315    
316  \noindent The numerical stability for inertial oscillations  \noindent The numerical stability for inertial oscillations
 \cite{Adcroft_thesis}  
317    
318  \begin{eqnarray}  \begin{eqnarray}
319  \label{EQ:inertial_stability}  \label{EQ:eg-fourlayer-inertial_stability}
320  S_{i} = f^{2} {\delta t}^2  S_{i} = f^{2} {\delta t}^2
321  \end{eqnarray}  \end{eqnarray}
322    
# Line 277  S_{i} = f^{2} {\delta t}^2 Line 324  S_{i} = f^{2} {\delta t}^2
324  limit for stability.  limit for stability.
325  \\  \\
326    
327  \noindent The advective CFL \cite{Adcroft_thesis} for a extreme maximum  \noindent The advective CFL for a extreme maximum
328  horizontal flow  horizontal flow
329  speed of $ | \vec{u} | = 2 ms^{-1}$  speed of $ | \vec{u} | = 2 ms^{-1}$
330    
331  \begin{eqnarray}  \begin{eqnarray}
332  \label{EQ:cfl_stability}  \label{EQ:eg-fourlayer-cfl_stability}
333  S_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}  C_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}
334  \end{eqnarray}  \end{eqnarray}
335    
336  \noindent evaluates to $5 \times 10^{-2}$. This is well below the stability  \noindent evaluates to $5 \times 10^{-2}$. This is well below the stability
337  limit of 0.5.  limit of 0.5.
338  \\  \\
339    
340  \noindent The stability parameter for internal gravity waves  \noindent The stability parameter for internal gravity waves
341  \cite{Adcroft_thesis}  propagating at $2~{\rm m}~{\rm s}^{-1}$
342    
343  \begin{eqnarray}  \begin{eqnarray}
344  \label{EQ:igw_stability}  \label{EQ:eg-fourlayer-igw_stability}
345  S_{c} = \frac{c_{g} \delta t}{ \Delta x}  S_{c} = \frac{c_{g} \delta t}{ \Delta x}
346  \end{eqnarray}  \end{eqnarray}
347    
348  \noindent evaluates to $5 \times 10^{-2}$. This is well below the linear  \noindent evaluates to $\approx 5 \times 10^{-2}$. This is well below the linear
349  stability limit of 0.25.  stability limit of 0.25.
350        
351  \subsection{Code Configuration}  \subsection{Code Configuration}
352  \label{SEC:code_config}  \label{www:tutorials}
353    \label{SEC:eg_fourl_code_config}
354    
355  The model configuration for this experiment resides under the  The model configuration for this experiment resides under the
356  directory {\it verification/exp1/}.  The experiment files  directory {\it verification/exp2/}.  The experiment files
357  \begin{itemize}  \begin{itemize}
358  \item {\it input/data}  \item {\it input/data}
359  \item {\it input/data.pkg}  \item {\it input/data.pkg}
# Line 316  directory {\it verification/exp1/}.  The Line 364  directory {\it verification/exp1/}.  The
364  \item {\it code/CPP\_OPTIONS.h},  \item {\it code/CPP\_OPTIONS.h},
365  \item {\it code/SIZE.h}.  \item {\it code/SIZE.h}.
366  \end{itemize}  \end{itemize}
367  contain the code customisations and parameter settings for this  contain the code customisations and parameter settings for this
368  experiements. Below we describe the customisations  experiment. Below we describe the customisations to these files
369  to these files associated with this experiment.  associated with this experiment.
370    
371  \subsubsection{File {\it input/data}}  \subsubsection{File {\it input/data}}
372    \label{www:tutorials}
373    
374  This file, reproduced completely below, specifies the main parameters  This file, reproduced completely below, specifies the main parameters
375  for the experiment. The parameters that are significant for this configuration  for the experiment. The parameters that are significant for this configuration
# Line 330  are Line 379  are
379    
380  \item Line 4,  \item Line 4,
381  \begin{verbatim} tRef=20.,10.,8.,6., \end{verbatim}  \begin{verbatim} tRef=20.,10.,8.,6., \end{verbatim}
382  this line sets  this line sets the initial and reference values of potential
383  the initial and reference values of potential temperature at each model  temperature at each model level in units of $^{\circ}$C.  The entries
384  level in units of $^{\circ}$C.  are ordered from surface to depth. For each depth level the initial
385  The entries are ordered from surface to depth. For each  and reference profiles will be uniform in $x$ and $y$. The values
386  depth level the inital and reference profiles will be uniform in  specified here are read into the variable \varlink{tRef}{tRef} in the
387  $x$ and $y$. The values specified here are read into the  model code, by procedure \filelink{INI\_PARMS}{model-src-ini_parms.F}
 variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/OK.htm> \end{rawhtml}  
 tRef  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 in the model code, by procedure  
 {\it  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 %% \codelink{var:tref} tRef \endlink  
 %% \codelink{file:ini_parms} {\it INI\_PARMS } \endlink  
 %% \codelink{proc:ini_parms} {\it INI\_PARMS } \endlink  
 %% \var{tref}  
 %% \proc{ini_parms}  
 %% \file{ini_parms}  
 \newcommand{\VARtref}{  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/OK.htm> \end{rawhtml}  
 tRef  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 }  
   
   
388    
389  \fbox{  \fbox{
390  \begin{minipage}{5.0in}    \begin{minipage}{5.0in}
391  {\it S/R INI\_THETA}      {\it S/R INI\_THETA}({\it ini\_theta.F})
392  ({\it ini\_theta.F})    \end{minipage}
 \end{minipage}  
393  }  }
394  {\bf  \filelink{ini\_theta.F}{model-src-ini_theta.F}
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/98.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
395    
396  \item Line 6,  \item Line 6,
397  \begin{verbatim} viscAz=1.E-2, \end{verbatim}  \begin{verbatim} viscAz=1.E-2, \end{verbatim}
398  this line sets the vertical laplacian dissipation coefficient to  this line sets the vertical Laplacian dissipation coefficient to $1
399  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions  \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions for this
400  for this operator are specified later.  operator are specified later.  The variable \varlink{viscAz}{viscAz}
401  The variable  is read in the routine \filelink{ini\_parms.F}{model-src-ini_parms.F}
402  {\bf  and is copied into model general vertical coordinate variable
403  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZQ.htm> \end{rawhtml}  \varlink{viscAr}{viscAr} At each time step, the viscous term
404  viscAz  contribution to the momentum equations is calculated in routine
405  \begin{rawhtml} </A>\end{rawhtml}  \varlink{CALC\_DIFFUSIVITY}{CALC_DIFFUSIVITY}
 }  
 is read in the routine  
 {\it  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 and is copied into model general vertical coordinate variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/PF.htm> \end{rawhtml}  
 viscAr  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
406    
407  \fbox{  \fbox{
408  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
409  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})
410  \end{minipage}  \end{minipage}
411  }  }
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/53.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
412    
413  \item Line 7,  \item Line 7,
414  \begin{verbatim}  \begin{verbatim}
415  viscAh=4.E2,  viscAh=4.E2,
416  \end{verbatim}  \end{verbatim}
417  this line sets the horizontal laplacian frictional dissipation coefficient to    this line sets the horizontal laplacian frictional dissipation
418  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions    coefficient to $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary
419  for this operator are specified later.    conditions for this operator are specified later.  The variable
420  The variable    \varlink{viscAh}{viscAh} is read in the routine
421  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and applied in routines
422  \begin{rawhtml} <A href=../../../code_reference/vdb/names/SI.htm> \end{rawhtml}    \varlink{CALC\_MOM\_RHS}{CALC_MOM_RHS} and
423  viscAh    \varlink{CALC\_GW}{CALC_GW}.
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 is read in the routine  
 {\it  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
424    
425  \fbox{  \fbox{
426  \begin{minipage}{5.0in}    \begin{minipage}{5.0in}
427  {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})      {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})
428  \end{minipage}    \end{minipage}
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
429  }  }
   
430  \fbox{  \fbox{
431  \begin{minipage}{5.0in}    \begin{minipage}{5.0in}
432  {\it S/R CALC\_GW}({\it calc\_gw.F})      {\it S/R CALC\_GW}({\it calc\_gw.F})
433  \end{minipage}    \end{minipage}
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/58.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
434  }  }
435    
436  \item Lines 8,  \item Line 8,
437  \begin{verbatim}  \begin{verbatim}
438  no_slip_sides=.FALSE.  no_slip_sides=.FALSE.
439  \end{verbatim}  \end{verbatim}
440  this line selects a free-slip lateral boundary condition for    this line selects a free-slip lateral boundary condition for the
441  the horizontal laplacian friction operator    horizontal laplacian friction operator e.g. $\frac{\partial
442  e.g. $\frac{\partial u}{\partial y}$=0 along boundaries in $y$ and      u}{\partial y}$=0 along boundaries in $y$ and $\frac{\partial
443  $\frac{\partial v}{\partial x}$=0 along boundaries in $x$.      v}{\partial x}$=0 along boundaries in $x$.  The variable
444  The variable    \varlink{no\_slip\_sides}{no_slip_sides} is read in the routine
445  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and the boundary condition is
446  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UT.htm> \end{rawhtml}    evaluated in routine
447  no\_slip\_sides  
448  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
449  }      \begin{minipage}{5.0in}
450  is read in the routine        {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})
451  {\it      \end{minipage}
452  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
453  INI\_PARMS    \filelink{calc\_mom\_rhs.F}{calc_mom_rhs.F}
454  \begin{rawhtml} </A>\end{rawhtml}    
 }.  
   
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
455  \item Lines 9,  \item Lines 9,
456  \begin{verbatim}  \begin{verbatim}
457  no_slip_bottom=.TRUE.  no_slip_bottom=.TRUE.
458  \end{verbatim}  \end{verbatim}
459  this line selects a no-slip boundary condition for bottom    this line selects a no-slip boundary condition for bottom boundary
460  boundary condition in the vertical laplacian friction operator    condition in the vertical laplacian friction operator e.g. $u=v=0$
461  e.g. $u=v=0$ at $z=-H$, where $H$ is the local depth of the domain.    at $z=-H$, where $H$ is the local depth of the domain.  The variable
462  The variable    \varlink{no\_slip\_bottom}{no\_slip\_bottom} is read in the routine
463  {\bf    \filelink{INI\_PARMS}{model-src-ini_parms.F} and is applied in the
464  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UK.htm> \end{rawhtml}    routine \varlink{CALC\_MOM\_RHS}{CALC_MOM_RHS}.
465  no\_slip\_bottom  
466  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
467  }      \begin{minipage}{5.0in}
468  is read in the routine        {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})
469  {\it      \end{minipage}
470  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
471  INI\_PARMS    \filelink{calc\_mom\_rhs.F}{calc_mom_rhs.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
472    
473  \item Line 10,  \item Line 10,
474  \begin{verbatim}  \begin{verbatim}
475  diffKhT=4.E2,  diffKhT=4.E2,
476  \end{verbatim}  \end{verbatim}
477  this line sets the horizontal diffusion coefficient for temperature    this line sets the horizontal diffusion coefficient for temperature
478  to $400\,{\rm m^{2}s^{-1}}$. The boundary condition on this    to $400\,{\rm m^{2}s^{-1}}$. The boundary condition on this operator
479  operator is $\frac{\partial}{\partial x}=\frac{\partial}{\partial y}=0$ at    is $\frac{\partial}{\partial x}=\frac{\partial}{\partial y}=0$ at
480  all boundaries.    all boundaries.  The variable \varlink{diffKhT}{diffKhT} is read in
481  The variable    the routine \varlink{INI\_PARMS}{INI_PARMS} and used in routine
482  {\bf    \varlink{CALC\_GT}{CALC_GT}.
483  \begin{rawhtml} <A href=../../../code_reference/vdb/names/RC.htm> \end{rawhtml}  
484  diffKhT    \fbox{ \begin{minipage}{5.0in}
485  \begin{rawhtml} </A>\end{rawhtml}        {\it S/R CALC\_GT}({\it calc\_gt.F})
486  }      \end{minipage}
487  is read in the routine    }
488  {\it    \filelink{calc\_gt.F}{model-src-calc_gt.F}
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{ \begin{minipage}{5.0in}  
 {\it S/R CALC\_GT}({\it calc\_gt.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/57.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
489    
490  \item Line 11,  \item Line 11,
491  \begin{verbatim}  \begin{verbatim}
492  diffKzT=1.E-2,  diffKzT=1.E-2,
493  \end{verbatim}  \end{verbatim}
494  this line sets the vertical diffusion coefficient for temperature    this line sets the vertical diffusion coefficient for temperature to
495  to $10^{-2}\,{\rm m^{2}s^{-1}}$. The boundary condition on this    $10^{-2}\,{\rm m^{2}s^{-1}}$. The boundary condition on this
496  operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries.    operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries.
497  The variable    The variable \varlink{diffKzT}{diffKzT} is read in the routine
498  {\bf    \varlink{INI\_PARMS}{INI_PARMS}. It is copied into model general
499  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZT.htm> \end{rawhtml}    vertical coordinate variable \varlink{diffKrT}{diffKrT} which is
500  diffKzT    used in routine \varlink{CALC\_DIFFUSIVITY}{CALC_DIFFUSIVITY}.
501  \begin{rawhtml} </A>\end{rawhtml}  
502  }    \fbox{ \begin{minipage}{5.0in}
503  is read in the routine        {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})
504  {\it      \end{minipage}
505  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
506  INI\_PARMS    \filelink{calc\_diffusivity.F}{model-src-calc_diffusivity.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
 It is copied into model general vertical coordinate variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/PD.htm> \end{rawhtml}  
 diffKrT  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{ \begin{minipage}{5.0in}  
 {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/53.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
   
507    
508  \item Line 13,  \item Line 13,
509  \begin{verbatim}  \begin{verbatim}
510  tAlpha=2.E-4,  tAlpha=2.E-4,
511  \end{verbatim}  \end{verbatim}
512  This line sets the thermal expansion coefficient for the fluid    This line sets the thermal expansion coefficient for the fluid to $2
513  to $2 \times 10^{-4}\,{\rm degrees}^{-1}$    \times 10^{-4}\,{\rm degrees}^{-1}$ The variable
514  The variable    \varlink{tAlpha}{tAlpha} is read in the routine
515  {\bf    \varlink{INI\_PARMS}{INI_PARMS}. The routine
516  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZV.htm> \end{rawhtml}    \varlink{FIND\_RHO}{FIND\_RHO} makes use of {\bf tAlpha}.
517  tAlpha  
518  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
519  }      \begin{minipage}{5.0in}
520  is read in the routine        {\it S/R FIND\_RHO}({\it find\_rho.F})
521  {\it      \end{minipage}
522  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
523  INI\_PARMS    \filelink{find\_rho.F}{model-src-find_rho.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R FIND\_RHO}({\it find\_rho.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/79.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
524    
525  \item Line 18,  \item Line 18,
526  \begin{verbatim}  \begin{verbatim}
527  eosType='LINEAR'  eosType='LINEAR'
528  \end{verbatim}  \end{verbatim}
529  This line selects the linear form of the equation of state.    This line selects the linear form of the equation of state.  The
530  The variable    variable \varlink{eosType}{eosType} is read in the routine
531  {\bf    \varlink{INI\_PARMS}{INI_PARMS}. The values of {\bf eosType} sets
532  \begin{rawhtml} <A href=../../../code_reference/vdb/names/WV.htm> \end{rawhtml}    which formula in routine {\it FIND\_RHO} is used to calculate
533  eosType    density.
534  \begin{rawhtml} </A>\end{rawhtml}  
535  }    \fbox{
536  is read in the routine      \begin{minipage}{5.0in}
537  {\it        {\it S/R FIND\_RHO}({\it find\_rho.F})
538  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}      \end{minipage}
539  INI\_PARMS    }
540  \begin{rawhtml} </A>\end{rawhtml}    \filelink{find\_rho.F}{model-src-find_rho.F}
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R FIND\_RHO}({\it find\_rho.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/79.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
   
541    
542  \item Line 40,  \item Line 40,
543  \begin{verbatim}  \begin{verbatim}
544  usingSphericalPolarGrid=.TRUE.,  usingSphericalPolarGrid=.TRUE.,
545  \end{verbatim}  \end{verbatim}
546  This line requests that the simulation be performed in a    This line requests that the simulation be performed in a spherical
547  spherical polar coordinate system. It affects the interpretation of    polar coordinate system. It affects the interpretation of grid input
548  grid inoput parameters, for exampl {\bf delX} and {\bf delY} and    parameters, for example {\bf delX} and {\bf delY} and causes the
549  causes the grid generation routines to initialise an internal grid based    grid generation routines to initialize an internal grid based on
550  on spherical polar geometry.    spherical polar geometry.  The variable
551  The variable    \varlink{usingSphericalPolarGrid}{usingSphericalPolarGrid} is read
552  {\bf    in the routine \varlink{INI\_PARMS}{INI_PARMS}. When set to {\bf
553  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10T.htm> \end{rawhtml}      .TRUE.} the settings of {\bf delX} and {\bf delY} are taken to be
554  usingSphericalPolarGrid    in degrees. These values are used in the routine
555  \begin{rawhtml} </A>\end{rawhtml}  
556  }    \fbox{
557  is read in the routine      \begin{minipage}{5.0in}
558  {\it        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
559  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}      \end{minipage}
560  INI\_PARMS    }
561  \begin{rawhtml} </A>\end{rawhtml}    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
562    
563  \item Line 41,  \item Line 41,
564  \begin{verbatim}  \begin{verbatim}
565  phiMin=0.,  phiMin=0.,
566  \end{verbatim}  \end{verbatim}
567  This line sets the southern boundary of the modeled    This line sets the southern boundary of the modeled domain to
568  domain to $0^{\circ}$ latitude. This value affects both the    $0^{\circ}$ latitude. This value affects both the generation of the
569  generation of the locally orthogonal grid that the model    locally orthogonal grid that the model uses internally and affects
570  uses internally and affects the initialisation of the coriolis force.    the initialization of the coriolis force.  Note - it is not required
571  Note - it is not required to set    to set a longitude boundary, since the absolute longitude does not
572  a longitude boundary, since the absolute longitude does    alter the kernel equation discretisation.  The variable
573  not alter the kernel equation discretisation.    \varlink{phiMin}{phiMin} is read in the
574  The variable    routine \varlink{INI\_PARMS}{INI_PARMS} and is used in routine
575  {\bf  
576  \begin{rawhtml} <A href=../../../code_reference/vdb/names/110.htm> \end{rawhtml}    \fbox{
577  phiMin      \begin{minipage}{5.0in}
578  \begin{rawhtml} </A>\end{rawhtml}        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
579  }      \end{minipage}
580  is read in the routine    }
581  {\it    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
582    
583  \item Line 42,  \item Line 42,
584  \begin{verbatim}  \begin{verbatim}
585  delX=60*1.,  delX=60*1.,
586  \end{verbatim}  \end{verbatim}
587  This line sets the horizontal grid spacing between each y-coordinate line    This line sets the horizontal grid spacing between each y-coordinate
588  in the discrete grid to $1^{\circ}$ in longitude.    line in the discrete grid to $1^{\circ}$ in longitude.  The variable
589  The variable    \varlink{delX}{delX} is read in the routine
590  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and is used in routine
591  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Z.htm> \end{rawhtml}  
592  delX    \fbox{
593  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
594  }        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
595  is read in the routine      \end{minipage}
596  {\it    }
597  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
598    
599  \item Line 43,  \item Line 43,
600  \begin{verbatim}  \begin{verbatim}
601  delY=60*1.,  delY=60*1.,
602  \end{verbatim}  \end{verbatim}
603  This line sets the horizontal grid spacing between each y-coordinate line    This line sets the horizontal grid spacing between each y-coordinate
604  in the discrete grid to $1^{\circ}$ in latitude.    line in the discrete grid to $1^{\circ}$ in latitude.  The variable
605  The variable    \varlink{delY}{delY} is read in the routine
606  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and is used in routine
607  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UB.htm> \end{rawhtml}  
608  delY      \fbox{
609  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
610  }        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
611  is read in the routine      \end{minipage}
612  {\it    }
613  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
614    
615  \item Line 44,  \item Line 44,
616  \begin{verbatim}  \begin{verbatim}
617  delZ=500.,500.,500.,500.,  delZ=500.,500.,500.,500.,
618  \end{verbatim}  \end{verbatim}
619  This line sets the vertical grid spacing between each z-coordinate line    This line sets the vertical grid spacing between each z-coordinate
620  in the discrete grid to $500\,{\rm m}$, so that the total model depth    line in the discrete grid to $500\,{\rm m}$, so that the total model
621  is $2\,{\rm km}$.    depth is $2\,{\rm km}$.  The variable \varlink{delZ}{delZ} is read
622  The variable    in the routine \varlink{INI\_PARMS}{INI_PARMS}.  It is copied into
623  {\bf    the internal model coordinate variable \varlink{delR}{delR} which is
624  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10W.htm> \end{rawhtml}    used in routine
625  delZ  
626  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
627  }      \begin{minipage}{5.0in}
628  is read in the routine        {\it S/R INI\_VERTICAL\_GRID}({\it ini\_vertical\_grid.F})
629  {\it      \end{minipage}
630  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
631  INI\_PARMS    \filelink{ini\_vertical\_grid.F}{model-src-ini_vertical_grid.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
 It is copied into the internal  
 model coordinate variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Y.htm> \end{rawhtml}  
 delR  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_VERTICAL\_GRID}({\it ini\_vertical\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/100.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
632    
633  \item Line 47,  \item Line 47,
634  \begin{verbatim}  \begin{verbatim}
635  bathyFile='topog.box'  bathyFile='topog.box'
636  \end{verbatim}  \end{verbatim}
637  This line specifies the name of the file from which the domain    This line specifies the name of the file from which the domain
638  bathymetry is read. This file is a two-dimensional ($x,y$) map of    bathymetry is read. This file is a two-dimensional ($x,y$) map of
639  depths. This file is assumed to contain 64-bit binary numbers    depths. This file is assumed to contain 64-bit binary numbers giving
640  giving the depth of the model at each grid cell, ordered with the x    the depth of the model at each grid cell, ordered with the x
641  coordinate varying fastest. The points are ordered from low coordinate    coordinate varying fastest. The points are ordered from low
642  to high coordinate for both axes. The units and orientation of the    coordinate to high coordinate for both axes. The units and
643  depths in this file are the same as used in the MITgcm code. In this    orientation of the depths in this file are the same as used in the
644  experiment, a depth of $0m$ indicates a solid wall and a depth    MITgcm code. In this experiment, a depth of $0m$ indicates a solid
645  of $-2000m$ indicates open ocean. The matlab program    wall and a depth of $-2000m$ indicates open ocean. The matlab
646  {\it input/gendata.m} shows an example of how to generate a    program {\it input/gendata.m} shows an example of how to generate a
647  bathymetry file.    bathymetry file.  The variable \varlink{bathyFile}{bathyFile} is
648  The variable    read in the routine \varlink{INI\_PARMS}{INI_PARMS}.  The bathymetry
649  {\bf    file is read in the routine
650  \begin{rawhtml} <A href=../../../code_reference/vdb/names/179.htm> \end{rawhtml}  
651  bathyFile    \fbox{
652  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
653  }        {\it S/R INI\_DEPTHS}({\it ini\_depths.F})
654  is read in the routine      \end{minipage}
655  {\it    }
656  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{ini\_depths.F}{model-src-ini_depths.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_DEPTHS}({\it ini\_depths.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/88.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
657    
658  \item Line 50,  \item Line 50,
659  \begin{verbatim}  \begin{verbatim}
660  zonalWindFile='windx.sin_y'  zonalWindFile='windx.sin_y'
661  \end{verbatim}  \end{verbatim}
662  This line specifies the name of the file from which the x-direction    This line specifies the name of the file from which the x-direction
663  surface wind stress is read. This file is also a two-dimensional    (zonal) surface wind stress is read. This file is also a
664  ($x,y$) map and is enumerated and formatted in the same manner as the    two-dimensional ($x,y$) map and is enumerated and formatted in the
665  bathymetry file. The matlab program {\it input/gendata.m} includes example    same manner as the bathymetry file. The matlab program {\it
666  code to generate a valid      input/gendata.m} includes example code to generate a valid {\bf
667  {\bf zonalWindFile}      zonalWindFile} file.  The variable
668  file.      \varlink{zonalWindFile}{zonalWindFile} is read in the routine
669  The variable    \varlink{INI\_PARMS}{INI_PARMS}.  The wind-stress file is read in
670  {\bf    the routine
671  \begin{rawhtml} <A href=../../../code_reference/vdb/names/13W.htm> \end{rawhtml}  
672  zonalWindFile    \fbox{
673  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
674  }        {\it S/R EXTERNAL\_FIELDS\_LOAD}({\it external\_fields\_load.F})
675  is read in the routine      \end{minipage}
676  {\it    }
677  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{external\_fields\_load.F}{model-src-external_fields_load.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R EXTERNAL\_FIELDS\_LOAD}({\it external\_fields\_load.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/75.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
678    
679  \end{itemize}  \end{itemize}
680    
681  \noindent other lines in the file {\it input/data} are standard values  \noindent other lines in the file {\it input/data} are standard values.
 that are described in the MITgcm Getting Started and MITgcm Parameters  
 notes.  
682    
683  \begin{rawhtml}<PRE>\end{rawhtml}  \begin{rawhtml}<PRE>\end{rawhtml}
684  \begin{small}  \begin{small}
# Line 903  notes. Line 687  notes.
687  \begin{rawhtml}</PRE>\end{rawhtml}  \begin{rawhtml}</PRE>\end{rawhtml}
688    
689  \subsubsection{File {\it input/data.pkg}}  \subsubsection{File {\it input/data.pkg}}
690    \label{www:tutorials}
691    
692  This file uses standard default values and does not contain  This file uses standard default values and does not contain
693  customisations for this experiment.  customisations for this experiment.
694    
695  \subsubsection{File {\it input/eedata}}  \subsubsection{File {\it input/eedata}}
696    \label{www:tutorials}
697    
698  This file uses standard default values and does not contain  This file uses standard default values and does not contain
699  customisations for this experiment.  customisations for this experiment.
700    
701  \subsubsection{File {\it input/windx.sin\_y}}  \subsubsection{File {\it input/windx.sin\_y}}
702    \label{www:tutorials}
703    
704  The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)  The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)
705  map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$.  map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$
706  Although $\tau_{x}$ is only a function of $y$n in this experiment  (the default for MITgcm).  Although $\tau_{x}$ is only a function of
707  this file must still define a complete two-dimensional map in order  latitude, $y$, in this experiment this file must still define a
708  to be compatible with the standard code for loading forcing fields  complete two-dimensional map in order to be compatible with the
709  in MITgcm. The included matlab program {\it input/gendata.m} gives a complete  standard code for loading forcing fields in MITgcm (routine {\it
710  code for creating the {\it input/windx.sin\_y} file.    EXTERNAL\_FIELDS\_LOAD}.  The included matlab program {\it
711      input/gendata.m} gives a complete code for creating the {\it
712      input/windx.sin\_y} file.
713    
714  \subsubsection{File {\it input/topog.box}}  \subsubsection{File {\it input/topog.box}}
715    \label{www:tutorials}
716    
717    
718  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)
719  map of depth values. For this experiment values are either  map of depth values. For this experiment values are either
720  $0m$ or $-2000\,{\rm m}$, corresponding respectively to a wall or to deep  $0~{\rm m}$ or $-2000\,{\rm m}$, corresponding respectively to a wall or to deep
721  ocean. The file contains a raw binary stream of data that is enumerated  ocean. The file contains a raw binary stream of data that is enumerated
722  in the same way as standard MITgcm two-dimensional, horizontal arrays.  in the same way as standard MITgcm two-dimensional, horizontal arrays.
723  The included matlab program {\it input/gendata.m} gives a complete  The included matlab program {\it input/gendata.m} gives a complete
724  code for creating the {\it input/topog.box} file.  code for creating the {\it input/topog.box} file.
725    
726  \subsubsection{File {\it code/SIZE.h}}  \subsubsection{File {\it code/SIZE.h}}
727    \label{www:tutorials}
728    
729  Two lines are customized in this file for the current experiment  Two lines are customized in this file for the current experiment
730    
# Line 960  the vertical domain extent in grid point Line 751  the vertical domain extent in grid point
751  \end{small}  \end{small}
752    
753  \subsubsection{File {\it code/CPP\_OPTIONS.h}}  \subsubsection{File {\it code/CPP\_OPTIONS.h}}
754    \label{www:tutorials}
755    
756  This file uses standard default values and does not contain  This file uses standard default values and does not contain
757  customisations for this experiment.  customisations for this experiment.
758    
759    
760  \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}  \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}
761    \label{www:tutorials}
762    
763  This file uses standard default values and does not contain  This file uses standard default values and does not contain
764  customisations for this experiment.  customisations for this experiment.
765    
766  \subsubsection{Other Files }  \subsubsection{Other Files }
767    \label{www:tutorials}
768    
769  Other files relevant to this experiment are  Other files relevant to this experiment are
770  \begin{itemize}  \begin{itemize}
# Line 983  dxF, dyF, dxG, dyG, dxC, dyC}. Line 777  dxF, dyF, dxG, dyG, dxC, dyC}.
777  \end{itemize}  \end{itemize}
778    
779  \subsection{Running The Example}  \subsection{Running The Example}
780    \label{www:tutorials}
781  \label{SEC:running_the_example}  \label{SEC:running_the_example}
782    
783  \subsubsection{Code Download}  \subsubsection{Code Download}
784    \label{www:tutorials}
785    
786   In order to run the examples you must first download the code distribution.   In order to run the examples you must first download the code distribution.
787  Instructions for downloading the code can be found in the Getting Started  Instructions for downloading the code can be found in section
788  Guide \cite{MITgcm_Getting_Started}.  \ref{sect:obtainingCode}.
789    
790  \subsubsection{Experiment Location}  \subsubsection{Experiment Location}
791    \label{www:tutorials}
792    
793   This example experiments is located under the release sub-directory   This example experiments is located under the release sub-directory
794    
795  \vspace{5mm}  \vspace{5mm}
796  {\it verification/exp1/ }  {\it verification/exp2/ }
797    
798  \subsubsection{Running the Experiment}  \subsubsection{Running the Experiment}
799    \label{www:tutorials}
800    
801   To run the experiment   To run the experiment
802    
# Line 1015  Guide \cite{MITgcm_Getting_Started}. Line 813  Guide \cite{MITgcm_Getting_Started}.
813  % pwd  % pwd
814  \end{verbatim}  \end{verbatim}
815    
816   You shold see a response on the screen ending in   You should see a response on the screen ending in
817    
818  {\it verification/exp1/input }  {\it verification/exp2/input }
819    
820    
821  \item Run the genmake script to create the experiment {\it Makefile}  \item Run the genmake script to create the experiment {\it Makefile}

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22