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