| 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 | 
 This section illustrates an example of MITgcm simulating a laboratory | 
 <!-- CMIREDIR:eg-tank: --> | 
| 21 | 
 experiment on much smaller scales than those common to geophysical | 
 \end{rawhtml} | 
| 22 | 
 fluid dynamics. | 
 \begin{center} | 
| 23 | 
  | 
 (in directory: {\it verification/rotating\_tank/}) | 
| 24 | 
  | 
 \end{center} | 
| 25 | 
  | 
  | 
| 26 | 
 \subsection{Overview} | 
 \subsection{Overview} | 
| 27 | 
 \label{www:tutorials} | 
 \label{www:tutorials} | 
| 28 | 
                                                                                  | 
                                                                            | 
| 29 | 
                                                                                  | 
 This example configuration demonstrates using the MITgcm to simulate a | 
| 30 | 
 This example experiment demonstrates using the MITgcm to simulate | 
 laboratory demonstration using a differentially heated rotating | 
| 31 | 
 a laboratory experiment with a rotating tank of water with an ice | 
 annulus of water.  The simulation is configured for a laboratory scale | 
| 32 | 
 bucket in the center. The simulation is configured for a laboratory | 
 on a $3^{\circ}\times1\mathrm{cm}$ cyclindrical grid with twenty-nine | 
| 33 | 
 scale on a | 
 vertical levels of 0.5cm each.  This is a typical laboratory setup for | 
| 34 | 
 $3^{\circ}$ $\times$ 20cm | 
 illustration principles of GFD, as well as for a laboratory data | 
| 35 | 
 cyclindrical grid with twenty-nine vertical | 
 assimilation project. The files for this experiment can be found in | 
| 36 | 
 levels. | 
 the verification directory under rotating\_tank. | 
| 37 | 
  | 
 \\ | 
| 38 | 
  | 
  | 
| 39 | 
  | 
 example illustration from GFD lab here | 
| 40 | 
 \\ | 
 \\ | 
| 41 | 
  | 
  | 
| 42 | 
  | 
  | 
| 50 | 
 \subsection{Discrete Numerical Configuration} | 
 \subsection{Discrete Numerical Configuration} | 
| 51 | 
 \label{www:tutorials} | 
 \label{www:tutorials} | 
| 52 | 
  | 
  | 
| 53 | 
  The domain is discretised with  | 
  The domain is discretised with a uniform cylindrical grid spacing in | 
| 54 | 
 a uniform grid spacing in the horizontal set to | 
 the horizontal set to $\Delta a=1$~cm and $\Delta \phi=3^{\circ}$, so | 
| 55 | 
  $\Delta x=\Delta y=20$~km, so  | 
 that there are 120 grid cells in the azimuthal direction and | 
| 56 | 
 that there are sixty grid cells in the $x$ and $y$ directions. Vertically the  | 
 thirty-one grid cells in the radial, representing a tank 62cm in | 
| 57 | 
 model is configured with a single layer with depth, $\Delta z$, of $5000$~m.  | 
 diameter.  The bathymetry file sets the depth=0 in the nine lowest | 
| 58 | 
  | 
 radial rows to represent the central of the annulus.  Vertically the | 
| 59 | 
  | 
 model is configured with twenty-nine layers of uniform 0.5cm | 
| 60 | 
  | 
 thickness. | 
| 61 | 
  | 
 \\ | 
| 62 | 
  | 
 something about heat flux | 
| 63 | 
  | 
  | 
| 64 | 
 \subsection{Code Configuration} | 
 \subsection{Code Configuration} | 
| 65 | 
 \label{www:tutorials} | 
 \label{www:tutorials} | 
| 91 | 
  | 
  | 
| 92 | 
 \begin{itemize} | 
 \begin{itemize} | 
| 93 | 
  | 
  | 
