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

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

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


Revision 1.5 - (show annotations) (download) (as text)
Mon Jul 26 18:41:32 2004 UTC (20 years, 11 months ago) by afe
Branch: MAIN
Changes since 1.4: +8 -7 lines
File MIME type: application/x-tex
adding input/ info to manual

1 % $Header: /u/gcmpack/manual/part3/case_studies/rotating_tank/tank.tex,v 1.4 2004/07/26 17:52:43 afe Exp $
2 % $Name: $
3
4 \bodytext{bgcolor="#FFFFFFFF"}
5
6 %\begin{center}
7 %{\Large \bf Using MITgcm to Simulate a Rotating Tank in Cylindrical
8 %Coordinates}
9 %
10 %\vspace*{4mm}
11 %
12 %\vspace*{3mm}
13 %{\large May 2001}
14 %\end{center}
15
16 \section{A Rotating Tank in Cylindrical Coordinates}
17 \label{sect:eg-tank}
18 \label{www:tutorials}
19
20 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
39 This example experiment demonstrates using the MITgcm to simulate
40 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
106 \begin{eqnarray}
107 \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 \\
114 \frac{Dv}{Dt} + fu + g\frac{\partial \eta}{\partial y} -
115 A_{h}\nabla_{h}^2v
116 & = &
117 0
118 \\
119 \frac{\partial \eta}{\partial t} + \nabla_{h}\cdot \vec{u}
120 &=&
121 0
122 \end{eqnarray}
123
124 \noindent where $u$ and $v$ and the $x$ and $y$ components of the
125 flow vector $\vec{u}$.
126 \\
127
128
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 \subsubsection{Numerical Stability Criteria}
139 \label{www:tutorials}
140
141 The Laplacian dissipation coefficient, $A_{h}$, is set to $400 m s^{-1}$.
142 This value is chosen to yield a Munk layer width \cite{adcroft:95},
143
144 \begin{eqnarray}
145 \label{EQ:eg-baro-munk_layer}
146 M_{w} = \pi ( \frac { A_{h} }{ \beta } )^{\frac{1}{3}}
147 \end{eqnarray}
148
149 \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 \\
153
154 \noindent The model is stepped forward with a
155 time step $\delta t=1200$secs. With this time step the stability
156 parameter to the horizontal Laplacian friction \cite{adcroft:95}
157
158
159
160 \begin{eqnarray}
161 \label{EQ:eg-baro-laplacian_stability}
162 S_{l} = 4 \frac{A_{h} \delta t}{{\Delta x}^2}
163 \end{eqnarray}
164
165 \noindent evaluates to 0.012, which is well below the 0.3 upper limit
166 for stability.
167 \\
168
169 \noindent The numerical stability for inertial oscillations
170 \cite{adcroft:95}
171
172 \begin{eqnarray}
173 \label{EQ:eg-baro-inertial_stability}
174 S_{i} = f^{2} {\delta t}^2
175 \end{eqnarray}
176
177 \noindent evaluates to $0.0144$, which is well below the $0.5$ upper
178 limit for stability.
179 \\
180
181 \noindent The advective CFL \cite{adcroft:95} for an extreme maximum
182 horizontal flow speed of $ | \vec{u} | = 2 ms^{-1}$
183
184 \begin{eqnarray}
185 \label{EQ:eg-baro-cfl_stability}
186 S_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}
187 \end{eqnarray}
188
189 \noindent evaluates to 0.12. This is approaching the stability limit
190 of 0.5 and limits $\delta t$ to $1200s$.
191
192 \subsection{Code Configuration}
193 \label{www:tutorials}
194 \label{SEC:eg-baro-code_config}
195
196 The model configuration for this experiment resides under the
197 directory {\it verification/rotatingi\_tank/}. The experiment files
198 \begin{itemize}
199 \item {\it input/data}
200 \item {\it input/data.pkg}
201 \item {\it input/eedata},
202 \item {\it input/bathyPol.bin},
203 \item {\it input/thetaPol.bin},
204 \item {\it code/CPP\_EEOPTIONS.h}
205 \item {\it code/CPP\_OPTIONS.h},
206 \item {\it code/SIZE.h}.
207 \end{itemize}
208
209 contain the code customizations and parameter settings for this
210 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 \item Line 7, \begin{verbatim} viscAh=4.E2, \end{verbatim} this line sets
223 the Laplacian friction coefficient to $400 m^2s^{-1}$
224 \item Line 10, \begin{verbatim} beta=1.E-11, \end{verbatim} this line sets
225 $\beta$ (the gradient of the coriolis parameter, $f$) to $10^{-11} s^{-1}m^{-1}$
226
227 \item Lines 15 and 16
228 \begin{verbatim}
229 rigidLid=.FALSE.,
230 implicitFreeSurface=.TRUE.,
231 \end{verbatim}
232 these lines suppress the rigid lid formulation of the surface
233 pressure inverter and activate the implicit free surface form
234 of the pressure inverter.
235
236 \item Line 27,
237 \begin{verbatim}
238 startTime=0,
239 \end{verbatim}
240 this line indicates that the experiment should start from $t=0$
241 and implicitly suppresses searching for checkpoint files associated
242 with restarting an numerical integration from a previously saved state.
243
244 \item Line 29,
245 \begin{verbatim}
246 endTime=12000,
247 \end{verbatim}
248 this line indicates that the experiment should start finish at $t=12000s$.
249 A restart file will be written at this time that will enable the
250 simulation to be continued from this point.
251
252 \item Line 30,
253 \begin{verbatim}
254 deltaTmom=1200,
255 \end{verbatim}
256 This line sets the momentum equation timestep to $1200s$.
257
258 \item Line 39,
259 \begin{verbatim}
260 usingCartesianGrid=.TRUE.,
261 \end{verbatim}
262 This line requests that the simulation be performed in a
263 Cartesian coordinate system.
264
265 \item Line 41,
266 \begin{verbatim}
267 delX=60*20E3,
268 \end{verbatim}
269 This line sets the horizontal grid spacing between each x-coordinate line
270 in the discrete grid. The syntax indicates that the discrete grid
271 should be comprise of $60$ grid lines each separated by $20 \times 10^{3}m$
272 ($20$~km).
273
274 \item Line 42,
275 \begin{verbatim}
276 delY=60*20E3,
277 \end{verbatim}
278 This line sets the horizontal grid spacing between each y-coordinate line
279 in the discrete grid to $20 \times 10^{3}m$ ($20$~km).
280
281 \item Line 43,
282 \begin{verbatim}
283 delZ=5000,
284 \end{verbatim}
285 This line sets the vertical grid spacing between each z-coordinate line
286 in the discrete grid to $5000m$ ($5$~km).
287
288 \item Line 46,
289 \begin{verbatim}
290 bathyFile='topog.box'
291 \end{verbatim}
292 This line specifies the name of the file from which the domain
293 bathymetry is read. This file is a two-dimensional ($x,y$) map of
294 depths. This file is assumed to contain 64-bit binary numbers
295 giving the depth of the model at each grid cell, ordered with the x
296 coordinate varying fastest. The points are ordered from low coordinate
297 to high coordinate for both axes. The units and orientation of the
298 depths in this file are the same as used in the MITgcm code. In this
299 experiment, a depth of $0m$ indicates a solid wall and a depth
300 of $-5000m$ indicates open ocean. The matlab program
301 {\it input/gendata.m} shows an example of how to generate a
302 bathymetry file.
303
304
305 \item Line 49,
306 \begin{verbatim}
307 zonalWindFile='windx.sin_y'
308 \end{verbatim}
309 This line specifies the name of the file from which the x-direction
310 surface wind stress is read. This file is also a two-dimensional
311 ($x,y$) map and is enumerated and formatted in the same manner as the
312 bathymetry file. The matlab program {\it input/gendata.m} includes example
313 code to generate a valid {\bf zonalWindFile} file.
314
315 \end{itemize}
316
317 \noindent other lines in the file {\it input/data} are standard values
318 that are described in the MITgcm Getting Started and MITgcm Parameters
319 notes.
320
321 \begin{small}
322 \input{part3/case_studies/rotating_tank/input/data}
323 \end{small}
324
325 \subsubsection{File {\it input/data.pkg}}
326 \label{www:tutorials}
327
328 This file uses standard default values and does not contain
329 customizations for this experiment.
330
331 \subsubsection{File {\it input/eedata}}
332 \label{www:tutorials}
333
334 This file uses standard default values and does not contain
335 customizations for this experiment.
336
337 \subsubsection{File {\it input/windx.sin\_y}}
338 \label{www:tutorials}
339
340 The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)
341 map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$.
342 Although $\tau_{x}$ is only a function of $y$n in this experiment
343 this file must still define a complete two-dimensional map in order
344 to be compatible with the standard code for loading forcing fields
345 in MITgcm. The included matlab program {\it input/gendata.m} gives a complete
346 code for creating the {\it input/windx.sin\_y} file.
347
348 \subsubsection{File {\it input/topog.box}}
349 \label{www:tutorials}
350
351
352 The {\it input/topog.box} file specifies a two-dimensional ($x,y$)
353 map of depth values. For this experiment values are either
354 $0m$ or {\bf -delZ}m, corresponding respectively to a wall or to deep
355 ocean. The file contains a raw binary stream of data that is enumerated
356 in the same way as standard MITgcm two-dimensional, horizontal arrays.
357 The included matlab program {\it input/gendata.m} gives a complete
358 code for creating the {\it input/topog.box} file.
359
360 \subsubsection{File {\it code/SIZE.h}}
361 \label{www:tutorials}
362
363 Two lines are customized in this file for the current experiment
364
365 \begin{itemize}
366
367 \item Line 39,
368 \begin{verbatim} sNx=60, \end{verbatim} this line sets
369 the lateral domain extent in grid points for the
370 axis aligned with the x-coordinate.
371
372 \item Line 40,
373 \begin{verbatim} sNy=60, \end{verbatim} this line sets
374 the lateral domain extent in grid points for the
375 axis aligned with the y-coordinate.
376
377 \end{itemize}
378
379 \begin{small}
380 \input{part3/case_studies/barotropic_gyre/code/SIZE.h}
381 \end{small}
382
383 \subsubsection{File {\it code/CPP\_OPTIONS.h}}
384 \label{www:tutorials}
385
386 This file uses standard default values and does not contain
387 customizations for this experiment.
388
389
390 \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}
391 \label{www:tutorials}
392
393 This file uses standard default values and does not contain
394 customizations for this experiment.
395

  ViewVC Help
Powered by ViewVC 1.1.22