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

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

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

revision 1.6 by afe, Mon Jul 26 19:13:08 2004 UTC revision 1.11 by edhill, Sat Oct 16 03:40:15 2004 UTC
# Line 16  Line 16 
16  \section{A Rotating Tank in Cylindrical Coordinates}  \section{A Rotating Tank in Cylindrical Coordinates}
17  \label{sect:eg-tank}  \label{sect:eg-tank}
18  \label{www:tutorials}  \label{www:tutorials}
19    \begin{rawhtml}
20    <!-- CMIREDIR:eg-tank: -->
21    \end{rawhtml}
22    
23  This section illustrates an example of MITgcm simulating a laboratory  This section illustrates an example of MITgcm simulating a laboratory
24  experiment on much smaller scales than those common to geophysical  experiment on much smaller scales than those commonly considered in  
25    geophysical
26  fluid dynamics.  fluid dynamics.
27    
28  \subsection{Overview}  \subsection{Overview}
29  \label{www:tutorials}  \label{www:tutorials}
30                                                                                                                                                                    
31                                                                                                                                                                    
32  This example experiment demonstrates using the MITgcm to simulate  This example configuration demonstrates using the MITgcm to simulate
33  a laboratory experiment with a rotating tank of water with an ice  a laboratory demonstration using a rotating tank of water with an ice
34  bucket in the center. The simulation is configured for a laboratory  bucket in the center. The simulation is configured for a laboratory
35  scale on a  scale on a
36  $3^{\circ}$ $\times$ 20cm  $3^{\circ}$ $\times$ 20cm
37  cyclindrical grid with twenty-nine vertical  cyclindrical grid with twenty-nine vertical
38  levels.  levels.
39  \\  \\
40    example illustration from GFD lab here
41    \\
42    
43    
44    
 This example experiment demonstrates using the MITgcm to simulate  
 a Barotropic, wind-forced, ocean gyre circulation. The experiment  
 is a numerical rendition of the gyre circulation problem similar  
 to the problems described analytically by Stommel in 1966  
 \cite{Stommel66} and numerically in Holland et. al \cite{Holland75}.  
   
 In this experiment the model  
 is configured to represent a rectangular enclosed box of fluid,  
 $1200 \times 1200 $~km in lateral extent. The fluid is $5$~km deep and is forced  
 by a constant in time zonal wind stress, $\tau_x$, that varies sinusoidally  
 in the ``north-south'' direction. Topologically the grid is Cartesian and  
 the coriolis parameter $f$ is defined according to a mid-latitude beta-plane  
 equation  
   
 \begin{equation}  
 \label{EQ:eg-baro-fcori}  
 f(y) = f_{0}+\beta y  
 \end{equation}  
45    
 \noindent where $y$ is the distance along the ``north-south'' axis of the  
 simulated domain. For this experiment $f_{0}$ is set to $10^{-4}s^{-1}$ in  
 (\ref{EQ:eg-baro-fcori}) and $\beta = 10^{-11}s^{-1}m^{-1}$.  
 \\  
 \\  
  The sinusoidal wind-stress variations are defined according to  
   
 \begin{equation}  
 \label{EQ:eg-baro-taux}  
 \tau_x(y) = \tau_{0}\sin(\pi \frac{y}{L_y})  
 \end{equation}  
   
 \noindent where $L_{y}$ is the lateral domain extent ($1200$~km) and  
 $\tau_0$ is set to $0.1N m^{-2}$.  
 \\  
 \\  
 Figure \ref{FIG:eg-baro-simulation_config}  
 summarizes the configuration simulated.  
   
 %% === eh3 ===  
 \begin{figure}  
 %% \begin{center}  
 %%  \resizebox{7.5in}{5.5in}{  
 %%    \includegraphics*[0.2in,0.7in][10.5in,10.5in]  
 %%     {part3/case_studies/barotropic_gyre/simulation_config.eps} }  
 %% \end{center}  
 \centerline{  
   \scalefig{.95}  
   \epsfbox{part3/case_studies/barotropic_gyre/simulation_config.eps}  
 }  
 \caption{Schematic of simulation domain and wind-stress forcing function  
 for barotropic gyre numerical experiment. The domain is enclosed bu solid  
 walls at $x=$~0,1200km and at $y=$~0,1200km.}  
 \label{FIG:eg-baro-simulation_config}  
 \end{figure}  
