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.
Changeset 11967 for NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/doc/latex/NEMO/subfiles/chap_ZDF.tex – NEMO

Ignore:
Timestamp:
2019-11-26T15:11:43+01:00 (4 years ago)
Author:
davestorkey
Message:

2019/ENHANCE-02_ISF_nemo_TEST_MERGE : Update to rev 11953.

Location:
NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/doc
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/doc

    • Property svn:externals set to
      ^/utils/badges badges
      ^/utils/logos logos
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/doc/latex

    • Property svn:ignore deleted
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/doc/latex/NEMO

    • Property svn:externals set to
      ^/utils/figures/NEMO figures
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/doc/latex/NEMO/subfiles

    • Property svn:ignore
      •  

        old new  
        1 *.aux 
        2 *.bbl 
        3 *.blg 
        4 *.dvi 
        5 *.fdb* 
        6 *.fls 
        7 *.idx 
         1*.ind 
        82*.ilg 
        9 *.ind 
        10 *.log 
        11 *.maf 
        12 *.mtc* 
        13 *.out 
        14 *.pdf 
        15 *.toc 
        16 _minted-* 
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/doc/latex/NEMO/subfiles/chap_ZDF.tex

    r11225 r11967  
    11\documentclass[../main/NEMO_manual]{subfiles} 
    22 
     3%% Custom aliases 
     4\newcommand{\cf}{\ensuremath{C\kern-0.14em f}} 
     5 
    36\begin{document} 
    4 % ================================================================ 
    5 % Chapter  Vertical Ocean Physics (ZDF) 
    6 % ================================================================ 
     7 
    78\chapter{Vertical Ocean Physics (ZDF)} 
    89\label{chap:ZDF} 
    910 
    10 \minitoc 
    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 \newpage 
    15  
    16 % ================================================================ 
    17 % Vertical Mixing 
    18 % ================================================================ 
     11\thispagestyle{plain} 
     12 
     13\chaptertoc 
     14 
     15\paragraph{Changes record} ~\\ 
     16 
     17{\footnotesize 
     18  \begin{tabularx}{\textwidth}{l||X|X} 
     19    Release & Author(s) & Modifications \\ 
     20    \hline 
     21    {\em   4.0} & {\em ...} & {\em ...} \\ 
     22    {\em   3.6} & {\em ...} & {\em ...} \\ 
     23    {\em   3.4} & {\em ...} & {\em ...} \\ 
     24    {\em <=3.4} & {\em ...} & {\em ...} 
     25  \end{tabularx} 
     26} 
     27 
     28\clearpage 
     29 
     30\cmtgm{ Add here a small introduction to ZDF and naming of the different physics 
     31(similar to what have been written for TRA and DYN).} 
     32 
     33%% ================================================================================================= 
    1934\section{Vertical mixing} 
    20 \label{sec:ZDF_zdf} 
     35\label{sec:ZDF} 
    2136 
    2237The discrete form of the ocean subgrid scale physics has been presented in 
     
    2540At the surface they are prescribed from the surface forcing (see \autoref{chap:SBC}), 
    2641while at the bottom they are set to zero for heat and salt, 
    27 unless a geothermal flux forcing is prescribed as a bottom boundary condition (\ie \np{ln\_trabbc} defined, 
     42unless a geothermal flux forcing is prescribed as a bottom boundary condition (\ie\ \np{ln_trabbc}{ln\_trabbc} defined, 
    2843see \autoref{subsec:TRA_bbc}), and specified through a bottom friction parameterisation for momentum 
    29 (see \autoref{sec:ZDF_drg}).  
     44(see \autoref{sec:ZDF_drg}). 
    3045 
    3146In this section we briefly discuss the various choices offered to compute the vertical eddy viscosity and 
     
    3752the \mdl{zdfric}, \mdl{zdftke} or \mdl{zdfgls} or \mdl{zdfosm} modules. 
    3853The trends due to the vertical momentum and tracer diffusion, including the surface forcing, 
    39 are computed and added to the general trend in the \mdl{dynzdf} and \mdl{trazdf} modules, respectively.  
     54are computed and added to the general trend in the \mdl{dynzdf} and \mdl{trazdf} modules, respectively. 
    4055%These trends can be computed using either a forward time stepping scheme 
    41 %(namelist parameter \np{ln\_zdfexp}\forcode{ = .true.}) or a backward time stepping scheme 
    42 %(\np{ln\_zdfexp}\forcode{ = .false.}) depending on the magnitude of the mixing coefficients, 
    43 %and thus of the formulation used (see \autoref{chap:STP}). 
    44  
    45 %--------------------------------------------namzdf-------------------------------------------------------- 
    46  
    47 \nlst{namzdf} 
    48 %-------------------------------------------------------------------------------------------------------------- 
    49  
    50 % ------------------------------------------------------------------------------------------------------------- 
    51 %        Constant  
    52 % ------------------------------------------------------------------------------------------------------------- 
    53 \subsection[Constant (\forcode{ln_zdfcst = .true.})] 
    54 {Constant (\protect\np{ln\_zdfcst}\forcode{ = .true.})} 
     56%(namelist parameter \np[=.true.]{ln_zdfexp}{ln\_zdfexp}) or a backward time stepping scheme 
     57%(\np[=.false.]{ln_zdfexp}{ln\_zdfexp}) depending on the magnitude of the mixing coefficients, 
     58%and thus of the formulation used (see \autoref{chap:TD}). 
     59 
     60\begin{listing} 
     61  \nlst{namzdf} 
     62  \caption{\forcode{&namzdf}} 
     63  \label{lst:namzdf} 
     64\end{listing} 
     65 
     66%% ================================================================================================= 
     67\subsection[Constant (\forcode{ln_zdfcst})]{Constant (\protect\np{ln_zdfcst}{ln\_zdfcst})} 
    5568\label{subsec:ZDF_cst} 
    5669 
    57 Options are defined through the \ngn{namzdf} namelist variables. 
    58 When \np{ln\_zdfcst} is defined, the momentum and tracer vertical eddy coefficients are set to 
     70Options are defined through the \nam{zdf}{zdf} namelist variables. 
     71When \np{ln_zdfcst}{ln\_zdfcst} is defined, the momentum and tracer vertical eddy coefficients are set to 
    5972constant values over the whole ocean. 
    6073This is the crudest way to define the vertical ocean physics. 
     
    6679\end{align*} 
    6780 
    68 These values are set through the \np{rn\_avm0} and \np{rn\_avt0} namelist parameters.  
     81These values are set through the \np{rn_avm0}{rn\_avm0} and \np{rn_avt0}{rn\_avt0} namelist parameters. 
    6982In all cases, do not use values smaller that those associated with the molecular viscosity and diffusivity, 
    7083that is $\sim10^{-6}~m^2.s^{-1}$ for momentum, $\sim10^{-7}~m^2.s^{-1}$ for temperature and 
    7184$\sim10^{-9}~m^2.s^{-1}$ for salinity. 
    7285 
    73 % ------------------------------------------------------------------------------------------------------------- 
    74 %        Richardson Number Dependent 
    75 % ------------------------------------------------------------------------------------------------------------- 
    76 \subsection[Richardson number dependent (\forcode{ln_zdfric = .true.})] 
    77 {Richardson number dependent (\protect\np{ln\_zdfric}\forcode{ = .true.})} 
     86%% ================================================================================================= 
     87\subsection[Richardson number dependent (\forcode{ln_zdfric})]{Richardson number dependent (\protect\np{ln_zdfric}{ln\_zdfric})} 
    7888\label{subsec:ZDF_ric} 
    7989 
    80 %--------------------------------------------namric--------------------------------------------------------- 
    81  
    82 \nlst{namzdf_ric} 
    83 %-------------------------------------------------------------------------------------------------------------- 
    84  
    85 When \np{ln\_zdfric}\forcode{ = .true.}, a local Richardson number dependent formulation for the vertical momentum and 
    86 tracer eddy coefficients is set through the \ngn{namzdf\_ric} namelist variables. 
    87 The vertical mixing coefficients are diagnosed from the large scale variables computed by the model.  
     90\begin{listing} 
     91  \nlst{namzdf_ric} 
     92  \caption{\forcode{&namzdf_ric}} 
     93  \label{lst:namzdf_ric} 
     94\end{listing} 
     95 
     96When \np[=.true.]{ln_zdfric}{ln\_zdfric}, a local Richardson number dependent formulation for the vertical momentum and 
     97tracer eddy coefficients is set through the \nam{zdf_ric}{zdf\_ric} namelist variables. 
     98The vertical mixing coefficients are diagnosed from the large scale variables computed by the model. 
    8899\textit{In situ} measurements have been used to link vertical turbulent activity to large scale ocean structures. 
    89100The hypothesis of a mixing mainly maintained by the growth of Kelvin-Helmholtz like instabilities leads to 
    90101a dependency between the vertical eddy coefficients and the local Richardson number 
    91 (\ie the ratio of stratification to vertical shear). 
     102(\ie\ the ratio of stratification to vertical shear). 
    92103Following \citet{pacanowski.philander_JPO81}, the following formulation has been implemented: 
    93104\[ 
    94   % \label{eq:zdfric} 
     105  % \label{eq:ZDF_ric} 
    95106  \left\{ 
    96107    \begin{aligned} 
     
    101112\] 
    102113where $Ri = N^2 / \left(\partial_z \textbf{U}_h \right)^2$ is the local Richardson number, 
    103 $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}),  
     114$N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}), 
    104115$A_b^{vT} $ and $A_b^{vm}$ are the constant background values set as in the constant case 
    105116(see \autoref{subsec:ZDF_cst}), and $A_{ric}^{vT} = 10^{-4}~m^2.s^{-1}$ is the maximum value that 
    106117can be reached by the coefficient when $Ri\leq 0$, $a=5$ and $n=2$. 
    107 The last three values can be modified by setting the \np{rn\_avmri}, \np{rn\_alp} and 
    108 \np{nn\_ric} namelist parameters, respectively. 
     118The last three values can be modified by setting the \np{rn_avmri}{rn\_avmri}, \np{rn_alp}{rn\_alp} and 
     119\np{nn_ric}{nn\_ric} namelist parameters, respectively. 
    109120 
    110121A simple mixing-layer model to transfer and dissipate the atmospheric forcings 
    111 (wind-stress and buoyancy fluxes) can be activated setting the \np{ln\_mldw}\forcode{ = .true.} in the namelist. 
     122(wind-stress and buoyancy fluxes) can be activated setting the \np[=.true.]{ln_mldw}{ln\_mldw} in the namelist. 
    112123 
    113124In this case, the local depth of turbulent wind-mixing or "Ekman depth" $h_{e}(x,y,t)$ is evaluated and 
     
    125136\] 
    126137is computed from the wind stress vector $|\tau|$ and the reference density $ \rho_o$. 
    127 The final $h_{e}$ is further constrained by the adjustable bounds \np{rn\_mldmin} and \np{rn\_mldmax}. 
     138The final $h_{e}$ is further constrained by the adjustable bounds \np{rn_mldmin}{rn\_mldmin} and \np{rn_mldmax}{rn\_mldmax}. 
    128139Once $h_{e}$ is computed, the vertical eddy coefficients within $h_{e}$ are set to 
    129 the empirical values \np{rn\_wtmix} and \np{rn\_wvmix} \citep{lermusiaux_JMS01}. 
    130  
    131 % ------------------------------------------------------------------------------------------------------------- 
    132 %        TKE Turbulent Closure Scheme  
    133 % ------------------------------------------------------------------------------------------------------------- 
    134 \subsection[TKE turbulent closure scheme (\forcode{ln_zdftke = .true.})] 
    135 {TKE turbulent closure scheme (\protect\np{ln\_zdftke}\forcode{ = .true.})} 
     140the empirical values \np{rn_wtmix}{rn\_wtmix} and \np{rn_wvmix}{rn\_wvmix} \citep{lermusiaux_JMS01}. 
     141 
     142%% ================================================================================================= 
     143\subsection[TKE turbulent closure scheme (\forcode{ln_zdftke})]{TKE turbulent closure scheme (\protect\np{ln_zdftke}{ln\_zdftke})} 
    136144\label{subsec:ZDF_tke} 
    137 %--------------------------------------------namzdf_tke-------------------------------------------------- 
    138  
    139 \nlst{namzdf_tke} 
    140 %-------------------------------------------------------------------------------------------------------------- 
     145 
     146\begin{listing} 
     147  \nlst{namzdf_tke} 
     148  \caption{\forcode{&namzdf_tke}} 
     149  \label{lst:namzdf_tke} 
     150\end{listing} 
    141151 
    142152The vertical eddy viscosity and diffusivity coefficients are computed from a TKE turbulent closure model based on 
     
    144154and a closure assumption for the turbulent length scales. 
    145155This turbulent closure model has been developed by \citet{bougeault.lacarrere_MWR89} in the atmospheric case, 
    146 adapted by \citet{gaspar.gregoris.ea_JGR90} for the oceanic case, and embedded in OPA, the ancestor of NEMO, 
     156adapted by \citet{gaspar.gregoris.ea_JGR90} for the oceanic case, and embedded in OPA, the ancestor of \NEMO, 
    147157by \citet{blanke.delecluse_JPO93} for equatorial Atlantic simulations. 
    148158Since then, significant modifications have been introduced by \citet{madec.delecluse.ea_NPM98} in both the implementation and 
     
    151161its destruction through stratification, its vertical diffusion, and its dissipation of \citet{kolmogorov_IANS42} type: 
    152162\begin{equation} 
    153   \label{eq:zdftke_e} 
     163  \label{eq:ZDF_tke_e} 
    154164  \frac{\partial \bar{e}}{\partial t} = 
    155165  \frac{K_m}{{e_3}^2 }\;\left[ {\left( {\frac{\partial u}{\partial k}} \right)^2 
     
    161171\end{equation} 
    162172\[ 
    163   % \label{eq:zdftke_kz} 
     173  % \label{eq:ZDF_tke_kz} 
    164174  \begin{split} 
    165175    K_m &= C_k\  l_k\  \sqrt {\bar{e}\; }    \\ 
     
    167177  \end{split} 
    168178\] 
    169 where $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}),  
    170 $l_{\epsilon }$ and $l_{\kappa }$ are the dissipation and mixing length scales,  
     179where $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}), 
     180$l_{\epsilon }$ and $l_{\kappa }$ are the dissipation and mixing length scales, 
    171181$P_{rt}$ is the Prandtl number, $K_m$ and $K_\rho$ are the vertical eddy viscosity and diffusivity coefficients. 
    172182The constants $C_k =  0.1$ and $C_\epsilon = \sqrt {2} /2$ $\approx 0.7$ are designed to deal with 
    173 vertical mixing at any depth \citep{gaspar.gregoris.ea_JGR90}.  
    174 They are set through namelist parameters \np{nn\_ediff} and \np{nn\_ediss}. 
     183vertical mixing at any depth \citep{gaspar.gregoris.ea_JGR90}. 
     184They are set through namelist parameters \np{nn_ediff}{nn\_ediff} and \np{nn_ediss}{nn\_ediss}. 
    175185$P_{rt}$ can be set to unity or, following \citet{blanke.delecluse_JPO93}, be a function of the local Richardson number, $R_i$: 
    176186\begin{align*} 
    177   % \label{eq:prt} 
     187  % \label{eq:ZDF_prt} 
    178188  P_{rt} = 
    179189  \begin{cases} 
     
    183193  \end{cases} 
    184194\end{align*} 
    185 The choice of $P_{rt}$ is controlled by the \np{nn\_pdl} namelist variable. 
     195The choice of $P_{rt}$ is controlled by the \np{nn_pdl}{nn\_pdl} namelist variable. 
    186196 
    187197At the sea surface, the value of $\bar{e}$ is prescribed from the wind stress field as 
    188 $\bar{e}_o = e_{bb} |\tau| / \rho_o$, with $e_{bb}$ the \np{rn\_ebb} namelist parameter. 
     198$\bar{e}_o = e_{bb} |\tau| / \rho_o$, with $e_{bb}$ the \np{rn_ebb}{rn\_ebb} namelist parameter. 
    189199The default value of $e_{bb}$ is 3.75. \citep{gaspar.gregoris.ea_JGR90}), however a much larger value can be used when 
    190200taking into account the surface wave breaking (see below Eq. \autoref{eq:ZDF_Esbc}). 
     
    192202The time integration of the $\bar{e}$ equation may formally lead to negative values because 
    193203the numerical scheme does not ensure its positivity. 
    194 To overcome this problem, a cut-off in the minimum value of $\bar{e}$ is used (\np{rn\_emin} namelist parameter). 
     204To overcome this problem, a cut-off in the minimum value of $\bar{e}$ is used (\np{rn_emin}{rn\_emin} namelist parameter). 
    195205Following \citet{gaspar.gregoris.ea_JGR90}, the cut-off value is set to $\sqrt{2}/2~10^{-6}~m^2.s^{-2}$. 
    196206This allows the subsequent formulations to match that of \citet{gargett_JMR84} for the diffusion in 
     
    198208In addition, a cut-off is applied on $K_m$ and $K_\rho$ to avoid numerical instabilities associated with 
    199209too weak vertical diffusion. 
    200 They must be specified at least larger than the molecular values, and are set through \np{rn\_avm0} and 
    201 \np{rn\_avt0} (\ngn{namzdf} namelist, see \autoref{subsec:ZDF_cst}). 
    202  
     210They must be specified at least larger than the molecular values, and are set through \np{rn_avm0}{rn\_avm0} and 
     211\np{rn_avt0}{rn\_avt0} (\nam{zdf}{zdf} namelist, see \autoref{subsec:ZDF_cst}). 
     212 
     213%% ================================================================================================= 
    203214\subsubsection{Turbulent length scale} 
    204215 
    205216For computational efficiency, the original formulation of the turbulent length scales proposed by 
    206217\citet{gaspar.gregoris.ea_JGR90} has been simplified. 
    207 Four formulations are proposed, the choice of which is controlled by the \np{nn\_mxl} namelist parameter. 
     218Four formulations are proposed, the choice of which is controlled by the \np{nn_mxl}{nn\_mxl} namelist parameter. 
    208219The first two are based on the following first order approximation \citep{blanke.delecluse_JPO93}: 
    209220\begin{equation} 
    210   \label{eq:tke_mxl0_1} 
     221  \label{eq:ZDF_tke_mxl0_1} 
    211222  l_k = l_\epsilon = \sqrt {2 \bar{e}\; } / N 
    212223\end{equation} 
    213224which is valid in a stable stratified region with constant values of the Brunt-Vais\"{a}l\"{a} frequency. 
    214225The resulting length scale is bounded by the distance to the surface or to the bottom 
    215 (\np{nn\_mxl}\forcode{ = 0}) or by the local vertical scale factor (\np{nn\_mxl}\forcode{ = 1}). 
     226(\np[=0]{nn_mxl}{nn\_mxl}) or by the local vertical scale factor (\np[=1]{nn_mxl}{nn\_mxl}). 
    216227\citet{blanke.delecluse_JPO93} notice that this simplification has two major drawbacks: 
    217228it makes no sense for locally unstable stratification and the computation no longer uses all 
    218229the information contained in the vertical density profile. 
    219 To overcome these drawbacks, \citet{madec.delecluse.ea_NPM98} introduces the \np{nn\_mxl}\forcode{ = 2, 3} cases, 
     230To overcome these drawbacks, \citet{madec.delecluse.ea_NPM98} introduces the \np[=2, 3]{nn_mxl}{nn\_mxl} cases, 
    220231which add an extra assumption concerning the vertical gradient of the computed length scale. 
    221 So, the length scales are first evaluated as in \autoref{eq:tke_mxl0_1} and then bounded such that: 
     232So, the length scales are first evaluated as in \autoref{eq:ZDF_tke_mxl0_1} and then bounded such that: 
    222233\begin{equation} 
    223   \label{eq:tke_mxl_constraint} 
     234  \label{eq:ZDF_tke_mxl_constraint} 
    224235  \frac{1}{e_3 }\left| {\frac{\partial l}{\partial k}} \right| \leq 1 
    225236  \qquad \text{with }\  l =  l_k = l_\epsilon 
    226237\end{equation} 
    227 \autoref{eq:tke_mxl_constraint} means that the vertical variations of the length scale cannot be larger than 
     238\autoref{eq:ZDF_tke_mxl_constraint} means that the vertical variations of the length scale cannot be larger than 
    228239the variations of depth. 
    229 It provides a better approximation of the \citet{gaspar.gregoris.ea_JGR90} formulation while being much less  
     240It provides a better approximation of the \citet{gaspar.gregoris.ea_JGR90} formulation while being much less 
    230241time consuming. 
    231242In particular, it allows the length scale to be limited not only by the distance to the surface or 
    232243to the ocean bottom but also by the distance to a strongly stratified portion of the water column such as 
    233 the thermocline (\autoref{fig:mixing_length}). 
    234 In order to impose the \autoref{eq:tke_mxl_constraint} constraint, we introduce two additional length scales: 
     244the thermocline (\autoref{fig:ZDF_mixing_length}). 
     245In order to impose the \autoref{eq:ZDF_tke_mxl_constraint} constraint, we introduce two additional length scales: 
    235246$l_{up}$ and $l_{dwn}$, the upward and downward length scales, and 
    236247evaluate the dissipation and mixing length scales as 
    237248(and note that here we use numerical indexing): 
    238 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    239249\begin{figure}[!t] 
    240   \begin{center} 
    241     \includegraphics[width=\textwidth]{Fig_mixing_length} 
    242     \caption{ 
    243       \protect\label{fig:mixing_length} 
    244       Illustration of the mixing length computation. 
    245     } 
    246   \end{center} 
     250  \centering 
     251  \includegraphics[width=0.66\textwidth]{ZDF_mixing_length} 
     252  \caption[Mixing length computation]{Illustration of the mixing length computation} 
     253  \label{fig:ZDF_mixing_length} 
    247254\end{figure} 
    248 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    249 \[ 
    250   % \label{eq:tke_mxl2} 
     255\[ 
     256  % \label{eq:ZDF_tke_mxl2} 
    251257  \begin{aligned} 
    252258    l_{up\ \ }^{(k)} &= \min \left(  l^{(k)} \ , \ l_{up}^{(k+1)} + e_{3t}^{(k)}\ \ \ \;  \right) 
     
    256262  \end{aligned} 
    257263\] 
    258 where $l^{(k)}$ is computed using \autoref{eq:tke_mxl0_1}, \ie $l^{(k)} = \sqrt {2 {\bar e}^{(k)} / {N^2}^{(k)} }$. 
    259  
    260 In the \np{nn\_mxl}\forcode{ = 2} case, the dissipation and mixing length scales take the same value: 
    261 $ l_k=  l_\epsilon = \min \left(\ l_{up} \;,\;  l_{dwn}\ \right)$, while in the \np{nn\_mxl}\forcode{ = 3} case, 
     264where $l^{(k)}$ is computed using \autoref{eq:ZDF_tke_mxl0_1}, \ie\ $l^{(k)} = \sqrt {2 {\bar e}^{(k)} / {N^2}^{(k)} }$. 
     265 
     266In the \np[=2]{nn_mxl}{nn\_mxl} case, the dissipation and mixing length scales take the same value: 
     267$ l_k=  l_\epsilon = \min \left(\ l_{up} \;,\;  l_{dwn}\ \right)$, while in the \np[=3]{nn_mxl}{nn\_mxl} case, 
    262268the dissipation and mixing turbulent length scales are give as in \citet{gaspar.gregoris.ea_JGR90}: 
    263269\[ 
    264   % \label{eq:tke_mxl_gaspar} 
     270  % \label{eq:ZDF_tke_mxl_gaspar} 
    265271  \begin{aligned} 
    266272    & l_k          = \sqrt{\  l_{up} \ \ l_{dwn}\ }   \\ 
     
    269275\] 
    270276 
    271 At the ocean surface, a non zero length scale is set through the  \np{rn\_mxl0} namelist parameter. 
     277At the ocean surface, a non zero length scale is set through the  \np{rn_mxl0}{rn\_mxl0} namelist parameter. 
    272278Usually the surface scale is given by $l_o = \kappa \,z_o$ where $\kappa = 0.4$ is von Karman's constant and 
    273279$z_o$ the roughness parameter of the surface. 
    274 Assuming $z_o=0.1$~m \citep{craig.banner_JPO94} leads to a 0.04~m, the default value of \np{rn\_mxl0}. 
     280Assuming $z_o=0.1$~m \citep{craig.banner_JPO94} leads to a 0.04~m, the default value of \np{rn_mxl0}{rn\_mxl0}. 
    275281In the ocean interior a minimum length scale is set to recover the molecular viscosity when 
    276282$\bar{e}$ reach its minimum value ($1.10^{-6}= C_k\, l_{min} \,\sqrt{\bar{e}_{min}}$ ). 
    277283 
     284%% ================================================================================================= 
    278285\subsubsection{Surface wave breaking parameterization} 
    279 %-----------------------------------------------------------------------% 
    280286 
    281287Following \citet{mellor.blumberg_JPO04}, the TKE turbulence closure model has been modified to 
     
    283289This results in a reduction of summertime surface temperature when the mixed layer is relatively shallow. 
    284290The \citet{mellor.blumberg_JPO04} modifications acts on surface length scale and TKE values and 
    285 air-sea drag coefficient.  
    286 The latter concerns the bulk formulae and is not discussed here.  
     291air-sea drag coefficient. 
     292The latter concerns the bulk formulae and is not discussed here. 
    287293 
    288294Following \citet{craig.banner_JPO94}, the boundary condition on surface TKE value is : 
     
    292298\end{equation} 
    293299where $\alpha_{CB}$ is the \citet{craig.banner_JPO94} constant of proportionality which depends on the ''wave age'', 
    294 ranging from 57 for mature waves to 146 for younger waves \citep{mellor.blumberg_JPO04}.  
     300ranging from 57 for mature waves to 146 for younger waves \citep{mellor.blumberg_JPO04}. 
    295301The boundary condition on the turbulent length scale follows the Charnock's relation: 
    296302\begin{equation} 
     
    303309$\alpha_{CB} = 100$ the Craig and Banner's value. 
    304310As the surface boundary condition on TKE is prescribed through $\bar{e}_o = e_{bb} |\tau| / \rho_o$, 
    305 with $e_{bb}$ the \np{rn\_ebb} namelist parameter, setting \np{rn\_ebb}\forcode{ = 67.83} corresponds  
     311with $e_{bb}$ the \np{rn_ebb}{rn\_ebb} namelist parameter, setting \np[=67.83]{rn_ebb}{rn\_ebb} corresponds 
    306312to $\alpha_{CB} = 100$. 
    307 Further setting  \np{ln\_mxl0=.true.},  applies \autoref{eq:ZDF_Lsbc} as the surface boundary condition on the length scale, 
     313Further setting  \np[=.true.]{ln_mxl0}{ln\_mxl0},  applies \autoref{eq:ZDF_Lsbc} as the surface boundary condition on the length scale, 
    308314with $\beta$ hard coded to the Stacey's value. 
    309 Note that a minimal threshold of \np{rn\_emin0}$=10^{-4}~m^2.s^{-2}$ (namelist parameters) is applied on the  
     315Note that a minimal threshold of \np{rn_emin0}{rn\_emin0}$=10^{-4}~m^2.s^{-2}$ (namelist parameters) is applied on the 
    310316surface $\bar{e}$ value. 
    311317 
     318%% ================================================================================================= 
    312319\subsubsection{Langmuir cells} 
    313 %--------------------------------------% 
    314320 
    315321Langmuir circulations (LC) can be described as ordered large-scale vertical motions in 
     
    319325The detailed physics behind LC is described in, for example, \citet{craik.leibovich_JFM76}. 
    320326The prevailing explanation is that LC arise from a nonlinear interaction between the Stokes drift and 
    321 wind drift currents.  
     327wind drift currents. 
    322328 
    323329Here we introduced in the TKE turbulent closure the simple parameterization of Langmuir circulations proposed by 
     
    325331The parameterization, tuned against large-eddy simulation, includes the whole effect of LC in 
    326332an extra source term of TKE, $P_{LC}$. 
    327 The presence of $P_{LC}$ in \autoref{eq:zdftke_e}, the TKE equation, is controlled by setting \np{ln\_lc} to 
    328 \forcode{.true.} in the \ngn{namzdf\_tke} namelist. 
    329   
     333The presence of $P_{LC}$ in \autoref{eq:ZDF_tke_e}, the TKE equation, is controlled by setting \np{ln_lc}{ln\_lc} to 
     334\forcode{.true.} in the \nam{zdf_tke}{zdf\_tke} namelist. 
     335 
    330336By making an analogy with the characteristic convective velocity scale (\eg, \citet{dalessio.abdella.ea_JPO98}), 
    331 $P_{LC}$ is assumed to be :  
     337$P_{LC}$ is assumed to be : 
    332338\[ 
    333339P_{LC}(z) = \frac{w_{LC}^3(z)}{H_{LC}} 
    334340\] 
    335341where $w_{LC}(z)$ is the vertical velocity profile of LC, and $H_{LC}$ is the LC depth. 
    336 With no information about the wave field, $w_{LC}$ is assumed to be proportional to  
    337 the Stokes drift $u_s = 0.377\,\,|\tau|^{1/2}$, where $|\tau|$ is the surface wind stress module  
     342With no information about the wave field, $w_{LC}$ is assumed to be proportional to 
     343the Stokes drift $u_s = 0.377\,\,|\tau|^{1/2}$, where $|\tau|$ is the surface wind stress module 
    338344\footnote{Following \citet{li.garrett_JMR93}, the surface Stoke drift velocity may be expressed as 
    339345  $u_s =  0.016 \,|U_{10m}|$. 
     
    343349For the vertical variation, $w_{LC}$ is assumed to be zero at the surface as well as at 
    344350a finite depth $H_{LC}$ (which is often close to the mixed layer depth), 
    345 and simply varies as a sine function in between (a first-order profile for the Langmuir cell structures).  
     351and simply varies as a sine function in between (a first-order profile for the Langmuir cell structures). 
    346352The resulting expression for $w_{LC}$ is : 
    347353\[ 
     
    354360where $c_{LC} = 0.15$ has been chosen by \citep{axell_JGR02} as a good compromise to fit LES data. 
    355361The chosen value yields maximum vertical velocities $w_{LC}$ of the order of a few centimeters per second. 
    356 The value of $c_{LC}$ is set through the \np{rn\_lc} namelist parameter, 
    357 having in mind that it should stay between 0.15 and 0.54 \citep{axell_JGR02}.  
     362The value of $c_{LC}$ is set through the \np{rn_lc}{rn\_lc} namelist parameter, 
     363having in mind that it should stay between 0.15 and 0.54 \citep{axell_JGR02}. 
    358364 
    359365The $H_{LC}$ is estimated in a similar way as the turbulent length scale of TKE equations: 
    360366$H_{LC}$ is the depth to which a water parcel with kinetic energy due to Stoke drift can reach on its own by 
    361 converting its kinetic energy to potential energy, according to  
     367converting its kinetic energy to potential energy, according to 
    362368\[ 
    363369- \int_{-H_{LC}}^0 { N^2\;z  \;dz} = \frac{1}{2} u_s^2 
    364370\] 
    365371 
     372%% ================================================================================================= 
    366373\subsubsection{Mixing just below the mixed layer} 
    367 %--------------------------------------------------------------% 
    368374 
    369375Vertical mixing parameterizations commonly used in ocean general circulation models tend to 
    370376produce mixed-layer depths that are too shallow during summer months and windy conditions. 
    371377This bias is particularly acute over the Southern Ocean. 
    372 To overcome this systematic bias, an ad hoc parameterization is introduced into the TKE scheme \cite{rodgers.aumont.ea_B14}.  
    373 The parameterization is an empirical one, \ie not derived from theoretical considerations, 
    374 but rather is meant to account for observed processes that affect the density structure of  
    375 the ocean’s planetary boundary layer that are not explicitly captured by default in the TKE scheme  
    376 (\ie near-inertial oscillations and ocean swells and waves). 
    377  
    378 When using this parameterization (\ie when \np{nn\_etau}\forcode{ = 1}), 
     378To overcome this systematic bias, an ad hoc parameterization is introduced into the TKE scheme \cite{rodgers.aumont.ea_B14}. 
     379The parameterization is an empirical one, \ie\ not derived from theoretical considerations, 
     380but rather is meant to account for observed processes that affect the density structure of 
     381the ocean’s planetary boundary layer that are not explicitly captured by default in the TKE scheme 
     382(\ie\ near-inertial oscillations and ocean swells and waves). 
     383 
     384When using this parameterization (\ie\ when \np[=1]{nn_etau}{nn\_etau}), 
    379385the TKE input to the ocean ($S$) imposed by the winds in the form of near-inertial oscillations, 
    380386swell and waves is parameterized by \autoref{eq:ZDF_Esbc} the standard TKE surface boundary condition, 
     
    387393penetrates in the ocean, $h_\tau$ is a vertical mixing length scale that controls exponential shape of 
    388394the penetration, and $f_i$ is the ice concentration 
    389 (no penetration if $f_i=1$, \ie if the ocean is entirely covered by sea-ice). 
    390 The value of $f_r$, usually a few percents, is specified through \np{rn\_efr} namelist parameter. 
    391 The vertical mixing length scale, $h_\tau$, can be set as a 10~m uniform value (\np{nn\_etau}\forcode{ = 0}) or 
     395(no penetration if $f_i=1$, \ie\ if the ocean is entirely covered by sea-ice). 
     396The value of $f_r$, usually a few percents, is specified through \np{rn_efr}{rn\_efr} namelist parameter. 
     397The vertical mixing length scale, $h_\tau$, can be set as a 10~m uniform value (\np[=0]{nn_etau}{nn\_etau}) or 
    392398a latitude dependent value (varying from 0.5~m at the Equator to a maximum value of 30~m at high latitudes 
    393 (\np{nn\_etau}\forcode{ = 1}).  
    394  
    395 Note that two other option exist, \np{nn\_etau}\forcode{ = 2, 3}. 
     399(\np[=1]{nn_etau}{nn\_etau}). 
     400 
     401Note that two other option exist, \np[=2, 3]{nn_etau}{nn\_etau}. 
    396402They correspond to applying \autoref{eq:ZDF_Ehtau} only at the base of the mixed layer, 
    397 or to using the high frequency part of the stress to evaluate the fraction of TKE that penetrates the ocean.  
     403or to using the high frequency part of the stress to evaluate the fraction of TKE that penetrates the ocean. 
    398404Those two options are obsolescent features introduced for test purposes. 
    399 They will be removed in the next release.  
     405They will be removed in the next release. 
    400406 
    401407% This should be explain better below what this rn_eice parameter is meant for: 
    402 In presence of Sea Ice, the value of this mixing can be modulated by the \np{rn\_eice} namelist parameter. 
     408In presence of Sea Ice, the value of this mixing can be modulated by the \np{rn_eice}{rn\_eice} namelist parameter. 
    403409This parameter varies from \forcode{0} for no effect to \forcode{4} to suppress the TKE input into the ocean when Sea Ice concentration 
    404 is greater than 25\%.  
    405  
    406 % from Burchard et al OM 2008 :  
    407 % the most critical process not reproduced by statistical turbulence models is the activity of  
    408 % internal waves and their interaction with turbulence. After the Reynolds decomposition,  
    409 % internal waves are in principle included in the RANS equations, but later partially  
    410 % excluded by the hydrostatic assumption and the model resolution.  
    411 % Thus far, the representation of internal wave mixing in ocean models has been relatively crude  
    412 % (\eg Mellor, 1989; Large et al., 1994; Meier, 2001; Axell, 2002; St. Laurent and Garrett, 2002). 
    413  
    414 % ------------------------------------------------------------------------------------------------------------- 
    415 %        GLS Generic Length Scale Scheme  
    416 % ------------------------------------------------------------------------------------------------------------- 
    417 \subsection[GLS: Generic Length Scale (\forcode{ln_zdfgls = .true.})] 
    418 {GLS: Generic Length Scale (\protect\np{ln\_zdfgls}\forcode{ = .true.})} 
     410is greater than 25\%. 
     411 
     412% from Burchard et al OM 2008 : 
     413% the most critical process not reproduced by statistical turbulence models is the activity of 
     414% internal waves and their interaction with turbulence. After the Reynolds decomposition, 
     415% internal waves are in principle included in the RANS equations, but later partially 
     416% excluded by the hydrostatic assumption and the model resolution. 
     417% Thus far, the representation of internal wave mixing in ocean models has been relatively crude 
     418% (\eg\ Mellor, 1989; Large et al., 1994; Meier, 2001; Axell, 2002; St. Laurent and Garrett, 2002). 
     419 
     420%% ================================================================================================= 
     421\subsection[GLS: Generic Length Scale (\forcode{ln_zdfgls})]{GLS: Generic Length Scale (\protect\np{ln_zdfgls}{ln\_zdfgls})} 
    419422\label{subsec:ZDF_gls} 
    420423 
    421 %--------------------------------------------namzdf_gls--------------------------------------------------------- 
    422  
    423 \nlst{namzdf_gls} 
    424 %-------------------------------------------------------------------------------------------------------------- 
     424\begin{listing} 
     425  \nlst{namzdf_gls} 
     426  \caption{\forcode{&namzdf_gls}} 
     427  \label{lst:namzdf_gls} 
     428\end{listing} 
    425429 
    426430The Generic Length Scale (GLS) scheme is a turbulent closure scheme based on two prognostic equations: 
    427431one for the turbulent kinetic energy $\bar {e}$, and another for the generic length scale, 
    428432$\psi$ \citep{umlauf.burchard_JMR03, umlauf.burchard_CSR05}. 
    429 This later variable is defined as: $\psi = {C_{0\mu}}^{p} \ {\bar{e}}^{m} \ l^{n}$,  
    430 where the triplet $(p, m, n)$ value given in Tab.\autoref{tab:GLS} allows to recover a number of 
     433This later variable is defined as: $\psi = {C_{0\mu}}^{p} \ {\bar{e}}^{m} \ l^{n}$, 
     434where the triplet $(p, m, n)$ value given in Tab.\autoref{tab:ZDF_GLS} allows to recover a number of 
    431435well-known turbulent closures ($k$-$kl$ \citep{mellor.yamada_RG82}, $k$-$\epsilon$ \citep{rodi_JGR87}, 
    432 $k$-$\omega$ \citep{wilcox_AJ88} among others \citep{umlauf.burchard_JMR03,kantha.carniel_JMR03}).  
     436$k$-$\omega$ \citep{wilcox_AJ88} among others \citep{umlauf.burchard_JMR03,kantha.carniel_JMR03}). 
    433437The GLS scheme is given by the following set of equations: 
    434438\begin{equation} 
    435   \label{eq:zdfgls_e} 
     439  \label{eq:ZDF_gls_e} 
    436440  \frac{\partial \bar{e}}{\partial t} = 
    437441  \frac{K_m}{\sigma_e e_3 }\;\left[ {\left( \frac{\partial u}{\partial k} \right)^2 
     
    443447 
    444448\[ 
    445   % \label{eq:zdfgls_psi} 
     449  % \label{eq:ZDF_gls_psi} 
    446450  \begin{split} 
    447451    \frac{\partial \psi}{\partial t} =& \frac{\psi}{\bar{e}} \left\{ 
     
    455459 
    456460\[ 
    457   % \label{eq:zdfgls_kz} 
     461  % \label{eq:ZDF_gls_kz} 
    458462  \begin{split} 
    459463    K_m    &= C_{\mu} \ \sqrt {\bar{e}} \ l         \\ 
     
    463467 
    464468\[ 
    465   % \label{eq:zdfgls_eps} 
     469  % \label{eq:ZDF_gls_eps} 
    466470  {\epsilon} = C_{0\mu} \,\frac{\bar {e}^{3/2}}{l} \; 
    467471\] 
    468472where $N$ is the local Brunt-Vais\"{a}l\"{a} frequency (see \autoref{subsec:TRA_bn2}) and 
    469 $\epsilon$ the dissipation rate.  
     473$\epsilon$ the dissipation rate. 
    470474The constants $C_1$, $C_2$, $C_3$, ${\sigma_e}$, ${\sigma_{\psi}}$ and the wall function ($Fw$) depends of 
    471475the choice of the turbulence model. 
    472 Four different turbulent models are pre-defined (\autoref{tab:GLS}). 
    473 They are made available through the \np{nn\_clo} namelist parameter.  
    474  
    475 %--------------------------------------------------TABLE-------------------------------------------------- 
     476Four different turbulent models are pre-defined (\autoref{tab:ZDF_GLS}). 
     477They are made available through the \np{nn_clo}{nn\_clo} namelist parameter. 
     478 
    476479\begin{table}[htbp] 
    477   \begin{center} 
    478     % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}c} 
    479     \begin{tabular}{ccccc} 
    480       &   $k-kl$   & $k-\epsilon$ & $k-\omega$ &   generic   \\ 
    481       % & \citep{mellor.yamada_RG82} &  \citep{rodi_JGR87}       & \citep{wilcox_AJ88} &                 \\ 
    482       \hline 
    483       \hline 
    484       \np{nn\_clo}     & \textbf{0} &   \textbf{1}  &   \textbf{2}   &    \textbf{3}   \\ 
    485       \hline 
    486       $( p , n , m )$          &   ( 0 , 1 , 1 )   & ( 3 , 1.5 , -1 )   & ( -1 , 0.5 , -1 )    &  ( 2 , 1 , -0.67 )  \\ 
    487       $\sigma_k$      &    2.44         &     1.              &      2.                &      0.8          \\ 
    488       $\sigma_\psi$  &    2.44         &     1.3            &      2.                 &       1.07       \\ 
    489       $C_1$              &      0.9         &     1.44          &      0.555          &       1.           \\ 
    490       $C_2$              &      0.5         &     1.92          &      0.833          &       1.22       \\ 
    491       $C_3$              &      1.           &     1.              &      1.                &       1.           \\ 
    492       $F_{wall}$        &      Yes        &       --             &     --                  &      --          \\ 
    493       \hline 
    494       \hline 
    495     \end{tabular} 
    496     \caption{ 
    497       \protect\label{tab:GLS} 
    498       Set of predefined GLS parameters, or equivalently predefined turbulence models available with 
    499       \protect\np{ln\_zdfgls}\forcode{ = .true.} and controlled by the \protect\np{nn\_clos} namelist variable in \protect\ngn{namzdf\_gls}. 
    500     } 
    501   \end{center} 
     480  \centering 
     481  % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}c} 
     482  \begin{tabular}{ccccc} 
     483    &   $k-kl$   & $k-\epsilon$ & $k-\omega$ &   generic   \\ 
     484    % & \citep{mellor.yamada_RG82} &  \citep{rodi_JGR87}       & \citep{wilcox_AJ88} &                 \\ 
     485    \hline 
     486    \hline 
     487    \np{nn_clo}{nn\_clo}     & \textbf{0} &   \textbf{1}  &   \textbf{2}   &    \textbf{3}   \\ 
     488    \hline 
     489    $( p , n , m )$         &   ( 0 , 1 , 1 )   & ( 3 , 1.5 , -1 )   & ( -1 , 0.5 , -1 )    &  ( 2 , 1 , -0.67 )  \\ 
     490    $\sigma_k$      &    2.44         &     1.              &      2.                &      0.8          \\ 
     491    $\sigma_\psi$  &    2.44         &     1.3            &      2.                 &       1.07       \\ 
     492    $C_1$              &      0.9         &     1.44          &      0.555          &       1.           \\ 
     493    $C_2$              &      0.5         &     1.92          &      0.833          &       1.22       \\ 
     494    $C_3$              &      1.           &     1.              &      1.                &       1.           \\ 
     495    $F_{wall}$        &      Yes        &       --             &     --                  &      --          \\ 
     496    \hline 
     497    \hline 
     498  \end{tabular} 
     499  \caption[Set of predefined GLS parameters or equivalently predefined turbulence models available]{ 
     500    Set of predefined GLS parameters, or equivalently predefined turbulence models available with 
     501    \protect\np[=.true.]{ln_zdfgls}{ln\_zdfgls} and controlled by 
     502    the \protect\np{nn_clos}{nn\_clos} namelist variable in \protect\nam{zdf_gls}{zdf\_gls}.} 
     503  \label{tab:ZDF_GLS} 
    502504\end{table} 
    503 %-------------------------------------------------------------------------------------------------------------- 
    504505 
    505506In the Mellor-Yamada model, the negativity of $n$ allows to use a wall function to force the convergence of 
     
    508509$C_{\mu}$ and $C_{\mu'}$ are calculated from stability function proposed by \citet{galperin.kantha.ea_JAS88}, 
    509510or by \citet{kantha.clayson_JGR94} or one of the two functions suggested by \citet{canuto.howard.ea_JPO01} 
    510 (\np{nn\_stab\_func}\forcode{ = 0, 3}, resp.).   
     511(\np[=0, 3]{nn_stab_func}{nn\_stab\_func}, resp.). 
    511512The value of $C_{0\mu}$ depends on the choice of the stability function. 
    512513 
    513514The surface and bottom boundary condition on both $\bar{e}$ and $\psi$ can be calculated thanks to Dirichlet or 
    514 Neumann condition through \np{nn\_bc\_surf} and \np{nn\_bc\_bot}, resp. 
     515Neumann condition through \np{nn_bc_surf}{nn\_bc\_surf} and \np{nn_bc_bot}{nn\_bc\_bot}, resp. 
    515516As for TKE closure, the wave effect on the mixing is considered when 
    516 \np{rn\_crban}\forcode{ > 0.} \citep{craig.banner_JPO94, mellor.blumberg_JPO04}. 
    517 The \np{rn\_crban} namelist parameter is $\alpha_{CB}$ in \autoref{eq:ZDF_Esbc} and 
    518 \np{rn\_charn} provides the value of $\beta$ in \autoref{eq:ZDF_Lsbc}.  
     517\np[ > 0.]{rn_crban}{rn\_crban} \citep{craig.banner_JPO94, mellor.blumberg_JPO04}. 
     518The \np{rn_crban}{rn\_crban} namelist parameter is $\alpha_{CB}$ in \autoref{eq:ZDF_Esbc} and 
     519\np{rn_charn}{rn\_charn} provides the value of $\beta$ in \autoref{eq:ZDF_Lsbc}. 
    519520 
    520521The $\psi$ equation is known to fail in stably stratified flows, and for this reason 
     
    525526the entrainment depth predicted in stably stratified situations, 
    526527and that its value has to be chosen in accordance with the algebraic model for the turbulent fluxes. 
    527 The clipping is only activated if \np{ln\_length\_lim}\forcode{ = .true.}, 
    528 and the $c_{lim}$ is set to the \np{rn\_clim\_galp} value. 
     528The clipping is only activated if \np[=.true.]{ln_length_lim}{ln\_length\_lim}, 
     529and the $c_{lim}$ is set to the \np{rn_clim_galp}{rn\_clim\_galp} value. 
    529530 
    530531The time and space discretization of the GLS equations follows the same energetic consideration as for 
    531532the TKE case described in \autoref{subsec:ZDF_tke_ene} \citep{burchard_OM02}. 
    532533Evaluation of the 4 GLS turbulent closure schemes can be found in \citet{warner.sherwood.ea_OM05} in ROMS model and 
    533  in \citet{reffray.guillaume.ea_GMD15} for the \NEMO model. 
    534  
     534 in \citet{reffray.guillaume.ea_GMD15} for the \NEMO\ model. 
    535535 
    536536% ------------------------------------------------------------------------------------------------------------- 
    537 %        OSM OSMOSIS BL Scheme  
     537%        OSM OSMOSIS BL Scheme 
    538538% ------------------------------------------------------------------------------------------------------------- 
    539 \subsection[OSM: OSMosis boundary layer scheme (\forcode{ln_zdfosm = .true.})] 
    540 {OSM: OSMosis boundary layer scheme (\protect\np{ln\_zdfosm}\forcode{ = .true.})} 
     539\subsection[OSM: OSMOSIS boundary layer scheme (\forcode{ln_zdfosm = .true.})] 
     540{OSM: OSMOSIS boundary layer scheme (\protect\np{ln_zdfosm}{ln\_zdfosm})} 
    541541\label{subsec:ZDF_osm} 
    542 %--------------------------------------------namzdf_osm--------------------------------------------------------- 
    543  
    544 \nlst{namzdf_osm} 
     542 
     543\begin{listing} 
     544  \nlst{namzdf_osm} 
     545  \caption{\forcode{&namzdf_osm}} 
     546  \label{lst:namzdf_osm} 
     547\end{listing} 
     548 
    545549%-------------------------------------------------------------------------------------------------------------- 
    546  
    547 The OSMOSIS turbulent closure scheme is based on......   TBC 
    548  
    549 % ------------------------------------------------------------------------------------------------------------- 
    550 %        TKE and GLS discretization considerations 
    551 % ------------------------------------------------------------------------------------------------------------- 
    552 \subsection[ Discrete energy conservation for TKE and GLS schemes] 
    553 {Discrete energy conservation for TKE and GLS schemes} 
    554 \label{subsec:ZDF_tke_ene} 
    555  
    556 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     550\paragraph{Namelist choices} 
     551Most of the namelist options refer to how to specify the Stokes 
     552surface drift and penetration depth. There are three options: 
     553\begin{description} 
     554  \item \protect\np[=0]{nn_osm_wave}{nn\_osm\_wave} Default value in \texttt{namelist\_ref}. In this case the Stokes drift is 
     555      assumed to be parallel to the surface wind stress, with 
     556      magnitude consistent with a constant turbulent Langmuir number 
     557    $\mathrm{La}_t=$ \protect\np{rn_m_la} {rn\_m\_la} i.e.\ 
     558    $u_{s0}=\tau/(\mathrm{La}_t^2\rho_0)$.  Default value of 
     559    \protect\np{rn_m_la}{rn\_m\_la} is 0.3. The Stokes penetration 
     560      depth $\delta = $ \protect\np{rn_osm_dstokes}{rn\_osm\_dstokes}; this has default value 
     561      of 5~m. 
     562 
     563  \item \protect\np[=1]{nn_osm_wave}{nn\_osm\_wave} In this case the Stokes drift is 
     564      assumed to be parallel to the surface wind stress, with 
     565      magnitude as in the classical Pierson-Moskowitz wind-sea 
     566      spectrum.  Significant wave height and 
     567      wave-mean period taken from this spectrum are used to calculate the Stokes penetration 
     568      depth, following the approach set out in  \citet{breivik.janssen.ea_JPO14}. 
     569 
     570    \item \protect\np[=2]{nn_osm_wave}{nn\_osm\_wave} In this case the Stokes drift is 
     571      taken from  ECMWF wave model output, though only the component parallel 
     572      to the wind stress is retained. Significant wave height and 
     573      wave-mean period from ECMWF wave model output are used to calculate the Stokes penetration 
     574      depth, again following \citet{breivik.janssen.ea_JPO14}. 
     575 
     576    \end{description} 
     577 
     578    Others refer to the treatment of diffusion and viscosity beneath 
     579    the surface boundary layer: 
     580\begin{description} 
     581   \item \protect\np{ln_kpprimix} {ln\_kpprimix}  Default is \np{.true.}. Switches on KPP-style Ri \#-dependent 
     582     mixing below the surface boundary layer. If this is set 
     583     \texttt{.true.}  the following variable settings are honoured: 
     584    \item \protect\np{rn_riinfty}{rn\_riinfty} Critical value of local Ri \# below which 
     585      shear instability increases vertical mixing from background value. 
     586    \item \protect\np{rn_difri} {rn\_difri} Maximum value of Ri \#-dependent mixing at $\mathrm{Ri}=0$. 
     587    \item \protect\np{ln_convmix}{ln\_convmix} If \texttt{.true.} then, where water column is unstable, specify 
     588       diffusivity equal to \protect\np{rn_dif_conv}{rn\_dif\_conv} (default value is 1 m~s$^{-2}$). 
     589 \end{description} 
     590 Diagnostic output is controlled by: 
     591  \begin{description} 
     592    \item \protect\np{ln_dia_osm}{ln\_dia\_osm} Default is \np{.false.}; allows XIOS output of OSMOSIS internal fields. 
     593  \end{description} 
     594Obsolete namelist parameters include: 
     595\begin{description} 
     596   \item \protect\np{ln_use_osm_la}\np{ln\_use\_osm\_la} With \protect\np[=0]{nn_osm_wave}{nn\_osm\_wave}, 
     597      \protect\np{rn_osm_dstokes} {rn\_osm\_dstokes} is always used to specify the Stokes 
     598      penetration depth. 
     599   \item \protect\np{nn_ave} {nn\_ave} Choice of averaging method for KPP-style Ri \# 
     600      mixing. Not taken account of. 
     601   \item \protect\np{rn_osm_hbl0} {rn\_osm\_hbl0} Depth of initial boundary layer is now set 
     602     by a density criterion similar to that used in calculating \emph{hmlp} (output as \texttt{mldr10\_1}) in \mdl{zdfmxl}. 
     603\end{description} 
     604 
     605\subsubsection{Summary} 
     606Much of the time the turbulent motions in the ocean surface boundary 
     607layer (OSBL) are not given by 
     608classical shear turbulence. Instead they are in a regime known as 
     609`Langmuir turbulence',  dominated by an 
     610interaction between the currents and the Stokes drift of the surface waves \citep[e.g.][]{mcwilliams.ea_JFM97}. 
     611This regime is characterised by strong vertical turbulent motion, and appears when the surface Stokes drift $u_{s0}$ is much greater than the friction velocity $u_{\ast}$. More specifically Langmuir turbulence is thought to be crucial where the turbulent Langmuir number $\mathrm{La}_{t}=(u_{\ast}/u_{s0}) > 0.4$. 
     612 
     613The OSMOSIS model is fundamentally based on results of Large Eddy 
     614Simulations (LES) of Langmuir turbulence and aims to fully describe 
     615this Langmuir regime. The description in this section is of necessity incomplete and further details are available in Grant. A (2019); in prep. 
     616 
     617The OSMOSIS turbulent closure scheme is a similarity-scale scheme in 
     618the same spirit as the K-profile 
     619parameterization (KPP) scheme of \citet{large.ea_RG97}. 
     620A specified shape of diffusivity, scaled by the (OSBL) depth 
     621$h_{\mathrm{BL}}$ and a turbulent velocity scale, is imposed throughout the 
     622boundary layer 
     623$-h_{\mathrm{BL}}<z<\eta$. The turbulent closure model 
     624also includes fluxes of tracers and momentum that are``non-local'' (independent of the local property gradient). 
     625 
     626Rather than the OSBL 
     627depth being diagnosed in terms of a bulk Richardson number criterion, 
     628as in KPP, it is set by a prognostic equation that is informed by 
     629energy budget considerations reminiscent of the classical mixed layer 
     630models of \citet{kraus.turner_tellus67}. 
     631The model also includes an explicit parametrization of the structure 
     632of the pycnocline (the stratified region at the bottom of the OSBL). 
     633 
     634Presently, mixing below the OSBL is handled by the Richardson 
     635number-dependent mixing scheme used in \citet{large.ea_RG97}. 
     636 
     637Convective parameterizations such as described in \ref{sec:ZDF_conv} 
     638below should not be used with the OSMOSIS-OBL model: instabilities 
     639within the OSBL are part of the model, while instabilities below the 
     640ML are handled by the Ri \# dependent scheme. 
     641 
     642\subsubsection{Depth and velocity scales} 
     643The model supposes a boundary layer of thickness $h_{\mathrm{bl}}$ enclosing a well-mixed layer of thickness $h_{\mathrm{ml}}$ and a relatively thin pycnocline at the base of thickness $\Delta h$; Fig.~\ref{fig: OSBL_structure} shows typical (a) buoyancy structure and (b) turbulent buoyancy flux profile for the unstable boundary layer (losing buoyancy at the surface; e.g.\ cooling). 
    557644\begin{figure}[!t] 
    558645  \begin{center} 
    559     \includegraphics[width=\textwidth]{Fig_ZDF_TKE_time_scheme} 
     646    %\includegraphics[width=0.7\textwidth]{ZDF_OSM_structure_of_OSBL} 
    560647    \caption{ 
    561       \protect\label{fig:TKE_time_scheme} 
    562       Illustration of the subgrid kinetic energy integration in GLS and TKE schemes and its links to the momentum and tracer time integration. 
     648      \protect\label{fig: OSBL_structure} 
     649     The structure of the entraining  boundary layer. (a) Mean buoyancy profile. (b) Profile of the buoyancy flux. 
    563650    } 
    564   \end{center}   
     651  \end{center} 
    565652\end{figure} 
    566 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     653The pycnocline in the OSMOSIS scheme is assumed to have a finite thickness, and may include a number of model levels. This means that the OSMOSIS scheme must parametrize both the thickness of the pycnocline, and the turbulent fluxes within the pycnocline. 
     654 
     655Consideration of the power input by wind acting on the Stokes drift suggests that the Langmuir turbulence has velocity scale: 
     656\begin{equation}\label{eq:w_La} 
     657w_{*L}= \left(u_*^2 u_{s\,0}\right)^{1/3}; 
     658\end{equation} 
     659but at times the Stokes drift may be weak due to e.g.\ ice cover, short fetch, misalignment with the surface stress, etc.\ so  a composite velocity scale is assumed for the stable (warming) boundary layer: 
     660\begin{equation}\label{eq:composite-nu} 
     661  \nu_{\ast}= \left\{ u_*^3 \left[1-\exp(-.5 \mathrm{La}_t^2)\right]+w_{*L}^3\right\}^{1/3}. 
     662\end{equation} 
     663For the unstable boundary layer this is merged with the standard convective velocity scale $w_{*C}=\left(\overline{w^\prime b^\prime}_0 \,h_\mathrm{ml}\right)^{1/3}$, where $\overline{w^\prime b^\prime}_0$ is the upwards surface buoyancy flux, to give: 
     664\begin{equation}\label{eq:vel-scale-unstable} 
     665\omega_* = \left(\nu_*^3 + 0.5 w_{*C}^3\right)^{1/3}. 
     666\end{equation} 
     667 
     668\subsubsection{The flux gradient model} 
     669The flux-gradient relationships used in the OSMOSIS scheme take the form: 
     670% 
     671\begin{equation}\label{eq:flux-grad-gen} 
     672\overline{w^\prime\chi^\prime}=-K\frac{\partial\overline{\chi}}{\partial z} + N_{\chi,s} +N_{\chi,b} +N_{\chi,t}, 
     673\end{equation} 
     674% 
     675where $\chi$ is a general variable and $N_{\chi,s}, N_{\chi,b} \mathrm{and} N_{\chi,t}$  are the non-gradient terms, and represent the effects of the different terms in the turbulent flux-budget on the transport of $\chi$. $N_{\chi,s}$ represents the effects that the Stokes shear has on the transport of $\chi$, $N_{\chi,b}$  the effect of buoyancy, and $N_{\chi,t}$ the effect of the turbulent transport.  The same general form for the flux-gradient relationship is used to parametrize the transports of momentum, heat and salinity. 
     676 
     677In terms of the non-dimensionalized depth variables 
     678% 
     679\begin{equation}\label{eq:sigma} 
     680\sigma_{\mathrm{ml}}= -z/h_{\mathrm{ml}}; \;\sigma_{\mathrm{bl}}= -z/h_{\mathrm{bl}}, 
     681\end{equation} 
     682% 
     683in unstable conditions the eddy diffusivity ($K_d$) and eddy viscosity ($K_\nu$) profiles are parametrized as: 
     684% 
     685\begin{align}\label{eq:diff-unstable} 
     686K_d=&0.8\, \omega_*\, h_{\mathrm{ml}} \, \sigma_{\mathrm{ml}} \left(1-\beta_d \sigma_{\mathrm{ml}}\right)^{3/2} 
     687\\\label{eq:visc-unstable} 
     688K_\nu =& 0.3\, \omega_* \,h_{\mathrm{ml}}\, \sigma_{\mathrm{ml}} \left(1-\beta_\nu \sigma_{\mathrm{ml}}\right)\left(1-\tfrac{1}{2}\sigma_{\mathrm{ml}}^2\right) 
     689\end{align} 
     690% 
     691where $\beta_d$ and $\beta_\nu$ are parameters that are determined by matching Eqs \ref{eq:diff-unstable} and \ref{eq:visc-unstable} to the eddy diffusivity and viscosity at the base of the well-mixed layer, given by 
     692% 
     693\begin{equation}\label{eq:diff-wml-base} 
     694K_{d,\mathrm{ml}}=K_{\nu,\mathrm{ml}}=\,0.16\,\omega_* \Delta h. 
     695\end{equation} 
     696% 
     697For stable conditions the eddy diffusivity/viscosity profiles are given by: 
     698% 
     699\begin{align}\label{diff-stable} 
     700K_d= & 0.75\,\, \nu_*\, h_{\mathrm{ml}}\,\,  \exp\left[-2.8 \left(h_{\mathrm{bl}}/L_L\right)^2\right]\sigma_{\mathrm{ml}} \left(1-\sigma_{\mathrm{ml}}\right)^{3/2} \\\label{eq:visc-stable} 
     701K_\nu = & 0.375\,\,  \nu_*\, h_{\mathrm{ml}} \,\, \exp\left[-2.8 \left(h_{\mathrm{bl}}/L_L\right)^2\right] \sigma_{\mathrm{ml}} \left(1-\sigma_{\mathrm{ml}}\right)\left(1-\tfrac{1}{2}\sigma_{\mathrm{ml}}^2\right). 
     702\end{align} 
     703% 
     704The shape of the eddy viscosity and diffusivity profiles is the same as the shape in the unstable OSBL. The eddy diffusivity/viscosity depends on the stability parameter $h_{\mathrm{bl}}/{L_L}$ where $ L_L$ is analogous to the Obukhov length, but for Langmuir turbulence: 
     705\begin{equation}\label{eq:L_L} 
     706  L_L=-w_{*L}^3/\left<\overline{w^\prime b^\prime}\right>_L, 
     707\end{equation} 
     708with the mean turbulent buoyancy flux averaged over the boundary layer given in terms of its surface value $\overline{w^\prime b^\prime}_0$ and (downwards) )solar irradiance $I(z)$ by 
     709\begin{equation} \label{eq:stable-av-buoy-flux} 
     710\left<\overline{w^\prime b^\prime}\right>_L = \tfrac{1}{2} {\overline{w^\prime b^\prime}}_0-g\alpha_E\left[\tfrac{1}{2}(I(0)+I(-h))-\left<I\right>\right]. 
     711\end{equation} 
     712% 
     713In unstable conditions the eddy diffusivity and viscosity depend on stability through the velocity scale $\omega_*$, which depends on the two velocity scales $\nu_*$ and $w_{*C}$. 
     714 
     715Details of the non-gradient terms in \eqref{eq:flux-grad-gen} and of the fluxes within the pycnocline $-h_{\mathrm{bl}}<z<h_{\mathrm{ml}}$ can be found in Grant (2019). 
     716 
     717\subsubsection{Evolution of the boundary layer depth} 
     718 
     719The prognostic equation for the depth of the neutral/unstable boundary layer is given by \citep{grant+etal18}, 
     720 
     721\begin{equation} \label{eq:dhdt-unstable} 
     722%\frac{\partial h_\mathrm{bl}}{\partial t} + \mathbf{U}_b\cdot\nabla h_\mathrm{bl}= W_b - \frac{{\overline{w^\prime b^\prime}}_\mathrm{ent}}{\Delta B_\mathrm{bl}} 
     723\frac{\partial h_\mathrm{bl}}{\partial t} = W_b - \frac{{\overline{w^\prime b^\prime}}_\mathrm{ent}}{\Delta B_\mathrm{bl}} 
     724\end{equation} 
     725where $h_\mathrm{bl}$ is the horizontally-varying depth of the OSBL, 
     726$\mathbf{U}_b$ and $W_b$ are the mean horizontal and vertical 
     727velocities at the base of the OSBL, ${\overline{w^\prime 
     728    b^\prime}}_\mathrm{ent}$ is the buoyancy flux due to entrainment 
     729and $\Delta B_\mathrm{bl}$ is the difference between the buoyancy 
     730averaged over the depth of the OSBL (i.e.\ including the ML and 
     731pycnocline) and the buoyancy just below the base of the OSBL. This 
     732equation for the case when the pycnocline has a finite thickness, 
     733based on the potential energy budget of the OSBL, is the leading term 
     734\citep{grant+etal18} of a generalization of that used in mixed-layer 
     735models e.g.\ \citet{kraus.turner_tellus67}, in which the thickness of the pycnocline is taken to be zero. 
     736 
     737The entrainment flux for the combination of convective and Langmuir turbulence is given by 
     738\begin{equation} \label{eq:entrain-flux} 
     739  {\overline{w^\prime b^\prime}}_\mathrm{ent} = -\alpha_{\mathrm{B}} {\overline{w^\prime b^\prime}}_0 - \alpha_{\mathrm{S}} \frac{u_*^3}{h_{\mathrm{ml}}} 
     740  + G\left(\delta/h_{\mathrm{ml}} \right)\left[\alpha_{\mathrm{S}}e^{-1.5\, \mathrm{La}_t}-\alpha_{\mathrm{L}} \frac{w_{\mathrm{*L}}^3}{h_{\mathrm{ml}}}\right] 
     741\end{equation} 
     742where the factor $G\equiv 1 - \mathrm{e}^ {-25\delta/h_{\mathrm{bl}}}(1-4\delta/h_{\mathrm{bl}})$ models the lesser efficiency of Langmuir mixing when the boundary-layer depth is much greater than the Stokes depth, and $\alpha_{\mathrm{B}}$, $\alpha_{S}$  and $\alpha_{\mathrm{L}}$ depend on the ratio of the appropriate eddy turnover time to the inertial timescale $f^{-1}$. Results from the LES suggest $\alpha_{\mathrm{B}}=0.18 F(fh_{\mathrm{bl}}/w_{*C})$, $\alpha_{S}=0.15 F(fh_{\mathrm{bl}}/u_*$  and $\alpha_{\mathrm{L}}=0.035 F(fh_{\mathrm{bl}}/u_{*L})$, where $F(x)\equiv\tanh(x^{-1})^{0.69}$. 
     743 
     744For the stable boundary layer, the equation for the depth of the OSBL is: 
     745 
     746\begin{equation}\label{eq:dhdt-stable} 
     747\max\left(\Delta B_{bl},\frac{w_{*L}^2}{h_\mathrm{bl}}\right)\frac{\partial h_\mathrm{bl}}{\partial t} = \left(0.06 + 0.52\,\frac{ h_\mathrm{bl}}{L_L}\right) \frac{w_{*L}^3}{h_\mathrm{bl}} +\left<\overline{w^\prime b^\prime}\right>_L. 
     748\end{equation} 
     749 
     750Equation. \ref{eq:dhdt-unstable} always leads to the depth of the entraining OSBL increasing (ignoring the effect of the mean vertical motion), but the change in the thickness of the stable OSBL given by Eq. \ref{eq:dhdt-stable} can be positive or negative, depending on the magnitudes of $\left<\overline{w^\prime b^\prime}\right>_L$ and $h_\mathrm{bl}/L_L$. The rate at which the depth of the OSBL can decrease is limited by choosing an effective buoyancy $w_{*L}^2/h_\mathrm{bl}$, in place of $\Delta B_{bl}$ which will be $\approx 0$ for the collapsing OSBL. 
     751 
     752 
     753%% ================================================================================================= 
     754\subsection[ Discrete energy conservation for TKE and GLS schemes]{Discrete energy conservation for TKE and GLS schemes} 
     755\label{subsec:ZDF_tke_ene} 
     756 
     757\begin{figure}[!t] 
     758  \centering 
     759  \includegraphics[width=0.66\textwidth]{ZDF_TKE_time_scheme} 
     760  \caption[Subgrid kinetic energy integration in GLS and TKE schemes]{ 
     761    Illustration of the subgrid kinetic energy integration in GLS and TKE schemes and 
     762    its links to the momentum and tracer time integration.} 
     763  \label{fig:ZDF_TKE_time_scheme} 
     764\end{figure} 
    567765 
    568766The production of turbulence by vertical shear (the first term of the right hand side of 
    569 \autoref{eq:zdftke_e}) and  \autoref{eq:zdfgls_e}) should balance the loss of kinetic energy associated with the vertical momentum diffusion 
    570 (first line in \autoref{eq:PE_zdf}). 
     767\autoref{eq:ZDF_tke_e}) and  \autoref{eq:ZDF_gls_e}) should balance the loss of kinetic energy associated with the vertical momentum diffusion 
     768(first line in \autoref{eq:MB_zdf}). 
    571769To do so a special care has to be taken for both the time and space discretization of 
    572770the kinetic energy equation \citep{burchard_OM02,marsaleix.auclair.ea_OM08}. 
    573771 
    574 Let us first address the time stepping issue. \autoref{fig:TKE_time_scheme} shows how 
     772Let us first address the time stepping issue. \autoref{fig:ZDF_TKE_time_scheme} shows how 
    575773the two-level Leap-Frog time stepping of the momentum and tracer equations interplays with 
    576774the one-level forward time stepping of the equation for $\bar{e}$. 
    577775With this framework, the total loss of kinetic energy (in 1D for the demonstration) due to 
    578776the vertical momentum diffusion is obtained by multiplying this quantity by $u^t$ and 
    579 summing the result vertically:    
     777summing the result vertically: 
    580778\begin{equation} 
    581   \label{eq:energ1} 
     779  \label{eq:ZDF_energ1} 
    582780  \begin{split} 
    583781    \int_{-H}^{\eta}  u^t \,\partial_z &\left( {K_m}^t \,(\partial_z u)^{t+\rdt}  \right) \,dz   \\ 
     
    587785\end{equation} 
    588786Here, the vertical diffusion of momentum is discretized backward in time with a coefficient, $K_m$, 
    589 known at time $t$ (\autoref{fig:TKE_time_scheme}), as it is required when using the TKE scheme 
    590 (see \autoref{sec:STP_forward_imp}). 
    591 The first term of the right hand side of \autoref{eq:energ1} represents the kinetic energy transfer at 
     787known at time $t$ (\autoref{fig:ZDF_TKE_time_scheme}), as it is required when using the TKE scheme 
     788(see \autoref{sec:TD_forward_imp}). 
     789The first term of the right hand side of \autoref{eq:ZDF_energ1} represents the kinetic energy transfer at 
    592790the surface (atmospheric forcing) and at the bottom (friction effect). 
    593791The second term is always negative. 
    594792It is the dissipation rate of kinetic energy, and thus minus the shear production rate of $\bar{e}$. 
    595 \autoref{eq:energ1} implies that, to be energetically consistent, 
     793\autoref{eq:ZDF_energ1} implies that, to be energetically consistent, 
    596794the production rate of $\bar{e}$ used to compute $(\bar{e})^t$ (and thus ${K_m}^t$) should be expressed as 
    597795${K_m}^{t-\rdt}\,(\partial_z u)^{t-\rdt} \,(\partial_z u)^t$ 
     
    599797 
    600798A similar consideration applies on the destruction rate of $\bar{e}$ due to stratification 
    601 (second term of the right hand side of \autoref{eq:zdftke_e} and \autoref{eq:zdfgls_e}). 
     799(second term of the right hand side of \autoref{eq:ZDF_tke_e} and \autoref{eq:ZDF_gls_e}). 
    602800This term must balance the input of potential energy resulting from vertical mixing. 
    603801The rate of change of potential energy (in 1D for the demonstration) due to vertical mixing is obtained by 
    604802multiplying the vertical density diffusion tendency by $g\,z$ and and summing the result vertically: 
    605803\begin{equation} 
    606   \label{eq:energ2} 
     804  \label{eq:ZDF_energ2} 
    607805  \begin{split} 
    608806    \int_{-H}^{\eta} g\,z\,\partial_z &\left( {K_\rho}^t \,(\partial_k \rho)^{t+\rdt}   \right) \,dz    \\ 
     
    613811  \end{split} 
    614812\end{equation} 
    615 where we use $N^2 = -g \,\partial_k \rho / (e_3 \rho)$.  
    616 The first term of the right hand side of \autoref{eq:energ2} is always zero because 
     813where we use $N^2 = -g \,\partial_k \rho / (e_3 \rho)$. 
     814The first term of the right hand side of \autoref{eq:ZDF_energ2} is always zero because 
    617815there is no diffusive flux through the ocean surface and bottom). 
    618816The second term is minus the destruction rate of  $\bar{e}$ due to stratification. 
    619 Therefore \autoref{eq:energ1} implies that, to be energetically consistent, 
    620 the product ${K_\rho}^{t-\rdt}\,(N^2)^t$ should be used in \autoref{eq:zdftke_e} and  \autoref{eq:zdfgls_e}. 
     817Therefore \autoref{eq:ZDF_energ1} implies that, to be energetically consistent, 
     818the product ${K_\rho}^{t-\rdt}\,(N^2)^t$ should be used in \autoref{eq:ZDF_tke_e} and  \autoref{eq:ZDF_gls_e}. 
    621819 
    622820Let us now address the space discretization issue. 
    623821The vertical eddy coefficients are defined at $w$-point whereas the horizontal velocity components are in 
    624 the centre of the side faces of a $t$-box in staggered C-grid (\autoref{fig:cell}). 
     822the centre of the side faces of a $t$-box in staggered C-grid (\autoref{fig:DOM_cell}). 
    625823A space averaging is thus required to obtain the shear TKE production term. 
    626 By redoing the \autoref{eq:energ1} in the 3D case, it can be shown that the product of eddy coefficient by 
     824By redoing the \autoref{eq:ZDF_energ1} in the 3D case, it can be shown that the product of eddy coefficient by 
    627825the shear at $t$ and $t-\rdt$ must be performed prior to the averaging. 
    628826Furthermore, the time variation of $e_3$ has be taken into account. 
     
    630828The above energetic considerations leads to the following final discrete form for the TKE equation: 
    631829\begin{equation} 
    632   \label{eq:zdftke_ene} 
     830  \label{eq:ZDF_tke_ene} 
    633831  \begin{split} 
    634832    \frac { (\bar{e})^t - (\bar{e})^{t-\rdt} } {\rdt}  \equiv 
     
    647845  \end{split} 
    648846\end{equation} 
    649 where the last two terms in \autoref{eq:zdftke_ene} (vertical diffusion and Kolmogorov dissipation) 
    650 are time stepped using a backward scheme (see\autoref{sec:STP_forward_imp}). 
     847where the last two terms in \autoref{eq:ZDF_tke_ene} (vertical diffusion and Kolmogorov dissipation) 
     848are time stepped using a backward scheme (see\autoref{sec:TD_forward_imp}). 
    651849Note that the Kolmogorov term has been linearized in time in order to render the implicit computation possible. 
    652850%The restart of the TKE scheme requires the storage of $\bar {e}$, $K_m$, $K_\rho$ and $l_\epsilon$ as 
    653 %they all appear in the right hand side of \autoref{eq:zdftke_ene}. 
    654 %For the latter, it is in fact the ratio $\sqrt{\bar{e}}/l_\epsilon$ which is stored.  
    655  
    656 % ================================================================ 
    657 % Convection 
    658 % ================================================================ 
     851%they all appear in the right hand side of \autoref{eq:ZDF_tke_ene}. 
     852%For the latter, it is in fact the ratio $\sqrt{\bar{e}}/l_\epsilon$ which is stored. 
     853 
     854%% ================================================================================================= 
    659855\section{Convection} 
    660856\label{sec:ZDF_conv} 
    661857 
    662 Static instabilities (\ie light potential densities under heavy ones) may occur at particular ocean grid points. 
     858Static instabilities (\ie\ light potential densities under heavy ones) may occur at particular ocean grid points. 
    663859In nature, convective processes quickly re-establish the static stability of the water column. 
    664860These processes have been removed from the model via the hydrostatic assumption so they must be parameterized. 
     
    667863or/and the use of a turbulent closure scheme. 
    668864 
    669 % ------------------------------------------------------------------------------------------------------------- 
    670 %       Non-Penetrative Convective Adjustment  
    671 % ------------------------------------------------------------------------------------------------------------- 
    672 \subsection[Non-penetrative convective adjustment (\forcode{ln_tranpc = .true.})] 
    673 {Non-penetrative convective adjustment (\protect\np{ln\_tranpc}\forcode{ = .true.})} 
     865%% ================================================================================================= 
     866\subsection[Non-penetrative convective adjustment (\forcode{ln_tranpc})]{Non-penetrative convective adjustment (\protect\np{ln_tranpc}{ln\_tranpc})} 
    674867\label{subsec:ZDF_npc} 
    675868 
    676 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    677869\begin{figure}[!htb] 
    678   \begin{center} 
    679     \includegraphics[width=\textwidth]{Fig_npc} 
    680     \caption{ 
    681       \protect\label{fig:npc} 
    682       Example of an unstable density profile treated by the non penetrative convective adjustment algorithm. 
    683       $1^{st}$ step: the initial profile is checked from the surface to the bottom. 
    684       It is found to be unstable between levels 3 and 4. 
    685       They are mixed. 
    686       The resulting $\rho$ is still larger than $\rho$(5): levels 3 to 5 are mixed. 
    687       The resulting $\rho$ is still larger than $\rho$(6): levels 3 to 6 are mixed. 
    688       The $1^{st}$ step ends since the density profile is then stable below the level 3. 
    689       $2^{nd}$ step: the new $\rho$ profile is checked following the same procedure as in $1^{st}$ step: 
    690       levels 2 to 5 are mixed. 
    691       The new density profile is checked. 
    692       It is found stable: end of algorithm. 
    693     } 
    694   \end{center} 
     870  \centering 
     871  \includegraphics[width=0.66\textwidth]{ZDF_npc} 
     872  \caption[Unstable density profile treated by the non penetrative convective adjustment algorithm]{ 
     873    Example of an unstable density profile treated by 
     874    the non penetrative convective adjustment algorithm. 
     875    $1^{st}$ step: the initial profile is checked from the surface to the bottom. 
     876    It is found to be unstable between levels 3 and 4. 
     877    They are mixed. 
     878    The resulting $\rho$ is still larger than $\rho$(5): levels 3 to 5 are mixed. 
     879    The resulting $\rho$ is still larger than $\rho$(6): levels 3 to 6 are mixed. 
     880    The $1^{st}$ step ends since the density profile is then stable below the level 3. 
     881    $2^{nd}$ step: the new $\rho$ profile is checked following the same procedure as in $1^{st}$ step: 
     882    levels 2 to 5 are mixed. 
     883    The new density profile is checked. 
     884    It is found stable: end of algorithm.} 
     885  \label{fig:ZDF_npc} 
    695886\end{figure} 
    696 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    697  
    698 Options are defined through the \ngn{namzdf} namelist variables. 
    699 The non-penetrative convective adjustment is used when \np{ln\_zdfnpc}\forcode{ = .true.}. 
    700 It is applied at each \np{nn\_npc} time step and mixes downwards instantaneously the statically unstable portion of 
     887 
     888Options are defined through the \nam{zdf}{zdf} namelist variables. 
     889The non-penetrative convective adjustment is used when \np[=.true.]{ln_zdfnpc}{ln\_zdfnpc}. 
     890It is applied at each \np{nn_npc}{nn\_npc} time step and mixes downwards instantaneously the statically unstable portion of 
    701891the water column, but only until the density structure becomes neutrally stable 
    702 (\ie until the mixed portion of the water column has \textit{exactly} the density of the water just below) 
     892(\ie\ until the mixed portion of the water column has \textit{exactly} the density of the water just below) 
    703893\citep{madec.delecluse.ea_JPO91}. 
    704 The associated algorithm is an iterative process used in the following way (\autoref{fig:npc}): 
     894The associated algorithm is an iterative process used in the following way (\autoref{fig:ZDF_npc}): 
    705895starting from the top of the ocean, the first instability is found. 
    706896Assume in the following that the instability is located between levels $k$ and $k+1$. 
     
    717907This algorithm is significantly different from mixing statically unstable levels two by two. 
    718908The latter procedure cannot converge with a finite number of iterations for some vertical profiles while 
    719 the algorithm used in \NEMO converges for any profile in a number of iterations which is less than 
     909the algorithm used in \NEMO\ converges for any profile in a number of iterations which is less than 
    720910the number of vertical levels. 
    721911This property is of paramount importance as pointed out by \citet{killworth_iprc89}: 
     
    727917(L. Brodeau, personnal communication). 
    728918Two main differences have been introduced compared to the original algorithm: 
    729 $(i)$ the stability is now checked using the Brunt-V\"{a}is\"{a}l\"{a} frequency  
    730 (not the difference in potential density);  
     919$(i)$ the stability is now checked using the Brunt-V\"{a}is\"{a}l\"{a} frequency 
     920(not the difference in potential density); 
    731921$(ii)$ when two levels are found unstable, their thermal and haline expansion coefficients are vertically mixed in 
    732922the same way their temperature and salinity has been mixed. 
     
    734924having to recompute the expansion coefficients at each mixing iteration. 
    735925 
    736 % ------------------------------------------------------------------------------------------------------------- 
    737 %       Enhanced Vertical Diffusion  
    738 % ------------------------------------------------------------------------------------------------------------- 
    739 \subsection[Enhanced vertical diffusion (\forcode{ln_zdfevd = .true.})] 
    740 {Enhanced vertical diffusion (\protect\np{ln\_zdfevd}\forcode{ = .true.})} 
     926%% ================================================================================================= 
     927\subsection[Enhanced vertical diffusion (\forcode{ln_zdfevd})]{Enhanced vertical diffusion (\protect\np{ln_zdfevd}{ln\_zdfevd})} 
    741928\label{subsec:ZDF_evd} 
    742929 
    743 Options are defined through the  \ngn{namzdf} namelist variables. 
    744 The enhanced vertical diffusion parameterisation is used when \np{ln\_zdfevd}\forcode{ = .true.}. 
    745 In this case, the vertical eddy mixing coefficients are assigned very large values  
     930Options are defined through the  \nam{zdf}{zdf} namelist variables. 
     931The enhanced vertical diffusion parameterisation is used when \np[=.true.]{ln_zdfevd}{ln\_zdfevd}. 
     932In this case, the vertical eddy mixing coefficients are assigned very large values 
    746933in regions where the stratification is unstable 
    747 (\ie when $N^2$ the Brunt-Vais\"{a}l\"{a} frequency is negative) \citep{lazar_phd97, lazar.madec.ea_JPO99}. 
    748 This is done either on tracers only (\np{nn\_evdm}\forcode{ = 0}) or 
    749 on both momentum and tracers (\np{nn\_evdm}\forcode{ = 1}). 
    750  
    751 In practice, where $N^2\leq 10^{-12}$, $A_T^{vT}$ and $A_T^{vS}$, and if \np{nn\_evdm}\forcode{ = 1}, 
     934(\ie\ when $N^2$ the Brunt-Vais\"{a}l\"{a} frequency is negative) \citep{lazar_phd97, lazar.madec.ea_JPO99}. 
     935This is done either on tracers only (\np[=0]{nn_evdm}{nn\_evdm}) or 
     936on both momentum and tracers (\np[=1]{nn_evdm}{nn\_evdm}). 
     937 
     938In practice, where $N^2\leq 10^{-12}$, $A_T^{vT}$ and $A_T^{vS}$, and if \np[=1]{nn_evdm}{nn\_evdm}, 
    752939the four neighbouring $A_u^{vm} \;\mbox{and}\;A_v^{vm}$ values also, are set equal to 
    753 the namelist parameter \np{rn\_avevd}. 
     940the namelist parameter \np{rn_avevd}{rn\_avevd}. 
    754941A typical value for $rn\_avevd$ is between 1 and $100~m^2.s^{-1}$. 
    755942This parameterisation of convective processes is less time consuming than 
     
    759946Note that the stability test is performed on both \textit{before} and \textit{now} values of $N^2$. 
    760947This removes a potential source of divergence of odd and even time step in 
    761 a leapfrog environment \citep{leclair_phd10} (see \autoref{sec:STP_mLF}). 
    762  
    763 % ------------------------------------------------------------------------------------------------------------- 
    764 %       Turbulent Closure Scheme  
    765 % ------------------------------------------------------------------------------------------------------------- 
    766 \subsection[Handling convection with turbulent closure schemes (\forcode{ln_zdf/tke/gls/osm = .true.})] 
    767 {Handling convection with turbulent closure schemes (\protect\np{ln\_zdf/tke/gls/osm}\forcode{ = .true.})} 
     948a leapfrog environment \citep{leclair_phd10} (see \autoref{sec:TD_mLF}). 
     949 
     950%% ================================================================================================= 
     951\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}})} 
    768952\label{subsec:ZDF_tcs} 
    769953 
    770  
    771954The turbulent closure schemes presented in \autoref{subsec:ZDF_tke}, \autoref{subsec:ZDF_gls} and 
    772 \autoref{subsec:ZDF_osm} (\ie \np{ln\_zdftke} or \np{ln\_zdfgls} or \np{ln\_zdfosm} defined) deal, in theory,  
     955\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, 
    773956with statically unstable density profiles. 
    774957In such a case, the term corresponding to the destruction of turbulent kinetic energy through stratification in 
    775 \autoref{eq:zdftke_e} or \autoref{eq:zdfgls_e} becomes a source term, since $N^2$ is negative.  
    776 It results in large values of $A_T^{vT}$ and  $A_T^{vT}$, and also of the four neighboring values at  
     958\autoref{eq:ZDF_tke_e} or \autoref{eq:ZDF_gls_e} becomes a source term, since $N^2$ is negative. 
     959It results in large values of $A_T^{vT}$ and  $A_T^{vT}$, and also of the four neighboring values at 
    777960velocity points $A_u^{vm} {and}\;A_v^{vm}$ (up to $1\;m^2s^{-1}$). 
    778961These large values restore the static stability of the water column in a way similar to that of 
     
    782965because the mixing length scale is bounded by the distance to the sea surface. 
    783966It can thus be useful to combine the enhanced vertical diffusion with the turbulent closure scheme, 
    784 \ie setting the \np{ln\_zdfnpc} namelist parameter to true and 
    785 defining the turbulent closure (\np{ln\_zdftke} or \np{ln\_zdfgls} = \forcode{.true.}) all together. 
     967\ie\ setting the \np{ln_zdfnpc}{ln\_zdfnpc} namelist parameter to true and 
     968defining the turbulent closure (\np{ln_zdftke}{ln\_zdftke} or \np{ln_zdfgls}{ln\_zdfgls} = \forcode{.true.}) all together. 
    786969 
    787970The OSMOSIS turbulent closure scheme already includes enhanced vertical diffusion in the case of convection, 
    788971%as governed by the variables $bvsqcon$ and $difcon$ found in \mdl{zdfkpp}, 
    789 therefore \np{ln\_zdfevd}\forcode{ = .false.} should be used with the OSMOSIS scheme. 
     972therefore \np[=.false.]{ln_zdfevd}{ln\_zdfevd} should be used with the OSMOSIS scheme. 
    790973% gm%  + one word on non local flux with KPP scheme trakpp.F90 module... 
    791974 
    792 % ================================================================ 
    793 % Double Diffusion Mixing 
    794 % ================================================================ 
    795 \section[Double diffusion mixing (\forcode{ln_zdfddm = .true.})] 
    796 {Double diffusion mixing (\protect\np{ln\_zdfddm}\forcode{ = .true.})} 
     975%% ================================================================================================= 
     976\section[Double diffusion mixing (\forcode{ln_zdfddm})]{Double diffusion mixing (\protect\np{ln_zdfddm}{ln\_zdfddm})} 
    797977\label{subsec:ZDF_ddm} 
    798978 
    799  
    800 %-------------------------------------------namzdf_ddm------------------------------------------------- 
    801 % 
    802979%\nlst{namzdf_ddm} 
    803 %-------------------------------------------------------------------------------------------------------------- 
    804980 
    805981This parameterisation has been introduced in \mdl{zdfddm} module and is controlled by the namelist parameter 
    806 \np{ln\_zdfddm} in \ngn{namzdf}. 
     982\np{ln_zdfddm}{ln\_zdfddm} in \nam{zdf}{zdf}. 
    807983Double diffusion occurs when relatively warm, salty water overlies cooler, fresher water, or vice versa. 
    808984The former condition leads to salt fingering and the latter to diffusive convection. 
    809985Double-diffusive phenomena contribute to diapycnal mixing in extensive regions of the ocean. 
    810 \citet{merryfield.holloway.ea_JPO99} include a parameterisation of such phenomena in a global ocean model and show that  
     986\citet{merryfield.holloway.ea_JPO99} include a parameterisation of such phenomena in a global ocean model and show that 
    811987it leads to relatively minor changes in circulation but exerts significant regional influences on 
    812988temperature and salinity. 
    813989 
    814  
    815 Diapycnal mixing of S and T are described by diapycnal diffusion coefficients  
     990Diapycnal mixing of S and T are described by diapycnal diffusion coefficients 
    816991\begin{align*} 
    817   % \label{eq:zdfddm_Kz} 
     992  % \label{eq:ZDF_ddm_Kz} 
    818993  &A^{vT} = A_o^{vT}+A_f^{vT}+A_d^{vT} \\ 
    819994  &A^{vS} = A_o^{vS}+A_f^{vS}+A_d^{vS} 
     
    8271002(1981): 
    8281003\begin{align} 
    829   \label{eq:zdfddm_f} 
     1004  \label{eq:ZDF_ddm_f} 
    8301005  A_f^{vS} &= 
    8311006             \begin{cases} 
     
    8331008               0                              &\text{otherwise} 
    8341009             \end{cases} 
    835   \\         \label{eq:zdfddm_f_T} 
    836   A_f^{vT} &= 0.7 \ A_f^{vS} / R_\rho  
     1010  \\         \label{eq:ZDF_ddm_f_T} 
     1011  A_f^{vT} &= 0.7 \ A_f^{vS} / R_\rho 
    8371012\end{align} 
    8381013 
    839 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    8401014\begin{figure}[!t] 
    841   \begin{center} 
    842     \includegraphics[width=\textwidth]{Fig_zdfddm} 
    843     \caption{ 
    844       \protect\label{fig:zdfddm} 
    845       From \citet{merryfield.holloway.ea_JPO99} : 
    846       (a) Diapycnal diffusivities $A_f^{vT}$ and $A_f^{vS}$ for temperature and salt in regions of salt fingering. 
    847       Heavy curves denote $A^{\ast v} = 10^{-3}~m^2.s^{-1}$ and thin curves $A^{\ast v} = 10^{-4}~m^2.s^{-1}$; 
    848       (b) diapycnal diffusivities $A_d^{vT}$ and $A_d^{vS}$ for temperature and salt in regions of 
    849       diffusive convection. 
    850       Heavy curves denote the Federov parameterisation and thin curves the Kelley parameterisation. 
    851       The latter is not implemented in \NEMO. 
    852     } 
    853   \end{center} 
     1015  \centering 
     1016  \includegraphics[width=0.66\textwidth]{ZDF_ddm} 
     1017  \caption[Diapycnal diffusivities for temperature and salt in regions of salt fingering and 
     1018  diffusive convection]{ 
     1019    From \citet{merryfield.holloway.ea_JPO99}: 
     1020    (a) Diapycnal diffusivities $A_f^{vT}$ and $A_f^{vS}$ for temperature and salt in 
     1021    regions of salt fingering. 
     1022    Heavy curves denote $A^{\ast v} = 10^{-3}~m^2.s^{-1}$ and 
     1023    thin curves $A^{\ast v} = 10^{-4}~m^2.s^{-1}$; 
     1024    (b) diapycnal diffusivities $A_d^{vT}$ and $A_d^{vS}$ for temperature and salt in 
     1025    regions of diffusive convection. 
     1026    Heavy curves denote the Federov parameterisation and thin curves the Kelley parameterisation. 
     1027    The latter is not implemented in \NEMO.} 
     1028  \label{fig:ZDF_ddm} 
    8541029\end{figure} 
    855 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    856  
    857 The factor 0.7 in \autoref{eq:zdfddm_f_T} reflects the measured ratio $\alpha F_T /\beta F_S \approx  0.7$ of 
     1030 
     1031The factor 0.7 in \autoref{eq:ZDF_ddm_f_T} reflects the measured ratio $\alpha F_T /\beta F_S \approx  0.7$ of 
    8581032buoyancy flux of heat to buoyancy flux of salt (\eg, \citet{mcdougall.taylor_JMR84}). 
    8591033Following  \citet{merryfield.holloway.ea_JPO99}, we adopt $R_c = 1.6$, $n = 6$, and $A^{\ast v} = 10^{-4}~m^2.s^{-1}$. 
    8601034 
    8611035To represent mixing of S and T by diffusive layering,  the diapycnal diffusivities suggested by 
    862 Federov (1988) is used:  
     1036Federov (1988) is used: 
    8631037\begin{align} 
    864   % \label{eq:zdfddm_d} 
     1038  % \label{eq:ZDF_ddm_d} 
    8651039  A_d^{vT} &= 
    8661040             \begin{cases} 
     
    8701044             \end{cases} 
    8711045                                       \nonumber \\ 
    872   \label{eq:zdfddm_d_S} 
     1046  \label{eq:ZDF_ddm_d_S} 
    8731047  A_d^{vS} &= 
    8741048             \begin{cases} 
     
    8791053\end{align} 
    8801054 
    881 The dependencies of \autoref{eq:zdfddm_f} to \autoref{eq:zdfddm_d_S} on $R_\rho$ are illustrated in 
    882 \autoref{fig:zdfddm}. 
     1055The dependencies of \autoref{eq:ZDF_ddm_f} to \autoref{eq:ZDF_ddm_d_S} on $R_\rho$ are illustrated in 
     1056\autoref{fig:ZDF_ddm}. 
    8831057Implementing this requires computing $R_\rho$ at each grid point on every time step. 
    8841058This is done in \mdl{eosbn2} at the same time as $N^2$ is computed. 
    8851059This avoids duplication in the computation of $\alpha$ and $\beta$ (which is usually quite expensive). 
    8861060 
    887 % ================================================================ 
    888 % Bottom Friction 
    889 % ================================================================ 
    890  \section[Bottom and top friction (\textit{zdfdrg.F90})] 
    891  {Bottom and top friction (\protect\mdl{zdfdrg})} 
    892  \label{sec:ZDF_drg} 
    893  
    894 %--------------------------------------------nambfr-------------------------------------------------------- 
    895 % 
    896 \nlst{namdrg} 
    897 \nlst{namdrg_top} 
    898 \nlst{namdrg_bot} 
    899  
    900 %-------------------------------------------------------------------------------------------------------------- 
    901  
    902 Options to define the top and bottom friction are defined through the \ngn{namdrg} namelist variables. 
     1061%% ================================================================================================= 
     1062\section[Bottom and top friction (\textit{zdfdrg.F90})]{Bottom and top friction (\protect\mdl{zdfdrg})} 
     1063\label{sec:ZDF_drg} 
     1064 
     1065\begin{listing} 
     1066  \nlst{namdrg} 
     1067  \caption{\forcode{&namdrg}} 
     1068  \label{lst:namdrg} 
     1069\end{listing} 
     1070\begin{listing} 
     1071  \nlst{namdrg_top} 
     1072  \caption{\forcode{&namdrg_top}} 
     1073  \label{lst:namdrg_top} 
     1074\end{listing} 
     1075\begin{listing} 
     1076  \nlst{namdrg_bot} 
     1077  \caption{\forcode{&namdrg_bot}} 
     1078  \label{lst:namdrg_bot} 
     1079\end{listing} 
     1080 
     1081Options to define the top and bottom friction are defined through the \nam{drg}{drg} namelist variables. 
    9031082The bottom friction represents the friction generated by the bathymetry. 
    9041083The top friction represents the friction generated by the ice shelf/ocean interface. 
    905 As the friction processes at the top and the bottom are treated in and identical way,  
     1084As the friction processes at the top and the bottom are treated in and identical way, 
    9061085the description below considers mostly the bottom friction case, if not stated otherwise. 
    907  
    9081086 
    9091087Both the surface momentum flux (wind stress) and the bottom momentum flux (bottom friction) enter the equations as 
     
    9111089For the bottom boundary layer, one has: 
    9121090 \[ 
    913    % \label{eq:zdfbfr_flux} 
     1091   % \label{eq:ZDF_bfr_flux} 
    9141092   A^{vm} \left( \partial {\textbf U}_h / \partial z \right) = {{\cal F}}_h^{\textbf U} 
    9151093 \] 
     
    9211099one needs a vertical diffusion coefficient $A^{vm} = 0.125$~m$^2$s$^{-1}$ 
    9221100(for a Coriolis frequency $f = 10^{-4}$~m$^2$s$^{-1}$). 
    923 With a background diffusion coefficient $A^{vm} = 10^{-4}$~m$^2$s$^{-1}$, the Ekman layer depth is only 1.4~m.  
     1101With a background diffusion coefficient $A^{vm} = 10^{-4}$~m$^2$s$^{-1}$, the Ekman layer depth is only 1.4~m. 
    9241102When the vertical mixing coefficient is this small, using a flux condition is equivalent to 
    9251103entering the viscous forces (either wind stress or bottom friction) as a body force over the depth of the top or 
     
    9271105To illustrate this, consider the equation for $u$ at $k$, the last ocean level: 
    9281106\begin{equation} 
    929   \label{eq:zdfdrg_flux2} 
     1107  \label{eq:ZDF_drg_flux2} 
    9301108  \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}} 
    9311109\end{equation} 
     
    9471125 These coefficients are computed in \mdl{zdfdrg} and generally take the form $c_b^{\textbf U}$ where: 
    9481126\begin{equation} 
    949   \label{eq:zdfbfr_bdef} 
     1127  \label{eq:ZDF_bfr_bdef} 
    9501128  \frac{\partial {\textbf U_h}}{\partial t} = 
    9511129  - \frac{{\cal F}^{\textbf U}_{h}}{e_{3u}} = \frac{c_b^{\textbf U}}{e_{3u}} \;{\textbf U}_h^b 
    9521130\end{equation} 
    953 where $\textbf{U}_h^b = (u_b\;,\;v_b)$ is the near-bottom, horizontal, ocean velocity.  
    954 Note 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. 
    955  
    956 % ------------------------------------------------------------------------------------------------------------- 
    957 %       Linear Bottom Friction 
    958 % ------------------------------------------------------------------------------------------------------------- 
    959  \subsection[Linear top/bottom friction (\forcode{ln_lin = .true.})] 
    960  {Linear top/bottom friction (\protect\np{ln\_lin}\forcode{ = .true.)}} 
    961  \label{subsec:ZDF_drg_linear} 
     1131where $\textbf{U}_h^b = (u_b\;,\;v_b)$ is the near-bottom, horizontal, ocean velocity. 
     1132Note 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. 
     1133 
     1134%% ================================================================================================= 
     1135\subsection[Linear top/bottom friction (\forcode{ln_lin})]{Linear top/bottom friction (\protect\np{ln_lin}{ln\_lin})} 
     1136\label{subsec:ZDF_drg_linear} 
    9621137 
    9631138The linear friction parameterisation (including the special case of a free-slip condition) assumes that 
    964 the friction is proportional to the interior velocity (\ie the velocity of the first/last model level): 
    965 \[ 
    966   % \label{eq:zdfbfr_linear} 
     1139the friction is proportional to the interior velocity (\ie\ the velocity of the first/last model level): 
     1140\[ 
     1141  % \label{eq:ZDF_bfr_linear} 
    9671142  {\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3} \; \frac{\partial \textbf{U}_h}{\partial k} = r \; \textbf{U}_h^b 
    9681143\] 
    9691144where $r$ is a friction coefficient expressed in $m s^{-1}$. 
    970 This coefficient is generally estimated by setting a typical decay time $\tau$ in the deep ocean,  
     1145This coefficient is generally estimated by setting a typical decay time $\tau$ in the deep ocean, 
    9711146and setting $r = H / \tau$, where $H$ is the ocean depth. 
    9721147Commonly accepted values of $\tau$ are of the order of 100 to 200 days \citep{weatherly_JMR84}. 
     
    9771152and assuming an ocean depth $H = 4000$~m, the resulting friction coefficient is $r = 4\;10^{-4}$~m\;s$^{-1}$. 
    9781153This is the default value used in \NEMO. It corresponds to a decay time scale of 115~days. 
    979 It can be changed by specifying \np{rn\_Uc0} (namelist parameter). 
    980  
    981  For the linear friction case the drag coefficient used in the general expression \autoref{eq:zdfbfr_bdef} is:  
    982 \[ 
    983   % \label{eq:zdfbfr_linbfr_b} 
     1154It can be changed by specifying \np{rn_Uc0}{rn\_Uc0} (namelist parameter). 
     1155 
     1156 For the linear friction case the drag coefficient used in the general expression \autoref{eq:ZDF_bfr_bdef} is: 
     1157\[ 
     1158  % \label{eq:ZDF_bfr_linbfr_b} 
    9841159    c_b^T = - r 
    9851160\] 
    986 When \np{ln\_lin} \forcode{= .true.}, the value of $r$ used is \np{rn\_Uc0}*\np{rn\_Cd0}. 
    987 Setting \np{ln\_OFF} \forcode{= .true.} (and \forcode{ln_lin = .true.}) is equivalent to setting $r=0$ and leads to a free-slip boundary condition. 
     1161When \np[=.true.]{ln_lin}{ln\_lin}, the value of $r$ used is \np{rn_Uc0}{rn\_Uc0}*\np{rn_Cd0}{rn\_Cd0}. 
     1162Setting \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. 
    9881163 
    9891164These values are assigned in \mdl{zdfdrg}. 
    9901165Note that there is support for local enhancement of these values via an externally defined 2D mask array 
    991 (\np{ln\_boost}\forcode{ = .true.}) given in the \ifile{bfr\_coef} input NetCDF file. 
     1166(\np[=.true.]{ln_boost}{ln\_boost}) given in the \ifile{bfr\_coef} input NetCDF file. 
    9921167The mask values should vary from 0 to 1. 
    9931168Locations with a non-zero mask value will have the friction coefficient increased by 
    994 $mask\_value$ * \np{rn\_boost} * \np{rn\_Cd0}. 
    995  
    996 % ------------------------------------------------------------------------------------------------------------- 
    997 %       Non-Linear Bottom Friction 
    998 % ------------------------------------------------------------------------------------------------------------- 
    999  \subsection[Non-linear top/bottom friction (\forcode{ln_no_lin = .true.})] 
    1000  {Non-linear top/bottom friction (\protect\np{ln\_no\_lin}\forcode{ = .true.})} 
    1001  \label{subsec:ZDF_drg_nonlinear} 
    1002  
    1003 The non-linear bottom friction parameterisation assumes that the top/bottom friction is quadratic:  
    1004 \[ 
    1005   % \label{eq:zdfdrg_nonlinear} 
     1169$mask\_value$ * \np{rn_boost}{rn\_boost} * \np{rn_Cd0}{rn\_Cd0}. 
     1170 
     1171%% ================================================================================================= 
     1172\subsection[Non-linear top/bottom friction (\forcode{ln_non_lin})]{Non-linear top/bottom friction (\protect\np{ln_non_lin}{ln\_non\_lin})} 
     1173\label{subsec:ZDF_drg_nonlinear} 
     1174 
     1175The non-linear bottom friction parameterisation assumes that the top/bottom friction is quadratic: 
     1176\[ 
     1177  % \label{eq:ZDF_drg_nonlinear} 
    10061178  {\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3 }\frac{\partial \textbf {U}_h 
    10071179  }{\partial k}=C_D \;\sqrt {u_b ^2+v_b ^2+e_b } \;\; \textbf {U}_h^b 
     
    10131185$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 
    10141186$e_b =2.5\;\;10^{-3}$m$^2$\;s$^{-2}$. 
    1015 The CME choices have been set as default values (\np{rn\_Cd0} and \np{rn\_ke0} namelist parameters). 
     1187The CME choices have been set as default values (\np{rn_Cd0}{rn\_Cd0} and \np{rn_ke0}{rn\_ke0} namelist parameters). 
    10161188 
    10171189As for the linear case, the friction is imposed in the code by adding the trend due to 
     
    10191191For the non-linear friction case the term computed in \mdl{zdfdrg} is: 
    10201192\[ 
    1021   % \label{eq:zdfdrg_nonlinbfr} 
     1193  % \label{eq:ZDF_drg_nonlinbfr} 
    10221194    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} 
    10231195\] 
    10241196 
    10251197The coefficients that control the strength of the non-linear friction are initialised as namelist parameters: 
    1026 $C_D$= \np{rn\_Cd0}, and $e_b$ =\np{rn\_bfeb2}. 
    1027 Note that for applications which consider tides explicitly, a low or even zero value of \np{rn\_bfeb2} is recommended. A local enhancement of $C_D$ is again possible via an externally defined 2D mask array 
    1028 (\np{ln\_boost}\forcode{ = .true.}). 
     1198$C_D$= \np{rn_Cd0}{rn\_Cd0}, and $e_b$ =\np{rn_bfeb2}{rn\_bfeb2}. 
     1199Note 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 
     1200(\np[=.true.]{ln_boost}{ln\_boost}). 
    10291201This works in the same way as for the linear friction case with non-zero masked locations increased by 
    1030 $mask\_value$ * \np{rn\_boost} * \np{rn\_Cd0}. 
    1031  
    1032 % ------------------------------------------------------------------------------------------------------------- 
    1033 %       Bottom Friction Log-layer 
    1034 % ------------------------------------------------------------------------------------------------------------- 
    1035  \subsection[Log-layer top/bottom friction (\forcode{ln_loglayer = .true.})] 
    1036  {Log-layer top/bottom friction (\protect\np{ln\_loglayer}\forcode{ = .true.})} 
    1037  \label{subsec:ZDF_drg_loglayer} 
     1202$mask\_value$ * \np{rn_boost}{rn\_boost} * \np{rn_Cd0}{rn\_Cd0}. 
     1203 
     1204%% ================================================================================================= 
     1205\subsection[Log-layer top/bottom friction (\forcode{ln_loglayer})]{Log-layer top/bottom friction (\protect\np{ln_loglayer}{ln\_loglayer})} 
     1206\label{subsec:ZDF_drg_loglayer} 
    10381207 
    10391208In the non-linear friction case, the drag coefficient, $C_D$, can be optionally enhanced using 
    10401209a "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. 
    1041 If  \np{ln\_loglayer} \forcode{= .true.}, $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): 
     1210If  \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): 
    10421211\[ 
    10431212  C_D = \left ( {\kappa \over {\mathrm log}\left ( 0.5 \; e_{3b} / rn\_{z0} \right ) } \right )^2 
    10441213\] 
    10451214 
    1046 \noindent where $\kappa$ is the von-Karman constant and \np{rn\_z0} is a roughness length provided via the namelist. 
     1215\noindent where $\kappa$ is the von-Karman constant and \np{rn_z0}{rn\_z0} is a roughness length provided via the namelist. 
    10471216 
    10481217The drag coefficient is bounded such that it is kept greater or equal to 
    1049 the base \np{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: 
    1050 \np{rn\_Cdmax}, \ie 
     1218the 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: 
     1219\np{rn_Cdmax}{rn\_Cdmax}, \ie 
    10511220\[ 
    10521221  rn\_Cd0 \leq C_D \leq rn\_Cdmax 
     
    10541223 
    10551224\noindent The log-layer enhancement can also be applied to the top boundary friction if 
    1056 under ice-shelf cavities are activated (\np{ln\_isfcav}\forcode{ = .true.}). 
    1057 %In this case, the relevant namelist parameters are \np{rn\_tfrz0}, \np{rn\_tfri2} and \np{rn\_tfri2\_max}. 
    1058  
    1059 % ------------------------------------------------------------------------------------------------------------- 
    1060 %       Explicit bottom Friction 
    1061 % ------------------------------------------------------------------------------------------------------------- 
    1062  \subsection{Explicit top/bottom friction (\forcode{ln_drgimp = .false.})} 
    1063  \label{subsec:ZDF_drg_stability} 
    1064  
    1065 Setting \np{ln\_drgimp} \forcode{= .false.} 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: 
     1225under ice-shelf cavities are activated (\np[=.true.]{ln_isfcav}{ln\_isfcav}). 
     1226%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}. 
     1227 
     1228%% ================================================================================================= 
     1229\subsection[Explicit top/bottom friction (\forcode{ln_drgimp=.false.})]{Explicit top/bottom friction (\protect\np[=.false.]{ln_drgimp}{ln\_drgimp})} 
     1230\label{subsec:ZDF_drg_stability} 
     1231 
     1232Setting \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: 
    10661233 
    10671234At the top (below an ice shelf cavity): 
     
    10781245 
    10791246Since 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. 
    1080 For the purposes of stability analysis, an approximation to \autoref{eq:zdfdrg_flux2} is: 
     1247For the purposes of stability analysis, an approximation to \autoref{eq:ZDF_drg_flux2} is: 
    10811248\begin{equation} 
    1082   \label{eq:Eqn_drgstab} 
     1249  \label{eq:ZDF_Eqn_drgstab} 
    10831250  \begin{split} 
    10841251    \Delta u &= -\frac{{{\cal F}_h}^u}{e_{3u}}\;2 \rdt    \\ 
     
    10891256To ensure that the friction cannot reverse the direction of flow it is necessary to have: 
    10901257\[ 
    1091   |\Delta u| < \;|u|  
    1092 \] 
    1093 \noindent which, using \autoref{eq:Eqn_drgstab}, gives: 
     1258  |\Delta u| < \;|u| 
     1259\] 
     1260\noindent which, using \autoref{eq:ZDF_Eqn_drgstab}, gives: 
    10941261\[ 
    10951262  r\frac{2\rdt}{e_{3u}} < 1 \qquad  \Rightarrow \qquad r < \frac{e_{3u}}{2\rdt}\\ 
     
    11041271For example, if $|u| = 1$ m.s$^{-1}$, $rdt = 1800$ s, $r = 10^{-3}$ then $e_{3u}$ should be greater than 3.6 m. 
    11051272For most applications, with physically sensible parameters these restrictions should not be of concern. 
    1106 But caution may be necessary if attempts are made to locally enhance the bottom friction parameters.  
     1273But caution may be necessary if attempts are made to locally enhance the bottom friction parameters. 
    11071274To ensure stability limits are imposed on the top/bottom friction coefficients both 
    11081275during initialisation and at each time step. 
     
    11181285The number of potential breaches of the explicit stability criterion are still reported for information purposes. 
    11191286 
    1120 % ------------------------------------------------------------------------------------------------------------- 
    1121 %       Implicit Bottom Friction 
    1122 % ------------------------------------------------------------------------------------------------------------- 
    1123  \subsection[Implicit top/bottom friction (\forcode{ln_drgimp = .true.})] 
    1124  {Implicit top/bottom friction (\protect\np{ln\_drgimp}\forcode{ = .true.})} 
    1125  \label{subsec:ZDF_drg_imp} 
     1287%% ================================================================================================= 
     1288\subsection[Implicit top/bottom friction (\forcode{ln_drgimp=.true.})]{Implicit top/bottom friction (\protect\np[=.true.]{ln_drgimp}{ln\_drgimp})} 
     1289\label{subsec:ZDF_drg_imp} 
    11261290 
    11271291An optional implicit form of bottom friction has been implemented to improve model stability. 
    11281292We recommend this option for shelf sea and coastal ocean applications. %, especially for split-explicit time splitting. 
    1129 This option can be invoked by setting \np{ln\_drgimp} to \forcode{.true.} in the \textit{namdrg} namelist. 
    1130 %This option requires \np{ln\_zdfexp} to be \forcode{.false.} in the \textit{namzdf} namelist.  
    1131  
    1132 This implementation is performed in \mdl{dynzdf} where the following boundary conditions are set while solving the fully implicit diffusion step:  
     1293This option can be invoked by setting \np{ln_drgimp}{ln\_drgimp} to \forcode{.true.} in the \nam{drg}{drg} namelist. 
     1294%This option requires \np{ln_zdfexp}{ln\_zdfexp} to be \forcode{.false.} in the \nam{zdf}{zdf} namelist. 
     1295 
     1296This implementation is performed in \mdl{dynzdf} where the following boundary conditions are set while solving the fully implicit diffusion step: 
    11331297 
    11341298At the top (below an ice shelf cavity): 
    11351299\[ 
    1136   % \label{eq:dynzdf_drg_top} 
     1300  % \label{eq:ZDF_dynZDF__drg_top} 
    11371301  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{t} 
    11381302  = c_{t}^{\textbf{U}}\textbf{u}^{n+1}_{t} 
     
    11411305At the bottom (above the sea floor): 
    11421306\[ 
    1143   % \label{eq:dynzdf_drg_bot} 
     1307  % \label{eq:ZDF_dynZDF__drg_bot} 
    11441308  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{b} 
    11451309  = c_{b}^{\textbf{U}}\textbf{u}^{n+1}_{b} 
    11461310\] 
    11471311 
    1148 where $t$ and $b$ refers to top and bottom layers respectively.  
     1312where $t$ and $b$ refers to top and bottom layers respectively. 
    11491313Superscript $n+1$ means the velocity used in the friction formula is to be calculated, so it is implicit. 
    11501314 
    1151 % ------------------------------------------------------------------------------------------------------------- 
    1152 %       Bottom Friction with split-explicit free surface 
    1153 % ------------------------------------------------------------------------------------------------------------- 
    1154  \subsection[Bottom friction with split-explicit free surface] 
    1155  {Bottom friction with split-explicit free surface} 
    1156  \label{subsec:ZDF_drg_ts} 
    1157  
    1158 With 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{ln\_drgimp}\forcode{= .false.} 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{ln\_drgimp}\forcode{= .true.},  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.  
    1159  
    1160 The strategy to handle top/bottom stresses with split-explicit free surface in \NEMO is as follows: 
     1315%% ================================================================================================= 
     1316\subsection[Bottom friction with split-explicit free surface]{Bottom friction with split-explicit free surface} 
     1317\label{subsec:ZDF_drg_ts} 
     1318 
     1319With 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. 
     1320 
     1321The strategy to handle top/bottom stresses with split-explicit free surface in \NEMO\ is as follows: 
    11611322\begin{enumerate} 
    11621323\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. 
    11631324\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. 
    1164 \end{enumerate}  
    1165  
    1166 Note that other strategies are possible, like considering vertical diffusion step in advance, \ie prior barotropic integration.   
    1167  
    1168  
    1169 % ================================================================ 
    1170 % Internal wave-driven mixing 
    1171 % ================================================================ 
    1172 \section[Internal wave-driven mixing (\forcode{ln_zdfiwm = .true.})] 
    1173 {Internal wave-driven mixing (\protect\np{ln\_zdfiwm}\forcode{ = .true.})} 
     1325\end{enumerate} 
     1326 
     1327Note that other strategies are possible, like considering vertical diffusion step in advance, \ie\ prior barotropic integration. 
     1328 
     1329%% ================================================================================================= 
     1330\section[Internal wave-driven mixing (\forcode{ln_zdfiwm})]{Internal wave-driven mixing (\protect\np{ln_zdfiwm}{ln\_zdfiwm})} 
    11741331\label{subsec:ZDF_tmx_new} 
    11751332 
    1176 %--------------------------------------------namzdf_iwm------------------------------------------ 
    1177 % 
    1178 \nlst{namzdf_iwm} 
    1179 %-------------------------------------------------------------------------------------------------------------- 
     1333\begin{listing} 
     1334  \nlst{namzdf_iwm} 
     1335  \caption{\forcode{&namzdf_iwm}} 
     1336  \label{lst:namzdf_iwm} 
     1337\end{listing} 
    11801338 
    11811339The parameterization of mixing induced by breaking internal waves is a generalization of 
    11821340the approach originally proposed by \citet{st-laurent.simmons.ea_GRL02}. 
    11831341A three-dimensional field of internal wave energy dissipation $\epsilon(x,y,z)$ is first constructed, 
    1184 and the resulting diffusivity is obtained as  
    1185 \[ 
    1186   % \label{eq:Kwave} 
     1342and the resulting diffusivity is obtained as 
     1343\[ 
     1344  % \label{eq:ZDF_Kwave} 
    11871345  A^{vT}_{wave} =  R_f \,\frac{ \epsilon }{ \rho \, N^2 } 
    11881346\] 
    11891347where $R_f$ is the mixing efficiency and $\epsilon$ is a specified three dimensional distribution of 
    11901348the energy available for mixing. 
    1191 If the \np{ln\_mevar} namelist parameter is set to \forcode{.false.}, the mixing efficiency is taken as constant and 
     1349If the \np{ln_mevar}{ln\_mevar} namelist parameter is set to \forcode{.false.}, the mixing efficiency is taken as constant and 
    11921350equal to 1/6 \citep{osborn_JPO80}. 
    11931351In the opposite (recommended) case, $R_f$ is instead a function of 
     
    11981356the mixing efficiency is constant. 
    11991357 
    1200 In addition to the mixing efficiency, the ratio of salt to heat diffusivities can chosen to vary  
    1201 as a function of $Re_b$ by setting the \np{ln\_tsdiff} parameter to \forcode{.true.}, a recommended choice.  
     1358In addition to the mixing efficiency, the ratio of salt to heat diffusivities can chosen to vary 
     1359as a function of $Re_b$ by setting the \np{ln_tsdiff}{ln\_tsdiff} parameter to \forcode{.true.}, a recommended choice. 
    12021360This parameterization of differential mixing, due to \cite{jackson.rehmann_JPO14}, 
    12031361is implemented as in \cite{de-lavergne.madec.ea_JPO16}. 
     
    12111369  F_{pyc}(i,j,k) &\propto N^{n_p}\\ 
    12121370  F_{bot}(i,j,k) &\propto N^2 \, e^{- h_{wkb} / h_{bot} } 
    1213 \end{align*}  
     1371\end{align*} 
    12141372In the above formula, $h_{ab}$ denotes the height above bottom, 
    12151373$h_{wkb}$ denotes the WKB-stretched height above bottom, defined by 
     
    12171375  h_{wkb} = H \, \frac{ \int_{-H}^{z} N \, dz' } { \int_{-H}^{\eta} N \, dz'  } \; , 
    12181376\] 
    1219 The $n_p$ parameter (given by \np{nn\_zpyc} in \ngn{namzdf\_iwm} namelist) 
     1377The $n_p$ parameter (given by \np{nn_zpyc}{nn\_zpyc} in \nam{zdf_iwm}{zdf\_iwm} namelist) 
    12201378controls the stratification-dependence of the pycnocline-intensified dissipation. 
    12211379It can take values of $1$ (recommended) or $2$. 
     
    12251383$h_{bot}$ is a function of the energy flux $E_{bot}$, the characteristic horizontal scale of 
    12261384the abyssal hill topography \citep{goff_JGR10} and the latitude. 
    1227 % 
    12281385% Jc: input files names ? 
    12291386 
    1230 % ================================================================ 
    1231 % surface wave-induced mixing  
    1232 % ================================================================ 
    1233 \section[Surface wave-induced mixing (\forcode{ln_zdfswm = .true.})] 
    1234 {Surface wave-induced mixing (\protect\np{ln\_zdfswm}\forcode{ = .true.})} 
     1387%% ================================================================================================= 
     1388\section[Surface wave-induced mixing (\forcode{ln_zdfswm})]{Surface wave-induced mixing (\protect\np{ln_zdfswm}{ln\_zdfswm})} 
    12351389\label{subsec:ZDF_swm} 
    12361390 
    1237 TBC ... 
    1238  
    1239 % ================================================================ 
    1240 % Adaptive-implicit vertical advection 
    1241 % ================================================================ 
    1242 \section[Adaptive-implicit vertical advection (\forcode{ln_zad_Aimp = .true.})] 
    1243 {Adaptive-implicit vertical advection(\protect\np{ln\_zad\_Aimp}\forcode{ = .true.})} 
     1391Surface waves produce an enhanced mixing through wave-turbulence interaction. 
     1392In addition to breaking waves induced turbulence (\autoref{subsec:ZDF_tke}), 
     1393the influence of non-breaking waves can be accounted introducing 
     1394wave-induced viscosity and diffusivity as a function of the wave number spectrum. 
     1395Following \citet{qiao.yuan.ea_OD10}, a formulation of wave-induced mixing coefficient 
     1396is provided  as a function of wave amplitude, Stokes Drift and wave-number: 
     1397 
     1398\begin{equation} 
     1399  \label{eq:ZDF_Bv} 
     1400  B_{v} = \alpha {A} {U}_{st} {exp(3kz)} 
     1401\end{equation} 
     1402 
     1403Where $B_{v}$ is the wave-induced mixing coefficient, $A$ is the wave amplitude, 
     1404${U}_{st}$ is the Stokes Drift velocity, $k$ is the wave number and $\alpha$ 
     1405is a constant which should be determined by observations or 
     1406numerical experiments and is set to be 1. 
     1407 
     1408The coefficient $B_{v}$ is then directly added to the vertical viscosity 
     1409and diffusivity coefficients. 
     1410 
     1411In order to account for this contribution set: \forcode{ln_zdfswm=.true.}, 
     1412then wave interaction has to be activated through \forcode{ln_wave=.true.}, 
     1413the Stokes Drift can be evaluated by setting \forcode{ln_sdw=.true.} 
     1414(see \autoref{subsec:SBC_wave_sdw}) 
     1415and the needed wave fields can be provided either in forcing or coupled mode 
     1416(for more information on wave parameters and settings see \autoref{sec:SBC_wave}) 
     1417 
     1418%% ================================================================================================= 
     1419\section[Adaptive-implicit vertical advection (\forcode{ln_zad_Aimp})]{Adaptive-implicit vertical advection(\protect\np{ln_zad_Aimp}{ln\_zad\_Aimp})} 
    12441420\label{subsec:ZDF_aimp} 
    12451421 
    1246 This refers to \citep{shchepetkin_OM15}. 
    1247  
    1248 TBC ... 
    1249  
    1250  
    1251  
    1252 % ================================================================ 
    1253  
    1254 \biblio 
    1255  
    1256 \pindex 
     1422The adaptive-implicit vertical advection option in NEMO is based on the work of 
     1423\citep{shchepetkin_OM15}.  In common with most ocean models, the timestep used with NEMO 
     1424needs to satisfy multiple criteria associated with different physical processes in order 
     1425to maintain numerical stability. \citep{shchepetkin_OM15} pointed out that the vertical 
     1426CFL criterion is commonly the most limiting. \citep{lemarie.debreu.ea_OM15} examined the 
     1427constraints for a range of time and space discretizations and provide the CFL stability 
     1428criteria for a range of advection schemes. The values for the Leap-Frog with Robert 
     1429asselin filter time-stepping (as used in NEMO) are reproduced in 
     1430\autoref{tab:ZDF_zad_Aimp_CFLcrit}. Treating the vertical advection implicitly can avoid these 
     1431restrictions but at the cost of large dispersive errors and, possibly, large numerical 
     1432viscosity. The adaptive-implicit vertical advection option provides a targetted use of the 
     1433implicit scheme only when and where potential breaches of the vertical CFL condition 
     1434occur. In many practical applications these events may occur remote from the main area of 
     1435interest or due to short-lived conditions such that the extra numerical diffusion or 
     1436viscosity does not greatly affect the overall solution. With such applications, setting: 
     1437\forcode{ln_zad_Aimp=.true.} should allow much longer model timesteps to be used whilst 
     1438retaining the accuracy of the high order explicit schemes over most of the domain. 
     1439 
     1440\begin{table}[htbp] 
     1441  \centering 
     1442  % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}} 
     1443  \begin{tabular}{r|ccc} 
     1444    \hline 
     1445    spatial discretization  & 2$^nd$ order centered & 3$^rd$ order upwind & 4$^th$ order compact \\ 
     1446    advective CFL criterion &                 0.904 &              0.472  &                0.522 \\ 
     1447    \hline 
     1448  \end{tabular} 
     1449  \caption[Advective CFL criteria for the leapfrog with Robert Asselin filter time-stepping]{ 
     1450    The advective CFL criteria for a range of spatial discretizations for 
     1451    the leapfrog with Robert Asselin filter time-stepping 
     1452    ($\nu=0.1$) as given in \citep{lemarie.debreu.ea_OM15}.} 
     1453  \label{tab:ZDF_zad_Aimp_CFLcrit} 
     1454\end{table} 
     1455 
     1456In particular, the advection scheme remains explicit everywhere except where and when 
     1457local vertical velocities exceed a threshold set just below the explicit stability limit. 
     1458Once the threshold is reached a tapered transition towards an implicit scheme is used by 
     1459partitioning the vertical velocity into a part that can be treated explicitly and any 
     1460excess that must be treated implicitly. The partitioning is achieved via a Courant-number 
     1461dependent weighting algorithm as described in \citep{shchepetkin_OM15}. 
     1462 
     1463The local cell Courant number ($Cu$) used for this partitioning is: 
     1464 
     1465\begin{equation} 
     1466  \label{eq:ZDF_Eqn_zad_Aimp_Courant} 
     1467  \begin{split} 
     1468    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 ]    \\ 
     1469       &\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 ] 
     1470                     \big / e_{{1_t}ij}e_{{2_t}ij}            \\ 
     1471       &\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 ] 
     1472                     \big / e_{{1_t}ij}e_{{2_t}ij} \bigg )    \\ 
     1473  \end{split} 
     1474\end{equation} 
     1475 
     1476\noindent and the tapering algorithm follows \citep{shchepetkin_OM15} as: 
     1477 
     1478\begin{align} 
     1479  \label{eq:ZDF_Eqn_zad_Aimp_partition} 
     1480Cu_{min} &= 0.15 \nonumber \\ 
     1481Cu_{max} &= 0.3  \nonumber \\ 
     1482Cu_{cut} &= 2Cu_{max} - Cu_{min} \nonumber \\ 
     1483Fcu    &= 4Cu_{max}*(Cu_{max}-Cu_{min}) \nonumber \\ 
     1484\cf &= 
     1485     \begin{cases} 
     1486        0.0                                                        &\text{if $Cu \leq Cu_{min}$} \\ 
     1487        (Cu - Cu_{min})^2 / (Fcu +  (Cu - Cu_{min})^2)             &\text{else if $Cu < Cu_{cut}$} \\ 
     1488        (Cu - Cu_{max}) / Cu                                       &\text{else} 
     1489     \end{cases} 
     1490\end{align} 
     1491 
     1492\begin{figure}[!t] 
     1493  \centering 
     1494  \includegraphics[width=0.66\textwidth]{ZDF_zad_Aimp_coeff} 
     1495  \caption[Partitioning coefficient used to partition vertical velocities into parts]{ 
     1496    The value of the partitioning coefficient (\cf) used to partition vertical velocities into 
     1497    parts to be treated implicitly and explicitly for a range of typical Courant numbers 
     1498    (\forcode{ln_zad_Aimp=.true.}).} 
     1499  \label{fig:ZDF_zad_Aimp_coeff} 
     1500\end{figure} 
     1501 
     1502\noindent The partitioning coefficient is used to determine the part of the vertical 
     1503velocity that must be handled implicitly ($w_i$) and to subtract this from the total 
     1504vertical velocity ($w_n$) to leave that which can continue to be handled explicitly: 
     1505 
     1506\begin{align} 
     1507  \label{eq:ZDF_Eqn_zad_Aimp_partition2} 
     1508    w_{i_{ijk}} &= \cf_{ijk} w_{n_{ijk}}     \nonumber \\ 
     1509    w_{n_{ijk}} &= (1-\cf_{ijk}) w_{n_{ijk}} 
     1510\end{align} 
     1511 
     1512\noindent Note that the coefficient is such that the treatment is never fully implicit; 
     1513the three cases from \autoref{eq:ZDF_Eqn_zad_Aimp_partition} can be considered as: 
     1514fully-explicit; mixed explicit/implicit and mostly-implicit.  With the settings shown the 
     1515coefficient (\cf) varies as shown in \autoref{fig:ZDF_zad_Aimp_coeff}. Note with these values 
     1516the $Cu_{cut}$ boundary between the mixed implicit-explicit treatment and 'mostly 
     1517implicit' is 0.45 which is just below the stability limited given in 
     1518\autoref{tab:ZDF_zad_Aimp_CFLcrit}  for a 3rd order scheme. 
     1519 
     1520The $w_i$ component is added to the implicit solvers for the vertical mixing in 
     1521\mdl{dynzdf} and \mdl{trazdf} in a similar way to \citep{shchepetkin_OM15}.  This is 
     1522sufficient for the flux-limited advection scheme (\forcode{ln_traadv_mus}) but further 
     1523intervention is required when using the flux-corrected scheme (\forcode{ln_traadv_fct}). 
     1524For these schemes the implicit upstream fluxes must be added to both the monotonic guess 
     1525and to the higher order solution when calculating the antidiffusive fluxes. The implicit 
     1526vertical fluxes are then removed since they are added by the implicit solver later on. 
     1527 
     1528The adaptive-implicit vertical advection option is new to NEMO at v4.0 and has yet to be 
     1529used in a wide range of simulations. The following test simulation, however, does illustrate 
     1530the potential benefits and will hopefully encourage further testing and feedback from users: 
     1531 
     1532\begin{figure}[!t] 
     1533  \centering 
     1534  \includegraphics[width=0.66\textwidth]{ZDF_zad_Aimp_overflow_frames} 
     1535  \caption[OVERFLOW: time-series of temperature vertical cross-sections]{ 
     1536    A time-series of temperature vertical cross-sections for the OVERFLOW test case. 
     1537    These results are for the default settings with \forcode{nn_rdt=10.0} and 
     1538    without adaptive implicit vertical advection (\forcode{ln_zad_Aimp=.false.}).} 
     1539  \label{fig:ZDF_zad_Aimp_overflow_frames} 
     1540\end{figure} 
     1541 
     1542%% ================================================================================================= 
     1543\subsection{Adaptive-implicit vertical advection in the OVERFLOW test-case} 
     1544 
     1545The \href{https://forge.ipsl.jussieu.fr/nemo/chrome/site/doc/NEMO/guide/html/test\_cases.html\#overflow}{OVERFLOW test case} 
     1546provides a simple illustration of the adaptive-implicit advection in action. The example here differs from the basic test case 
     1547by only a few extra physics choices namely: 
     1548 
     1549\begin{verbatim} 
     1550     ln_dynldf_OFF = .false. 
     1551     ln_dynldf_lap = .true. 
     1552     ln_dynldf_hor = .true. 
     1553     ln_zdfnpc     = .true. 
     1554     ln_traadv_fct = .true. 
     1555        nn_fct_h   =  2 
     1556        nn_fct_v   =  2 
     1557\end{verbatim} 
     1558 
     1559\noindent which were chosen to provide a slightly more stable and less noisy solution. The 
     1560result when using the default value of \forcode{nn_rdt=10.} without adaptive-implicit 
     1561vertical velocity is illustrated in \autoref{fig:ZDF_zad_Aimp_overflow_frames}. The mass of 
     1562cold water, initially sitting on the shelf, moves down the slope and forms a 
     1563bottom-trapped, dense plume. Even with these extra physics choices the model is close to 
     1564stability limits and attempts with \forcode{nn_rdt=30.} will fail after about 5.5 hours 
     1565with excessively high horizontal velocities. This time-scale corresponds with the time the 
     1566plume reaches the steepest part of the topography and, although detected as a horizontal 
     1567CFL breach, the instability originates from a breach of the vertical CFL limit. This is a good 
     1568candidate, therefore, for use of the adaptive-implicit vertical advection scheme. 
     1569 
     1570The results with \forcode{ln_zad_Aimp=.true.} and a variety of model timesteps 
     1571are shown in \autoref{fig:ZDF_zad_Aimp_overflow_all_rdt} (together with the equivalent 
     1572frames from the base run).  In this simple example the use of the adaptive-implicit 
     1573vertcal advection scheme has enabled a 12x increase in the model timestep without 
     1574significantly altering the solution (although at this extreme the plume is more diffuse 
     1575and has not travelled so far).  Notably, the solution with and without the scheme is 
     1576slightly different even with \forcode{nn_rdt=10.}; suggesting that the base run was 
     1577close enough to instability to trigger the scheme despite completing successfully. 
     1578To assist in diagnosing how active the scheme is, in both location and time, the 3D 
     1579implicit and explicit components of the vertical velocity are available via XIOS as 
     1580\texttt{wimp} and \texttt{wexp} respectively.  Likewise, the partitioning coefficient 
     1581(\cf) is also available as \texttt{wi\_cff}. For a quick oversight of 
     1582the schemes activity the global maximum values of the absolute implicit component 
     1583of the vertical velocity and the partitioning coefficient are written to the netCDF 
     1584version of the run statistics file (\texttt{run.stat.nc}) if this is active (see 
     1585\autoref{sec:MISC_opt} for activation details). 
     1586 
     1587\autoref{fig:ZDF_zad_Aimp_maxCf} shows examples of the maximum partitioning coefficient for 
     1588the various overflow tests.  Note that the adaptive-implicit vertical advection scheme is 
     1589active even in the base run with \forcode{nn_rdt=10.0s} adding to the evidence that the 
     1590test case is close to stability limits even with this value. At the larger timesteps, the 
     1591vertical velocity is treated mostly implicitly at some location throughout the run. The 
     1592oscillatory nature of this measure appears to be linked to the progress of the plume front 
     1593as each cusp is associated with the location of the maximum shifting to the adjacent cell. 
     1594This is illustrated in \autoref{fig:ZDF_zad_Aimp_maxCf_loc} where the i- and k- locations of the 
     1595maximum have been overlaid for the base run case. 
     1596 
     1597\medskip 
     1598\noindent Only limited tests have been performed in more realistic configurations. In the 
     1599ORCA2\_ICE\_PISCES reference configuration the scheme does activate and passes 
     1600restartability and reproducibility tests but it is unable to improve the model's stability 
     1601enough to allow an increase in the model time-step. A view of the time-series of maximum 
     1602partitioning coefficient (not shown here)  suggests that the default time-step of 5400s is 
     1603already pushing at stability limits, especially in the initial start-up phase. The 
     1604time-series does not, however, exhibit any of the 'cuspiness' found with the overflow 
     1605tests. 
     1606 
     1607\medskip 
     1608\noindent A short test with an eORCA1 configuration promises more since a test using a 
     1609time-step of 3600s remains stable with \forcode{ln_zad_Aimp=.true.} whereas the 
     1610time-step is limited to 2700s without. 
     1611 
     1612\begin{figure}[!t] 
     1613  \centering 
     1614  \includegraphics[width=0.66\textwidth]{ZDF_zad_Aimp_overflow_all_rdt} 
     1615  \caption[OVERFLOW: sample temperature vertical cross-sections from mid- and end-run]{ 
     1616    Sample temperature vertical cross-sections from mid- and end-run using 
     1617    different values for \forcode{nn_rdt} and with or without adaptive implicit vertical advection. 
     1618    Without the adaptive implicit vertical advection 
     1619    only the run with the shortest timestep is able to run to completion. 
     1620    Note also that the colour-scale has been chosen to confirm that 
     1621    temperatures remain within the original range of 10$^o$ to 20$^o$.} 
     1622  \label{fig:ZDF_zad_Aimp_overflow_all_rdt} 
     1623\end{figure} 
     1624 
     1625\begin{figure}[!t] 
     1626  \centering 
     1627  \includegraphics[width=0.66\textwidth]{ZDF_zad_Aimp_maxCf} 
     1628  \caption[OVERFLOW: maximum partitioning coefficient during a series of test runs]{ 
     1629    The maximum partitioning coefficient during a series of test runs with 
     1630    increasing model timestep length. 
     1631    At the larger timesteps, 
     1632    the vertical velocity is treated mostly implicitly at some location throughout the run.} 
     1633  \label{fig:ZDF_zad_Aimp_maxCf} 
     1634\end{figure} 
     1635 
     1636\begin{figure}[!t] 
     1637  \centering 
     1638  \includegraphics[width=0.66\textwidth]{ZDF_zad_Aimp_maxCf_loc} 
     1639  \caption[OVERFLOW: maximum partitioning coefficient for the case overlaid]{ 
     1640    The maximum partitioning coefficient for the \forcode{nn_rdt=10.0} case overlaid with 
     1641    information on the gridcell i- and k-locations of the maximum value.} 
     1642  \label{fig:ZDF_zad_Aimp_maxCf_loc} 
     1643\end{figure} 
     1644 
     1645\subinc{\input{../../global/epilogue}} 
    12571646 
    12581647\end{document} 
Note: See TracChangeset for help on using the changeset viewer.