1 |
cnh |
1.4 |
\section{Gravity Plume On a Continental Slope} |
2 |
adcroft |
1.5 |
\label{www:tutorials} |
3 |
cnh |
1.4 |
\label{sect:eg-gravityplume} |
4 |
edhill |
1.6 |
\begin{rawhtml} |
5 |
|
|
<!-- CMIREDIR:eg-gravityplume: --> |
6 |
|
|
\end{rawhtml} |
7 |
jmc |
1.9 |
\begin{center} |
8 |
|
|
(in directory: {\it verification/tutorial\_plume\_on\_slope/}) |
9 |
|
|
\end{center} |
10 |
adcroft |
1.2 |
|
11 |
cnh |
1.4 |
\begin{rawhtml}MITGCM_INSERT_FIGURE_BEGIN T-plume-on-slope\end{rawhtml} |
12 |
adcroft |
1.1 |
\begin{figure} |
13 |
|
|
\begin{center} |
14 |
|
|
\includegraphics[width=\textwidth,height=.3\textheight]{part3/case_studies/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 |
cnh |
1.4 |
\begin{rawhtml}MITGCM_INSERT_FIGURE_END\end{rawhtml} |
23 |
adcroft |
1.1 |
|
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 |
molod |
1.8 |
in different models). The files for this experiment can be found in |
35 |
|
|
the verification directory under tutorial\_plume\_on\_slope. |
36 |
adcroft |
1.1 |
|
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 |
adcroft |
1.5 |
\label{www:tutorials} |
103 |
adcroft |
1.1 |
|
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{sect:plume-generating}. Other model parameters are |
108 |
|
|
specified in file {\tt data} and {\tt data.obcs} and detailed in |
109 |
|
|
section~\ref{sect:plume-params}. |
110 |
|
|
|
111 |
adcroft |
1.3 |
\subsection{Binary input data} |
112 |
adcroft |
1.5 |
\label{www:tutorials} |
113 |
adcroft |
1.1 |
\label{sect:plume-generating} |
114 |
|
|
|
115 |
adcroft |
1.3 |
\begin{figure} |
116 |
|
|
\begin{center} |
117 |
|
|
\includegraphics[width=\textwidth,height=.3\textheight]{part3/case_studies/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]{part3/case_studies/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]{part3/case_studies/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 |
adcroft |
1.1 |
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 |
edhill |
1.7 |
$0-0.01$~$^{\circ}\mathrm{K}$. |
200 |
adcroft |
1.1 |
|
201 |
adcroft |
1.3 |
\subsection{Code configuration} |
202 |
adcroft |
1.5 |
\label{www:tutorials} |
203 |
adcroft |
1.1 |
\label{sect: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 |
heimbach |
1.10 |
\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 |
adcroft |
1.1 |
namelist {\em PACKAGES} of {\tt input/data.pkg}. |
220 |
|
|
\end{itemize} |
221 |
|
|
|
222 |
adcroft |
1.3 |
\subsection{Model parameters} |
223 |
adcroft |
1.5 |
\label{www:tutorials} |
224 |
adcroft |
1.1 |
\label{sect: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 |
adcroft |
1.3 |
\subsection{Build and run the model} |
265 |
adcroft |
1.5 |
\label{www:tutorials} |
266 |
adcroft |
1.1 |
|
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} |