| 94 | 
 \item Line X, \begin{verbatim} viscAh=5.0E-6, \end{verbatim} this line sets | 
 \item Lines 9-10, \begin{verbatim}  | 
| 95 | 
 the Laplacian friction coefficient to $0.000006 m^2s^{-1}$, which is ususally  | 
 viscAh=5.0E-6,  | 
| 96 | 
 low because of the small scale, presumably.... qqq | 
 viscAz=5.0E-6, | 
| 97 | 
  | 
 \end{verbatim}  | 
| 98 | 
 \item Line X, \begin{verbatim}f0=0.5 , \end{verbatim} this line sets the  | 
  | 
| 99 | 
 coriolis term, and represents a tank spinning at qqq | 
  | 
| 100 | 
 \item Line 10, \begin{verbatim} beta=1.E-11, \end{verbatim} this line sets | 
 These lines set the Laplacian friction coefficient in the horizontal | 
| 101 | 
 $\beta$ (the gradient of the coriolis parameter, $f$) to $10^{-11} s^{-1}m^{-1}$ | 
 and vertical, respectively.  Note that they are several orders of | 
| 102 | 
  | 
 magnitude smaller than the other examples due to the small scale of | 
| 103 | 
  | 
 this example. | 
| 104 | 
  | 
  | 
| 105 | 
  | 
 \item Lines 13-16, \begin{verbatim}  | 
| 106 | 
  | 
  diffKhT=2.5E-6, | 
| 107 | 
  | 
  diffKzT=2.5E-6, | 
| 108 | 
  | 
  diffKhS=1.0E-6, | 
| 109 | 
  | 
  diffKzS=1.0E-6, | 
| 110 | 
  | 
  | 
| 111 | 
  | 
 \end{verbatim}  | 
| 112 | 
  | 
  | 
| 113 | 
  | 
  | 
| 114 | 
 \item Lines 15 and 16 | 
 These lines set horizontal and vertical diffusion coefficients for | 
| 115 | 
  | 
 temperature and salinity.  Similarly to the friction coefficients, the | 
| 116 | 
  | 
 values are a couple of orders of magnitude less than most | 
| 117 | 
  | 
  configurations. | 
| 118 | 
  | 
  | 
| 119 | 
  | 
  | 
| 120 | 
  | 
 \item Line 17, \begin{verbatim}f0=0.5 , \end{verbatim} this line sets the  | 
| 121 | 
  | 
 coriolis term, and represents a tank spinning at about 2.4 rpm. | 
| 122 | 
  | 
  | 
| 123 | 
  | 
 \item Lines 23 and 24 | 
| 124 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 125 | 
 rigidLid=.TRUE., | 
 rigidLid=.TRUE., | 
| 126 | 
 implicitFreeSurface=.FALSE., | 
 implicitFreeSurface=.FALSE., | 
| 127 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 128 | 
  | 
  | 
| 129 | 
 these lines do the opposite of the following:  | 
 These lines activate  the rigid lid formulation of the surface | 
| 130 | 
 suppress the rigid lid formulation of the surface | 
 pressure inverter and suppress the implicit free surface form | 
 | 
 pressure inverter and activate the implicit free surface form | 
  | 
| 131 | 
 of the pressure inverter. | 
 of the pressure inverter. | 
| 132 | 
  | 
  | 
| 133 | 
 \item Line 27, | 
 \item Line 40, | 
| 134 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 135 | 
 startTime=0, | 
 nIter=0, | 
| 136 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 137 | 
 this line indicates that the experiment should start from $t=0$ | 
 This line indicates that the experiment should start from $t=0$ and | 
| 138 | 
 and implicitly suppresses searching for checkpoint files associated | 
 implicitly suppresses searching for checkpoint files associated with | 
| 139 | 
 with restarting an numerical integration from a previously saved state. | 
 restarting an numerical integration from a previously saved state. | 
| 140 | 
  | 
 Instead, the file thetaPol.bin will be loaded to initialized the | 