46    
47  \subsection{Equations Solved}  \subsection{Equations Solved}
48  \label{www:tutorials}  \label{www:tutorials}
 The model is configured in hydrostatic form. The implicit free surface form of the  
 pressure equation described in Marshall et. al \cite{marshall:97a} is  
 employed.  
 A horizontal Laplacian operator $\nabla_{h}^2$ provides viscous  
 dissipation. The wind-stress momentum input is added to the momentum equation  
 for the ``zonal flow'', $u$. Other terms in the model  
 are explicitly switched off for this experiment configuration (see section  
 \ref{SEC:code_config} ), yielding an active set of equations solved in this  
 configuration as follows  
   
 \begin{eqnarray}  
 \label{EQ:eg-baro-model_equations}  
 \frac{Du}{Dt} - fv +  
               g\frac{\partial \eta}{\partial x} -  
               A_{h}\nabla_{h}^2u  
 & = &  
 \frac{\tau_{x}}{\rho_{0}\Delta z}  
 \\  
 \frac{Dv}{Dt} + fu + g\frac{\partial \eta}{\partial y} -  
               A_{h}\nabla_{h}^2v  
 & = &  
 0  
 \\  
 \frac{\partial \eta}{\partial t} + \nabla_{h}\cdot \vec{u}  
 &=&  
 0  
 \end{eqnarray}  
   
 \noindent where $u$ and $v$ and the $x$ and $y$ components of the  
 flow vector $\vec{u}$.  
 \\  
49    
50    
51  \subsection{Discrete Numerical Configuration}  \subsection{Discrete Numerical Configuration}
52  \label{www:tutorials}  \label{www:tutorials}
53    
54   The domain is discretised with   The domain is discretised with
55  a uniform grid spacing in the horizontal set to  a uniform cylindrical grid spacing in the horizontal set to
56   $\Delta x=\Delta y=20$~km, so   $\Delta a=1$~cm and $\Delta \phi=3^{\circ}$, so
57  that there are sixty grid cells in the $x$ and $y$ directions. Vertically the  that there are 120 grid cells in the azimuthal direction and thirty-one grid cells in the radial. Vertically the
58  model is configured with a single layer with depth, $\Delta z$, of $5000$~m.  model is configured with twenty-nine layers of uniform 0.5cm thickness.
   
 \subsubsection{Numerical Stability Criteria}  
 \label{www:tutorials}  
   
 The Laplacian dissipation coefficient, $A_{h}$, is set to $400 m s^{-1}$.  
 This value is chosen to yield a Munk layer width \cite{adcroft:95},  
   
 \begin{eqnarray}  
 \label{EQ:eg-baro-munk_layer}  
 M_{w} = \pi ( \frac { A_{h} }{ \beta } )^{\frac{1}{3}}  
 \end{eqnarray}  
   
 \noindent  of $\approx 100$km. This is greater than the model  
 resolution $\Delta x$, ensuring that the frictional boundary  
 layer is well resolved.  
59  \\  \\
60    something about heat flux
 \noindent The model is stepped forward with a  
 time step $\delta t=1200$secs. With this time step the stability  
 parameter to the horizontal Laplacian friction \cite{adcroft:95}  
   
   
   
 \begin{eqnarray}  
 \label{EQ:eg-baro-laplacian_stability}  
 S_{l} = 4 \frac{A_{h} \delta t}{{\Delta x}^2}  
 \end{eqnarray}  
   
 \noindent evaluates to 0.012, which is well below the 0.3 upper limit  
 for stability.  
 \\  
   
 \noindent The numerical stability for inertial oscillations    
 \cite{adcroft:95}  
   
 \begin{eqnarray}  
 \label{EQ:eg-baro-inertial_stability}  
 S_{i} = f^{2} {\delta t}^2  
 \end{eqnarray}  
   
 \noindent evaluates to $0.0144$, which is well below the $0.5$ upper  
 limit for stability.  
 \\  
   
 \noindent The advective CFL \cite{adcroft:95} for an extreme maximum  
 horizontal flow speed of $ | \vec{u} | = 2 ms^{-1}$  
   
 \begin{eqnarray}  
 \label{EQ:eg-baro-cfl_stability}  
 S_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}  
 \end{eqnarray}  
   
 \noindent evaluates to 0.12. This is approaching the stability limit  
 of 0.5 and limits $\delta t$ to $1200s$.  
