/[MITgcm]/manual/s_examples/plume_on_slope/plume_on_slope.tex
ViewVC logotype

Contents of /manual/s_examples/plume_on_slope/plume_on_slope.tex

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


Revision 1.12 - (show annotations) (download) (as text)
Mon Aug 30 23:09:20 2010 UTC (13 years, 9 months ago) by jmc
Branch: MAIN
Changes since 1.11: +12 -12 lines
File MIME type: application/x-tex
clean-up latex built:
 (remove multiple definition of label; fix missing reference; replace
  non-standard latex stuff; ...)

1 \section{Gravity Plume On a Continental Slope}
2 %\label{www:tutorials}
3 \label{sec:eg-gravityplume}
4 \begin{rawhtml}
5 <!-- CMIREDIR:eg-gravityplume: -->
6 \end{rawhtml}
7 \begin{center}
8 (in directory: {\it verification/tutorial\_plume\_on\_slope/})
9 \end{center}
10
11 \begin{rawhtml}MITGCM_INSERT_FIGURE_BEGIN T-plume-on-slope\end{rawhtml}
12 \begin{figure}
13 \begin{center}
14 \includegraphics[width=\textwidth,height=.3\textheight]{s_examples/plume_on_slope/billows.eps}
15 \end{center}
16 \caption{Temperature after 23~hours of cooling. The cold dense water is
17 mixed with ambient water as it accelerates down the slope and hence
18 is warmed than the unmixed plume.
19 }
20 \label{fig:T-plume-on-slope}
21 \end{figure}
22 \begin{rawhtml}MITGCM_INSERT_FIGURE_END\end{rawhtml}
23
24 An important test of any ocean model is the ability to represent the
25 flow of dense fluid down a slope. One example of such a flow is a
26 non-rotating gravity plume on a continental slope, forced by a limited
27 area of surface cooling above a continental shelf. Because the flow is
28 non-rotating, a two dimensional model can be used in the across slope
29 direction. The experiment is non-hydrostatic and uses open-boundaries
30 to radiate transients at the deep water end. (Dense flow down a slope
31 can also be forced by a dense inflow prescribed on the continental
32 shelf; this configuration is being implemented by the DOME (Dynamics
33 of Overflow Mixing and Entrainment) collaboration to compare solutions
34 in different models). The files for this experiment can be found in
35 the verification directory under tutorial\_plume\_on\_slope.
36
37 The fluid is initially unstratified. The surface buoyancy loss $B_0$
38 (dimensions of L$^2$T$^{-3}$) over a cross-shelf distance $R$ causes
39 vertical convective mixing and modifies the density of the fluid by an
40 amount
41 \begin{equation}
42 \Delta \rho = \frac{B_0 \rho_0 t}{g H}
43 \end{equation}
44 where $H$ is the depth of the shelf, $g$ is the acceleration due to
45 gravity, $t$ is time since onset of cooling and $\rho_0$ is the
46 reference density. Dense fluid slumps under gravity, with a flow speed
47 close to the gravity wave speed:
48 \begin{equation}
49 U
50 \sim \sqrt{g' H}
51 \sim \sqrt{ \frac{g \Delta \rho H}{\rho_0} }
52 \sim \sqrt{B_0 t}
53 \end{equation}
54 A steady state is rapidly established in which the buoyancy flux out of
55 the cooling region is balanced by the surface buoyancy loss.
56 Then
57 \begin{equation}
58 U \sim (B_0 R)^{1/3} \mbox{ ; } \Delta \rho \sim \frac{\rho_0}{g H} (B_0 R)^{2/3}
59 \end{equation}
60 The Froude number of the flow on the shelf is close to unity (but in
61 practice slightly less than unity, giving subcritical flow).
62 When the flow reaches the slope, it accelerates, so that it may become
63 supercritical (provided the slope angle $ \alpha $ is steep enough).
64 In this case, a hydraulic control is established at
65 the shelf break. On the slope, where the Froude number is greater
66 than one, and gradient Richardson number
67 (defined as $Ri \sim g' h^*/U^2$ where $h^*$ is the thickness of the
68 interface between dense and ambient fluid) is reduced
69 below 1/4, Kelvin-Helmholtz instability is possible, and leads to
70 entrainment of ambient fluid into the plume, modifying the
71 density, and hence the acceleration down the slope.
72 Kelvin-Helmholtz instability is suppressed at low Reynolds and
73 Peclet numbers given by
74 \begin{equation}
75 Re \sim \frac{U h}{ \nu} \sim \frac{(B_0 R)^{1/3} h}{\nu} \mbox{ ; } Pe = Re Pr
76 \end{equation}
77 where $h$ is the depth of the dense fluid on the slope.
78 Hence this experiment is carried out in the high Re, Pe regime.
79 A further constraint is that the convective heat flux must be much greater
80 than the diffusive heat flux (Nusselt number $>> 1$).
81 Then
82 \begin{equation}
83 Nu = \frac{U h^* }{\kappa} >> 1
84 \end{equation}
85 Finally, since we have assumed that the convective mixing on the shelf
86 occurs in a much shorter time than the horizontal equilibration,
87 this implies $H/R << 1$.
88
89 Hence to summarize the important nondimensional parameters, and
90 the limits we are considering:
91 \begin{equation}
92 \frac{H}{R} << 1 \mbox{ ; } Re >> 1 \mbox{ ; } Pe >> 1 \mbox{ ; } Nu >> 1
93 \mbox{ ; } \mbox{ ; } Ri < 1/4
94 \end{equation}
95 In addition we are assuming that the slope is steep enough to provide
96 sufficient acceleration to the gravity plume, but nonetheless much less
97 that $1:1$, since many Kelvin-Helmholtz billows appear on the slope,
98 implying horizontal lengthscale of the slope $>>$ the depth of the
99 dense fluid.
100
101 \subsection{Configuration}
102 %\label{www:tutorials}
103
104 The topography, spatial grid, forcing and initial conditions are all
105 specified in binary data files generated using a {\em Matlab} script
106 called {\tt gendata.m} and detailed in
107 section~\ref{sec:plume-generating}. Other model parameters are
108 specified in file {\tt data} and {\tt data.obcs} and detailed in
109 section~\ref{sec:plume-params}.
110
111 \subsection{Binary input data}
112 %\label{www:tutorials}
113 \label{sec:plume-generating}
114
115 \begin{figure}
116 \begin{center}
117 \includegraphics[width=\textwidth,height=.3\textheight]{s_examples/plume_on_slope/dx.eps}
118 \end{center}
119 \caption{Horizontal grid spacing, $\Delta x$, in the across-slope
120 direction for the gravity plume experiment.}
121 \label{fig:dx-plume-on-slope}
122 \end{figure}
123
124 \begin{figure}
125 \begin{center}
126 \includegraphics[width=\textwidth,height=.3\textheight]{s_examples/plume_on_slope/Depth.eps}
127 \end{center}
128 \caption{Topography, $h(x)$, used for the gravity plume experiment.}
129 \label{fig:depth-plume-on-slope}
130 \end{figure}
131
132 \begin{figure}
133 \begin{center}
134 \includegraphics[width=\textwidth,height=.3\textheight]{s_examples/plume_on_slope/Qsurf.eps}
135 \end{center}
136 \caption{Upward surface heat flux, $Q(x)$, used as forcing in the
137 gravity plume experiment.}
138 \label{fig:Q-plume-on-slope}
139 \end{figure}
140
141 The domain is $200$~m deep and $6.4$~km across. Uniform resolution of
142 $60\times3^1/_3$~m is used in the vertical and variable resolution of
143 the form shown in Fig.~\ref{fig:dx-plume-on-slope} with $320$ points
144 is usedin the horizontal. The formula for $\Delta x$ is:
145 \begin{displaymath}
146 \Delta x(i) = \Delta x_1 + ( \Delta x_2 - \Delta x_1 )
147 ( 1 + \tanh{\left(\frac{i-i_s}{w}\right)} ) /2
148 \end{displaymath}
149 where
150 \begin{eqnarray*}
151 Nx & = & 320 \\
152 Lx & = & 6400 \;\; \mbox{(m)} \\
153 \Delta x_1 & = & \frac{2}{3} \frac{Lx}{Nx} \;\; \mbox{(m)} \\
154 \Delta x_2 & = & \frac{Lx/2}{Nx-Lx/2 \Delta x_1} \;\; \mbox{(m)} \\
155 i_s & = & Lx/( 2 \Delta x_1 ) \\
156 w & = & 40
157 \end{eqnarray*}
158 Here, $\Delta x_1$ is the resolution on the shelf, $\Delta x_2$ is the
159 resolution in deep water and $Nx$ is the number of points in the
160 horizontal.
161
162 The topography, shown in Fig.~\ref{fig:depth-plume-on-slope}, is given
163 by:
164 \begin{displaymath}
165 H(x) = -H_o + (H_o - h_s) ( 1 + \tanh{\left(\frac{x-x_s}{L_s}\right)} ) / 2
166 \end{displaymath}
167 where
168 \begin{eqnarray*}
169 H_o & = & 200 \;\; \mbox{(m)} \\
170 h_s & = & 40 \;\; \mbox{(m)} \\
171 x_s & = & 1500 + Lx/2 \;\; \mbox{(m)} \\
172 L_s & = & \frac{(H_o - h_s)}{2 s} \;\; \mbox{(m)} \\
173 s & = & 0.15
174 \end{eqnarray*}
175 Here, $s$ is the maximum slope, $H_o$ is the maximum depth, $h_s$ is
176 the shelf depth, $x_s$ is the lateral position of the shelf-break and
177 $L_s$ is the length-scale of the slope.
178
179 The forcing is through heat loss over the shelf, shown in
180 Fig.~\ref{fig:Q-plume-on-slope} and takes the form of a fixed flux
181 with profile:
182 \begin{displaymath}
183 Q(x) = Q_o ( 1 + \tanh{\left(\frac{x - x_q}{L_q}\right)} ) / 2
184 \end{displaymath}
185 where
186 \begin{eqnarray*}
187 Q_o & = & 200 \;\; \mbox{(W m$^{-2}$)} \\
188 x_q & = & 2500 + Lx/2 \;\; \mbox{(m)} \\
189 L_q & = & 100 \;\; \mbox{(m)}
190 \end{eqnarray*}
191 Here, $Q_o$, is the maximum heat flux, $x_q$ is the position of the
192 cut-off and $L_q$ is the width of the cut-off.
193
194 The initial tempeture field is unstratified but with random
195 perturbations, to induce convection early on in the run. The random
196 perturbation are calculated in computational space and because of the
197 variable resolution introduce some spatial correlations but this does
198 not matter for this experiment. The perturbations have range
199 $0-0.01$~$^{\circ}\mathrm{K}$.
200
201 \subsection{Code configuration}
202 %\label{www:tutorials}
203 \label{sec:plume-config}
204
205 The computational domain (number of points) is specified in {\tt
206 code/SIZE.h} and is configured as a single tile of dimensions
207 $320\times1\times60$. There are no experiment specific source files.
208
209 Optional code required to for this experiment are the non-hydrostatic
210 algorithm and open-boundaries:
211 \begin{itemize}
212 \item Non-hydrostatic terms and algorithm are enabled with {\bf
213 \#define ALLOW\_NONHYDROSTATIC} in {\tt code/CPP\_OPTIONS.h} and
214 activated with {\bf nonHydrostatic=.TRUE.,} in namelist {\em PARM01}
215 of {\tt input/data}.
216 \item Open boundaries are enabled by adding line {\bf obcs} to
217 package configuration file
218 {\tt code/packages.conf} and activated via {\bf useOBCS=.TRUE,} in
219 namelist {\em PACKAGES} of {\tt input/data.pkg}.
220 \end{itemize}
221
222 \subsection{Model parameters}
223 %\label{www:tutorials}
224 \label{sec:plume-params}
225
226 \begin{table}
227 \begin{center}
228 \begin{tabular}{lll}
229 $g$ & $9.81$ m s$^{-2}$ & acceleration due to gravity \\
230 $\rho_o$ & $999.8$ kg m$^{-3}$ & reference density \\
231 $\alpha$ & $2 \times 10^{-4}$ K$^{-1}$ & expansion coefficient \\
232 $A_h$ & $1 \times 10^{-2}$ m$^2$s$^{-1}$ & horizontal viscosity \\
233 $A_v$ & $1 \times 10^{-3}$ m$^2$s$^{-1}$ & vertical viscosity \\
234 $\kappa_h$ & $0$ m$^2$s$^{-1}$ & (explicit) horizontal diffusion \\
235 $\kappa_v$ & $0$ m$^2$s$^{-1}$ & (explicit) vertical diffusion \\
236 \\
237 $\Delta t$ & $20$ s & time step \\
238 $\Delta z$ & $3.3\dot{3}$ m & vertical grid spacing \\
239 $\Delta x$ & $13.\dot{3}-39.5$ m & horizontal grid spacing
240 \end{tabular}
241 \end{center}
242 \caption{Model parameters used in the gravity plume experiment.}
243 \label{table:plume-on-slope}
244 \end{table}
245
246 The model parameters (Table~\ref{table:plume-on-slope}) are specified
247 in {\tt input/data} and if not assume the default values defined in
248 {\tt model/src/set\_defaults.F}. A linear equation of state is used,
249 {\bf eosType='LINEAR'}, but only temperature is active, {\bf
250 sBeta=0.E-4}. For the given heat flux, $Q_o$, the buoyancy forcing is
251 $B_o = \frac{g \alpha Q}{\rho_o c_p} \sim
252 10^{-7}$~m$^2$s$^{-3}$. Using $R=10^3$~m, the shelf width, then this
253 gives a velocity scale of $U\sim 5 \times 10^{-2}$~m~s$^-1$ for the
254 initial front but will accelerate by an order of magnitude over the
255 slope. The temperature anomaly will be of order $\Delta \theta \sim 3
256 \times 10^{-2}$~K. The viscosity is constant and gives a Reynolds
257 number of $100$, using $h=20$~m for the initial front and will be an
258 order magnitude bigger over the slope. There is no explicit diffusion
259 but a non-linear advection scheme is used for temperature which adds
260 enough diffusion so as to keep the model stable. The time-step is set
261 to $20$~s and gives Courant number order one when the flow reaches the
262 bottom of the slope.
263
264 \subsection{Build and run the model}
265 %\label{www:tutorials}
266
267 Build the model per usual. For example:
268 \begin{verbatim}
269 % cd verification/plume_on_slope
270 % mkdir build
271 % cd build
272 % ../../../tools/genmake -mods=../code -disable=gmredi,kpp,zonal_filt
273 ,shap_filt
274 % make depend
275 % make
276 \end{verbatim}
277
278 When compilation is complete, run the model as usual, for example:
279 \begin{verbatim}
280 % cd ../
281 % mkdir run
282 % cp input/* build/mitgcmuv run/
283 % cd run
284 % ./mitgcmuv > output.txt
285 \end{verbatim}

  ViewVC Help
Powered by ViewVC 1.1.22