/[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.1 by adcroft, Wed Aug 8 16:15:41 2001 UTC revision 1.14 by edhill, Wed Jul 30 13:42:53 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{www:tutorials}
6    \label{sect:eg-fourlayer}
7    
8  \bodytext{bgcolor="#FFFFFFFF"}  \bodytext{bgcolor="#FFFFFFFF"}
9    
# Line 15  Line 17 
17  %{\large May 2001}  %{\large May 2001}
18  %\end{center}  %\end{center}
19    
20  \subsection{Introduction}  This document describes an example experiment using MITgcm
21    to simulate a baroclinic ocean gyre in spherical
22  This document describes the second example MITgcm experiment. The first  polar coordinates. The barotropic
23  example experiment ilustrated how to configure the code for a single layer  example experiment in section \ref{sect:eg-baro}
24  simulation in a cartesian grid. In this example a similar physical problem  illustrated how to configure the code for a single layer
25    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 35  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, $\phi$  according to latitude, $\varphi$
46    
47  \begin{equation}  \begin{equation}
48  \label{EQ:fcori}  \label{EQ:eg-fourlayer-fcori}
49  f(\phi) = 2 \Omega \sin( \phi )  f(\varphi) = 2 \Omega \sin( \varphi )
50  \end{equation}  \end{equation}
51    
52  \noindent with the rotation rate, $\Omega$ set to $\frac{2 \pi}{86400s}$.  \noindent with the rotation rate, $\Omega$ set to $\frac{2 \pi}{86400s}$.
# Line 52  f(\phi) = 2 \Omega \sin( \phi ) Line 56  f(\phi) = 2 \Omega \sin( \phi )
56    
57  \begin{equation}  \begin{equation}
58  \label{EQ:taux}  \label{EQ:taux}
59  \tau_x(\phi) = \tau_{0}\sin(\pi \frac{\phi}{L_{\phi}})  \tau_{\lambda}(\varphi) = \tau_{0}\sin(\pi \frac{\varphi}{L_{\varphi}})
60  \end{equation}  \end{equation}
61    
62  \noindent where $L_{\phi}$ 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 example (1) \cite{baro_gyre_case_study}, the current  In contrast to the example in section \ref{sect:eg-baro}, the
69  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)$. In the remainder of this  in a locally orthogonal coordinate $(x,y,z)$. For this experiment description
72  document the local coordinate $(x,y,z)$ will be adopted.  the local orthogonal model coordinate $(x,y,z)$ is synonymous
73    with the coordinates $(\lambda,\varphi,r)$ shown in figure
74    \ref{fig:spherical-polar-coord}
75  \\  \\
76    
77  The experiment has four levels in the vertical, each of equal thickness,  The experiment has four levels in the vertical, each of equal thickness,
# Line 78  $\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  \centerline{  \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}
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{Discrete Numerical Configuration}  \subsection{Equations solved}
123    \label{www:tutorials}
124   The model is configured in hydrostatic form.  The domain is discretised with  For this problem
125  a uniform grid spacing in latitude and longitude  the implicit free surface, {\bf HPE} (see section \ref{sect:hydrostatic_and_quasi-hydrostatic_forms}) form of the
126   $\Delta x=\Delta y=1^{\circ}$, so  equations described in Marshall et. al \cite{marshall:97a} are
127  that there are sixty grid cells in the $x$ and $y$ directions. Vertically the  employed. The flow is three-dimensional with just temperature, $\theta$, as
128  model is configured with a four layers with constant depth,  an active tracer.  The equation of state is linear.
129  $\Delta z$, of $500$~m.  A horizontal Laplacian operator $\nabla_{h}^2$ provides viscous
130  The implicit free surface form of the  dissipation and provides a diffusive sub-grid scale closure for the
131  pressure equation described in Marshall et. al \cite{Marshall97a} is  temperature equation. A wind-stress momentum forcing is added to the momentum
132  employed.  equation for the zonal flow, $u$. Other terms in the model
133  A horizontal laplacian operator $\nabla_{h}^2$ provides viscous  are explicitly switched off for this experiment configuration (see section
134  dissipation. The wind-stress momentum input is added to the momentum equation  \ref{SEC:eg_fourl_code_config} ). This yields an active set of equations
135  for the ``zonal flow'', $u$. Other terms in the model  solved in this configuration, written in spherical polar coordinates as
136  are explicitly switched off for this experiement configuration (see section  follows
 \ref{SEC:code_config} ), yielding an active set of equations solved in this  
 configuration as 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^{'}}{\partial x} -    \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^{'}}{\partial y} -    \frac{1}{\rho}\frac{\partial p^{\prime}}{\partial \varphi} -