61    
62  \subsection{Code Configuration}  \subsection{Code Configuration}
63  \label{www:tutorials}  \label{www:tutorials}
# Line 219  are Line 89  are
89    
90  \begin{itemize}  \begin{itemize}
91    
92  \item Line X, \begin{verbatim} viscAh=5.0E-6, \end{verbatim} this line sets  \item Line 10, \begin{verbatim} viscAh=5.0E-6, \end{verbatim} this line sets
93  the Laplacian friction coefficient to $0.000006 m^2s^{-1}$, which is ususally  the Laplacian friction coefficient to $6 \times 10^{-6} m^2s^{-1}$,
94    which is ususally
95  low because of the small scale, presumably.... qqq  low because of the small scale, presumably.... qqq
96    
97  \item Line X, \begin{verbatim}f0=0.5 , \end{verbatim} this line sets the  \item Line 19, \begin{verbatim}f0=0.5 , \end{verbatim} this line sets the
98  coriolis term, and represents a tank spinning at qqq  coriolis term, and represents a tank spinning at 2/s
99  \item Line 10, \begin{verbatim} beta=1.E-11, \end{verbatim} this line sets  \item Line 20, \begin{verbatim} beta=1.E-11, \end{verbatim} this line sets
100  $\beta$ (the gradient of the coriolis parameter, $f$) to $10^{-11} s^{-1}m^{-1}$  $\beta$ (the gradient of the coriolis parameter, $f$) to $10^{-11} s^{-1}m^{-1}$
101    
102  \item Lines 15 and 16  \item Lines 27 and 28
103  \begin{verbatim}  \begin{verbatim}
104  rigidLid=.TRUE.,  rigidLid=.TRUE.,
105  implicitFreeSurface=.FALSE.,  implicitFreeSurface=.FALSE.,
106  \end{verbatim}  \end{verbatim}
107    
108  these lines do the opposite of the following:  qqq these lines do the opposite of the following:
109  suppress the rigid lid formulation of the surface  suppress the rigid lid formulation of the surface
110  pressure inverter and activate the implicit free surface form  pressure inverter and activate the implicit free surface form
111  of the pressure inverter.  of the pressure inverter.
112    
113  \item Line 27,  \item Line 44,
114  \begin{verbatim}  \begin{verbatim}
115  startTime=0,  nIter=0,
116  \end{verbatim}  \end{verbatim}
117  this line indicates that the experiment should start from $t=0$  this line indicates that the experiment should start from $t=0$
118  and implicitly suppresses searching for checkpoint files associated  and implicitly suppresses searching for checkpoint files associated
119  with restarting an numerical integration from a previously saved state.  with restarting an numerical integration from a previously saved state.
120    
121  \item Line 30,  \item Line 47,
122  \begin{verbatim}  \begin{verbatim}
123  deltaT=0.1,  deltaT=0.1,
124  \end{verbatim}  \end{verbatim}
# Line 255  This line sets the integration timestep Line 126  This line sets the integration timestep
126  small value among the examples due to the small physical scale of the  small value among the examples due to the small physical scale of the
127  experiment.  experiment.
128    
129  \item Line 39,  \item Line 58,
130  \begin{verbatim}  \begin{verbatim}
131  usingCylindricalGrid=.TRUE.,  usingCylindricalGrid=.TRUE.,
132  \end{verbatim}  \end{verbatim}
133  This line requests that the simulation be performed in a  This line requests that the simulation be performed in a
134  Cartesian coordinate system.  cylindrical coordinate system.
135    
136  \item Line 41,  \item Line 60,
137  \begin{verbatim}  \begin{verbatim}
138  delX=60*20E3,  dXspacing=3,
139  \end{verbatim}  \end{verbatim}
140  This line sets the horizontal grid spacing between each x-coordinate line  This line sets the azimuthal grid spacing between each $x$-coordinate line
141  in the discrete grid. The syntax indicates that the discrete grid  in the discrete grid. The syntax indicates that the discrete grid
142  should be comprise of $60$ grid lines each separated by $20 \times 10^{3}m$  should be comprise of $120$ grid lines each separated by $3^{\circ}$.
143  ($20$~km).                                                                                  
144    
145  \item Line 42,  
146    \item Line 61,
147  \begin{verbatim}  \begin{verbatim}
148  delY=60*20E3,  dYspacing=0.01,
149  \end{verbatim}  \end{verbatim}
150  This line sets the horizontal grid spacing between each y-coordinate line  This line sets the radial cylindrical grid spacing between each $a$-coordinate line
151  in the discrete grid to $20 \times 10^{3}m$ ($20$~km).  in the discrete grid to $1cm$.
152    
153  \item Line 43,  \item Line 62,
154  \begin{verbatim}  \begin{verbatim}
155  delZ=5000,  delZ=29*0.005,
156  \end{verbatim}  \end{verbatim}
157  This line sets the vertical grid spacing between each z-coordinate line  This line sets the vertical grid spacing between each z-coordinate line
158  in the discrete grid to $5000m$ ($5$~km).  in the discrete grid to $5000m$ ($5$~km).
159    
160  \item Line 46,  \item Line 68,
161  \begin{verbatim}  \begin{verbatim}
162  bathyFile='topog.box'  bathyFile='bathyPol.bin',
163  \end{verbatim}  \end{verbatim}
164  This line specifies the name of the file from which the domain  This line specifies the name of the file from which the domain
165  bathymetry is read. This file is a two-dimensional ($x,y$) map of  ``bathymetry'' (tank depth) is read. This file is a two-dimensional
166    ($a,\phi$) map of
167  depths. This file is assumed to contain 64-bit binary numbers  depths. This file is assumed to contain 64-bit binary numbers
168  giving the depth of the model at each grid cell, ordered with the x  giving the depth of the model at each grid cell, ordered with the $\phi$
169  coordinate varying fastest. The points are ordered from low coordinate  coordinate varying fastest. The points are ordered from low coordinate
170  to high coordinate for both axes. The units and orientation of the  to high coordinate for both axes.  The units and orientation of the
171  depths in this file are the same as used in the MITgcm code. In this  depths in this file are the same as used in the MITgcm code. In this
172  experiment, a depth of $0m$ indicates a solid wall and a depth  experiment, a depth of $0m$ indicates an area outside of the tank
173  of $-5000m$ indicates open ocean. The matlab program  and a depth
174  {\it input/gendata.m} shows an example of how to generate a  f $-0.145m$ indicates the tank itself.
 bathymetry file.  
