/[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.12 - (show annotations) (download) (as text)
Sat Oct 16 03:40:13 2004 UTC (20 years, 9 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint57l_post
Changes since 1.11: +4 -1 lines
File MIME type: application/x-tex
 o add HTML comments as a step towards "URL permanence" which will help
   solve:
   - stale links from the CMI web site
   - rotten indexing by bonniefy.pl
 o also cleanup a merge-mangle in diagnostics.tex

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

  ViewVC Help
Powered by ViewVC 1.1.22