/[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.3 - (hide annotations) (download) (as text)
Mon Jul 26 16:21:15 2004 UTC (20 years, 11 months ago) by afe
Branch: MAIN
Changes since 1.2: +182 -496 lines
File MIME type: application/x-tex
backup from earlier non-compiling version

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

  ViewVC Help
Powered by ViewVC 1.1.22