New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Chap_ZDF.tex in branches/nemo_v3_3_beta/DOC/TexFiles/Chapters – NEMO

source: branches/nemo_v3_3_beta/DOC/TexFiles/Chapters/Chap_ZDF.tex @ 2376

Last change on this file since 2376 was 2376, checked in by gm, 13 years ago

v3.3beta: better TKE description, CFG a new Chapter, and correction of Fig references

  • Property svn:executable set to *
File size: 66.7 KB
Line 
1% ================================================================
2% Chapter Ñ Vertical Ocean Physics (ZDF)
3% ================================================================
4\chapter{Vertical Ocean Physics (ZDF)}
5\label{ZDF}
6\minitoc
7
8%gm% Add here a small introduction to ZDF and naming of the different physics (similar to what have been written for TRA and DYN.
9
10
11\newpage
12$\ $\newline    % force a new ligne
13
14
15% ================================================================
16% Vertical Mixing
17% ================================================================
18\section{Vertical Mixing}
19\label{ZDF_zdf}
20
21The discrete form of the ocean subgrid scale physics has been presented in
22\S\ref{TRA_zdf} and \S\ref{DYN_zdf}. At the surface and bottom boundaries,
23the turbulent fluxes of momentum, heat and salt have to be defined. At the
24surface they are prescribed from the surface forcing (see Chap.~\ref{SBC}),
25while at the bottom they are set to zero for heat and salt, unless a geothermal
26flux forcing is prescribed as a bottom boundary condition ($i.e.$ \key{trabbl} 
27defined, see \S\ref{TRA_bbc}), and specified through a bottom friction
28parameterisation for momentum (see \S\ref{ZDF_bfr}).
29
30In this section we briefly discuss the various choices offered to compute
31the vertical eddy viscosity and diffusivity coefficients, $A_u^{vm}$ ,
32$A_v^{vm}$ and $A^{vT}$ ($A^{vS}$), defined at $uw$-, $vw$- and $w$-
33points, respectively (see \S\ref{TRA_zdf} and \S\ref{DYN_zdf}). These
34coefficients can be assumed to be either constant, or a function of the local
35Richardson number, or computed from a turbulent closure model (either
36TKE or KPP formulation). The computation of these coefficients is initialized
37in the \mdl{zdfini} module and performed in the \mdl{zdfric}, \mdl{zdftke} or
38\mdl{zdfkpp} modules. The trends due to the vertical momentum and tracer
39diffusion, including the surface forcing, are computed and added to the
40general trend in the \mdl{dynzdf} and \mdl{trazdf} modules, respectively.
41These trends can be computed using either a forward time stepping scheme
42(namelist parameter \np{ln\_zdfexp}=true) or a backward time stepping
43scheme (\np{ln\_zdfexp}=false) depending on the magnitude of the mixing
44coefficients, and thus of the formulation used (see \S\ref{STP}).
45
46% -------------------------------------------------------------------------------------------------------------
47%        Constant
48% -------------------------------------------------------------------------------------------------------------
49\subsection{Constant (\key{zdfcst})}
50\label{ZDF_cst}
51%--------------------------------------------namzdf---------------------------------------------------------
52\namdisplay{namzdf}
53%--------------------------------------------------------------------------------------------------------------
54
55When \key{zdfcst} is defined, the momentum and tracer vertical eddy coefficients
56are set to constant values over the whole ocean. This is the crudest way to define
57the vertical ocean physics. It is recommended that this option is only used in
58process studies, not in basin scale simulations. Typical values used in this case are:
59\begin{align*} 
60A_u^{vm} = A_v^{vm} &= 1.2\ 10^{-4}~m^2.s^{-1}  \\
61A^{vT} = A^{vS} &= 1.2\ 10^{-5}~m^2.s^{-1}
62\end{align*}
63
64These values are set through the \np{rn\_avm0} and \np{rn\_avt0} namelist parameters.
65In all cases, do not use values smaller that those associated with the molecular
66viscosity and diffusivity, that is $\sim10^{-6}~m^2.s^{-1}$ for momentum,
67$\sim10^{-7}~m^2.s^{-1}$ for temperature and $\sim10^{-9}~m^2.s^{-1}$ for salinity.
68
69
70% -------------------------------------------------------------------------------------------------------------
71%        Richardson Number Dependent
72% -------------------------------------------------------------------------------------------------------------
73\subsection{Richardson Number Dependent (\key{zdfric})}
74\label{ZDF_ric}
75
76%--------------------------------------------namric---------------------------------------------------------
77\namdisplay{namzdf_ric}
78%--------------------------------------------------------------------------------------------------------------
79
80When \key{zdfric} is defined, a local Richardson number dependent formulation
81for the vertical momentum and tracer eddy coefficients is set. The vertical mixing
82coefficients are diagnosed from the large scale variables computed by the model.
83\textit{In situ} measurements have been used to link vertical turbulent activity to
84large scale ocean structures. The hypothesis of a mixing mainly maintained by the
85growth of Kelvin-Helmholtz like instabilities leads to a dependency between the
86vertical eddy coefficients and the local Richardson number ($i.e.$ the
87ratio of stratification to vertical shear). Following \citet{Pacanowski_Philander_JPO81}, the following
88formulation has been implemented:
89\begin{equation} \label{Eq_zdfric}
90   \left\{      \begin{aligned}
91         A^{vT} &= \frac {A_{ric}^{vT}}{\left( 1+a \; Ri \right)^n} + A_b^{vT}       \\
92         A^{vm} &= \frac{A^{vT}        }{\left( 1+ a \;Ri  \right)   } + A_b^{vm}
93   \end{aligned}    \right.
94\end{equation}
95where $Ri = N^2 / \left(\partial_z \textbf{U}_h \right)^2$ is the local Richardson
96number, $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \S\ref{TRA_bn2}),
97$A_b^{vT} $ and $A_b^{vm}$ are the constant background values set as in the
98constant case (see \S\ref{ZDF_cst}), and $A_{ric}^{vT} = 10^{-4}~m^2.s^{-1}$ 
99is the maximum value that can be reached by the coefficient when $Ri\leq 0$,
100$a=5$ and $n=2$. The last three values can be modified by setting the
101\np{rn\_avmri}, \np{rn\_alp} and \np{nn\_ric} namelist parameters, respectively.
102
103% -------------------------------------------------------------------------------------------------------------
104%        TKE Turbulent Closure Scheme
105% -------------------------------------------------------------------------------------------------------------
106\subsection{TKE Turbulent Closure Scheme (\key{zdftke})}
107\label{ZDF_tke}
108
109%--------------------------------------------namzdf_tke--------------------------------------------------
110\namdisplay{namzdf_tke}
111%--------------------------------------------------------------------------------------------------------------
112
113The vertical eddy viscosity and diffusivity coefficients are computed from a TKE
114turbulent closure model based on a prognostic equation for $\bar{e}$, the turbulent
115kinetic energy, and a closure assumption for the turbulent length scales. This
116turbulent closure model has been developed by \citet{Bougeault1989} in the
117atmospheric case, adapted by \citet{Gaspar1990} for the oceanic case, and
118embedded in OPA, the ancestor of NEMO, by \citet{Blanke1993} for equatorial Atlantic
119simulations. Since then, significant modifications have been introduced by
120\citet{Madec1998} in both the implementation and the formulation of the mixing
121length scale. The time evolution of $\bar{e}$ is the result of the production of
122$\bar{e}$ through vertical shear, its destruction through stratification, its vertical
123diffusion, and its dissipation of \citet{Kolmogorov1942} type:
124\begin{equation} \label{Eq_zdftke_e}
125\frac{\partial \bar{e}}{\partial t} =
126\frac{K_m}{{e_3}^2 }\;\left[ {\left( {\frac{\partial u}{\partial k}} \right)^2
127                    +\left( {\frac{\partial v}{\partial k}} \right)^2} \right]
128-K_\rho\,N^2
129+\frac{1}{e_3} \;\frac{\partial }{\partial k}\left[ {\frac{A^{vm}}{e_3 }
130            \;\frac{\partial \bar{e}}{\partial k}} \right]
131- c_\epsilon \;\frac{\bar {e}^{3/2}}{l_\epsilon }
132\end{equation}
133\begin{equation} \label{Eq_zdftke_kz}
134   \begin{split}
135         K_m &= C_k\  l_k\  \sqrt {\bar{e}\; }     \\
136         K_\rho &= A^{vm} / P_{rt}
137   \end{split}
138\end{equation}
139where $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \S\ref{TRA_bn2}),
140$l_{\epsilon }$ and $l_{\kappa }$ are the dissipation and mixing length scales,
141$P_{rt}$ is the Prandtl number, $K_m$ and $K_\rho$ are the vertical eddy viscosity
142and diffusivity coefficients. The constants $C_k =  0.1$ and $C_\epsilon = \sqrt {2} /2$ 
143$\approx 0.7$ are designed to deal with vertical mixing at any depth \citep{Gaspar1990}.
144They are set through namelist parameters \np{nn\_ediff} and \np{nn\_ediss}.
145$P_{rt}$ can be set to unity or, following \citet{Blanke1993}, be a function
146of the local Richardson number, $R_i$:
147\begin{align*} \label{Eq_prt}
148P_{rt} = \begin{cases}
149                    \ \ \ 1 &      \text{if $\ R_i \leq 0.2$}  \\
150                    5\,R_i &      \text{if $\ 0.2 \leq R_i \leq 2$}  \\
151                    \ \ 10 &      \text{if $\ 2 \leq R_i$} 
152            \end{cases}
153\end{align*}
154The choice of $P_{rt}$ is controlled by the \np{nn\_pdl} namelist parameter.
155
156At the sea surface, the value of $\bar{e}$ is prescribed from the wind
157stress field as $\bar{e}_o = e_{bb} |\tau| / \rho_o$, with $e_{bb}$ the \np{rn\_ebb} 
158namelist parameter. The default value of $e_{bb}$ is 3.75. \citep{Gaspar1990}),
159however a much larger value can be used when taking into account the
160surface wave breaking (see below Eq. \eqref{ZDF_Esbc}).
161The bottom value of TKE is assumed to be equal to the value of the level just above.
162The time integration of the $\bar{e}$ equation may formally lead to negative values
163because the numerical scheme does not ensure its positivity. To overcome this
164problem, a cut-off in the minimum value of $\bar{e}$ is used (\np{rn\_emin} 
165namelist parameter). Following \citet{Gaspar1990}, the cut-off value is set
166to $\sqrt{2}/2~10^{-6}~m^2.s^{-2}$. This allows the subsequent formulations
167to match that of \citet{Gargett1984} for the diffusion in the thermocline and
168deep ocean :  $K_\rho = 10^{-3} / N$.
169In addition, a cut-off is applied on $K_m$ and $K_\rho$ to avoid numerical
170instabilities associated with too weak vertical diffusion. They must be
171specified at least larger than the molecular values, and are set through
172\np{rn\_avm0} and \np{rn\_avt0} (namzdf namelist, see \S\ref{ZDF_cst}).
173
174\subsubsection{Turbulent length scale}
175For computational efficiency, the original formulation of the turbulent length
176scales proposed by \citet{Gaspar1990} has been simplified. Four formulations
177are proposed, the choice of which is controlled by the \np{nn\_mxl} namelist
178parameter. The first two are based on the following first order approximation
179\citep{Blanke1993}:
180\begin{equation} \label{Eq_tke_mxl0_1}
181l_k = l_\epsilon = \sqrt {2 \bar{e}\; } / N
182\end{equation}
183which is valid in a stable stratified region with constant values of the Brunt-
184Vais\"{a}l\"{a} frequency. The resulting length scale is bounded by the distance
185to the surface or to the bottom (\np{nn\_mxl} = 0) or by the local vertical scale factor
186(\np{nn\_mxl} = 1). \citet{Blanke1993} notice that this simplification has two major
187drawbacks: it makes no sense for locally unstable stratification and the
188computation no longer uses all the information contained in the vertical density
189profile. To overcome these drawbacks, \citet{Madec1998} introduces the
190\np{nn\_mxl} = 2 or 3 cases, which add an extra assumption concerning the vertical
191gradient of the computed length scale. So, the length scales are first evaluated
192as in \eqref{Eq_tke_mxl0_1} and then bounded such that:
193\begin{equation} \label{Eq_tke_mxl_constraint}
194\frac{1}{e_3 }\left| {\frac{\partial l}{\partial k}} \right| \leq 1
195\qquad \text{with }\  l =  l_k = l_\epsilon
196\end{equation}
197\eqref{Eq_tke_mxl_constraint} means that the vertical variations of the length
198scale cannot be larger than the variations of depth. It provides a better
199approximation of the \citet{Gaspar1990} formulation while being much less
200time consuming. In particular, it allows the length scale to be limited not only
201by the distance to the surface or to the ocean bottom but also by the distance
202to a strongly stratified portion of the water column such as the thermocline
203(Fig.~\ref{Fig_mixing_length}). In order to impose the \eqref{Eq_tke_mxl_constraint} 
204constraint, we introduce two additional length scales: $l_{up}$ and $l_{dwn}$,
205the upward and downward length scales, and evaluate the dissipation and
206mixing length scales as (and note that here we use numerical indexing):
207%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
208\begin{figure}[!t] \begin{center}
209\includegraphics[width=1.00\textwidth]{./TexFiles/Figures/Fig_mixing_length.pdf}
210\caption{ \label{Fig_mixing_length} 
211Illustration of the mixing length computation. }
212\end{center} 
213\end{figure}
214%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
215\begin{equation} \label{Eq_tke_mxl2}
216\begin{aligned}
217 l_{up\ \ }^{(k)} &= \min \left(  l^{(k)} \ , \ l_{up}^{(k+1)} + e_{3t}^{(k)}\ \ \ \;  \right)
218    \quad &\text{ from $k=1$ to $jpk$ }\ \\
219 l_{dwn}^{(k)} &= \min \left(  l^{(k)} \ , \ l_{dwn}^{(k-1)} + e_{3t}^{(k-1)}  \right)   
220    \quad &\text{ from $k=jpk$ to $1$ }\ \\
221\end{aligned}
222\end{equation}
223where $l^{(k)}$ is computed using \eqref{Eq_tke_mxl0_1},
224$i.e.$ $l^{(k)} = \sqrt {2 {\bar e}^{(k)} / {N^2}^{(k)} }$.
225
226In the \np{nn\_mxl}~=~2 case, the dissipation and mixing length scales take the same
227value: $ l_k=  l_\epsilon = \min \left(\ l_{up} \;,\;  l_{dwn}\ \right)$, while in the
228\np{nn\_mxl}~=~3 case, the dissipation and mixing turbulent length scales are give
229as in \citet{Gaspar1990}:
230\begin{equation} \label{Eq_tke_mxl_gaspar}
231\begin{aligned}
232& l_k          = \sqrt{\  l_{up} \ \ l_{dwn}\ }    \\
233& l_\epsilon = \min \left(\ l_{up} \;,\;  l_{dwn}\ \right)
234\end{aligned}
235\end{equation}
236
237At the ocean surface, a non zero length scale is set through the  \np{rn\_lmin0} namelist
238parameter. Usually the surface scale is given by $l_o = \kappa \,z_o$ 
239where $\kappa = 0.4$ is von Karman's constant and $z_o$ the roughness
240parameter of the surface. Assuming $z_o=0.1$~m \citep{Craig_Banner_JPO94} 
241leads to a 0.04~m, the default value of \np{rn\_lsurf}. In the ocean interior
242a minimum length scale is set to recover the molecular viscosity when $\bar{e}$ 
243reach its minimum value ($1.10^{-6}= C_k\, l_{min} \,\sqrt{\bar{e}_{min}}$ ).
244
245
246\subsubsection{Surface wave breaking parameterization}
247%-----------------------------------------------------------------------%
248
249Following \citet{Mellor_Blumberg_JPO04}, the TKE turbulence closure model has been modified
250to include the effect of surface wave breaking energetics. This results in a reduction of summertime
251surface temperature when the mixed layer is relatively shallow. The \citet{Mellor_Blumberg_JPO04} 
252modifications acts on surface length scale and TKE values and air-sea drag coefficient.
253The latter concerns the bulk formulea and is not discussed here.
254
255Following \citet{Craig_Banner_JPO94}, the boundary condition on surface TKE value is :
256\begin{equation}  \label{ZDF_Esbc}
257\bar{e}_o = \frac{1}{2}\,\left(  15.8\,\alpha_{CB} \right)^{2/3} \,\frac{|\tau|}{\rho_o}
258\end{equation}
259where $\alpha_{CB}$ is the \citet{Craig_Banner_JPO94} constant of proportionality
260which depends on the ''wave age'', ranging from 57 for mature waves to 146 for
261younger waves \citep{Mellor_Blumberg_JPO04}.
262The boundary condition on the turbulent length scale follows the Charnock's relation:
263\begin{equation} \label{ZDF_Lsbc}
264l_o = \kappa \beta \,\frac{|\tau|}{g\,\rho_o}
265\end{equation}
266where $\kappa=0.40$ is the von Karman constant, and $\beta$ is the Charnock's constant.
267\citet{Mellor_Blumberg_JPO04} suggest $\beta = 2.10^{5}$ the value chosen by \citet{Stacey_JPO99}
268citing observation evidence, and $\alpha_{CB} = 100$ the Craig and Banner's value.
269As the surface boundary condition on TKE is prescribed through $\bar{e}_o = e_{bb} |\tau| / \rho_o$,
270with $e_{bb}$ the \np{rn\_ebb} namelist parameter, setting \np{rn\_ebb}~=~67.83 corresponds
271to $\alpha_{CB} = 100$. further setting  \np{ln\_lsurf} to true applies \eqref{ZDF_Lsbc} 
272as surface boundary condition on length scale, with $\beta$ hard coded to the Stacet's value.
273Note that a minimal threshold of \np{rn\_emin0}$=10^{-4}~m^2.s^{-2}$ (namelist parameters)
274is applied on surface $\bar{e}$ value.
275
276
277\subsubsection{Langmuir cells}
278%--------------------------------------%
279Langmuir circulations (LC) can be described as ordered large-scale vertical motions
280in the surface layer of the oceans. Although LC have nothing to do with convection,
281the circulation pattern is rather similar to so-called convective rolls in the atmospheric
282boundary layer. The detailed physics behind LC is described in, for example,
283\citet{Craik_Leibovich_JFM76}. The prevailing explanation is that LC arise from
284a nonlinear interaction between the Stokes drift and wind drift currents.
285
286Here we introduced in the TKE turbulent closure the simple parameterization of
287Langmuir circulations proposed by \citep{Axell_JGR02} for a $k-\epsilon$ turbulent closure.
288The parameterization, tuned against large-eddy simulation, includes the whole effect
289of LC in an extra source terms of TKE, $P_{LC}$.
290The presence of $P_{LC}$ in \eqref{Eq_zdftke_e}, the TKE equation, is controlled
291by setting \np{ln\_lc} to \textit{true} in the namtke namelist.
292 
293By making an analogy with the characteristic convective velocity scale
294($e.g.$, \citet{D'Alessio_al_JPO98}), $P_{LC}$ is assumed to be :
295\begin{equation}
296P_{LC}(z) = \frac{w_{LC}^3(z)}{H_{LC}}
297\end{equation}
298where $w_{LC}(z)$ is the vertical velocity profile of LC, and $H_{LC}$ is the LC depth.
299With no information about the wave field, $w_{LC}$ is assumed to be proportional to
300the Stokes drift $u_s = 0.377\,\,|\tau|^{1/2}$, where $|\tau|$ is the surface wind stress module
301\footnote{Following \citet{Li_Garrett_JMR93}, the surface Stoke drift velocity
302may be expressed as $u_s =  0.016 \,|U_{10m}|$. Assuming an air density of
303$\rho_a=1.22 \,Kg/m^3$ and a drag coefficient of $1.5~10^{-3}$ give the expression
304used of $u_s$ as a function of the module of surface stress}.
305For the vertical variation, $w_{LC}$ is assumed to be zero at the surface as well as
306at a finite depth $H_{LC}$ (which is often close to the mixed layer depth), and simply
307varies as a sine function in between (a first-order profile for the Langmuir cell structures).
308The resulting expression for $w_{LC}$ is :
309\begin{equation}
310w_{LC}  = \begin{cases}
311                   c_{LC} \,u_s \,\sin(- \pi\,z / H_{LC} )    &      \text{if $-z \leq H_{LC}$}    \\
312                   0                             &      \text{otherwise} 
313                 \end{cases}
314\end{equation}
315where $c_{LC} = 0.15$ has been chosen by \citep{Axell_JGR02} as a good compromise
316to fit LES data. The chosen value yields maximum vertical velocities $w_{LC}$ of the order
317of a few centimeters per second. The value of $c_{LC}$ is set through the \np{rn\_lc} 
318namelist parameter, having in mind that it should stay between 0.15 and 0.54 \citep{Axell_JGR02}.
319
320The $H_{LC}$ is estimated in a similar way as the turbulent length scale of TKE equations:
321$H_{LC}$ is depth to which a water parcel with kinetic energy due to Stoke drift
322can reach on its own by converting its kinetic energy to potential energy, according to
323\begin{equation}
324- \int_{-H_{LC}}^0 { N^2\;\;dz} = \frac{1}{2} u_s^2
325\end{equation}
326
327
328%\subsubsection{Mixing just below the mixed layer}
329%---------------------------------------------------------------%
330
331% add here a description of "penetration of TKE" and the associated namelist parameters
332
333% -------------------------------------------------------------------------------------------------------------
334%        TKE discretization considerations
335% -------------------------------------------------------------------------------------------------------------
336\subsection{TKE discretization considerations (\key{zdftke})}
337\label{ZDF_tke_ene}
338
339%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
340\begin{figure}[!t]   \begin{center}
341\includegraphics[width=1.00\textwidth]{./TexFiles/Figures/Fig_ZDF_TKE_time_scheme.pdf}
342\caption{ \label{Fig_TKE_time_scheme} 
343Illustration of the TKE time integration and its links to the momentum and tracer time integration. }
344\end{center} 
345\end{figure}
346%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
347
348The production of turbulence by vertical shear (the first term of the right hand side
349of \eqref{Eq_zdftke_e}) should balance the loss of kinetic energy associated with
350the vertical momentum diffusion (first line in \eqref{Eq_PE_zdf}). To do so a special care
351have to be taken for both the time and space discretization of the TKE equation \citep{Burchard_OM02}.
352
353Let us first address the time stepping issue. Fig.~\ref{Fig_TKE_time_scheme} shows
354how the two-level Leap-Frog time stepping of the momentum and tracer equations interplays
355with the one-level forward time stepping of TKE equation. With this framework, the total loss
356of kinetic energy (in 1D for the demonstration) due to the vertical momentum diffusion is
357obtained by multiplying this quantity by $u^t$ and summing the result vertically:   
358\begin{equation} \label{Eq_energ1}
359\begin{split}
360\int_{-H}^{\eta}  u^t \,\partial_z &\left( {K_m}^t \,(\partial_z u)^{t+\rdt}  \right) \,dz   \\
361&= \Bigl[  u^t \,{K_m}^t \,(\partial_z u)^{t+\rdt} \Bigr]_{-H}^{\eta}         
362 - \int_{-H}^{\eta}{ {K_m}^t \,\partial_z{u^t} \,\partial_z u^{t+\rdt} \,dz }
363\end{split}
364\end{equation}
365Here, the vertical diffusion of momentum is discretized backward in time
366with a coefficient, $K_m$, known at time $t$ (Fig.~\ref{Fig_TKE_time_scheme}),
367as it is required when using the TKE scheme (see \S\ref{STP_forward_imp}).
368The first term of the right hand side of \eqref{Eq_energ1} represents the kinetic energy
369transfer at the surface (atmospheric forcing) and at the bottom (friction effect).
370The second term is always negative. It is the dissipation rate of kinetic energy,
371and thus minus the shear production rate of $\bar{e}$. \eqref{Eq_energ1} 
372implies that, to be energetically consistent, the production rate of $\bar{e}$ 
373used to compute $(\bar{e})^t$ (and thus ${K_m}^t$) should be expressed as
374${K_m}^{t-\rdt}\,(\partial_z u)^{t-\rdt} \,(\partial_z u)^t$ (and not by the more straightforward
375$K_m \left( \partial_z u \right)^2$ expression taken at time $t$ or $t-\rdt$).
376
377A similar consideration applies on the destruction rate of $\bar{e}$ due to stratification
378(second term of the right hand side of \eqref{Eq_zdftke_e}). This term
379must balance the input of potential energy resulting from vertical mixing.
380The rate of change of potential energy (in 1D for the demonstration) due vertical
381mixing is obtained by multiplying vertical density diffusion
382tendency by $g\,z$ and and summing the result vertically:
383\begin{equation} \label{Eq_energ2}
384\begin{split}
385\int_{-H}^{\eta} g\,z\,\partial_z &\left( {K_\rho}^t \,(\partial_k \rho)^{t+\rdt}   \right) \,dz    \\
386&= \Bigl[  g\,z \,{K_\rho}^t \,(\partial_z \rho)^{t+\rdt} \Bigr]_{-H}^{\eta} 
387   - \int_{-H}^{\eta}{ g \,{K_\rho}^t \,(\partial_k \rho)^{t+\rdt} } \,dz   \\
388&= - \Bigl[  z\,{K_\rho}^t \,(N^2)^{t+\rdt} \Bigr]_{-H}^{\eta}
389+ \int_{-H}^{\eta}{  \rho^{t+\rdt} \, {K_\rho}^t \,(N^2)^{t+\rdt} \,dz  }
390\end{split}
391\end{equation}
392where we use $N^2 = -g \,\partial_k \rho / (e_3 \rho)$.
393The first term of the right hand side of \eqref{Eq_energ2}  is always zero
394because there is no diffusive flux through the ocean surface and bottom).
395The second term is minus the destruction rate of  $\bar{e}$ due to stratification.
396Therefore \eqref{Eq_energ1} implies that, to be energetically consistent, the product
397${K_\rho}^{t-\rdt}\,(N^2)^t$ should be used in \eqref{Eq_zdftke_e}, the TKE equation.
398
399Let us now address the space discretization issue.
400The vertical eddy coefficients are defined at $w$-point whereas the horizontal velocity
401components are in the centre of the side faces of a $t$-box in staggered C-grid
402(Fig.\ref{Fig_cell}). A space averaging is thus required to obtain the shear TKE production term.
403By redoing the \eqref{Eq_energ1} in the 3D case, it can be shown that the product of
404eddy coefficient by the shear at $t$ and $t-\rdt$ must be performed prior to the averaging.
405Furthermore, the possible time variation of $e_3$ (\key{vvl} case) have to be taken into
406account.
407
408The above energetic considerations leads to
409the following final discrete form for the TKE equation:
410\begin{equation} \label{Eq_zdftke_ene}
411\begin{split}
412\frac { (\bar{e})^t - (\bar{e})^{t-\rdt} } {\rdt}  \equiv 
413\Biggl\{ \Biggr.
414  &\overline{ \left( \left(\overline{K_m}^{\,i+1/2}\right)^{t-\rdt} \,\frac{\delta_{k+1/2}[u^{t+\rdt}]}{{e_3u}^{t+\rdt} } 
415                                                                              \ \frac{\delta_{k+1/2}[u^ t         ]}{{e_3u}^ t          }  \right) }^{\,i} \\
416+&\overline{  \left( \left(\overline{K_m}^{\,j+1/2}\right)^{t-\rdt} \,\frac{\delta_{k+1/2}[v^{t+\rdt}]}{{e_3v}^{t+\rdt} } 
417                                                                               \ \frac{\delta_{k+1/2}[v^ t         ]}{{e_3v}^ t          }  \right) }^{\,j} 
418\Biggr. \Biggr\}   \\
419%
420- &{K_\rho}^{t-\rdt}\,{(N^2)^t}    \\
421%
422+&\frac{1}{{e_3w}^{t+\rdt}}  \;\delta_{k+1/2} \left[   {K_m}^{t-\rdt} \,\frac{\delta_{k}[(\bar{e})^{t+\rdt}]} {{e_3w}^{t+\rdt}}   \right]   \\
423%
424- &c_\epsilon \; \left( \frac{\sqrt{\bar {e}}}{l_\epsilon}\right)^{t-\rdt}\,(\bar {e})^{t+\rdt}
425\end{split}
426\end{equation}
427where the last two terms in \eqref{Eq_zdftke_ene} (vertical diffusion and Kolmogorov dissipation)
428are time stepped using a backward scheme (see\S\ref{STP_forward_imp}).
429Note that the Kolmogorov term has been linearized in time in order to render
430the implicit computation possible. The restart of the TKE scheme
431requires the storage of $\bar {e}$, $K_m$, $K_\rho$ and $l_\epsilon$ as they all appear in
432the right hand side of \eqref{Eq_zdftke_ene}. For the latter, it is in fact
433the ratio $\sqrt{\bar{e}}/l_\epsilon$ which is stored.
434
435% -------------------------------------------------------------------------------------------------------------
436%        GLS Generic Length Scale Scheme
437% -------------------------------------------------------------------------------------------------------------
438\subsection{GLS Generic Length Scale (\key{zdfgls})}
439\label{ZDF_gls}
440
441%--------------------------------------------namzdf_gls---------------------------------------------------------
442\namdisplay{namzdf_gls}
443%--------------------------------------------------------------------------------------------------------------
444
445The Generic Length Scale (GLS) scheme is a turbulent closure scheme based on
446two prognostic equations: one for the turbulent kinetic energy $\bar {e}$, and another
447for the generic length scale, $\psi$ \citep{Umlauf_Burchard_JMS03, Umlauf_Burchard_CSR05}.
448This later variable is defined as : $\psi = {C_{0\mu}}^{p} \ {\bar{e}}^{m} \ l^{n}$,
449where the triplet $(p, m, n)$ value given in Tab.\ref{Tab_GLS} allows to recover
450a number of well-known turbulent closures ($k$-$kl$ \citep{Mellor_Yamada_1982},
451$k$-$\epsilon$ \citep{Rodi_1987}, $k$-$\omega$ \citep{Wilcox_1988} 
452among others \citep{Umlauf_Burchard_JMS03,Kantha_Carniel_CSR05}).
453The GLS scheme is given by the following set of equations:
454\begin{equation} \label{Eq_zdfgls_e}
455\frac{\partial \bar{e}}{\partial t} =
456\frac{K_m}{\sigma_e e_3 }\;\left[ {\left( \frac{\partial u}{\partial k} \right)^2
457                                                   +\left( \frac{\partial v}{\partial k} \right)^2} \right]
458-K_\rho \,N^2
459+\frac{1}{e_3}\,\frac{\partial}{\partial k} \left[ \frac{K_m}{e_3}\,\frac{\partial \bar{e}}{\partial k} \right]
460- \epsilon
461\end{equation}
462
463\begin{equation} \label{Eq_zdfgls_psi}
464   \begin{split}
465\frac{\partial \psi}{\partial t} =& \frac{\psi}{\bar{e}} \left\{
466\frac{C_1\,K_m}{\sigma_{\psi} {e_3}}\;\left[ {\left( \frac{\partial u}{\partial k} \right)^2
467                                                                   +\left( \frac{\partial v}{\partial k} \right)^2} \right]
468- C_3 \,K_\rho\,N^2   - C_2 \,\epsilon \,Fw   \right\}             \\
469&+\frac{1}{e_3}  \;\frac{\partial }{\partial k}\left[ {\frac{K_m}{e_3 }
470                                  \;\frac{\partial \psi}{\partial k}} \right]\;
471   \end{split}
472\end{equation}
473
474\begin{equation} \label{Eq_zdfgls_kz}
475   \begin{split}
476         K_m    &= C_{\mu} \ \sqrt {\bar{e}} \ l         \\
477         K_\rho &= C_{\mu'}\ \sqrt {\bar{e}} \ l
478   \end{split}
479\end{equation}
480
481\begin{equation} \label{Eq_zdfgls_eps}
482{\epsilon} = C_{0\mu} \,\frac{\bar {e}^{3/2}}{l} \;
483\end{equation}
484where $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \S\ref{TRA_bn2})
485and $\epsilon$ the dissipation rate.
486The constants $C_1$, $C_2$, $C_3$, ${\sigma_e}$, ${\sigma_{\psi}}$ and the wall function ($Fw$)
487depends of the choice of the turbulence model. Four different turbulent models are pre-defined
488(Tab.\ref{Tab_GLS}). They are made available through the \np{nn\_clo} namelist parameter.
489
490%--------------------------------------------------TABLE--------------------------------------------------
491\begin{table}[htbp]  \begin{center}
492%\begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}c}
493\begin{tabular}{ccccc}
494                         &   $k-kl$   & $k-\epsilon$ & $k-\omega$ &   generic   \\ 
495%                        & \citep{Mellor_Yamada_1982} &  \citep{Rodi_1987}       & \citep{Wilcox_1988} &                 \\ 
496\hline  \hline 
497\np{nn\_clo}     & \textbf{0} &   \textbf{1}  &   \textbf{2}   &    \textbf{3}   \\ 
498\hline 
499$( p , n , m )$          &   ( 0 , 1 , 1 )   & ( 3 , 1.5 , -1 )   & ( -1 , 0.5 , -1 )    &  ( 2 , 1 , -0.67 )  \\
500$\sigma_k$      &    2.44         &     1.              &      2.                &      0.8          \\
501$\sigma_\psi$  &    2.44         &     1.3            &      2.                 &       1.07       \\
502$C_1$              &      0.9         &     1.44          &      0.555          &       1.           \\
503$C_2$              &      0.5         &     1.92          &      0.833          &       1.22       \\
504$C_3$              &      1.           &     1.              &      1.                &       1.           \\
505$F_{wall}$        &      Yes        &       --             &     --                  &      --          \\
506\hline
507\hline
508\end{tabular}
509\caption{   \label{Tab_GLS} 
510Set of predefined GLS parameters, or equivalently predefined turbulence models available
511with \key{zdfgls} and controlled by the \np{nn\_clos} namelist parameter.}
512\end{center}   \end{table}
513%--------------------------------------------------------------------------------------------------------------
514
515In the Mellor-Yamada model, the negativity of $n$ allows to use a wall function to force
516the convergence of the mixing length towards $K z_b$ ($K$: Kappa and $z_b$: rugosity length)
517value near physical boundaries (logarithmic boundary layer law). $C_{\mu}$ and $C_{\mu'}$ 
518are calculated from stability function proposed by \citet{Galperin_al_JAS88}, or by \citet{Kantha_Clayson_1994} 
519or one of the two functions suggested by \citet{Canuto_2001}  (\np{nn\_stab\_func} = 0, 1, 2 or 3, resp.}).
520The value of $C_{0\mu}$ depends of the choice of the stability function.
521
522The surface and bottom boundary condition on both $\bar{e}$ and $\psi$ can be calculated
523thanks to Dirichlet or Neumann condition through \np{nn\_tkebc\_surf} and \np{nn\_tkebc\_bot}, resp.
524As for TKE closure , the wave effect on the mixing is considered when \np{ln\_crban}~=~true
525\citep{Craig_Banner_JPO94, Mellor_Blumberg_JPO04}. The \np{rn\_crban} namelist parameter
526is $\alpha_{CB}$ in \eqref{ZDF_Esbc} and \np{rn\_charn} provides the value of $\beta$ in \eqref{ZDF_Lsbc}.
527
528The $\psi$ equation is known to fail in stably stratified flows, and for this reason
529almost all authors apply a clipping of the length scale as an \textit{ad hoc} remedy.
530With this clipping, the maximum permissible length scale is determined by
531$l_{max} = c_{lim} \sqrt{2\bar{e}}/ N$. A value of $c_{lim} = 0.53$ is often used
532\citep{Galperin_al_JAS88}. \cite{Umlauf_Burchard_CSR05} show that the value of
533the clipping factor is of crucial importance for the entrainment depth predicted in
534stably stratified situations, and that its value has to be chosen in accordance
535with the algebraic model for the turbulent ßuxes. The clipping is only activated
536if \np{ln\_length\_lim}=true, and the $c_{lim}$ is set to the \np{rn\_clim\_galp} value.
537
538The time and space discretization of the GLS equations follows the same energetic
539consideration as for the TKE case described in \S\ref{ZDF_tke_ene}  \citep{Burchard_OM02}.
540Examples of performance of the 4 turbulent closure scheme can be found in \citet{Warner_al_OM05}.
541
542% -------------------------------------------------------------------------------------------------------------
543%        K Profile Parametrisation (KPP)
544% -------------------------------------------------------------------------------------------------------------
545\subsection{K Profile Parametrisation (KPP) (\key{zdfkpp}) }
546\label{ZDF_kpp}
547
548%--------------------------------------------namkpp--------------------------------------------------------
549\namdisplay{namzdf_kpp}
550%--------------------------------------------------------------------------------------------------------------
551
552The KKP scheme has been implemented by J. Chanut ...
553
554\colorbox{yellow}{Add a description of KPP here.}
555
556
557% ================================================================
558% Convection
559% ================================================================
560\section{Convection}
561\label{ZDF_conv}
562
563%--------------------------------------------namzdf--------------------------------------------------------
564\namdisplay{namzdf}
565%--------------------------------------------------------------------------------------------------------------
566
567Static instabilities (i.e. light potential densities under heavy ones) may
568occur at particular ocean grid points. In nature, convective processes
569quickly re-establish the static stability of the water column. These
570processes have been removed from the model via the hydrostatic
571assumption so they must be parameterized. Three parameterisations
572are available to deal with convective processes: a non-penetrative
573convective adjustment or an enhanced vertical diffusion, or/and the
574use of a turbulent closure scheme.
575
576% -------------------------------------------------------------------------------------------------------------
577%       Non-Penetrative Convective Adjustment
578% -------------------------------------------------------------------------------------------------------------
579\subsection   [Non-Penetrative Convective Adjustment (\np{ln\_tranpc}) ]
580         {Non-Penetrative Convective Adjustment (\np{ln\_tranpc}=.true.) }
581\label{ZDF_npc}
582
583%--------------------------------------------namzdf--------------------------------------------------------
584\namdisplay{namzdf}
585%--------------------------------------------------------------------------------------------------------------
586
587%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
588\begin{figure}[!htb]    \begin{center}
589\includegraphics[width=0.90\textwidth]{./TexFiles/Figures/Fig_npc.pdf}
590\caption{  \label{Fig_npc} 
591Example of an unstable density profile treated by the non penetrative
592convective adjustment algorithm. $1^{st}$ step: the initial profile is checked from
593the surface to the bottom. It is found to be unstable between levels 3 and 4.
594They are mixed. The resulting $\rho$ is still larger than $\rho$(5): levels 3 to 5
595are mixed. The resulting $\rho$ is still larger than $\rho$(6): levels 3 to 6 are
596mixed. The $1^{st}$ step ends since the density profile is then stable below
597the level 3. $2^{nd}$ step: the new $\rho$ profile is checked following the same
598procedure as in $1^{st}$ step: levels 2 to 5 are mixed. The new density profile
599is checked. It is found stable: end of algorithm.}
600\end{center}   \end{figure}
601%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
602
603The non-penetrative convective adjustment is used when \np{ln\_zdfnpc}=true.
604It is applied at each \np{nn\_npc} time step and mixes downwards instantaneously
605the statically unstable portion of the water column, but only until the density
606structure becomes neutrally stable ($i.e.$ until the mixed portion of the water
607column has \textit{exactly} the density of the water just below) \citep{Madec_al_JPO91}.
608The associated algorithm is an iterative process used in the following way
609(Fig. \ref{Fig_npc}): starting from the top of the ocean, the first instability is
610found. Assume in the following that the instability is located between levels
611$k$ and $k+1$. The potential temperature and salinity in the two levels are
612vertically mixed, conserving the heat and salt contents of the water column.
613The new density is then computed by a linear approximation. If the new
614density profile is still unstable between levels $k+1$ and $k+2$, levels $k$,
615$k+1$ and $k+2$ are then mixed. This process is repeated until stability is
616established below the level $k$ (the mixing process can go down to the
617ocean bottom). The algorithm is repeated to check if the density profile
618between level $k-1$ and $k$ is unstable and/or if there is no deeper instability.
619
620This algorithm is significantly different from mixing statically unstable levels
621two by two. The latter procedure cannot converge with a finite number
622of iterations for some vertical profiles while the algorithm used in \NEMO 
623converges for any profile in a number of iterations which is less than the
624number of vertical levels. This property is of paramount importance as
625pointed out by \citet{Killworth1989}: it avoids the existence of permanent
626and unrealistic static instabilities at the sea surface. This non-penetrative
627convective algorithm has been proved successful in studies of the deep
628water formation in the north-western Mediterranean Sea
629\citep{Madec_al_JPO91, Madec_al_DAO91, Madec_Crepon_Bk91}.
630
631Note that in the current implementation of this algorithm presents several
632limitations. First, potential density referenced to the sea surface is used to
633check whether the density profile is stable or not. This is a strong
634simplification which leads to large errors for realistic ocean simulations.
635Indeed, many water masses of the world ocean, especially Antarctic Bottom
636Water, are unstable when represented in surface-referenced potential density.
637The scheme will erroneously mix them up. Second, the mixing of potential
638density is assumed to be linear. This assures the convergence of the algorithm
639even when the equation of state is non-linear. Small static instabilities can thus
640persist due to cabbeling: they will be treated at the next time step.
641Third, temperature and salinity, and thus density, are mixed, but the
642corresponding velocity fields remain unchanged. When using a Richardson
643Number dependent eddy viscosity, the mixing of momentum is done through
644the vertical diffusion: after a static adjustment, the Richardson Number is zero
645and thus the eddy viscosity coefficient is at a maximum. When this convective
646adjustment algorithm is used with constant vertical eddy viscosity, spurious
647solutions can occur since the vertical momentum diffusion remains small even
648after a static adjustment. In that case, we recommend the addition of momentum
649mixing in a manner that mimics the mixing in temperature and salinity
650\citep{Speich_PhD92, Speich_al_JPO96}.
651
652% -------------------------------------------------------------------------------------------------------------
653%       Enhanced Vertical Diffusion
654% -------------------------------------------------------------------------------------------------------------
655\subsection   [Enhanced Vertical Diffusion (\np{ln\_zdfevd})]
656         {Enhanced Vertical Diffusion (\np{ln\_zdfevd}=true)}
657\label{ZDF_evd}
658
659%--------------------------------------------namzdf--------------------------------------------------------
660\namdisplay{namzdf}
661%--------------------------------------------------------------------------------------------------------------
662
663The enhanced vertical diffusion parameterisation is used when \np{ln\_zdfevd}=true.
664In this case, the vertical eddy mixing coefficients are assigned very large values
665(a typical value is $10\;m^2s^{-1})$ in regions where the stratification is unstable
666($i.e.$ when $N^2$ the Brunt-Vais\"{a}l\"{a} frequency is negative)
667\citep{Lazar_PhD97, Lazar_al_JPO99}. This is done either on tracers only
668(\np{nn\_evdm}=0) or on both momentum and tracers (\np{nn\_evdm}=1).
669
670In practice, where $N^2\leq 10^{-12}$, $A_T^{vT}$ and $A_T^{vS}$, and
671if \np{nn\_evdm}=1, the four neighbouring $A_u^{vm} \;\mbox{and}\;A_v^{vm}$ 
672values also, are set equal to the namelist parameter \np{rn\_avevd}. A typical value
673for $rn\_avevd$ is between 1 and $100~m^2.s^{-1}$. This parameterisation of
674convective processes is less time consuming than the convective adjustment
675algorithm presented above when mixing both tracers and momentum in the
676case of static instabilities. It requires the use of an implicit time stepping on
677vertical diffusion terms (i.e. \np{ln\_zdfexp}=false).
678
679Note that the stability test is performed on both \textit{before} and \textit{now} 
680values of $N^2$. This removes a potential source of divergence of odd and
681even time step in a leapfrog environment \citep{Leclair_PhD2010} (see \S\ref{STP_mLF}).
682
683% -------------------------------------------------------------------------------------------------------------
684%       Turbulent Closure Scheme
685% -------------------------------------------------------------------------------------------------------------
686\subsection{Turbulent Closure Scheme (\key{zdftke} or \key{zdfgls})}
687\label{ZDF_tcs}
688
689The turbulent closure scheme presented in \S\ref{ZDF_tke} and \S\ref{ZDF_gls} 
690(\key{zdftke} or \key{zdftke} is defined) in theory solves the problem of statically
691unstable density profiles. In such a case, the term corresponding to the
692destruction of turbulent kinetic energy through stratification in \eqref{Eq_zdftke_e} 
693or \eqref{Eq_zdfgls_e} becomes a source term, since $N^2$ is negative.
694It results in large values of $A_T^{vT}$ and  $A_T^{vT}$, and also the four neighbouring
695$A_u^{vm} {and}\;A_v^{vm}$ (up to $1\;m^2s^{-1})$. These large values
696restore the static stability of the water column in a way similar to that of the
697enhanced vertical diffusion parameterisation (\S\ref{ZDF_evd}). However,
698in the vicinity of the sea surface (first ocean layer), the eddy coefficients
699computed by the turbulent closure scheme do not usually exceed $10^{-2}m.s^{-1}$,
700because the mixing length scale is bounded by the distance to the sea surface.
701It can thus be useful to combine the enhanced vertical
702diffusion with the turbulent closure scheme, $i.e.$ setting the \np{ln\_zdfnpc} 
703namelist parameter to true and defining the turbulent closure CPP key all together.
704
705The KPP turbulent closure scheme already includes enhanced vertical diffusion
706in the case of convection, as governed by the variables $bvsqcon$ and $difcon$ 
707found in \mdl{zdfkpp}, therefore \np{ln\_zdfevd}=false should be used with the KPP
708scheme. %gm%  + one word on non local flux with KPP scheme trakpp.F90 module...
709
710% ================================================================
711% Double Diffusion Mixing
712% ================================================================
713\section  [Double Diffusion Mixing (\key{zdfddm})]
714      {Double Diffusion Mixing (\key{zdfddm})}
715\label{ZDF_ddm}
716
717%-------------------------------------------namzdf_ddm-------------------------------------------------
718\namdisplay{namzdf_ddm}
719%--------------------------------------------------------------------------------------------------------------
720
721Double diffusion occurs when relatively warm, salty water overlies cooler, fresher
722water, or vice versa. The former condition leads to salt fingering and the latter
723to diffusive convection. Double-diffusive phenomena contribute to diapycnal
724mixing in extensive regions of the ocean.  \citet{Merryfield1999} include a
725parameterisation of such phenomena in a global ocean model and show that
726it leads to relatively minor changes in circulation but exerts significant regional
727influences on temperature and salinity. This parameterisation has been
728introduced in \mdl{zdfddm} module and is controlled by the \key{zdfddm} CPP key.
729
730Diapycnal mixing of S and T are described by diapycnal diffusion coefficients
731\begin{align*} % \label{Eq_zdfddm_Kz}
732    &A^{vT} = A_o^{vT}+A_f^{vT}+A_d^{vT}  \\
733    &A^{vS} = A_o^{vS}+A_f^{vS}+A_d^{vS}
734\end{align*}
735where subscript $f$ represents mixing by salt fingering, $d$ by diffusive convection,
736and $o$ by processes other than double diffusion. The rates of double-diffusive
737mixing depend on the buoyancy ratio $R_\rho = \alpha \partial_z T / \beta \partial_z S$,
738where $\alpha$ and $\beta$ are coefficients of thermal expansion and saline
739contraction (see \S\ref{TRA_eos}). To represent mixing of $S$ and $T$ by salt
740fingering, we adopt the diapycnal diffusivities suggested by Schmitt (1981):
741\begin{align} \label{Eq_zdfddm_f}
742A_f^{vS} &=    \begin{cases}
743   \frac{A^{\ast v}}{1+(R_\rho / R_c)^n   } &\text{if  $R_\rho > 1$ and $N^2>0$ } \\
744   0                              &\text{otherwise} 
745            \end{cases}   
746\\           \label{Eq_zdfddm_f_T}
747A_f^{vT} &= 0.7 \ A_f^{vS} / R_\rho 
748\end{align}
749
750%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
751\begin{figure}[!t]   \begin{center}
752\includegraphics[width=0.99\textwidth]{./TexFiles/Figures/Fig_zdfddm.pdf}
753\caption{  \label{Fig_zdfddm}
754From \citet{Merryfield1999} : (a) Diapycnal diffusivities $A_f^{vT}$ 
755and $A_f^{vS}$ for temperature and salt in regions of salt fingering. Heavy
756curves denote $A^{\ast v} = 10^{-3}~m^2.s^{-1}$ and thin curves
757$A^{\ast v} = 10^{-4}~m^2.s^{-1}$ ; (b) diapycnal diffusivities $A_d^{vT}$ and
758$A_d^{vS}$ for temperature and salt in regions of diffusive convection. Heavy
759curves denote the Federov parameterisation and thin curves the Kelley
760parameterisation. The latter is not implemented in \NEMO. }
761\end{center}    \end{figure}
762%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
763
764The factor 0.7 in \eqref{Eq_zdfddm_f_T} reflects the measured ratio
765$\alpha F_T /\beta F_S \approx  0.7$ of buoyancy flux of heat to buoyancy
766flux of salt ($e.g.$, \citet{McDougall_Taylor_JMR84}). Following  \citet{Merryfield1999},
767we adopt $R_c = 1.6$, $n = 6$, and $A^{\ast v} = 10^{-4}~m^2.s^{-1}$.
768
769To represent mixing of S and T by diffusive layering,  the diapycnal diffusivities suggested by Federov (1988) is used:
770\begin{align}  \label{Eq_zdfddm_d}
771A_d^{vT} &=    \begin{cases}
772   1.3635 \, \exp{\left( 4.6\, \exp{ \left[  -0.54\,( R_{\rho}^{-1} - 1 )  \right] }    \right)}
773                           &\text{if  $0<R_\rho < 1$ and $N^2>0$ } \\
774   0                       &\text{otherwise} 
775            \end{cases}   
776\\          \label{Eq_zdfddm_d_S}
777A_d^{vS} &=    \begin{cases}
778   A_d^{vT}\ \left( 1.85\,R_{\rho} - 0.85 \right)
779                           &\text{if  $0.5 \leq R_\rho<1$ and $N^2>0$ } \\
780   A_d^{vT} \ 0.15 \ R_\rho
781                           &\text{if  $\ \ 0 < R_\rho<0.5$ and $N^2>0$ } \\
782   0                       &\text{otherwise} 
783            \end{cases}   
784\end{align}
785
786The dependencies of \eqref{Eq_zdfddm_f} to \eqref{Eq_zdfddm_d_S} on $R_\rho$ 
787are illustrated in Fig.~\ref{Fig_zdfddm}. Implementing this requires computing
788$R_\rho$ at each grid point on every time step. This is done in \mdl{eosbn2} at the
789same time as $N^2$ is computed. This avoids duplication in the computation of
790$\alpha$ and $\beta$ (which is usually quite expensive).
791
792% ================================================================
793% Bottom Friction
794% ================================================================
795\section  [Bottom Friction (\textit{zdfbfr})]   {Bottom Friction (\mdl{zdfbfr} module)}
796\label{ZDF_bfr}
797
798%--------------------------------------------nambfr--------------------------------------------------------
799\namdisplay{nambfr}
800%--------------------------------------------------------------------------------------------------------------
801
802Both the surface momentum flux (wind stress) and the bottom momentum
803flux (bottom friction) enter the equations as a condition on the vertical
804diffusive flux. For the bottom boundary layer, one has:
805\begin{equation} \label{Eq_zdfbfr_flux}
806A^{vm} \left( \partial {\textbf U}_h / \partial z \right) = {{\cal F}}_h^{\textbf U}
807\end{equation}
808where ${\cal F}_h^{\textbf U}$ is represents the downward flux of horizontal momentum
809outside the logarithmic turbulent boundary layer (thickness of the order of
8101~m in the ocean). How ${\cal F}_h^{\textbf U}$ influences the interior depends on the
811vertical resolution of the model near the bottom relative to the Ekman layer
812depth. For example, in order to obtain an Ekman layer depth
813$d = \sqrt{2\;A^{vm}} / f = 50$~m, one needs a vertical diffusion coefficient
814$A^{vm} = 0.125$~m$^2$s$^{-1}$ (for a Coriolis frequency
815$f = 10^{-4}$~m$^2$s$^{-1}$). With a background diffusion coefficient
816$A^{vm} = 10^{-4}$~m$^2$s$^{-1}$, the Ekman layer depth is only 1.4~m.
817When the vertical mixing coefficient is this small, using a flux condition is
818equivalent to entering the viscous forces (either wind stress or bottom friction)
819as a body force over the depth of the top or bottom model layer. To illustrate
820this, consider the equation for $u$ at $k$, the last ocean level:
821\begin{equation} \label{Eq_zdfbfr_flux2}
822\frac{\partial u_k}{\partial t} = \frac{1}{e_{3u}} \left[ \frac{A_{uw}^{vm}}{e_{3uw}} \delta_{k+1/2}\;[u] - {\cal F}^u_h \right] \approx - \frac{{\cal F}^u_{h}}{e_{3u}}
823\end{equation}
824If the bottom layer thickness is 200~m, the Ekman transport will
825be distributed over that depth. On the other hand, if the vertical resolution
826is high (1~m or less) and a turbulent closure model is used, the turbulent
827Ekman layer will be represented explicitly by the model. However, the
828logarithmic layer is never represented in current primitive equation model
829applications: it is \emph{necessary} to parameterize the flux ${\cal F}^u_h $.
830Two choices are available in \NEMO: a linear and a quadratic bottom friction.
831Note that in both cases, the rotation between the interior velocity and the
832bottom friction is neglected in the present release of \NEMO.
833
834In the code, the bottom friction is imposed by adding the trend due to the bottom
835friction to the general momentum trend in \mdl{dynbfr}. For the time-split surface
836pressure gradient algorithm, the momentum trend due to the barotropic component
837needs to be handled separately. For this purpose it is convenient to compute and
838store coefficients which can be simply combined with bottom velocities and geometric
839values to provide the momentum trend due to bottom friction.
840These coefficients are computed in \mdl{zdfbfr} and generally take the form
841$c_b^{\textbf U}$ where:
842\begin{equation} \label{Eq_zdfbfr_bdef}
843\frac{\partial {\textbf U_h}}{\partial t} =
844  - \frac{{\cal F}^{\textbf U}_{h}}{e_{3u}} = \frac{c_b^{\textbf U}}{e_{3u}} \;{\textbf U}_h^b
845\end{equation}
846where $\textbf{U}_h^b = (u_b\;,\;v_b)$ is the near-bottom, horizontal, ocean velocity.
847
848% -------------------------------------------------------------------------------------------------------------
849%       Linear Bottom Friction
850% -------------------------------------------------------------------------------------------------------------
851\subsection{Linear Bottom Friction (\np{nn\_botfr} = 0 or 1) }
852\label{ZDF_bfr_linear}
853
854The linear bottom friction parameterisation (including the special case
855of a free-slip condition) assumes that the bottom friction
856is proportional to the interior velocity (i.e. the velocity of the last
857model level):
858\begin{equation} \label{Eq_zdfbfr_linear}
859{\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3} \; \frac{\partial \textbf{U}_h}{\partial k} = r \; \textbf{U}_h^b
860\end{equation}
861where $r$ is a friction coefficient expressed in ms$^{-1}$.
862This coefficient is generally estimated by setting a typical decay time
863$\tau$ in the deep ocean,
864and setting $r = H / \tau$, where $H$ is the ocean depth. Commonly accepted
865values of $\tau$ are of the order of 100 to 200 days \citep{Weatherly_JMR84}.
866A value $\tau^{-1} = 10^{-7}$~s$^{-1}$ equivalent to 115 days, is usually used
867in quasi-geostrophic models. One may consider the linear friction as an
868approximation of quadratic friction, $r \approx 2\;C_D\;U_{av}$ (\citet{Gill1982},
869Eq. 9.6.6). For example, with a drag coefficient $C_D = 0.002$, a typical speed
870of tidal currents of $U_{av} =0.1$~m\;s$^{-1}$, and assuming an ocean depth
871$H = 4000$~m, the resulting friction coefficient is $r = 4\;10^{-4}$~m\;s$^{-1}$.
872This is the default value used in \NEMO. It corresponds to a decay time scale
873of 115~days. It can be changed by specifying \np{rn\_bfric1} (namelist parameter).
874
875For the linear friction case the coefficients defined in the general
876expression \eqref{Eq_zdfbfr_bdef} are:
877\begin{equation} \label{Eq_zdfbfr_linbfr_b}
878\begin{split}
879 c_b^u &= - r\\
880 c_b^v &= - r\\
881\end{split}
882\end{equation}
883When \np{nn\_botfr}=1, the value of $r$ used is \np{rn\_bfric1}.
884Setting \np{nn\_botfr}=0 is equivalent to setting $r=0$ and leads to a free-slip
885bottom boundary condition. These values are assigned in \mdl{zdfbfr}.
886From v3.2 onwards there is support for local enhancement of these values
887via an externally defined 2D mask array (\np{ln\_bfr2d}=true) given
888in the \ifile{bfr\_coef} input NetCDF file. The mask values should vary from 0 to 1.
889Locations with a non-zero mask value will have the friction coefficient increased
890by $mask\_value$*\np{rn\_bfrien}*\np{rn\_bfric1}.
891
892% -------------------------------------------------------------------------------------------------------------
893%       Non-Linear Bottom Friction
894% -------------------------------------------------------------------------------------------------------------
895\subsection{Non-Linear Bottom Friction (\np{nn\_botfr} = 2)}
896\label{ZDF_bfr_nonlinear}
897
898The non-linear bottom friction parameterisation assumes that the bottom
899friction is quadratic:
900\begin{equation} \label{Eq_zdfbfr_nonlinear}
901{\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3 }\frac{\partial \textbf {U}_h
902}{\partial k}=C_D \;\sqrt {u_b ^2+v_b ^2+e_b } \;\; \textbf {U}_h^b
903\end{equation}
904where $C_D$ is a drag coefficient, and $e_b $ a bottom turbulent kinetic energy
905due to tides, internal waves breaking and other short time scale currents.
906A typical value of the drag coefficient is $C_D = 10^{-3} $. As an example,
907the CME experiment \citep{Treguier_JGR92} uses $C_D = 10^{-3}$ and
908$e_b = 2.5\;10^{-3}$m$^2$\;s$^{-2}$, while the FRAM experiment \citep{Killworth1992} 
909uses $C_D = 1.4\;10^{-3}$ and $e_b =2.5\;\;10^{-3}$m$^2$\;s$^{-2}$.
910The CME choices have been set as default values (\np{rn\_bfric2} and \np{rn\_bfeb2} 
911namelist parameters).
912
913As for the linear case, the bottom friction is imposed in the code by
914adding the trend due to the bottom friction to the general momentum trend
915in \mdl{dynbfr}.
916For the non-linear friction case the terms
917computed in \mdl{zdfbfr}  are:
918\begin{equation} \label{Eq_zdfbfr_nonlinbfr}
919\begin{split}
920 c_b^u &= - \; C_D\;\left[ u^2 + \left(\bar{\bar{v}}^{i+1,j}\right)^2 + e_b \right]^{1/2}\\
921 c_b^v &= - \; C_D\;\left[  \left(\bar{\bar{u}}^{i,j+1}\right)^2 + v^2 + e_b \right]^{1/2}\\
922\end{split}
923\end{equation}
924
925The coefficients that control the strength of the non-linear bottom friction are
926initialised as namelist parameters: $C_D$= \np{rn\_bfri2}, and $e_b$ =\np{rn\_bfeb2}.
927Note for applications which treat tides explicitly a low or even zero value of
928\np{rn\_bfeb2} is recommended. From v3.2 onwards a local enhancement of $C_D$ 
929is possible via an externally defined 2D mask array (\np{ln\_bfr2d}=true).
930See previous section for details.
931
932% -------------------------------------------------------------------------------------------------------------
933%       Bottom Friction stability
934% -------------------------------------------------------------------------------------------------------------
935\subsection{Bottom Friction stability considerations}
936\label{ZDF_bfr_stability}
937
938Some care needs to exercised over the choice of parameters to ensure that the
939implementation of bottom friction does not induce numerical instability. For
940the purposes of stability analysis, an approximation to \eqref{Eq_zdfbfr_flux2}
941is:
942\begin{equation} \label{Eqn_bfrstab}
943\begin{split}
944 \Delta u &= -\frac{{{\cal F}_h}^u}{e_{3u}}\;2 \rdt    \\
945               &= -\frac{ru}{e_{3u}}\;2\rdt\\
946\end{split}
947\end{equation}
948\noindent where linear bottom friction and a leapfrog timestep have been assumed.
949To ensure that the bottom friction cannot reverse the direction of flow it is necessary to have:
950\begin{equation}
951 |\Delta u| < \;|u|
952\end{equation}
953\noindent which, using \eqref{Eqn_bfrstab}, gives:
954\begin{equation}
955r\frac{2\rdt}{e_{3u}} < 1 \qquad  \Rightarrow \qquad r < \frac{e_{3u}}{2\rdt}\\
956\end{equation}
957This same inequality can also be derived in the non-linear bottom friction case
958if a velocity of 1 m.s$^{-1}$ is assumed. Alternatively, this criterion can be
959rearranged to suggest a minimum bottom box thickness to ensure stability:
960\begin{equation}
961e_{3u} > 2\;r\;\rdt
962\end{equation}
963\noindent which it may be necessary to impose if partial steps are being used.
964For example, if $|u| = 1$ m.s$^{-1}$, $rdt = 1800$ s, $r = 10^{-3}$ then
965$e_{3u}$ should be greater than 3.6 m. For most applications, with physically
966sensible parameters these restrictions should not be of concern. But
967caution may be necessary if attempts are made to locally enhance the bottom
968friction parameters.
969To ensure stability limits are imposed on the bottom friction coefficients both during
970initialisation and at each time step. Checks at initialisation are made in \mdl{zdfbfr} 
971(assuming a 1 m.s$^{-1}$ velocity in the non-linear case).
972The number of breaches of the stability criterion are reported as well as the minimum
973and maximum values that have been set. The criterion is also checked at each time step,
974using the actual velocity, in \mdl{dynbfr}. Values of the bottom friction coefficient are
975reduced as necessary to ensure stability; these changes are not reported.
976
977% -------------------------------------------------------------------------------------------------------------
978%       Bottom Friction with split-explicit time splitting
979% -------------------------------------------------------------------------------------------------------------
980\subsection{Bottom Friction with split-explicit time splitting}
981\label{ZDF_bfr_ts}
982
983When calculating the momentum trend due to bottom friction in \mdl{dynbfr}, the
984bottom velocity at the before time step is used. This velocity includes both the
985baroclinic and barotropic components which is appropriate when using either the
986explicit or filtered surface pressure gradient algorithms (\key{dynspg\_exp} or
987{\key{dynspg\_flt}). Extra attention is required, however, when using
988split-explicit time stepping (\key{dynspg\_ts}). In this case the free surface
989equation is solved with a small time step \np{nn\_baro}*\np{rn\_rdt}, while the three
990dimensional prognostic variables are solved with a longer time step that is a
991multiple of \np{rn\_rdt}. The trend in the barotropic momentum due to bottom
992friction appropriate to this method is that given by the selected parameterisation
993($i.e.$ linear or non-linear bottom friction) computed with the evolving velocities
994at each barotropic timestep.
995
996In the case of non-linear bottom friction, we have elected to partially linearise
997the problem by keeping the coefficients fixed throughout the barotropic
998time-stepping to those computed in \mdl{zdfbfr} using the now timestep.
999This decision allows an efficient use of the $c_b^{\vect{U}}$ coefficients to:
1000
1001\begin{enumerate}
1002\item On entry to \rou{dyn\_spg\_ts}, remove the contribution of the before
1003barotropic velocity to the bottom friction component of the vertically
1004integrated momentum trend. Note the same stability check that is carried out
1005on the bottom friction coefficient in \mdl{dynbfr} has to be applied here to
1006ensure that the trend removed matches that which was added in \mdl{dynbfr}.
1007\item At each barotropic step, compute the contribution of the current barotropic
1008velocity to the trend due to bottom friction. Add this contribution to the
1009vertically integrated momentum trend. This contribution is handled implicitly which
1010eliminates the need to impose a stability criteria on the values of the bottom friction
1011coefficient within the barotropic loop.
1012\end{enumerate}
1013
1014Note that the use of an implicit formulation
1015for the bottom friction trend means that any limiting of the bottom friction coefficient
1016in \mdl{dynbfr} does not adversely affect the solution when using split-explicit time
1017splitting. This is because the major contribution to bottom friction is likely to come from
1018the barotropic component which uses the unrestricted value of the coefficient.
1019
1020The implicit formulation takes the form:
1021\begin{equation} \label{Eq_zdfbfr_implicitts}
1022 \bar{U}^{t+ \rdt} = \; \left [ \bar{U}^{t-\rdt}\; + 2 \rdt\;RHS \right ] / \left [ 1 - 2 \rdt \;c_b^{u} / H_e \right ] 
1023\end{equation}
1024where $\bar U$ is the barotropic velocity, $H_e$ is the full depth (including sea surface height),
1025$c_b^u$ is the bottom friction coefficient as calculated in \rou{zdf\_bfr} and $RHS$ represents
1026all the components to the vertically integrated momentum trend except for that due to bottom friction.
1027
1028
1029
1030
1031% ================================================================
1032% Tidal Mixing
1033% ================================================================
1034\section{Tidal Mixing (\key{zdftmx})}
1035\label{ZDF_tmx}
1036
1037%--------------------------------------------namzdf_tmx--------------------------------------------------
1038\namdisplay{namzdf_tmx}
1039%--------------------------------------------------------------------------------------------------------------
1040
1041
1042% -------------------------------------------------------------------------------------------------------------
1043%        Bottom intensified tidal mixing
1044% -------------------------------------------------------------------------------------------------------------
1045\subsection{Bottom intensified tidal mixing}
1046\label{ZDF_tmx_bottom}
1047
1048The parameterization of tidal mixing follows the general formulation for
1049the vertical eddy diffusivity proposed by \citet{St_Laurent_al_GRL02} and
1050first introduced in an OGCM by \citep{Simmons_al_OM04}.
1051In this formulation an additional vertical diffusivity resulting from internal tide breaking,
1052$A^{vT}_{tides}$ is expressed as a function of $E(x,y)$, the energy transfer from barotropic
1053tides to baroclinic tides :
1054\begin{equation} \label{Eq_Ktides}
1055A^{vT}_{tides} =  q \,\Gamma \,\frac{ E(x,y) \, F(z) }{ \rho \, N^2 }
1056\end{equation}
1057where $\Gamma$ is the mixing efficiency, $N$ the Brunt-Vais\"{a}l\"{a} frequency
1058(see \S\ref{TRA_bn2}), $\rho$ the density, $q$ the tidal dissipation efficiency,
1059and $F(z)$ the vertical structure function.
1060
1061The mixing efficiency of turbulence is set by $\Gamma$ (\np{rn\_me} namelist parameter)
1062and is usually taken to be the canonical value of $\Gamma = 0.2$ (Osborn 1980).
1063The tidal dissipation efficiency is given by the parameter $q$ (\np{rn\_tfe} namelist parameter)
1064represents the part of the internal wave energy flux $E(x, y)$ that is dissipated locally,
1065with the remaining $1-q$ radiating away as low mode internal waves and
1066contributing to the background internal wave field. A value of $q=1/3$ is typically used 
1067\citet{St_Laurent_al_GRL02}.
1068The vertical structure function $F(z)$ models the distribution of the turbulent mixing in the vertical.
1069It is implemented as a simple exponential decaying upward away from the bottom,
1070with a vertical scale of $h_o$ (\np{rn\_htmx} namelist parameter, with a typical value of $500\,m$) \citep{St_Laurent_Nash_DSR04},
1071\begin{equation} \label{Eq_Fz}
1072F(i,j,k) = \frac{ e^{ -\frac{H+z}{h_o} } }{ h_o \left( 1- e^{ -\frac{H}{h_o} } \right) }
1073\end{equation}
1074and is normalized so that vertical integral over the water column is unity.
1075
1076The associated vertical viscosity is calculated from the vertical
1077diffusivity assuming a Prandtl number of 1, $i.e.$ $A^{vm}_{tides}=A^{vT}_{tides}$.
1078In the limit of $N \rightarrow 0$ (or becoming negative), the vertical diffusivity
1079is capped at $300\,cm^2/s$ and impose a lower limit on $N^2$ of \np{rn\_n2min} 
1080usually set to $10^{-8} s^{-2}$. These bounds are usually rarely encountered.
1081
1082The internal wave energy map, $E(x, y)$ in \eqref{Eq_Ktides}, is derived
1083from a barotropic model of the tides utilizing a parameterization of the
1084conversion of barotropic tidal energy into internal waves.
1085The essential goal of the parameterization is to represent the momentum
1086exchange between the barotropic tides and the unrepresented internal waves
1087induced by the tidal ßow over rough topography in a stratified ocean.
1088In the current version of \NEMO, the map is built from the output of
1089the barotropic global ocean tide model MOG2D-G \citep{Carrere_Lyard_GRL03}.
1090This model provides the dissipation associated with internal wave energy for the M2 and K1
1091tides component (Fig.~\ref{Fig_ZDF_M2_K1_tmx}). The S2 dissipation is simply approximated
1092as being $1/4$ of the M2 one. The internal wave energy is thus : $E(x, y) = 1.25 E_{M2} + E_{K1}$.
1093Its global mean value is $1.1$ TW, in agreement with independent estimates
1094\citep{Egbert_Ray_Nat00, Egbert_Ray_JGR01}.
1095
1096%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1097\begin{figure}[!t]   \begin{center}
1098\includegraphics[width=0.90\textwidth]{./TexFiles/Figures/Fig_ZDF_M2_K1_tmx.pdf}
1099\caption{  \label{Fig_ZDF_M2_K1_tmx} 
1100(a) M2 and (b) K2 internal wave drag energy from \citet{Carrere_Lyard_GRL03} ($W/m^2$). }
1101\end{center}   \end{figure}
1102%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1103 
1104% -------------------------------------------------------------------------------------------------------------
1105%        Indonesian area specific treatment
1106% -------------------------------------------------------------------------------------------------------------
1107\subsection{Indonesian area specific treatment (\np{ln\_zdftmx\_itf})}
1108\label{ZDF_tmx_itf}
1109
1110When the Indonesian Through Flow (ITF) area is included in the model domain,
1111a specific treatment of tidal induced mixing in this area can be used.
1112It is activated through the namelist logical \np{ln\_tmx\_itf}, and the user must provide
1113an input NetCDF file, \ifile{mask\_itf}, which contains a mask array defining the ITF area
1114where the specific treatment is applied.
1115
1116When \np{ln\_tmx\_itf}=true, the two key parameters $q$ and $F(z)$ are adjusted following
1117the parameterisation developed by \ref{Koch-Larrouy_al_GRL07}:
1118
1119First, the Indonesian archipelago is a complex geographic region
1120with a series of large, deep, semi-enclosed basins connected via
1121numerous narrow straits. Once generated, internal tides remain
1122confined within this semi-enclosed area and hardly radiate away.
1123Therefore all the internal tides energy is consumed within this area.
1124So it is assumed that $q = 1$, $i.e.$ all the energy generated is available for mixing.
1125Note that for test purposed, the ITF tidal dissipation efficiency is a
1126namelist parameter (\np{rn\_tfe\_itf}). A value of $1$ or close to is
1127this recommended for this parameter.
1128
1129Second, the vertical structure function, $F(z)$, is no more associated
1130with a bottom intensification of the mixing, but with a maximum of
1131energy available within the thermocline. \ref{Koch-Larrouy_al_GRL07} 
1132have suggested that the vertical distribution of the energy dissipation
1133proportional to $N^2$ below the core of the thermocline and to $N$ above.
1134The resulting $F(z)$ is:
1135\begin{equation} \label{Eq_Fz_itf}
1136F(i,j,k) \sim     \left\{ \begin{aligned}
1137\frac{q\,\Gamma E(i,j) } {\rho N \, \int N     dz}    \qquad \text{when $\partial_z N < 0$} \\
1138\frac{q\,\Gamma E(i,j) } {\rho     \, \int N^2 dz}    \qquad \text{when $\partial_z N > 0$}
1139                      \end{aligned} \right.
1140\end{equation}
1141
1142Averaged over the ITF area, the resulting tidal mixing coefficient is $1.5\,cm^2/s$,
1143which agrees with the independent estimates inferred from observations.
1144Introduced in a regional OGCM, the parameterization improves the water mass
1145characteristics in the different Indonesian seas, suggesting that the horizontal
1146and vertical distributions of the mixing are adequately prescribed
1147\citep{Koch-Larrouy_al_GRL07, Koch-Larrouy_al_OD08a, Koch-Larrouy_al_OD08b}.
1148Note also that such a parameterisation has a sugnificant impact on the behaviour
1149of global coupled GCMs \citep{Koch-Larrouy_al_CD10}.
1150
1151
1152% ================================================================
Note: See TracBrowser for help on using the repository browser.