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

  ViewVC Help
Powered by ViewVC 1.1.22