/[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.14 - (show annotations) (download) (as text)
Tue Jun 27 19:08:22 2006 UTC (19 years ago) by molod
Branch: MAIN
Changes since 1.13: +4 -3 lines
File MIME type: application/x-tex
Add cross references between tutorials and verification file system directories

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

  ViewVC Help
Powered by ViewVC 1.1.22