| 141 | 
  | 
 temperature fields as indicated below, and other variables will be | 
| 142 | 
  | 
 initialized to their defaults. | 
| 143 | 
  | 
  | 
| 144 | 
 \item Line 30, | 
  | 
| 145 | 
  | 
 \item Line 43, | 
| 146 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 147 | 
 deltaT=0.1, | 
 deltaT=0.1, | 
| 148 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 149 | 
 This line sets the integration timestep to $0.1s$.  This is an unsually | 
 This line sets the integration timestep to $0.1s$.  This is an | 
| 150 | 
 small value among the examples due to the small physical scale of the  | 
 unsually small value among the examples due to the small physical | 
| 151 | 
 experiment. | 
 scale of the experiment.  Using the ensemble Kalman filter to produce | 
| 152 | 
  | 
 input fields can necessitate even shorter timesteps. | 
| 153 | 
  | 
  | 
| 154 | 
 \item Line 39, | 
 \item Line 56, | 
| 155 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 156 | 
 usingCylindricalGrid=.TRUE., | 
 usingCylindricalGrid=.TRUE., | 
| 157 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 158 | 
 This line requests that the simulation be performed in a  | 
 This line requests that the simulation be performed in a  | 
| 159 | 
 cylindrical coordinate system. | 
 cylindrical coordinate system. | 
| 160 | 
  | 
  | 
| 161 | 
 \item Line qqq, | 
 \item Line 57, | 
| 162 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 163 | 
 dXspacing=3, | 
 dXspacing=3, | 
| 164 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 165 | 
 This line sets the azimuthal grid spacing between each x-coordinate line | 
 This line sets the azimuthal grid spacing between each $x$-coordinate line | 
| 166 | 
 in the discrete grid. The syntax indicates that the discrete grid | 
 in the discrete grid. The syntax indicates that the discrete grid | 
| 167 | 
 should be comprise of $120$ grid lines each separated by $3^{\circ}$. | 
 should be comprised of $120$ grid lines each separated by $3^{\circ}$. | 
| 168 | 
                                                                                  | 
                                                                                 | 
| 169 | 
  | 
  | 
| 170 | 
  | 
 \item Line 58, | 
 | 
 \item Line qqq, | 
  | 
| 171 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 172 | 
 dYspacing=0.01, | 
 dYspacing=0.01, | 
| 173 | 
 \end{verbatim} | 
 \end{verbatim} | 
 | 
 This line sets the radial grid spacing between each $\rho$-coordinate line | 
  | 
 | 
 in the discrete grid to $1cm$. | 
  | 
| 174 | 
  | 
  | 
| 175 | 
 \item Line 43, | 
 This line sets the radial cylindrical grid spacing between each | 
| 176 | 
  | 
 $a$-coordinate line in the discrete grid to $1cm$. | 
| 177 | 
  | 
  | 
| 178 | 
  | 
 \item Line 59, | 
| 179 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 180 | 
 delZ=29*0.005, | 
 delZ=29*0.005, | 
| 181 | 
 \end{verbatim} | 
 \end{verbatim} | 
 | 
 This line sets the vertical grid spacing between each z-coordinate line | 
  | 
 | 
 in the discrete grid to $5000m$ ($5$~km). | 
  | 
| 182 | 
  | 
  | 
| 183 | 
 \item Line 46, | 
 This line sets the vertical grid spacing between each of 29 | 
| 184 | 
  | 
 z-coordinate lines in the discrete grid to $0.005m$ ($5$~mm). | 
| 185 | 
  | 
  | 
| 186 | 
  | 
 \item Line 64, | 
| 187 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 188 | 
 bathyFile='bathyPol.bin', | 
 bathyFile='bathyPol.bin', | 
| 189 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 190 | 
 This line specifies the name of the file from which the domain | 
 This line specifies the name of the file from which the domain | 