148    A_{h}\nabla_{h}^2v - A_{z}\frac{\partial^{2}v}{\partial z^{2}}    A_{h}\nabla_{h}^2v - A_{z}\frac{\partial^{2}v}{\partial z^{2}}
149  & = &  & = &
150  0  0
151  \\  \\
152  \frac{\partial \eta}{\partial t} + \nabla_{h}\cdot \vec{u}  \frac{\partial \eta}{\partial t} + \frac{\partial H \widehat{u}}{\partial \lambda} +
153    \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  g\rho_{0} \eta + \int^{0}_{-z}\rho^{'} dz & = & p^{'}  p^{\prime} & = &
165    g\rho_{0} \eta + \int^{0}_{-z}\rho^{\prime} dz
166  \\  \\
167  {\cal F} |_{s} & = & \frac{\tau_{x}}{\rho_{0}\Delta z_{s}}  \rho^{\prime} & = &- \alpha_{\theta}\rho_{0}\theta^{\prime}
168  \\  \\
169  {\cal F} |_{i} & = & 0  {\cal F}_{\lambda} |_{s} & = & \frac{\tau_{\lambda}}{\rho_{0}\Delta z_{s}}
170    \\
171    {\cal F}_{\lambda} |_{i} & = & 0
172  \end{eqnarray}  \end{eqnarray}
173    
174  \noindent where $u$ and $v$ are the $x$ and $y$ components of the  \noindent where $u$ and $v$ are the components of the horizontal
175  flow vector $\vec{u}$. The suffices ${s},{i}$ indicate surface and  flow vector $\vec{u}$ on the sphere ($u=\dot{\lambda},v=\dot{\varphi}$).
176  interior model levels respectively. As described in  The terms $H\widehat{u}$ and $H\widehat{v}$ are the components of the vertical
177  MITgcm Numerical Solution Procedure \cite{MITgcm_Numerical_Scheme}, the time  integral term given in equation \ref{eq:free-surface} and
178  evolution of potential temperature, $\theta$, equation is solved prognostically.  explained in more detail in section \ref{sect:pressure-method-linear-backward}.
179  The total pressure, $p$, is diagnosed by summing pressure due to surface  However, for the problem presented here, the continuity relation (equation
180  elevation $\eta$ and the hydrostatic pressure.  \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    
186    The pressure field, $p^{\prime}$, is separated into a barotropic part
187    due to variations in sea-surface height, $\eta$, and a hydrostatic
188    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}
208    \label{www:tutorials}
209    
210     The domain is discretised with
211    a uniform grid spacing in latitude and longitude
212     $\Delta \lambda=\Delta \varphi=1^{\circ}$, so
213    that there are sixty grid cells in the zonal and meridional directions.
214    Vertically the
215    model is configured with four layers with constant depth,
216    $\Delta z$, of $500$~m. The internal, locally orthogonal, model coordinate
217    variables $x$ and $y$ are initialized from the values of
218    $\lambda$, $\varphi$, $\Delta \lambda$ and $\Delta \varphi$ in
219    radians according to
220    
221    \begin{eqnarray}
222    x=r\cos(\varphi)\lambda,~\Delta x & = &r\cos(\varphi)\Delta \lambda \\
223    y=r\varphi,~\Delta y &= &r\Delta \varphi
224    \end{eqnarray}
225    
226    The procedure for generating a set of internal grid variables from a
227    spherical polar grid specification is discussed in section
228    \ref{sect:spatial_discrete_horizontal_grid}.
229    
230    \noindent\fbox{ \begin{minipage}{5.5in}
231    {\em S/R INI\_SPHERICAL\_POLAR\_GRID} ({\em
232    model/src/ini\_spherical\_polar\_grid.F})
233    
234    $A_c$, $A_\zeta$, $A_w$, $A_s$: {\bf rAc}, {\bf rAz}, {\bf rAw}, {\bf rAs}
235    ({\em GRID.h})
236    
237    $\Delta x_g$, $\Delta y_g$: {\bf DXg}, {\bf DYg} ({\em GRID.h})
238    
239    $\Delta x_c$, $\Delta y_c$: {\bf DXc}, {\bf DYc} ({\em GRID.h})
240    
241    $\Delta x_f$, $\Delta y_f$: {\bf DXf}, {\bf DYf} ({\em GRID.h})
242    
243    $\Delta x_v$, $\Delta y_u$: {\bf DXv}, {\bf DYu} ({\em GRID.h})
244    
245    \end{minipage} }\\
246    
247    
248    
249    As described in \ref{sect:tracer_equations}, the time evolution of potential
250    temperature,
251    $\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, (
259    $\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. 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 213  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 224  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 264  directory {\it verification/exp1/}.  The Line 361  directory {\it verification/exp1/}.  The
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  experiments. Below we describe the customisations
365  to these files associated with this experiment.  to these files 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 281  this line sets Line 379  this line sets
379  the initial and reference values of potential temperature at each model  the initial and reference values of potential temperature at each model
380  level in units of $^{\circ}$C.  level in units of $^{\circ}$C.
381  The entries are ordered from surface to depth. For each  The entries are ordered from surface to depth. For each
382  depth level the inital and reference profiles will be uniform in  depth level the initial and reference profiles will be uniform in
383  $x$ and $y$. The values specified here are read into the  $x$ and $y$. The values specified here are read into the
384  variable  variable
385  {\bf  {\bf
386  \begin{rawhtml} <A href=../../../code_reference/vdb/names/OK.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/OK.htm> \end{rawhtml}
387  tRef  tRef
388  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
389  }  }
390  in the model code, by procedure  in the model code, by procedure
391  {\it  {\it
392  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
393  INI\_PARMS  INI\_PARMS
394  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
395  }.  }.
# Line 304  INI\_PARMS Line 402  INI\_PARMS
402  %% \file{ini_parms}  %% \file{ini_parms}
403  \newcommand{\VARtref}{  \newcommand{\VARtref}{
404  {\bf  {\bf
405  \begin{rawhtml} <A href=../../../code_reference/vdb/names/OK.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/OK.htm> \end{rawhtml}
406  tRef  tRef
407  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
408  }  }
# Line 319  tRef Line 417  tRef
417  \end{minipage}  \end{minipage}
418  }  }
419  {\bf  {\bf
420  \begin{rawhtml} <A href=../../../code_reference/vdb/code/98.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/98.htm> \end{rawhtml}
421  goto code  goto code
422  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
423  }  }
# Line 327  goto code Line 425  goto code
425    
426  \item Line 6,  \item Line 6,
427  \begin{verbatim} viscAz=1.E-2, \end{verbatim}  \begin{verbatim} viscAz=1.E-2, \end{verbatim}
428  this line sets the vertical laplacian dissipation coefficient to  this line sets the vertical Laplacian dissipation coefficient to
429  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions
430  for this operator are specified later.  for this operator are specified later.
431  The variable  The variable
432  {\bf  {\bf
433  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZQ.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/ZQ.htm> \end{rawhtml}
434  viscAz  viscAz
435  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
436  }  }
437  is read in the routine  is read in the routine
438  {\it  {\it
439  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
440  INI\_PARMS  INI\_PARMS
441  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
442  }  }
443  and is copied into model general vertical coordinate variable  and is copied into model general vertical coordinate variable
444  {\bf  {\bf
445  \begin{rawhtml} <A href=../../../code_reference/vdb/names/PF.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/PF.htm> \end{rawhtml}
446  viscAr  viscAr
447  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
448  }.  }. At each time step, the viscous term contribution to the momentum equations
449    is calculated in routine
450    {\it S/R CALC\_DIFFUSIVITY}.
451    
452  \fbox{  \fbox{
453  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 355  viscAr Line 455  viscAr
455  \end{minipage}  \end{minipage}
456  }  }
457  {\bf  {\bf
458  \begin{rawhtml} <A href=../../../code_reference/vdb/code/53.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/53.htm> \end{rawhtml}
459  goto code  goto code
460  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
461  }  }
# Line 369  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Bo Line 469  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Bo
469  for this operator are specified later.  for this operator are specified later.
470  The variable  The variable
471  {\bf  {\bf
472  \begin{rawhtml} <A href=../../../code_reference/vdb/names/SI.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/SI.htm> \end{rawhtml}
473  viscAh  viscAh
474  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
475  }  }
476  is read in the routine  is read in the routine
477  {\it  {\it
478  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
479  INI\_PARMS  INI\_PARMS
480  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
481  }.  } and applied in routines {\it CALC\_MOM\_RHS} and {\it CALC\_GW}.
482    
483  \fbox{  \fbox{
484  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 386  INI\_PARMS Line 486  INI\_PARMS
486  \end{minipage}  \end{minipage}
487  }  }
488  {\bf  {\bf
489  \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/60.htm> \end{rawhtml}
490  goto code  goto code
491  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
492  }  }
# Line 397  goto code Line 497  goto code
497  \end{minipage}  \end{minipage}
498  }  }
499  {\bf  {\bf
500  \begin{rawhtml} <A href=../../../code_reference/vdb/code/58.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/58.htm> \end{rawhtml}
501  goto code  goto code
502  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
503  }  }
# Line 412  e.g. $\frac{\partial u}{\partial y}$=0 a Line 512  e.g. $\frac{\partial u}{\partial y}$=0 a
512  $\frac{\partial v}{\partial x}$=0 along boundaries in $x$.  $\frac{\partial v}{\partial x}$=0 along boundaries in $x$.
513  The variable  The variable
514  {\bf  {\bf
515  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UT.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/UT.htm> \end{rawhtml}
516  no\_slip\_sides  no\_slip\_sides
517  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
518  }  }
519  is read in the routine  is read in the routine
520  {\it  {\it
521  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
522  INI\_PARMS  INI\_PARMS
523  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
524  }.  } and the boundary condition is evaluated in routine
525    {\it S/R CALC\_MOM\_RHS}.
526    
527    
528  \fbox{  \fbox{
# Line 430  INI\_PARMS Line 531  INI\_PARMS
531  \end{minipage}  \end{minipage}
532  }  }
533  {\bf  {\bf
534  \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/60.htm> \end{rawhtml}
535  goto code  goto code
536  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
537  }  }
# Line 444  boundary condition in the vertical lapla Line 545  boundary condition in the vertical lapla
545  e.g. $u=v=0$ at $z=-H$, where $H$ is the local depth of the domain.  e.g. $u=v=0$ at $z=-H$, where $H$ is the local depth of the domain.
546  The variable  The variable
547  {\bf  {\bf
548  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UK.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/UK.htm> \end{rawhtml}
549  no\_slip\_bottom  no\_slip\_bottom
550  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
551  }  }
552  is read in the routine  is read in the routine
553  {\it  {\it
554  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
555  INI\_PARMS  INI\_PARMS
556  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
557  }.  } and is applied in the routine {\it S/R CALC\_MOM\_RHS}.
558    
559  \fbox{  \fbox{
560  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 461  INI\_PARMS Line 562  INI\_PARMS
562  \end{minipage}  \end{minipage}
563  }  }
564  {\bf  {\bf
565  \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/60.htm> \end{rawhtml}
566  goto code  goto code
567  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
568  }  }
# Line 476  operator is $\frac{\partial}{\partial x} Line 577  operator is $\frac{\partial}{\partial x}
577  all boundaries.  all boundaries.
578  The variable  The variable
579  {\bf  {\bf
580  \begin{rawhtml} <A href=../../../code_reference/vdb/names/RC.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/RC.htm> \end{rawhtml}
581  diffKhT  diffKhT
582  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
583  }  }
584  is read in the routine  is read in the routine
585  {\it  {\it
586  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
587  INI\_PARMS  INI\_PARMS
588  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
589  }.  } and used in routine {\it S/R CALC\_GT}.
590    
591  \fbox{ \begin{minipage}{5.0in}  \fbox{ \begin{minipage}{5.0in}
592  {\it S/R CALC\_GT}({\it calc\_gt.F})  {\it S/R CALC\_GT}({\it calc\_gt.F})
593  \end{minipage}  \end{minipage}
594  }  }
595  {\bf  {\bf
596  \begin{rawhtml} <A href=../../../code_reference/vdb/code/57.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/57.htm> \end{rawhtml}
597  goto code  goto code
598  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
599  }  }
# Line 506  to $10^{-2}\,{\rm m^{2}s^{-1}}$. The bou Line 607  to $10^{-2}\,{\rm m^{2}s^{-1}}$. The bou
607  operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries.  operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries.
608  The variable  The variable
609  {\bf  {\bf
610  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZT.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/ZT.htm> \end{rawhtml}
611  diffKzT  diffKzT
612  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
613  }  }
614  is read in the routine  is read in the routine
615  {\it  {\it
616  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
617  INI\_PARMS  INI\_PARMS
618  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
619  }.  }.
620  It is copied into model general vertical coordinate variable  It is copied into model general vertical coordinate variable
621  {\bf  {\bf
622  \begin{rawhtml} <A href=../../../code_reference/vdb/names/PD.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/PD.htm> \end{rawhtml}
623  diffKrT  diffKrT
624  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
625  }.  } which is used in routine {\it S/R CALC\_DIFFUSIVITY}.
626    
627  \fbox{ \begin{minipage}{5.0in}  \fbox{ \begin{minipage}{5.0in}
628  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})
629  \end{minipage}  \end{minipage}
630  }  }
631  {\bf  {\bf
632  \begin{rawhtml} <A href=../../../code_reference/vdb/code/53.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/53.htm> \end{rawhtml}
633  goto code  goto code
634  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
635  }  }
# Line 543  This line sets the thermal expansion coe Line 644  This line sets the thermal expansion coe
644  to $2 \times 10^{-4}\,{\rm degrees}^{-1}$  to $2 \times 10^{-4}\,{\rm degrees}^{-1}$
645  The variable  The variable
646  {\bf  {\bf
647  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZV.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/ZV.htm> \end{rawhtml}
648  tAlpha  tAlpha
649  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
650  }  }
651  is read in the routine  is read in the routine
652  {\it  {\it
653  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
654  INI\_PARMS  INI\_PARMS
655  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
656  }.  }. The routine {\it S/R FIND\_RHO} makes use of {\bf tAlpha}.
657    
658  \fbox{  \fbox{
659  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 560  INI\_PARMS Line 661  INI\_PARMS
661  \end{minipage}  \end{minipage}
662  }  }
663  {\bf  {\bf
664  \begin{rawhtml} <A href=../../../code_reference/vdb/code/79.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/79.htm> \end{rawhtml}
665  goto code  goto code
666  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
667  }  }
# Line 572  eosType='LINEAR' Line 673  eosType='LINEAR'
673  This line selects the linear form of the equation of state.  This line selects the linear form of the equation of state.
674  The variable  The variable
675  {\bf  {\bf
676  \begin{rawhtml} <A href=../../../code_reference/vdb/names/WV.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/WV.htm> \end{rawhtml}
677  eosType  eosType
678  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
679  }  }
680  is read in the routine  is read in the routine
681  {\it  {\it
682  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
683  INI\_PARMS  INI\_PARMS
684  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
685  }.  }. The values of {\bf eosType} sets which formula in routine
686    {\it FIND\_RHO} is used to calculate density.
687    
688  \fbox{  \fbox{
689  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 589  INI\_PARMS Line 691  INI\_PARMS
691  \end{minipage}  \end{minipage}
692  }  }
693  {\bf  {\bf
694  \begin{rawhtml} <A href=../../../code_reference/vdb/code/79.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/79.htm> \end{rawhtml}
695  goto code  goto code
696  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
697  }  }
# Line 602  usingSphericalPolarGrid=.TRUE., Line 704  usingSphericalPolarGrid=.TRUE.,
704  \end{verbatim}  \end{verbatim}
705  This line requests that the simulation be performed in a  This line requests that the simulation be performed in a
706  spherical polar coordinate system. It affects the interpretation of  spherical polar coordinate system. It affects the interpretation of
707  grid inoput parameters, for exampl {\bf delX} and {\bf delY} and  grid input parameters, for example {\bf delX} and {\bf delY} and
708  causes the grid generation routines to initialise an internal grid based  causes the grid generation routines to initialize an internal grid based
709  on spherical polar geometry.  on spherical polar geometry.
710  The variable  The variable
711  {\bf  {\bf
712  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10T.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/10T.htm> \end{rawhtml}
713  usingSphericalPolarGrid  usingSphericalPolarGrid
714  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
715  }  }
716  is read in the routine  is read in the routine
717  {\it  {\it
718  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
719  INI\_PARMS  INI\_PARMS
720  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
721  }.  }. When set to {\bf .TRUE.} the settings of {\bf delX} and {\bf delY} are
722    taken to be in degrees. These values are used in the
723    routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
724    
725  \fbox{  \fbox{
726  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 624  INI\_PARMS Line 728  INI\_PARMS
728  \end{minipage}  \end{minipage}
729  }  }
730  {\bf  {\bf
731  \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/97.htm> \end{rawhtml}
732  goto code  goto code
733  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
734  }  }
# Line 636  phiMin=0., Line 740  phiMin=0.,
740  This line sets the southern boundary of the modeled  This line sets the southern boundary of the modeled
741  domain to $0^{\circ}$ latitude. This value affects both the  domain to $0^{\circ}$ latitude. This value affects both the
742  generation of the locally orthogonal grid that the model  generation of the locally orthogonal grid that the model
743  uses internally and affects the initialisation of the coriolis force.  uses internally and affects the initialization of the coriolis force.
744  Note - it is not required to set  Note - it is not required to set
745  a longitude boundary, since the absolute longitude does  a longitude boundary, since the absolute longitude does
746  not alter the kernel equation discretisation.  not alter the kernel equation discretisation.
747  The variable  The variable
748  {\bf  {\bf
749  \begin{rawhtml} <A href=../../../code_reference/vdb/names/110.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/110.htm> \end{rawhtml}
750  phiMin  phiMin
751  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
752  }  }
753  is read in the routine  is read in the routine
754  {\it  {\it
755  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
756  INI\_PARMS  INI\_PARMS
757  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
758  }.  } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
759    
760  \fbox{  \fbox{
761  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 659  INI\_PARMS Line 763  INI\_PARMS
763  \end{minipage}  \end{minipage}
764  }  }
765  {\bf  {\bf
766  \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/97.htm> \end{rawhtml}
767  goto code  goto code
768  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
769  }  }
# Line 672  This line sets the horizontal grid spaci Line 776  This line sets the horizontal grid spaci
776  in the discrete grid to $1^{\circ}$ in longitude.  in the discrete grid to $1^{\circ}$ in longitude.
777  The variable  The variable
778  {\bf  {\bf
779  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Z.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/10Z.htm> \end{rawhtml}
780  delX  delX
781  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
782  }  }
783  is read in the routine  is read in the routine
784  {\it  {\it
785  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
786  INI\_PARMS  INI\_PARMS
787  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
788  }.  } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
789    
790  \fbox{  \fbox{
791  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 689  INI\_PARMS Line 793  INI\_PARMS
793  \end{minipage}  \end{minipage}
794  }  }
795  {\bf  {\bf
796  \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/97.htm> \end{rawhtml}
797  goto code  goto code
798  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
799  }  }
# Line 702  This line sets the horizontal grid spaci Line 806  This line sets the horizontal grid spaci
806  in the discrete grid to $1^{\circ}$ in latitude.  in the discrete grid to $1^{\circ}$ in latitude.
807  The variable  The variable
808  {\bf  {\bf
809  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UB.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/UB.htm> \end{rawhtml}
810  delY    delY  
811  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
812  }  }
813  is read in the routine  is read in the routine
814  {\it  {\it
815  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
816  INI\_PARMS  INI\_PARMS
817  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
818  }.  } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
819    
820  \fbox{  \fbox{
821  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 719  INI\_PARMS Line 823  INI\_PARMS
823  \end{minipage}  \end{minipage}
824  }  }
825  {\bf  {\bf
826  \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/97.htm> \end{rawhtml}
827  goto code  goto code
828  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
829  }  }
# Line 733  in the discrete grid to $500\,{\rm m}$, Line 837  in the discrete grid to $500\,{\rm m}$,
837  is $2\,{\rm km}$.  is $2\,{\rm km}$.
838  The variable  The variable
839  {\bf  {\bf
840  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10W.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/10W.htm> \end{rawhtml}
841  delZ  delZ
842  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
843  }  }
844  is read in the routine  is read in the routine
845  {\it  {\it
846  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
847  INI\_PARMS  INI\_PARMS
848  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
849  }.  }.
850  It is copied into the internal  It is copied into the internal
851  model coordinate variable  model coordinate variable
852  {\bf  {\bf
853  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Y.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/10Y.htm> \end{rawhtml}
854  delR  delR
855  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
856  }.  } which is used in routine {\it INI\_VERTICAL\_GRID}.
857    
858  \fbox{  \fbox{
859  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 757  delR Line 861  delR
861  \end{minipage}  \end{minipage}
862  }  }
863  {\bf  {\bf
864  \begin{rawhtml} <A href=../../../code_reference/vdb/code/100.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/100.htm> \end{rawhtml}
865  goto code  goto code
866  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
867  }  }
# Line 779  of $-2000m$ indicates open ocean. The ma Line 883  of $-2000m$ indicates open ocean. The ma
883  bathymetry file.  bathymetry file.
884  The variable  The variable
885  {\bf  {\bf
886  \begin{rawhtml} <A href=../../../code_reference/vdb/names/179.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/179.htm> \end{rawhtml}
887  bathyFile  bathyFile
888  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
889  }  }
890  is read in the routine  is read in the routine
891  {\it  {\it
892  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
893  INI\_PARMS  INI\_PARMS
894  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
895  }.  }. The bathymetry file is read in the routine {\it INI\_DEPTHS}.
896    
897  \fbox{  \fbox{
898  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 796  INI\_PARMS Line 900  INI\_PARMS
900  \end{minipage}  \end{minipage}
901  }  }
902  {\bf  {\bf
903  \begin{rawhtml} <A href=../../../code_reference/vdb/code/88.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/88.htm> \end{rawhtml}
904  goto code  goto code
905  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
906  }  }
# Line 807  goto code Line 911  goto code
911  zonalWindFile='windx.sin_y'  zonalWindFile='windx.sin_y'
912  \end{verbatim}  \end{verbatim}
913  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
914  surface wind stress is read. This file is also a two-dimensional  (zonal) surface wind stress is read. This file is also a two-dimensional
915  ($x,y$) map and is enumerated and formatted in the same manner as the  ($x,y$) map and is enumerated and formatted in the same manner as the
916  bathymetry file. The matlab program {\it input/gendata.m} includes example  bathymetry file. The matlab program {\it input/gendata.m} includes example
917  code to generate a valid  code to generate a valid
# Line 815  code to generate a valid Line 919  code to generate a valid
919  file.    file.  
920  The variable  The variable
921  {\bf  {\bf
922  \begin{rawhtml} <A href=../../../code_reference/vdb/names/13W.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/names/13W.htm> \end{rawhtml}
923  zonalWindFile  zonalWindFile
924  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
925  }  }
926  is read in the routine  is read in the routine
927  {\it  {\it
928  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/94.htm> \end{rawhtml}
929  INI\_PARMS  INI\_PARMS
930  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
931  }.  }.  The wind-stress file is read in the routine
932    {\it EXTERNAL\_FIELDS\_LOAD}.
933    
934  \fbox{  \fbox{
935  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 832  INI\_PARMS Line 937  INI\_PARMS
937  \end{minipage}  \end{minipage}
938  }  }
939  {\bf  {\bf
940  \begin{rawhtml} <A href=../../../code_reference/vdb/code/75.htm> \end{rawhtml}  \begin{rawhtml} <A href=../code_reference/vdb/code/75.htm> \end{rawhtml}
941  goto code  goto code
942  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
943  }  }
944    
945  \end{itemize}  \end{itemize}
946    
947  \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.  
948    
949  \begin{rawhtml}<PRE>\end{rawhtml}  \begin{rawhtml}<PRE>\end{rawhtml}
950  \begin{small}  \begin{small}
# Line 850  notes. Line 953  notes.
953  \begin{rawhtml}</PRE>\end{rawhtml}  \begin{rawhtml}</PRE>\end{rawhtml}
954    
955  \subsubsection{File {\it input/data.pkg}}  \subsubsection{File {\it input/data.pkg}}
956    \label{www:tutorials}
957    
958  This file uses standard default values and does not contain  This file uses standard default values and does not contain
959  customisations for this experiment.  customisations for this experiment.
960    
961  \subsubsection{File {\it input/eedata}}  \subsubsection{File {\it input/eedata}}
962    \label{www:tutorials}
963    
964  This file uses standard default values and does not contain  This file uses standard default values and does not contain
965  customisations for this experiment.  customisations for this experiment.
966    
967  \subsubsection{File {\it input/windx.sin\_y}}  \subsubsection{File {\it input/windx.sin\_y}}
968    \label{www:tutorials}
969    
970  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$)
971  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}$ (the
972  Although $\tau_{x}$ is only a function of $y$n in this experiment  default for MITgcm).
973    Although $\tau_{x}$ is only a function of latitude, $y$,
974    in this experiment
975  this file must still define a complete two-dimensional map in order  this file must still define a complete two-dimensional map in order
976  to be compatible with the standard code for loading forcing fields  to be compatible with the standard code for loading forcing fields
977  in MITgcm. The included matlab program {\it input/gendata.m} gives a complete  in MITgcm (routine {\it EXTERNAL\_FIELDS\_LOAD}.
978    The included matlab program {\it input/gendata.m} gives a complete
979  code for creating the {\it input/windx.sin\_y} file.  code for creating the {\it input/windx.sin\_y} file.
980    
981  \subsubsection{File {\it input/topog.box}}  \subsubsection{File {\it input/topog.box}}
982    \label{www:tutorials}
983    
984    
985  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)
986  map of depth values. For this experiment values are either  map of depth values. For this experiment values are either
987  $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
988  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
989  in the same way as standard MITgcm two-dimensional, horizontal arrays.  in the same way as standard MITgcm two-dimensional, horizontal arrays.
990  The included matlab program {\it input/gendata.m} gives a complete  The included matlab program {\it input/gendata.m} gives a complete
991  code for creating the {\it input/topog.box} file.  code for creating the {\it input/topog.box} file.
992    
993  \subsubsection{File {\it code/SIZE.h}}  \subsubsection{File {\it code/SIZE.h}}
994    \label{www:tutorials}
995    
996  Two lines are customized in this file for the current experiment  Two lines are customized in this file for the current experiment
997    
# Line 907  the vertical domain extent in grid point Line 1018  the vertical domain extent in grid point
1018  \end{small}  \end{small}
1019    
1020  \subsubsection{File {\it code/CPP\_OPTIONS.h}}  \subsubsection{File {\it code/CPP\_OPTIONS.h}}
1021    \label{www:tutorials}
1022    
1023  This file uses standard default values and does not contain  This file uses standard default values and does not contain
1024  customisations for this experiment.  customisations for this experiment.
1025    
1026    
1027  \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}  \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}
1028    \label{www:tutorials}
1029    
1030  This file uses standard default values and does not contain  This file uses standard default values and does not contain
1031  customisations for this experiment.  customisations for this experiment.
1032    
1033  \subsubsection{Other Files }  \subsubsection{Other Files }
1034    \label{www:tutorials}
1035    
1036  Other files relevant to this experiment are  Other files relevant to this experiment are
1037  \begin{itemize}  \begin{itemize}
# Line 930  dxF, dyF, dxG, dyG, dxC, dyC}. Line 1044  dxF, dyF, dxG, dyG, dxC, dyC}.
1044  \end{itemize}  \end{itemize}
1045    
1046  \subsection{Running The Example}  \subsection{Running The Example}
1047    \label{www:tutorials}
1048  \label{SEC:running_the_example}  \label{SEC:running_the_example}
1049    
1050  \subsubsection{Code Download}  \subsubsection{Code Download}
1051    \label{www:tutorials}
1052    
1053   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.
1054  Instructions for downloading the code can be found in the Getting Started  Instructions for downloading the code can be found in section
1055  Guide \cite{MITgcm_Getting_Started}.  \ref{sect:obtainingCode}.
1056    
1057  \subsubsection{Experiment Location}  \subsubsection{Experiment Location}
1058    \label{www:tutorials}
1059    
1060   This example experiments is located under the release sub-directory   This example experiments is located under the release sub-directory
1061    
1062  \vspace{5mm}  \vspace{5mm}
1063  {\it verification/exp1/ }  {\it verification/exp2/ }
1064    
1065  \subsubsection{Running the Experiment}  \subsubsection{Running the Experiment}
1066    \label{www:tutorials}
1067    
1068   To run the experiment   To run the experiment
1069    
# Line 962  Guide \cite{MITgcm_Getting_Started}. Line 1080  Guide \cite{MITgcm_Getting_Started}.
1080  % pwd  % pwd
1081  \end{verbatim}  \end{verbatim}
1082    
1083   You shold see a response on the screen ending in   You should see a response on the screen ending in
1084    
1085  {\it verification/exp1/input }  {\it verification/exp2/input }
1086    
1087    
1088  \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.1  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22