/[MITgcm]/manual/s_examples/barotropic_gyre/baro.tex
ViewVC logotype

Contents of /manual/s_examples/barotropic_gyre/baro.tex

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


Revision 1.9 - (show annotations) (download) (as text)
Thu May 16 15:54:37 2002 UTC (23 years, 2 months ago) by adcroft
Branch: MAIN
Changes since 1.8: +14 -1 lines
File MIME type: application/x-tex
Added \label{www:tutorials} to every section/subsection/subsubsection for
pages that need to appear in the Tutorials sectio of the web-site.

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

  ViewVC Help
Powered by ViewVC 1.1.22