| 191 | 
 ``bathymetry'' (tank depth) is read. This file is a two-dimensional  | 
 ``bathymetry'' (tank depth) is read. This file is a two-dimensional  | 
| 192 | 
 ($x,y$) map of | 
 ($a,\phi$) map of | 
| 193 | 
 depths. This file is assumed to contain 64-bit binary numbers  | 
 depths. This file is assumed to contain 64-bit binary numbers  | 
| 194 | 
 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$  | 
| 195 | 
 coordinate varying fastest. The points are ordered from low coordinate | 
 coordinate varying fastest. The points are ordered from low coordinate | 
| 196 | 
 to high coordinate for both axes.  The units and orientation of the | 
 to high coordinate for both axes.  The units and orientation of the | 
| 197 | 
 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 | 
| 199 | 
 and a depth | 
 and a depth | 
| 200 | 
 f $-0.145m$ indicates the tank itself.  | 
 f $-0.145m$ indicates the tank itself.  | 
| 201 | 
  | 
  | 
| 202 | 
 \item Line 49, | 
 \item Line 65, | 
| 203 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 204 | 
 hydrogThetaFile='thetaPol.bin', | 
 hydrogThetaFile='thetaPol.bin', | 
| 205 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 206 | 
 This line specifies the name of the file from which the initial values  | 
 This line specifies the name of the file from which the initial values  | 
| 207 | 
 of $\theta$  | 
 of temperature | 
| 208 | 
 are read. This file is a three-dimensional | 
 are read. This file is a three-dimensional | 
| 209 | 
 ($x,y,z$) map and is enumerated and formatted in the same manner as the  | 
 ($x,y,z$) map and is enumerated and formatted in the same manner as the  | 
| 210 | 
 bathymetry file.  | 
 bathymetry file.  | 
| 211 | 
  | 
  | 
| 212 | 
 \item Line qqq | 
 \item Lines 66 and 67 | 
| 213 | 
 \begin{verbatim} | 
 \begin{verbatim} | 
| 214 | 
  tCyl  = 0 | 
  tCylIn  = 0 | 
| 215 | 
  | 
  tCylOut  = 20 | 
| 216 | 
 \end{verbatim} | 
 \end{verbatim} | 
| 217 | 
 This line specifies the temperature in degrees Celsius of the interior | 
 These line specify the temperatures in degrees Celsius of the interior | 
| 218 | 
 wall of the tank -- usually a bucket of ice water. | 
 and exterior walls of the tank -- typically taken to be icewater on | 
| 219 | 
  | 
 the inside and room temperature on the outside. | 
| 220 | 
  | 
  | 
| 221 | 
  | 
  | 
| 222 | 
 \end{itemize} | 
 \end{itemize} | 
| 223 | 
  | 
  | 
| 224 | 
 \noindent other lines in the file {\it input/data} are standard values | 
 \noindent Other lines in the file {\it input/data} are standard values | 
| 225 | 
 that are described in the MITgcm Getting Started and MITgcm Parameters | 
 that are described in the MITgcm Getting Started and MITgcm Parameters | 
| 226 | 
 notes. | 
 notes. | 
| 227 | 
  | 
  | 
| 245 | 
 \label{www:tutorials} | 
 \label{www:tutorials} | 
| 246 | 
  | 
  | 
| 247 | 
 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$)  | 
| 248 | 
 map of initial values of $\theta$ in degrees Celsius. | 
 map of initial values of $\theta$ in degrees Celsius.  This particular  | 
| 249 | 
  | 
 experiment is set to random values x around 20C to provide initial  | 
| 250 | 
  | 
 perturbations. | 
| 251 | 
  | 
  | 
| 252 | 
 \subsubsection{File {\it input/bathyPol.bin}} | 
 \subsubsection{File {\it input/bathyPol.bin}} | 
| 253 | 
 \label{www:tutorials} | 
 \label{www:tutorials} |