175    
176    \item Line 67,
177    \begin{verbatim}
178    hydrogThetaFile='thetaPol.bin',
179    \end{verbatim}
180    This line specifies the name of the file from which the initial values
181    of temperature
182    are read. This file is a three-dimensional
183    ($x,y,z$) map and is enumerated and formatted in the same manner as the
184    bathymetry file.
185    
186  \item Line 49,  \item Line qqq
187  \begin{verbatim}  \begin{verbatim}
188  zonalWindFile='windx.sin_y'   tCyl  = 0
189  \end{verbatim}  \end{verbatim}
190  This line specifies the name of the file from which the x-direction  This line specifies the temperature in degrees Celsius of the interior
191  surface wind stress is read. This file is also a two-dimensional  wall of the tank -- usually a bucket of ice water.
192  ($x,y$) map and is enumerated and formatted in the same manner as the  
 bathymetry file. The matlab program {\it input/gendata.m} includes example  
 code to generate a valid {\bf zonalWindFile} file.    
193    
194  \end{itemize}  \end{itemize}
195    
# Line 338  customizations for this experiment. Line 217  customizations for this experiment.
217  \label{www:tutorials}  \label{www:tutorials}
218    
219  The {\it input/thetaPol.bin} file specifies a three-dimensional ($x,y,z$)  The {\it input/thetaPol.bin} file specifies a three-dimensional ($x,y,z$)
220  map of initial values of $\theta$ in degrees Celsius.  map of initial values of $\theta$ in degrees Celsius.  This particular
221    experiment is set to random values x around 20C to provide initial
222    perturbations.
223    
224  \subsubsection{File {\it input/bathyPol.bin}}  \subsubsection{File {\it input/bathyPol.bin}}
225  \label{www:tutorials}  \label{www:tutorials}
# Line 358  Two lines are customized in this file fo Line 239  Two lines are customized in this file fo
239  \begin{itemize}  \begin{itemize}
240    
241  \item Line 39,  \item Line 39,
242  \begin{verbatim} sNx=60, \end{verbatim} this line sets  \begin{verbatim} sNx=120, \end{verbatim} this line sets
243  the lateral domain extent in grid points for the  the lateral domain extent in grid points for the
244  axis aligned with the x-coordinate.  axis aligned with the x-coordinate.
245    
246  \item Line 40,  \item Line 40,
247  \begin{verbatim} sNy=60, \end{verbatim} this line sets  \begin{verbatim} sNy=31, \end{verbatim} this line sets
248  the lateral domain extent in grid points for the  the lateral domain extent in grid points for the
249  axis aligned with the y-coordinate.  axis aligned with the y-coordinate.
250    
251  \end{itemize}  \end{itemize}
252    
253  \begin{small}  \begin{small}
254  \input{part3/case_studies/barotropic_gyre/code/SIZE.h}  \input{part3/case_studies/rotating_tank/code/SIZE.h}
255  \end{small}  \end{small}
256    
257  \subsubsection{File {\it code/CPP\_OPTIONS.h}}  \subsubsection{File {\it code/CPP\_OPTIONS.h}}

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22