/[MITgcm]/manual/s_examples/rotating_tank/tank.tex
ViewVC logotype

Annotation of /manual/s_examples/rotating_tank/tank.tex

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


Revision 1.7 - (hide annotations) (download) (as text)
Mon Jul 26 21:09:47 2004 UTC (20 years, 11 months ago) by afe
Branch: MAIN
Changes since 1.6: +38 -30 lines
File MIME type: application/x-tex
added code directory

1 afe 1.7 % $Header: /u/gcmpack/manual/part3/case_studies/rotating_tank/tank.tex,v 1.6 2004/07/26 19:13:08 afe Exp $
2 afe 1.1 % $Name: $
3    
4     \bodytext{bgcolor="#FFFFFFFF"}
5    
6     %\begin{center}
7 afe 1.3 %{\Large \bf Using MITgcm to Simulate a Rotating Tank in Cylindrical
8     %Coordinates}
9 afe 1.1 %
10     %\vspace*{4mm}
11     %
12     %\vspace*{3mm}
13 afe 1.3 %{\large May 2001}
14 afe 1.1 %\end{center}
15    
16 afe 1.3 \section{A Rotating Tank in Cylindrical Coordinates}
17     \label{sect:eg-tank}
18 afe 1.2 \label{www:tutorials}
19    
20 afe 1.4 This section illustrates an example of MITgcm simulating a laboratory
21     experiment on much smaller scales than those common to geophysical
22     fluid dynamics.
23    
24     \subsection{Overview}
25     \label{www:tutorials}
26    
27    
28     This example experiment demonstrates using the MITgcm to simulate
29     a laboratory experiment with a rotating tank of water with an ice
30     bucket in the center. The simulation is configured for a laboratory
31     scale on a
32     $3^{\circ}$ $\times$ 20cm
33     cyclindrical grid with twenty-nine vertical
34     levels.
35     \\
36    
37    
38 afe 1.2
39     This example experiment demonstrates using the MITgcm to simulate
40 afe 1.3 a Barotropic, wind-forced, ocean gyre circulation. The experiment
41     is a numerical rendition of the gyre circulation problem similar
42     to the problems described analytically by Stommel in 1966
43     \cite{Stommel66} and numerically in Holland et. al \cite{Holland75}.
44    
45     In this experiment the model
46     is configured to represent a rectangular enclosed box of fluid,
47     $1200 \times 1200 $~km in lateral extent. The fluid is $5$~km deep and is forced
48     by a constant in time zonal wind stress, $\tau_x$, that varies sinusoidally
49     in the ``north-south'' direction. Topologically the grid is Cartesian and
50     the coriolis parameter $f$ is defined according to a mid-latitude beta-plane
51     equation
52    
53     \begin{equation}
54     \label{EQ:eg-baro-fcori}
55     f(y) = f_{0}+\beta y
56     \end{equation}
57    
58     \noindent where $y$ is the distance along the ``north-south'' axis of the
59     simulated domain. For this experiment $f_{0}$ is set to $10^{-4}s^{-1}$ in
60     (\ref{EQ:eg-baro-fcori}) and $\beta = 10^{-11}s^{-1}m^{-1}$.
61     \\
62     \\
63     The sinusoidal wind-stress variations are defined according to
64    
65     \begin{equation}
66     \label{EQ:eg-baro-taux}
67     \tau_x(y) = \tau_{0}\sin(\pi \frac{y}{L_y})
68     \end{equation}
69    
70     \noindent where $L_{y}$ is the lateral domain extent ($1200$~km) and
71     $\tau_0$ is set to $0.1N m^{-2}$.
72     \\
73     \\
74     Figure \ref{FIG:eg-baro-simulation_config}
75     summarizes the configuration simulated.
76    
77     %% === eh3 ===
78     \begin{figure}
79     %% \begin{center}
80     %% \resizebox{7.5in}{5.5in}{
81     %% \includegraphics*[0.2in,0.7in][10.5in,10.5in]
82     %% {part3/case_studies/barotropic_gyre/simulation_config.eps} }
83     %% \end{center}
84     \centerline{
85     \scalefig{.95}
86     \epsfbox{part3/case_studies/barotropic_gyre/simulation_config.eps}
87     }
88     \caption{Schematic of simulation domain and wind-stress forcing function
89     for barotropic gyre numerical experiment. The domain is enclosed bu solid
90     walls at $x=$~0,1200km and at $y=$~0,1200km.}
91     \label{FIG:eg-baro-simulation_config}
92     \end{figure}
93    
94     \subsection{Equations Solved}
95     \label{www:tutorials}
96     The model is configured in hydrostatic form. The implicit free surface form of the
97     pressure equation described in Marshall et. al \cite{marshall:97a} is
98     employed.
99     A horizontal Laplacian operator $\nabla_{h}^2$ provides viscous
100     dissipation. The wind-stress momentum input is added to the momentum equation
101     for the ``zonal flow'', $u$. Other terms in the model
102     are explicitly switched off for this experiment configuration (see section
103     \ref{SEC:code_config} ), yielding an active set of equations solved in this
104     configuration as follows
105 afe 1.1
106 afe 1.2 \begin{eqnarray}
107 afe 1.3 \label{EQ:eg-baro-model_equations}
108     \frac{Du}{Dt} - fv +
109     g\frac{\partial \eta}{\partial x} -
110     A_{h}\nabla_{h}^2u
111     & = &
112     \frac{\tau_{x}}{\rho_{0}\Delta z}
113 afe 1.2 \\
114 afe 1.3 \frac{Dv}{Dt} + fu + g\frac{\partial \eta}{\partial y} -
115     A_{h}\nabla_{h}^2v
116 afe 1.2 & = &
117 afe 1.3 0
118 afe 1.2 \\
119     \frac{\partial \eta}{\partial t} + \nabla_{h}\cdot \vec{u}
120     &=&
121     0
122     \end{eqnarray}
123    
124 afe 1.3 \noindent where $u$ and $v$ and the $x$ and $y$ components of the
125     flow vector $\vec{u}$.
126 afe 1.2 \\
127 afe 1.1
128 afe 1.3
129     \subsection{Discrete Numerical Configuration}
130     \label{www:tutorials}
131    
132     The domain is discretised with
133     a uniform grid spacing in the horizontal set to
134     $\Delta x=\Delta y=20$~km, so
135     that there are sixty grid cells in the $x$ and $y$ directions. Vertically the
136     model is configured with a single layer with depth, $\Delta z$, of $5000$~m.
137    
138 afe 1.1 \subsubsection{Numerical Stability Criteria}
139     \label{www:tutorials}
140    
141 afe 1.3 The Laplacian dissipation coefficient, $A_{h}$, is set to $400 m s^{-1}$.
142 afe 1.2 This value is chosen to yield a Munk layer width \cite{adcroft:95},
143 afe 1.3
144 afe 1.2 \begin{eqnarray}
145 afe 1.3 \label{EQ:eg-baro-munk_layer}
146 afe 1.2 M_{w} = \pi ( \frac { A_{h} }{ \beta } )^{\frac{1}{3}}
147     \end{eqnarray}
148    
149 afe 1.3 \noindent of $\approx 100$km. This is greater than the model
150     resolution $\Delta x$, ensuring that the frictional boundary
151     layer is well resolved.
152 afe 1.2 \\
153    
154     \noindent The model is stepped forward with a
155 afe 1.3 time step $\delta t=1200$secs. With this time step the stability
156 afe 1.2 parameter to the horizontal Laplacian friction \cite{adcroft:95}
157    
158    
159 afe 1.3
160 afe 1.2 \begin{eqnarray}
161 afe 1.3 \label{EQ:eg-baro-laplacian_stability}
162     S_{l} = 4 \frac{A_{h} \delta t}{{\Delta x}^2}
163 afe 1.2 \end{eqnarray}
164    
165 afe 1.3 \noindent evaluates to 0.012, which is well below the 0.3 upper limit
166     for stability.
167 afe 1.2 \\
168    
169 afe 1.3 \noindent The numerical stability for inertial oscillations
170 afe 1.2 \cite{adcroft:95}
171    
172     \begin{eqnarray}
173 afe 1.3 \label{EQ:eg-baro-inertial_stability}
174     S_{i} = f^{2} {\delta t}^2
175 afe 1.2 \end{eqnarray}
176    
177 afe 1.3 \noindent evaluates to $0.0144$, which is well below the $0.5$ upper
178     limit for stability.
179 afe 1.2 \\
180    
181 afe 1.3 \noindent The advective CFL \cite{adcroft:95} for an extreme maximum
182     horizontal flow speed of $ | \vec{u} | = 2 ms^{-1}$
183 afe 1.2
184     \begin{eqnarray}
185 afe 1.3 \label{EQ:eg-baro-cfl_stability}
186     S_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}
187 afe 1.2 \end{eqnarray}
188    
189 afe 1.3 \noindent evaluates to 0.12. This is approaching the stability limit
190     of 0.5 and limits $\delta t$ to $1200s$.
191 afe 1.2
192 afe 1.3 \subsection{Code Configuration}
193 afe 1.1 \label{www:tutorials}
194 afe 1.3 \label{SEC:eg-baro-code_config}
195 afe 1.1
196 afe 1.5 The model configuration for this experiment resides under the
197     directory {\it verification/rotatingi\_tank/}. The experiment files
198 afe 1.1 \begin{itemize}
199     \item {\it input/data}
200     \item {\it input/data.pkg}
201     \item {\it input/eedata},
202 afe 1.5 \item {\it input/bathyPol.bin},
203     \item {\it input/thetaPol.bin},
204 afe 1.1 \item {\it code/CPP\_EEOPTIONS.h}
205     \item {\it code/CPP\_OPTIONS.h},
206 afe 1.5 \item {\it code/SIZE.h}.
207 afe 1.1 \end{itemize}
208 afe 1.5
209 afe 1.3 contain the code customizations and parameter settings for this
210 afe 1.1 experiments. Below we describe the customizations
211     to these files associated with this experiment.
212    
213     \subsubsection{File {\it input/data}}
214     \label{www:tutorials}
215    
216     This file, reproduced completely below, specifies the main parameters
217     for the experiment. The parameters that are significant for this configuration
218     are
219    
220     \begin{itemize}
221    
222 afe 1.6 \item Line X, \begin{verbatim} viscAh=5.0E-6, \end{verbatim} this line sets
223     the Laplacian friction coefficient to $0.000006 m^2s^{-1}$, which is ususally
224     low because of the small scale, presumably.... qqq
225    
226     \item Line X, \begin{verbatim}f0=0.5 , \end{verbatim} this line sets the
227     coriolis term, and represents a tank spinning at qqq
228 afe 1.3 \item Line 10, \begin{verbatim} beta=1.E-11, \end{verbatim} this line sets
229     $\beta$ (the gradient of the coriolis parameter, $f$) to $10^{-11} s^{-1}m^{-1}$
230    
231     \item Lines 15 and 16
232     \begin{verbatim}
233 afe 1.6 rigidLid=.TRUE.,
234     implicitFreeSurface=.FALSE.,
235 afe 1.3 \end{verbatim}
236 afe 1.6
237     these lines do the opposite of the following:
238     suppress the rigid lid formulation of the surface
239 afe 1.3 pressure inverter and activate the implicit free surface form
240     of the pressure inverter.
241 afe 1.1
242     \item Line 27,
243     \begin{verbatim}
244 afe 1.3 startTime=0,
245 afe 1.1 \end{verbatim}
246 afe 1.3 this line indicates that the experiment should start from $t=0$
247     and implicitly suppresses searching for checkpoint files associated
248     with restarting an numerical integration from a previously saved state.
249 afe 1.2
250 afe 1.1 \item Line 30,
251     \begin{verbatim}
252 afe 1.6 deltaT=0.1,
253 afe 1.1 \end{verbatim}
254 afe 1.6 This line sets the integration timestep to $0.1s$. This is an unsually
255     small value among the examples due to the small physical scale of the
256     experiment.
257 afe 1.1
258 afe 1.3 \item Line 39,
259 afe 1.1 \begin{verbatim}
260 afe 1.6 usingCylindricalGrid=.TRUE.,
261 afe 1.1 \end{verbatim}
262 afe 1.3 This line requests that the simulation be performed in a
263 afe 1.7 cylindrical coordinate system.
264 afe 1.1
265 afe 1.7 \item Line qqq,
266 afe 1.1 \begin{verbatim}
267 afe 1.7 dXspacing=3,
268 afe 1.1 \end{verbatim}
269 afe 1.7 This line sets the azimuthal grid spacing between each x-coordinate line
270 afe 1.3 in the discrete grid. The syntax indicates that the discrete grid
271 afe 1.7 should be comprise of $120$ grid lines each separated by $3^{\circ}$.
272    
273    
274 afe 1.1
275 afe 1.7 \item Line qqq,
276 afe 1.1 \begin{verbatim}
277 afe 1.7 dYspacing=0.01,
278 afe 1.1 \end{verbatim}
279 afe 1.7 This line sets the radial grid spacing between each $\rho$-coordinate line
280     in the discrete grid to $1cm$.
281 afe 1.1
282     \item Line 43,
283     \begin{verbatim}
284 afe 1.7 delZ=29*0.005,
285 afe 1.2 \end{verbatim}
286 afe 1.3 This line sets the vertical grid spacing between each z-coordinate line
287     in the discrete grid to $5000m$ ($5$~km).
288 afe 1.1
289     \item Line 46,
290     \begin{verbatim}
291 afe 1.7 bathyFile='bathyPol.bin',
292 afe 1.1 \end{verbatim}
293     This line specifies the name of the file from which the domain
294 afe 1.7 ``bathymetry'' (tank depth) is read. This file is a two-dimensional
295     ($x,y$) map of
296 afe 1.1 depths. This file is assumed to contain 64-bit binary numbers
297 afe 1.7 giving the depth of the model at each grid cell, ordered with the $x$
298 afe 1.1 coordinate varying fastest. The points are ordered from low coordinate
299 afe 1.7 to high coordinate for both axes. The units and orientation of the
300 afe 1.1 depths in this file are the same as used in the MITgcm code. In this
301 afe 1.7 experiment, a depth of $0m$ indicates an area outside of the tank
302     and a depth
303     f $-0.145m$ indicates the tank itself.
304 afe 1.1
305 afe 1.7 \item Line 49,
306     \begin{verbatim}
307     hydrogThetaFile='thetaPol.bin',
308     \end{verbatim}
309     This line specifies the name of the file from which the initial values
310     of $\theta$
311     are read. This file is a three-dimensional
312     ($x,y,z$) map and is enumerated and formatted in the same manner as the
313     bathymetry file.
314 afe 1.1
315 afe 1.7 \item Line qqq
316 afe 1.1 \begin{verbatim}
317 afe 1.7 tCyl = 0
318 afe 1.1 \end{verbatim}
319 afe 1.7 This line specifies the temperature in degrees Celsius of the interior
320     wall of the tank -- usually a bucket of ice water.
321    
322 afe 1.1
323     \end{itemize}
324    
325     \noindent other lines in the file {\it input/data} are standard values
326     that are described in the MITgcm Getting Started and MITgcm Parameters
327     notes.
328    
329 afe 1.2 \begin{small}
330 afe 1.5 \input{part3/case_studies/rotating_tank/input/data}
331 afe 1.2 \end{small}
332 afe 1.1
333     \subsubsection{File {\it input/data.pkg}}
334     \label{www:tutorials}
335    
336     This file uses standard default values and does not contain
337 afe 1.3 customizations for this experiment.
338 afe 1.1
339     \subsubsection{File {\it input/eedata}}
340     \label{www:tutorials}
341    
342     This file uses standard default values and does not contain
343 afe 1.3 customizations for this experiment.
344 afe 1.1
345 afe 1.6 \subsubsection{File {\it input/thetaPol.bin}}
346 afe 1.1 \label{www:tutorials}
347    
348 afe 1.6 The {\it input/thetaPol.bin} file specifies a three-dimensional ($x,y,z$)
349     map of initial values of $\theta$ in degrees Celsius.
350 afe 1.1
351 afe 1.6 \subsubsection{File {\it input/bathyPol.bin}}
352 afe 1.1 \label{www:tutorials}
353    
354    
355 afe 1.6 The {\it input/bathyPol.bin} file specifies a two-dimensional ($x,y$)
356 afe 1.1 map of depth values. For this experiment values are either
357 afe 1.6 $0m$ or {\bf -delZ}m, corresponding respectively to outside or inside of
358     the tank. The file contains a raw binary stream of data that is enumerated
359 afe 1.1 in the same way as standard MITgcm two-dimensional, horizontal arrays.
360    
361     \subsubsection{File {\it code/SIZE.h}}
362     \label{www:tutorials}
363    
364     Two lines are customized in this file for the current experiment
365    
366     \begin{itemize}
367    
368     \item Line 39,
369 afe 1.7 \begin{verbatim} sNx=120, \end{verbatim} this line sets
370 afe 1.1 the lateral domain extent in grid points for the
371     axis aligned with the x-coordinate.
372    
373     \item Line 40,
374 afe 1.7 \begin{verbatim} sNy=31, \end{verbatim} this line sets
375 afe 1.1 the lateral domain extent in grid points for the
376     axis aligned with the y-coordinate.
377    
378     \end{itemize}
379    
380     \begin{small}
381 afe 1.7 \input{part3/case_studies/rotating_tank/code/SIZE.h}
382 afe 1.1 \end{small}
383    
384     \subsubsection{File {\it code/CPP\_OPTIONS.h}}
385     \label{www:tutorials}
386    
387     This file uses standard default values and does not contain
388 afe 1.3 customizations for this experiment.
389 afe 1.1
390    
391     \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}
392     \label{www:tutorials}
393    
394     This file uses standard default values and does not contain
395 afe 1.3 customizations for this experiment.
396 afe 1.2

  ViewVC Help
Powered by ViewVC 1.1.22