/[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.9 by afe, Tue Jul 27 13:40:09 2004 UTC
# Line 36  levels. Line 36  levels.
36    
37    
38    
 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}  
39    
 \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}  
40    
41  \subsection{Equations Solved}  \subsection{Equations Solved}
42  \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}$.  
 \\  
43    
44    
45  \subsection{Discrete Numerical Configuration}  \subsection{Discrete Numerical Configuration}
# Line 135  a uniform grid spacing in the horizontal Line 51  a uniform grid spacing in the horizontal
51  that there are sixty grid cells in the $x$ and $y$ directions. Vertically the  that there are sixty grid cells in the $x$ and $y$ directions. Vertically the
52  model is configured with a single layer with depth, $\Delta z$, of $5000$~m.  model is configured with a single layer with depth, $\Delta z$, of $5000$~m.
53    
 \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.  
 \\  
   
 \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$.  
54    
55  \subsection{Code Configuration}  \subsection{Code Configuration}
56  \label{www:tutorials}  \label{www:tutorials}
# Line 260  experiment. Line 123  experiment.
123  usingCylindricalGrid=.TRUE.,  usingCylindricalGrid=.TRUE.,
124  \end{verbatim}  \end{verbatim}
125  This line requests that the simulation be performed in a  This line requests that the simulation be performed in a
126  Cartesian coordinate system.  cylindrical coordinate system.
127    
128  \item Line 41,  \item Line qqq,
129  \begin{verbatim}  \begin{verbatim}
130  delX=60*20E3,  dXspacing=3,
131  \end{verbatim}  \end{verbatim}
132  This line sets the horizontal grid spacing between each x-coordinate line  This line sets the azimuthal grid spacing between each x-coordinate line
133  in the discrete grid. The syntax indicates that the discrete grid  in the discrete grid. The syntax indicates that the discrete grid
134  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}$.
135  ($20$~km).                                                                                  
136    
137    
138  \item Line 42,  \item Line qqq,
139  \begin{verbatim}  \begin{verbatim}
140  delY=60*20E3,  dYspacing=0.01,
141  \end{verbatim}  \end{verbatim}
142  This line sets the horizontal grid spacing between each y-coordinate line  This line sets the radial grid spacing between each $\rho$-coordinate line
143  in the discrete grid to $20 \times 10^{3}m$ ($20$~km).  in the discrete grid to $1cm$.
144    
145  \item Line 43,  \item Line 43,
146  \begin{verbatim}  \begin{verbatim}
147  delZ=5000,  delZ=29*0.005,
148  \end{verbatim}  \end{verbatim}
149  This line sets the vertical grid spacing between each z-coordinate line  This line sets the vertical grid spacing between each z-coordinate line
150  in the discrete grid to $5000m$ ($5$~km).  in the discrete grid to $5000m$ ($5$~km).
151    
152  \item Line 46,  \item Line 46,
153  \begin{verbatim}  \begin{verbatim}
154  bathyFile='topog.box'  bathyFile='bathyPol.bin',
155  \end{verbatim}  \end{verbatim}
156  This line specifies the name of the file from which the domain  This line specifies the name of the file from which the domain
157  bathymetry is read. This file is a two-dimensional ($x,y$) map of  ``bathymetry'' (tank depth) is read. This file is a two-dimensional
158    ($x,y$) map of
159  depths. This file is assumed to contain 64-bit binary numbers  depths. This file is assumed to contain 64-bit binary numbers
160  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 $x$
161  coordinate varying fastest. The points are ordered from low coordinate  coordinate varying fastest. The points are ordered from low coordinate
162  to high coordinate for both axes. The units and orientation of the  to high coordinate for both axes.  The units and orientation of the
163  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
164  experiment, a depth of $0m$ indicates a solid wall and a depth  experiment, a depth of $0m$ indicates an area outside of the tank
165  of $-5000m$ indicates open ocean. The matlab program  and a depth
166  {\it input/gendata.m} shows an example of how to generate a  f $-0.145m$ indicates the tank itself.
 bathymetry file.  
   
167    
168  \item Line 49,  \item Line 49,
169  \begin{verbatim}  \begin{verbatim}
170  zonalWindFile='windx.sin_y'  hydrogThetaFile='thetaPol.bin',
171  \end{verbatim}  \end{verbatim}
172  This line specifies the name of the file from which the x-direction  This line specifies the name of the file from which the initial values
173  surface wind stress is read. This file is also a two-dimensional  of $\theta$
174  ($x,y$) map and is enumerated and formatted in the same manner as the  are read. This file is a three-dimensional
175  bathymetry file. The matlab program {\it input/gendata.m} includes example  ($x,y,z$) map and is enumerated and formatted in the same manner as the
176  code to generate a valid {\bf zonalWindFile} file.    bathymetry file.
177    
178    \item Line qqq
179    \begin{verbatim}
180     tCyl  = 0
181    \end{verbatim}
182    This line specifies the temperature in degrees Celsius of the interior
183    wall of the tank -- usually a bucket of ice water.
184    
185    
186  \end{itemize}  \end{itemize}
187    
# Line 358  Two lines are customized in this file fo Line 229  Two lines are customized in this file fo
229  \begin{itemize}  \begin{itemize}
230    
231  \item Line 39,  \item Line 39,
232  \begin{verbatim} sNx=60, \end{verbatim} this line sets  \begin{verbatim} sNx=120, \end{verbatim} this line sets
233  the lateral domain extent in grid points for the  the lateral domain extent in grid points for the
234  axis aligned with the x-coordinate.  axis aligned with the x-coordinate.
235    
236  \item Line 40,  \item Line 40,
237  \begin{verbatim} sNy=60, \end{verbatim} this line sets  \begin{verbatim} sNy=31, \end{verbatim} this line sets
238  the lateral domain extent in grid points for the  the lateral domain extent in grid points for the
239  axis aligned with the y-coordinate.  axis aligned with the y-coordinate.
240    
241  \end{itemize}  \end{itemize}
242    
243  \begin{small}  \begin{small}
244  \input{part3/case_studies/barotropic_gyre/code/SIZE.h}  \input{part3/case_studies/rotating_tank/code/SIZE.h}
245  \end{small}  \end{small}
246    
247  \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.9

  ViewVC Help
Powered by ViewVC 1.1.22