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

  ViewVC Help
Powered by ViewVC 1.1.22