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 NEMO/trunk/doc/latex/NEMO/subfiles – NEMO

source: NEMO/trunk/doc/latex/NEMO/subfiles/chap_ZDF.tex @ 11596

Last change on this file since 11596 was 11596, checked in by nicolasmartin, 5 years ago

Application of some coding rules

  • Replace comments before sectioning cmds by a single line of 100 characters long to display when every line should break
  • Replace multi blank lines by one single blank line
  • For list environment, put \item, label and content on the same line
  • Remove \newpage and comments line around figure envs
File size: 82.6 KB
Line 
1\documentclass[../main/NEMO_manual]{subfiles}
2
3%% Custom aliases
4\newcommand{\cf}{\ensuremath{C\kern-0.14em f}}
5
6\begin{document}
7\chapter{Vertical Ocean Physics (ZDF)}
8\label{chap:ZDF}
9
10\chaptertoc
11
12%gm% Add here a small introduction to ZDF and naming of the different physics (similar to what have been written for TRA and DYN.
13
14\section{Vertical mixing}
15\label{sec:ZDF}
16
17The discrete form of the ocean subgrid scale physics has been presented in
18\autoref{sec:TRA_zdf} and \autoref{sec:DYN_zdf}.
19At the surface and bottom boundaries, the turbulent fluxes of momentum, heat and salt have to be defined.
20At the surface they are prescribed from the surface forcing (see \autoref{chap:SBC}),
21while at the bottom they are set to zero for heat and salt,
22unless a geothermal flux forcing is prescribed as a bottom boundary condition (\ie\ \np{ln_trabbc}{ln\_trabbc} defined,
23see \autoref{subsec:TRA_bbc}), and specified through a bottom friction parameterisation for momentum
24(see \autoref{sec:ZDF_drg}).
25
26In this section we briefly discuss the various choices offered to compute the vertical eddy viscosity and
27diffusivity coefficients, $A_u^{vm}$ , $A_v^{vm}$ and $A^{vT}$ ($A^{vS}$), defined at $uw$-, $vw$- and $w$- points,
28respectively (see \autoref{sec:TRA_zdf} and \autoref{sec:DYN_zdf}).
29These coefficients can be assumed to be either constant, or a function of the local Richardson number,
30or computed from a turbulent closure model (either TKE or GLS or OSMOSIS formulation).
31The computation of these coefficients is initialized in the \mdl{zdfphy} module and performed in
32the \mdl{zdfric}, \mdl{zdftke} or \mdl{zdfgls} or \mdl{zdfosm} modules.
33The trends due to the vertical momentum and tracer diffusion, including the surface forcing,
34are computed and added to the general trend in the \mdl{dynzdf} and \mdl{trazdf} modules, respectively.
35%These trends can be computed using either a forward time stepping scheme
36%(namelist parameter \np[=.true.]{ln_zdfexp}{ln\_zdfexp}) or a backward time stepping scheme
37%(\np[=.false.]{ln_zdfexp}{ln\_zdfexp}) depending on the magnitude of the mixing coefficients,
38%and thus of the formulation used (see \autoref{chap:TD}).
39
40%--------------------------------------------namzdf--------------------------------------------------------
41
42\begin{listing}
43  \nlst{namzdf}
44  \caption{\forcode{&namzdf}}
45  \label{lst:namzdf}
46\end{listing}
47%--------------------------------------------------------------------------------------------------------------
48
49\subsection[Constant (\forcode{ln_zdfcst})]{Constant (\protect\np{ln_zdfcst}{ln\_zdfcst})}
50\label{subsec:ZDF_cst}
51
52Options are defined through the \nam{zdf}{zdf} namelist variables.
53When \np{ln_zdfcst}{ln\_zdfcst} is defined, the momentum and tracer vertical eddy coefficients are set to
54constant values over the whole ocean.
55This is the crudest way to define the vertical ocean physics.
56It is recommended to use this option only in process studies, not in basin scale simulations.
57Typical values used in this case are:
58\begin{align*}
59  A_u^{vm} = A_v^{vm} &= 1.2\ 10^{-4}~m^2.s^{-1}   \\
60  A^{vT} = A^{vS} &= 1.2\ 10^{-5}~m^2.s^{-1}
61\end{align*}
62
63These values are set through the \np{rn_avm0}{rn\_avm0} and \np{rn_avt0}{rn\_avt0} namelist parameters.
64In all cases, do not use values smaller that those associated with the molecular viscosity and diffusivity,
65that is $\sim10^{-6}~m^2.s^{-1}$ for momentum, $\sim10^{-7}~m^2.s^{-1}$ for temperature and
66$\sim10^{-9}~m^2.s^{-1}$ for salinity.
67
68\subsection[Richardson number dependent (\forcode{ln_zdfric})]{Richardson number dependent (\protect\np{ln_zdfric}{ln\_zdfric})}
69\label{subsec:ZDF_ric}
70
71%--------------------------------------------namric---------------------------------------------------------
72
73\begin{listing}
74  \nlst{namzdf_ric}
75  \caption{\forcode{&namzdf_ric}}
76  \label{lst:namzdf_ric}
77\end{listing}
78%--------------------------------------------------------------------------------------------------------------
79
80When \np[=.true.]{ln_zdfric}{ln\_zdfric}, a local Richardson number dependent formulation for the vertical momentum and
81tracer eddy coefficients is set through the \nam{zdf_ric}{zdf\_ric} namelist variables.
82The vertical mixing coefficients 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 large scale ocean structures.
84The hypothesis of a mixing mainly maintained by the growth of Kelvin-Helmholtz like instabilities leads to
85a dependency between the vertical eddy coefficients and the local Richardson number
86(\ie\ the ratio of stratification to vertical shear).
87Following \citet{pacanowski.philander_JPO81}, the following formulation has been implemented:
88\[
89  % \label{eq:ZDF_ric}
90  \left\{
91    \begin{aligned}
92      A^{vT} &= \frac {A_{ric}^{vT}}{\left( 1+a \; Ri \right)^n} + A_b^{vT}       \\
93      A^{vm} &= \frac{A^{vT}        }{\left( 1+ a \;Ri  \right)   } + A_b^{vm}
94    \end{aligned}
95  \right.
96\]
97where $Ri = N^2 / \left(\partial_z \textbf{U}_h \right)^2$ is the local Richardson number,
98$N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}),
99$A_b^{vT} $ and $A_b^{vm}$ are the constant background values set as in the constant case
100(see \autoref{subsec:ZDF_cst}), and $A_{ric}^{vT} = 10^{-4}~m^2.s^{-1}$ is the maximum value that
101can be reached by the coefficient when $Ri\leq 0$, $a=5$ and $n=2$.
102The last three values can be modified by setting the \np{rn_avmri}{rn\_avmri}, \np{rn_alp}{rn\_alp} and
103\np{nn_ric}{nn\_ric} namelist parameters, respectively.
104
105A simple mixing-layer model to transfer and dissipate the atmospheric forcings
106(wind-stress and buoyancy fluxes) can be activated setting the \np[=.true.]{ln_mldw}{ln\_mldw} in the namelist.
107
108In this case, the local depth of turbulent wind-mixing or "Ekman depth" $h_{e}(x,y,t)$ is evaluated and
109the vertical eddy coefficients prescribed within this layer.
110
111This depth is assumed proportional to the "depth of frictional influence" that is limited by rotation:
112\[
113  h_{e} = Ek \frac {u^{*}} {f_{0}}
114\]
115where, $Ek$ is an empirical parameter, $u^{*}$ is the friction velocity and $f_{0}$ is the Coriolis parameter.
116
117In this similarity height relationship, the turbulent friction velocity:
118\[
119  u^{*} = \sqrt \frac {|\tau|} {\rho_o}
120\]
121is computed from the wind stress vector $|\tau|$ and the reference density $ \rho_o$.
122The final $h_{e}$ is further constrained by the adjustable bounds \np{rn_mldmin}{rn\_mldmin} and \np{rn_mldmax}{rn\_mldmax}.
123Once $h_{e}$ is computed, the vertical eddy coefficients within $h_{e}$ are set to
124the empirical values \np{rn_wtmix}{rn\_wtmix} and \np{rn_wvmix}{rn\_wvmix} \citep{lermusiaux_JMS01}.
125
126\subsection[TKE turbulent closure scheme (\forcode{ln_zdftke})]{TKE turbulent closure scheme (\protect\np{ln_zdftke}{ln\_zdftke})}
127\label{subsec:ZDF_tke}
128%--------------------------------------------namzdf_tke--------------------------------------------------
129
130\begin{listing}
131  \nlst{namzdf_tke}
132  \caption{\forcode{&namzdf_tke}}
133  \label{lst:namzdf_tke}
134\end{listing}
135%--------------------------------------------------------------------------------------------------------------
136
137The vertical eddy viscosity and diffusivity coefficients are computed from a TKE turbulent closure model based on
138a prognostic equation for $\bar{e}$, the turbulent kinetic energy,
139and a closure assumption for the turbulent length scales.
140This turbulent closure model has been developed by \citet{bougeault.lacarrere_MWR89} in the atmospheric case,
141adapted by \citet{gaspar.gregoris.ea_JGR90} for the oceanic case, and embedded in OPA, the ancestor of \NEMO,
142by \citet{blanke.delecluse_JPO93} for equatorial Atlantic simulations.
143Since then, significant modifications have been introduced by \citet{madec.delecluse.ea_NPM98} in both the implementation and
144the formulation of the mixing length scale.
145The time evolution of $\bar{e}$ is the result of the production of $\bar{e}$ through vertical shear,
146its destruction through stratification, its vertical diffusion, and its dissipation of \citet{kolmogorov_IANS42} type:
147\begin{equation}
148  \label{eq:ZDF_tke_e}
149  \frac{\partial \bar{e}}{\partial t} =
150  \frac{K_m}{{e_3}^2 }\;\left[ {\left( {\frac{\partial u}{\partial k}} \right)^2
151      +\left( {\frac{\partial v}{\partial k}} \right)^2} \right]
152  -K_\rho\,N^2
153  +\frac{1}{e_3}  \;\frac{\partial }{\partial k}\left[ {\frac{A^{vm}}{e_3 }
154      \;\frac{\partial \bar{e}}{\partial k}} \right]
155  - c_\epsilon \;\frac{\bar {e}^{3/2}}{l_\epsilon }
156\end{equation}
157\[
158  % \label{eq:ZDF_tke_kz}
159  \begin{split}
160    K_m &= C_k\  l_k\  \sqrt {\bar{e}\; }    \\
161    K_\rho &= A^{vm} / P_{rt}
162  \end{split}
163\]
164where $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}),
165$l_{\epsilon }$ and $l_{\kappa }$ are the dissipation and mixing length scales,
166$P_{rt}$ is the Prandtl number, $K_m$ and $K_\rho$ are the vertical eddy viscosity and diffusivity coefficients.
167The constants $C_k =  0.1$ and $C_\epsilon = \sqrt {2} /2$ $\approx 0.7$ are designed to deal with
168vertical mixing at any depth \citep{gaspar.gregoris.ea_JGR90}.
169They are set through namelist parameters \np{nn_ediff}{nn\_ediff} and \np{nn_ediss}{nn\_ediss}.
170$P_{rt}$ can be set to unity or, following \citet{blanke.delecluse_JPO93}, be a function of the local Richardson number, $R_i$:
171\begin{align*}
172  % \label{eq:ZDF_prt}
173  P_{rt} =
174  \begin{cases}
175    \ \ \ 1 &      \text{if $\ R_i \leq 0.2$}   \\
176    5\,R_i &      \text{if $\ 0.2 \leq R_i \leq 2$}   \\
177    \ \ 10 &      \text{if $\ 2 \leq R_i$}
178  \end{cases}
179\end{align*}
180The choice of $P_{rt}$ is controlled by the \np{nn_pdl}{nn\_pdl} namelist variable.
181
182At the sea surface, the value of $\bar{e}$ is prescribed from the wind stress field as
183$\bar{e}_o = e_{bb} |\tau| / \rho_o$, with $e_{bb}$ the \np{rn_ebb}{rn\_ebb} namelist parameter.
184The default value of $e_{bb}$ is 3.75. \citep{gaspar.gregoris.ea_JGR90}), however a much larger value can be used when
185taking into account the surface wave breaking (see below Eq. \autoref{eq:ZDF_Esbc}).
186The bottom value of TKE is assumed to be equal to the value of the level just above.
187The time integration of the $\bar{e}$ equation may formally lead to negative values because
188the numerical scheme does not ensure its positivity.
189To overcome this problem, a cut-off in the minimum value of $\bar{e}$ is used (\np{rn_emin}{rn\_emin} namelist parameter).
190Following \citet{gaspar.gregoris.ea_JGR90}, the cut-off value is set to $\sqrt{2}/2~10^{-6}~m^2.s^{-2}$.
191This allows the subsequent formulations to match that of \citet{gargett_JMR84} for the diffusion in
192the thermocline and deep ocean :  $K_\rho = 10^{-3} / N$.
193In addition, a cut-off is applied on $K_m$ and $K_\rho$ to avoid numerical instabilities associated with
194too weak vertical diffusion.
195They must be specified at least larger than the molecular values, and are set through \np{rn_avm0}{rn\_avm0} and
196\np{rn_avt0}{rn\_avt0} (\nam{zdf}{zdf} namelist, see \autoref{subsec:ZDF_cst}).
197
198\subsubsection{Turbulent length scale}
199
200For computational efficiency, the original formulation of the turbulent length scales proposed by
201\citet{gaspar.gregoris.ea_JGR90} has been simplified.
202Four formulations are proposed, the choice of which is controlled by the \np{nn_mxl}{nn\_mxl} namelist parameter.
203The first two are based on the following first order approximation \citep{blanke.delecluse_JPO93}:
204\begin{equation}
205  \label{eq:ZDF_tke_mxl0_1}
206  l_k = l_\epsilon = \sqrt {2 \bar{e}\; } / N
207\end{equation}
208which is valid in a stable stratified region with constant values of the Brunt-Vais\"{a}l\"{a} frequency.
209The resulting length scale is bounded by the distance to the surface or to the bottom
210(\np[=0]{nn_mxl}{nn\_mxl}) or by the local vertical scale factor (\np[=1]{nn_mxl}{nn\_mxl}).
211\citet{blanke.delecluse_JPO93} notice that this simplification has two major drawbacks:
212it makes no sense for locally unstable stratification and the computation no longer uses all
213the information contained in the vertical density profile.
214To overcome these drawbacks, \citet{madec.delecluse.ea_NPM98} introduces the \np[=2, 3]{nn_mxl}{nn\_mxl} cases,
215which add an extra assumption concerning the vertical gradient of the computed length scale.
216So, the length scales are first evaluated as in \autoref{eq:ZDF_tke_mxl0_1} and then bounded such that:
217\begin{equation}
218  \label{eq:ZDF_tke_mxl_constraint}
219  \frac{1}{e_3 }\left| {\frac{\partial l}{\partial k}} \right| \leq 1
220  \qquad \text{with }\  l =  l_k = l_\epsilon
221\end{equation}
222\autoref{eq:ZDF_tke_mxl_constraint} means that the vertical variations of the length scale cannot be larger than
223the variations of depth.
224It provides a better approximation of the \citet{gaspar.gregoris.ea_JGR90} formulation while being much less
225time consuming.
226In particular, it allows the length scale to be limited not only by the distance to the surface or
227to the ocean bottom but also by the distance to a strongly stratified portion of the water column such as
228the thermocline (\autoref{fig:ZDF_mixing_length}).
229In order to impose the \autoref{eq:ZDF_tke_mxl_constraint} constraint, we introduce two additional length scales:
230$l_{up}$ and $l_{dwn}$, the upward and downward length scales, and
231evaluate the dissipation and mixing length scales as
232(and note that here we use numerical indexing):
233\begin{figure}[!t]
234  \centering
235  \includegraphics[width=0.66\textwidth]{Fig_mixing_length}
236  \caption[Mixing length computation]{Illustration of the mixing length computation}
237  \label{fig:ZDF_mixing_length}
238\end{figure}
239\[
240  % \label{eq:ZDF_tke_mxl2}
241  \begin{aligned}
242    l_{up\ \ }^{(k)} &= \min \left(  l^{(k)} \ , \ l_{up}^{(k+1)} + e_{3t}^{(k)}\ \ \ \;  \right)
243    \quad &\text{ from $k=1$ to $jpk$ }\ \\
244    l_{dwn}^{(k)} &= \min \left(  l^{(k)} \ , \ l_{dwn}^{(k-1)} + e_{3t}^{(k-1)\right)
245    \quad &\text{ from $k=jpk$ to $1$ }\ \\
246  \end{aligned}
247\]
248where $l^{(k)}$ is computed using \autoref{eq:ZDF_tke_mxl0_1}, \ie\ $l^{(k)} = \sqrt {2 {\bar e}^{(k)} / {N^2}^{(k)} }$.
249
250In the \np[=2]{nn_mxl}{nn\_mxl} case, the dissipation and mixing length scales take the same value:
251$ l_k=  l_\epsilon = \min \left(\ l_{up} \;,\;  l_{dwn}\ \right)$, while in the \np[=3]{nn_mxl}{nn\_mxl} case,
252the dissipation and mixing turbulent length scales are give as in \citet{gaspar.gregoris.ea_JGR90}:
253\[
254  % \label{eq:ZDF_tke_mxl_gaspar}
255  \begin{aligned}
256    & l_k          = \sqrt{\  l_{up} \ \ l_{dwn}\ }   \\
257    & l_\epsilon = \min \left(\ l_{up} \;,\;  l_{dwn}\ \right)
258  \end{aligned}
259\]
260
261At the ocean surface, a non zero length scale is set through the  \np{rn_mxl0}{rn\_mxl0} namelist parameter.
262Usually the surface scale is given by $l_o = \kappa \,z_o$ where $\kappa = 0.4$ is von Karman's constant and
263$z_o$ the roughness parameter of the surface.
264Assuming $z_o=0.1$~m \citep{craig.banner_JPO94} leads to a 0.04~m, the default value of \np{rn_mxl0}{rn\_mxl0}.
265In the ocean interior a minimum length scale is set to recover the molecular viscosity when
266$\bar{e}$ reach its minimum value ($1.10^{-6}= C_k\, l_{min} \,\sqrt{\bar{e}_{min}}$ ).
267
268\subsubsection{Surface wave breaking parameterization}
269%-----------------------------------------------------------------------%
270
271Following \citet{mellor.blumberg_JPO04}, the TKE turbulence closure model has been modified to
272include the effect of surface wave breaking energetics.
273This results in a reduction of summertime surface temperature when the mixed layer is relatively shallow.
274The \citet{mellor.blumberg_JPO04} modifications acts on surface length scale and TKE values and
275air-sea drag coefficient.
276The latter concerns the bulk formulae and is not discussed here.
277
278Following \citet{craig.banner_JPO94}, the boundary condition on surface TKE value is :
279\begin{equation}
280  \label{eq:ZDF_Esbc}
281  \bar{e}_o = \frac{1}{2}\,\left(  15.8\,\alpha_{CB} \right)^{2/3} \,\frac{|\tau|}{\rho_o}
282\end{equation}
283where $\alpha_{CB}$ is the \citet{craig.banner_JPO94} constant of proportionality which depends on the ''wave age'',
284ranging from 57 for mature waves to 146 for younger waves \citep{mellor.blumberg_JPO04}.
285The boundary condition on the turbulent length scale follows the Charnock's relation:
286\begin{equation}
287  \label{eq:ZDF_Lsbc}
288  l_o = \kappa \beta \,\frac{|\tau|}{g\,\rho_o}
289\end{equation}
290where $\kappa=0.40$ is the von Karman constant, and $\beta$ is the Charnock's constant.
291\citet{mellor.blumberg_JPO04} suggest $\beta = 2.10^{5}$ the value chosen by
292\citet{stacey_JPO99} citing observation evidence, and
293$\alpha_{CB} = 100$ the Craig and Banner's value.
294As the surface boundary condition on TKE is prescribed through $\bar{e}_o = e_{bb} |\tau| / \rho_o$,
295with $e_{bb}$ the \np{rn_ebb}{rn\_ebb} namelist parameter, setting \np[=67.83]{rn_ebb}{rn\_ebb} corresponds
296to $\alpha_{CB} = 100$.
297Further setting  \np[=.true.]{ln_mxl0}{ln\_mxl0},  applies \autoref{eq:ZDF_Lsbc} as the surface boundary condition on the length scale,
298with $\beta$ hard coded to the Stacey's value.
299Note that a minimal threshold of \np{rn_emin0}{rn\_emin0}$=10^{-4}~m^2.s^{-2}$ (namelist parameters) is applied on the
300surface $\bar{e}$ value.
301
302\subsubsection{Langmuir cells}
303%--------------------------------------%
304
305Langmuir circulations (LC) can be described as ordered large-scale vertical motions in
306the surface layer of the oceans.
307Although LC have nothing to do with convection, the circulation pattern is rather similar to
308so-called convective rolls in the atmospheric boundary layer.
309The detailed physics behind LC is described in, for example, \citet{craik.leibovich_JFM76}.
310The prevailing explanation is that LC arise from a nonlinear interaction between the Stokes drift and
311wind drift currents.
312
313Here we introduced in the TKE turbulent closure the simple parameterization of Langmuir circulations proposed by
314\citep{axell_JGR02} for a $k-\epsilon$ turbulent closure.
315The parameterization, tuned against large-eddy simulation, includes the whole effect of LC in
316an extra source term of TKE, $P_{LC}$.
317The presence of $P_{LC}$ in \autoref{eq:ZDF_tke_e}, the TKE equation, is controlled by setting \np{ln_lc}{ln\_lc} to
318\forcode{.true.} in the \nam{zdf_tke}{zdf\_tke} namelist.
319
320By making an analogy with the characteristic convective velocity scale (\eg, \citet{dalessio.abdella.ea_JPO98}),
321$P_{LC}$ is assumed to be :
322\[
323P_{LC}(z) = \frac{w_{LC}^3(z)}{H_{LC}}
324\]
325where $w_{LC}(z)$ is the vertical velocity profile of LC, and $H_{LC}$ is the LC depth.
326With no information about the wave field, $w_{LC}$ is assumed to be proportional to
327the Stokes drift $u_s = 0.377\,\,|\tau|^{1/2}$, where $|\tau|$ is the surface wind stress module
328\footnote{Following \citet{li.garrett_JMR93}, the surface Stoke drift velocity may be expressed as
329  $u_s =  0.016 \,|U_{10m}|$.
330  Assuming an air density of $\rho_a=1.22 \,Kg/m^3$ and a drag coefficient of
331  $1.5~10^{-3}$ give the expression used of $u_s$ as a function of the module of surface stress
332}.
333For the vertical variation, $w_{LC}$ is assumed to be zero at the surface as well as at
334a finite depth $H_{LC}$ (which is often close to the mixed layer depth),
335and simply varies as a sine function in between (a first-order profile for the Langmuir cell structures).
336The resulting expression for $w_{LC}$ is :
337\[
338  w_{LC}  =
339  \begin{cases}
340    c_{LC} \,u_s \,\sin(- \pi\,z / H_{LC} )    &      \text{if $-z \leq H_{LC}$}    \\
341    0                             &      \text{otherwise}
342  \end{cases}
343\]
344where $c_{LC} = 0.15$ has been chosen by \citep{axell_JGR02} as a good compromise to fit LES data.
345The chosen value yields maximum vertical velocities $w_{LC}$ of the order of a few centimeters per second.
346The value of $c_{LC}$ is set through the \np{rn_lc}{rn\_lc} namelist parameter,
347having in mind that it should stay between 0.15 and 0.54 \citep{axell_JGR02}.
348
349The $H_{LC}$ is estimated in a similar way as the turbulent length scale of TKE equations:
350$H_{LC}$ is the depth to which a water parcel with kinetic energy due to Stoke drift can reach on its own by
351converting its kinetic energy to potential energy, according to
352\[
353- \int_{-H_{LC}}^0 { N^2\;\;dz} = \frac{1}{2} u_s^2
354\]
355
356\subsubsection{Mixing just below the mixed layer}
357%--------------------------------------------------------------%
358
359Vertical mixing parameterizations commonly used in ocean general circulation models tend to
360produce mixed-layer depths that are too shallow during summer months and windy conditions.
361This bias is particularly acute over the Southern Ocean.
362To overcome this systematic bias, an ad hoc parameterization is introduced into the TKE scheme \cite{rodgers.aumont.ea_B14}.
363The parameterization is an empirical one, \ie\ not derived from theoretical considerations,
364but rather is meant to account for observed processes that affect the density structure of
365the ocean’s planetary boundary layer that are not explicitly captured by default in the TKE scheme
366(\ie\ near-inertial oscillations and ocean swells and waves).
367
368When using this parameterization (\ie\ when \np[=1]{nn_etau}{nn\_etau}),
369the TKE input to the ocean ($S$) imposed by the winds in the form of near-inertial oscillations,
370swell and waves is parameterized by \autoref{eq:ZDF_Esbc} the standard TKE surface boundary condition,
371plus a depth depend one given by:
372\begin{equation}
373  \label{eq:ZDF_Ehtau}
374  S = (1-f_i) \; f_r \; e_s \; e^{-z / h_\tau}
375\end{equation}
376where $z$ is the depth, $e_s$ is TKE surface boundary condition, $f_r$ is the fraction of the surface TKE that
377penetrates in the ocean, $h_\tau$ is a vertical mixing length scale that controls exponential shape of
378the penetration, and $f_i$ is the ice concentration
379(no penetration if $f_i=1$, \ie\ if the ocean is entirely covered by sea-ice).
380The value of $f_r$, usually a few percents, is specified through \np{rn_efr}{rn\_efr} namelist parameter.
381The vertical mixing length scale, $h_\tau$, can be set as a 10~m uniform value (\np[=0]{nn_etau}{nn\_etau}) or
382a latitude dependent value (varying from 0.5~m at the Equator to a maximum value of 30~m at high latitudes
383(\np[=1]{nn_etau}{nn\_etau}).
384
385Note that two other option exist, \np[=2, 3]{nn_etau}{nn\_etau}.
386They correspond to applying \autoref{eq:ZDF_Ehtau} only at the base of the mixed layer,
387or to using the high frequency part of the stress to evaluate the fraction of TKE that penetrates the ocean.
388Those two options are obsolescent features introduced for test purposes.
389They will be removed in the next release.
390
391% This should be explain better below what this rn_eice parameter is meant for:
392In presence of Sea Ice, the value of this mixing can be modulated by the \np{rn_eice}{rn\_eice} namelist parameter.
393This parameter varies from \forcode{0} for no effect to \forcode{4} to suppress the TKE input into the ocean when Sea Ice concentration
394is greater than 25\%.
395
396% from Burchard et al OM 2008 :
397% the most critical process not reproduced by statistical turbulence models is the activity of
398% internal waves and their interaction with turbulence. After the Reynolds decomposition,
399% internal waves are in principle included in the RANS equations, but later partially
400% excluded by the hydrostatic assumption and the model resolution.
401% Thus far, the representation of internal wave mixing in ocean models has been relatively crude
402% (\eg\ Mellor, 1989; Large et al., 1994; Meier, 2001; Axell, 2002; St. Laurent and Garrett, 2002).
403
404\subsection[GLS: Generic Length Scale (\forcode{ln_zdfgls})]{GLS: Generic Length Scale (\protect\np{ln_zdfgls}{ln\_zdfgls})}
405\label{subsec:ZDF_gls}
406
407%--------------------------------------------namzdf_gls---------------------------------------------------------
408
409\begin{listing}
410  \nlst{namzdf_gls}
411  \caption{\forcode{&namzdf_gls}}
412  \label{lst:namzdf_gls}
413\end{listing}
414%--------------------------------------------------------------------------------------------------------------
415
416The Generic Length Scale (GLS) scheme is a turbulent closure scheme based on two prognostic equations:
417one for the turbulent kinetic energy $\bar {e}$, and another for the generic length scale,
418$\psi$ \citep{umlauf.burchard_JMR03, umlauf.burchard_CSR05}.
419This later variable is defined as: $\psi = {C_{0\mu}}^{p} \ {\bar{e}}^{m} \ l^{n}$,
420where the triplet $(p, m, n)$ value given in Tab.\autoref{tab:ZDF_GLS} allows to recover a number of
421well-known turbulent closures ($k$-$kl$ \citep{mellor.yamada_RG82}, $k$-$\epsilon$ \citep{rodi_JGR87},
422$k$-$\omega$ \citep{wilcox_AJ88} among others \citep{umlauf.burchard_JMR03,kantha.carniel_JMR03}).
423The GLS scheme is given by the following set of equations:
424\begin{equation}
425  \label{eq:ZDF_gls_e}
426  \frac{\partial \bar{e}}{\partial t} =
427  \frac{K_m}{\sigma_e e_3 }\;\left[ {\left( \frac{\partial u}{\partial k} \right)^2
428      +\left( \frac{\partial v}{\partial k} \right)^2} \right]
429  -K_\rho \,N^2
430  +\frac{1}{e_3}\,\frac{\partial}{\partial k} \left[ \frac{K_m}{e_3}\,\frac{\partial \bar{e}}{\partial k} \right]
431  - \epsilon
432\end{equation}
433
434\[
435  % \label{eq:ZDF_gls_psi}
436  \begin{split}
437    \frac{\partial \psi}{\partial t} =& \frac{\psi}{\bar{e}} \left\{
438      \frac{C_1\,K_m}{\sigma_{\psi} {e_3}}\;\left[ {\left( \frac{\partial u}{\partial k} \right)^2
439          +\left( \frac{\partial v}{\partial k} \right)^2} \right]
440      - C_3 \,K_\rho\,N^2   - C_2 \,\epsilon \,Fw   \right\}             \\
441    &+\frac{1}{e_3\;\frac{\partial }{\partial k}\left[ {\frac{K_m}{e_3 }
442        \;\frac{\partial \psi}{\partial k}} \right]\;
443  \end{split}
444\]
445
446\[
447  % \label{eq:ZDF_gls_kz}
448  \begin{split}
449    K_m    &= C_{\mu} \ \sqrt {\bar{e}} \ l         \\
450    K_\rho &= C_{\mu'}\ \sqrt {\bar{e}} \ l
451  \end{split}
452\]
453
454\[
455  % \label{eq:ZDF_gls_eps}
456  {\epsilon} = C_{0\mu} \,\frac{\bar {e}^{3/2}}{l} \;
457\]
458where $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}) and
459$\epsilon$ the dissipation rate.
460The constants $C_1$, $C_2$, $C_3$, ${\sigma_e}$, ${\sigma_{\psi}}$ and the wall function ($Fw$) depends of
461the choice of the turbulence model.
462Four different turbulent models are pre-defined (\autoref{tab:ZDF_GLS}).
463They are made available through the \np{nn_clo}{nn\_clo} namelist parameter.
464
465%--------------------------------------------------TABLE--------------------------------------------------
466\begin{table}[htbp]
467  \centering
468  % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}c}
469  \begin{tabular}{ccccc}
470    &   $k-kl$   & $k-\epsilon$ & $k-\omega$ &   generic   \\
471    % & \citep{mellor.yamada_RG82} &  \citep{rodi_JGR87}       & \citep{wilcox_AJ88} &                 \\
472    \hline
473    \hline
474    \np{nn_clo}{nn\_clo}     & \textbf{0} &   \textbf{1}  &   \textbf{2}   &    \textbf{3}   \\
475    \hline
476    $( p , n , m )$         &   ( 0 , 1 , 1 )   & ( 3 , 1.5 , -1 )   & ( -1 , 0.5 , -1 )    &  ( 2 , 1 , -0.67 )  \\
477    $\sigma_k$      &    2.44         &     1.              &      2.                &      0.8          \\
478    $\sigma_\psi$  &    2.44         &     1.3            &      2.                 &       1.07       \\
479    $C_1$              &      0.9         &     1.44          &      0.555          &       1.           \\
480    $C_2$              &      0.5         &     1.92          &      0.833          &       1.22       \\
481    $C_3$              &      1.           &     1.              &      1.                &       1.           \\
482    $F_{wall}$        &      Yes        &       --             &     --                  &      --          \\
483    \hline
484    \hline
485  \end{tabular}
486  \caption[Set of predefined GLS parameters or equivalently predefined turbulence models available]{
487    Set of predefined GLS parameters, or equivalently predefined turbulence models available with
488    \protect\np[=.true.]{ln_zdfgls}{ln\_zdfgls} and controlled by
489    the \protect\np{nn_clos}{nn\_clos} namelist variable in \protect\nam{zdf_gls}{zdf\_gls}.}
490  \label{tab:ZDF_GLS}
491\end{table}
492%--------------------------------------------------------------------------------------------------------------
493
494In the Mellor-Yamada model, the negativity of $n$ allows to use a wall function to force the convergence of
495the mixing length towards $\kappa z_b$ ($\kappa$ is the Von Karman constant and $z_b$ the rugosity length scale) value near physical boundaries
496(logarithmic boundary layer law).
497$C_{\mu}$ and $C_{\mu'}$ are calculated from stability function proposed by \citet{galperin.kantha.ea_JAS88},
498or by \citet{kantha.clayson_JGR94} or one of the two functions suggested by \citet{canuto.howard.ea_JPO01}
499(\np[=0, 3]{nn_stab_func}{nn\_stab\_func}, resp.).
500The value of $C_{0\mu}$ depends on the choice of the stability function.
501
502The surface and bottom boundary condition on both $\bar{e}$ and $\psi$ can be calculated thanks to Dirichlet or
503Neumann condition through \np{nn_bc_surf}{nn\_bc\_surf} and \np{nn_bc_bot}{nn\_bc\_bot}, resp.
504As for TKE closure, the wave effect on the mixing is considered when
505\np[ > 0.]{rn_crban}{rn\_crban} \citep{craig.banner_JPO94, mellor.blumberg_JPO04}.
506The \np{rn_crban}{rn\_crban} namelist parameter is $\alpha_{CB}$ in \autoref{eq:ZDF_Esbc} and
507\np{rn_charn}{rn\_charn} provides the value of $\beta$ in \autoref{eq:ZDF_Lsbc}.
508
509The $\psi$ equation is known to fail in stably stratified flows, and for this reason
510almost all authors apply a clipping of the length scale as an \textit{ad hoc} remedy.
511With this clipping, the maximum permissible length scale is determined by $l_{max} = c_{lim} \sqrt{2\bar{e}}/ N$.
512A value of $c_{lim} = 0.53$ is often used \citep{galperin.kantha.ea_JAS88}.
513\cite{umlauf.burchard_CSR05} show that the value of the clipping factor is of crucial importance for
514the entrainment depth predicted in stably stratified situations,
515and that its value has to be chosen in accordance with the algebraic model for the turbulent fluxes.
516The clipping is only activated if \np[=.true.]{ln_length_lim}{ln\_length\_lim},
517and the $c_{lim}$ is set to the \np{rn_clim_galp}{rn\_clim\_galp} value.
518
519The time and space discretization of the GLS equations follows the same energetic consideration as for
520the TKE case described in \autoref{subsec:ZDF_tke_ene} \citep{burchard_OM02}.
521Evaluation of the 4 GLS turbulent closure schemes can be found in \citet{warner.sherwood.ea_OM05} in ROMS model and
522 in \citet{reffray.guillaume.ea_GMD15} for the \NEMO\ model.
523
524\subsection[OSM: OSMosis boundary layer scheme (\forcode{ln_zdfosm})]{OSM: OSMosis boundary layer scheme (\protect\np{ln_zdfosm}{ln\_zdfosm})}
525\label{subsec:ZDF_osm}
526%--------------------------------------------namzdf_osm---------------------------------------------------------
527
528\begin{listing}
529  \nlst{namzdf_osm}
530  \caption{\forcode{&namzdf_osm}}
531  \label{lst:namzdf_osm}
532\end{listing}
533%--------------------------------------------------------------------------------------------------------------
534
535The OSMOSIS turbulent closure scheme is based on......   TBC
536
537\subsection[ Discrete energy conservation for TKE and GLS schemes]{Discrete energy conservation for TKE and GLS schemes}
538\label{subsec:ZDF_tke_ene}
539
540\begin{figure}[!t]
541  \centering
542  \includegraphics[width=0.66\textwidth]{Fig_ZDF_TKE_time_scheme}
543  \caption[Subgrid kinetic energy integration in GLS and TKE schemes]{
544    Illustration of the subgrid kinetic energy integration in GLS and TKE schemes and
545    its links to the momentum and tracer time integration.}
546  \label{fig:ZDF_TKE_time_scheme}
547\end{figure}
548
549The production of turbulence by vertical shear (the first term of the right hand side of
550\autoref{eq:ZDF_tke_e}) and  \autoref{eq:ZDF_gls_e}) should balance the loss of kinetic energy associated with the vertical momentum diffusion
551(first line in \autoref{eq:MB_zdf}).
552To do so a special care has to be taken for both the time and space discretization of
553the kinetic energy equation \citep{burchard_OM02,marsaleix.auclair.ea_OM08}.
554
555Let us first address the time stepping issue. \autoref{fig:ZDF_TKE_time_scheme} shows how
556the two-level Leap-Frog time stepping of the momentum and tracer equations interplays with
557the one-level forward time stepping of the equation for $\bar{e}$.
558With this framework, the total loss of kinetic energy (in 1D for the demonstration) due to
559the vertical momentum diffusion is obtained by multiplying this quantity by $u^t$ and
560summing the result vertically:
561\begin{equation}
562  \label{eq:ZDF_energ1}
563  \begin{split}
564    \int_{-H}^{\eta}  u^t \,\partial_z &\left( {K_m}^t \,(\partial_z u)^{t+\rdt}  \right) \,dz   \\
565    &= \Bigl[  u^t \,{K_m}^t \,(\partial_z u)^{t+\rdt} \Bigr]_{-H}^{\eta}
566    - \int_{-H}^{\eta}{ {K_m}^t \,\partial_z{u^t} \,\partial_z u^{t+\rdt} \,dz }
567  \end{split}
568\end{equation}
569Here, the vertical diffusion of momentum is discretized backward in time with a coefficient, $K_m$,
570known at time $t$ (\autoref{fig:ZDF_TKE_time_scheme}), as it is required when using the TKE scheme
571(see \autoref{sec:TD_forward_imp}).
572The first term of the right hand side of \autoref{eq:ZDF_energ1} represents the kinetic energy transfer at
573the surface (atmospheric forcing) and at the bottom (friction effect).
574The second term is always negative.
575It is the dissipation rate of kinetic energy, and thus minus the shear production rate of $\bar{e}$.
576\autoref{eq:ZDF_energ1} implies that, to be energetically consistent,
577the production rate of $\bar{e}$ used to compute $(\bar{e})^t$ (and thus ${K_m}^t$) should be expressed as
578${K_m}^{t-\rdt}\,(\partial_z u)^{t-\rdt} \,(\partial_z u)^t$
579(and not by the more straightforward $K_m \left( \partial_z u \right)^2$ expression taken at time $t$ or $t-\rdt$).
580
581A similar consideration applies on the destruction rate of $\bar{e}$ due to stratification
582(second term of the right hand side of \autoref{eq:ZDF_tke_e} and \autoref{eq:ZDF_gls_e}).
583This term must balance the input of potential energy resulting from vertical mixing.
584The rate of change of potential energy (in 1D for the demonstration) due to vertical mixing is obtained by
585multiplying the vertical density diffusion tendency by $g\,z$ and and summing the result vertically:
586\begin{equation}
587  \label{eq:ZDF_energ2}
588  \begin{split}
589    \int_{-H}^{\eta} g\,z\,\partial_z &\left( {K_\rho}^t \,(\partial_k \rho)^{t+\rdt}   \right) \,dz    \\
590    &= \Bigl[  g\,z \,{K_\rho}^t \,(\partial_z \rho)^{t+\rdt} \Bigr]_{-H}^{\eta}
591    - \int_{-H}^{\eta}{ g \,{K_\rho}^t \,(\partial_k \rho)^{t+\rdt} } \,dz   \\
592    &= - \Bigl[  z\,{K_\rho}^t \,(N^2)^{t+\rdt} \Bigr]_{-H}^{\eta}
593    + \int_{-H}^{\eta}{  \rho^{t+\rdt} \, {K_\rho}^t \,(N^2)^{t+\rdt} \,dz  }
594  \end{split}
595\end{equation}
596where we use $N^2 = -g \,\partial_k \rho / (e_3 \rho)$.
597The first term of the right hand side of \autoref{eq:ZDF_energ2} is always zero because
598there is no diffusive flux through the ocean surface and bottom).
599The second term is minus the destruction rate of  $\bar{e}$ due to stratification.
600Therefore \autoref{eq:ZDF_energ1} implies that, to be energetically consistent,
601the product ${K_\rho}^{t-\rdt}\,(N^2)^t$ should be used in \autoref{eq:ZDF_tke_e} and  \autoref{eq:ZDF_gls_e}.
602
603Let us now address the space discretization issue.
604The vertical eddy coefficients are defined at $w$-point whereas the horizontal velocity components are in
605the centre of the side faces of a $t$-box in staggered C-grid (\autoref{fig:DOM_cell}).
606A space averaging is thus required to obtain the shear TKE production term.
607By redoing the \autoref{eq:ZDF_energ1} in the 3D case, it can be shown that the product of eddy coefficient by
608the shear at $t$ and $t-\rdt$ must be performed prior to the averaging.
609Furthermore, the time variation of $e_3$ has be taken into account.
610
611The above energetic considerations leads to the following final discrete form for the TKE equation:
612\begin{equation}
613  \label{eq:ZDF_tke_ene}
614  \begin{split}
615    \frac { (\bar{e})^t - (\bar{e})^{t-\rdt} } {\rdt}  \equiv
616    \Biggl\{ \Biggr.
617    &\overline{ \left( \left(\overline{K_m}^{\,i+1/2}\right)^{t-\rdt} \,\frac{\delta_{k+1/2}[u^{t+\rdt}]}{{e_3u}^{t+\rdt} }
618        \ \frac{\delta_{k+1/2}[u^ t         ]}{{e_3u}^ t          }  \right) }^{\,i} \\
619    +&\overline{  \left( \left(\overline{K_m}^{\,j+1/2}\right)^{t-\rdt} \,\frac{\delta_{k+1/2}[v^{t+\rdt}]}{{e_3v}^{t+\rdt} }
620        \ \frac{\delta_{k+1/2}[v^ t         ]}{{e_3v}^ t          }  \right) }^{\,j}
621    \Biggr. \Biggr\}   \\
622    %
623    - &{K_\rho}^{t-\rdt}\,{(N^2)^t}    \\
624    %
625    +&\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]   \\
626    %
627    - &c_\epsilon \; \left( \frac{\sqrt{\bar {e}}}{l_\epsilon}\right)^{t-\rdt}\,(\bar {e})^{t+\rdt}
628  \end{split}
629\end{equation}
630where the last two terms in \autoref{eq:ZDF_tke_ene} (vertical diffusion and Kolmogorov dissipation)
631are time stepped using a backward scheme (see\autoref{sec:TD_forward_imp}).
632Note that the Kolmogorov term has been linearized in time in order to render the implicit computation possible.
633%The restart of the TKE scheme requires the storage of $\bar {e}$, $K_m$, $K_\rho$ and $l_\epsilon$ as
634%they all appear in the right hand side of \autoref{eq:ZDF_tke_ene}.
635%For the latter, it is in fact the ratio $\sqrt{\bar{e}}/l_\epsilon$ which is stored.
636
637\section{Convection}
638\label{sec:ZDF_conv}
639
640Static instabilities (\ie\ light potential densities under heavy ones) may occur at particular ocean grid points.
641In nature, convective processes quickly re-establish the static stability of the water column.
642These processes have been removed from the model via the hydrostatic assumption so they must be parameterized.
643Three parameterisations are available to deal with convective processes:
644a non-penetrative convective adjustment or an enhanced vertical diffusion,
645or/and the use of a turbulent closure scheme.
646
647\subsection[Non-penetrative convective adjustment (\forcode{ln_tranpc})]{Non-penetrative convective adjustment (\protect\np{ln_tranpc}{ln\_tranpc})}
648\label{subsec:ZDF_npc}
649
650\begin{figure}[!htb]
651  \centering
652  \includegraphics[width=0.66\textwidth]{Fig_npc}
653  \caption[Unstable density profile treated by the non penetrative convective adjustment algorithm]{
654    Example of an unstable density profile treated by
655    the non penetrative convective adjustment algorithm.
656    $1^{st}$ step: the initial profile is checked from the surface to the bottom.
657    It is found to be unstable between levels 3 and 4.
658    They are mixed.
659    The resulting $\rho$ is still larger than $\rho$(5): levels 3 to 5 are mixed.
660    The resulting $\rho$ is still larger than $\rho$(6): levels 3 to 6 are mixed.
661    The $1^{st}$ step ends since the density profile is then stable below the level 3.
662    $2^{nd}$ step: the new $\rho$ profile is checked following the same procedure as in $1^{st}$ step:
663    levels 2 to 5 are mixed.
664    The new density profile is checked.
665    It is found stable: end of algorithm.}
666  \label{fig:ZDF_npc}
667\end{figure}
668
669Options are defined through the \nam{zdf}{zdf} namelist variables.
670The non-penetrative convective adjustment is used when \np[=.true.]{ln_zdfnpc}{ln\_zdfnpc}.
671It is applied at each \np{nn_npc}{nn\_npc} time step and mixes downwards instantaneously the statically unstable portion of
672the water column, but only until the density structure becomes neutrally stable
673(\ie\ until the mixed portion of the water column has \textit{exactly} the density of the water just below)
674\citep{madec.delecluse.ea_JPO91}.
675The associated algorithm is an iterative process used in the following way (\autoref{fig:ZDF_npc}):
676starting from the top of the ocean, the first instability is found.
677Assume in the following that the instability is located between levels $k$ and $k+1$.
678The temperature and salinity in the two levels are vertically mixed, conserving the heat and salt contents of
679the water column.
680The new density is then computed by a linear approximation.
681If the new density profile is still unstable between levels $k+1$ and $k+2$,
682levels $k$, $k+1$ and $k+2$ are then mixed.
683This process is repeated until stability is established below the level $k$
684(the mixing process can go down to the ocean bottom).
685The algorithm is repeated to check if the density profile between level $k-1$ and $k$ is unstable and/or
686if there is no deeper instability.
687
688This algorithm is significantly different from mixing statically unstable levels two by two.
689The latter procedure cannot converge with a finite number of iterations for some vertical profiles while
690the algorithm used in \NEMO\ converges for any profile in a number of iterations which is less than
691the number of vertical levels.
692This property is of paramount importance as pointed out by \citet{killworth_iprc89}:
693it avoids the existence of permanent and unrealistic static instabilities at the sea surface.
694This non-penetrative convective algorithm has been proved successful in studies of the deep water formation in
695the north-western Mediterranean Sea \citep{madec.delecluse.ea_JPO91, madec.chartier.ea_DAO91, madec.crepon_iprc91}.
696
697The current implementation has been modified in order to deal with any non linear equation of seawater
698(L. Brodeau, personnal communication).
699Two main differences have been introduced compared to the original algorithm:
700$(i)$ the stability is now checked using the Brunt-V\"{a}is\"{a}l\"{a} frequency
701(not the difference in potential density);
702$(ii)$ when two levels are found unstable, their thermal and haline expansion coefficients are vertically mixed in
703the same way their temperature and salinity has been mixed.
704These two modifications allow the algorithm to perform properly and accurately with TEOS10 or EOS-80 without
705having to recompute the expansion coefficients at each mixing iteration.
706
707\subsection[Enhanced vertical diffusion (\forcode{ln_zdfevd})]{Enhanced vertical diffusion (\protect\np{ln_zdfevd}{ln\_zdfevd})}
708\label{subsec:ZDF_evd}
709
710Options are defined through the  \nam{zdf}{zdf} namelist variables.
711The enhanced vertical diffusion parameterisation is used when \np[=.true.]{ln_zdfevd}{ln\_zdfevd}.
712In this case, the vertical eddy mixing coefficients are assigned very large values
713in regions where the stratification is unstable
714(\ie\ when $N^2$ the Brunt-Vais\"{a}l\"{a} frequency is negative) \citep{lazar_phd97, lazar.madec.ea_JPO99}.
715This is done either on tracers only (\np[=0]{nn_evdm}{nn\_evdm}) or
716on both momentum and tracers (\np[=1]{nn_evdm}{nn\_evdm}).
717
718In practice, where $N^2\leq 10^{-12}$, $A_T^{vT}$ and $A_T^{vS}$, and if \np[=1]{nn_evdm}{nn\_evdm},
719the four neighbouring $A_u^{vm} \;\mbox{and}\;A_v^{vm}$ values also, are set equal to
720the namelist parameter \np{rn_avevd}{rn\_avevd}.
721A typical value for $rn\_avevd$ is between 1 and $100~m^2.s^{-1}$.
722This parameterisation of convective processes is less time consuming than
723the convective adjustment algorithm presented above when mixing both tracers and
724momentum in the case of static instabilities.
725
726Note that the stability test is performed on both \textit{before} and \textit{now} values of $N^2$.
727This removes a potential source of divergence of odd and even time step in
728a leapfrog environment \citep{leclair_phd10} (see \autoref{sec:TD_mLF}).
729
730\subsection[Handling convection with turbulent closure schemes (\forcode{ln_zdf_}\{\forcode{tke,gls,osm}\})]{Handling convection with turbulent closure schemes (\forcode{ln_zdf{tke,gls,osm}})}
731\label{subsec:ZDF_tcs}
732
733The turbulent closure schemes presented in \autoref{subsec:ZDF_tke}, \autoref{subsec:ZDF_gls} and
734\autoref{subsec:ZDF_osm} (\ie\ \np{ln_zdftke}{ln\_zdftke} or \np{ln_zdfgls}{ln\_zdfgls} or \np{ln_zdfosm}{ln\_zdfosm} defined) deal, in theory,
735with statically unstable density profiles.
736In such a case, the term corresponding to the destruction of turbulent kinetic energy through stratification in
737\autoref{eq:ZDF_tke_e} or \autoref{eq:ZDF_gls_e} becomes a source term, since $N^2$ is negative.
738It results in large values of $A_T^{vT}$ and  $A_T^{vT}$, and also of the four neighboring values at
739velocity points $A_u^{vm} {and}\;A_v^{vm}$ (up to $1\;m^2s^{-1}$).
740These large values restore the static stability of the water column in a way similar to that of
741the enhanced vertical diffusion parameterisation (\autoref{subsec:ZDF_evd}).
742However, in the vicinity of the sea surface (first ocean layer), the eddy coefficients computed by
743the turbulent closure scheme do not usually exceed $10^{-2}m.s^{-1}$,
744because the mixing length scale is bounded by the distance to the sea surface.
745It can thus be useful to combine the enhanced vertical diffusion with the turbulent closure scheme,
746\ie\ setting the \np{ln_zdfnpc}{ln\_zdfnpc} namelist parameter to true and
747defining the turbulent closure (\np{ln_zdftke}{ln\_zdftke} or \np{ln_zdfgls}{ln\_zdfgls} = \forcode{.true.}) all together.
748
749The OSMOSIS turbulent closure scheme already includes enhanced vertical diffusion in the case of convection,
750%as governed by the variables $bvsqcon$ and $difcon$ found in \mdl{zdfkpp},
751therefore \np[=.false.]{ln_zdfevd}{ln\_zdfevd} should be used with the OSMOSIS scheme.
752% gm%  + one word on non local flux with KPP scheme trakpp.F90 module...
753
754\section[Double diffusion mixing (\forcode{ln_zdfddm})]{Double diffusion mixing (\protect\np{ln_zdfddm}{ln\_zdfddm})}
755\label{subsec:ZDF_ddm}
756
757%-------------------------------------------namzdf_ddm-------------------------------------------------
758%
759%\nlst{namzdf_ddm}
760%--------------------------------------------------------------------------------------------------------------
761
762This parameterisation has been introduced in \mdl{zdfddm} module and is controlled by the namelist parameter
763\np{ln_zdfddm}{ln\_zdfddm} in \nam{zdf}{zdf}.
764Double diffusion occurs when relatively warm, salty water overlies cooler, fresher water, or vice versa.
765The former condition leads to salt fingering and the latter to diffusive convection.
766Double-diffusive phenomena contribute to diapycnal mixing in extensive regions of the ocean.
767\citet{merryfield.holloway.ea_JPO99} include a parameterisation of such phenomena in a global ocean model and show that
768it leads to relatively minor changes in circulation but exerts significant regional influences on
769temperature and salinity.
770
771Diapycnal mixing of S and T are described by diapycnal diffusion coefficients
772\begin{align*}
773  % \label{eq:ZDF_ddm_Kz}
774  &A^{vT} = A_o^{vT}+A_f^{vT}+A_d^{vT} \\
775  &A^{vS} = A_o^{vS}+A_f^{vS}+A_d^{vS}
776\end{align*}
777where subscript $f$ represents mixing by salt fingering, $d$ by diffusive convection,
778and $o$ by processes other than double diffusion.
779The rates of double-diffusive mixing depend on the buoyancy ratio
780$R_\rho = \alpha \partial_z T / \beta \partial_z S$, where $\alpha$ and $\beta$ are coefficients of
781thermal expansion and saline contraction (see \autoref{subsec:TRA_eos}).
782To represent mixing of $S$ and $T$ by salt fingering, we adopt the diapycnal diffusivities suggested by Schmitt
783(1981):
784\begin{align}
785  \label{eq:ZDF_ddm_f}
786  A_f^{vS} &=
787             \begin{cases}
788               \frac{A^{\ast v}}{1+(R_\rho / R_c)^n   } &\text{if  $R_\rho > 1$ and $N^2>0$ } \\
789               0                              &\text{otherwise}
790             \end{cases}
791  \\         \label{eq:ZDF_ddm_f_T}
792  A_f^{vT} &= 0.7 \ A_f^{vS} / R_\rho
793\end{align}
794
795\begin{figure}[!t]
796  \centering
797  \includegraphics[width=0.66\textwidth]{Fig_zdfddm}
798  \caption[Diapycnal diffusivities for temperature and salt in regions of salt fingering and
799  diffusive convection]{
800    From \citet{merryfield.holloway.ea_JPO99}:
801    (a) Diapycnal diffusivities $A_f^{vT}$ and $A_f^{vS}$ for temperature and salt in
802    regions of salt fingering.
803    Heavy curves denote $A^{\ast v} = 10^{-3}~m^2.s^{-1}$ and
804    thin curves $A^{\ast v} = 10^{-4}~m^2.s^{-1}$;
805    (b) diapycnal diffusivities $A_d^{vT}$ and $A_d^{vS}$ for temperature and salt in
806    regions of diffusive convection.
807    Heavy curves denote the Federov parameterisation and thin curves the Kelley parameterisation.
808    The latter is not implemented in \NEMO.}
809  \label{fig:ZDF_ddm}
810\end{figure}
811
812The factor 0.7 in \autoref{eq:ZDF_ddm_f_T} reflects the measured ratio $\alpha F_T /\beta F_S \approx  0.7$ of
813buoyancy flux of heat to buoyancy flux of salt (\eg, \citet{mcdougall.taylor_JMR84}).
814Following  \citet{merryfield.holloway.ea_JPO99}, we adopt $R_c = 1.6$, $n = 6$, and $A^{\ast v} = 10^{-4}~m^2.s^{-1}$.
815
816To represent mixing of S and T by diffusive layering,  the diapycnal diffusivities suggested by
817Federov (1988) is used:
818\begin{align}
819  % \label{eq:ZDF_ddm_d}
820  A_d^{vT} &=
821             \begin{cases}
822               1.3635 \, \exp{\left( 4.6\, \exp{ \left[  -0.54\,( R_{\rho}^{-1} - 1 )  \right] }    \right)}
823               &\text{if  $0<R_\rho < 1$ and $N^2>0$ } \\
824               0                       &\text{otherwise}
825             \end{cases}
826                                       \nonumber \\
827  \label{eq:ZDF_ddm_d_S}
828  A_d^{vS} &=
829             \begin{cases}
830               A_d^{vT}\ \left( 1.85\,R_{\rho} - 0.85 \right) &\text{if  $0.5 \leq R_\rho<1$ and $N^2>0$ } \\
831               A_d^{vT} \ 0.15 \ R_\rho               &\text{if  $\ \ 0 < R_\rho<0.5$ and $N^2>0$ } \\
832               0                       &\text{otherwise}
833             \end{cases}
834\end{align}
835
836The dependencies of \autoref{eq:ZDF_ddm_f} to \autoref{eq:ZDF_ddm_d_S} on $R_\rho$ are illustrated in
837\autoref{fig:ZDF_ddm}.
838Implementing this requires computing $R_\rho$ at each grid point on every time step.
839This is done in \mdl{eosbn2} at the same time as $N^2$ is computed.
840This avoids duplication in the computation of $\alpha$ and $\beta$ (which is usually quite expensive).
841
842\section[Bottom and top friction (\textit{zdfdrg.F90})]{Bottom and top friction (\protect\mdl{zdfdrg})}
843\label{sec:ZDF_drg}
844
845%--------------------------------------------namdrg--------------------------------------------------------
846%
847\begin{listing}
848  \nlst{namdrg}
849  \caption{\forcode{&namdrg}}
850  \label{lst:namdrg}
851\end{listing}
852\begin{listing}
853  \nlst{namdrg_top}
854  \caption{\forcode{&namdrg_top}}
855  \label{lst:namdrg_top}
856\end{listing}
857\begin{listing}
858  \nlst{namdrg_bot}
859  \caption{\forcode{&namdrg_bot}}
860  \label{lst:namdrg_bot}
861\end{listing}
862
863%--------------------------------------------------------------------------------------------------------------
864
865Options to define the top and bottom friction are defined through the \nam{drg}{drg} namelist variables.
866The bottom friction represents the friction generated by the bathymetry.
867The top friction represents the friction generated by the ice shelf/ocean interface.
868As the friction processes at the top and the bottom are treated in and identical way,
869the description below considers mostly the bottom friction case, if not stated otherwise.
870
871Both the surface momentum flux (wind stress) and the bottom momentum flux (bottom friction) enter the equations as
872a condition on the vertical diffusive flux.
873For the bottom boundary layer, one has:
874 \[
875   % \label{eq:ZDF_bfr_flux}
876   A^{vm} \left( \partial {\textbf U}_h / \partial z \right) = {{\cal F}}_h^{\textbf U}
877 \]
878where ${\cal F}_h^{\textbf U}$ is represents the downward flux of horizontal momentum outside
879the logarithmic turbulent boundary layer (thickness of the order of 1~m in the ocean).
880How ${\cal F}_h^{\textbf U}$ influences the interior depends on the vertical resolution of the model near
881the bottom relative to the Ekman layer depth.
882For example, in order to obtain an Ekman layer depth $d = \sqrt{2\;A^{vm}} / f = 50$~m,
883one needs a vertical diffusion coefficient $A^{vm} = 0.125$~m$^2$s$^{-1}$
884(for a Coriolis frequency $f = 10^{-4}$~m$^2$s$^{-1}$).
885With a background diffusion coefficient $A^{vm} = 10^{-4}$~m$^2$s$^{-1}$, the Ekman layer depth is only 1.4~m.
886When the vertical mixing coefficient is this small, using a flux condition is equivalent to
887entering the viscous forces (either wind stress or bottom friction) as a body force over the depth of the top or
888bottom model layer.
889To illustrate this, consider the equation for $u$ at $k$, the last ocean level:
890\begin{equation}
891  \label{eq:ZDF_drg_flux2}
892  \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}}
893\end{equation}
894If the bottom layer thickness is 200~m, the Ekman transport will be distributed over that depth.
895On the other hand, if the vertical resolution is high (1~m or less) and a turbulent closure model is used,
896the turbulent Ekman layer will be represented explicitly by the model.
897However, the logarithmic layer is never represented in current primitive equation model applications:
898it is \emph{necessary} to parameterize the flux ${\cal F}^u_h $.
899Two choices are available in \NEMO: a linear and a quadratic bottom friction.
900Note that in both cases, the rotation between the interior velocity and the bottom friction is neglected in
901the present release of \NEMO.
902
903In the code, the bottom friction is imposed by adding the trend due to the bottom friction to
904 the general momentum trend in \mdl{dynzdf}.
905For the time-split surface pressure gradient algorithm, the momentum trend due to
906the barotropic component needs to be handled separately.
907For this purpose it is convenient to compute and store coefficients which can be simply combined with
908bottom velocities and geometric values to provide the momentum trend due to bottom friction.
909 These coefficients are computed in \mdl{zdfdrg} and generally take the form $c_b^{\textbf U}$ where:
910\begin{equation}
911  \label{eq:ZDF_bfr_bdef}
912  \frac{\partial {\textbf U_h}}{\partial t} =
913  - \frac{{\cal F}^{\textbf U}_{h}}{e_{3u}} = \frac{c_b^{\textbf U}}{e_{3u}} \;{\textbf U}_h^b
914\end{equation}
915where $\textbf{U}_h^b = (u_b\;,\;v_b)$ is the near-bottom, horizontal, ocean velocity.
916Note than from \NEMO\ 4.0, drag coefficients are only computed at cell centers (\ie\ at T-points) and refer to as $c_b^T$ in the following. These are then linearly interpolated in space to get $c_b^\textbf{U}$ at velocity points.
917
918\subsection[Linear top/bottom friction (\forcode{ln_lin})]{Linear top/bottom friction (\protect\np{ln_lin}{ln\_lin})}
919\label{subsec:ZDF_drg_linear}
920
921The linear friction parameterisation (including the special case of a free-slip condition) assumes that
922the friction is proportional to the interior velocity (\ie\ the velocity of the first/last model level):
923\[
924  % \label{eq:ZDF_bfr_linear}
925  {\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3} \; \frac{\partial \textbf{U}_h}{\partial k} = r \; \textbf{U}_h^b
926\]
927where $r$ is a friction coefficient expressed in $m s^{-1}$.
928This coefficient is generally estimated by setting a typical decay time $\tau$ in the deep ocean,
929and setting $r = H / \tau$, where $H$ is the ocean depth.
930Commonly accepted values of $\tau$ are of the order of 100 to 200 days \citep{weatherly_JMR84}.
931A value $\tau^{-1} = 10^{-7}$~s$^{-1}$ equivalent to 115 days, is usually used in quasi-geostrophic models.
932One may consider the linear friction as an approximation of quadratic friction, $r \approx 2\;C_D\;U_{av}$
933(\citet{gill_bk82}, Eq. 9.6.6).
934For example, with a drag coefficient $C_D = 0.002$, a typical speed of tidal currents of $U_{av} =0.1$~m\;s$^{-1}$,
935and assuming an ocean depth $H = 4000$~m, the resulting friction coefficient is $r = 4\;10^{-4}$~m\;s$^{-1}$.
936This is the default value used in \NEMO. It corresponds to a decay time scale of 115~days.
937It can be changed by specifying \np{rn_Uc0}{rn\_Uc0} (namelist parameter).
938
939 For the linear friction case the drag coefficient used in the general expression \autoref{eq:ZDF_bfr_bdef} is:
940\[
941  % \label{eq:ZDF_bfr_linbfr_b}
942    c_b^T = - r
943\]
944When \np[=.true.]{ln_lin}{ln\_lin}, the value of $r$ used is \np{rn_Uc0}{rn\_Uc0}*\np{rn_Cd0}{rn\_Cd0}.
945Setting \np[=.true.]{ln_OFF}{ln\_OFF} (and \forcode{ln_lin=.true.}) is equivalent to setting $r=0$ and leads to a free-slip boundary condition.
946
947These values are assigned in \mdl{zdfdrg}.
948Note that there is support for local enhancement of these values via an externally defined 2D mask array
949(\np[=.true.]{ln_boost}{ln\_boost}) given in the \ifile{bfr\_coef} input NetCDF file.
950The mask values should vary from 0 to 1.
951Locations with a non-zero mask value will have the friction coefficient increased by
952$mask\_value$ * \np{rn_boost}{rn\_boost} * \np{rn_Cd0}{rn\_Cd0}.
953
954\subsection[Non-linear top/bottom friction (\forcode{ln_non_lin})]{Non-linear top/bottom friction (\protect\np{ln_non_lin}{ln\_non\_lin})}
955\label{subsec:ZDF_drg_nonlinear}
956
957The non-linear bottom friction parameterisation assumes that the top/bottom friction is quadratic:
958\[
959  % \label{eq:ZDF_drg_nonlinear}
960  {\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3 }\frac{\partial \textbf {U}_h
961  }{\partial k}=C_D \;\sqrt {u_b ^2+v_b ^2+e_b } \;\; \textbf {U}_h^b
962\]
963where $C_D$ is a drag coefficient, and $e_b $ a top/bottom turbulent kinetic energy due to tides,
964internal waves breaking and other short time scale currents.
965A typical value of the drag coefficient is $C_D = 10^{-3} $.
966As an example, the CME experiment \citep{treguier_JGR92} uses $C_D = 10^{-3}$ and
967$e_b = 2.5\;10^{-3}$m$^2$\;s$^{-2}$, while the FRAM experiment \citep{killworth_JPO92} uses $C_D = 1.4\;10^{-3}$ and
968$e_b =2.5\;\;10^{-3}$m$^2$\;s$^{-2}$.
969The CME choices have been set as default values (\np{rn_Cd0}{rn\_Cd0} and \np{rn_ke0}{rn\_ke0} namelist parameters).
970
971As for the linear case, the friction is imposed in the code by adding the trend due to
972the friction to the general momentum trend in \mdl{dynzdf}.
973For the non-linear friction case the term computed in \mdl{zdfdrg} is:
974\[
975  % \label{eq:ZDF_drg_nonlinbfr}
976    c_b^T = - \; C_D\;\left[ \left(\bar{u_b}^{i}\right)^2 + \left(\bar{v_b}^{j}\right)^2 + e_b \right]^{1/2}
977\]
978
979The coefficients that control the strength of the non-linear friction are initialised as namelist parameters:
980$C_D$= \np{rn_Cd0}{rn\_Cd0}, and $e_b$ =\np{rn_bfeb2}{rn\_bfeb2}.
981Note that for applications which consider tides explicitly, a low or even zero value of \np{rn_bfeb2}{rn\_bfeb2} is recommended. A local enhancement of $C_D$ is again possible via an externally defined 2D mask array
982(\np[=.true.]{ln_boost}{ln\_boost}).
983This works in the same way as for the linear friction case with non-zero masked locations increased by
984$mask\_value$ * \np{rn_boost}{rn\_boost} * \np{rn_Cd0}{rn\_Cd0}.
985
986\subsection[Log-layer top/bottom friction (\forcode{ln_loglayer})]{Log-layer top/bottom friction (\protect\np{ln_loglayer}{ln\_loglayer})}
987\label{subsec:ZDF_drg_loglayer}
988
989In the non-linear friction case, the drag coefficient, $C_D$, can be optionally enhanced using
990a "law of the wall" scaling. This assumes that the model vertical resolution can capture the logarithmic layer which typically occur for layers thinner than 1 m or so.
991If  \np[=.true.]{ln_loglayer}{ln\_loglayer}, $C_D$ is no longer constant but is related to the distance to the wall (or equivalently to the half of the top/bottom layer thickness):
992\[
993  C_D = \left ( {\kappa \over {\mathrm log}\left ( 0.5 \; e_{3b} / rn\_{z0} \right ) } \right )^2
994\]
995
996\noindent where $\kappa$ is the von-Karman constant and \np{rn_z0}{rn\_z0} is a roughness length provided via the namelist.
997
998The drag coefficient is bounded such that it is kept greater or equal to
999the base \np{rn_Cd0}{rn\_Cd0} value which occurs where layer thicknesses become large and presumably logarithmic layers are not resolved at all. For stability reason, it is also not allowed to exceed the value of an additional namelist parameter:
1000\np{rn_Cdmax}{rn\_Cdmax}, \ie
1001\[
1002  rn\_Cd0 \leq C_D \leq rn\_Cdmax
1003\]
1004
1005\noindent The log-layer enhancement can also be applied to the top boundary friction if
1006under ice-shelf cavities are activated (\np[=.true.]{ln_isfcav}{ln\_isfcav}).
1007%In this case, the relevant namelist parameters are \np{rn_tfrz0}{rn\_tfrz0}, \np{rn_tfri2}{rn\_tfri2} and \np{rn_tfri2_max}{rn\_tfri2\_max}.
1008
1009\subsection[Explicit top/bottom friction (\forcode{ln_drgimp=.false.})]{Explicit top/bottom friction (\protect\np[=.false.]{ln_drgimp}{ln\_drgimp})}
1010\label{subsec:ZDF_drg_stability}
1011
1012Setting \np[=.false.]{ln_drgimp}{ln\_drgimp} means that bottom friction is treated explicitly in time, which has the advantage of simplifying the interaction with the split-explicit free surface (see \autoref{subsec:ZDF_drg_ts}). The latter does indeed require the knowledge of bottom stresses in the course of the barotropic sub-iteration, which becomes less straightforward in the implicit case. In the explicit case, top/bottom stresses can be computed using \textit{before} velocities and inserted in the overall momentum tendency budget. This reads:
1013
1014At the top (below an ice shelf cavity):
1015\[
1016  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{t}
1017  = c_{t}^{\textbf{U}}\textbf{u}^{n-1}_{t}
1018\]
1019
1020At the bottom (above the sea floor):
1021\[
1022  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{b}
1023  = c_{b}^{\textbf{U}}\textbf{u}^{n-1}_{b}
1024\]
1025
1026Since this is conditionally stable, some care needs to exercised over the choice of parameters to ensure that the implementation of explicit top/bottom friction does not induce numerical instability.
1027For the purposes of stability analysis, an approximation to \autoref{eq:ZDF_drg_flux2} is:
1028\begin{equation}
1029  \label{eq:ZDF_Eqn_drgstab}
1030  \begin{split}
1031    \Delta u &= -\frac{{{\cal F}_h}^u}{e_{3u}}\;2 \rdt    \\
1032    &= -\frac{ru}{e_{3u}}\;2\rdt\\
1033  \end{split}
1034\end{equation}
1035\noindent where linear friction and a leapfrog timestep have been assumed.
1036To ensure that the friction cannot reverse the direction of flow it is necessary to have:
1037\[
1038  |\Delta u| < \;|u|
1039\]
1040\noindent which, using \autoref{eq:ZDF_Eqn_drgstab}, gives:
1041\[
1042  r\frac{2\rdt}{e_{3u}} < 1 \qquad  \Rightarrow \qquad r < \frac{e_{3u}}{2\rdt}\\
1043\]
1044This same inequality can also be derived in the non-linear bottom friction case if
1045a velocity of 1 m.s$^{-1}$ is assumed.
1046Alternatively, this criterion can be rearranged to suggest a minimum bottom box thickness to ensure stability:
1047\[
1048  e_{3u} > 2\;r\;\rdt
1049\]
1050\noindent which it may be necessary to impose if partial steps are being used.
1051For example, if $|u| = 1$ m.s$^{-1}$, $rdt = 1800$ s, $r = 10^{-3}$ then $e_{3u}$ should be greater than 3.6 m.
1052For most applications, with physically sensible parameters these restrictions should not be of concern.
1053But caution may be necessary if attempts are made to locally enhance the bottom friction parameters.
1054To ensure stability limits are imposed on the top/bottom friction coefficients both
1055during initialisation and at each time step.
1056Checks at initialisation are made in \mdl{zdfdrg} (assuming a 1 m.s$^{-1}$ velocity in the non-linear case).
1057The number of breaches of the stability criterion are reported as well as
1058the minimum and maximum values that have been set.
1059The criterion is also checked at each time step, using the actual velocity, in \mdl{dynzdf}.
1060Values of the friction coefficient are reduced as necessary to ensure stability;
1061these changes are not reported.
1062
1063Limits on the top/bottom friction coefficient are not imposed if the user has elected to
1064handle the friction implicitly (see \autoref{subsec:ZDF_drg_imp}).
1065The number of potential breaches of the explicit stability criterion are still reported for information purposes.
1066
1067\subsection[Implicit top/bottom friction (\forcode{ln_drgimp=.true.})]{Implicit top/bottom friction (\protect\np[=.true.]{ln_drgimp}{ln\_drgimp})}
1068\label{subsec:ZDF_drg_imp}
1069
1070An optional implicit form of bottom friction has been implemented to improve model stability.
1071We recommend this option for shelf sea and coastal ocean applications. %, especially for split-explicit time splitting.
1072This option can be invoked by setting \np{ln_drgimp}{ln\_drgimp} to \forcode{.true.} in the \nam{drg}{drg} namelist.
1073%This option requires \np{ln_zdfexp}{ln\_zdfexp} to be \forcode{.false.} in the \nam{zdf}{zdf} namelist.
1074
1075This implementation is performed in \mdl{dynzdf} where the following boundary conditions are set while solving the fully implicit diffusion step:
1076
1077At the top (below an ice shelf cavity):
1078\[
1079  % \label{eq:ZDF_dynZDF__drg_top}
1080  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{t}
1081  = c_{t}^{\textbf{U}}\textbf{u}^{n+1}_{t}
1082\]
1083
1084At the bottom (above the sea floor):
1085\[
1086  % \label{eq:ZDF_dynZDF__drg_bot}
1087  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{b}
1088  = c_{b}^{\textbf{U}}\textbf{u}^{n+1}_{b}
1089\]
1090
1091where $t$ and $b$ refers to top and bottom layers respectively.
1092Superscript $n+1$ means the velocity used in the friction formula is to be calculated, so it is implicit.
1093
1094\subsection[Bottom friction with split-explicit free surface]{Bottom friction with split-explicit free surface}
1095\label{subsec:ZDF_drg_ts}
1096
1097With split-explicit free surface, the sub-stepping of barotropic equations needs the knowledge of top/bottom stresses. An obvious way to satisfy this is to take them as constant over the course of the barotropic integration and equal to the value used to update the baroclinic momentum trend. Provided \np[=.false.]{ln_drgimp}{ln\_drgimp} and a centred or \textit{leap-frog} like integration of barotropic equations is used (\ie\ \forcode{ln_bt_fw=.false.}, cf \autoref{subsec:DYN_spg_ts}), this does ensure that barotropic and baroclinic dynamics feel the same stresses during one leapfrog time step. However, if \np[=.true.]{ln_drgimp}{ln\_drgimp},  stresses depend on the \textit{after} value of the velocities which themselves depend on the barotropic iteration result. This cyclic dependency makes difficult obtaining consistent stresses in 2d and 3d dynamics. Part of this mismatch is then removed when setting the final barotropic component of 3d velocities to the time splitting estimate. This last step can be seen as a necessary evil but should be minimized since it interferes with the adjustment to the boundary conditions.
1098
1099The strategy to handle top/bottom stresses with split-explicit free surface in \NEMO\ is as follows:
1100\begin{enumerate}
1101\item To extend the stability of the barotropic sub-stepping, bottom stresses are refreshed at each sub-iteration. The baroclinic part of the flow entering the stresses is frozen at the initial time of the barotropic iteration. In case of non-linear friction, the drag coefficient is also constant.
1102\item In case of an implicit drag, specific computations are performed in \mdl{dynzdf} which renders the overall scheme mixed explicit/implicit: the barotropic components of 3d velocities are removed before seeking for the implicit vertical diffusion result. Top/bottom stresses due to the barotropic components are explicitly accounted for thanks to the updated values of barotropic velocities. Then the implicit solution of 3d velocities is obtained. Lastly, the residual barotropic component is replaced by the time split estimate.
1103\end{enumerate}
1104
1105Note that other strategies are possible, like considering vertical diffusion step in advance, \ie\ prior barotropic integration.
1106
1107\section[Internal wave-driven mixing (\forcode{ln_zdfiwm})]{Internal wave-driven mixing (\protect\np{ln_zdfiwm}{ln\_zdfiwm})}
1108\label{subsec:ZDF_tmx_new}
1109
1110%--------------------------------------------namzdf_iwm------------------------------------------
1111%
1112\begin{listing}
1113  \nlst{namzdf_iwm}
1114  \caption{\forcode{&namzdf_iwm}}
1115  \label{lst:namzdf_iwm}
1116\end{listing}
1117%--------------------------------------------------------------------------------------------------------------
1118
1119The parameterization of mixing induced by breaking internal waves is a generalization of
1120the approach originally proposed by \citet{st-laurent.simmons.ea_GRL02}.
1121A three-dimensional field of internal wave energy dissipation $\epsilon(x,y,z)$ is first constructed,
1122and the resulting diffusivity is obtained as
1123\[
1124  % \label{eq:ZDF_Kwave}
1125  A^{vT}_{wave} =  R_f \,\frac{ \epsilon }{ \rho \, N^2 }
1126\]
1127where $R_f$ is the mixing efficiency and $\epsilon$ is a specified three dimensional distribution of
1128the energy available for mixing.
1129If the \np{ln_mevar}{ln\_mevar} namelist parameter is set to \forcode{.false.}, the mixing efficiency is taken as constant and
1130equal to 1/6 \citep{osborn_JPO80}.
1131In the opposite (recommended) case, $R_f$ is instead a function of
1132the turbulence intensity parameter $Re_b = \frac{ \epsilon}{\nu \, N^2}$,
1133with $\nu$ the molecular viscosity of seawater, following the model of \cite{bouffard.boegman_DAO13} and
1134the implementation of \cite{de-lavergne.madec.ea_JPO16}.
1135Note that $A^{vT}_{wave}$ is bounded by $10^{-2}\,m^2/s$, a limit that is often reached when
1136the mixing efficiency is constant.
1137
1138In addition to the mixing efficiency, the ratio of salt to heat diffusivities can chosen to vary
1139as a function of $Re_b$ by setting the \np{ln_tsdiff}{ln\_tsdiff} parameter to \forcode{.true.}, a recommended choice.
1140This parameterization of differential mixing, due to \cite{jackson.rehmann_JPO14},
1141is implemented as in \cite{de-lavergne.madec.ea_JPO16}.
1142
1143The three-dimensional distribution of the energy available for mixing, $\epsilon(i,j,k)$,
1144is constructed from three static maps of column-integrated internal wave energy dissipation,
1145$E_{cri}(i,j)$, $E_{pyc}(i,j)$, and $E_{bot}(i,j)$, combined to three corresponding vertical structures:
1146
1147\begin{align*}
1148  F_{cri}(i,j,k) &\propto e^{-h_{ab} / h_{cri} }\\
1149  F_{pyc}(i,j,k) &\propto N^{n_p}\\
1150  F_{bot}(i,j,k) &\propto N^2 \, e^{- h_{wkb} / h_{bot} }
1151\end{align*}
1152In the above formula, $h_{ab}$ denotes the height above bottom,
1153$h_{wkb}$ denotes the WKB-stretched height above bottom, defined by
1154\[
1155  h_{wkb} = H \, \frac{ \int_{-H}^{z} N \, dz' } { \int_{-H}^{\eta} N \, dz'  } \; ,
1156\]
1157The $n_p$ parameter (given by \np{nn_zpyc}{nn\_zpyc} in \nam{zdf_iwm}{zdf\_iwm} namelist)
1158controls the stratification-dependence of the pycnocline-intensified dissipation.
1159It can take values of $1$ (recommended) or $2$.
1160Finally, the vertical structures $F_{cri}$ and $F_{bot}$ require the specification of
1161the decay scales $h_{cri}(i,j)$ and $h_{bot}(i,j)$, which are defined by two additional input maps.
1162$h_{cri}$ is related to the large-scale topography of the ocean (etopo2) and
1163$h_{bot}$ is a function of the energy flux $E_{bot}$, the characteristic horizontal scale of
1164the abyssal hill topography \citep{goff_JGR10} and the latitude.
1165%
1166% Jc: input files names ?
1167
1168\section[Surface wave-induced mixing (\forcode{ln_zdfswm})]{Surface wave-induced mixing (\protect\np{ln_zdfswm}{ln\_zdfswm})}
1169\label{subsec:ZDF_swm}
1170
1171Surface waves produce an enhanced mixing through wave-turbulence interaction.
1172In addition to breaking waves induced turbulence (\autoref{subsec:ZDF_tke}),
1173the influence of non-breaking waves can be accounted introducing
1174wave-induced viscosity and diffusivity as a function of the wave number spectrum.
1175Following \citet{qiao.yuan.ea_OD10}, a formulation of wave-induced mixing coefficient
1176is provided  as a function of wave amplitude, Stokes Drift and wave-number:
1177
1178\begin{equation}
1179  \label{eq:ZDF_Bv}
1180  B_{v} = \alpha {A} {U}_{st} {exp(3kz)}
1181\end{equation}
1182
1183Where $B_{v}$ is the wave-induced mixing coefficient, $A$ is the wave amplitude,
1184${U}_{st}$ is the Stokes Drift velocity, $k$ is the wave number and $\alpha$
1185is a constant which should be determined by observations or
1186numerical experiments and is set to be 1.
1187
1188The coefficient $B_{v}$ is then directly added to the vertical viscosity
1189and diffusivity coefficients.
1190
1191In order to account for this contribution set: \forcode{ln_zdfswm=.true.},
1192then wave interaction has to be activated through \forcode{ln_wave=.true.},
1193the Stokes Drift can be evaluated by setting \forcode{ln_sdw=.true.}
1194(see \autoref{subsec:SBC_wave_sdw})
1195and the needed wave fields can be provided either in forcing or coupled mode
1196(for more information on wave parameters and settings see \autoref{sec:SBC_wave})
1197
1198\section[Adaptive-implicit vertical advection (\forcode{ln_zad_Aimp})]{Adaptive-implicit vertical advection(\protect\np{ln_zad_Aimp}{ln\_zad\_Aimp})}
1199\label{subsec:ZDF_aimp}
1200
1201The adaptive-implicit vertical advection option in NEMO is based on the work of
1202\citep{shchepetkin_OM15}.  In common with most ocean models, the timestep used with NEMO
1203needs to satisfy multiple criteria associated with different physical processes in order
1204to maintain numerical stability. \citep{shchepetkin_OM15} pointed out that the vertical
1205CFL criterion is commonly the most limiting. \citep{lemarie.debreu.ea_OM15} examined the
1206constraints for a range of time and space discretizations and provide the CFL stability
1207criteria for a range of advection schemes. The values for the Leap-Frog with Robert
1208asselin filter time-stepping (as used in NEMO) are reproduced in
1209\autoref{tab:ZDF_zad_Aimp_CFLcrit}. Treating the vertical advection implicitly can avoid these
1210restrictions but at the cost of large dispersive errors and, possibly, large numerical
1211viscosity. The adaptive-implicit vertical advection option provides a targetted use of the
1212implicit scheme only when and where potential breaches of the vertical CFL condition
1213occur. In many practical applications these events may occur remote from the main area of
1214interest or due to short-lived conditions such that the extra numerical diffusion or
1215viscosity does not greatly affect the overall solution. With such applications, setting:
1216\forcode{ln_zad_Aimp=.true.} should allow much longer model timesteps to be used whilst
1217retaining the accuracy of the high order explicit schemes over most of the domain.
1218
1219\begin{table}[htbp]
1220  \centering
1221  % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}}
1222  \begin{tabular}{r|ccc}
1223    \hline
1224    spatial discretization  & 2$^nd$ order centered & 3$^rd$ order upwind & 4$^th$ order compact \\
1225    advective CFL criterion &                 0.904 &              0.472  &                0.522 \\
1226    \hline
1227  \end{tabular}
1228  \caption[Advective CFL criteria for the leapfrog with Robert Asselin filter time-stepping]{
1229    The advective CFL criteria for a range of spatial discretizations for
1230    the leapfrog with Robert Asselin filter time-stepping
1231    ($\nu=0.1$) as given in \citep{lemarie.debreu.ea_OM15}.}
1232  \label{tab:ZDF_zad_Aimp_CFLcrit}
1233\end{table}
1234
1235In particular, the advection scheme remains explicit everywhere except where and when
1236local vertical velocities exceed a threshold set just below the explicit stability limit.
1237Once the threshold is reached a tapered transition towards an implicit scheme is used by
1238partitioning the vertical velocity into a part that can be treated explicitly and any
1239excess that must be treated implicitly. The partitioning is achieved via a Courant-number
1240dependent weighting algorithm as described in \citep{shchepetkin_OM15}.
1241
1242The local cell Courant number ($Cu$) used for this partitioning is:
1243
1244\begin{equation}
1245  \label{eq:ZDF_Eqn_zad_Aimp_Courant}
1246  \begin{split}
1247    Cu &= {2 \rdt \over e^n_{3t_{ijk}}} \bigg (\big [ \texttt{Max}(w^n_{ijk},0.0) - \texttt{Min}(w^n_{ijk+1},0.0) \big ]    \\
1248       &\phantom{=} +\big [ \texttt{Max}(e_{{2_u}ij}e^n_{{3_{u}}ijk}u^n_{ijk},0.0) - \texttt{Min}(e_{{2_u}i-1j}e^n_{{3_{u}}i-1jk}u^n_{i-1jk},0.0) \big ]
1249                     \big / e_{{1_t}ij}e_{{2_t}ij}            \\
1250       &\phantom{=} +\big [ \texttt{Max}(e_{{1_v}ij}e^n_{{3_{v}}ijk}v^n_{ijk},0.0) - \texttt{Min}(e_{{1_v}ij-1}e^n_{{3_{v}}ij-1k}v^n_{ij-1k},0.0) \big ]
1251                     \big / e_{{1_t}ij}e_{{2_t}ij} \bigg )    \\
1252  \end{split}
1253\end{equation}
1254
1255\noindent and the tapering algorithm follows \citep{shchepetkin_OM15} as:
1256
1257\begin{align}
1258  \label{eq:ZDF_Eqn_zad_Aimp_partition}
1259Cu_{min} &= 0.15 \nonumber \\
1260Cu_{max} &= 0.3  \nonumber \\
1261Cu_{cut} &= 2Cu_{max} - Cu_{min} \nonumber \\
1262Fcu    &= 4Cu_{max}*(Cu_{max}-Cu_{min}) \nonumber \\
1263\cf &=
1264     \begin{cases}
1265        0.0                                                        &\text{if $Cu \leq Cu_{min}$} \\
1266        (Cu - Cu_{min})^2 / (Fcu +  (Cu - Cu_{min})^2)             &\text{else if $Cu < Cu_{cut}$} \\
1267        (Cu - Cu_{max}) / Cu                                       &\text{else}
1268     \end{cases}
1269\end{align}
1270
1271\begin{figure}[!t]
1272  \centering
1273  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_coeff}
1274  \caption[Partitioning coefficient used to partition vertical velocities into parts]{
1275    The value of the partitioning coefficient (\cf) used to partition vertical velocities into
1276    parts to be treated implicitly and explicitly for a range of typical Courant numbers
1277    (\forcode{ln_zad_Aimp=.true.}).}
1278  \label{fig:ZDF_zad_Aimp_coeff}
1279\end{figure}
1280
1281\noindent The partitioning coefficient is used to determine the part of the vertical
1282velocity that must be handled implicitly ($w_i$) and to subtract this from the total
1283vertical velocity ($w_n$) to leave that which can continue to be handled explicitly:
1284
1285\begin{align}
1286  \label{eq:ZDF_Eqn_zad_Aimp_partition2}
1287    w_{i_{ijk}} &= \cf_{ijk} w_{n_{ijk}}     \nonumber \\
1288    w_{n_{ijk}} &= (1-\cf_{ijk}) w_{n_{ijk}}
1289\end{align}
1290
1291\noindent Note that the coefficient is such that the treatment is never fully implicit;
1292the three cases from \autoref{eq:ZDF_Eqn_zad_Aimp_partition} can be considered as:
1293fully-explicit; mixed explicit/implicit and mostly-implicit.  With the settings shown the
1294coefficient (\cf) varies as shown in \autoref{fig:ZDF_zad_Aimp_coeff}. Note with these values
1295the $Cu_{cut}$ boundary between the mixed implicit-explicit treatment and 'mostly
1296implicit' is 0.45 which is just below the stability limited given in
1297\autoref{tab:ZDF_zad_Aimp_CFLcrit}  for a 3rd order scheme.
1298
1299The $w_i$ component is added to the implicit solvers for the vertical mixing in
1300\mdl{dynzdf} and \mdl{trazdf} in a similar way to \citep{shchepetkin_OM15}.  This is
1301sufficient for the flux-limited advection scheme (\forcode{ln_traadv_mus}) but further
1302intervention is required when using the flux-corrected scheme (\forcode{ln_traadv_fct}).
1303For these schemes the implicit upstream fluxes must be added to both the monotonic guess
1304and to the higher order solution when calculating the antidiffusive fluxes. The implicit
1305vertical fluxes are then removed since they are added by the implicit solver later on.
1306
1307The adaptive-implicit vertical advection option is new to NEMO at v4.0 and has yet to be
1308used in a wide range of simulations. The following test simulation, however, does illustrate
1309the potential benefits and will hopefully encourage further testing and feedback from users:
1310
1311\begin{figure}[!t]
1312  \centering
1313  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_overflow_frames}
1314  \caption[OVERFLOW: time-series of temperature vertical cross-sections]{
1315    A time-series of temperature vertical cross-sections for the OVERFLOW test case.
1316    These results are for the default settings with \forcode{nn_rdt=10.0} and
1317    without adaptive implicit vertical advection (\forcode{ln_zad_Aimp=.false.}).}
1318  \label{fig:ZDF_zad_Aimp_overflow_frames}
1319\end{figure}
1320
1321\subsection{Adaptive-implicit vertical advection in the OVERFLOW test-case}
1322
1323The \href{https://forge.ipsl.jussieu.fr/nemo/chrome/site/doc/NEMO/guide/html/test\_cases.html\#overflow}{OVERFLOW test case}
1324provides a simple illustration of the adaptive-implicit advection in action. The example here differs from the basic test case
1325by only a few extra physics choices namely:
1326
1327\begin{verbatim}
1328     ln_dynldf_OFF = .false.
1329     ln_dynldf_lap = .true.
1330     ln_dynldf_hor = .true.
1331     ln_zdfnpc     = .true.
1332     ln_traadv_fct = .true.
1333        nn_fct_h   =  2
1334        nn_fct_v   =  2
1335\end{verbatim}
1336
1337\noindent which were chosen to provide a slightly more stable and less noisy solution. The
1338result when using the default value of \forcode{nn_rdt=10.} without adaptive-implicit
1339vertical velocity is illustrated in \autoref{fig:ZDF_zad_Aimp_overflow_frames}. The mass of
1340cold water, initially sitting on the shelf, moves down the slope and forms a
1341bottom-trapped, dense plume. Even with these extra physics choices the model is close to
1342stability limits and attempts with \forcode{nn_rdt=30.} will fail after about 5.5 hours
1343with excessively high horizontal velocities. This time-scale corresponds with the time the
1344plume reaches the steepest part of the topography and, although detected as a horizontal
1345CFL breach, the instability originates from a breach of the vertical CFL limit. This is a good
1346candidate, therefore, for use of the adaptive-implicit vertical advection scheme.
1347
1348The results with \forcode{ln_zad_Aimp=.true.} and a variety of model timesteps
1349are shown in \autoref{fig:ZDF_zad_Aimp_overflow_all_rdt} (together with the equivalent
1350frames from the base run).  In this simple example the use of the adaptive-implicit
1351vertcal advection scheme has enabled a 12x increase in the model timestep without
1352significantly altering the solution (although at this extreme the plume is more diffuse
1353and has not travelled so far).  Notably, the solution with and without the scheme is
1354slightly different even with \forcode{nn_rdt=10.}; suggesting that the base run was
1355close enough to instability to trigger the scheme despite completing successfully.
1356To assist in diagnosing how active the scheme is, in both location and time, the 3D
1357implicit and explicit components of the vertical velocity are available via XIOS as
1358\texttt{wimp} and \texttt{wexp} respectively.  Likewise, the partitioning coefficient
1359(\cf) is also available as \texttt{wi\_cff}. For a quick oversight of
1360the schemes activity the global maximum values of the absolute implicit component
1361of the vertical velocity and the partitioning coefficient are written to the netCDF
1362version of the run statistics file (\texttt{run.stat.nc}) if this is active (see
1363\autoref{sec:MISC_opt} for activation details).
1364
1365\autoref{fig:ZDF_zad_Aimp_maxCf} shows examples of the maximum partitioning coefficient for
1366the various overflow tests.  Note that the adaptive-implicit vertical advection scheme is
1367active even in the base run with \forcode{nn_rdt=10.0s} adding to the evidence that the
1368test case is close to stability limits even with this value. At the larger timesteps, the
1369vertical velocity is treated mostly implicitly at some location throughout the run. The
1370oscillatory nature of this measure appears to be linked to the progress of the plume front
1371as each cusp is associated with the location of the maximum shifting to the adjacent cell.
1372This is illustrated in \autoref{fig:ZDF_zad_Aimp_maxCf_loc} where the i- and k- locations of the
1373maximum have been overlaid for the base run case.
1374
1375\medskip
1376\noindent Only limited tests have been performed in more realistic configurations. In the
1377ORCA2\_ICE\_PISCES reference configuration the scheme does activate and passes
1378restartability and reproducibility tests but it is unable to improve the model's stability
1379enough to allow an increase in the model time-step. A view of the time-series of maximum
1380partitioning coefficient (not shown here)  suggests that the default time-step of 5400s is
1381already pushing at stability limits, especially in the initial start-up phase. The
1382time-series does not, however, exhibit any of the 'cuspiness' found with the overflow
1383tests.
1384
1385\medskip
1386\noindent A short test with an eORCA1 configuration promises more since a test using a
1387time-step of 3600s remains stable with \forcode{ln_zad_Aimp=.true.} whereas the
1388time-step is limited to 2700s without.
1389
1390\begin{figure}[!t]
1391  \centering
1392  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_overflow_all_rdt}
1393  \caption[OVERFLOW: sample temperature vertical cross-sections from mid- and end-run]{
1394    Sample temperature vertical cross-sections from mid- and end-run using
1395    different values for \forcode{nn_rdt} and with or without adaptive implicit vertical advection.
1396    Without the adaptive implicit vertical advection
1397    only the run with the shortest timestep is able to run to completion.
1398    Note also that the colour-scale has been chosen to confirm that
1399    temperatures remain within the original range of 10$^o$ to 20$^o$.}
1400  \label{fig:ZDF_zad_Aimp_overflow_all_rdt}
1401\end{figure}
1402
1403\begin{figure}[!t]
1404  \centering
1405  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_maxCf}
1406  \caption[OVERFLOW: maximum partitioning coefficient during a series of test runs]{
1407    The maximum partitioning coefficient during a series of test runs with
1408    increasing model timestep length.
1409    At the larger timesteps,
1410    the vertical velocity is treated mostly implicitly at some location throughout the run.}
1411  \label{fig:ZDF_zad_Aimp_maxCf}
1412\end{figure}
1413
1414\begin{figure}[!t]
1415  \centering
1416  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_maxCf_loc}
1417  \caption[OVERFLOW: maximum partitioning coefficient for the case overlaid]{
1418    The maximum partitioning coefficient for the \forcode{nn_rdt=10.0} case overlaid with
1419    information on the gridcell i- and k-locations of the maximum value.}
1420  \label{fig:ZDF_zad_Aimp_maxCf_loc}
1421\end{figure}
1422
1423\onlyinsubfile{\input{../../global/epilogue}}
1424
1425\end{document}
Note: See TracBrowser for help on using the repository browser.