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 11799 for NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO – NEMO

Ignore:
Timestamp:
2019-10-25T16:27:34+02:00 (5 years ago)
Author:
mocavero
Message:

Update the branch to v4.0.1 of the trunk

Location:
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc
Files:
12 deleted
25 edited
16 copied

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc

    • Property svn:externals set to
      ^/utils/badges badges
      ^/utils/logos logos
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex

    • Property svn:ignore deleted
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO

    • Property svn:externals set to
      ^/utils/figures/NEMO figures
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/build

    • Property svn:ignore
      •  

        old new  
        1414*.pdf 
        1515*.toc 
         16*.xdv 
        1617_minted-* 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/main/appendices.tex

    r11330 r11799  
    11 
    2 \subfile{../subfiles/annex_A}             %% Generalised vertical coordinate 
    3 \subfile{../subfiles/annex_B}             %% Diffusive operator 
    4 \subfile{../subfiles/annex_C}             %% Discrete invariants of the eqs. 
    5 \subfile{../subfiles/annex_iso}            %% Isoneutral diffusion using triads 
    6 \subfile{../subfiles/annex_DOMAINcfg}     %% Brief notes on DOMAINcfg 
     2\subfile{../subfiles/apdx_s_coord}      %% A. Generalised vertical coordinate 
     3\subfile{../subfiles/apdx_diff_opers}   %% B. Diffusive operators 
     4\subfile{../subfiles/apdx_invariants}   %% C. Discrete invariants of the eqs. 
     5\subfile{../subfiles/apdx_triads}       %% D. Isoneutral diffusion using triads 
     6\subfile{../subfiles/apdx_DOMAINcfg}    %% E. Brief notes on DOMAINcfg 
    77 
    88%% Not included 
     
    1010%\subfile{../subfiles/chap_DIU} 
    1111%\subfile{../subfiles/chap_conservation} 
    12 %\subfile{../subfiles/annex_E}            %% Notes on some on going staff 
    13  
     12%\subfile{../subfiles/apdx_algos}   %% Notes on some on going staff 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/main/bibliography.bib

    r11336 r11799  
    16141614} 
    16151615 
     1616@article{         kraus.turner_tellus67, 
     1617  author = {Kraus, E.B. and Turner, J.}, 
     1618  journal = {Tellus}, 
     1619  pages = {98--106}, 
     1620  title = {A one dimensional model of the seasonal thermocline {II}. {T}he general theory and its consequences}, 
     1621  volume = {19}, 
     1622  year = {1967} 
     1623} 
     1624 
     1625@article{        large.ea_RG97, 
     1626  author        = "Large, W. G. and McWilliams, J. C. and Doney, S. C.", 
     1627  doi           = "10.1029/94RG01872", 
     1628  journal       = "Reviews of Geophysics", 
     1629  number        = {4}, 
     1630  pages         = {363--403}, 
     1631  publisher     = {AGU}, 
     1632  title         = "Oceanic vertical mixing: {A} review and a model with a nonlocal boundary layer parameterization", 
     1633  year          = "1994" 
     1634} 
     1635 
    16161636@techreport{      large.yeager_rpt04, 
    16171637  title         = "Diurnal to decadal global forcing for ocean and sea-ice 
     
    21842204} 
    21852205 
     2206@article{mcwilliams.ea_JFM97, 
     2207   author = {McWilliams, James C. and Sullivan, Peter P. and Moeng, Chin-Hoh}, 
     2208   doi = {10.1017/S0022112096004375}, 
     2209   journal = {Journal of Fluid Mechanics}, 
     2210   pages = {1--30}, 
     2211   title = {Langmuir turbulence in the ocean}, 
     2212   volume = {334}, 
     2213   year = {1997}, 
     2214} 
    21862215@article{         mellor.blumberg_JPO04, 
    21872216  title         = "Wave Breaking and Ocean Surface Layer Thermal Response", 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/main/chapters.tex

    r11170 r11799  
    1 \subfile{../subfiles/introduction}        %% Introduction 
    2 \subfile{../subfiles/chap_model_basics} 
    3 \subfile{../subfiles/chap_time_domain}    %% Time discretisation (time stepping strategy) 
    4 \subfile{../subfiles/chap_DOM}            %% Space discretisation 
    5 \subfile{../subfiles/chap_TRA}            %% Tracer advection/diffusion equation 
    6 \subfile{../subfiles/chap_DYN}            %% Dynamics : momentum equation 
    7 \subfile{../subfiles/chap_SBC}            %% Surface Boundary Conditions 
    8 \subfile{../subfiles/chap_LBC}            %% Lateral Boundary Conditions 
    9 \subfile{../subfiles/chap_LDF}            %% Lateral diffusion 
    10 \subfile{../subfiles/chap_ZDF}            %% Vertical diffusion 
    11 \subfile{../subfiles/chap_DIA}            %% Outputs and Diagnostics 
    12 \subfile{../subfiles/chap_OBS}            %% Observation operator 
    13 \subfile{../subfiles/chap_ASM}            %% Assimilation increments 
    14 \subfile{../subfiles/chap_STO}            %% Stochastic param. 
    15 \subfile{../subfiles/chap_misc}           %% Miscellaneous topics 
    16 \subfile{../subfiles/chap_CONFIG}         %% Predefined configurations 
     1\subfile{../subfiles/chap_model_basics}   %% 1. 
     2\subfile{../subfiles/chap_time_domain}    %% 2.  Time discretisation (time stepping strategy) 
     3\subfile{../subfiles/chap_DOM}            %% 3.  Space discretisation 
     4\subfile{../subfiles/chap_TRA}            %% 4.  Tracer advection/diffusion equation 
     5\subfile{../subfiles/chap_DYN}            %% 5.  Dynamics : momentum equation 
     6\subfile{../subfiles/chap_SBC}            %% 6.  Surface Boundary Conditions 
     7\subfile{../subfiles/chap_LBC}            %% 7.  Lateral Boundary Conditions 
     8\subfile{../subfiles/chap_LDF}            %% 8.  Lateral diffusion 
     9\subfile{../subfiles/chap_ZDF}            %% 9.  Vertical diffusion 
     10\subfile{../subfiles/chap_DIA}            %% 10. Outputs and Diagnostics 
     11\subfile{../subfiles/chap_OBS}            %% 11. Observation operator 
     12\subfile{../subfiles/chap_ASM}            %% 12. Assimilation increments 
     13\subfile{../subfiles/chap_STO}            %% 13. Stochastic param. 
     14\subfile{../subfiles/chap_misc}           %% 14. Miscellaneous topics 
     15\subfile{../subfiles/chap_cfgs}           %% 15. Predefined configurations 
     16 
     17%% Not included 
     18%\subfile{../subfiles/chap_model_basics_zstar} 
     19%\subfile{../subfiles/chap_DIU} 
     20%\subfile{../subfiles/chap_conservation} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/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/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_ASM.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter Assimilation increments (ASM) 
    6 % ================================================================ 
     4 
    75\chapter{Apply Assimilation Increments (ASM)} 
    86\label{chap:ASM} 
    97 
     8%    {\em 4.0} & {\em D. J. Lea} & {\em \NEMO\ 4.0 updates}  \\ 
     9%    {\em 3.4} & {\em D. J. Lea, M. Martin, K. Mogensen, A. Weaver} & {\em Initial version}  \\ 
     10 
     11\thispagestyle{plain} 
     12 
    1013\chaptertoc 
    1114 
    12 \vfill 
    13 \begin{figure}[b] 
    14 \subsubsection*{Changes record} 
    15 \begin{tabular}{l||l|m{0.65\linewidth}} 
    16     Release   & Author        & Modifications \\ 
    17     {\em 4.0} & {\em D. J. Lea} & {\em \NEMO\ 4.0 updates}  \\ 
    18     {\em 3.4} & {\em D. J. Lea, M. Martin, K. Mogensen, A. Weaver} & {\em Initial version}  \\ 
    19 \end{tabular} 
    20 \end{figure} 
     15\paragraph{Changes record} ~\\ 
    2116 
    22 \newpage 
     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 
    2329 
    2430The ASM code adds the functionality to apply increments to the model variables: temperature, salinity, 
     
    2632These are read into the model from a NetCDF file which may be produced by separate data assimilation code. 
    2733The code can also output model background fields which are used as an input to data assimilation code. 
    28 This is all controlled by the namelist \nam{\_asminc}. 
     34This is all controlled by the namelist \nam{_asminc}{\_asminc}. 
    2935There is a brief description of all the namelist options provided. 
    3036To build the ASM code \key{asminc} must be set. 
    3137 
    32 %=============================================================== 
    33  
     38%% ================================================================================================= 
    3439\section{Direct initialization} 
    3540\label{sec:ASM_DI} 
     
    3742Direct initialization (DI) refers to the instantaneous correction of the model background state using 
    3843the analysis increment. 
    39 DI is used when \np{ln\_asmdin} is set to true. 
     44DI is used when \np{ln_asmdin}{ln\_asmdin} is set to true. 
    4045 
     46%% ================================================================================================= 
    4147\section{Incremental analysis updates} 
    4248\label{sec:ASM_IAU} 
     
    4753This technique is referred to as Incremental Analysis Updates (IAU) \citep{bloom.takacs.ea_MWR96}. 
    4854IAU is a common technique used with 3D assimilation methods such as 3D-Var or OI. 
    49 IAU is used when \np{ln\_asmiau} is set to true. 
     55IAU is used when \np{ln_asmiau}{ln\_asmiau} is set to true. 
    5056 
    5157With IAU, the model state trajectory ${\mathbf x}$ in the assimilation window ($t_{0} \leq t_{i} \leq t_{N}$) 
     
    5359additional tendency terms to the prognostic equations: 
    5460\begin{align*} 
    55   % \label{eq:wa_traj_iau} 
     61  % \label{eq:ASM_wa_traj_iau} 
    5662  {\mathbf x}^{a}(t_{i}) = M(t_{i}, t_{0})[{\mathbf x}^{b}(t_{0})] \; + \; F_{i} \delta \tilde{\mathbf x}^{a} 
    5763\end{align*} 
     
    6470Typically the increments are spread evenly over the full window. 
    6571In addition, two different weighting functions have been implemented. 
    66 The first function (namelist option \np{niaufn} = 0) employs constant weights, 
     72The first function (namelist option \np{niaufn}{niaufn}=0) employs constant weights, 
    6773\begin{align} 
    68   \label{eq:F1_i} 
     74  \label{eq:ASM_F1_i} 
    6975  F^{(1)}_{i} 
    7076  =\left\{ 
     
    7783\end{align} 
    7884where $M = m-n$. 
    79 The second function (namelist option \np{niaufn} = 1) employs peaked hat-like weights in order to give maximum weight in the centre of the sub-window, 
     85The second function (namelist option \np{niaufn}{niaufn}=1) employs peaked hat-like weights in order to give maximum weight in the centre of the sub-window, 
    8086with the weighting reduced linearly to a small value at the window end-points: 
    8187\begin{align} 
    82   \label{eq:F2_i} 
     88  \label{eq:ASM_F2_i} 
    8389  F^{(2)}_{i} 
    8490  =\left\{ 
     
    9298\end{align} 
    9399where $\alpha^{-1} = \sum_{i=1}^{M/2} 2i$ and $M$ is assumed to be even. 
    94 The weights described by \autoref{eq:F2_i} provide a smoother transition of the analysis trajectory from 
    95 one assimilation cycle to the next than that described by \autoref{eq:F1_i}. 
     100The weights described by \autoref{eq:ASM_F2_i} provide a smoother transition of the analysis trajectory from 
     101one assimilation cycle to the next than that described by \autoref{eq:ASM_F1_i}. 
    96102 
    97 %========================================================================== 
    98 % Divergence damping description %%% 
     103%% ================================================================================================= 
    99104\section{Divergence damping initialisation} 
    100105\label{sec:ASM_div_dmp} 
     
    106111 
    107112\begin{equation} 
    108   \label{eq:asm_dmp} 
     113  \label{eq:ASM_dmp} 
    109114  \left\{ 
    110115    \begin{aligned} 
     
    120125 
    121126\[ 
    122   % \label{eq:asm_div} 
     127  % \label{eq:ASM_div} 
    123128  \chi^{n-1}_I = \frac{1}{e_{1t}\,e_{2t}\,e_{3t} } 
    124129  \left( {\delta_i \left[ {e_{2u}\,e_{3u}\,u^{n-1}_I} \right] 
     
    126131\] 
    127132 
    128 By the application of \autoref{eq:asm_dmp} the divergence is filtered in each iteration, 
     133By the application of \autoref{eq:ASM_dmp} the divergence is filtered in each iteration, 
    129134and the vorticity is left unchanged. 
    130135In the presence of coastal boundaries with zero velocity increments perpendicular to the coast 
     
    134139\citep{talagrand_JAS72, dobricic.pinardi.ea_OS07}. 
    135140Diffusion coefficients are defined as $A_D = \alpha e_{1t} e_{2t}$, where $\alpha = 0.2$. 
    136 The divergence damping is activated by assigning to \np{nn\_divdmp} in the \nam{\_asminc} namelist 
     141The divergence damping is activated by assigning to \np{nn_divdmp}{nn\_divdmp} in the \nam{_asminc}{\_asminc} namelist 
    137142a value greater than zero. 
    138143This specifies the number of iterations of the divergence damping. Setting a value of the order of 100 will result in a significant reduction in the vertical velocity induced by the increments. 
    139144 
    140  
    141 %========================================================================== 
    142  
     145%% ================================================================================================= 
    143146\section{Implementation details} 
    144147\label{sec:ASM_details} 
    145148 
    146 Here we show an example \nam{\_asminc} namelist and the header of an example assimilation increments file on 
     149Here we show an example \nam{_asminc}{\_asminc} namelist and the header of an example assimilation increments file on 
    147150the ORCA2 grid. 
    148151 
    149 %------------------------------------------nam_asminc----------------------------------------------------- 
    150 % 
    151 \nlst{nam_asminc} 
    152 %------------------------------------------------------------------------------------------------------------- 
     152\begin{listing} 
     153  \nlst{nam_asminc} 
     154  \caption{\forcode{&nam_asminc}} 
     155  \label{lst:nam_asminc} 
     156\end{listing} 
    153157 
    154158The header of an assimilation increments file produced using the NetCDF tool 
     
    190194\end{clines} 
    191195 
    192 \biblio 
    193  
    194 \pindex 
     196\onlyinsubfile{\input{../../global/epilogue}} 
    195197 
    196198\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_DIA.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter I/O & Diagnostics 
    6 % ================================================================ 
     4 
    75\chapter{Output and Diagnostics (IOM, DIA, TRD, FLO)} 
    86\label{chap:DIA} 
    97 
     8%    {\em 4.0} & {\em Mirek Andrejczuk, Massimiliano Drudi} & {\em }  \\ 
     9%    {\em }      & {\em Dorotea Iovino, Nicolas Martin} & {\em }  \\ 
     10%    {\em 3.6} & {\em Gurvan Madec, Sebastien Masson } & {\em }  \\ 
     11%    {\em 3.4} & {\em Gurvan Madec, Rachid Benshila, Andrew Coward } & {\em }  \\ 
     12%    {\em }      & {\em Christian Ethe, Sebastien Masson } & {\em }  \\ 
     13 
     14\thispagestyle{plain} 
     15 
    1016\chaptertoc 
    1117 
    12 \vfill 
    13 \begin{figure}[b] 
    14 \subsubsection*{Changes record} 
    15 \begin{tabular}{l||l|m{0.65\linewidth}} 
    16     Release   & Author        & Modifications \\ 
    17     {\em 4.0} & {\em Mirek Andrejczuk, Massimiliano Drudi} & {\em }  \\ 
    18     {\em }      & {\em Dorotea Iovino, Nicolas Martin} & {\em }  \\ 
    19     {\em 3.6} & {\em Gurvan Madec, Sebastien Masson } & {\em }  \\ 
    20     {\em 3.4} & {\em Gurvan Madec, Rachid Benshila, Andrew Coward } & {\em }  \\ 
    21     {\em }      & {\em Christian Ethe, Sebastien Masson } & {\em }  \\ 
    22 \end{tabular} 
    23 \end{figure} 
    24  
    25 \newpage 
    26  
    27 % ================================================================ 
    28 %       Old Model Output 
    29 % ================================================================ 
     18\paragraph{Changes record} ~\\ 
     19 
     20{\footnotesize 
     21  \begin{tabularx}{\textwidth}{l||X|X} 
     22    Release & Author(s) & Modifications \\ 
     23    \hline 
     24    {\em   4.0} & {\em ...} & {\em ...} \\ 
     25    {\em   3.6} & {\em ...} & {\em ...} \\ 
     26    {\em   3.4} & {\em ...} & {\em ...} \\ 
     27    {\em <=3.4} & {\em ...} & {\em ...} 
     28  \end{tabularx} 
     29} 
     30 
     31\clearpage 
     32 
     33%% ================================================================================================= 
    3034\section{Model output} 
    3135\label{sec:DIA_io_old} 
     
    5357%\gmcomment{                    % start of gmcomment 
    5458 
    55 % ================================================================ 
    56 % Diagnostics 
    57 % ================================================================ 
     59%% ================================================================================================= 
    5860\section{Standard model output (IOM)} 
    5961\label{sec:DIA_iom} 
     
    6466 
    6567\begin{enumerate} 
    66 \item 
    67   The complete and flexible control of the output files through external XML files adapted by 
     68\item The complete and flexible control of the output files through external XML files adapted by 
    6869  the user from standard templates. 
    69 \item 
    70   To achieve high performance and scalable output through the optional distribution of 
     70\item To achieve high performance and scalable output through the optional distribution of 
    7171  all diagnostic output related tasks to dedicated processes. 
    7272\end{enumerate} 
     
    7676 
    7777\begin{itemize} 
    78 \item 
    79   The choice of output frequencies that can be different for each file (including real months and years). 
    80 \item 
    81   The choice of file contents; includes complete flexibility over which data are written in which files 
     78\item The choice of output frequencies that can be different for each file (including real months and years). 
     79\item The choice of file contents; includes complete flexibility over which data are written in which files 
    8280  (the same data can be written in different files). 
    83 \item 
    84   The possibility to split output files at a chosen frequency. 
    85 \item 
    86   The possibility to extract a vertical or an horizontal subdomain. 
    87 \item 
    88   The choice of the temporal operation to perform, \eg: average, accumulate, instantaneous, min, max and once. 
    89 \item 
    90   Control over metadata via a large XML "database" of possible output fields. 
     81\item The possibility to split output files at a chosen frequency. 
     82\item The possibility to extract a vertical or an horizontal subdomain. 
     83\item The choice of the temporal operation to perform, \eg: average, accumulate, instantaneous, min, max and once. 
     84\item Control over metadata via a large XML "database" of possible output fields. 
    9185\end{itemize} 
    9286 
     
    122116even without a parallel-enabled NetCDF4 library, simply by employing only one dedicated I/O server. 
    123117 
     118%% ================================================================================================= 
    124119\subsection{XIOS: Reading and writing restart file} 
    125120 
    126121XIOS may be used to read single file restart produced by \NEMO. Currently only the variables written to 
    127 file \forcode{numror} can be handled by XIOS. To activate restart reading using XIOS, set \np{ln\_xios\_read}\forcode{ = .true. } 
     122file \forcode{numror} can be handled by XIOS. To activate restart reading using XIOS, set \np[=.true. ]{ln_xios_read}{ln\_xios\_read} 
    128123in \textit{namelist\_cfg}. This setting will be ignored when multiple restart files are present, and default \NEMO 
    129124functionality will be used for reading. There is no need to change iodef.xml file to use XIOS to read 
     
    140135dimension \forcode{z} defined in restart file must be renamed to \forcode{nav_lev}.\\ 
    141136 
    142 XIOS can also be used to write \NEMO\ restart. A namelist parameter \np{nn\_wxios} is used to determine the 
     137XIOS can also be used to write \NEMO\ restart. A namelist parameter \np{nn_wxios}{nn\_wxios} is used to determine the 
    143138type of restart \NEMO\ will write. If it is set to 0, default \NEMO\ functionality will be used - each 
    144139processor writes its own restart file; if it is set to 1 XIOS will write restart into a single file; 
    145 for \np{nn\_wxios}\forcode{ = 2} the restart will be written by XIOS into multiple files, one for each XIOS server. 
    146 Note, however, that \textbf{\NEMO\ will not read restart generated by XIOS when \np{nn\_wxios}\forcode{ = 2}}. The restart will 
     140for \np[=2]{nn_wxios}{nn\_wxios} the restart will be written by XIOS into multiple files, one for each XIOS server. 
     141Note, however, that \textbf{\NEMO\ will not read restart generated by XIOS when \np[=2]{nn_wxios}{nn\_wxios}}. The restart will 
    147142have to be rebuild before continuing the run. This option aims to reduce number of restart files generated by \NEMO\ only, 
    148143and may be useful when there is a need to change number of processors used to run simulation. 
    149144 
    150145If an additional variable must be written to a restart file, the following steps are needed: 
    151 \begin{description} 
    152    \item[step 1:] add variable name to a list of restart variables (in subroutine \rou{iom\_set\_rst\_vars,} \mdl{iom}) and 
     146\begin{enumerate} 
     147\item Add variable name to a list of restart variables (in subroutine \rou{iom\_set\_rst\_vars,} \mdl{iom}) and 
    153148define correct grid for the variable (\forcode{grid_N_3D} - 3D variable, \forcode{grid_N} - 2D variable, \forcode{grid_vector} - 
    1541491D variable, \forcode{grid_scalar} - scalar), 
    155    \item[step 2:] add variable to the list of fields written by restart.  This can be done either in subroutine 
     150\item Add variable to the list of fields written by restart.  This can be done either in subroutine 
    156151\rou{iom\_set\_rstw\_core} (\mdl{iom}) or by calling  \rou{iom\_set\_rstw\_active} (\mdl{iom}) with the name of a variable 
    157152as an argument. This convention follows approach for writing restart using iom, where variables are 
    158153written either by \rou{rst\_write} or by calling \rou{iom\_rstput} from individual routines. 
    159 \end{description} 
    160  
     154\end{enumerate} 
    161155 
    162156An older versions of XIOS do not support reading functionality. It's recommended to use at least XIOS2@1451. 
    163157 
    164  
     158%% ================================================================================================= 
    165159\subsection{XIOS: XML Inputs-Outputs Server} 
    166160 
     161%% ================================================================================================= 
    167162\subsubsection{Attached or detached mode?} 
    168163 
     
    174169\xmlline|<variable id="using_server" type="bool"></variable>| 
    175170 
    176 The {\ttfamily using\_server} setting determines whether or not the server will be used in \textit{attached mode} 
    177 (as a library) [{\ttfamily> false <}] or in \textit{detached mode} 
    178 (as an external executable on N additional, dedicated cpus) [{\ttfamily > true <}]. 
    179 The \textit{attached mode} is simpler to use but much less efficient for massively parallel applications. 
     171The \texttt{using\_server} setting determines whether or not the server will be used in 
     172\textit{attached mode} 
     173(as a library) [\texttt{> false <}] or in \textit{detached mode} 
     174(as an external executable on N additional, dedicated cpus) [\texttt{ > true <}]. 
     175The \textit{attached mode} is simpler to use but much less efficient for 
     176massively parallel applications. 
    180177The type of each file can be either ''multiple\_file'' or ''one\_file''. 
    181178 
     
    197194The following subsection provides a typical example but the syntax will vary in different MPP environments. 
    198195 
     196%% ================================================================================================= 
    199197\subsubsection{Number of cpu used by XIOS in detached mode} 
    200198 
     
    211209\cmd|mpirun -np 62 ./nemo.exe : -np 2 ./xios_server.exe| 
    212210 
     211%% ================================================================================================= 
    213212\subsubsection{Control of XIOS: the context in iodef.xml} 
    214213 
     
    218217 
    219218\begin{table} 
    220   \scriptsize 
    221219  \begin{tabularx}{\textwidth}{|lXl|} 
    222220    \hline 
     
    257255\end{table} 
    258256 
     257%% ================================================================================================= 
    259258\subsection{Practical issues} 
    260259 
     260%% ================================================================================================= 
    261261\subsubsection{Installation} 
    262262 
     
    267267{Extract and install XIOS} guide provides an example illustration of how this can be achieved. 
    268268 
     269%% ================================================================================================= 
    269270\subsubsection{Add your own outputs} 
    270271 
     
    275276 
    276277\begin{enumerate} 
    277 \item[1.] 
    278   in \NEMO\ code, add a \forcode{CALL iom_put( 'identifier', array )} where you want to output a 2D or 3D array. 
    279 \item[2.] 
    280   If necessary, add \forcode{USE iom ! I/O manager library} to the list of used modules in 
     278\item in \NEMO\ code, add a \forcode{CALL iom_put( 'identifier', array )} where you want to output a 2D or 3D array. 
     279\item If necessary, add \forcode{USE iom ! I/O manager library} to the list of used modules in 
    281280  the upper part of your module. 
    282 \item[3.] 
    283   in the field\_def.xml file, add the definition of your variable using the same identifier you used in the f90 code 
     281\item in the field\_def.xml file, add the definition of your variable using the same identifier you used in the f90 code 
    284282  (see subsequent sections for a details of the XML syntax and rules). 
    285283  For example: 
    286  
    287284\begin{xmllines} 
    288285<field_definition> 
     
    293290</field_definition> 
    294291\end{xmllines} 
    295  
    296292Note your definition must be added to the field\_group whose reference grid is consistent with the size of 
    297293the array passed to iomput. 
     
    300296(iom\_set\_domain\_attr and iom\_set\_axis\_attr in \mdl{iom}) or defined in the domain\_def.xml file. 
    301297\eg: 
    302  
    303298\begin{xmllines} 
    304299<grid id="grid_T_3D" domain_ref="grid_T" axis_ref="deptht"/> 
    305300\end{xmllines} 
    306  
    307 Note, if your array is computed within the surface module each \np{nn\_fsbc} time\_step, 
     301Note, if your array is computed within the surface module each \np{nn_fsbc}{nn\_fsbc} time\_step, 
    308302add the field definition within the field\_group defined with the id "SBC": 
    309303\xmlcode{<field_group id="SBC" ...>} which has been defined with the correct frequency of operations 
    310304(iom\_set\_field\_attr in \mdl{iom}) 
    311 \item[4.] 
    312   add your field in one of the output files defined in iodef.xml 
     305\item add your field in one of the output files defined in iodef.xml 
    313306  (again see subsequent sections for syntax and rules) 
    314  
    315307\begin{xmllines} 
    316308<file id="file1" .../> 
     
    320312</file> 
    321313\end{xmllines} 
    322  
    323314\end{enumerate} 
    324315 
     316%% ================================================================================================= 
    325317\subsection{XML fundamentals} 
    326318 
     319%% ================================================================================================= 
    327320\subsubsection{ XML basic rules} 
    328321 
     
    334327See \href{http://www.xmlnews.org/docs/xml-basics.html}{here} for more details. 
    335328 
     329%% ================================================================================================= 
    336330\subsubsection{Structure of the XML file used in \NEMO} 
    337331 
     
    341335 
    342336\begin{table} 
    343   \scriptsize 
    344337  \begin{tabular*}{\textwidth}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 
    345338    \hline 
     
    373366 
    374367\begin{table} 
    375   \scriptsize 
    376368  \begin{tabular}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 
    377369    \hline 
     
    398390 
    399391\begin{table} 
    400   \scriptsize 
    401392  \begin{tabular}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 
    402393    \hline 
     
    418409 
    419410\begin{table} 
    420   \scriptsize 
    421411  \begin{tabular}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 
    422412    \hline 
     
    443433\end{table} 
    444434 
     435%% ================================================================================================= 
    445436\subsubsection{Nesting XML files} 
    446437 
     
    459450\end{xmllines} 
    460451 
     452%% ================================================================================================= 
    461453\subsubsection{Use of inheritance} 
    462454 
     
    499491Inherit (and overwrite, if needed) the attributes of a tag you are refering to. 
    500492 
     493%% ================================================================================================= 
    501494\subsubsection{Use of groups} 
    502495 
     
    540533\end{xmllines} 
    541534 
     535%% ================================================================================================= 
    542536\subsection{Detailed functionalities} 
    543537 
     
    545539the new functionalities offered by the XML interface of XIOS. 
    546540 
     541%% ================================================================================================= 
    547542\subsubsection{Define horizontal subdomains} 
    548543 
     
    586581We are therefore advising to use the ''one\_file'' type in this case. 
    587582 
     583%% ================================================================================================= 
    588584\subsubsection{Define vertical zooms} 
    589585 
     
    609605\end{xmllines} 
    610606 
     607%% ================================================================================================= 
    611608\subsubsection{Control of the output file names} 
    612609 
     
    634631 
    635632\begin{table} 
    636   \scriptsize 
    637633  \begin{tabularx}{\textwidth}{|lX|} 
    638634    \hline 
     
    682678\noindent will give the following file name radical: \ifile{myfile\_ORCA2\_19891231\_freq1d} 
    683679 
     680%% ================================================================================================= 
    684681\subsubsection{Other controls of the XML attributes from \NEMO} 
    685682 
     
    695692 
    696693\begin{table} 
    697   \scriptsize 
    698   \begin{tabularx}{\textwidth}{|X|c|c|c|} 
     694  \begin{tabular}{|l|c|c|} 
    699695    \hline 
    700696    tag ids affected by automatic definition of some of their attributes & 
    701697    name attribute                                                       & 
    702     attribute value                      \\ 
     698    attribute value                                                      \\ 
    703699    \hline 
    704700    \hline 
    705701    field\_definition                                                    & 
    706702    freq\_op                                                             & 
    707     \np{rn\_rdt}                         \\ 
     703    \np{rn_rdt}{rn\_rdt}                                                         \\ 
    708704    \hline 
    709705    SBC                                                                  & 
    710706    freq\_op                                                             & 
    711     \np{rn\_rdt} $\times$ \np{nn\_fsbc}  \\ 
     707    \np{rn_rdt}{rn\_rdt} $\times$ \np{nn_fsbc}{nn\_fsbc}                                  \\ 
    712708    \hline 
    713709    ptrc\_T                                                              & 
    714710    freq\_op                                                             & 
    715     \np{rn\_rdt} $\times$ \np{nn\_dttrc} \\ 
     711    \np{rn_rdt}{rn\_rdt} $\times$ \np{nn_dttrc}{nn\_dttrc}                                \\ 
    716712    \hline 
    717713    diad\_T                                                              & 
    718714    freq\_op                                                             & 
    719     \np{rn\_rdt} $\times$ \np{nn\_dttrc} \\ 
     715    \np{rn_rdt}{rn\_rdt} $\times$ \np{nn_dttrc}{nn\_dttrc}                                \\ 
    720716    \hline 
    721717    EqT, EqU, EqW                                                        & 
    722718    jbegin, ni,                                                          & 
    723     according to the grid                \\ 
    724     & 
     719    according to the grid                                                \\ 
     720                                                                         & 
    725721    name\_suffix                                                         & 
    726     \\ 
     722                                                                         \\ 
    727723    \hline 
    728724    TAO, RAMA and PIRATA moorings                                        & 
    729725    zoom\_ibegin, zoom\_jbegin,                                          & 
    730     according to the grid                \\ 
    731     & 
     726    according to the grid                                                \\ 
     727                                                                         & 
    732728    name\_suffix                                                         & 
    733     \\ 
    734     \hline 
    735   \end{tabularx} 
     729                                                                         \\ 
     730    \hline 
     731  \end{tabular} 
    736732\end{table} 
    737733 
     734%% ================================================================================================= 
    738735\subsubsection{Advanced use of XIOS functionalities} 
    739736 
     737%% ================================================================================================= 
    740738\subsection{XML reference tables} 
    741 \label{subsec:IOM_xmlref} 
     739\label{subsec:DIA_IOM_xmlref} 
    742740 
    743741\begin{enumerate} 
    744 \item 
    745   Simple computation: directly define the computation when refering to the variable in the file definition. 
     742\item Simple computation: directly define the computation when refering to the variable in the file definition. 
    746743 
    747744\begin{xmllines} 
     
    751748\end{xmllines} 
    752749 
    753 \item 
    754   Simple computation: define a new variable and use it in the file definition. 
     750\item Simple computation: define a new variable and use it in the file definition. 
    755751 
    756752in field\_definition: 
     
    769765sst2 won't be evaluated. 
    770766 
    771 \item 
    772   Change of variable precision: 
     767\item Change of variable precision: 
    773768 
    774769\begin{xmllines} 
     
    783778Forcing double precision outputs with prec="8" (for example in the field\_definition) will avoid this problem. 
    784779 
    785 \item 
    786   add user defined attributes: 
     780\item add user defined attributes: 
    787781 
    788782\begin{xmllines} 
     
    799793\end{xmllines} 
    800794 
    801 \item 
    802   use of the ``@'' function: example 1, weighted temporal average 
     795\item use of the ``@'' function: example 1, weighted temporal average 
    803796 
    804797 - define a new variable in field\_definition 
     
    828821Note that in this case, freq\_op must be equal to the file output\_freq. 
    829822 
    830 \item 
    831   use of the ``@'' function: example 2, monthly SSH standard deviation 
     823\item use of the ``@'' function: example 2, monthly SSH standard deviation 
    832824 
    833825 - define a new variable in field\_definition 
     
    859851Note that in this case, freq\_op must be equal to the file output\_freq. 
    860852 
    861 \item 
    862   use of the ``@'' function: example 3, monthly average of SST diurnal cycle 
     853\item use of the ``@'' function: example 3, monthly average of SST diurnal cycle 
    863854 
    864855 - define 2 new variables in field\_definition 
     
    891882field\_ref="sst" means that attributes not explicitely defined, are inherited from sst field. 
    892883 
     884%% ================================================================================================= 
    893885\subsubsection{Tag list per family} 
    894886 
    895887\begin{table} 
    896   \scriptsize 
    897888  \begin{tabularx}{\textwidth}{|l|X|X|l|X|} 
    898889    \hline 
     
    917908    \hline 
    918909  \end{tabularx} 
    919   \caption{Context tags} 
     910  \caption{XIOS: context tags} 
    920911\end{table} 
    921912 
    922913\begin{table} 
    923   \scriptsize 
    924914  \begin{tabularx}{\textwidth}{|l|X|X|X|l|} 
    925915    \hline 
     
    952942    \hline 
    953943  \end{tabularx} 
    954   \caption{Field tags ("\ttfamily{field\_*}")} 
     944  \caption{XIOS: field tags ("\texttt{field\_*}")} 
    955945\end{table} 
    956946 
    957947\begin{table} 
    958   \scriptsize 
    959948  \begin{tabularx}{\textwidth}{|l|X|X|X|l|} 
    960949    \hline 
     
    988977    \hline 
    989978  \end{tabularx} 
    990   \caption{File tags ("\ttfamily{file\_*}")} 
     979  \caption{XIOS: file tags ("\texttt{file\_*}")} 
    991980\end{table} 
    992981 
    993982\begin{table} 
    994   \scriptsize 
    995983  \begin{tabularx}{\textwidth}{|l|X|X|X|X|} 
    996984    \hline 
     
    10211009    \hline 
    10221010  \end{tabularx} 
    1023   \caption{Axis tags ("\ttfamily{axis\_*}")} 
     1011  \caption{XIOS: axis tags ("\texttt{axis\_*}")} 
    10241012\end{table} 
    10251013 
    10261014\begin{table} 
    1027   \scriptsize 
    10281015  \begin{tabularx}{\textwidth}{|l|X|X|X|X|} 
    10291016    \hline 
     
    10541041    \hline 
    10551042  \end{tabularx} 
    1056   \caption{Domain tags ("\ttfamily{domain\_*)}"} 
     1043  \caption{XIOS: domain tags ("\texttt{domain\_*)}"} 
    10571044\end{table} 
    10581045 
    10591046\begin{table} 
    1060   \scriptsize 
    10611047  \begin{tabularx}{\textwidth}{|l|X|X|X|X|} 
    10621048    \hline 
     
    10871073    \hline 
    10881074  \end{tabularx} 
    1089   \caption{Grid tags ("\ttfamily{grid\_*}")} 
     1075  \caption{XIOS: grid tags ("\texttt{grid\_*}")} 
    10901076\end{table} 
    10911077 
     1078%% ================================================================================================= 
    10921079\subsubsection{Attributes list per family} 
    10931080 
    10941081\begin{table} 
    1095   \scriptsize 
    10961082  \begin{tabularx}{\textwidth}{|l|X|l|l|} 
    10971083    \hline 
     
    11281114    \hline 
    11291115  \end{tabularx} 
    1130   \caption{Reference attributes ("\ttfamily{*\_ref}")} 
     1116  \caption{XIOS: reference attributes ("\texttt{*\_ref}")} 
    11311117\end{table} 
    11321118 
    11331119\begin{table} 
    1134   \scriptsize 
    11351120  \begin{tabularx}{\textwidth}{|l|X|l|l|} 
    11361121    \hline 
     
    11641149    \hline 
    11651150  \end{tabularx} 
    1166   \caption{Domain attributes ("\ttfamily{zoom\_*}")} 
     1151  \caption{XIOS: domain attributes ("\texttt{zoom\_*}")} 
    11671152\end{table} 
    11681153 
    11691154\begin{table} 
    1170   \scriptsize 
    11711155  \begin{tabularx}{\textwidth}{|l|X|l|l|} 
    11721156    \hline 
     
    12191203    \hline 
    12201204  \end{tabularx} 
    1221   \caption{File attributes} 
     1205  \caption{XIOS: file attributes} 
    12221206\end{table} 
    12231207 
    12241208\begin{table} 
    1225   \scriptsize 
    12261209  \begin{tabularx}{\textwidth}{|l|X|l|l|} 
    12271210    \hline 
     
    12681251    \hline 
    12691252  \end{tabularx} 
    1270   \caption{Field attributes} 
     1253  \caption{XIOS: field attributes} 
    12711254\end{table} 
    12721255 
    12731256\begin{table} 
    1274   \scriptsize 
    12751257  \begin{tabularx}{\textwidth}{|l|X|X|X|} 
    12761258    \hline 
     
    13271309    \hline 
    13281310  \end{tabularx} 
    1329   \caption{Miscellaneous attributes} 
     1311  \caption{XIOS: miscellaneous attributes} 
    13301312\end{table} 
    13311313 
     1314%% ================================================================================================= 
    13321315\subsection{CF metadata standard compliance} 
    13331316 
     
    13361319the CF metadata standard. 
    13371320Therefore while a user may wish to add their own metadata to the output files (as demonstrated in example 4 of 
    1338 section \autoref{subsec:IOM_xmlref}) the metadata should, for the most part, comply with the CF-1.5 standard. 
     1321section \autoref{subsec:DIA_IOM_xmlref}) the metadata should, for the most part, comply with the CF-1.5 standard. 
    13391322 
    13401323Some metadata that may significantly increase the file size (horizontal cell areas and vertices) are controlled by 
    1341 the namelist parameter \np{ln\_cfmeta} in the \nam{run} namelist. 
     1324the namelist parameter \np{ln_cfmeta}{ln\_cfmeta} in the \nam{run}{run} namelist. 
    13421325This must be set to true if these metadata are to be included in the output files. 
    13431326 
    1344  
    1345 % ================================================================ 
    1346 %       NetCDF4 support 
    1347 % ================================================================ 
    1348 \section[NetCDF4 support (\texttt{\textbf{key\_netcdf4}})] 
    1349 {NetCDF4 support (\protect\key{netcdf4})} 
     1327%% ================================================================================================= 
     1328\section[NetCDF4 support (\texttt{\textbf{key\_netcdf4}})]{NetCDF4 support (\protect\key{netcdf4})} 
    13501329\label{sec:DIA_nc4} 
    13511330 
     
    13621341most analysis codes can be relinked simply with the new libraries and will then read both NetCDF3 and NetCDF4 files. 
    13631342\NEMO\ executables linked with NetCDF4 libraries can be made to produce NetCDF3 files by 
    1364 setting the \np{ln\_nc4zip} logical to false in the \nam{nc4} namelist: 
    1365  
    1366 %------------------------------------------namnc4---------------------------------------------------- 
    1367  
    1368 \nlst{namnc4} 
    1369 %------------------------------------------------------------------------------------------------------------- 
     1343setting the \np{ln_nc4zip}{ln\_nc4zip} logical to false in the \nam{nc4}{nc4} namelist: 
     1344 
     1345\begin{listing} 
     1346  \nlst{namnc4} 
     1347  \caption{\forcode{&namnc4}} 
     1348  \label{lst:namnc4} 
     1349\end{listing} 
    13701350 
    13711351If \key{netcdf4} has not been defined, these namelist parameters are not read. 
    1372 In this case, \np{ln\_nc4zip} is set false and dummy routines for a few NetCDF4-specific functions are defined. 
     1352In this case, \np{ln_nc4zip}{ln\_nc4zip} is set false and dummy routines for a few NetCDF4-specific functions are defined. 
    13731353These functions will not be used but need to be included so that compilation is possible with NetCDF3 libraries. 
    13741354 
     
    14041384\end{forlines} 
    14051385 
    1406 \noindent for a standard ORCA2\_LIM configuration gives chunksizes of {\small\ttfamily 46x38x1} respectively in 
    1407 the mono-processor case (\ie\ global domain of {\small\ttfamily 182x149x31}). 
     1386\noindent for a standard ORCA2\_LIM configuration gives chunksizes of {\small\texttt 46x38x1} respectively in 
     1387the mono-processor case (\ie\ global domain of {\small\texttt 182x149x31}). 
    14081388An illustration of the potential space savings that NetCDF4 chunking and compression provides is given in 
    1409 table \autoref{tab:NC4} which compares the results of two short runs of the ORCA2\_LIM reference configuration with 
     1389table \autoref{tab:DIA_NC4} which compares the results of two short runs of the ORCA2\_LIM reference configuration with 
    14101390a 4x2 mpi partitioning. 
    14111391Note the variation in the compression ratio achieved which reflects chiefly the dry to wet volume ratio of 
    14121392each processing region. 
    14131393 
    1414 %------------------------------------------TABLE---------------------------------------------------- 
    14151394\begin{table} 
    1416   \scriptsize 
    14171395  \centering 
    14181396  \begin{tabular}{lrrr} 
     
    14461424    ORCA2\_2d\_grid\_W\_0007.nc & 4416    & 1368     & 70\%      \\ 
    14471425  \end{tabular} 
    1448   \caption{ 
    1449     \protect\label{tab:NC4} 
    1450     Filesize comparison between NetCDF3 and NetCDF4 with chunking and compression 
    1451   } 
     1426  \caption{Filesize comparison between NetCDF3 and NetCDF4 with chunking and compression} 
     1427  \label{tab:DIA_NC4} 
    14521428\end{table} 
    1453 %---------------------------------------------------------------------------------------------------- 
    14541429 
    14551430When \key{iomput} is activated with \key{netcdf4} chunking and compression parameters for fields produced via 
    1456 \rou{iom\_put} calls are set via an equivalent and identically named namelist to \nam{nc4} in 
     1431\rou{iom\_put} calls are set via an equivalent and identically named namelist to \nam{nc4}{nc4} in 
    14571432\textit{xmlio\_server.def}. 
    1458 Typically this namelist serves the mean files whilst the \nam{nc4} in the main namelist file continues to 
     1433Typically this namelist serves the mean files whilst the \nam{nc4}{nc4} in the main namelist file continues to 
    14591434serve the restart files. 
    14601435This duplication is unfortunate but appropriate since, if using io\_servers, the domain sizes of 
     
    14621437the invidual processing regions and different chunking choices may be desired. 
    14631438 
    1464 % ------------------------------------------------------------------------------------------------------------- 
    1465 %       Tracer/Dynamics Trends 
    1466 % ------------------------------------------------------------------------------------------------------------- 
    1467 \section[Tracer/Dynamics trends (\texttt{namtrd})] 
    1468 {Tracer/Dynamics trends (\protect\nam{trd})} 
     1439%% ================================================================================================= 
     1440\section[Tracer/Dynamics trends (\forcode{&namtrd})]{Tracer/Dynamics trends (\protect\nam{trd}{trd})} 
    14691441\label{sec:DIA_trd} 
    14701442 
    1471 %------------------------------------------namtrd---------------------------------------------------- 
    1472  
    1473 \nlst{namtrd} 
    1474 %------------------------------------------------------------------------------------------------------------- 
     1443\begin{listing} 
     1444  \nlst{namtrd} 
     1445  \caption{\forcode{&namtrd}} 
     1446  \label{lst:namtrd} 
     1447\end{listing} 
    14751448 
    14761449Each trend of the dynamics and/or temperature and salinity time evolution equations can be send to 
    14771450\mdl{trddyn} and/or \mdl{trdtra} modules (see TRD directory) just after their computation 
    14781451(\ie\ at the end of each \textit{dyn....F90} and/or \textit{tra....F90} routines). 
    1479 This capability is controlled by options offered in \nam{trd} namelist. 
     1452This capability is controlled by options offered in \nam{trd}{trd} namelist. 
    14801453Note that the output are done with XIOS, and therefore the \key{iomput} is required. 
    14811454 
    1482 What is done depends on the \nam{trd} logical set to \forcode{.true.}: 
     1455What is done depends on the \nam{trd}{trd} logical set to \forcode{.true.}: 
    14831456 
    14841457\begin{description} 
    1485 \item[\np{ln\_glo\_trd}]: 
    1486   at each \np{nn\_trd} time-step a check of the basin averaged properties of 
     1458\item [{\np{ln_glo_trd}{ln\_glo\_trd}}]: at each \np{nn_trd}{nn\_trd} time-step a check of the basin averaged properties of 
    14871459  the momentum and tracer equations is performed. 
    14881460  This also includes a check of $T^2$, $S^2$, $\tfrac{1}{2} (u^2+v2)$, 
    14891461  and potential energy time evolution equations properties; 
    1490 \item[\np{ln\_dyn\_trd}]: 
    1491   each 3D trend of the evolution of the two momentum components is output; 
    1492 \item[\np{ln\_dyn\_mxl}]: 
    1493   each 3D trend of the evolution of the two momentum components averaged over the mixed layer is output; 
    1494 \item[\np{ln\_vor\_trd}]: 
    1495   a vertical summation of the moment tendencies is performed, 
     1462\item [{\np{ln_dyn_trd}{ln\_dyn\_trd}}]: each 3D trend of the evolution of the two momentum components is output; 
     1463\item [{\np{ln_dyn_mxl}{ln\_dyn\_mxl}}]: each 3D trend of the evolution of the two momentum components averaged over the mixed layer is output; 
     1464\item [{\np{ln_vor_trd}{ln\_vor\_trd}}]: a vertical summation of the moment tendencies is performed, 
    14961465  then the curl is computed to obtain the barotropic vorticity tendencies which are output; 
    1497 \item[\np{ln\_KE\_trd}] : 
    1498   each 3D trend of the Kinetic Energy equation is output; 
    1499 \item[\np{ln\_tra\_trd}]: 
    1500   each 3D trend of the evolution of temperature and salinity is output; 
    1501 \item[\np{ln\_tra\_mxl}]: 
    1502   each 2D trend of the evolution of temperature and salinity averaged over the mixed layer is output; 
     1466\item [{\np{ln_KE_trd}{ln\_KE\_trd}}]  : each 3D trend of the Kinetic Energy equation is output; 
     1467\item [{\np{ln_tra_trd}{ln\_tra\_trd}}]: each 3D trend of the evolution of temperature and salinity is output; 
     1468\item [{\np{ln_tra_mxl}{ln\_tra\_mxl}}]: each 2D trend of the evolution of temperature and salinity averaged over the mixed layer is output; 
    15031469\end{description} 
    15041470 
     
    15071473 
    15081474\textbf{Note that} in the current version (v3.6), many changes has been introduced but not fully tested. 
    1509 In particular, options associated with \np{ln\_dyn\_mxl}, \np{ln\_vor\_trd}, and \np{ln\_tra\_mxl} are not working, 
    1510 and none of the options have been tested with variable volume (\ie\ \np{ln\_linssh}\forcode{ = .true.}). 
    1511  
    1512 % ------------------------------------------------------------------------------------------------------------- 
    1513 %       On-line Floats trajectories 
    1514 % ------------------------------------------------------------------------------------------------------------- 
    1515 \section[FLO: On-Line Floats trajectories (\texttt{\textbf{key\_floats}})] 
    1516 {FLO: On-Line Floats trajectories (\protect\key{floats})} 
    1517 \label{sec:FLO} 
    1518 %--------------------------------------------namflo------------------------------------------------------- 
    1519  
    1520 \nlst{namflo} 
    1521 %-------------------------------------------------------------------------------------------------------------- 
     1475In particular, options associated with \np{ln_dyn_mxl}{ln\_dyn\_mxl}, \np{ln_vor_trd}{ln\_vor\_trd}, and \np{ln_tra_mxl}{ln\_tra\_mxl} are not working, 
     1476and none of the options have been tested with variable volume (\ie\ \np[=.true.]{ln_linssh}{ln\_linssh}). 
     1477 
     1478%% ================================================================================================= 
     1479\section[FLO: On-Line Floats trajectories (\texttt{\textbf{key\_floats}})]{FLO: On-Line Floats trajectories (\protect\key{floats})} 
     1480\label{sec:DIA_FLO} 
     1481 
     1482\begin{listing} 
     1483  \nlst{namflo} 
     1484  \caption{\forcode{&namflo}} 
     1485  \label{lst:namflo} 
     1486\end{listing} 
    15221487 
    15231488The on-line computation of floats advected either by the three dimensional velocity field or constraint to 
    15241489remain at a given depth ($w = 0$ in the computation) have been introduced in the system during the CLIPPER project. 
    1525 Options are defined by \nam{flo} namelist variables. 
     1490Options are defined by \nam{flo}{flo} namelist variables. 
    15261491The algorithm used is based either on the work of \cite{blanke.raynaud_JPO97} (default option), 
    1527 or on a $4^th$ Runge-Hutta algorithm (\np{ln\_flork4}\forcode{ = .true.}). 
     1492or on a $4^th$ Runge-Hutta algorithm (\np[=.true.]{ln_flork4}{ln\_flork4}). 
    15281493Note that the \cite{blanke.raynaud_JPO97} algorithm have the advantage of providing trajectories which 
    15291494are consistent with the numeric of the code, so that the trajectories never intercept the bathymetry. 
    15301495 
     1496%% ================================================================================================= 
    15311497\subsubsection{Input data: initial coordinates} 
    15321498 
    15331499Initial coordinates can be given with Ariane Tools convention 
    1534 (IJK coordinates, (\np{ln\_ariane}\forcode{ = .true.}) ) or with longitude and latitude. 
     1500(IJK coordinates, (\np[=.true.]{ln_ariane}{ln\_ariane}) ) or with longitude and latitude. 
    15351501 
    15361502In case of Ariane convention, input filename is \textit{init\_float\_ariane}. 
    15371503Its format is: \\ 
    1538 {\scriptsize \texttt{I J K nisobfl itrash}} 
     1504{ \texttt{I J K nisobfl itrash}} 
    15391505 
    15401506\noindent with: 
     
    15481514\noindent Example: \\ 
    15491515\noindent 
    1550 {\scriptsize 
     1516{ 
    15511517  \texttt{ 
    15521518    100.00000  90.00000  -1.50000 1.00000   0.00000   \\ 
     
    15591525In the other case (longitude and latitude), input filename is init\_float. 
    15601526Its format is: \\ 
    1561 {\scriptsize \texttt{Long Lat depth nisobfl ngrpfl itrash}} 
     1527{ \texttt{Long Lat depth nisobfl ngrpfl itrash}} 
    15621528 
    15631529\noindent with: 
     
    15731539\noindent Example: \\ 
    15741540\noindent 
    1575 {\scriptsize 
     1541{ 
    15761542  \texttt{ 
    15771543    20.0 0.0 0.0 0 1 1    \\ 
     
    15821548} \\ 
    15831549 
    1584 \np{jpnfl} is the total number of floats during the run. 
    1585 When initial positions are read in a restart file (\np{ln\_rstflo}\forcode{ = .true.} ), 
    1586 \np{jpnflnewflo} can be added in the initialization file. 
    1587  
     1550\np{jpnfl}{jpnfl} is the total number of floats during the run. 
     1551When initial positions are read in a restart file (\np[=.true.]{ln_rstflo}{ln\_rstflo} ), 
     1552\np{jpnflnewflo}{jpnflnewflo} can be added in the initialization file. 
     1553 
     1554%% ================================================================================================= 
    15881555\subsubsection{Output data} 
    15891556 
    1590 \np{nn\_writefl} is the frequency of writing in float output file and \np{nn\_stockfl} is the frequency of 
     1557\np{nn_writefl}{nn\_writefl} is the frequency of writing in float output file and \np{nn_stockfl}{nn\_stockfl} is the frequency of 
    15911558creation of the float restart file. 
    15921559 
    1593 Output data can be written in ascii files (\np{ln\_flo\_ascii}\forcode{ = .true.}). 
     1560Output data can be written in ascii files (\np[=.true.]{ln_flo_ascii}{ln\_flo\_ascii}). 
    15941561In that case, output filename is trajec\_float. 
    15951562 
    1596 Another possiblity of writing format is Netcdf (\np{ln\_flo\_ascii}\forcode{ = .false.}) with 
     1563Another possiblity of writing format is Netcdf (\np[=.false.]{ln_flo_ascii}{ln\_flo\_ascii}) with 
    15971564\key{iomput} and outputs selected in iodef.xml. 
    15981565Here it is an example of specification to put in files description section: 
     
    16121579\end{xmllines} 
    16131580 
    1614  
    1615 % ------------------------------------------------------------------------------------------------------------- 
    1616 %       Harmonic analysis of tidal constituents 
    1617 % ------------------------------------------------------------------------------------------------------------- 
    1618 \section[Harmonic analysis of tidal constituents (\texttt{\textbf{key\_diaharm}})] 
    1619 {Harmonic analysis of tidal constituents (\protect\key{diaharm})} 
     1581%% ================================================================================================= 
     1582\section[Harmonic analysis of tidal constituents (\texttt{\textbf{key\_diaharm}})]{Harmonic analysis of tidal constituents (\protect\key{diaharm})} 
    16201583\label{sec:DIA_diag_harm} 
    16211584 
    1622 %------------------------------------------nam_diaharm---------------------------------------------------- 
    1623 % 
    1624 \nlst{nam_diaharm} 
    1625 %---------------------------------------------------------------------------------------------------------- 
     1585\begin{listing} 
     1586  \nlst{nam_diaharm} 
     1587  \caption{\forcode{&nam_diaharm}} 
     1588  \label{lst:nam_diaharm} 
     1589\end{listing} 
    16261590 
    16271591A module is available to compute the amplitude and phase of tidal waves. 
    16281592This on-line Harmonic analysis is actived with \key{diaharm}. 
    16291593 
    1630 Some parameters are available in namelist \nam{\_diaharm}: 
    1631  
    1632  - \np{nit000\_han} is the first time step used for harmonic analysis 
    1633  
    1634  - \np{nitend\_han} is the  last time step used for harmonic analysis 
    1635  
    1636  - \np{nstep\_han}  is the  time step frequency for harmonic analysis 
    1637  
    1638 % - \np{nb\_ana}     is the number of harmonics to analyse 
    1639  
    1640  - \np{tname}       is an array with names of tidal constituents to analyse 
    1641  
    1642  \np{nit000\_han} and \np{nitend\_han} must be between \np{nit000} and \np{nitend} of the simulation. 
     1594Some parameters are available in namelist \nam{_diaharm}{\_diaharm}: 
     1595 
     1596 - \np{nit000_han}{nit000\_han} is the first time step used for harmonic analysis 
     1597 
     1598 - \np{nitend_han}{nitend\_han} is the  last time step used for harmonic analysis 
     1599 
     1600 - \np{nstep_han}{nstep\_han}  is the  time step frequency for harmonic analysis 
     1601 
     1602% - \np{nb_ana}{nb\_ana}     is the number of harmonics to analyse 
     1603 
     1604 - \np{tname}{tname}       is an array with names of tidal constituents to analyse 
     1605 
     1606 \np{nit000_han}{nit000\_han} and \np{nitend_han}{nitend\_han} must be between \np{nit000}{nit000} and \np{nitend}{nitend} of the simulation. 
    16431607 The restart capability is not implemented. 
    16441608 
     
    16611625We obtain in output $C_{j}$ and $S_{j}$ for each tidal wave. 
    16621626 
    1663 % ------------------------------------------------------------------------------------------------------------- 
    1664 %       Sections transports 
    1665 % ------------------------------------------------------------------------------------------------------------- 
    1666 \section[Transports across sections (\texttt{\textbf{key\_diadct}})] 
    1667 {Transports across sections (\protect\key{diadct})} 
     1627%% ================================================================================================= 
     1628\section[Transports across sections (\texttt{\textbf{key\_diadct}})]{Transports across sections (\protect\key{diadct})} 
    16681629\label{sec:DIA_diag_dct} 
    16691630 
    1670 %------------------------------------------namdct---------------------------------------------------- 
    1671  
    1672 \nlst{namdct} 
    1673 %------------------------------------------------------------------------------------------------------------- 
     1631\begin{listing} 
     1632  \nlst{nam_diadct} 
     1633  \caption{\forcode{&nam_diadct}} 
     1634  \label{lst:nam_diadct} 
     1635\end{listing} 
    16741636 
    16751637A module is available to compute the transport of volume, heat and salt through sections. 
     
    16891651- \texttt{salt\_transport}   for   salt transports (unit: $10^{9}Kg s^{-1}$) \\ 
    16901652 
    1691 Namelist variables in \nam{dct} control how frequently the flows are summed and the time scales over which 
     1653Namelist variables in \nam{_diadct}{\_diadct} control how frequently the flows are summed and the time scales over which 
    16921654they are averaged, as well as the level of output for debugging: 
    1693 \np{nn\_dct}   : frequency of instantaneous transports computing 
    1694 \np{nn\_dctwri}: frequency of writing ( mean of instantaneous transports ) 
    1695 \np{nn\_debug} : debugging of the section 
    1696  
     1655\np{nn_dct}{nn\_dct}   : frequency of instantaneous transports computing 
     1656\np{nn_dctwri}{nn\_dctwri}: frequency of writing ( mean of instantaneous transports ) 
     1657\np{nn_debug}{nn\_debug} : debugging of the section 
     1658 
     1659%% ================================================================================================= 
    16971660\subsubsection{Creating a binary file containing the pathway of each section} 
    16981661 
     
    17041667 
    17051668Each section is defined by: \\ 
    1706 \noindent {\scriptsize \texttt{long1 lat1 long2 lat2 nclass (ok/no)strpond (no)ice section\_name}} \\ 
     1669\noindent { \texttt{long1 lat1 long2 lat2 nclass (ok/no)strpond (no)ice section\_name}} \\ 
    17071670with: 
    17081671 
     
    17211684 
    17221685\noindent If nclass $\neq$ 0, the next lines contain the class type and the nclass bounds: \\ 
    1723 {\scriptsize 
     1686{ 
    17241687  \texttt{ 
    17251688    long1 lat1 long2 lat2 nclass (ok/no)strpond (no)ice section\_name \\ 
     
    17541717 and the ATL\_Cuba\_Florida with 4 temperature clases (5 class bounds), are shown: \\ 
    17551718 \noindent 
    1756  {\scriptsize 
     1719 { 
    17571720   \texttt{ 
    17581721     -68.    -54.5   -60.    -64.7  00 okstrpond noice ACC\_Drake\_Passage \\ 
     
    17661729 } 
    17671730 
     1731%% ================================================================================================= 
    17681732\subsubsection{To read the output files} 
    17691733 
    17701734The output format is: \\ 
    1771 {\scriptsize 
     1735{ 
    17721736  \texttt{ 
    17731737    date, time-step number, section number,                \\ 
     
    17911755 
    17921756\begin{table} 
    1793   \scriptsize 
    17941757  \begin{tabular}{|l|l|l|l|l|} 
    17951758    \hline 
     
    18051768\end{table} 
    18061769 
    1807 % ================================================================ 
    1808 % Steric effect in sea surface height 
    1809 % ================================================================ 
     1770%% ================================================================================================= 
    18101771\section{Diagnosing the steric effect in sea surface height} 
    18111772\label{sec:DIA_steric} 
    1812  
    18131773 
    18141774Changes in steric sea level are caused when changes in the density of the water column imply an expansion or 
     
    18471807    \mathcal{V} &=  \mathcal{A}  \;\bar{\eta} 
    18481808  \end{split} 
    1849   \label{eq:MV_nBq} 
     1809  \label{eq:DIA_MV_nBq} 
    18501810\end{equation} 
    18511811 
     
    18551815  \frac{1}{e_3} \partial_t ( e_3\,\rho) + \nabla( \rho \, \textbf{U} ) 
    18561816  = \left. \frac{\textit{emp}}{e_3}\right|_\textit{surface} 
    1857   \label{eq:Co_nBq} 
     1817  \label{eq:DIA_Co_nBq} 
    18581818\end{equation} 
    18591819 
     
    18641824\begin{equation} 
    18651825  \partial_t \mathcal{M} = \mathcal{A} \;\overline{\textit{emp}} 
    1866   \label{eq:Mass_nBq} 
     1826  \label{eq:DIA_Mass_nBq} 
    18671827\end{equation} 
    18681828 
    18691829where $\overline{\textit{emp}} = \int_S \textit{emp}\,ds$ is the net mass flux through the ocean surface. 
    1870 Bringing \autoref{eq:Mass_nBq} and the time derivative of \autoref{eq:MV_nBq} together leads to 
     1830Bringing \autoref{eq:DIA_Mass_nBq} and the time derivative of \autoref{eq:DIA_MV_nBq} together leads to 
    18711831the evolution equation of the mean sea level 
    18721832 
     
    18741834  \partial_t \bar{\eta} = \frac{\overline{\textit{emp}}}{ \bar{\rho}} 
    18751835  - \frac{\mathcal{V}}{\mathcal{A}} \;\frac{\partial_t \bar{\rho} }{\bar{\rho}} 
    1876   \label{eq:ssh_nBq} 
     1836  \label{eq:DIA_ssh_nBq} 
    18771837\end{equation} 
    18781838 
    1879 The first term in equation \autoref{eq:ssh_nBq} alters sea level by adding or subtracting mass from the ocean. 
     1839The first term in equation \autoref{eq:DIA_ssh_nBq} alters sea level by adding or subtracting mass from the ocean. 
    18801840The second term arises from temporal changes in the global mean density; \ie\ from steric effects. 
    18811841 
    18821842In a Boussinesq fluid, $\rho$ is replaced by $\rho_o$ in all the equation except when $\rho$ appears multiplied by 
    18831843the gravity (\ie\ in the hydrostatic balance of the primitive Equations). 
    1884 In particular, the mass conservation equation, \autoref{eq:Co_nBq}, degenerates into the incompressibility equation: 
     1844In particular, the mass conservation equation, \autoref{eq:DIA_Co_nBq}, degenerates into the incompressibility equation: 
    18851845 
    18861846\[ 
    18871847  \frac{1}{e_3} \partial_t ( e_3 ) + \nabla( \textbf{U} ) = \left. \frac{\textit{emp}}{\rho_o \,e_3}\right|_ \textit{surface} 
    1888   % \label{eq:Co_Bq} 
     1848  % \label{eq:DIA_Co_Bq} 
    18891849\] 
    18901850 
     
    18931853\[ 
    18941854  \partial_t \mathcal{V} = \mathcal{A} \;\frac{\overline{\textit{emp}}}{\rho_o} 
    1895   % \label{eq:V_Bq} 
     1855  % \label{eq:DIA_V_Bq} 
    18961856\] 
    18971857 
     
    19121872\begin{equation} 
    19131873  \mathcal{M}_o = \mathcal{M} + \rho_o \,\eta_s \,\mathcal{A} 
    1914   \label{eq:M_Bq} 
     1874  \label{eq:DIA_M_Bq} 
    19151875\end{equation} 
    19161876 
     
    19191879Introducing the total density anomaly, $\mathcal{D}= \int_D d_a \,dv$, 
    19201880where $d_a = (\rho -\rho_o ) / \rho_o$ is the density anomaly used in \NEMO\ (cf. \autoref{subsec:TRA_eos}) 
    1921 in \autoref{eq:M_Bq} leads to a very simple form for the steric height: 
     1881in \autoref{eq:DIA_M_Bq} leads to a very simple form for the steric height: 
    19221882 
    19231883\begin{equation} 
    19241884  \eta_s = - \frac{1}{\mathcal{A}} \mathcal{D} 
    1925   \label{eq:steric_Bq} 
     1885  \label{eq:DIA_steric_Bq} 
    19261886\end{equation} 
    19271887 
     
    19431903(wetting and drying of grid point is not allowed). 
    19441904 
    1945 Third, the discretisation of \autoref{eq:steric_Bq} depends on the type of free surface which is considered. 
    1946 In the non linear free surface case, \ie\ \np{ln\_linssh}\forcode{ = .true.}, it is given by 
     1905Third, the discretisation of \autoref{eq:DIA_steric_Bq} depends on the type of free surface which is considered. 
     1906In the non linear free surface case, \ie\ \np[=.true.]{ln_linssh}{ln\_linssh}, it is given by 
    19471907 
    19481908\[ 
    19491909  \eta_s = - \frac{ \sum_{i,\,j,\,k} d_a\; e_{1t} e_{2t} e_{3t} }{ \sum_{i,\,j,\,k}       e_{1t} e_{2t} e_{3t} } 
    1950   % \label{eq:discrete_steric_Bq_nfs} 
     1910  % \label{eq:DIA_discrete_steric_Bq_nfs} 
    19511911\] 
    19521912 
     
    19581918  \eta_s = - \frac{ \sum_{i,\,j,\,k} d_a\; e_{1t}e_{2t}e_{3t} + \sum_{i,\,j} d_a\; e_{1t}e_{2t} \eta } 
    19591919                  { \sum_{i,\,j,\,k}       e_{1t}e_{2t}e_{3t} + \sum_{i,\,j}       e_{1t}e_{2t} \eta } 
    1960   % \label{eq:discrete_steric_Bq_fs} 
     1920  % \label{eq:DIA_discrete_steric_Bq_fs} 
    19611921\] 
    19621922 
     
    19781938\[ 
    19791939  \eta_s = - \frac{1}{\mathcal{A}} \int_D d_a(T,S_o,p_o) \,dv 
    1980   % \label{eq:thermosteric_Bq} 
     1940  % \label{eq:DIA_thermosteric_Bq} 
    19811941\] 
    19821942 
     
    19851945Both steric and thermosteric sea level are computed in \mdl{diaar5}. 
    19861946 
    1987 % ------------------------------------------------------------------------------------------------------------- 
    1988 %       Other Diagnostics 
    1989 % ------------------------------------------------------------------------------------------------------------- 
    1990 \section[Other diagnostics] 
    1991 {Other diagnostics} 
     1947%% ================================================================================================= 
     1948\section{Other diagnostics} 
    19921949\label{sec:DIA_diag_others} 
    19931950 
     
    19951952The available ready-to-add diagnostics modules can be found in directory DIA. 
    19961953 
    1997 \subsection[Depth of various quantities (\textit{diahth.F90})] 
    1998 {Depth of various quantities (\protect\mdl{diahth})} 
     1954%% ================================================================================================= 
     1955\subsection[Depth of various quantities (\textit{diahth.F90})]{Depth of various quantities (\protect\mdl{diahth})} 
    19991956 
    20001957Among the available diagnostics the following ones are obtained when defining the \key{diahth} CPP key: 
     
    20081965- the depth of the thermocline (maximum of the vertical temperature gradient) (\mdl{diahth}) 
    20091966 
    2010  
    2011 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    20121967\begin{figure}[!t] 
    2013   \begin{center} 
    2014     \includegraphics[width=\textwidth]{Fig_mask_subasins} 
    2015     \caption{ 
    2016       \protect\label{fig:mask_subasins} 
    2017       Decomposition of the World Ocean (here ORCA2) into sub-basin used in to 
    2018       compute the heat and salt transports as well as the meridional stream-function: 
    2019       Atlantic basin (red), Pacific basin (green), Indian basin (bleue), Indo-Pacific basin (bleue+green). 
    2020       Note that semi-enclosed seas (Red, Med and Baltic seas) as well as Hudson Bay are removed from the sub-basins. 
    2021       Note also that the Arctic Ocean has been split into Atlantic and Pacific basins along the North fold line. 
    2022     } 
    2023   \end{center} 
     1968  \centering 
     1969  \includegraphics[width=0.66\textwidth]{Fig_mask_subasins} 
     1970  \caption[Decomposition of the World Ocean to compute transports as well as 
     1971  the meridional stream-function]{ 
     1972    Decomposition of the World Ocean (here ORCA2) into sub-basin used in to 
     1973    compute the heat and salt transports as well as the meridional stream-function: 
     1974    Atlantic basin (red), Pacific basin (green), 
     1975    Indian basin (blue), Indo-Pacific basin (blue+green). 
     1976    Note that semi-enclosed seas (Red, Med and Baltic seas) as well as 
     1977    Hudson Bay are removed from the sub-basins. 
     1978    Note also that the Arctic Ocean has been split into Atlantic and 
     1979    Pacific basins along the North fold line. 
     1980  } 
     1981  \label{fig:DIA_mask_subasins} 
    20241982\end{figure} 
    2025 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    2026  
    2027 % ----------------------------------------------------------- 
    2028 %       CMIP specific diagnostics 
    2029 % ----------------------------------------------------------- 
    2030 \subsection[CMIP specific diagnostics (\textit{diaar5.F90}, \textit{diaptr.F90})] 
    2031 {CMIP specific diagnostics (\protect\mdl{diaar5})} 
     1983 
     1984%% ================================================================================================= 
     1985\subsection[CMIP specific diagnostics (\textit{diaar5.F90}, \textit{diaptr.F90})]{CMIP specific diagnostics (\protect\mdl{diaar5})} 
    20321986 
    20331987A series of diagnostics has been added in the \mdl{diaar5} and \mdl{diaptr}. 
     
    20391993sea water pressure at sea floor (botpres), dynamic sea surface height (sshdyn). 
    20401994 
    2041 In \mdl{diaptr} when \np{ln\_diaptr}\forcode{ = .true.} 
    2042 (see the \nam{ptr} namelist below) can be computed on-line the poleward heat and salt transports, 
     1995In \mdl{diaptr} when \np[=.true.]{ln_diaptr}{ln\_diaptr} 
     1996(see the \nam{ptr}{ptr} namelist below) can be computed on-line the poleward heat and salt transports, 
    20431997their advective and diffusive component, and the meriodional stream function . 
    2044 When \np{ln\_subbas}\forcode{ = .true.}, transports and stream function are computed for the Atlantic, Indian, 
     1998When \np[=.true.]{ln_subbas}{ln\_subbas}, transports and stream function are computed for the Atlantic, Indian, 
    20451999Pacific and Indo-Pacific Oceans (defined north of 30\deg{S}) as well as for the World Ocean. 
    20462000The sub-basin decomposition requires an input file (\ifile{subbasins}) which contains three 2D mask arrays, 
    2047 the Indo-Pacific mask been deduced from the sum of the Indian and Pacific mask (\autoref{fig:mask_subasins}). 
    2048  
    2049 %------------------------------------------namptr----------------------------------------- 
    2050  
    2051 \nlst{namptr} 
    2052 %----------------------------------------------------------------------------------------- 
    2053  
    2054 % ----------------------------------------------------------- 
    2055 %       25 hour mean and hourly Surface, Mid and Bed 
    2056 % ----------------------------------------------------------- 
     2001the Indo-Pacific mask been deduced from the sum of the Indian and Pacific mask (\autoref{fig:DIA_mask_subasins}). 
     2002 
     2003\begin{listing} 
     2004  \nlst{namptr} 
     2005  \caption{\forcode{&namptr}} 
     2006  \label{lst:namptr} 
     2007\end{listing} 
     2008 
     2009%% ================================================================================================= 
    20572010\subsection{25 hour mean output for tidal models} 
    20582011 
    2059 %------------------------------------------nam_dia25h------------------------------------- 
    2060  
    2061 \nlst{nam_dia25h} 
    2062 %----------------------------------------------------------------------------------------- 
     2012\begin{listing} 
     2013  \nlst{nam_dia25h} 
     2014  \caption{\forcode{&nam_dia25h}} 
     2015  \label{lst:nam_dia25h} 
     2016\end{listing} 
    20632017 
    20642018A module is available to compute a crudely detided M2 signal by obtaining a 25 hour mean. 
     
    20672021This diagnostic is actived with the logical $ln\_dia25h$. 
    20682022 
    2069 % ----------------------------------------------------------- 
    2070 %     Top Middle and Bed hourly output 
    2071 % ----------------------------------------------------------- 
     2023%% ================================================================================================= 
    20722024\subsection{Top middle and bed hourly output} 
    20732025 
    2074 %------------------------------------------nam_diatmb----------------------------------------------------- 
    2075  
    2076 \nlst{nam_diatmb} 
    2077 %---------------------------------------------------------------------------------------------------------- 
     2026\begin{listing} 
     2027  \nlst{nam_diatmb} 
     2028  \caption{\forcode{&nam_diatmb}} 
     2029  \label{lst:nam_diatmb} 
     2030\end{listing} 
    20782031 
    20792032A module is available to output the surface (top), mid water and bed diagnostics of a set of standard variables. 
     
    20832036This diagnostic is actived with the logical $ln\_diatmb$. 
    20842037 
    2085 % ----------------------------------------------------------- 
    2086 %     Courant numbers 
    2087 % ----------------------------------------------------------- 
     2038%% ================================================================================================= 
    20882039\subsection{Courant numbers} 
    20892040 
     
    20932044\[ 
    20942045  C_u = |u|\frac{\rdt}{e_{1u}}, \quad C_v = |v|\frac{\rdt}{e_{2v}}, \quad C_w = |w|\frac{\rdt}{e_{3w}} 
    2095   % \label{eq:CFL} 
     2046  % \label{eq:DIA_CFL} 
    20962047\] 
    20972048 
     
    21022053Values greater than 1 indicate that information is propagated across more than one grid cell in a single time step. 
    21032054 
    2104 The variables can be activated by setting the \np{nn\_diacfl} namelist parameter to 1 in the \nam{ctl} namelist. 
     2055The variables can be activated by setting the \np{nn_diacfl}{nn\_diacfl} namelist parameter to 1 in the \nam{ctl}{ctl} namelist. 
    21052056The diagnostics will be written out to an ascii file named cfl\_diagnostics.ascii. 
    21062057In this file the maximum value of $C_u$, $C_v$, and $C_w$ are printed at each timestep along with the coordinates of 
     
    21102061The maximum values from the run are also copied to the ocean.output file. 
    21112062 
    2112 % ================================================================ 
    2113  
    2114 \biblio 
    2115  
    2116 \pindex 
     2063\onlyinsubfile{\input{../../global/epilogue}} 
    21172064 
    21182065\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_DIU.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Diurnal SST models (DIU) 
    6 % Edited by James While 
    7 % ================================================================ 
     4 
    85\chapter{Diurnal SST Models (DIU)} 
    96\label{chap:DIU} 
    107 
     8\thispagestyle{plain} 
     9 
    1110\chaptertoc 
    1211 
     12\paragraph{Changes record} ~\\ 
    1313 
    14 \newpage 
    15 $\ $\newline % force a new line 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
    1626 
    1727Code to produce an estimate of the diurnal warming and cooling of the sea surface skin 
     
    1929The skin temperature can be split into three parts: 
    2030\begin{itemize} 
    21 \item 
    22   A foundation SST which is free from diurnal warming. 
    23 \item 
    24   A warm layer, typically ~3\,m thick, 
     31\item A foundation SST which is free from diurnal warming. 
     32\item A warm layer, typically ~3\,m thick, 
    2533  where heating from solar radiation can cause a warm stably stratified layer during the daytime 
    26 \item 
    27   A cool skin, a thin layer, approximately ~1\, mm thick, 
     34\item A cool skin, a thin layer, approximately ~1\, mm thick, 
    2835  where long wave cooling is dominant and cools the immediate ocean surface. 
    2936\end{itemize} 
     
    3643both must be added to a foundation SST to obtain the true skin temperature. 
    3744 
    38 Both the cool skin and warm layer models are controlled through the namelist \nam{diu}: 
     45Both the cool skin and warm layer models are controlled through the namelist \nam{diu}{diu}: 
    3946 
    40 \nlst{namdiu} 
     47\begin{listing} 
     48  \nlst{namdiu} 
     49  \caption{\forcode{&namdiu}} 
     50  \label{lst:namdiu} 
     51\end{listing} 
     52 
    4153This namelist contains only two variables: 
    4254\begin{description} 
    43 \item[\np{ln\_diurnal}] 
    44   A logical switch for turning on/off both the cool skin and warm layer. 
    45 \item[\np{ln\_diurnal\_only}] 
    46   A logical switch which if \forcode{.true.} will run the diurnal model without the other dynamical parts of \NEMO. 
    47   \np{ln\_diurnal\_only} must be \forcode{.false.} if \np{ln\_diurnal} is \forcode{.false.}. 
     55\item [{\np{ln_diurnal}{ln\_diurnal}}] A logical switch for turning on/off both the cool skin and warm layer. 
     56\item [{\np{ln_diurnal_only}{ln\_diurnal\_only}}] A logical switch which if \forcode{.true.} will run the diurnal model without the other dynamical parts of \NEMO. 
     57  \np{ln_diurnal_only}{ln\_diurnal\_only} must be \forcode{.false.} if \np{ln_diurnal}{ln\_diurnal} is \forcode{.false.}. 
    4858\end{description} 
    4959 
     
    5565The cool skin model, which is determined purely by the instantaneous fluxes, has no initialisation variable. 
    5666 
    57 %=============================================================== 
     67%% ================================================================================================= 
    5868\section{Warm layer model} 
    59 \label{sec:warm_layer_sec} 
    60 %=============================================================== 
     69\label{sec:DIU_warm_layer_sec} 
    6170 
    6271The warm layer is calculated using the model of \citet{takaya.bidlot.ea_JGR10} (TAKAYA10 model hereafter). 
     
    6574\frac{\partial{\Delta T_{\mathrm{wl}}}}{\partial{t}}&=&\frac{Q(\nu+1)}{D_T\rho_w c_p 
    6675\nu}-\frac{(\nu+1)ku^*_{w}f(L_a)\Delta T}{D_T\Phi\!\left(\frac{D_T}{L}\right)} \mbox{,} 
    67 \label{eq:ecmwf1} \\ 
    68 L&=&\frac{\rho_w c_p u^{*^3}_{w}}{\kappa g \alpha_w Q }\mbox{,}\label{eq:ecmwf2} 
     76\label{eq:DIU_ecmwf1} \\ 
     77L&=&\frac{\rho_w c_p u^{*^3}_{w}}{\kappa g \alpha_w Q }\mbox{,}\label{eq:DIU_ecmwf2} 
    6978\end{align} 
    7079where $\Delta T_{\mathrm{wl}}$ is the temperature difference between the top of the warm layer and the depth $D_T=3$\,m at which there is assumed to be no diurnal signal. 
    71 In equation (\autoref{eq:ecmwf1}) $\alpha_w=2\times10^{-4}$ is the thermal expansion coefficient of water, 
     80In equation (\autoref{eq:DIU_ecmwf1}) $\alpha_w=2\times10^{-4}$ is the thermal expansion coefficient of water, 
    7281$\kappa=0.4$ is von K\'{a}rm\'{a}n's constant, $c_p$ is the heat capacity at constant pressure of sea water, 
    7382$\rho_w$ is the water density, and $L$ is the Monin-Obukhov length. 
     
    7988the relationship $u^*_{w} = u_{10}\sqrt{\frac{C_d\rho_a}{\rho_w}}$, where $C_d$ is the drag coefficient, 
    8089and $\rho_a$ is the density of air. 
    81 The symbol $Q$ in equation (\autoref{eq:ecmwf1}) is the instantaneous total thermal energy flux into 
     90The symbol $Q$ in equation (\autoref{eq:DIU_ecmwf1}) is the instantaneous total thermal energy flux into 
    8291the diurnal layer, \ie 
    8392\[ 
    8493  Q = Q_{\mathrm{sol}} + Q_{\mathrm{lw}} + Q_{\mathrm{h}}\mbox{,} 
    85   % \label{eq:e_flux_eqn} 
     94  % \label{eq:DIU_e_flux_eqn} 
    8695\] 
    8796where $Q_{\mathrm{h}}$ is the sensible and latent heat flux, $Q_{\mathrm{lw}}$ is the long wave flux, 
    8897and $Q_{\mathrm{sol}}$ is the solar flux absorbed within the diurnal warm layer. 
    8998For $Q_{\mathrm{sol}}$ the 9 term representation of \citet{gentemann.minnett.ea_JGR09} is used. 
    90 In equation \autoref{eq:ecmwf1} the function $f(L_a)=\max(1,L_a^{\frac{2}{3}})$, 
     99In equation \autoref{eq:DIU_ecmwf1} the function $f(L_a)=\max(1,L_a^{\frac{2}{3}})$, 
    91100where $L_a=0.3$\footnote{ 
    92101  This is a global average value, more accurately $L_a$ could be computed as $L_a=(u^*_{w}/u_s)^{\frac{1}{2}}$, 
     
    991084\zeta^2}{1+3\zeta+0.25\zeta^2} &(\zeta \ge 0) \\ 
    100109                                    (1 - 16\zeta)^{-\frac{1}{2}} & (\zeta < 0) \mbox{,} 
    101                                     \end{array} \right. \label{eq:stab_func_eqn} 
     110                                    \end{array} \right. \label{eq:DIU_stab_func_eqn} 
    102111\end{equation} 
    103 where $\zeta=\frac{D_T}{L}$.  It is clear that the first derivative of (\autoref{eq:stab_func_eqn}), 
    104 and thus of (\autoref{eq:ecmwf1}), is discontinuous at $\zeta=0$ (\ie\ $Q\rightarrow0$ in 
    105 equation (\autoref{eq:ecmwf2})). 
     112where $\zeta=\frac{D_T}{L}$.  It is clear that the first derivative of (\autoref{eq:DIU_stab_func_eqn}), 
     113and thus of (\autoref{eq:DIU_ecmwf1}), is discontinuous at $\zeta=0$ (\ie\ $Q\rightarrow0$ in 
     114equation (\autoref{eq:DIU_ecmwf2})). 
    106115 
    107 The two terms on the right hand side of (\autoref{eq:ecmwf1}) represent different processes. 
     116The two terms on the right hand side of (\autoref{eq:DIU_ecmwf1}) represent different processes. 
    108117The first term is simply the diabatic heating or cooling of the diurnal warm layer due to 
    109118thermal energy fluxes into and out of the layer. 
     
    111120In practice the second term acts as a relaxation on the temperature. 
    112121 
    113 %=============================================================== 
    114  
     122%% ================================================================================================= 
    115123\section{Cool skin model} 
    116 \label{sec:cool_skin_sec} 
    117  
    118 %=============================================================== 
     124\label{sec:DIU_cool_skin_sec} 
    119125 
    120126The cool skin is modelled using the framework of \citet{saunders_JAS67} who used a formulation of the near surface temperature difference based upon the heat flux and the friction velocity $u^*_{w}$. 
    121127As the cool skin is so thin (~1\,mm) we ignore the solar flux component to the heat flux and the Saunders equation for the cool skin temperature difference $\Delta T_{\mathrm{cs}}$ becomes 
    122128\[ 
    123   % \label{eq:sunders_eqn} 
     129  % \label{eq:DIU_sunders_eqn} 
    124130  \Delta T_{\mathrm{cs}}=\frac{Q_{\mathrm{ns}}\delta}{k_t} \mbox{,} 
    125131\] 
     
    128134$\delta$ is the thickness of the skin layer and is given by 
    129135\begin{equation} 
    130 \label{eq:sunders_thick_eqn} 
     136\label{eq:DIU_sunders_thick_eqn} 
    131137\delta=\frac{\lambda \mu}{u^*_{w}} \mbox{,} 
    132138\end{equation} 
     
    134140\citet{saunders_JAS67} suggested varied between 5 and 10. 
    135141 
    136 The value of $\lambda$ used in equation (\autoref{eq:sunders_thick_eqn}) is that of \citet{artale.iudicone.ea_JGR02}, 
     142The value of $\lambda$ used in equation (\autoref{eq:DIU_sunders_thick_eqn}) is that of \citet{artale.iudicone.ea_JGR02}, 
    137143which is shown in \citet{tu.tsuang_GRL05} to outperform a number of other parametrisations at 
    138144both low and high wind speeds. 
    139145Specifically, 
    140146\[ 
    141   % \label{eq:artale_lambda_eqn} 
     147  % \label{eq:DIU_artale_lambda_eqn} 
    142148  \lambda = \frac{ 8.64\times10^4 u^*_{w} k_t }{ \rho c_p h \mu \gamma }\mbox{,} 
    143149\] 
     
    145151$\gamma$ is a dimensionless function of wind speed $u$: 
    146152\[ 
    147   % \label{eq:artale_gamma_eqn} 
     153  % \label{eq:DIU_artale_gamma_eqn} 
    148154  \gamma = 
    149155  \begin{cases} 
     
    154160\] 
    155161 
    156 \biblio 
    157  
    158 \pindex 
     162\onlyinsubfile{\input{../../global/epilogue}} 
    159163 
    160164\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_DOM.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter 2 ——— Space and Time Domain (DOM) 
    6 % ================================================================ 
     4 
    75\chapter{Space Domain (DOM)} 
    86\label{chap:DOM} 
    97 
    10 %\chaptertoc 
    11  
    12 % Missing things: 
    13 %  - istate: description of the initial state   ==> this has to be put elsewhere.. 
    14 %                  perhaps in MISC ?  By the way the initialisation of T S and dynamics 
    15 %                  should be put outside of DOM routine (better with TRC staff and off-line 
    16 %                  tracers) 
    17 %  -geo2ocean:  how to switch from geographic to mesh coordinate 
    18 %     - domclo:  closed sea and lakes.... management of closea sea area : specific to global configuration, both forced and coupled 
    19  
    20 \vfill 
    21  
    22 \begin{table}[b] 
    23   \footnotesize 
    24   \caption*{Changes record} 
    25   \begin{tabularx}{\textwidth}{l||X|X} 
    26     Release & Author(s) & Modifications                                                          \\ 
    27     \hline 
    28     {\em 4.0} & {\em Simon M\"{u}ller \& Andrew Coward} & 
    29     {\em 
    30       Compatibility changes Major simplification has moved many of the options to external domain configuration tools. 
    31       (see \autoref{apdx:DOMAINcfg}) 
    32     }                                                                                            \\ 
    33     {\em 3.x} & {\em Rachid Benshila, Gurvan Madec \& S\'{e}bastien Masson} & 
    34     {\em First version}                                                                          \\ 
     8% Missing things 
     9% -    istate: description of the initial state   ==> this has to be put elsewhere.. 
     10%              perhaps in MISC ?  By the way the initialisation of T S and dynamics 
     11%              should be put outside of DOM routine (better with TRC staff and off-line 
     12%              tracers) 
     13% - geo2ocean: how to switch from geographic to mesh coordinate 
     14% -    domclo: closed sea and lakes.... 
     15%              management of closea sea area: specific to global cfg, both forced and coupled 
     16 
     17\thispagestyle{plain} 
     18 
     19\chaptertoc 
     20 
     21\paragraph{Changes record} ~\\ 
     22 
     23{\footnotesize 
     24  \begin{tabularx}{0.8\textwidth}{l||X|X} 
     25    Release                                                                                 & 
     26    Author(s)                                                                               & 
     27    Modifications                                                                           \\ 
     28    \hline 
     29    {\em 4.0                                                                              } & 
     30    {\em Simon M\"{u}ller \& Andrew Coward \newline \newline 
     31      Simona Flavoni and Tim Graham                                                       } & 
     32    {\em Compatibility changes: many options moved to external domain configuration tools 
     33      (see \autoref{apdx:DOMCFG}). \newline 
     34      Updates                                                                             } \\ 
     35    {\em 3.6                                                                              } & 
     36    {\em Rachid Benshila, Christian \'{E}th\'{e}, Pierre Mathiot and Gurvan Madec         } & 
     37    {\em Updates                                                                          } \\ 
     38    {\em $\leq$ 3.4                                                                       } & 
     39    {\em Gurvan Madec and S\'{e}bastien Masson                                            } & 
     40    {\em First version                                                                    } 
    3541  \end{tabularx} 
    36 \end{table} 
    37  
    38 \newpage 
    39  
    40 Having defined the continuous equations in \autoref{chap:PE} and chosen a time discretisation \autoref{chap:STP}, 
     42} 
     43 
     44\clearpage 
     45 
     46Having defined the continuous equations in \autoref{chap:MB} and 
     47chosen a time discretisation \autoref{chap:TD}, 
    4148we need to choose a grid for spatial discretisation and related numerical algorithms. 
    4249In the present chapter, we provide a general description of the staggered grid used in \NEMO, 
    4350and other relevant information about the DOM (DOMain) source code modules. 
    4451 
    45 % ================================================================ 
    46 % Fundamentals of the Discretisation 
    47 % ================================================================ 
     52%% ================================================================================================= 
    4853\section{Fundamentals of the discretisation} 
    4954\label{sec:DOM_basics} 
    5055 
    51 % ------------------------------------------------------------------------------------------------------------- 
    52 %        Arrangement of Variables 
    53 % ------------------------------------------------------------------------------------------------------------- 
     56%% ================================================================================================= 
    5457\subsection{Arrangement of variables} 
    5558\label{subsec:DOM_cell} 
    5659 
    57 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    58 \begin{figure}[!tb] 
    59   \begin{center} 
    60     \includegraphics[width=\textwidth]{Fig_cell} 
    61     \caption{ 
    62       \protect\label{fig:cell} 
    63       Arrangement of variables. 
    64       $t$ indicates scalar points where temperature, salinity, density, pressure and 
    65       horizontal divergence are defined. 
    66       $(u,v,w)$ indicates vector points, and $f$ indicates vorticity points where both relative and 
    67       planetary vorticities are defined. 
    68     } 
    69   \end{center} 
     60\begin{figure} 
     61  \centering 
     62  \includegraphics[width=0.33\textwidth]{Fig_cell} 
     63  \caption[Arrangement of variables in the unit cell of space domain]{ 
     64    Arrangement of variables in the unit cell of space domain. 
     65    $t$ indicates scalar points where 
     66    temperature, salinity, density, pressure and horizontal divergence are defined. 
     67    $(u,v,w)$ indicates vector points, and $f$ indicates vorticity points where 
     68    both relative and planetary vorticities are defined.} 
     69  \label{fig:DOM_cell} 
    7070\end{figure} 
    71 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    72  
    73 The numerical techniques used to solve the Primitive Equations in this model are based on the traditional, 
    74 centred second-order finite difference approximation. 
     71 
     72The numerical techniques used to solve the Primitive Equations in this model are based on 
     73the traditional, centred second-order finite difference approximation. 
    7574Special attention has been given to the homogeneity of the solution in the three spatial directions. 
    7675The arrangement of variables is the same in all directions. 
    77 It consists of cells centred on scalar points ($t$, $S$, $p$, $\rho$) with vector points $(u, v, w)$ defined in 
    78 the centre of each face of the cells (\autoref{fig:cell}). 
    79 This is the generalisation to three dimensions of the well-known ``C'' grid in Arakawa's classification 
    80 \citep{mesinger.arakawa_bk76}. 
    81 The relative and planetary vorticity, $\zeta$ and $f$, are defined in the centre of each vertical edge and 
    82 the barotropic stream function $\psi$ is defined at horizontal points overlying the $\zeta$ and $f$-points. 
    83  
    84 The ocean mesh (\ie\ the position of all the scalar and vector points) is defined by the transformation that 
    85 gives $(\lambda,\varphi,z)$ as a function of $(i,j,k)$. 
    86 The grid-points are located at integer or integer and a half value of $(i,j,k)$ as indicated on \autoref{tab:cell}. 
    87 In all the following, subscripts $u$, $v$, $w$, $f$, $uw$, $vw$ or $fw$ indicate the position of 
    88 the grid-point where the scale factors are defined. 
    89 Each scale factor is defined as the local analytical value provided by \autoref{eq:scale_factors}. 
     76It consists of cells centred on scalar points ($t$, $S$, $p$, $\rho$) with 
     77vector points $(u, v, w)$ defined in the centre of each face of the cells (\autoref{fig:DOM_cell}). 
     78This is the generalisation to three dimensions of the well-known ``C'' grid in 
     79Arakawa's classification \citep{mesinger.arakawa_bk76}. 
     80The relative and planetary vorticity, $\zeta$ and $f$, are defined in the centre of each 
     81vertical edge and the barotropic stream function $\psi$ is defined at horizontal points overlying 
     82the $\zeta$ and $f$-points. 
     83 
     84The ocean mesh (\ie\ the position of all the scalar and vector points) is defined by 
     85the transformation that gives $(\lambda,\varphi,z)$ as a function of $(i,j,k)$. 
     86The grid-points are located at integer or integer and a half value of $(i,j,k)$ as indicated on 
     87\autoref{tab:DOM_cell}. 
     88In all the following, 
     89subscripts $u$, $v$, $w$, $f$, $uw$, $vw$ or $fw$ indicate the position of the grid-point where 
     90the scale factors are defined. 
     91Each scale factor is defined as the local analytical value provided by \autoref{eq:MB_scale_factors}. 
    9092As a result, the mesh on which partial derivatives $\pd[]{\lambda}$, $\pd[]{\varphi}$ and 
    9193$\pd[]{z}$ are evaluated is a uniform mesh with a grid size of unity. 
    92 Discrete partial derivatives are formulated by the traditional, centred second order finite difference approximation 
    93 while the scale factors are chosen equal to their local analytical value. 
     94Discrete partial derivatives are formulated by 
     95the traditional, centred second order finite difference approximation while 
     96the scale factors are chosen equal to their local analytical value. 
    9497An important point here is that the partial derivative of the scale factors must be evaluated by 
    9598centred finite difference approximation, not from their analytical expression. 
    96 This preserves the symmetry of the discrete set of equations and therefore satisfies many of 
    97 the continuous properties (see \autoref{apdx:C}). 
     99This preserves the symmetry of the discrete set of equations and 
     100therefore satisfies many of the continuous properties (see \autoref{apdx:INVARIANTS}). 
    98101A similar, related remark can be made about the domain size: 
    99 when needed, an area, volume, or the total ocean depth must be evaluated as the product or sum of the relevant scale factors 
    100 (see \autoref{eq:DOM_bar} in the next section). 
    101  
    102 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    103 \begin{table}[!tb] 
    104   \begin{center} 
    105     \begin{tabular}{|p{46pt}|p{56pt}|p{56pt}|p{56pt}|} 
    106       \hline 
    107       t  & $i      $ & $j      $ & $k      $ \\ 
    108       \hline 
    109       u  & $i + 1/2$ & $j      $ & $k      $ \\ 
    110       \hline 
    111       v  & $i      $ & $j + 1/2$ & $k      $ \\ 
    112       \hline 
    113       w  & $i      $ & $j      $ & $k + 1/2$ \\ 
    114       \hline 
    115       f  & $i + 1/2$ & $j + 1/2$ & $k      $ \\ 
    116       \hline 
    117       uw & $i + 1/2$ & $j      $ & $k + 1/2$ \\ 
    118       \hline 
    119       vw & $i      $ & $j + 1/2$ & $k + 1/2$ \\ 
    120       \hline 
    121       fw & $i + 1/2$ & $j + 1/2$ & $k + 1/2$ \\ 
    122       \hline 
    123     \end{tabular} 
    124     \caption{ 
    125       \protect\label{tab:cell} 
    126       Location of grid-points as a function of integer or integer and a half value of the column, line or level. 
    127       This indexing is only used for the writing of the semi -discrete equations. 
    128       In the code, the indexing uses integer values only and is positive downwards in the vertical with $k=1$ at the surface. 
    129       (see \autoref{subsec:DOM_Num_Index}) 
    130     } 
    131   \end{center} 
     102when needed, an area, volume, or the total ocean depth must be evaluated as 
     103the product or sum of the relevant scale factors (see \autoref{eq:DOM_bar} in the next section). 
     104 
     105\begin{table} 
     106  \centering 
     107  \begin{tabular}{|l|l|l|l|} 
     108    \hline 
     109    t   & $i      $ & $j      $ & $k      $ \\ 
     110    \hline 
     111    u   & $i + 1/2$ & $j      $ & $k      $ \\ 
     112    \hline 
     113    v   & $i      $ & $j + 1/2$ & $k      $ \\ 
     114    \hline 
     115    w   & $i      $ & $j      $ & $k + 1/2$ \\ 
     116    \hline 
     117    f   & $i + 1/2$ & $j + 1/2$ & $k      $ \\ 
     118    \hline 
     119    uw  & $i + 1/2$ & $j      $ & $k + 1/2$ \\ 
     120    \hline 
     121    vw  & $i      $ & $j + 1/2$ & $k + 1/2$ \\ 
     122    \hline 
     123    fw  & $i + 1/2$ & $j + 1/2$ & $k + 1/2$ \\ 
     124    \hline 
     125  \end{tabular} 
     126  \caption[Location of grid-points]{ 
     127    Location of grid-points as a function of integer or 
     128    integer and a half value of the column, line or level. 
     129    This indexing is only used for the writing of the semi-discrete equations. 
     130    In the code, the indexing uses integer values only and 
     131    is positive downwards in the vertical with $k=1$ at the surface. 
     132    (see \autoref{subsec:DOM_Num_Index})} 
     133  \label{tab:DOM_cell} 
    132134\end{table} 
    133 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    134135 
    135136Note that the definition of the scale factors 
     
    143144firstly, there is no ambiguity in the scale factors appearing in the discrete equations, 
    144145since they are first introduced in the continuous equations; 
    145 secondly, analytical transformations encourage good practice by the definition of smoothly varying grids 
    146 (rather than allowing the user to set arbitrary jumps in thickness between adjacent layers) \citep{treguier.dukowicz.ea_JGR96}. 
    147 An example of the effect of such a choice is shown in \autoref{fig:zgr_e3}. 
    148 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    149 \begin{figure}[!t] 
    150   \begin{center} 
    151     \includegraphics[width=\textwidth]{Fig_zgr_e3} 
    152     \caption{ 
    153       \protect\label{fig:zgr_e3} 
    154       Comparison of (a) traditional definitions of grid-point position and grid-size in the vertical, 
    155       and (b) analytically derived grid-point position and scale factors. 
    156       For both grids here, the same $w$-point depth has been chosen but 
    157       in (a) the $t$-points are set half way between $w$-points while 
    158       in (b) they are defined from an analytical function: 
    159       $z(k) = 5 \, (k - 1/2)^3 - 45 \, (k - 1/2)^2 + 140 \, (k - 1/2) - 150$. 
    160       Note the resulting difference between the value of the grid-size $\Delta_k$ and 
    161       those of the scale factor $e_k$. 
    162     } 
    163   \end{center} 
     146secondly, analytical transformations encourage good practice by 
     147the definition of smoothly varying grids 
     148(rather than allowing the user to set arbitrary jumps in thickness between adjacent layers) 
     149\citep{treguier.dukowicz.ea_JGR96}. 
     150An example of the effect of such a choice is shown in \autoref{fig:DOM_zgr_e3}. 
     151\begin{figure} 
     152  \centering 
     153  \includegraphics[width=0.5\textwidth]{Fig_zgr_e3} 
     154  \caption[Comparison of grid-point position, vertical grid-size and scale factors]{ 
     155    Comparison of (a) traditional definitions of grid-point position and grid-size in the vertical, 
     156    and (b) analytically derived grid-point position and scale factors. 
     157    For both grids here, the same $w$-point depth has been chosen but 
     158    in (a) the $t$-points are set half way between $w$-points while 
     159    in (b) they are defined from an analytical function: 
     160    $z(k) = 5 \, (k - 1/2)^3 - 45 \, (k - 1/2)^2 + 140 \, (k - 1/2) - 150$. 
     161    Note the resulting difference between the value of the grid-size $\Delta_k$ and 
     162    those of the scale factor $e_k$.} 
     163  \label{fig:DOM_zgr_e3} 
    164164\end{figure} 
    165 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    166  
    167 % ------------------------------------------------------------------------------------------------------------- 
    168 %        Vector Invariant Formulation 
    169 % ------------------------------------------------------------------------------------------------------------- 
     165 
     166%% ================================================================================================= 
    170167\subsection{Discrete operators} 
    171168\label{subsec:DOM_operators} 
    172169 
    173 Given the values of a variable $q$ at adjacent points, the differencing and averaging operators at 
    174 the midpoint between them are: 
     170Given the values of a variable $q$ at adjacent points, 
     171the differencing and averaging operators at the midpoint between them are: 
    175172\begin{alignat*}{2} 
    176   % \label{eq:di_mi} 
     173  % \label{eq:DOM_di_mi} 
    177174  \delta_i [q]      &= &       &q (i + 1/2) - q (i - 1/2) \\ 
    178175  \overline q^{\, i} &= &\big\{ &q (i + 1/2) + q (i - 1/2) \big\} / 2 
     
    180177 
    181178Similar operators are defined with respect to $i + 1/2$, $j$, $j + 1/2$, $k$, and $k + 1/2$. 
    182 Following \autoref{eq:PE_grad} and \autoref{eq:PE_lap}, the gradient of a variable $q$ defined at a $t$-point has 
    183 its three components defined at $u$-, $v$- and $w$-points while its Laplacian is defined at the $t$-point. 
     179Following \autoref{eq:MB_grad} and \autoref{eq:MB_lap}, 
     180the gradient of a variable $q$ defined at a $t$-point has 
     181its three components defined at $u$-, $v$- and $w$-points while 
     182its Laplacian is defined at the $t$-point. 
    184183These operators have the following discrete forms in the curvilinear $s$-coordinates system: 
    185 \[ 
     184\begin{gather*} 
    186185  % \label{eq:DOM_grad} 
    187186  \nabla q \equiv   \frac{1}{e_{1u}} \delta_{i + 1/2} [q] \; \, \vect i 
    188187                  + \frac{1}{e_{2v}} \delta_{j + 1/2} [q] \; \, \vect j 
    189                   + \frac{1}{e_{3w}} \delta_{k + 1/2} [q] \; \, \vect k 
    190 \] 
    191 \begin{multline*} 
     188                  + \frac{1}{e_{3w}} \delta_{k + 1/2} [q] \; \, \vect k \\ 
    192189  % \label{eq:DOM_lap} 
    193190  \Delta q \equiv   \frac{1}{e_{1t} \, e_{2t} \, e_{3t}} 
    194191                    \; \lt[   \delta_i \lt( \frac{e_{2u} \, e_{3u}}{e_{1u}} \; \delta_{i + 1/2} [q] \rt) 
    195                             + \delta_j \lt( \frac{e_{1v} \, e_{3v}}{e_{2v}} \; \delta_{j + 1/2} [q] \rt) \; \rt] \\ 
     192                            + \delta_j \lt( \frac{e_{1v} \, e_{3v}}{e_{2v}} \; \delta_{j + 1/2} [q] \rt) \; \rt] 
    196193                  + \frac{1}{e_{3t}} 
    197194                              \delta_k \lt[ \frac{1              }{e_{3w}} \; \delta_{k + 1/2} [q] \rt] 
    198 \end{multline*} 
    199  
    200 Following \autoref{eq:PE_curl} and \autoref{eq:PE_div}, a vector $\vect A = (a_1,a_2,a_3)$ defined at 
    201 vector points $(u,v,w)$ has its three curl components defined at $vw$-, $uw$, and $f$-points, and 
     195\end{gather*} 
     196 
     197Following \autoref{eq:MB_curl} and \autoref{eq:MB_div}, 
     198a vector $\vect A = (a_1,a_2,a_3)$ defined at vector points $(u,v,w)$ has 
     199its three curl components defined at $vw$-, $uw$, and $f$-points, and 
    202200its divergence defined at $t$-points: 
    203 \begin{multline} 
     201\begin{multline*} 
    204202% \label{eq:DOM_curl} 
    205203  \nabla \times \vect A \equiv   \frac{1}{e_{2v} \, e_{3vw}} 
     
    212210                                 \Big[   \delta_{i + 1/2} (e_{2v} \, a_2) 
    213211                                       - \delta_{j + 1/2} (e_{1u} \, a_1) \Big] \vect k 
    214 \end{multline} 
    215 \begin{equation} 
     212\end{multline*} 
     213\[ 
    216214% \label{eq:DOM_div} 
    217215  \nabla \cdot \vect A \equiv   \frac{1}{e_{1t} \, e_{2t} \, e_{3t}} 
    218216                                \Big[ \delta_i (e_{2u} \, e_{3u} \, a_1) + \delta_j (e_{1v} \, e_{3v} \, a_2) \Big] 
    219217                              + \frac{1}{e_{3t}} \delta_k (a_3) 
    220 \end{equation} 
    221  
    222 The vertical average over the whole water column is denoted by an overbar and is for 
    223 a masked field $q$ (\ie\ a quantity that is equal to zero inside solid areas): 
     218\] 
     219 
     220The vertical average over the whole water column is denoted by an overbar and 
     221is for a masked field $q$ (\ie\ a quantity that is equal to zero inside solid areas): 
    224222\begin{equation} 
    225223  \label{eq:DOM_bar} 
     
    227225\end{equation} 
    228226where $H_q$  is the ocean depth, which is the masked sum of the vertical scale factors at $q$ points, 
    229 $k^b$ and $k^o$ are the bottom and surface $k$-indices, and the symbol $\sum \limits_k$ refers to a summation over 
    230 all grid points of the same type in the direction indicated by the subscript (here $k$). 
     227$k^b$ and $k^o$ are the bottom and surface $k$-indices, 
     228and the symbol $\sum \limits_k$ refers to a summation over all grid points of the same type in 
     229the direction indicated by the subscript (here $k$). 
    231230 
    232231In continuous form, the following properties are satisfied: 
     
    238237\end{gather} 
    239238 
    240 It is straightforward to demonstrate that these properties are verified locally in discrete form as soon as 
    241 the scalar $q$ is taken at $t$-points and the vector $\vect A$ has its components defined at 
     239It is straightforward to demonstrate that these properties are verified locally in discrete form as 
     240soon as the scalar $q$ is taken at $t$-points and the vector $\vect A$ has its components defined at 
    242241vector points $(u,v,w)$. 
    243242 
    244243Let $a$ and $b$ be two fields defined on the mesh, with a value of zero inside continental areas. 
    245 It can be shown that the differencing operators ($\delta_i$, $\delta_j$ and $\delta_k$) 
    246 are skew-symmetric linear operators, and further that the averaging operators $\overline{\cdots}^{\, i}$, 
    247 $\overline{\cdots}^{\, j}$ and $\overline{\cdots}^{\, k}$) are symmetric linear operators, \ie 
    248 \begin{alignat}{4} 
     244It can be shown that the differencing operators ($\delta_i$, $\delta_j$ and 
     245$\delta_k$) are skew-symmetric linear operators, 
     246and further that the averaging operators ($\overline{\cdots}^{\, i}$, $\overline{\cdots}^{\, j}$ and 
     247$\overline{\cdots}^{\, k}$) are symmetric linear operators, \ie 
     248\begin{alignat}{5} 
    249249  \label{eq:DOM_di_adj} 
    250250  &\sum \limits_i a_i \; \delta_i [b]      &\equiv &- &&\sum \limits_i \delta      _{   i + 1/2} [a] &b_{i + 1/2} \\ 
     
    253253\end{alignat} 
    254254 
    255 In other words, the adjoint of the differencing and averaging operators are $\delta_i^* = \delta_{i + 1/2}$ and 
     255In other words, 
     256the adjoint of the differencing and averaging operators are $\delta_i^* = \delta_{i + 1/2}$ and 
    256257$(\overline{\cdots}^{\, i})^* = \overline{\cdots}^{\, i + 1/2}$, respectively. 
    257 These two properties will be used extensively in the \autoref{apdx:C} to 
     258These two properties will be used extensively in the \autoref{apdx:INVARIANTS} to 
    258259demonstrate integral conservative properties of the discrete formulation chosen. 
    259260 
    260 % ------------------------------------------------------------------------------------------------------------- 
    261 %        Numerical Indexing 
    262 % ------------------------------------------------------------------------------------------------------------- 
     261%% ================================================================================================= 
    263262\subsection{Numerical indexing} 
    264263\label{subsec:DOM_Num_Index} 
    265264 
    266 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    267 \begin{figure}[!tb] 
    268   \begin{center} 
    269     \includegraphics[width=\textwidth]{Fig_index_hor} 
    270     \caption{ 
    271       \protect\label{fig:index_hor} 
    272       Horizontal integer indexing used in the \fortran code. 
    273       The dashed area indicates the cell in which variables contained in arrays have the same $i$- and $j$-indices 
    274     } 
    275   \end{center} 
     265\begin{figure} 
     266  \centering 
     267  \includegraphics[width=0.33\textwidth]{Fig_index_hor} 
     268  \caption[Horizontal integer indexing]{ 
     269    Horizontal integer indexing used in the \fortran\ code. 
     270    The dashed area indicates the cell in which 
     271    variables contained in arrays have the same $i$- and $j$-indices} 
     272  \label{fig:DOM_index_hor} 
    276273\end{figure} 
    277 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    278  
    279 The array representation used in the \fortran code requires an integer indexing. 
    280 However, the analytical definition of the mesh (see \autoref{subsec:DOM_cell}) is associated with the use of 
    281 integer values for $t$-points only while all the other points involve integer and a half values. 
     274 
     275The array representation used in the \fortran\ code requires an integer indexing. 
     276However, the analytical definition of the mesh (see \autoref{subsec:DOM_cell}) is associated with 
     277the use of integer values for $t$-points only while 
     278all the other points involve integer and a half values. 
    282279Therefore, a specific integer indexing has been defined for points other than $t$-points 
    283280(\ie\ velocity and vorticity grid-points). 
    284 Furthermore, the direction of the vertical indexing has been reversed and the surface level set at $k = 1$. 
    285  
    286 % ----------------------------------- 
    287 %        Horizontal Indexing 
    288 % ----------------------------------- 
     281Furthermore, the direction of the vertical indexing has been reversed and 
     282the surface level set at $k = 1$. 
     283 
     284%% ================================================================================================= 
    289285\subsubsection{Horizontal indexing} 
    290286\label{subsec:DOM_Num_Index_hor} 
    291287 
    292 The indexing in the horizontal plane has been chosen as shown in \autoref{fig:index_hor}. 
     288The indexing in the horizontal plane has been chosen as shown in \autoref{fig:DOM_index_hor}. 
    293289For an increasing $i$ index ($j$ index), 
    294290the $t$-point and the eastward $u$-point (northward $v$-point) have the same index 
    295 (see the dashed area in \autoref{fig:index_hor}). 
     291(see the dashed area in \autoref{fig:DOM_index_hor}). 
    296292A $t$-point and its nearest north-east $f$-point have the same $i$-and $j$-indices. 
    297293 
    298 % ----------------------------------- 
    299 %        Vertical indexing 
    300 % ----------------------------------- 
     294%% ================================================================================================= 
    301295\subsubsection{Vertical indexing} 
    302296\label{subsec:DOM_Num_Index_vertical} 
    303297 
    304 In the vertical, the chosen indexing requires special attention since the direction of the $k$-axis in 
    305 the \fortran code is the reverse of that used in the semi -discrete equations and 
    306 given in \autoref{subsec:DOM_cell}. 
    307 The sea surface corresponds to the $w$-level $k = 1$, which is the same index as the $t$-level just below 
    308 (\autoref{fig:index_vert}). 
     298In the vertical, the chosen indexing requires special attention since 
     299the direction of the $k$-axis in the \fortran\ code is the reverse of 
     300that used in the semi-discrete equations and given in \autoref{subsec:DOM_cell}. 
     301The sea surface corresponds to the $w$-level $k = 1$, 
     302which is the same index as the $t$-level just below (\autoref{fig:DOM_index_vert}). 
    309303The last $w$-level ($k = jpk$) either corresponds to or is below the ocean floor while 
    310 the last $t$-level is always outside the ocean domain (\autoref{fig:index_vert}). 
     304the last $t$-level is always outside the ocean domain (\autoref{fig:DOM_index_vert}). 
    311305Note that a $w$-point and the directly underlaying $t$-point have a common $k$ index 
    312306(\ie\ $t$-points and their nearest $w$-point neighbour in negative index direction), 
    313 in contrast to the indexing on the horizontal plane where the $t$-point has the same index as 
    314 the nearest velocity points in the positive direction of the respective horizontal axis index 
    315 (compare the dashed area in \autoref{fig:index_hor} and \autoref{fig:index_vert}). 
     307in contrast to the indexing on the horizontal plane where 
     308the $t$-point has the same index as the nearest velocity points in 
     309the positive direction of the respective horizontal axis index 
     310(compare the dashed area in \autoref{fig:DOM_index_hor} and \autoref{fig:DOM_index_vert}). 
    316311Since the scale factors are chosen to be strictly positive, 
    317 a \textit{minus sign} is included in the \fortran implementations of 
     312a \textit{minus sign} is included in the \fortran\ implementations of 
    318313\textit{all the vertical derivatives} of the discrete equations given in this manual in order to 
    319314accommodate the opposing vertical index directions in implementation and documentation. 
    320315 
    321 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    322 \begin{figure}[!pt] 
    323   \begin{center} 
    324     \includegraphics[width=\textwidth]{Fig_index_vert} 
    325     \caption{ 
    326       \protect\label{fig:index_vert} 
    327       Vertical integer indexing used in the \fortran code. 
    328       Note that the $k$-axis is oriented downward. 
    329       The dashed area indicates the cell in which variables contained in arrays have a common $k$-index. 
    330     } 
    331   \end{center} 
     316\begin{figure} 
     317  \centering 
     318  \includegraphics[width=0.33\textwidth]{Fig_index_vert} 
     319  \caption[Vertical integer indexing]{ 
     320    Vertical integer indexing used in the \fortran\ code. 
     321    Note that the $k$-axis is oriented downward. 
     322    The dashed area indicates the cell in which 
     323    variables contained in arrays have a common $k$-index.} 
     324  \label{fig:DOM_index_vert} 
    332325\end{figure} 
    333 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    334  
    335 % ------------------------------------------------------------------------------------------------------------- 
    336 %        Domain configuration 
    337 % ------------------------------------------------------------------------------------------------------------- 
     326 
     327%% ================================================================================================= 
    338328\section{Spatial domain configuration} 
    339329\label{subsec:DOM_config} 
    340330 
    341 \nlst{namcfg} 
    342  
    343331Two typical methods are available to specify the spatial domain configuration; 
    344 they can be selected using parameter \np{ln\_read\_cfg} parameter in namelist \nam{cfg}. 
    345  
    346 If \np{ln\_read\_cfg} is set to \forcode{.true.}, 
    347 the domain-specific parameters and fields are read from a netCDF input file, 
    348 whose name (without its .nc suffix) can be specified as the value of the \np{cn\_domcfg} parameter in namelist \nam{cfg}. 
    349  
    350 If \np{ln\_read\_cfg} is set to \forcode{.false.}, 
     332they can be selected using parameter \np{ln_read_cfg}{ln\_read\_cfg} parameter in 
     333namelist \nam{cfg}{cfg}. 
     334 
     335If \np{ln_read_cfg}{ln\_read\_cfg} is set to \forcode{.true.}, 
     336the domain-specific parameters and fields are read from a NetCDF input file, 
     337whose name (without its .nc suffix) can be specified as 
     338the value of the \np{cn_domcfg}{cn\_domcfg} parameter in namelist \nam{cfg}{cfg}. 
     339 
     340If \np{ln_read_cfg}{ln\_read\_cfg} is set to \forcode{.false.}, 
    351341the domain-specific parameters and fields can be provided (\eg\ analytically computed) by 
    352342subroutines \mdl{usrdef\_hgr} and \mdl{usrdef\_zgr}. 
    353343These subroutines can be supplied in the \path{MY_SRC} directory of the configuration, 
    354 and default versions that configure the spatial domain for the GYRE reference configuration are present in 
    355 the \path{./src/OCE/USR} directory. 
     344and default versions that configure the spatial domain for the GYRE reference configuration are 
     345present in the \path{./src/OCE/USR} directory. 
    356346 
    357347In version 4.0 there are no longer any options for reading complex bathymetries and 
     
    360350to run similar models with and without partial bottom boxes and/or sigma-coordinates, 
    361351supporting such choices leads to overly complex code. 
    362 Worse still is the difficulty of ensuring the model configurations intended to be identical are indeed so when 
    363 the model domain itself can be altered by runtime selections. 
    364 The code previously used to perform vertical discretisation has been incorporated into an external tool 
    365 (\path{./tools/DOMAINcfg}) which is briefly described in \autoref{apdx:DOMAINcfg}. 
    366  
    367 The next subsections summarise the parameter and fields related to the configuration of the whole model domain. 
    368 These represent the minimum information that must be provided either via the \np{cn\_domcfg} file or set by code 
    369 inserted into user-supplied versions of the \texttt{usrdef\_*} subroutines. 
     352Worse still is the difficulty of ensuring the model configurations intended to be identical are 
     353indeed so when the model domain itself can be altered by runtime selections. 
     354The code previously used to perform vertical discretisation has been incorporated into 
     355an external tool (\path{./tools/DOMAINcfg}) which is briefly described in \autoref{apdx:DOMCFG}. 
     356 
     357The next subsections summarise the parameter and fields related to 
     358the configuration of the whole model domain. 
     359These represent the minimum information that must be provided either via 
     360the \np{cn_domcfg}{cn\_domcfg} file or 
     361set by code inserted into user-supplied versions of the \texttt{usrdef\_*} subroutines. 
    370362The requirements are presented in three sections: 
    371363the domain size (\autoref{subsec:DOM_size}), the horizontal mesh (\autoref{subsec:DOM_hgr}), 
    372364and the vertical grid (\autoref{subsec:DOM_zgr}). 
    373365 
    374 % ----------------------------------- 
    375 %        Domain Size 
    376 % ----------------------------------- 
     366%% ================================================================================================= 
    377367\subsection{Domain size} 
    378368\label{subsec:DOM_size} 
    379369 
    380 The total size of the computational domain is set by the parameters \jp{jpiglo}, \jp{jpjglo} and \jp{jpkglo} for 
    381 the $i$, $j$ and $k$ directions, respectively. 
    382 Note, that the variables \texttt{jpi} and \texttt{jpj} refer to the size of each processor subdomain when 
    383 the code is run in parallel using domain decomposition (\key{mpp\_mpi} defined, 
    384 see \autoref{sec:LBC_mpp}). 
    385  
    386 The name of the configuration is set through parameter \np{cn\_cfg}, 
    387 and the nominal resolution through parameter \np{nn\_cfg} 
     370The total size of the computational domain is set by the parameters \jp{jpiglo}, \jp{jpjglo} and 
     371\jp{jpkglo} for the $i$, $j$ and $k$ directions, respectively. 
     372Note, that the variables \texttt{jpi} and \texttt{jpj} refer to 
     373the size of each processor subdomain when the code is run in parallel using domain decomposition 
     374(\key{mpp\_mpi} defined, see \autoref{sec:LBC_mpp}). 
     375 
     376The name of the configuration is set through parameter \np{cn_cfg}{cn\_cfg}, 
     377and the nominal resolution through parameter \np{nn_cfg}{nn\_cfg} 
    388378(unless in the input file both of variables \texttt{ORCA} and \texttt{ORCA\_index} are present, 
    389 in which case \np{cn\_cfg} and \np{nn\_cfg} are set from these values accordingly). 
     379in which case \np{cn_cfg}{cn\_cfg} and \np{nn_cfg}{nn\_cfg} are set from these values accordingly). 
    390380 
    391381The global lateral boundary condition type is selected from 8 options using parameter \jp{jperio}. 
    392 See \autoref{sec:LBC_jperio} for details on the available options and the corresponding values for \jp{jperio}. 
    393  
    394 % ================================================================ 
    395 % Domain: Horizontal Grid (mesh) 
    396 % ================================================================ 
    397 \subsection{Horizontal grid mesh (\protect\mdl{domhgr})} 
     382See \autoref{sec:LBC_jperio} for details on the available options and 
     383the corresponding values for \jp{jperio}. 
     384 
     385%% ================================================================================================= 
     386\subsection[Horizontal grid mesh (\textit{domhgr.F90}]{Horizontal grid mesh (\protect\mdl{domhgr})} 
    398387\label{subsec:DOM_hgr} 
    399388 
    400 % ================================================================ 
    401 % Domain: List of hgr-related fields needed 
    402 % ================================================================ 
     389%% ================================================================================================= 
    403390\subsubsection{Required fields} 
    404391\label{sec:DOM_hgr_fields} 
    405392 
    406 The explicit specification of a range of mesh-related fields are required for the definition of a configuration. 
     393The explicit specification of a range of mesh-related fields are required for 
     394the definition of a configuration. 
    407395These include: 
    408396 
    409397\begin{clines} 
    410 int    jpiglo, jpjglo, jpkglo            /* global domain sizes                                          */ 
    411 int    jperio                            /* lateral global domain b.c.                                   */ 
    412 double glamt, glamu, glamv, glamf        /* geographic longitude (t,u,v and f points respectively)      */ 
    413 double gphit, gphiu, gphiv, gphif        /* geographic latitude                                          */ 
    414 double e1t, e1u, e1v, e1f                /* horizontal scale factors                                     */ 
    415 double e2t, e2u, e2v, e2f                /* horizontal scale factors                                     */ 
     398int    jpiglo, jpjglo, jpkglo     /* global domain sizes                                    */ 
     399int    jperio                     /* lateral global domain b.c.                             */ 
     400double glamt, glamu, glamv, glamf /* geographic longitude (t,u,v and f points respectively) */ 
     401double gphit, gphiu, gphiv, gphif /* geographic latitude                                    */ 
     402double e1t, e1u, e1v, e1f         /* horizontal scale factors                               */ 
     403double e2t, e2u, e2v, e2f         /* horizontal scale factors                               */ 
    416404\end{clines} 
    417405 
    418406The values of the geographic longitude and latitude arrays at indices $i,j$ correspond to 
    419407the analytical expressions of the longitude $\lambda$ and latitude $\varphi$ as a function of $(i,j)$, 
    420 evaluated at the values as specified in \autoref{tab:cell} for the respective grid-point position. 
     408evaluated at the values as specified in \autoref{tab:DOM_cell} for the respective grid-point position. 
    421409The calculation of the values of the horizontal scale factor arrays in general additionally involves 
    422410partial derivatives of $\lambda$ and $\varphi$ with respect to $i$ and $j$, 
    423411evaluated for the same arguments as $\lambda$ and $\varphi$. 
    424412 
     413%% ================================================================================================= 
    425414\subsubsection{Optional fields} 
    426415 
    427416\begin{clines} 
    428                                          /* Optional:                                                    */ 
    429 int    ORCA, ORCA_index                  /* configuration name, configuration resolution                 */ 
    430 double e1e2u, e1e2v                      /* U and V surfaces (if grid size reduction in some straits)    */ 
    431 double ff_f, ff_t                        /* Coriolis parameter (if not on the sphere)                    */ 
     417                        /* Optional:                                                 */ 
     418int    ORCA, ORCA_index /* configuration name, configuration resolution              */ 
     419double e1e2u, e1e2v     /* U and V surfaces (if grid size reduction in some straits) */ 
     420double ff_f, ff_t       /* Coriolis parameter (if not on the sphere)                 */ 
    432421\end{clines} 
    433422 
     
    436425This is particularly useful for locations such as Gibraltar or Indonesian Throughflow pinch-points 
    437426(see \autoref{sec:MISC_strait} for illustrated examples). 
    438 The key is to reduce the faces of $T$-cell (\ie\ change the value of the horizontal scale factors at $u$- or $v$-point) but 
     427The key is to reduce the faces of $T$-cell 
     428(\ie\ change the value of the horizontal scale factors at $u$- or $v$-point) but 
    439429not the volume of the cells. 
    440430Doing otherwise can lead to numerical instability issues. 
    441431In normal operation the surface areas are computed from $e1u * e2u$ and $e1v * e2v$ but 
    442432in cases where a gridsize reduction is required, 
    443 the unaltered surface areas at $u$ and $v$ grid points (\texttt{e1e2u} and \texttt{e1e2v}, respectively) must be read or 
    444 pre-computed in \mdl{usrdef\_hgr}. 
    445 If these arrays are present in the \np{cn\_domcfg} file they are read and the internal computation is suppressed. 
    446 Versions of \mdl{usrdef\_hgr} which set their own values of \texttt{e1e2u} and \texttt{e1e2v} should set 
    447 the surface-area computation flag: 
     433the unaltered surface areas at $u$ and $v$ grid points 
     434(\texttt{e1e2u} and \texttt{e1e2v}, respectively) must be read or pre-computed in \mdl{usrdef\_hgr}. 
     435If these arrays are present in the \np{cn_domcfg}{cn\_domcfg} file they are read and 
     436the internal computation is suppressed. 
     437Versions of \mdl{usrdef\_hgr} which set their own values of \texttt{e1e2u} and \texttt{e1e2v} should 
     438set the surface-area computation flag: 
    448439\texttt{ie1e2u\_v} to a non-zero value to suppress their re-computation. 
    449440 
    450441\smallskip 
    451442Similar logic applies to the other optional fields: 
    452 \texttt{ff\_f} and \texttt{ff\_t} which can be used to provide the Coriolis parameter at F- and T-points respectively if 
    453 the mesh is not on a sphere. 
    454 If present these fields will be read and used and the normal calculation ($2 * \Omega * \sin(\varphi)$) suppressed. 
    455 Versions of \mdl{usrdef\_hgr} which set their own values of \texttt{ff\_f} and \texttt{ff\_t} should set 
    456 the Coriolis computation flag: 
     443\texttt{ff\_f} and \texttt{ff\_t} which can be used to 
     444provide the Coriolis parameter at F- and T-points respectively if the mesh is not on a sphere. 
     445If present these fields will be read and used and 
     446the normal calculation ($2 * \Omega * \sin(\varphi)$) suppressed. 
     447Versions of \mdl{usrdef\_hgr} which set their own values of \texttt{ff\_f} and \texttt{ff\_t} should 
     448set the Coriolis computation flag: 
    457449\texttt{iff} to a non-zero value to suppress their re-computation. 
    458450 
    459 Note that longitudes, latitudes, and scale factors at $w$ points are exactly equal to those of $t$ points, 
    460 thus no specific arrays are defined at $w$ points. 
    461  
    462  
    463 % ================================================================ 
    464 % Domain: Vertical Grid (domzgr) 
    465 % ================================================================ 
    466 \subsection[Vertical grid (\textit{domzgr.F90})] 
    467 {Vertical grid (\protect\mdl{domzgr})} 
     451Note that longitudes, latitudes, and scale factors at $w$ points are exactly equal to 
     452those of $t$ points, thus no specific arrays are defined at $w$ points. 
     453 
     454%% ================================================================================================= 
     455\subsection[Vertical grid (\textit{domzgr.F90})]{Vertical grid (\protect\mdl{domzgr})} 
    468456\label{subsec:DOM_zgr} 
    469 %-----------------------------------------namdom------------------------------------------- 
    470 \nlst{namdom} 
    471 %------------------------------------------------------------------------------------------------------------- 
     457 
     458\begin{listing} 
     459  \nlst{namdom} 
     460  \caption{\forcode{&namdom}} 
     461  \label{lst:namdom} 
     462\end{listing} 
    472463 
    473464In the vertical, the model mesh is determined by four things: 
    474465\begin{enumerate} 
    475   \item the bathymetry given in meters; 
    476   \item the number of levels of the model (\jp{jpk}); 
    477   \item the analytical transformation $z(i,j,k)$ and the vertical scale factors (derivatives of the transformation); and 
    478   \item the masking system, \ie\ the number of wet model levels at each 
    479 $(i,j)$ location of the horizontal grid. 
     466\item the bathymetry given in meters; 
     467\item the number of levels of the model (\jp{jpk}); 
     468\item the analytical transformation $z(i,j,k)$ and the vertical scale factors 
     469  (derivatives of the transformation); and 
     470\item the masking system, 
     471  \ie\ the number of wet model levels at each $(i,j)$ location of the horizontal grid. 
    480472\end{enumerate} 
    481473 
    482 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    483 \begin{figure}[!tb] 
    484   \begin{center} 
    485     \includegraphics[width=\textwidth]{Fig_z_zps_s_sps} 
    486     \caption{ 
    487       \protect\label{fig:z_zps_s_sps} 
    488       The ocean bottom as seen by the model: 
    489       (a) $z$-coordinate with full step, 
    490       (b) $z$-coordinate with partial step, 
    491       (c) $s$-coordinate: terrain following representation, 
    492       (d) hybrid $s-z$ coordinate, 
    493       (e) hybrid $s-z$ coordinate with partial step, and 
    494       (f) same as (e) but in the non-linear free surface (\protect\np{ln\_linssh}\forcode{ = .false.}). 
    495       Note that the non-linear free surface can be used with any of the 5 coordinates (a) to (e). 
    496     } 
    497   \end{center} 
     474\begin{figure} 
     475  \centering 
     476  \includegraphics[width=0.5\textwidth]{Fig_z_zps_s_sps} 
     477  \caption[Ocean bottom regarding coordinate systems ($z$, $s$ and hybrid $s-z$)]{ 
     478    The ocean bottom as seen by the model: 
     479    \begin{enumerate*}[label=(\textit{\alph*})] 
     480    \item $z$-coordinate with full step, 
     481    \item $z$-coordinate with partial step, 
     482    \item $s$-coordinate: terrain following representation, 
     483    \item hybrid $s-z$ coordinate, 
     484    \item hybrid $s-z$ coordinate with partial step, and 
     485    \item same as (e) but in the non-linear free surface 
     486      (\protect\np[=.false.]{ln_linssh}{ln\_linssh}). 
     487  \end{enumerate*} 
     488  Note that the non-linear free surface can be used with any of the 5 coordinates (a) to (e).} 
     489  \label{fig:DOM_z_zps_s_sps} 
    498490\end{figure} 
    499 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    500491 
    501492The choice of a vertical coordinate is made when setting up the configuration; 
    502493it is not intended to be an option which can be changed in the middle of an experiment. 
    503494The one exception to this statement being the choice of linear or non-linear free surface. 
    504 In v4.0 the linear free surface option is implemented as a special case of the non-linear free surface. 
     495In v4.0 the linear free surface option is implemented as 
     496a special case of the non-linear free surface. 
    505497This is computationally wasteful since it uses the structures for time-varying 3D metrics 
    506498for fields that (in the linear free surface case) are fixed. 
    507 However, the linear free-surface is rarely used and implementing it this way means 
    508 a single configuration file can support both options. 
    509  
    510 By default a non-linear free surface is used (\np{ln\_linssh} set to \forcode{ = .false.} in \nam{dom}): 
    511 the coordinate follow the time-variation of the free surface so that the transformation is time dependent: 
    512 $z(i,j,k,t)$ (\eg\ \autoref{fig:z_zps_s_sps}f). 
    513 When a linear free surface is assumed (\np{ln\_linssh} set to \forcode{ = .true.} in \nam{dom}), 
    514 the vertical coordinates are fixed in time, but the seawater can move up and down across the $z_0$ surface 
     499However, the linear free-surface is rarely used and 
     500implementing it this way means a single configuration file can support both options. 
     501 
     502By default a non-linear free surface is used 
     503(\np{ln_linssh}{ln\_linssh} set to \forcode{=.false.} in \nam{dom}{dom}): 
     504the coordinate follow the time-variation of the free surface so that 
     505the transformation is time dependent: $z(i,j,k,t)$ (\eg\ \autoref{fig:DOM_z_zps_s_sps}f). 
     506When a linear free surface is assumed 
     507(\np{ln_linssh}{ln\_linssh} set to \forcode{=.true.} in \nam{dom}{dom}), 
     508the vertical coordinates are fixed in time, but 
     509the seawater can move up and down across the $z_0$ surface 
    515510(in other words, the top of the ocean in not a rigid lid). 
    516511 
    517512Note that settings: 
    518 \np{ln\_zco}, \np{ln\_zps}, \np{ln\_sco} and \np{ln\_isfcav} mentioned in the following sections 
    519 appear to be namelist options but they are no longer truly namelist options for \NEMO. 
     513\np{ln_zco}{ln\_zco}, \np{ln_zps}{ln\_zps}, \np{ln_sco}{ln\_sco} and \np{ln_isfcav}{ln\_isfcav} 
     514mentioned in the following sections appear to be namelist options but 
     515they are no longer truly namelist options for \NEMO. 
    520516Their value is written to and read from the domain configuration file and 
    521517they should be treated as fixed parameters for a particular configuration. 
    522 They are namelist options for the \texttt{DOMAINcfg} tool that can be used to build the configuration file and 
    523 serve both to provide a record of the choices made whilst building the configuration and 
    524 to trigger appropriate code blocks within \NEMO. 
    525 These values should not be altered in the \np{cn\_domcfg} file. 
     518They are namelist options for the \texttt{DOMAINcfg} tool that can be used to 
     519build the configuration file and serve both to provide a record of the choices made whilst 
     520building the configuration and to trigger appropriate code blocks within \NEMO. 
     521These values should not be altered in the \np{cn_domcfg}{cn\_domcfg} file. 
    526522 
    527523\medskip 
    528 The decision on these choices must be made when the \np{cn\_domcfg} file is constructed. 
    529 Three main choices are offered (\autoref{fig:z_zps_s_sps}a-c): 
     524The decision on these choices must be made when the \np{cn_domcfg}{cn\_domcfg} file is constructed. 
     525Three main choices are offered (\autoref{fig:DOM_z_zps_s_sps}a-c): 
    530526 
    531527\begin{itemize} 
    532 \item $z$-coordinate with full step bathymetry (\np{ln\_zco}\forcode{ = .true.}), 
    533 \item $z$-coordinate with partial step ($zps$) bathymetry (\np{ln\_zps}\forcode{ = .true.}), 
    534 \item Generalized, $s$-coordinate (\np{ln\_sco}\forcode{ = .true.}). 
     528\item $z$-coordinate with full step bathymetry (\np[=.true.]{ln_zco}{ln\_zco}), 
     529\item $z$-coordinate with partial step ($zps$) bathymetry (\np[=.true.]{ln_zps}{ln\_zps}), 
     530\item Generalized, $s$-coordinate (\np[=.true.]{ln_sco}{ln\_sco}). 
    535531\end{itemize} 
    536532 
    537533Additionally, hybrid combinations of the three main coordinates are available: 
    538 $s-z$ or $s-zps$ coordinate (\autoref{fig:z_zps_s_sps}d and \autoref{fig:z_zps_s_sps}e). 
     534$s-z$ or $s-zps$ coordinate (\autoref{fig:DOM_z_zps_s_sps}d and \autoref{fig:DOM_z_zps_s_sps}e). 
    539535 
    540536A further choice related to vertical coordinate concerns 
    541537the presence (or not) of ocean cavities beneath ice shelves within the model domain. 
    542 A setting of \np{ln\_isfcav} as \forcode{.true.} indicates that the domain contains ocean cavities, 
     538A setting of \np{ln_isfcav}{ln\_isfcav} as \forcode{.true.} indicates that 
     539the domain contains ocean cavities, 
    543540otherwise the top, wet layer of the ocean will always be at the ocean surface. 
    544541This option is currently only available for $z$- or $zps$-coordinates. 
    545542In the latter case, partial steps are also applied at the ocean/ice shelf interface. 
    546543 
    547 Within the model, the arrays describing the grid point depths and vertical scale factors are three set of 
    548 three dimensional arrays $(i,j,k)$ defined at \textit{before}, \textit{now} and \textit{after} time step. 
     544Within the model, 
     545the arrays describing the grid point depths and vertical scale factors are 
     546three set of three dimensional arrays $(i,j,k)$ defined at 
     547\textit{before}, \textit{now} and \textit{after} time step. 
    549548The time at which they are defined is indicated by a suffix: $\_b$, $\_n$, or $\_a$, respectively. 
    550549They are updated at each model time step. 
    551550The initial fixed reference coordinate system is held in variable names with a $\_0$ suffix. 
    552 When the linear free surface option is used (\np{ln\_linssh}\forcode{ = .true.}), 
     551When the linear free surface option is used (\np[=.true.]{ln_linssh}{ln\_linssh}), 
    553552\textit{before}, \textit{now} and \textit{after} arrays are initially set to 
    554553their reference counterpart and remain fixed. 
    555554 
     555%% ================================================================================================= 
    556556\subsubsection{Required fields} 
    557557\label{sec:DOM_zgr_fields} 
     
    572572\end{clines} 
    573573 
    574 This set of vertical metrics is sufficient to describe the initial depth and thickness of every gridcell in 
    575 the model regardless of the choice of vertical coordinate. 
     574This set of vertical metrics is sufficient to describe the initial depth and thickness of 
     575every gridcell in the model regardless of the choice of vertical coordinate. 
    576576With constant z-levels, e3 metrics will be uniform across each horizontal level. 
    577577In the partial step case each e3 at the \jp{bottom\_level} 
     
    579579may vary from its horizontal neighbours. 
    580580And, in s-coordinates, variations can occur throughout the water column. 
    581 With the non-linear free-surface, all the coordinates behave more like the s-coordinate in 
    582 that variations occur throughout the water column with displacements related to the sea surface height. 
     581With the non-linear free-surface, all the coordinates behave more like the s-coordinate in that 
     582variations occur throughout the water column with displacements related to the sea surface height. 
    583583These variations are typically much smaller than those arising from bottom fitted coordinates. 
    584584The values for vertical metrics supplied in the domain configuration file can be considered as 
    585585those arising from a flat sea surface with zero elevation. 
    586586 
    587 The \jp{bottom\_level} and \jp{top\_level} 2D arrays define the \jp{bottom\_level} and top wet levels in each grid column. 
     587The \jp{bottom\_level} and \jp{top\_level} 2D arrays define 
     588the \jp{bottom\_level} and top wet levels in each grid column. 
    588589Without ice cavities, \jp{top\_level} is essentially a land mask (0 on land; 1 everywhere else). 
    589590With ice cavities, \jp{top\_level} determines the first wet point below the overlying ice shelf. 
    590591 
    591  
    592 % ------------------------------------------------------------------------------------------------------------- 
    593 %        level bathymetry and mask 
    594 % ------------------------------------------------------------------------------------------------------------- 
     592%% ================================================================================================= 
    595593\subsubsection{Level bathymetry and mask} 
    596594\label{subsec:DOM_msk} 
    597595 
    598  
    599596From \jp{top\_level} and \jp{bottom\_level} fields, the mask fields are defined as follows: 
    600 \begin{alignat*}{2} 
    601   tmask(i,j,k) &= &  & 
    602     \begin{cases} 
    603                   0 &\text{if $                  k  <    top\_level(i,j)$} \\ 
    604                   1 &\text{if $bottom\_level(i,j) \leq k \leq   top\_level(i,j)$} \\ 
    605                   0 &\text{if $                  k  >     bottom\_level(i,j)$} 
    606     \end{cases} 
    607   \\ 
    608   umask(i,j,k) &= &  &tmask(i,j,k) * tmask(i + 1,j,    k) \\ 
    609   vmask(i,j,k) &= &  &tmask(i,j,k) * tmask(i    ,j + 1,k) \\ 
    610   fmask(i,j,k) &= &  &tmask(i,j,k) * tmask(i + 1,j,    k) \\ 
    611                &  &* &tmask(i,j,k) * tmask(i + 1,j,    k) \\ 
    612   wmask(i,j,k) &= &  &tmask(i,j,k) * tmask(i    ,j,k - 1) \\ 
    613   \text{with~} wmask(i,j,1) &= & &tmask(i,j,1) 
    614 \end{alignat*} 
     597\begin{align*} 
     598  tmask(i,j,k) &= 
     599  \begin{cases} 
     600    0 &\text{if $                             k <    top\_level(i,j)$} \\ 
     601    1 &\text{if $     bottom\_level(i,j) \leq k \leq top\_level(i,j)$} \\ 
     602    0 &\text{if $k >  bottom\_level(i,j)                            $} 
     603  \end{cases} \\ 
     604  umask(i,j,k) &= tmask(i,j,k) * tmask(i + 1,j,    k) \\ 
     605  vmask(i,j,k) &= tmask(i,j,k) * tmask(i    ,j + 1,k) \\ 
     606  fmask(i,j,k) &= tmask(i,j,k) * tmask(i + 1,j,    k) * tmask(i,j,k) * tmask(i + 1,j,    k) \\ 
     607  wmask(i,j,k) &= tmask(i,j,k) * tmask(i    ,j,k - 1) \\ 
     608  \text{with~} wmask(i,j,1) &= tmask(i,j,1) 
     609\end{align*} 
    615610 
    616611Note that, without ice shelves cavities, 
    617 masks at $t-$ and $w-$points are identical with the numerical indexing used (\autoref{subsec:DOM_Num_Index}). 
    618 Nevertheless, $wmask$ are required with ocean cavities to deal with the top boundary (ice shelf/ocean interface) 
     612masks at $t-$ and $w-$points are identical with the numerical indexing used 
     613(\autoref{subsec:DOM_Num_Index}). 
     614Nevertheless, 
     615$wmask$ are required with ocean cavities to deal with the top boundary (ice shelf/ocean interface) 
    619616exactly in the same way as for the bottom boundary. 
    620617 
     
    625622%% (see \autoref{fig:LBC_jperio}). 
    626623 
    627  
    628 %------------------------------------------------------------------------------------------------- 
    629624%        Closed seas 
    630 %------------------------------------------------------------------------------------------------- 
    631 \subsection{Closed seas} \label{subsec:DOM_closea} 
    632  
    633 When a global ocean is coupled to an atmospheric model it is better to represent all large water bodies 
    634 (\eg\ Great Lakes, Caspian sea \dots) even if the model resolution does not allow their communication with 
    635 the rest of the ocean. 
     625%% ================================================================================================= 
     626\subsection{Closed seas} 
     627\label{subsec:DOM_closea} 
     628 
     629When a global ocean is coupled to an atmospheric model it is better to 
     630represent all large water bodies (\eg\ Great Lakes, Caspian sea, \dots) even if 
     631the model resolution does not allow their communication with the rest of the ocean. 
    636632This is unnecessary when the ocean is forced by fixed atmospheric conditions, 
    637633so these seas can be removed from the ocean domain. 
    638 The user has the option to set the bathymetry in closed seas to zero (see \autoref{sec:MISC_closea}) and 
    639 to optionally decide on the fate of any freshwater imbalance over the area. 
    640 The options are explained in \autoref{sec:MISC_closea} but it should be noted here that 
    641 a successful use of these options requires appropriate mask fields to be present in the domain configuration file. 
     634The user has the option to 
     635set the bathymetry in closed seas to zero (see \autoref{sec:MISC_closea}) and to 
     636optionally decide on the fate of any freshwater imbalance over the area. 
     637The options are explained in \autoref{sec:MISC_closea} but 
     638it should be noted here that a successful use of these options requires 
     639appropriate mask fields to be present in the domain configuration file. 
    642640Among the possibilities are: 
    643641 
    644642\begin{clines} 
    645 int    closea_mask          /* non-zero values in closed sea areas for optional masking                  */ 
    646 int    closea_mask_rnf      /* non-zero values in closed sea areas with runoff locations (precip only)  */ 
    647 int    closea_mask_emp      /* non-zero values in closed sea areas with runoff locations (total emp)     */ 
     643int closea_mask     /* non-zero values in closed sea areas for optional masking                */ 
     644int closea_mask_rnf /* non-zero values in closed sea areas with runoff locations (precip only) */ 
     645int closea_mask_emp /* non-zero values in closed sea areas with runoff locations (total emp)   */ 
    648646\end{clines} 
    649647 
    650 % ------------------------------------------------------------------------------------------------------------- 
    651 %        Grid files 
    652 % ------------------------------------------------------------------------------------------------------------- 
     648%% ================================================================================================= 
    653649\subsection{Output grid files} 
    654650\label{subsec:DOM_meshmask} 
    655651 
    656 \nlst{namcfg} 
    657  
    658652Most of the arrays relating to a particular ocean model configuration discussed in this chapter 
    659 (grid-point position, scale factors) 
    660 can be saved in a file if 
    661 namelist parameter \np{ln\_write\_cfg} (namelist \nam{cfg}) is set to \forcode{.true.}; 
    662 the output filename is set through parameter \np{cn\_domcfg\_out}. 
     653(grid-point position, scale factors) can be saved in a file if 
     654namelist parameter \np{ln_write_cfg}{ln\_write\_cfg} (namelist \nam{cfg}{cfg}) is set to 
     655\forcode{.true.}; 
     656the output filename is set through parameter \np{cn_domcfg_out}{cn\_domcfg\_out}. 
    663657This is only really useful if 
    664658the fields are computed in subroutines \mdl{usrdef\_hgr} or \mdl{usrdef\_zgr} and 
    665659checking or confirmation is required. 
    666660 
    667 \nlst{namdom} 
    668  
    669661Alternatively, all the arrays relating to a particular ocean model configuration 
    670 (grid-point position, scale factors, depths and masks) 
    671 can be saved in a file called \texttt{mesh\_mask} if 
    672 namelist parameter \np{ln\_meshmask} (namelist \nam{dom}) is set to \forcode{.true.}. 
     662(grid-point position, scale factors, depths and masks) can be saved in 
     663a file called \texttt{mesh\_mask} if 
     664namelist parameter \np{ln_meshmask}{ln\_meshmask} (namelist \nam{dom}{dom}) is set to 
     665\forcode{.true.}. 
    673666This file contains additional fields that can be useful for post-processing applications. 
    674667 
    675 % ================================================================ 
    676 % Domain: Initial State (dtatsd & istate) 
    677 % ================================================================ 
    678 \section[Initial state (\textit{istate.F90} and \textit{dtatsd.F90})] 
    679 {Initial state (\protect\mdl{istate} and \protect\mdl{dtatsd})} 
    680 \label{sec:DTA_tsd} 
    681 %-----------------------------------------namtsd------------------------------------------- 
    682 \nlst{namtsd} 
    683 %------------------------------------------------------------------------------------------ 
    684  
    685 Basic initial state options are defined in \nam{tsd}. 
     668%% ================================================================================================= 
     669\section[Initial state (\textit{istate.F90} and \textit{dtatsd.F90})]{Initial state (\protect\mdl{istate} and \protect\mdl{dtatsd})} 
     670\label{sec:DOM_DTA_tsd} 
     671 
     672\begin{listing} 
     673  \nlst{namtsd} 
     674  \caption{\forcode{&namtsd}} 
     675  \label{lst:namtsd} 
     676\end{listing} 
     677 
     678Basic initial state options are defined in \nam{tsd}{tsd}. 
    686679By default, the ocean starts from rest (the velocity field is set to zero) and 
    687 the initialization of temperature and salinity fields is controlled through the \np{ln\_tsd\_init} namelist parameter. 
     680the initialization of temperature and salinity fields is controlled through the \np{ln_tsd_init}{ln\_tsd\_init} namelist parameter. 
    688681 
    689682\begin{description} 
    690 \item[\np{ln\_tsd\_init}\forcode{= .true.}] 
    691   Use T and S input files that can be given on the model grid itself or on their native input data grids. 
    692   In the latter case, the data will be interpolated on-the-fly both in the horizontal and the vertical to the model grid 
     683\item [{\np[=.true.]{ln_tsd_init}{ln\_tsd\_init}}] Use T and S input files that can be given on 
     684  the model grid itself or on their native input data grids. 
     685  In the latter case, 
     686  the data will be interpolated on-the-fly both in the horizontal and the vertical to the model grid 
    693687  (see \autoref{subsec:SBC_iof}). 
    694   The information relating to the input files are specified in the \np{sn\_tem} and \np{sn\_sal} structures. 
     688  The information relating to the input files are specified in 
     689  the \np{sn_tem}{sn\_tem} and \np{sn_sal}{sn\_sal} structures. 
    695690  The computation is done in the \mdl{dtatsd} module. 
    696 \item[\np{ln\_tsd\_init}\forcode{= .false.}] 
    697   Initial values for T and S are set via a user supplied \rou{usr\_def\_istate} routine contained in \mdl{userdef\_istate}. 
     691\item [{\np[=.false.]{ln_tsd_init}{ln\_tsd\_init}}] Initial values for T and S are set via 
     692  a user supplied \rou{usr\_def\_istate} routine contained in \mdl{userdef\_istate}. 
    698693  The default version sets horizontally uniform T and profiles as used in the GYRE configuration 
    699   (see \autoref{sec:CFG_gyre}). 
     694  (see \autoref{sec:CFGS_gyre}). 
    700695\end{description} 
    701696 
    702 \biblio 
    703  
    704 \pindex 
     697\onlyinsubfile{\input{../../global/epilogue}} 
    705698 
    706699\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_DYN.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter ——— Ocean Dynamics (DYN) 
    6 % ================================================================ 
     4 
    75\chapter{Ocean Dynamics (DYN)} 
    86\label{chap:DYN} 
    97 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
     11 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
    1126 
    1227Using the representation described in \autoref{chap:DOM}, 
     
    5267Furthermore, the tendency terms associated with the 2D barotropic vorticity balance (when \texttt{trdvor?} is defined) 
    5368can be derived from the 3D terms. 
    54 %%% 
    5569\gmcomment{STEVEN: not quite sure I've got the sense of the last sentence. does 
    5670MISC correspond to "extracting tendency terms" or "vorticity balance"?} 
    5771 
    58 % ================================================================ 
    59 % Sea Surface Height evolution & Diagnostics variables 
    60 % ================================================================ 
     72%% ================================================================================================= 
    6173\section{Sea surface height and diagnostic variables ($\eta$, $\zeta$, $\chi$, $w$)} 
    6274\label{sec:DYN_divcur_wzv} 
    6375 
    64 %-------------------------------------------------------------------------------------------------------------- 
    65 %           Horizontal divergence and relative vorticity 
    66 %-------------------------------------------------------------------------------------------------------------- 
    67 \subsection[Horizontal divergence and relative vorticity (\textit{divcur.F90})] 
    68 {Horizontal divergence and relative vorticity (\protect\mdl{divcur})} 
     76%% ================================================================================================= 
     77\subsection[Horizontal divergence and relative vorticity (\textit{divcur.F90})]{Horizontal divergence and relative vorticity (\protect\mdl{divcur})} 
    6978\label{subsec:DYN_divcur} 
    7079 
    7180The vorticity is defined at an $f$-point (\ie\ corner point) as follows: 
    7281\begin{equation} 
    73   \label{eq:divcur_cur} 
     82  \label{eq:DYN_divcur_cur} 
    7483  \zeta =\frac{1}{e_{1f}\,e_{2f} }\left( {\;\delta_{i+1/2} \left[ {e_{2v}\;v} \right] 
    7584      -\delta_{j+1/2} \left[ {e_{1u}\;u} \right]\;} \right) 
     
    7988It is given by: 
    8089\[ 
    81   % \label{eq:divcur_div} 
     90  % \label{eq:DYN_divcur_div} 
    8291  \chi =\frac{1}{e_{1t}\,e_{2t}\,e_{3t} } 
    8392  \left( {\delta_i \left[ {e_{2u}\,e_{3u}\,u} \right] 
     
    99108the nonlinear advection and of the vertical velocity respectively. 
    100109 
    101 %-------------------------------------------------------------------------------------------------------------- 
    102 %           Sea Surface Height evolution 
    103 %-------------------------------------------------------------------------------------------------------------- 
    104 \subsection[Horizontal divergence and relative vorticity (\textit{sshwzv.F90})] 
    105 {Horizontal divergence and relative vorticity (\protect\mdl{sshwzv})} 
     110%% ================================================================================================= 
     111\subsection[Horizontal divergence and relative vorticity (\textit{sshwzv.F90})]{Horizontal divergence and relative vorticity (\protect\mdl{sshwzv})} 
    106112\label{subsec:DYN_sshwzv} 
    107113 
    108114The sea surface height is given by: 
    109115\begin{equation} 
    110   \label{eq:dynspg_ssh} 
     116  \label{eq:DYN_spg_ssh} 
    111117  \begin{aligned} 
    112118    \frac{\partial \eta }{\partial t} 
     
    123129\textit{emp} can be written as the evaporation minus precipitation, minus the river runoff. 
    124130The sea-surface height is evaluated using exactly the same time stepping scheme as 
    125 the tracer equation \autoref{eq:tra_nxt}: 
     131the tracer equation \autoref{eq:TRA_nxt}: 
    126132a leapfrog scheme in combination with an Asselin time filter, 
    127 \ie\ the velocity appearing in \autoref{eq:dynspg_ssh} is centred in time (\textit{now} velocity). 
     133\ie\ the velocity appearing in \autoref{eq:DYN_spg_ssh} is centred in time (\textit{now} velocity). 
    128134This is of paramount importance. 
    129135Replacing $T$ by the number $1$ in the tracer equation and summing over the water column must lead to 
     
    134140taking into account the change of the thickness of the levels: 
    135141\begin{equation} 
    136   \label{eq:wzv} 
     142  \label{eq:DYN_wzv} 
    137143  \left\{ 
    138144    \begin{aligned} 
     
    148154re-orientated downward. 
    149155\gmcomment{not sure of this...  to be modified with the change in emp setting} 
    150 In the case of a linear free surface, the time derivative in \autoref{eq:wzv} disappears. 
     156In the case of a linear free surface, the time derivative in \autoref{eq:DYN_wzv} disappears. 
    151157The upper boundary condition applies at a fixed level $z=0$. 
    152158The top vertical velocity is thus equal to the divergence of the barotropic transport 
    153 (\ie\ the first term in the right-hand-side of \autoref{eq:dynspg_ssh}). 
     159(\ie\ the first term in the right-hand-side of \autoref{eq:DYN_spg_ssh}). 
    154160 
    155161Note also that whereas the vertical velocity has the same discrete expression in $z$- and $s$-coordinates, 
    156162its physical meaning is not the same: 
    157163in the second case, $w$ is the velocity normal to the $s$-surfaces. 
    158 Note also that the $k$-axis is re-orientated downwards in the \fortran code compared to 
    159 the indexing used in the semi-discrete equations such as \autoref{eq:wzv} 
     164Note also that the $k$-axis is re-orientated downwards in the \fortran\ code compared to 
     165the indexing used in the semi-discrete equations such as \autoref{eq:DYN_wzv} 
    160166(see \autoref{subsec:DOM_Num_Index_vertical}). 
    161167 
    162  
    163 % ================================================================ 
    164 % Coriolis and Advection terms: vector invariant form 
    165 % ================================================================ 
     168%% ================================================================================================= 
    166169\section{Coriolis and advection: vector invariant form} 
    167170\label{sec:DYN_adv_cor_vect} 
    168 %-----------------------------------------nam_dynadv---------------------------------------------------- 
    169  
    170 \nlst{namdyn_adv} 
    171 %------------------------------------------------------------------------------------------------------------- 
     171 
     172\begin{listing} 
     173  \nlst{namdyn_adv} 
     174  \caption{\forcode{&namdyn_adv}} 
     175  \label{lst:namdyn_adv} 
     176\end{listing} 
    172177 
    173178The vector invariant form of the momentum equations is the one most often used in 
    174179applications of the \NEMO\ ocean model. 
    175180The flux form option (see next section) has been present since version $2$. 
    176 Options are defined through the \nam{dyn\_adv} namelist variables Coriolis and 
     181Options are defined through the \nam{dyn_adv}{dyn\_adv} namelist variables Coriolis and 
    177182momentum advection terms are evaluated using a leapfrog scheme, 
    178183\ie\ the velocity appearing in these expressions is centred in time (\textit{now} velocity). 
     
    180185\autoref{chap:LBC}. 
    181186 
    182 % ------------------------------------------------------------------------------------------------------------- 
    183 %        Vorticity term 
    184 % ------------------------------------------------------------------------------------------------------------- 
    185 \subsection[Vorticity term (\textit{dynvor.F90})] 
    186 {Vorticity term (\protect\mdl{dynvor})} 
     187%% ================================================================================================= 
     188\subsection[Vorticity term (\textit{dynvor.F90})]{Vorticity term (\protect\mdl{dynvor})} 
    187189\label{subsec:DYN_vor} 
    188 %------------------------------------------nam_dynvor---------------------------------------------------- 
    189  
    190 \nlst{namdyn_vor} 
    191 %------------------------------------------------------------------------------------------------------------- 
    192  
    193 Options are defined through the \nam{dyn\_vor} namelist variables. 
    194 Four discretisations of the vorticity term (\texttt{ln\_dynvor\_xxx}\forcode{ = .true.}) are available: 
     190 
     191\begin{listing} 
     192  \nlst{namdyn_vor} 
     193  \caption{\forcode{&namdyn_vor}} 
     194  \label{lst:namdyn_vor} 
     195\end{listing} 
     196 
     197Options are defined through the \nam{dyn_vor}{dyn\_vor} namelist variables. 
     198Four discretisations of the vorticity term (\texttt{ln\_dynvor\_xxx}\forcode{=.true.}) are available: 
    195199conserving potential enstrophy of horizontally non-divergent flow (ENS scheme); 
    196200conserving horizontal kinetic energy (ENE scheme); 
     
    198202horizontal kinetic energy for the planetary vorticity term (MIX scheme); 
    199203or conserving both the potential enstrophy of horizontally non-divergent flow and horizontal kinetic energy 
    200 (EEN scheme) (see \autoref{subsec:C_vorEEN}). 
     204(EEN scheme) (see \autoref{subsec:INVARIANTS_vorEEN}). 
    201205In the case of ENS, ENE or MIX schemes the land sea mask may be slightly modified to ensure the consistency of 
    202 vorticity term with analytical equations (\np{ln\_dynvor\_con}\forcode{ = .true.}). 
     206vorticity term with analytical equations (\np[=.true.]{ln_dynvor_con}{ln\_dynvor\_con}). 
    203207The vorticity terms are all computed in dedicated routines that can be found in the \mdl{dynvor} module. 
    204208 
    205 %------------------------------------------------------------- 
    206209%                 enstrophy conserving scheme 
    207 %------------------------------------------------------------- 
    208 \subsubsection[Enstrophy conserving scheme (\forcode{ln_dynvor_ens = .true.})] 
    209 {Enstrophy conserving scheme (\protect\np{ln\_dynvor\_ens}\forcode{ = .true.})} 
     210%% ================================================================================================= 
     211\subsubsection[Enstrophy conserving scheme (\forcode{ln_dynvor_ens})]{Enstrophy conserving scheme (\protect\np{ln_dynvor_ens}{ln\_dynvor\_ens})} 
    210212\label{subsec:DYN_vor_ens} 
    211213 
     
    216218It is given by: 
    217219\begin{equation} 
    218   \label{eq:dynvor_ens} 
     220  \label{eq:DYN_vor_ens} 
    219221  \left\{ 
    220222    \begin{aligned} 
     
    227229\end{equation} 
    228230 
    229 %------------------------------------------------------------- 
    230231%                 energy conserving scheme 
    231 %------------------------------------------------------------- 
    232 \subsubsection[Energy conserving scheme (\forcode{ln_dynvor_ene = .true.})] 
    233 {Energy conserving scheme (\protect\np{ln\_dynvor\_ene}\forcode{ = .true.})} 
     232%% ================================================================================================= 
     233\subsubsection[Energy conserving scheme (\forcode{ln_dynvor_ene})]{Energy conserving scheme (\protect\np{ln_dynvor_ene}{ln\_dynvor\_ene})} 
    234234\label{subsec:DYN_vor_ene} 
    235235 
     
    237237It is given by: 
    238238\begin{equation} 
    239   \label{eq:dynvor_ene} 
     239  \label{eq:DYN_vor_ene} 
    240240  \left\{ 
    241241    \begin{aligned} 
     
    248248\end{equation} 
    249249 
    250 %------------------------------------------------------------- 
    251250%                 mix energy/enstrophy conserving scheme 
    252 %------------------------------------------------------------- 
    253 \subsubsection[Mixed energy/enstrophy conserving scheme (\forcode{ln_dynvor_mix = .true.})] 
    254 {Mixed energy/enstrophy conserving scheme (\protect\np{ln\_dynvor\_mix}\forcode{ = .true.})} 
     251%% ================================================================================================= 
     252\subsubsection[Mixed energy/enstrophy conserving scheme (\forcode{ln_dynvor_mix})]{Mixed energy/enstrophy conserving scheme (\protect\np{ln_dynvor_mix}{ln\_dynvor\_mix})} 
    255253\label{subsec:DYN_vor_mix} 
    256254 
    257255For the mixed energy/enstrophy conserving scheme (MIX scheme), a mixture of the two previous schemes is used. 
    258 It consists of the ENS scheme (\autoref{eq:dynvor_ens}) for the relative vorticity term, 
    259 and of the ENE scheme (\autoref{eq:dynvor_ene}) applied to the planetary vorticity term. 
    260 \[ 
    261   % \label{eq:dynvor_mix} 
     256It consists of the ENS scheme (\autoref{eq:DYN_vor_ens}) for the relative vorticity term, 
     257and of the ENE scheme (\autoref{eq:DYN_vor_ene}) applied to the planetary vorticity term. 
     258\[ 
     259  % \label{eq:DYN_vor_mix} 
    262260  \left\{ { 
    263261      \begin{aligned} 
     
    274272\] 
    275273 
    276 %------------------------------------------------------------- 
    277274%                 energy and enstrophy conserving scheme 
    278 %------------------------------------------------------------- 
    279 \subsubsection[Energy and enstrophy conserving scheme (\forcode{ln_dynvor_een = .true.})] 
    280 {Energy and enstrophy conserving scheme (\protect\np{ln\_dynvor\_een}\forcode{ = .true.})} 
     275%% ================================================================================================= 
     276\subsubsection[Energy and enstrophy conserving scheme (\forcode{ln_dynvor_een})]{Energy and enstrophy conserving scheme (\protect\np{ln_dynvor_een}{ln\_dynvor\_een})} 
    281277\label{subsec:DYN_vor_een} 
    282278 
     
    297293The idea is to get rid of the double averaging by considering triad combinations of vorticity. 
    298294It is noteworthy that this solution is conceptually quite similar to the one proposed by 
    299 \citep{griffies.gnanadesikan.ea_JPO98} for the discretization of the iso-neutral diffusion operator (see \autoref{apdx:C}). 
     295\citep{griffies.gnanadesikan.ea_JPO98} for the discretization of the iso-neutral diffusion operator (see \autoref{apdx:INVARIANTS}). 
    300296 
    301297The \citet{arakawa.hsu_MWR90} vorticity advection scheme for a single layer is modified 
     
    303299First consider the discrete expression of the potential vorticity, $q$, defined at an $f$-point: 
    304300\[ 
    305   % \label{eq:pot_vor} 
     301  % \label{eq:DYN_pot_vor} 
    306302  q  = \frac{\zeta +f} {e_{3f} } 
    307303\] 
    308 where the relative vorticity is defined by (\autoref{eq:divcur_cur}), 
     304where the relative vorticity is defined by (\autoref{eq:DYN_divcur_cur}), 
    309305the Coriolis parameter is given by $f=2 \,\Omega \;\sin \varphi _f $ and the layer thickness at $f$-points is: 
    310306\begin{equation} 
    311   \label{eq:een_e3f} 
     307  \label{eq:DYN_een_e3f} 
    312308  e_{3f} = \overline{\overline {e_{3t} }} ^{\,i+1/2,j+1/2} 
    313309\end{equation} 
    314310 
    315 %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    316311\begin{figure}[!ht] 
    317   \begin{center} 
    318     \includegraphics[width=\textwidth]{Fig_DYN_een_triad} 
    319     \caption{ 
    320       \protect\label{fig:DYN_een_triad} 
    321       Triads used in the energy and enstrophy conserving scheme (een) for 
    322       $u$-component (upper panel) and $v$-component (lower panel). 
    323     } 
    324   \end{center} 
     312  \centering 
     313  \includegraphics[width=0.66\textwidth]{Fig_DYN_een_triad} 
     314  \caption[Triads used in the energy and enstrophy conserving scheme (EEN)]{ 
     315    Triads used in the energy and enstrophy conserving scheme (EEN) for 
     316    $u$-component (upper panel) and $v$-component (lower panel).} 
     317  \label{fig:DYN_een_triad} 
    325318\end{figure} 
    326 % >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    327  
    328 A key point in \autoref{eq:een_e3f} is how the averaging in the \textbf{i}- and \textbf{j}- directions is made. 
     319 
     320A key point in \autoref{eq:DYN_een_e3f} is how the averaging in the \textbf{i}- and \textbf{j}- directions is made. 
    329321It uses the sum of masked t-point vertical scale factor divided either by the sum of the four t-point masks 
    330 (\np{nn\_een\_e3f}\forcode{ = 1}), or just by $4$ (\np{nn\_een\_e3f}\forcode{ = .true.}). 
     322(\np[=1]{nn_een_e3f}{nn\_een\_e3f}), or just by $4$ (\np[=.true.]{nn_een_e3f}{nn\_een\_e3f}). 
    331323The latter case preserves the continuity of $e_{3f}$ when one or more of the neighbouring $e_{3t}$ tends to zero and 
    332324extends by continuity the value of $e_{3f}$ into the land areas. 
     
    340332(\autoref{fig:DYN_een_triad}): 
    341333\begin{equation} 
    342   \label{eq:Q_triads} 
     334  \label{eq:DYN_Q_triads} 
    343335  _i^j \mathbb{Q}^{i_p}_{j_p} 
    344336  = \frac{1}{12} \ \left(   q^{i-i_p}_{j+j_p} + q^{i+j_p}_{j+i_p} + q^{i+i_p}_{j-j_p}  \right) 
     
    348340Finally, the vorticity terms are represented as: 
    349341\begin{equation} 
    350   \label{eq:dynvor_een} 
     342  \label{eq:DYN_vor_een} 
    351343  \left\{ { 
    352344      \begin{aligned} 
     
    361353This EEN scheme in fact combines the conservation properties of the ENS and ENE schemes. 
    362354It conserves both total energy and potential enstrophy in the limit of horizontally nondivergent flow 
    363 (\ie\ $\chi$=$0$) (see \autoref{subsec:C_vorEEN}). 
     355(\ie\ $\chi$=$0$) (see \autoref{subsec:INVARIANTS_vorEEN}). 
    364356Applied to a realistic ocean configuration, it has been shown that it leads to a significant reduction of 
    365357the noise in the vertical velocity field \citep{le-sommer.penduff.ea_OM09}. 
     
    368360leading to a larger topostrophy of the flow \citep{barnier.madec.ea_OD06, penduff.le-sommer.ea_OS07}. 
    369361 
    370 %-------------------------------------------------------------------------------------------------------------- 
    371 %           Kinetic Energy Gradient term 
    372 %-------------------------------------------------------------------------------------------------------------- 
    373 \subsection[Kinetic energy gradient term (\textit{dynkeg.F90})] 
    374 {Kinetic energy gradient term (\protect\mdl{dynkeg})} 
     362%% ================================================================================================= 
     363\subsection[Kinetic energy gradient term (\textit{dynkeg.F90})]{Kinetic energy gradient term (\protect\mdl{dynkeg})} 
    375364\label{subsec:DYN_keg} 
    376365 
    377 As demonstrated in \autoref{apdx:C}, 
     366As demonstrated in \autoref{apdx:INVARIANTS}, 
    378367there is a single discrete formulation of the kinetic energy gradient term that, 
    379368together with the formulation chosen for the vertical advection (see below), 
    380369conserves the total kinetic energy: 
    381370\[ 
    382   % \label{eq:dynkeg} 
     371  % \label{eq:DYN_keg} 
    383372  \left\{ 
    384373    \begin{aligned} 
     
    389378\] 
    390379 
    391 %-------------------------------------------------------------------------------------------------------------- 
    392 %           Vertical advection term 
    393 %-------------------------------------------------------------------------------------------------------------- 
    394 \subsection[Vertical advection term (\textit{dynzad.F90})] 
    395 {Vertical advection term (\protect\mdl{dynzad})} 
     380%% ================================================================================================= 
     381\subsection[Vertical advection term (\textit{dynzad.F90})]{Vertical advection term (\protect\mdl{dynzad})} 
    396382\label{subsec:DYN_zad} 
    397383 
     
    400386conserves the total kinetic energy. 
    401387Indeed, the change of KE due to the vertical advection is exactly balanced by 
    402 the change of KE due to the gradient of KE (see \autoref{apdx:C}). 
    403 \[ 
    404   % \label{eq:dynzad} 
     388the change of KE due to the gradient of KE (see \autoref{apdx:INVARIANTS}). 
     389\[ 
     390  % \label{eq:DYN_zad} 
    405391  \left\{ 
    406392    \begin{aligned} 
     
    410396  \right. 
    411397\] 
    412 When \np{ln\_dynzad\_zts}\forcode{ = .true.}, 
     398When \np[=.true.]{ln_dynzad_zts}{ln\_dynzad\_zts}, 
    413399a split-explicit time stepping with 5 sub-timesteps is used on the vertical advection term. 
    414400This option can be useful when the value of the timestep is limited by vertical advection \citep{lemarie.debreu.ea_OM15}. 
    415401Note that in this case, 
    416402a similar split-explicit time stepping should be used on vertical advection of tracer to ensure a better stability, 
    417 an option which is only available with a TVD scheme (see \np{ln\_traadv\_tvd\_zts} in \autoref{subsec:TRA_adv_tvd}). 
    418  
    419  
    420 % ================================================================ 
    421 % Coriolis and Advection : flux form 
    422 % ================================================================ 
     403an option which is only available with a TVD scheme (see \np{ln_traadv_tvd_zts}{ln\_traadv\_tvd\_zts} in \autoref{subsec:TRA_adv_tvd}). 
     404 
     405%% ================================================================================================= 
    423406\section{Coriolis and advection: flux form} 
    424407\label{sec:DYN_adv_cor_flux} 
    425 %------------------------------------------nam_dynadv---------------------------------------------------- 
    426  
    427 \nlst{namdyn_adv} 
    428 %------------------------------------------------------------------------------------------------------------- 
    429  
    430 Options are defined through the \nam{dyn\_adv} namelist variables. 
     408 
     409Options are defined through the \nam{dyn_adv}{dyn\_adv} namelist variables. 
    431410In the flux form (as in the vector invariant form), 
    432411the Coriolis and momentum advection terms are evaluated using a leapfrog scheme, 
     
    435414no slip or partial slip boundary conditions are applied following \autoref{chap:LBC}. 
    436415 
    437  
    438 %-------------------------------------------------------------------------------------------------------------- 
    439 %           Coriolis plus curvature metric terms 
    440 %-------------------------------------------------------------------------------------------------------------- 
    441 \subsection[Coriolis plus curvature metric terms (\textit{dynvor.F90})] 
    442 {Coriolis plus curvature metric terms (\protect\mdl{dynvor})} 
     416%% ================================================================================================= 
     417\subsection[Coriolis plus curvature metric terms (\textit{dynvor.F90})]{Coriolis plus curvature metric terms (\protect\mdl{dynvor})} 
    443418\label{subsec:DYN_cor_flux} 
    444419 
     
    447422It is given by: 
    448423\begin{multline*} 
    449   % \label{eq:dyncor_metric} 
     424  % \label{eq:DYN_cor_metric} 
    450425  f+\frac{1}{e_1 e_2 }\left( {v\frac{\partial e_2 }{\partial i}  -  u\frac{\partial e_1 }{\partial j}} \right)  \\ 
    451426  \equiv   f + \frac{1}{e_{1f} e_{2f} } \left( { \ \overline v ^{i+1/2}\delta_{i+1/2} \left[ {e_{2u} } \right] 
     
    453428\end{multline*} 
    454429 
    455 Any of the (\autoref{eq:dynvor_ens}), (\autoref{eq:dynvor_ene}) and (\autoref{eq:dynvor_een}) schemes can be used to 
     430Any of the (\autoref{eq:DYN_vor_ens}), (\autoref{eq:DYN_vor_ene}) and (\autoref{eq:DYN_vor_een}) schemes can be used to 
    456431compute the product of the Coriolis parameter and the vorticity. 
    457 However, the energy-conserving scheme (\autoref{eq:dynvor_een}) has exclusively been used to date. 
     432However, the energy-conserving scheme (\autoref{eq:DYN_vor_een}) has exclusively been used to date. 
    458433This term is evaluated using a leapfrog scheme, \ie\ the velocity is centred in time (\textit{now} velocity). 
    459434 
    460 %-------------------------------------------------------------------------------------------------------------- 
    461 %           Flux form Advection term 
    462 %-------------------------------------------------------------------------------------------------------------- 
    463 \subsection[Flux form advection term (\textit{dynadv.F90})] 
    464 {Flux form advection term (\protect\mdl{dynadv})} 
     435%% ================================================================================================= 
     436\subsection[Flux form advection term (\textit{dynadv.F90})]{Flux form advection term (\protect\mdl{dynadv})} 
    465437\label{subsec:DYN_adv_flux} 
    466438 
    467439The discrete expression of the advection term is given by: 
    468440\[ 
    469   % \label{eq:dynadv} 
     441  % \label{eq:DYN_adv} 
    470442  \left\{ 
    471443    \begin{aligned} 
     
    487459or a $3^{rd}$ order upstream biased scheme, UBS. 
    488460The latter is described in \citet{shchepetkin.mcwilliams_OM05}. 
    489 The schemes are selected using the namelist logicals \np{ln\_dynadv\_cen2} and \np{ln\_dynadv\_ubs}. 
     461The schemes are selected using the namelist logicals \np{ln_dynadv_cen2}{ln\_dynadv\_cen2} and \np{ln_dynadv_ubs}{ln\_dynadv\_ubs}. 
    490462In flux form, the schemes differ by the choice of a space and time interpolation to define the value of 
    491463$u$ and $v$ at the centre of each face of $u$- and $v$-cells, \ie\ at the $T$-, $f$-, 
    492464and $uw$-points for $u$ and at the $f$-, $T$- and $vw$-points for $v$. 
    493465 
    494 %------------------------------------------------------------- 
    495466%                 2nd order centred scheme 
    496 %------------------------------------------------------------- 
    497 \subsubsection[CEN2: $2^{nd}$ order centred scheme (\forcode{ln_dynadv_cen2 = .true.})] 
    498 {CEN2: $2^{nd}$ order centred scheme (\protect\np{ln\_dynadv\_cen2}\forcode{ = .true.})} 
     467%% ================================================================================================= 
     468\subsubsection[CEN2: $2^{nd}$ order centred scheme (\forcode{ln_dynadv_cen2})]{CEN2: $2^{nd}$ order centred scheme (\protect\np{ln_dynadv_cen2}{ln\_dynadv\_cen2})} 
    499469\label{subsec:DYN_adv_cen2} 
    500470 
    501471In the centered $2^{nd}$ order formulation, the velocity is evaluated as the mean of the two neighbouring points: 
    502472\begin{equation} 
    503   \label{eq:dynadv_cen2} 
     473  \label{eq:DYN_adv_cen2} 
    504474  \left\{ 
    505475    \begin{aligned} 
     
    516486so $u$ and $v$ are the \emph{now} velocities. 
    517487 
    518 %------------------------------------------------------------- 
    519488%                 UBS scheme 
    520 %------------------------------------------------------------- 
    521 \subsubsection[UBS: Upstream Biased Scheme (\forcode{ln_dynadv_ubs = .true.})] 
    522 {UBS: Upstream Biased Scheme (\protect\np{ln\_dynadv\_ubs}\forcode{ = .true.})} 
     489%% ================================================================================================= 
     490\subsubsection[UBS: Upstream Biased Scheme (\forcode{ln_dynadv_ubs})]{UBS: Upstream Biased Scheme (\protect\np{ln_dynadv_ubs}{ln\_dynadv\_ubs})} 
    523491\label{subsec:DYN_adv_ubs} 
    524492 
     
    527495For example, the evaluation of $u_T^{ubs} $ is done as follows: 
    528496\begin{equation} 
    529   \label{eq:dynadv_ubs} 
     497  \label{eq:DYN_adv_ubs} 
    530498  u_T^{ubs} =\overline u ^i-\;\frac{1}{6} 
    531499  \begin{cases} 
     
    542510But the amplitudes of the false extrema are significantly reduced over those in the centred second order method. 
    543511As the scheme already includes a diffusion component, it can be used without explicit lateral diffusion on momentum 
    544 (\ie\ \np{ln\_dynldf\_lap}\forcode{ = }\np{ln\_dynldf\_bilap}\forcode{ = .false.}), 
     512(\ie\ \np[=]{ln_dynldf_lap}{ln\_dynldf\_lap}\np[=.false.]{ln_dynldf_bilap}{ln\_dynldf\_bilap}), 
    545513and it is recommended to do so. 
    546514 
    547515The UBS scheme is not used in all directions. 
    548516In the vertical, the centred $2^{nd}$ order evaluation of the advection is preferred, \ie\ $u_{uw}^{ubs}$ and 
    549 $u_{vw}^{ubs}$ in \autoref{eq:dynadv_cen2} are used. 
     517$u_{vw}^{ubs}$ in \autoref{eq:DYN_adv_cen2} are used. 
    550518UBS is diffusive and is associated with vertical mixing of momentum. \gmcomment{ gm  pursue the 
    551519sentence:Since vertical mixing of momentum is a source term of the TKE equation...  } 
    552520 
    553 For stability reasons, the first term in (\autoref{eq:dynadv_ubs}), 
     521For stability reasons, the first term in (\autoref{eq:DYN_adv_ubs}), 
    554522which corresponds to a second order centred scheme, is evaluated using the \textit{now} velocity (centred in time), 
    555523while the second term, which is the diffusion part of the scheme, 
     
    559527Note that the UBS and QUICK (Quadratic Upstream Interpolation for Convective Kinematics) schemes only differ by 
    560528one coefficient. 
    561 Replacing $1/6$ by $1/8$ in (\autoref{eq:dynadv_ubs}) leads to the QUICK advection scheme \citep{webb.de-cuevas.ea_JAOT98}. 
     529Replacing $1/6$ by $1/8$ in (\autoref{eq:DYN_adv_ubs}) leads to the QUICK advection scheme \citep{webb.de-cuevas.ea_JAOT98}. 
    562530This option is not available through a namelist parameter, since the $1/6$ coefficient is hard coded. 
    563531Nevertheless it is quite easy to make the substitution in the \mdl{dynadv\_ubs} module and obtain a QUICK scheme. 
     
    566534there is also the possibility of using a $4^{th}$ order evaluation of the advective velocity as in ROMS. 
    567535This is an error and should be suppressed soon. 
    568 %%% 
    569536\gmcomment{action :  this have to be done} 
    570 %%% 
    571  
    572 % ================================================================ 
    573 %           Hydrostatic pressure gradient term 
    574 % ================================================================ 
    575 \section[Hydrostatic pressure gradient (\textit{dynhpg.F90})] 
    576 {Hydrostatic pressure gradient (\protect\mdl{dynhpg})} 
     537 
     538%% ================================================================================================= 
     539\section[Hydrostatic pressure gradient (\textit{dynhpg.F90})]{Hydrostatic pressure gradient (\protect\mdl{dynhpg})} 
    577540\label{sec:DYN_hpg} 
    578 %------------------------------------------nam_dynhpg--------------------------------------------------- 
    579  
    580 \nlst{namdyn_hpg} 
    581 %------------------------------------------------------------------------------------------------------------- 
    582  
    583 Options are defined through the \nam{dyn\_hpg} namelist variables. 
     541 
     542\begin{listing} 
     543  \nlst{namdyn_hpg} 
     544  \caption{\forcode{&namdyn_hpg}} 
     545  \label{lst:namdyn_hpg} 
     546\end{listing} 
     547 
     548Options are defined through the \nam{dyn_hpg}{dyn\_hpg} namelist variables. 
    584549The key distinction between the different algorithms used for 
    585550the hydrostatic pressure gradient is the vertical coordinate used, 
     
    593558At the lateral boundaries either free slip, no slip or partial slip boundary conditions are applied. 
    594559 
    595 %-------------------------------------------------------------------------------------------------------------- 
    596 %           z-coordinate with full step 
    597 %-------------------------------------------------------------------------------------------------------------- 
    598 \subsection[Full step $Z$-coordinate (\forcode{ln_dynhpg_zco = .true.})] 
    599 {Full step $Z$-coordinate (\protect\np{ln\_dynhpg\_zco}\forcode{ = .true.})} 
     560%% ================================================================================================= 
     561\subsection[Full step $Z$-coordinate (\forcode{ln_dynhpg_zco})]{Full step $Z$-coordinate (\protect\np{ln_dynhpg_zco}{ln\_dynhpg\_zco})} 
    600562\label{subsec:DYN_hpg_zco} 
    601563 
     
    607569for $k=km$ (surface layer, $jk=1$ in the code) 
    608570\begin{equation} 
    609   \label{eq:dynhpg_zco_surf} 
     571  \label{eq:DYN_hpg_zco_surf} 
    610572  \left\{ 
    611573    \begin{aligned} 
     
    620582for $1<k<km$ (interior layer) 
    621583\begin{equation} 
    622   \label{eq:dynhpg_zco} 
     584  \label{eq:DYN_hpg_zco} 
    623585  \left\{ 
    624586    \begin{aligned} 
     
    633595\end{equation} 
    634596 
    635 Note that the $1/2$ factor in (\autoref{eq:dynhpg_zco_surf}) is adequate because of the definition of $e_{3w}$ as 
     597Note that the $1/2$ factor in (\autoref{eq:DYN_hpg_zco_surf}) is adequate because of the definition of $e_{3w}$ as 
    636598the vertical derivative of the scale factor at the surface level ($z=0$). 
    637599Note also that in case of variable volume level (\texttt{vvl?} defined), 
    638 the surface pressure gradient is included in \autoref{eq:dynhpg_zco_surf} and 
    639 \autoref{eq:dynhpg_zco} through the space and time variations of the vertical scale factor $e_{3w}$. 
    640  
    641 %-------------------------------------------------------------------------------------------------------------- 
    642 %           z-coordinate with partial step 
    643 %-------------------------------------------------------------------------------------------------------------- 
    644 \subsection[Partial step $Z$-coordinate (\forcode{ln_dynhpg_zps = .true.})] 
    645 {Partial step $Z$-coordinate (\protect\np{ln\_dynhpg\_zps}\forcode{ = .true.})} 
     600the surface pressure gradient is included in \autoref{eq:DYN_hpg_zco_surf} and 
     601\autoref{eq:DYN_hpg_zco} through the space and time variations of the vertical scale factor $e_{3w}$. 
     602 
     603%% ================================================================================================= 
     604\subsection[Partial step $Z$-coordinate (\forcode{ln_dynhpg_zps})]{Partial step $Z$-coordinate (\protect\np{ln_dynhpg_zps}{ln\_dynhpg\_zps})} 
    646605\label{subsec:DYN_hpg_zps} 
    647606 
     
    661620module \mdl{zpsdhe} located in the TRA directory and described in \autoref{sec:TRA_zpshde}. 
    662621 
    663 %-------------------------------------------------------------------------------------------------------------- 
    664 %           s- and s-z-coordinates 
    665 %-------------------------------------------------------------------------------------------------------------- 
     622%% ================================================================================================= 
    666623\subsection{$S$- and $Z$-$S$-coordinates} 
    667624\label{subsec:DYN_hpg_sco} 
     
    672629density Jacobian with cubic polynomial method is currently disabled whilst known bugs are under investigation. 
    673630 
    674 $\bullet$ Traditional coding (see for example \citet{madec.delecluse.ea_JPO96}: (\np{ln\_dynhpg\_sco}\forcode{ = .true.}) 
    675 \begin{equation} 
    676   \label{eq:dynhpg_sco} 
     631$\bullet$ Traditional coding (see for example \citet{madec.delecluse.ea_JPO96}: (\np[=.true.]{ln_dynhpg_sco}{ln\_dynhpg\_sco}) 
     632\begin{equation} 
     633  \label{eq:DYN_hpg_sco} 
    677634  \left\{ 
    678635    \begin{aligned} 
     
    686643 
    687644Where the first term is the pressure gradient along coordinates, 
    688 computed as in \autoref{eq:dynhpg_zco_surf} - \autoref{eq:dynhpg_zco}, 
     645computed as in \autoref{eq:DYN_hpg_zco_surf} - \autoref{eq:DYN_hpg_zco}, 
    689646and $z_T$ is the depth of the $T$-point evaluated from the sum of the vertical scale factors at the $w$-point 
    690647($e_{3w}$). 
    691648 
    692 $\bullet$ Traditional coding with adaptation for ice shelf cavities (\np{ln\_dynhpg\_isf}\forcode{ = .true.}). 
    693 This scheme need the activation of ice shelf cavities (\np{ln\_isfcav}\forcode{ = .true.}). 
    694  
    695 $\bullet$ Pressure Jacobian scheme (prj) (a research paper in preparation) (\np{ln\_dynhpg\_prj}\forcode{ = .true.}) 
     649$\bullet$ Traditional coding with adaptation for ice shelf cavities (\np[=.true.]{ln_dynhpg_isf}{ln\_dynhpg\_isf}). 
     650This scheme need the activation of ice shelf cavities (\np[=.true.]{ln_isfcav}{ln\_isfcav}). 
     651 
     652$\bullet$ Pressure Jacobian scheme (prj) (a research paper in preparation) (\np[=.true.]{ln_dynhpg_prj}{ln\_dynhpg\_prj}) 
    696653 
    697654$\bullet$ Density Jacobian with cubic polynomial scheme (DJC) \citep{shchepetkin.mcwilliams_OM05} 
    698 (\np{ln\_dynhpg\_djc}\forcode{ = .true.}) (currently disabled; under development) 
    699  
    700 Note that expression \autoref{eq:dynhpg_sco} is commonly used when the variable volume formulation is activated 
     655(\np[=.true.]{ln_dynhpg_djc}{ln\_dynhpg\_djc}) (currently disabled; under development) 
     656 
     657Note that expression \autoref{eq:DYN_hpg_sco} is commonly used when the variable volume formulation is activated 
    701658(\texttt{vvl?}) because in that case, even with a flat bottom, 
    702659the coordinate surfaces are not horizontal but follow the free surface \citep{levier.treguier.ea_rpt07}. 
    703 The pressure jacobian scheme (\np{ln\_dynhpg\_prj}\forcode{ = .true.}) is available as 
    704 an improved option to \np{ln\_dynhpg\_sco}\forcode{ = .true.} when \texttt{vvl?} is active. 
     660The pressure jacobian scheme (\np[=.true.]{ln_dynhpg_prj}{ln\_dynhpg\_prj}) is available as 
     661an improved option to \np[=.true.]{ln_dynhpg_sco}{ln\_dynhpg\_sco} when \texttt{vvl?} is active. 
    705662The pressure Jacobian scheme uses a constrained cubic spline to 
    706663reconstruct the density profile across the water column. 
     
    710667This method can provide a more accurate calculation of the horizontal pressure gradient than the standard scheme. 
    711668 
     669%% ================================================================================================= 
    712670\subsection{Ice shelf cavity} 
    713671\label{subsec:DYN_hpg_isf} 
     672 
    714673Beneath an ice shelf, the total pressure gradient is the sum of the pressure gradient due to the ice shelf load and 
    715 the pressure gradient due to the ocean load (\np{ln\_dynhpg\_isf}\forcode{ = .true.}).\\ 
     674the pressure gradient due to the ocean load (\np[=.true.]{ln_dynhpg_isf}{ln\_dynhpg\_isf}).\\ 
    716675 
    717676The main hypothesis to compute the ice shelf load is that the ice shelf is in an isostatic equilibrium. 
     
    722681A detailed description of this method is described in \citet{losch_JGR08}.\\ 
    723682 
    724 The pressure gradient due to ocean load is computed using the expression \autoref{eq:dynhpg_sco} described in 
     683The pressure gradient due to ocean load is computed using the expression \autoref{eq:DYN_hpg_sco} described in 
    725684\autoref{subsec:DYN_hpg_sco}. 
    726685 
    727 %-------------------------------------------------------------------------------------------------------------- 
    728 %           Time-scheme 
    729 %-------------------------------------------------------------------------------------------------------------- 
    730 \subsection[Time-scheme (\forcode{ln_dynhpg_imp = .{true,false}.})] 
    731 {Time-scheme (\protect\np{ln\_dynhpg\_imp}\forcode{ = .\{true,false\}}.)} 
     686%% ================================================================================================= 
     687\subsection[Time-scheme (\forcode{ln_dynhpg_imp})]{Time-scheme (\protect\np{ln_dynhpg_imp}{ln\_dynhpg\_imp})} 
    732688\label{subsec:DYN_hpg_imp} 
    733689 
     
    745701rather than at the central time level $t$ only, as in the standard leapfrog scheme. 
    746702 
    747 $\bullet$ leapfrog scheme (\np{ln\_dynhpg\_imp}\forcode{ = .true.}): 
    748  
    749 \begin{equation} 
    750   \label{eq:dynhpg_lf} 
     703$\bullet$ leapfrog scheme (\np[=.true.]{ln_dynhpg_imp}{ln\_dynhpg\_imp}): 
     704 
     705\begin{equation} 
     706  \label{eq:DYN_hpg_lf} 
    751707  \frac{u^{t+\rdt}-u^{t-\rdt}}{2\rdt} = \;\cdots \; 
    752708  -\frac{1}{\rho_o \,e_{1u} }\delta_{i+1/2} \left[ {p_h^t } \right] 
    753709\end{equation} 
    754710 
    755 $\bullet$ semi-implicit scheme (\np{ln\_dynhpg\_imp}\forcode{ = .true.}): 
    756 \begin{equation} 
    757   \label{eq:dynhpg_imp} 
     711$\bullet$ semi-implicit scheme (\np[=.true.]{ln_dynhpg_imp}{ln\_dynhpg\_imp}): 
     712\begin{equation} 
     713  \label{eq:DYN_hpg_imp} 
    758714  \frac{u^{t+\rdt}-u^{t-\rdt}}{2\rdt} = \;\cdots \; 
    759715  -\frac{1}{4\,\rho_o \,e_{1u} } \delta_{i+1/2} \left[ p_h^{t+\rdt} +2\,p_h^t +p_h^{t-\rdt}  \right] 
    760716\end{equation} 
    761717 
    762 The semi-implicit time scheme \autoref{eq:dynhpg_imp} is made possible without 
     718The semi-implicit time scheme \autoref{eq:DYN_hpg_imp} is made possible without 
    763719significant additional computation since the density can be updated to time level $t+\rdt$ before 
    764720computing the horizontal hydrostatic pressure gradient. 
    765721It can be easily shown that the stability limit associated with the hydrostatic pressure gradient doubles using 
    766 \autoref{eq:dynhpg_imp} compared to that using the standard leapfrog scheme \autoref{eq:dynhpg_lf}. 
    767 Note that \autoref{eq:dynhpg_imp} is equivalent to applying a time filter to the pressure gradient to 
     722\autoref{eq:DYN_hpg_imp} compared to that using the standard leapfrog scheme \autoref{eq:DYN_hpg_lf}. 
     723Note that \autoref{eq:DYN_hpg_imp} is equivalent to applying a time filter to the pressure gradient to 
    768724eliminate high frequency IGWs. 
    769 Obviously, when using \autoref{eq:dynhpg_imp}, 
     725Obviously, when using \autoref{eq:DYN_hpg_imp}, 
    770726the doubling of the time-step is achievable only if no other factors control the time-step, 
    771727such as the stability limits associated with advection or diffusion. 
    772728 
    773 In practice, the semi-implicit scheme is used when \np{ln\_dynhpg\_imp}\forcode{ = .true.}. 
     729In practice, the semi-implicit scheme is used when \np[=.true.]{ln_dynhpg_imp}{ln\_dynhpg\_imp}. 
    774730In this case, we choose to apply the time filter to temperature and salinity used in the equation of state, 
    775731instead of applying it to the hydrostatic pressure or to the density, 
     
    777733The density used to compute the hydrostatic pressure gradient (whatever the formulation) is evaluated as follows: 
    778734\[ 
    779   % \label{eq:rho_flt} 
     735  % \label{eq:DYN_rho_flt} 
    780736  \rho^t = \rho( \widetilde{T},\widetilde {S},z_t) 
    781737  \quad    \text{with}  \quad 
     
    785741Note that in the semi-implicit case, it is necessary to save the filtered density, 
    786742an extra three-dimensional field, in the restart file to restart the model with exact reproducibility. 
    787 This option is controlled by  \np{nn\_dynhpg\_rst}, a namelist parameter. 
    788  
    789 % ================================================================ 
    790 % Surface Pressure Gradient 
    791 % ================================================================ 
    792 \section[Surface pressure gradient (\textit{dynspg.F90})] 
    793 {Surface pressure gradient (\protect\mdl{dynspg})} 
     743This option is controlled by  \np{nn_dynhpg_rst}{nn\_dynhpg\_rst}, a namelist parameter. 
     744 
     745%% ================================================================================================= 
     746\section[Surface pressure gradient (\textit{dynspg.F90})]{Surface pressure gradient (\protect\mdl{dynspg})} 
    794747\label{sec:DYN_spg} 
    795 %-----------------------------------------nam_dynspg---------------------------------------------------- 
    796  
    797 \nlst{namdyn_spg} 
    798 %------------------------------------------------------------------------------------------------------------ 
    799  
    800 Options are defined through the \nam{dyn\_spg} namelist variables. 
    801 The surface pressure gradient term is related to the representation of the free surface (\autoref{sec:PE_hor_pg}). 
     748 
     749\begin{listing} 
     750  \nlst{namdyn_spg} 
     751  \caption{\forcode{&namdyn_spg}} 
     752  \label{lst:namdyn_spg} 
     753\end{listing} 
     754 
     755Options are defined through the \nam{dyn_spg}{dyn\_spg} namelist variables. 
     756The surface pressure gradient term is related to the representation of the free surface (\autoref{sec:MB_hor_pg}). 
    802757The main distinction is between the fixed volume case (linear free surface) and 
    803758the variable volume case (nonlinear free surface, \texttt{vvl?} is defined). 
    804 In the linear free surface case (\autoref{subsec:PE_free_surface}) 
     759In the linear free surface case (\autoref{subsec:MB_free_surface}) 
    805760the vertical scale factors $e_{3}$ are fixed in time, 
    806 while they are time-dependent in the nonlinear case (\autoref{subsec:PE_free_surface}). 
     761while they are time-dependent in the nonlinear case (\autoref{subsec:MB_free_surface}). 
    807762With both linear and nonlinear free surface, external gravity waves are allowed in the equations, 
    808763which imposes a very small time step when an explicit time stepping is used. 
    809764Two methods are proposed to allow a longer time step for the three-dimensional equations: 
    810 the filtered free surface, which is a modification of the continuous equations (see \autoref{eq:PE_flt?}), 
     765the filtered free surface, which is a modification of the continuous equations (see \autoref{eq:MB_flt?}), 
    811766and the split-explicit free surface described below. 
    812767The extra term introduced in the filtered method is calculated implicitly, 
    813768so that the update of the next velocities is done in module \mdl{dynspg\_flt} and not in \mdl{dynnxt}. 
    814769 
    815  
    816770The form of the surface pressure gradient term depends on how the user wants to 
    817 handle the fast external gravity waves that are a solution of the analytical equation (\autoref{sec:PE_hor_pg}). 
     771handle the fast external gravity waves that are a solution of the analytical equation (\autoref{sec:MB_hor_pg}). 
    818772Three formulations are available, all controlled by a CPP key (ln\_dynspg\_xxx): 
    819773an explicit formulation which requires a small time step; 
     
    825779As a consequence the update of the $next$ velocities is done in module \mdl{dynspg\_flt} and not in \mdl{dynnxt}. 
    826780 
    827  
    828 %-------------------------------------------------------------------------------------------------------------- 
    829 % Explicit free surface formulation 
    830 %-------------------------------------------------------------------------------------------------------------- 
    831 \subsection[Explicit free surface (\texttt{ln\_dynspg\_exp}\forcode{ = .true.})] 
    832 {Explicit free surface (\protect\np{ln\_dynspg\_exp}\forcode{ = .true.})} 
     781%% ================================================================================================= 
     782\subsection[Explicit free surface (\forcode{ln_dynspg_exp})]{Explicit free surface (\protect\np{ln_dynspg_exp}{ln\_dynspg\_exp})} 
    833783\label{subsec:DYN_spg_exp} 
    834784 
    835 In the explicit free surface formulation (\np{ln\_dynspg\_exp} set to true), 
     785In the explicit free surface formulation (\np{ln_dynspg_exp}{ln\_dynspg\_exp} set to true), 
    836786the model time step is chosen to be small enough to resolve the external gravity waves 
    837787(typically a few tens of seconds). 
     
    839789is thus simply given by : 
    840790\begin{equation} 
    841   \label{eq:dynspg_exp} 
     791  \label{eq:DYN_spg_exp} 
    842792  \left\{ 
    843793    \begin{aligned} 
     
    853803Thus, nothing is done in the \mdl{dynspg\_exp} module. 
    854804 
    855 %-------------------------------------------------------------------------------------------------------------- 
    856 % Split-explict free surface formulation 
    857 %-------------------------------------------------------------------------------------------------------------- 
    858 \subsection[Split-explicit free surface (\texttt{ln\_dynspg\_ts}\forcode{ = .true.})] 
    859 {Split-explicit free surface (\protect\np{ln\_dynspg\_ts}\forcode{ = .true.})} 
     805%% ================================================================================================= 
     806\subsection[Split-explicit free surface (\forcode{ln_dynspg_ts})]{Split-explicit free surface (\protect\np{ln_dynspg_ts}{ln\_dynspg\_ts})} 
    860807\label{subsec:DYN_spg_ts} 
    861 %------------------------------------------namsplit----------------------------------------------------------- 
    862 % 
    863808%\nlst{namsplit} 
    864 %------------------------------------------------------------------------------------------------------------- 
    865  
    866 The split-explicit free surface formulation used in \NEMO\ (\np{ln\_dynspg\_ts} set to true), 
     809 
     810The split-explicit free surface formulation used in \NEMO\ (\np{ln_dynspg_ts}{ln\_dynspg\_ts} set to true), 
    867811also called the time-splitting formulation, follows the one proposed by \citet{shchepetkin.mcwilliams_OM05}. 
    868812The general idea is to solve the free surface equation and the associated barotropic velocity equations with 
    869813a smaller time step than $\rdt$, the time step used for the three dimensional prognostic variables 
    870 (\autoref{fig:DYN_dynspg_ts}). 
     814(\autoref{fig:DYN_spg_ts}). 
    871815The size of the small time step, $\rdt_e$ (the external mode or barotropic time step) is provided through 
    872 the \np{nn\_baro} namelist parameter as: $\rdt_e = \rdt / nn\_baro$. 
    873 This parameter can be optionally defined automatically (\np{ln\_bt\_nn\_auto}\forcode{ = .true.}) considering that 
     816the \np{nn_baro}{nn\_baro} namelist parameter as: $\rdt_e = \rdt / nn\_baro$. 
     817This parameter can be optionally defined automatically (\np[=.true.]{ln_bt_nn_auto}{ln\_bt\_nn\_auto}) considering that 
    874818the stability of the barotropic system is essentially controled by external waves propagation. 
    875819Maximum Courant number is in that case time independent, and easily computed online from the input bathymetry. 
    876 Therefore, $\rdt_e$ is adjusted so that the Maximum allowed Courant number is smaller than \np{rn\_bt\_cmax}. 
    877  
    878 %%% 
     820Therefore, $\rdt_e$ is adjusted so that the Maximum allowed Courant number is smaller than \np{rn_bt_cmax}{rn\_bt\_cmax}. 
     821 
    879822The barotropic mode solves the following equations: 
    880823% \begin{subequations} 
    881 %  \label{eq:BT} 
    882 \begin{equation} 
    883   \label{eq:BT_dyn} 
     824%  \label{eq:DYN_BT} 
     825\begin{equation} 
     826  \label{eq:DYN_BT_dyn} 
    884827  \frac{\partial {\mathrm \overline{{\mathbf U}}_h} }{\partial t}= 
    885828  -f\;{\mathrm {\mathbf k}}\times {\mathrm \overline{{\mathbf U}}_h} 
     
    887830\end{equation} 
    888831\[ 
    889   % \label{eq:BT_ssh} 
     832  % \label{eq:DYN_BT_ssh} 
    890833  \frac{\partial \eta }{\partial t}=-\nabla \cdot \left[ {\left( {H+\eta } \right) \; {\mathrm{\mathbf \overline{U}}}_h \,} \right]+P-E 
    891834\] 
     
    893836where $\mathrm {\overline{\mathbf G}}$ is a forcing term held constant, containing coupling term between modes, 
    894837surface atmospheric forcing as well as slowly varying barotropic terms not explicitly computed to gain efficiency. 
    895 The third term on the right hand side of \autoref{eq:BT_dyn} represents the bottom stress 
    896 (see section \autoref{sec:ZDF_bfr}), explicitly accounted for at each barotropic iteration. 
     838The third term on the right hand side of \autoref{eq:DYN_BT_dyn} represents the bottom stress 
     839(see section \autoref{sec:ZDF_drg}), explicitly accounted for at each barotropic iteration. 
    897840Temporal discretization of the system above follows a three-time step Generalized Forward Backward algorithm 
    898841detailed in \citet{shchepetkin.mcwilliams_OM05}. 
     
    901844(see their figure 12, lower left). 
    902845 
    903 %>   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   > 
    904846\begin{figure}[!t] 
    905   \begin{center} 
    906     \includegraphics[width=\textwidth]{Fig_DYN_dynspg_ts} 
    907     \caption{ 
    908       \protect\label{fig:DYN_dynspg_ts} 
    909       Schematic of the split-explicit time stepping scheme for the external and internal modes. 
    910       Time increases to the right. In this particular exemple, 
    911       a boxcar averaging window over $nn\_baro$ barotropic time steps is used ($nn\_bt\_flt=1$) and $nn\_baro=5$. 
    912       Internal mode time steps (which are also the model time steps) are denoted by $t-\rdt$, $t$ and $t+\rdt$. 
    913       Variables with $k$ superscript refer to instantaneous barotropic variables, 
    914       $< >$ and $<< >>$ operator refer to time filtered variables using respectively primary (red vertical bars) and 
    915       secondary weights (blue vertical bars). 
    916       The former are used to obtain time filtered quantities at $t+\rdt$ while 
    917       the latter are used to obtain time averaged transports to advect tracers. 
    918       a) Forward time integration: \protect\np{ln\_bt\_fw}\forcode{ = .true.}, 
    919       \protect\np{ln\_bt\_av}\forcode{ = .true.}. 
    920       b) Centred time integration: \protect\np{ln\_bt\_fw}\forcode{ = .false.}, 
    921       \protect\np{ln\_bt\_av}\forcode{ = .true.}. 
    922       c) Forward time integration with no time filtering (POM-like scheme): 
    923       \protect\np{ln\_bt\_fw}\forcode{ = .true.}, \protect\np{ln\_bt\_av}\forcode{ = .false.}. 
    924     } 
    925   \end{center} 
     847  \centering 
     848  \includegraphics[width=0.66\textwidth]{Fig_DYN_dynspg_ts} 
     849  \caption[Split-explicit time stepping scheme for the external and internal modes]{ 
     850    Schematic of the split-explicit time stepping scheme for the external and internal modes. 
     851    Time increases to the right. 
     852    In this particular exemple, 
     853    a boxcar averaging window over \np{nn_baro}{nn\_baro} barotropic time steps is used 
     854    (\np[=1]{nn_bt_flt}{nn\_bt\_flt}) and \np[=5]{nn_baro}{nn\_baro}. 
     855    Internal mode time steps (which are also the model time steps) are denoted by 
     856    $t-\rdt$, $t$ and $t+\rdt$. 
     857    Variables with $k$ superscript refer to instantaneous barotropic variables, 
     858    $< >$ and $<< >>$ operator refer to time filtered variables using respectively primary 
     859    (red vertical bars) and secondary weights (blue vertical bars). 
     860    The former are used to obtain time filtered quantities at $t+\rdt$ while 
     861    the latter are used to obtain time averaged transports to advect tracers. 
     862    a) Forward time integration: 
     863    \protect\np[=.true.]{ln_bt_fw}{ln\_bt\_fw},  \protect\np[=.true.]{ln_bt_av}{ln\_bt\_av}. 
     864    b) Centred time integration: 
     865    \protect\np[=.false.]{ln_bt_fw}{ln\_bt\_fw}, \protect\np[=.true.]{ln_bt_av}{ln\_bt\_av}. 
     866    c) Forward time integration with no time filtering (POM-like scheme): 
     867    \protect\np[=.true.]{ln_bt_fw}{ln\_bt\_fw},  \protect\np[=.false.]{ln_bt_av}{ln\_bt\_av}.} 
     868  \label{fig:DYN_spg_ts} 
    926869\end{figure} 
    927 %>   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   > 
    928  
    929 In the default case (\np{ln\_bt\_fw}\forcode{ = .true.}), 
     870 
     871In the default case (\np[=.true.]{ln_bt_fw}{ln\_bt\_fw}), 
    930872the external mode is integrated between \textit{now} and \textit{after} baroclinic time-steps 
    931 (\autoref{fig:DYN_dynspg_ts}a). 
     873(\autoref{fig:DYN_spg_ts}a). 
    932874To avoid aliasing of fast barotropic motions into three dimensional equations, 
    933 time filtering is eventually applied on barotropic quantities (\np{ln\_bt\_av}\forcode{ = .true.}). 
     875time filtering is eventually applied on barotropic quantities (\np[=.true.]{ln_bt_av}{ln\_bt\_av}). 
    934876In that case, the integration is extended slightly beyond \textit{after} time step to 
    935877provide time filtered quantities. 
     
    938880asselin filtering is not applied to barotropic quantities.\\ 
    939881Alternatively, one can choose to integrate barotropic equations starting from \textit{before} time step 
    940 (\np{ln\_bt\_fw}\forcode{ = .false.}). 
    941 Although more computationaly expensive ( \np{nn\_baro} additional iterations are indeed necessary), 
     882(\np[=.false.]{ln_bt_fw}{ln\_bt\_fw}). 
     883Although more computationaly expensive ( \np{nn_baro}{nn\_baro} additional iterations are indeed necessary), 
    942884the baroclinic to barotropic forcing term given at \textit{now} time step become centred in 
    943885the middle of the integration window. 
     
    946888%references to Patrick Marsaleix' work here. Also work done by SHOM group. 
    947889 
    948 %%% 
    949890 
    950891As far as tracer conservation is concerned, 
     
    960901obtain exact conservation. 
    961902 
    962 %%% 
    963903 
    964904One can eventually choose to feedback instantaneous values by not using any time filter 
    965 (\np{ln\_bt\_av}\forcode{ = .false.}). 
     905(\np[=.false.]{ln_bt_av}{ln\_bt\_av}). 
    966906In that case, external mode equations are continuous in time, 
    967907\ie\ they are not re-initialized when starting a new sub-stepping sequence. 
     
    975915it is still significant as shown by \citet{levier.treguier.ea_rpt07} in the case of an analytical barotropic Kelvin wave. 
    976916 
    977 %>>>>>=============== 
    978917\gmcomment{               %%% copy from griffies Book 
    979918 
     
    10951034}            %%end gm comment (copy of griffies book) 
    10961035 
    1097 %>>>>>=============== 
    1098  
    1099  
    1100 %-------------------------------------------------------------------------------------------------------------- 
    1101 % Filtered free surface formulation 
    1102 %-------------------------------------------------------------------------------------------------------------- 
    1103 \subsection[Filtered free surface (\texttt{dynspg\_flt?})] 
    1104 {Filtered free surface (\protect\texttt{dynspg\_flt?})} 
     1036%% ================================================================================================= 
     1037\subsection{Filtered free surface (\forcode{dynspg_flt?})} 
    11051038\label{subsec:DYN_spg_fltp} 
    11061039 
    11071040The filtered formulation follows the \citet{roullet.madec_JGR00} implementation. 
    1108 The extra term introduced in the equations (see \autoref{subsec:PE_free_surface}) is solved implicitly. 
     1041The extra term introduced in the equations (see \autoref{subsec:MB_free_surface}) is solved implicitly. 
    11091042The elliptic solvers available in the code are documented in \autoref{chap:MISC}. 
    11101043 
     
    11121045\gmcomment{               %%% copy from chap-model basics 
    11131046  \[ 
    1114     % \label{eq:spg_flt} 
     1047    % \label{eq:DYN_spg_flt} 
    11151048    \frac{\partial {\mathrm {\mathbf U}}_h }{\partial t}= {\mathrm {\mathbf M}} 
    11161049    - g \nabla \left( \tilde{\rho} \ \eta \right) 
     
    11201053  $\widetilde{\rho} = \rho / \rho_o$ is the dimensionless density, 
    11211054  and $\mathrm {\mathbf M}$ represents the collected contributions of the Coriolis, hydrostatic pressure gradient, 
    1122   non-linear and viscous terms in \autoref{eq:PE_dyn}. 
     1055  non-linear and viscous terms in \autoref{eq:MB_dyn}. 
    11231056}   %end gmcomment 
    11241057 
     
    11271060It is computed once and for all and applies to all ocean time steps. 
    11281061 
    1129 % ================================================================ 
    1130 % Lateral diffusion term 
    1131 % ================================================================ 
    1132 \section[Lateral diffusion term and operators (\textit{dynldf.F90})] 
    1133 {Lateral diffusion term and operators (\protect\mdl{dynldf})} 
     1062%% ================================================================================================= 
     1063\section[Lateral diffusion term and operators (\textit{dynldf.F90})]{Lateral diffusion term and operators (\protect\mdl{dynldf})} 
    11341064\label{sec:DYN_ldf} 
    1135 %------------------------------------------nam_dynldf---------------------------------------------------- 
    1136  
    1137 \nlst{namdyn_ldf} 
    1138 %------------------------------------------------------------------------------------------------------------- 
    1139  
    1140 Options are defined through the \nam{dyn\_ldf} namelist variables. 
     1065 
     1066\begin{listing} 
     1067  \nlst{namdyn_ldf} 
     1068  \caption{\forcode{&namdyn_ldf}} 
     1069  \label{lst:namdyn_ldf} 
     1070\end{listing} 
     1071 
     1072Options are defined through the \nam{dyn_ldf}{dyn\_ldf} namelist variables. 
    11411073The options available for lateral diffusion are to use either laplacian (rotated or not) or biharmonic operators. 
    11421074The coefficients may be constant or spatially variable; 
     
    11451077\ie\ the velocity appearing in its expression is the \textit{before} velocity in time, 
    11461078except for the pure vertical component that appears when a tensor of rotation is used. 
    1147 This latter term is solved implicitly together with the vertical diffusion term (see \autoref{chap:STP}). 
     1079This latter term is solved implicitly together with the vertical diffusion term (see \autoref{chap:TD}). 
    11481080 
    11491081At the lateral boundaries either free slip, 
     
    11641096} 
    11651097 
    1166 % ================================================================ 
    1167 \subsection[Iso-level laplacian (\forcode{ln_dynldf_lap = .true.})] 
    1168 {Iso-level laplacian operator (\protect\np{ln\_dynldf\_lap}\forcode{ = .true.})} 
     1098%% ================================================================================================= 
     1099\subsection[Iso-level laplacian (\forcode{ln_dynldf_lap})]{Iso-level laplacian operator (\protect\np{ln_dynldf_lap}{ln\_dynldf\_lap})} 
    11691100\label{subsec:DYN_ldf_lap} 
    11701101 
    11711102For lateral iso-level diffusion, the discrete operator is: 
    11721103\begin{equation} 
    1173   \label{eq:dynldf_lap} 
     1104  \label{eq:DYN_ldf_lap} 
    11741105  \left\{ 
    11751106    \begin{aligned} 
     
    11841115\end{equation} 
    11851116 
    1186 As explained in \autoref{subsec:PE_ldf}, 
     1117As explained in \autoref{subsec:MB_ldf}, 
    11871118this formulation (as the gradient of a divergence and curl of the vorticity) preserves symmetry and 
    11881119ensures a complete separation between the vorticity and divergence parts of the momentum diffusion. 
    11891120 
    1190 %-------------------------------------------------------------------------------------------------------------- 
    1191 %           Rotated laplacian operator 
    1192 %-------------------------------------------------------------------------------------------------------------- 
    1193 \subsection[Rotated laplacian (\forcode{ln_dynldf_iso = .true.})] 
    1194 {Rotated laplacian operator (\protect\np{ln\_dynldf\_iso}\forcode{ = .true.})} 
     1121%% ================================================================================================= 
     1122\subsection[Rotated laplacian (\forcode{ln_dynldf_iso})]{Rotated laplacian operator (\protect\np{ln_dynldf_iso}{ln\_dynldf\_iso})} 
    11951123\label{subsec:DYN_ldf_iso} 
    11961124 
    11971125A rotation of the lateral momentum diffusion operator is needed in several cases: 
    1198 for iso-neutral diffusion in the $z$-coordinate (\np{ln\_dynldf\_iso}\forcode{ = .true.}) and 
    1199 for either iso-neutral (\np{ln\_dynldf\_iso}\forcode{ = .true.}) or 
    1200 geopotential (\np{ln\_dynldf\_hor}\forcode{ = .true.}) diffusion in the $s$-coordinate. 
     1126for iso-neutral diffusion in the $z$-coordinate (\np[=.true.]{ln_dynldf_iso}{ln\_dynldf\_iso}) and 
     1127for either iso-neutral (\np[=.true.]{ln_dynldf_iso}{ln\_dynldf\_iso}) or 
     1128geopotential (\np[=.true.]{ln_dynldf_hor}{ln\_dynldf\_hor}) diffusion in the $s$-coordinate. 
    12011129In the partial step case, coordinates are horizontal except at the deepest level and 
    1202 no rotation is performed when \np{ln\_dynldf\_hor}\forcode{ = .true.}. 
     1130no rotation is performed when \np[=.true.]{ln_dynldf_hor}{ln\_dynldf\_hor}. 
    12031131The diffusion operator is defined simply as the divergence of down gradient momentum fluxes on 
    12041132each momentum component. 
     
    12061134The resulting discrete representation is: 
    12071135\begin{equation} 
    1208   \label{eq:dyn_ldf_iso} 
     1136  \label{eq:DYN_ldf_iso} 
    12091137  \begin{split} 
    12101138    D_u^{l\textbf{U}} &= \frac{1}{e_{1u} \, e_{2u} \, e_{3u} } \\ 
     
    12471175The way these slopes are evaluated is given in the lateral physics chapter (\autoref{chap:LDF}). 
    12481176 
    1249 %-------------------------------------------------------------------------------------------------------------- 
    1250 %           Iso-level bilaplacian operator 
    1251 %-------------------------------------------------------------------------------------------------------------- 
    1252 \subsection[Iso-level bilaplacian (\forcode{ln_dynldf_bilap = .true.})] 
    1253 {Iso-level bilaplacian operator (\protect\np{ln\_dynldf\_bilap}\forcode{ = .true.})} 
     1177%% ================================================================================================= 
     1178\subsection[Iso-level bilaplacian (\forcode{ln_dynldf_bilap})]{Iso-level bilaplacian operator (\protect\np{ln_dynldf_bilap}{ln\_dynldf\_bilap})} 
    12541179\label{subsec:DYN_ldf_bilap} 
    12551180 
    1256 The lateral fourth order operator formulation on momentum is obtained by applying \autoref{eq:dynldf_lap} twice. 
     1181The lateral fourth order operator formulation on momentum is obtained by applying \autoref{eq:DYN_ldf_lap} twice. 
    12571182It requires an additional assumption on boundary conditions: 
    12581183the first derivative term normal to the coast depends on the free or no-slip lateral boundary conditions chosen, 
    12591184while the third derivative terms normal to the coast are set to zero (see \autoref{chap:LBC}). 
    1260 %%% 
    12611185\gmcomment{add a remark on the the change in the position of the coefficient} 
    1262 %%% 
    1263  
    1264 % ================================================================ 
    1265 %           Vertical diffusion term 
    1266 % ================================================================ 
    1267 \section[Vertical diffusion term (\textit{dynzdf.F90})] 
    1268 {Vertical diffusion term (\protect\mdl{dynzdf})} 
     1186 
     1187%% ================================================================================================= 
     1188\section[Vertical diffusion term (\textit{dynzdf.F90})]{Vertical diffusion term (\protect\mdl{dynzdf})} 
    12691189\label{sec:DYN_zdf} 
    1270 %----------------------------------------------namzdf------------------------------------------------------ 
    1271  
    1272 \nlst{namzdf} 
    1273 %------------------------------------------------------------------------------------------------------------- 
    1274  
    1275 Options are defined through the \nam{zdf} namelist variables. 
     1190 
     1191Options are defined through the \nam{zdf}{zdf} namelist variables. 
    12761192The large vertical diffusion coefficient found in the surface mixed layer together with high vertical resolution implies that in the case of explicit time stepping there would be too restrictive a constraint on the time step. 
    12771193Two time stepping schemes can be used for the vertical diffusion term: 
    12781194$(a)$ a forward time differencing scheme 
    1279 (\np{ln\_zdfexp}\forcode{ = .true.}) using a time splitting technique (\np{nn\_zdfexp} $>$ 1) or 
    1280 $(b)$ a backward (or implicit) time differencing scheme (\np{ln\_zdfexp}\forcode{ = .false.}) 
    1281 (see \autoref{chap:STP}). 
    1282 Note that namelist variables \np{ln\_zdfexp} and \np{nn\_zdfexp} apply to both tracers and dynamics. 
     1195(\np[=.true.]{ln_zdfexp}{ln\_zdfexp}) using a time splitting technique (\np{nn_zdfexp}{nn\_zdfexp} $>$ 1) or 
     1196$(b)$ a backward (or implicit) time differencing scheme (\np[=.false.]{ln_zdfexp}{ln\_zdfexp}) 
     1197(see \autoref{chap:TD}). 
     1198Note that namelist variables \np{ln_zdfexp}{ln\_zdfexp} and \np{nn_zdfexp}{nn\_zdfexp} apply to both tracers and dynamics. 
    12831199 
    12841200The formulation of the vertical subgrid scale physics is the same whatever the vertical coordinate is. 
    1285 The vertical diffusion operators given by \autoref{eq:PE_zdf} take the following semi-discrete space form: 
    1286 \[ 
    1287   % \label{eq:dynzdf} 
     1201The vertical diffusion operators given by \autoref{eq:MB_zdf} take the following semi-discrete space form: 
     1202\[ 
     1203  % \label{eq:DYN_zdf} 
    12881204  \left\{ 
    12891205    \begin{aligned} 
     
    13031219the vertical turbulent momentum fluxes, 
    13041220\begin{equation} 
    1305   \label{eq:dynzdf_sbc} 
     1221  \label{eq:DYN_zdf_sbc} 
    13061222  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{z=1} 
    13071223  = \frac{1}{\rho_o} \binom{\tau_u}{\tau_v } 
     
    13161232 
    13171233The turbulent flux of momentum at the bottom of the ocean is specified through a bottom friction parameterisation 
    1318 (see \autoref{sec:ZDF_bfr}) 
    1319  
    1320 % ================================================================ 
    1321 % External Forcing 
    1322 % ================================================================ 
     1234(see \autoref{sec:ZDF_drg}) 
     1235 
     1236%% ================================================================================================= 
    13231237\section{External forcings} 
    13241238\label{sec:DYN_forcing} 
     
    13281242three other forcings may enter the dynamical equations by affecting the surface pressure gradient. 
    13291243 
    1330 (1) When \np{ln\_apr\_dyn}\forcode{ = .true.} (see \autoref{sec:SBC_apr}), 
     1244(1) When \np[=.true.]{ln_apr_dyn}{ln\_apr\_dyn} (see \autoref{sec:SBC_apr}), 
    13311245the atmospheric pressure is taken into account when computing the surface pressure gradient. 
    13321246 
    1333 (2) When \np{ln\_tide\_pot}\forcode{ = .true.} and \np{ln\_tide}\forcode{ = .true.} (see \autoref{sec:SBC_tide}), 
     1247(2) When \np[=.true.]{ln_tide_pot}{ln\_tide\_pot} and \np[=.true.]{ln_tide}{ln\_tide} (see \autoref{sec:SBC_tide}), 
    13341248the tidal potential is taken into account when computing the surface pressure gradient. 
    13351249 
    1336 (3) When \np{nn\_ice\_embd}\forcode{ = 2} and LIM or CICE is used 
     1250(3) When \np[=2]{nn_ice_embd}{nn\_ice\_embd} and LIM or CICE is used 
    13371251(\ie\ when the sea-ice is embedded in the ocean), 
    13381252the snow-ice mass is taken into account when computing the surface pressure gradient. 
    13391253 
    1340  
    13411254\gmcomment{ missing : the lateral boundary condition !!!   another external forcing 
    13421255 } 
    13431256 
    1344 % ================================================================ 
    1345 % Wetting and drying 
    1346 % ================================================================ 
     1257%% ================================================================================================= 
    13471258\section{Wetting and drying } 
    13481259\label{sec:DYN_wetdry} 
     1260 
    13491261There are two main options for wetting and drying code (wd): 
    13501262(a) an iterative limiter (il) and (b) a directional limiter (dl). 
     
    13561268by setting $\mathrm{ln\_wd\_dl} = \mathrm{.true.}$ and $\mathrm{ln\_wd\_il} = \mathrm{.false.}$. 
    13571269 
    1358 \nlst{namwad} 
     1270\begin{listing} 
     1271  \nlst{namwad} 
     1272  \caption{\forcode{&namwad}} 
     1273  \label{lst:namwad} 
     1274\end{listing} 
    13591275 
    13601276The following terminology is used. The depth of the topography (positive downwards) 
     
    13911307The final sub-section covers some additional considerations that are relevant to both schemes. 
    13921308 
    1393  
    1394 %----------------------------------------------------------------------------------------- 
    13951309%   Iterative limiters 
    1396 %----------------------------------------------------------------------------------------- 
    1397 \subsection[Directional limiter (\textit{wet\_dry.F90})] 
    1398 {Directional limiter (\mdl{wet\_dry})} 
     1310%% ================================================================================================= 
     1311\subsection[Directional limiter (\textit{wet\_dry.F90})]{Directional limiter (\mdl{wet\_dry})} 
    13991312\label{subsec:DYN_wd_directional_limiter} 
     1313 
    14001314The principal idea of the directional limiter is that 
    1401 water should not be allowed to flow out of a dry tracer cell (i.e. one whose water depth is less than \np{rn\_wdmin1}). 
     1315water should not be allowed to flow out of a dry tracer cell (i.e. one whose water depth is less than \np{rn_wdmin1}{rn\_wdmin1}). 
    14021316 
    14031317All the changes associated with this option are made to the barotropic solver for the non-linear 
     
    14091323 
    14101324The flux across each $u$-face of a tracer cell is multiplied by a factor zuwdmask (an array which depends on ji and jj). 
    1411 If the user sets \np{ln\_wd\_dl\_ramp}\forcode{ = .false.} then zuwdmask is 1 when the 
    1412 flux is from a cell with water depth greater than \np{rn\_wdmin1} and 0 otherwise. If the user sets 
    1413 \np{ln\_wd\_dl\_ramp}\forcode{ = .true.} the flux across the face is ramped down as the water depth decreases 
    1414 from 2 * \np{rn\_wdmin1} to \np{rn\_wdmin1}. The use of this ramp reduced grid-scale noise in idealised test cases. 
     1325If the user sets \np[=.false.]{ln_wd_dl_ramp}{ln\_wd\_dl\_ramp} then zuwdmask is 1 when the 
     1326flux is from a cell with water depth greater than \np{rn_wdmin1}{rn\_wdmin1} and 0 otherwise. If the user sets 
     1327\np[=.true.]{ln_wd_dl_ramp}{ln\_wd\_dl\_ramp} the flux across the face is ramped down as the water depth decreases 
     1328from 2 * \np{rn_wdmin1}{rn\_wdmin1} to \np{rn_wdmin1}{rn\_wdmin1}. The use of this ramp reduced grid-scale noise in idealised test cases. 
    14151329 
    14161330At the point where the flux across a $u$-face is multiplied by zuwdmask , we have chosen 
     
    14221336treatment in the calculation of the flux of mass across the cell face. 
    14231337 
    1424  
    14251338\cite{warner.defne.ea_CG13} state that in their scheme the velocity masks at the cell faces for the baroclinic 
    14261339timesteps are set to 0 or 1 depending on whether the average of the masks over the barotropic sub-steps is respectively less than 
     
    14281341fields (tracers independent of $x$, $y$ and $z$). Our scheme conserves constant tracers because 
    14291342the velocities used at the tracer cell faces on the baroclinic timesteps are carefully calculated by dynspg\_ts 
    1430 to equal their mean value during the barotropic steps. If the user sets \np{ln\_wd\_dl\_bc}\forcode{ = .true.}, the 
     1343to equal their mean value during the barotropic steps. If the user sets \np[=.true.]{ln_wd_dl_bc}{ln\_wd\_dl\_bc}, the 
    14311344baroclinic velocities are also multiplied by a suitably weighted average of zuwdmask. 
    14321345 
    1433 %----------------------------------------------------------------------------------------- 
    14341346%   Iterative limiters 
    1435 %----------------------------------------------------------------------------------------- 
    1436  
    1437 \subsection[Iterative limiter (\textit{wet\_dry.F90})] 
    1438 {Iterative limiter (\mdl{wet\_dry})} 
     1347 
     1348%% ================================================================================================= 
     1349\subsection[Iterative limiter (\textit{wet\_dry.F90})]{Iterative limiter (\mdl{wet\_dry})} 
    14391350\label{subsec:DYN_wd_iterative_limiter} 
    14401351 
    1441 \subsubsection[Iterative flux limiter (\textit{wet\_dry.F90})] 
    1442 {Iterative flux limiter (\mdl{wet\_dry})} 
    1443 \label{subsubsec:DYN_wd_il_spg_limiter} 
     1352%% ================================================================================================= 
     1353\subsubsection[Iterative flux limiter (\textit{wet\_dry.F90})]{Iterative flux limiter (\mdl{wet\_dry})} 
     1354\label{subsec:DYN_wd_il_spg_limiter} 
    14441355 
    14451356The iterative limiter modifies the fluxes across the faces of cells that are either already ``dry'' 
     
    14491360 
    14501361The continuity equation for the total water depth in a column 
    1451 \begin{equation} \label{dyn_wd_continuity} 
    1452  \frac{\partial h}{\partial t} + \mathbf{\nabla.}(h\mathbf{u}) = 0 . 
     1362\begin{equation} 
     1363  \label{eq:DYN_wd_continuity} 
     1364  \frac{\partial h}{\partial t} + \mathbf{\nabla.}(h\mathbf{u}) = 0 . 
    14531365\end{equation} 
    14541366can be written in discrete form  as 
    14551367 
    1456 \begin{align} \label{dyn_wd_continuity_2} 
    1457 \frac{e_1 e_2}{\Delta t} ( h_{i,j}(t_{n+1}) - h_{i,j}(t_e) ) 
    1458 &= - ( \mathrm{flxu}_{i+1,j} - \mathrm{flxu}_{i,j}  + \mathrm{flxv}_{i,j+1} - \mathrm{flxv}_{i,j} ) \\ 
    1459 &= \mathrm{zzflx}_{i,j} . 
     1368\begin{align} 
     1369  \label{eq:DYN_wd_continuity_2} 
     1370  \frac{e_1 e_2}{\Delta t} ( h_{i,j}(t_{n+1}) - h_{i,j}(t_e) ) 
     1371  &= - ( \mathrm{flxu}_{i+1,j} - \mathrm{flxu}_{i,j}  + \mathrm{flxv}_{i,j+1} - \mathrm{flxv}_{i,j} ) \\ 
     1372  &= \mathrm{zzflx}_{i,j} . 
    14601373\end{align} 
    14611374 
     
    14701383(zzflxp) and fluxes that are into the cell (zzflxn).  Clearly 
    14711384 
    1472 \begin{equation} \label{dyn_wd_zzflx_p_n_1} 
    1473 \mathrm{zzflx}_{i,j} = \mathrm{zzflxp}_{i,j} + \mathrm{zzflxn}_{i,j} . 
     1385\begin{equation} 
     1386  \label{eq:DYN_wd_zzflx_p_n_1} 
     1387  \mathrm{zzflx}_{i,j} = \mathrm{zzflxp}_{i,j} + \mathrm{zzflxn}_{i,j} . 
    14741388\end{equation} 
    14751389 
     
    14821396$\mathrm{zcoef}_{i,j}^{(m)}$ such that: 
    14831397 
    1484 \begin{equation} \label{dyn_wd_continuity_coef} 
    1485 \begin{split} 
    1486 \mathrm{zzflxp}^{(m)}_{i,j} =& \mathrm{zcoef}_{i,j}^{(m)} \mathrm{zzflxp}^{(0)}_{i,j} \\ 
    1487 \mathrm{zzflxn}^{(m)}_{i,j} =& \mathrm{zcoef}_{i,j}^{(m)} \mathrm{zzflxn}^{(0)}_{i,j} 
    1488 \end{split} 
     1398\begin{equation} 
     1399  \label{eq:DYN_wd_continuity_coef} 
     1400  \begin{split} 
     1401    \mathrm{zzflxp}^{(m)}_{i,j} =& \mathrm{zcoef}_{i,j}^{(m)} \mathrm{zzflxp}^{(0)}_{i,j} \\ 
     1402    \mathrm{zzflxn}^{(m)}_{i,j} =& \mathrm{zcoef}_{i,j}^{(m)} \mathrm{zzflxn}^{(0)}_{i,j} 
     1403  \end{split} 
    14891404\end{equation} 
    14901405 
     
    14941409The iteration is initialised by setting 
    14951410 
    1496 \begin{equation} \label{dyn_wd_zzflx_initial} 
    1497 \mathrm{zzflxp^{(0)}}_{i,j} = \mathrm{zzflxp}_{i,j} , \quad  \mathrm{zzflxn^{(0)}}_{i,j} = \mathrm{zzflxn}_{i,j} . 
     1411\begin{equation} 
     1412  \label{eq:DYN_wd_zzflx_initial} 
     1413  \mathrm{zzflxp^{(0)}}_{i,j} = \mathrm{zzflxp}_{i,j} , \quad  \mathrm{zzflxn^{(0)}}_{i,j} = \mathrm{zzflxn}_{i,j} . 
    14981414\end{equation} 
    14991415 
    15001416The fluxes out of cell $(i,j)$ are updated at the $m+1$th iteration if the depth of the 
    15011417cell on timestep $t_e$, namely $h_{i,j}(t_e)$, is less than the total flux out of the cell 
    1502 times the timestep divided by the cell area. Using (\ref{dyn_wd_continuity_2}) this 
     1418times the timestep divided by the cell area. Using (\autoref{eq:DYN_wd_continuity_2}) this 
    15031419condition is 
    15041420 
    1505 \begin{equation} \label{dyn_wd_continuity_if} 
    1506 h_{i,j}(t_e)  - \mathrm{rn\_wdmin1} <  \frac{\Delta t}{e_1 e_2} ( \mathrm{zzflxp}^{(m)}_{i,j} + \mathrm{zzflxn}^{(m)}_{i,j} ) . 
    1507 \end{equation} 
    1508  
    1509 Rearranging (\ref{dyn_wd_continuity_if}) we can obtain an expression for the maximum 
     1421\begin{equation} 
     1422  \label{eq:DYN_wd_continuity_if} 
     1423  h_{i,j}(t_e)  - \mathrm{rn\_wdmin1} <  \frac{\Delta t}{e_1 e_2} ( \mathrm{zzflxp}^{(m)}_{i,j} + \mathrm{zzflxn}^{(m)}_{i,j} ) . 
     1424\end{equation} 
     1425 
     1426Rearranging (\autoref{eq:DYN_wd_continuity_if}) we can obtain an expression for the maximum 
    15101427outward flux that can be allowed and still maintain the minimum wet depth: 
    15111428 
    1512 \begin{equation} \label{dyn_wd_max_flux} 
    1513 \begin{split} 
    1514 \mathrm{zzflxp}^{(m+1)}_{i,j} = \Big[ (h_{i,j}(t_e) & - \mathrm{rn\_wdmin1} - \mathrm{rn\_wdmin2})  \frac{e_1 e_2}{\Delta t} \phantom{]} \\ 
    1515 \phantom{[} & -  \mathrm{zzflxn}^{(m)}_{i,j} \Big] 
    1516 \end{split} 
     1429\begin{equation} 
     1430  \label{eq:DYN_wd_max_flux} 
     1431  \begin{split} 
     1432    \mathrm{zzflxp}^{(m+1)}_{i,j} = \Big[ (h_{i,j}(t_e) & - \mathrm{rn\_wdmin1} - \mathrm{rn\_wdmin2})  \frac{e_1 e_2}{\Delta t} \phantom{]} \\ 
     1433    \phantom{[} & -  \mathrm{zzflxn}^{(m)}_{i,j} \Big] 
     1434  \end{split} 
    15171435\end{equation} 
    15181436 
    15191437Note a small tolerance ($\mathrm{rn\_wdmin2}$) has been introduced here {\itshape [Q: Why is 
    1520 this necessary/desirable?]}. Substituting from (\ref{dyn_wd_continuity_coef}) gives an 
     1438this necessary/desirable?]}. Substituting from (\autoref{eq:DYN_wd_continuity_coef}) gives an 
    15211439expression for the coefficient needed to multiply the outward flux at this cell in order 
    15221440to avoid drying. 
    15231441 
    1524 \begin{equation} \label{dyn_wd_continuity_nxtcoef} 
    1525 \begin{split} 
    1526 \mathrm{zcoef}^{(m+1)}_{i,j} = \Big[ (h_{i,j}(t_e) & - \mathrm{rn\_wdmin1} - \mathrm{rn\_wdmin2})  \frac{e_1 e_2}{\Delta t} \phantom{]} \\ 
    1527 \phantom{[} & -  \mathrm{zzflxn}^{(m)}_{i,j} \Big] \frac{1}{ \mathrm{zzflxp}^{(0)}_{i,j} } 
    1528 \end{split} 
     1442\begin{equation} 
     1443  \label{eq:DYN_wd_continuity_nxtcoef} 
     1444  \begin{split} 
     1445    \mathrm{zcoef}^{(m+1)}_{i,j} = \Big[ (h_{i,j}(t_e) & - \mathrm{rn\_wdmin1} - \mathrm{rn\_wdmin2})  \frac{e_1 e_2}{\Delta t} \phantom{]} \\ 
     1446    \phantom{[} & -  \mathrm{zzflxn}^{(m)}_{i,j} \Big] \frac{1}{ \mathrm{zzflxp}^{(0)}_{i,j} } 
     1447  \end{split} 
    15291448\end{equation} 
    15301449 
     
    15411460directional limiter does. 
    15421461 
    1543  
    1544 %---------------------------------------------------------------------------------------- 
    15451462%      Surface pressure gradients 
    1546 %---------------------------------------------------------------------------------------- 
    1547 \subsubsection[Modification of surface pressure gradients (\textit{dynhpg.F90})] 
    1548 {Modification of surface pressure gradients (\mdl{dynhpg})} 
    1549 \label{subsubsec:DYN_wd_il_spg} 
     1463%% ================================================================================================= 
     1464\subsubsection[Modification of surface pressure gradients (\textit{dynhpg.F90})]{Modification of surface pressure gradients (\mdl{dynhpg})} 
     1465\label{subsec:DYN_wd_il_spg} 
    15501466 
    15511467At ``dry'' points the water depth is usually close to $\mathrm{rn\_wdmin1}$. If the 
     
    15601476neighbouring $(i+1,j)$ and $(i,j)$ tracer points.  zcpx is calculated using two logicals 
    15611477variables, $\mathrm{ll\_tmp1}$ and $\mathrm{ll\_tmp2}$ which are evaluated for each grid 
    1562 column.  The three possible combinations are illustrated in figure \ref{Fig_WAD_dynhpg}. 
    1563  
    1564 %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1565 \begin{figure}[!ht] \begin{center} 
    1566 \includegraphics[width=\textwidth]{Fig_WAD_dynhpg} 
    1567 \caption{ \label{Fig_WAD_dynhpg} 
    1568 Illustrations of the three possible combinations of the logical variables controlling the 
    1569 limiting of the horizontal pressure gradient in wetting and drying regimes} 
    1570 \end{center}\end{figure} 
    1571 %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1478column.  The three possible combinations are illustrated in \autoref{fig:DYN_WAD_dynhpg}. 
     1479 
     1480\begin{figure}[!ht] 
     1481  \centering 
     1482  \includegraphics[width=0.66\textwidth]{Fig_WAD_dynhpg} 
     1483  \caption[Combinations controlling the limiting of the horizontal pressure gradient in 
     1484  wetting and drying regimes]{ 
     1485    Three possible combinations of the logical variables controlling the 
     1486    limiting of the horizontal pressure gradient in wetting and drying regimes} 
     1487  \label{fig:DYN_WAD_dynhpg} 
     1488\end{figure} 
    15721489 
    15731490The first logical, $\mathrm{ll\_tmp1}$, is set to true if and only if the water depth at 
     
    15761493of the topography at the two points: 
    15771494 
    1578 \begin{equation} \label{dyn_ll_tmp1} 
    1579 \begin{split} 
    1580 \mathrm{ll\_tmp1}  = & \mathrm{MIN(sshn(ji,jj), sshn(ji+1,jj))} > \\ 
     1495\begin{equation} 
     1496  \label{eq:DYN_ll_tmp1} 
     1497  \begin{split} 
     1498    \mathrm{ll\_tmp1}  = & \mathrm{MIN(sshn(ji,jj), sshn(ji+1,jj))} > \\ 
    15811499                     & \quad \mathrm{MAX(-ht\_wd(ji,jj), -ht\_wd(ji+1,jj))\  .and.} \\ 
    1582 & \mathrm{MAX(sshn(ji,jj) + ht\_wd(ji,jj),} \\ 
    1583 & \mathrm{\phantom{MAX(}sshn(ji+1,jj) + ht\_wd(ji+1,jj))} >\\ 
    1584 & \quad\quad\mathrm{rn\_wdmin1 + rn\_wdmin2 } 
    1585 \end{split} 
     1500                     & \mathrm{MAX(sshn(ji,jj) + ht\_wd(ji,jj),} \\ 
     1501                     & \mathrm{\phantom{MAX(}sshn(ji+1,jj) + ht\_wd(ji+1,jj))} >\\ 
     1502                     & \quad\quad\mathrm{rn\_wdmin1 + rn\_wdmin2 } 
     1503  \end{split} 
    15861504\end{equation} 
    15871505 
     
    15901508at the two points plus $\mathrm{rn\_wdmin1} + \mathrm{rn\_wdmin2}$ 
    15911509 
    1592 \begin{equation} \label{dyn_ll_tmp2} 
    1593 \begin{split} 
    1594 \mathrm{ ll\_tmp2 } = & \mathrm{( ABS( sshn(ji,jj) - sshn(ji+1,jj) ) > 1.E-12 )\ .AND.}\\ 
    1595 & \mathrm{( MAX(sshn(ji,jj), sshn(ji+1,jj)) > } \\ 
    1596 & \mathrm{\phantom{(} MAX(-ht\_wd(ji,jj), -ht\_wd(ji+1,jj)) + rn\_wdmin1 + rn\_wdmin2}) . 
    1597 \end{split} 
     1510\begin{equation} 
     1511  \label{eq:DYN_ll_tmp2} 
     1512  \begin{split} 
     1513    \mathrm{ ll\_tmp2 } = & \mathrm{( ABS( sshn(ji,jj) - sshn(ji+1,jj) ) > 1.E-12 )\ .AND.}\\ 
     1514    & \mathrm{( MAX(sshn(ji,jj), sshn(ji+1,jj)) > } \\ 
     1515    & \mathrm{\phantom{(} MAX(-ht\_wd(ji,jj), -ht\_wd(ji+1,jj)) + rn\_wdmin1 + rn\_wdmin2}) . 
     1516  \end{split} 
    15981517\end{equation} 
    15991518 
     
    16111530conditions. 
    16121531 
    1613 \subsubsection[Additional considerations (\textit{usrdef\_zgr.F90})] 
    1614 {Additional considerations (\mdl{usrdef\_zgr})} 
    1615 \label{subsubsec:WAD_additional} 
     1532%% ================================================================================================= 
     1533\subsubsection[Additional considerations (\textit{usrdef\_zgr.F90})]{Additional considerations (\mdl{usrdef\_zgr})} 
     1534\label{subsec:DYN_WAD_additional} 
    16161535 
    16171536In the very shallow water where wetting and drying occurs the parametrisation of 
     
    16231542in uncoupled integrations the net surface heat fluxes need to be appropriately limited. 
    16241543 
    1625 %---------------------------------------------------------------------------------------- 
    16261544%      The WAD test cases 
    1627 %---------------------------------------------------------------------------------------- 
    1628 \subsection[The WAD test cases (\textit{usrdef\_zgr.F90})] 
    1629 {The WAD test cases (\mdl{usrdef\_zgr})} 
    1630 \label{WAD_test_cases} 
     1545%% ================================================================================================= 
     1546\subsection[The WAD test cases (\textit{usrdef\_zgr.F90})]{The WAD test cases (\mdl{usrdef\_zgr})} 
     1547\label{subsec:DYN_WAD_test_cases} 
    16311548 
    16321549See the WAD tests MY\_DOC documention for details of the WAD test cases. 
    16331550 
    1634  
    1635  
    1636 % ================================================================ 
    1637 % Time evolution term 
    1638 % ================================================================ 
    1639 \section[Time evolution term (\textit{dynnxt.F90})] 
    1640 {Time evolution term (\protect\mdl{dynnxt})} 
     1551%% ================================================================================================= 
     1552\section[Time evolution term (\textit{dynnxt.F90})]{Time evolution term (\protect\mdl{dynnxt})} 
    16411553\label{sec:DYN_nxt} 
    16421554 
    1643 %----------------------------------------------namdom---------------------------------------------------- 
    1644  
    1645 \nlst{namdom} 
    1646 %------------------------------------------------------------------------------------------------------------- 
    1647  
    1648 Options are defined through the \nam{dom} namelist variables. 
     1555Options are defined through the \nam{dom}{dom} namelist variables. 
    16491556The general framework for dynamics time stepping is a leap-frog scheme, 
    1650 \ie\ a three level centred time scheme associated with an Asselin time filter (cf. \autoref{chap:STP}). 
     1557\ie\ a three level centred time scheme associated with an Asselin time filter (cf. \autoref{chap:TD}). 
    16511558The scheme is applied to the velocity, except when 
    16521559using the flux form of momentum advection (cf. \autoref{sec:DYN_adv_cor_flux}) 
    16531560in the variable volume case (\texttt{vvl?} defined), 
    1654 where it has to be applied to the thickness weighted velocity (see \autoref{sec:A_momentum}) 
     1561where it has to be applied to the thickness weighted velocity (see \autoref{sec:SCOORD_momentum}) 
    16551562 
    16561563$\bullet$ vector invariant form or linear free surface 
    1657 (\np{ln\_dynhpg\_vec}\forcode{ = .true.} ; \texttt{vvl?} not defined): 
    1658 \[ 
    1659   % \label{eq:dynnxt_vec} 
     1564(\np[=.true.]{ln_dynhpg_vec}{ln\_dynhpg\_vec} ; \texttt{vvl?} not defined): 
     1565\[ 
     1566  % \label{eq:DYN_nxt_vec} 
    16601567  \left\{ 
    16611568    \begin{aligned} 
     
    16671574 
    16681575$\bullet$ flux form and nonlinear free surface 
    1669 (\np{ln\_dynhpg\_vec}\forcode{ = .false.} ; \texttt{vvl?} defined): 
    1670 \[ 
    1671   % \label{eq:dynnxt_flux} 
     1576(\np[=.false.]{ln_dynhpg_vec}{ln\_dynhpg\_vec} ; \texttt{vvl?} defined): 
     1577\[ 
     1578  % \label{eq:DYN_nxt_flux} 
    16721579  \left\{ 
    16731580    \begin{aligned} 
     
    16801587where RHS is the right hand side of the momentum equation, 
    16811588the subscript $f$ denotes filtered values and $\gamma$ is the Asselin coefficient. 
    1682 $\gamma$ is initialized as \np{nn\_atfp} (namelist parameter). 
    1683 Its default value is \np{nn\_atfp}\forcode{ = 10.e-3}. 
     1589$\gamma$ is initialized as \np{nn_atfp}{nn\_atfp} (namelist parameter). 
     1590Its default value is \np[=10.e-3]{nn_atfp}{nn\_atfp}. 
    16841591In both cases, the modified Asselin filter is not applied since perfect conservation is not an issue for 
    16851592the momentum equations. 
     
    16891596and only array swapping and Asselin filtering is done in \mdl{dynnxt}. 
    16901597 
    1691 % ================================================================ 
    1692 \biblio 
    1693  
    1694 \pindex 
     1598\onlyinsubfile{\input{../../global/epilogue}} 
    16951599 
    16961600\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_LBC.tex

    r11445 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter — Lateral Boundary Condition (LBC) 
    6 % ================================================================ 
     4 
    75\chapter{Lateral Boundary Condition (LBC)} 
    86\label{chap:LBC} 
    97 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
    1111 
    12 \newpage 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
    1326 
    1427%gm% add here introduction to this chapter 
    1528 
    16 % ================================================================ 
    17 % Boundary Condition at the Coast 
    18 % ================================================================ 
    19 \section[Boundary condition at the coast (\texttt{rn\_shlat})] 
    20 {Boundary condition at the coast (\protect\np{rn\_shlat})} 
     29%% ================================================================================================= 
     30\section[Boundary condition at the coast (\forcode{rn_shlat})]{Boundary condition at the coast (\protect\np{rn_shlat}{rn\_shlat})} 
    2131\label{sec:LBC_coast} 
    22 %--------------------------------------------nam_lbc------------------------------------------------------- 
    23  
    24 \nlst{namlbc} 
    25 %-------------------------------------------------------------------------------------------------------------- 
     32 
     33\begin{listing} 
     34  \nlst{namlbc} 
     35  \caption{\forcode{&namlbc}} 
     36  \label{lst:namlbc} 
     37\end{listing} 
    2638 
    2739%The lateral ocean boundary conditions contiguous to coastlines are Neumann conditions for heat and salt 
     
    4052%The process of defining which areas are to be masked is described in \autoref{subsec:DOM_msk}. 
    4153 
    42 Options are defined through the \nam{lbc} namelist variables. 
     54Options are defined through the \nam{lbc}{lbc} namelist variables. 
    4355The discrete representation of a domain with complex boundaries (coastlines and bottom topography) leads to 
    4456arrays that include large portions where a computation is not required as the model variables remain at zero. 
     
    5769 
    5870\[ 
    59   % \label{eq:lbc_aaaa} 
     71  % \label{eq:LBC_aaaa} 
    6072  \frac{A^{lT} }{e_1 }\frac{\partial T}{\partial i}\equiv \frac{A_u^{lT} 
    6173  }{e_{1u} } \; \delta_{i+1 / 2} \left[ T \right]\;\;mask_u 
     
    6577(normal velocity $u$ remains zero at the coast) (\autoref{fig:LBC_uv}). 
    6678 
    67 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    6879\begin{figure}[!t] 
    69   \begin{center} 
    70     \includegraphics[width=\textwidth]{Fig_LBC_uv} 
    71     \caption{ 
    72       \protect\label{fig:LBC_uv} 
    73       Lateral boundary (thick line) at T-level. 
    74       The velocity normal to the boundary is set to zero. 
    75     } 
    76   \end{center} 
     80  \centering 
     81  \includegraphics[width=0.66\textwidth]{Fig_LBC_uv} 
     82  \caption[Lateral boundary at $T$-level]{ 
     83    Lateral boundary (thick line) at T-level. 
     84    The velocity normal to the boundary is set to zero.} 
     85  \label{fig:LBC_uv} 
    7786\end{figure} 
    78 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    7987 
    8088For momentum the situation is a bit more complex as two boundary conditions must be provided along the coast 
     
    9098and is required in order to compute the vorticity at the coast. 
    9199Four different types of lateral boundary condition are available, 
    92 controlled by the value of the \np{rn\_shlat} namelist parameter 
     100controlled by the value of the \np{rn_shlat}{rn\_shlat} namelist parameter 
    93101(The value of the mask$_{f}$ array along the coastline is set equal to this parameter). 
    94102These are: 
    95103 
    96 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    97104\begin{figure}[!p] 
    98   \begin{center} 
    99     \includegraphics[width=\textwidth]{Fig_LBC_shlat} 
    100     \caption{ 
    101       \protect\label{fig:LBC_shlat} 
    102       lateral boundary condition 
    103       (a) free-slip ($rn\_shlat=0$); 
    104       (b) no-slip ($rn\_shlat=2$); 
    105       (c) "partial" free-slip ($0<rn\_shlat<2$) and 
    106       (d) "strong" no-slip ($2<rn\_shlat$). 
    107       Implied "ghost" velocity inside land area is display in grey. 
    108     } 
    109   \end{center} 
     105  \centering 
     106  \includegraphics[width=0.66\textwidth]{Fig_LBC_shlat} 
     107  \caption[Lateral boundary conditions]{ 
     108    Lateral boundary conditions 
     109    (a) free-slip                       (\protect\np[=0]{rn_shlat}{rn\_shlat}); 
     110    (b) no-slip                         (\protect\np[=2]{rn_shlat}{rn\_shlat}); 
     111    (c) "partial" free-slip (\forcode{0<}\protect\np[<2]{rn_shlat}{rn\_shlat}) and 
     112    (d) "strong" no-slip    (\forcode{2<}\protect\np{rn_shlat}{rn\_shlat}). 
     113    Implied "ghost" velocity inside land area is display in grey.} 
     114  \label{fig:LBC_shlat} 
    110115\end{figure} 
    111 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    112116 
    113117\begin{description} 
    114118 
    115 \item[free-slip boundary condition (\np{rn\_shlat}\forcode{ = 0}):] the tangential velocity at 
     119\item [free-slip boundary condition ({\np[=0]{rn_shlat}{rn\_shlat}})] the tangential velocity at 
    116120  the coastline is equal to the offshore velocity, 
    117121  \ie\ the normal derivative of the tangential velocity is zero at the coast, 
     
    119123  (\autoref{fig:LBC_shlat}-a). 
    120124 
    121 \item[no-slip boundary condition (\np{rn\_shlat}\forcode{ = 2}):] the tangential velocity vanishes at the coastline. 
     125\item [no-slip boundary condition ({\np[=2]{rn_shlat}{rn\_shlat}})] the tangential velocity vanishes at the coastline. 
    122126  Assuming that the tangential velocity decreases linearly from 
    123127  the closest ocean velocity grid point to the coastline, 
     
    134138  the no-slip boundary condition, simply by multiplying it by the mask$_{f}$ : 
    135139  \[ 
    136     % \label{eq:lbc_bbbb} 
     140    % \label{eq:LBC_bbbb} 
    137141    \zeta \equiv \frac{1}{e_{1f} {\kern 1pt}e_{2f} }\left( {\delta_{i+1/2} 
    138142        \left[ {e_{2v} \,v} \right]-\delta_{j+1/2} \left[ {e_{1u} \,u} \right]} 
     
    140144  \] 
    141145 
    142 \item["partial" free-slip boundary condition (0$<$\np{rn\_shlat}$<$2):] the tangential velocity at 
     146\item ["partial" free-slip boundary condition (0$<$\np{rn_shlat}{rn\_shlat}$<$2)] the tangential velocity at 
    143147  the coastline is smaller than the offshore velocity, \ie\ there is a lateral friction but 
    144148  not strong enough to make the tangential velocity at the coast vanish (\autoref{fig:LBC_shlat}-c). 
    145149  This can be selected by providing a value of mask$_{f}$ strictly inbetween $0$ and $2$. 
    146150 
    147 \item["strong" no-slip boundary condition (2$<$\np{rn\_shlat}):] the viscous boundary layer is assumed to 
     151\item ["strong" no-slip boundary condition (2$<$\np{rn_shlat}{rn\_shlat})] the viscous boundary layer is assumed to 
    148152  be smaller than half the grid size (\autoref{fig:LBC_shlat}-d). 
    149153  The friction is thus larger than in the no-slip case. 
     
    155159it is only applied next to the coast where the minimum water depth can be quite shallow. 
    156160 
    157  
    158 % ================================================================ 
    159 % Boundary Condition around the Model Domain 
    160 % ================================================================ 
    161 \section[Model domain boundary condition (\texttt{jperio})] 
    162 {Model domain boundary condition (\protect\jp{jperio})} 
     161%% ================================================================================================= 
     162\section[Model domain boundary condition (\forcode{jperio})]{Model domain boundary condition (\protect\jp{jperio})} 
    163163\label{sec:LBC_jperio} 
    164164 
     
    168168The north-fold boundary condition is associated with the 3-pole ORCA mesh. 
    169169 
    170 % ------------------------------------------------------------------------------------------------------------- 
    171 %        Closed, cyclic (\jp{jperio}\forcode{ = 0..2}) 
    172 % ------------------------------------------------------------------------------------------------------------- 
    173 \subsection[Closed, cyclic (\forcode{jperio = [0127]})] 
    174 {Closed, cyclic (\protect\jp{jperio}\forcode{ = [0127]})} 
     170%% ================================================================================================= 
     171\subsection[Closed, cyclic (\forcode{=0,1,2,7})]{Closed, cyclic (\protect\jp{jperio}\forcode{=0,1,2,7})} 
    175172\label{subsec:LBC_jperio012} 
    176173 
    177174The choice of closed or cyclic model domain boundary condition is made by 
    178 setting \jp{jperio} to 0, 1, 2 or 7 in namelist \nam{cfg}. 
     175setting \jp{jperio} to 0, 1, 2 or 7 in namelist \nam{cfg}{cfg}. 
    179176Each time such a boundary condition is needed, it is set by a call to routine \mdl{lbclnk}. 
    180177The computation of momentum and tracer trends proceeds from $i=2$ to $i=jpi-1$ and from $j=2$ to $j=jpj-1$, 
     
    185182\begin{description} 
    186183 
    187 \item[For closed boundary (\jp{jperio}\forcode{ = 0})], 
    188   solid walls are imposed at all model boundaries: 
     184\item [For closed boundary (\jp{jperio}\forcode{=0})], solid walls are imposed at all model boundaries: 
    189185  first and last rows and columns are set to zero. 
    190186 
    191 \item[For cyclic east-west boundary (\jp{jperio}\forcode{ = 1})], 
    192   first and last rows are set to zero (closed) whilst the first column is set to 
     187\item [For cyclic east-west boundary (\jp{jperio}\forcode{=1})], first and last rows are set to zero (closed) whilst the first column is set to 
    193188  the value of the last-but-one column and the last column to the value of the second one 
    194189  (\autoref{fig:LBC_jperio}-a). 
    195190  Whatever flows out of the eastern (western) end of the basin enters the western (eastern) end. 
    196191 
    197 \item[For cyclic north-south boundary (\jp{jperio}\forcode{ = 2})], 
    198   first and last columns are set to zero (closed) whilst the first row is set to 
     192\item [For cyclic north-south boundary (\jp{jperio}\forcode{=2})], first and last columns are set to zero (closed) whilst the first row is set to 
    199193  the value of the last-but-one row and the last row to the value of the second one 
    200194  (\autoref{fig:LBC_jperio}-a). 
    201195  Whatever flows out of the northern (southern) end of the basin enters the southern (northern) end. 
    202196 
    203 \item[Bi-cyclic east-west and north-south boundary (\jp{jperio}\forcode{ = 7})] combines cases 1 and 2. 
     197\item [Bi-cyclic east-west and north-south boundary (\jp{jperio}\forcode{=7})] combines cases 1 and 2. 
    204198 
    205199\end{description} 
    206200 
    207 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    208201\begin{figure}[!t] 
    209   \begin{center} 
    210     \includegraphics[width=\textwidth]{Fig_LBC_jperio} 
    211     \caption{ 
    212       \protect\label{fig:LBC_jperio} 
    213       setting of (a) east-west cyclic  (b) symmetric across the equator boundary conditions. 
    214     } 
    215   \end{center} 
     202  \centering 
     203  \includegraphics[width=0.66\textwidth]{Fig_LBC_jperio} 
     204  \caption[Setting of east-west cyclic and symmetric across the Equator boundary conditions]{ 
     205    Setting of (a) east-west cyclic (b) symmetric across the Equator boundary conditions} 
     206  \label{fig:LBC_jperio} 
    216207\end{figure} 
    217 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    218  
    219 % ------------------------------------------------------------------------------------------------------------- 
    220 %        North fold (\textit{jperio = 3 }to $6)$ 
    221 % ------------------------------------------------------------------------------------------------------------- 
    222 \subsection[North-fold (\forcode{jperio = [3-6]})] 
    223 {North-fold (\protect\jp{jperio}\forcode{ = [3-6]})} 
     208 
     209%% ================================================================================================= 
     210\subsection[North-fold (\forcode{=3,6})]{North-fold (\protect\jp{jperio}\forcode{=3,6})} 
    224211\label{subsec:LBC_north_fold} 
    225212 
    226213The north fold boundary condition has been introduced in order to handle the north boundary of 
    227214a three-polar ORCA grid. 
    228 Such a grid has two poles in the northern hemisphere (\autoref{fig:MISC_ORCA_msh}, 
    229 and thus requires a specific treatment illustrated in \autoref{fig:North_Fold_T}. 
     215Such a grid has two poles in the northern hemisphere (\autoref{fig:CFGS_ORCA_msh}, 
     216and thus requires a specific treatment illustrated in \autoref{fig:LBC_North_Fold_T}. 
    230217Further information can be found in \mdl{lbcnfd} module which applies the north fold boundary condition. 
    231218 
    232 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    233219\begin{figure}[!t] 
    234   \begin{center} 
    235     \includegraphics[width=\textwidth]{Fig_North_Fold_T} 
    236     \caption{ 
    237       \protect\label{fig:North_Fold_T} 
    238       North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($jperio=4$), 
    239       as used in ORCA 2, 1/4, and 1/12. 
    240       Pink shaded area corresponds to the inner domain mask (see text). 
    241     } 
    242   \end{center} 
     220  \centering 
     221  \includegraphics[width=0.66\textwidth]{Fig_North_Fold_T} 
     222  \caption[North fold boundary in ORCA 2\deg, 1/4\deg and 1/12\deg]{ 
     223    North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($jperio=4$), 
     224    as used in ORCA 2\deg, 1/4\deg and 1/12\deg. 
     225    Pink shaded area corresponds to the inner domain mask (see text).} 
     226  \label{fig:LBC_North_Fold_T} 
    243227\end{figure} 
    244 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    245  
    246 % ==================================================================== 
    247 % Exchange with neighbouring processors 
    248 % ==================================================================== 
    249 \section[Exchange with neighbouring processors (\textit{lbclnk.F90}, \textit{lib\_mpp.F90})] 
    250 {Exchange with neighbouring processors (\protect\mdl{lbclnk}, \protect\mdl{lib\_mpp})} 
     228 
     229%% ================================================================================================= 
     230\section[Exchange with neighbouring processors (\textit{lbclnk.F90}, \textit{lib\_mpp.F90})]{Exchange with neighbouring processors (\protect\mdl{lbclnk}, \protect\mdl{lib\_mpp})} 
    251231\label{sec:LBC_mpp} 
    252232 
     233\begin{listing} 
     234  \nlst{nammpp} 
     235  \caption{\forcode{&nammpp}} 
     236  \label{lst:nammpp} 
     237\end{listing} 
     238 
    253239For massively parallel processing (mpp), a domain decomposition method is used. 
    254 The basic idea of the method is to split the large computation domain of a numerical experiment into 
    255 several smaller domains and solve the set of equations by addressing independent local problems. 
     240The basic idea of the method is to split the large computation domain of a numerical experiment into several smaller domains and 
     241solve the set of equations by addressing independent local problems. 
    256242Each processor has its own local memory and computes the model equation over a subdomain of the whole model domain. 
    257 The subdomain boundary conditions are specified through communications between processors which 
    258 are organized by explicit statements (message passing method). 
    259  
    260 A big advantage is that the method does not need many modifications of the initial \fortran code. 
    261 From the modeller's point of view, each sub domain running on a processor is identical to the "mono-domain" code. 
    262 In addition, the programmer manages the communications between subdomains, 
    263 and the code is faster when the number of processors is increased. 
    264 The porting of OPA code on an iPSC860 was achieved during Guyon's PhD [Guyon et al. 1994, 1995] 
    265 in collaboration with CETIIS and ONERA. 
    266 The implementation in the operational context and the studies of performance on 
    267 a T3D and T3E Cray computers have been made in collaboration with IDRIS and CNRS. 
     243The subdomain boundary conditions are specified through communications between processors which are organized by 
     244explicit statements (message passing method). 
    268245The present implementation is largely inspired by Guyon's work [Guyon 1995]. 
    269246 
     
    272249depend at the very most on one neighbouring point. 
    273250The only non-local computations concern the vertical physics 
    274 (implicit diffusion, turbulent closure scheme, ...) (delocalization over the whole water column), 
    275 and the solving of the elliptic equation associated with the surface pressure gradient computation 
    276 (delocalization over the whole horizontal domain). 
     251(implicit diffusion, turbulent closure scheme, ...). 
    277252Therefore, a pencil strategy is used for the data sub-structuration: 
    278253the 3D initial domain is laid out on local processor memories following a 2D horizontal topological splitting. 
     
    284259each processor sends to its neighbouring processors the update values of the points corresponding to 
    285260the interior overlapping area to its neighbouring sub-domain (\ie\ the innermost of the two overlapping rows). 
    286 The communication is done through the Message Passing Interface (MPI). 
     261Communications are first done according to the east-west direction and next according to the north-south direction. 
     262There is no specific communications for the corners. 
     263The communication is done through the Message Passing Interface (MPI) and requires \key{mpp\_mpi}. 
     264Use also \key{mpi2} if MPI3 is not available on your computer. 
    287265The data exchanges between processors are required at the very place where 
    288266lateral domain boundary conditions are set in the mono-domain computation: 
    289267the \rou{lbc\_lnk} routine (found in \mdl{lbclnk} module) which manages such conditions is interfaced with 
    290 routines found in \mdl{lib\_mpp} module when running on an MPP computer (\ie\ when \key{mpp\_mpi} defined). 
    291 It has to be pointed out that when using the MPP version of the model, 
    292 the east-west cyclic boundary condition is done implicitly, 
    293 whilst the south-symmetric boundary condition option is not available. 
    294  
    295 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     268routines found in \mdl{lib\_mpp} module. 
     269The output file \textit{communication\_report.txt} provides the list of which routines do how 
     270many communications during 1 time step of the model.\\ 
     271 
    296272\begin{figure}[!t] 
    297   \begin{center} 
    298     \includegraphics[width=\textwidth]{Fig_mpp} 
    299     \caption{ 
    300       \protect\label{fig:mpp} 
    301       Positioning of a sub-domain when massively parallel processing is used. 
    302     } 
    303   \end{center} 
     273  \centering 
     274  \includegraphics[width=0.66\textwidth]{Fig_mpp} 
     275  \caption{Positioning of a sub-domain when massively parallel processing is used} 
     276  \label{fig:LBC_mpp} 
    304277\end{figure} 
    305 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    306  
    307 In the standard version of \NEMO, the splitting is regular and arithmetic. 
    308 The i-axis is divided by \jp{jpni} and 
    309 the j-axis by \jp{jpnj} for a number of processors \jp{jpnij} most often equal to $jpni \times jpnj$ 
    310 (parameters set in  \nam{mpp} namelist). 
    311 Each processor is independent and without message passing or synchronous process, 
    312 programs run alone and access just its own local memory. 
    313 For this reason, the main model dimensions are now the local dimensions of the subdomain (pencil) that 
    314 are named \jp{jpi}, \jp{jpj}, \jp{jpk}. 
     278 
     279In \NEMO, the splitting is regular and arithmetic. 
     280The total number of subdomains corresponds to the number of MPI processes allocated to \NEMO\ when the model is launched 
     281(\ie\ mpirun -np x ./nemo will automatically give x subdomains). 
     282The i-axis is divided by \np{jpni}{jpni} and the j-axis by \np{jpnj}{jpnj}. 
     283These parameters are defined in \nam{mpp}{mpp} namelist. 
     284If \np{jpni}{jpni} and \np{jpnj}{jpnj} are < 1, they will be automatically redefined in the code to give the best domain decomposition 
     285(see bellow). 
     286 
     287Each processor is independent and without message passing or synchronous process, programs run alone and access just its own local memory. 
     288For this reason, 
     289the main model dimensions are now the local dimensions of the subdomain (pencil) that are named \jp{jpi}, \jp{jpj}, \jp{jpk}. 
    315290These dimensions include the internal domain and the overlapping rows. 
    316 The number of rows to exchange (known as the halo) is usually set to one (\jp{jpreci}=1, in \mdl{par\_oce}). 
     291The number of rows to exchange (known as the halo) is usually set to one (nn\_hls=1, in \mdl{par\_oce}, 
     292and must be kept to one until further notice). 
    317293The whole domain dimensions are named \jp{jpiglo}, \jp{jpjglo} and \jp{jpk}. 
    318294The relationship between the whole domain and a sub-domain is: 
    319 \[ 
    320   jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci 
    321   jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj 
    322 \] 
    323 where \jp{jpni}, \jp{jpnj} are the number of processors following the i- and j-axis. 
    324  
    325 One also defines variables nldi and nlei which correspond to the internal domain bounds, 
    326 and the variables nimpp and njmpp which are the position of the (1,1) grid-point in the global domain. 
     295\begin{gather*} 
     296  jpi = ( jpiglo-2\times nn\_hls + (jpni-1) ) / jpni + 2\times nn\_hls \\ 
     297  jpj = ( jpjglo-2\times nn\_hls + (jpnj-1) ) / jpnj + 2\times nn\_hls 
     298\end{gather*} 
     299 
     300One also defines variables nldi and nlei which correspond to the internal domain bounds, and the variables nimpp and njmpp which are the position of the (1,1) grid-point in the global domain (\autoref{fig:LBC_mpp}). Note that since the version 4, there is no more extra-halo area as defined in \autoref{fig:LBC_mpp} so \jp{jpi} is now always equal to nlci and \jp{jpj} equal to nlcj. 
     301 
    327302An element of $T_{l}$, a local array (subdomain) corresponds to an element of $T_{g}$, 
    328303a global array (whole domain) by the relationship: 
    329304\[ 
    330   % \label{eq:lbc_nimpp} 
     305  % \label{eq:LBC_nimpp} 
    331306  T_{g} (i+nimpp-1,j+njmpp-1,k) = T_{l} (i,j,k), 
    332307\] 
    333 with  $1 \leq i \leq jpi$, $1  \leq j \leq jpj $ , and  $1  \leq k \leq jpk$. 
    334  
    335 Processors are numbered from 0 to $jpnij-1$, the number is saved in the variable nproc. 
    336 In the standard version, a processor has no more than 
    337 four neighbouring processors named nono (for north), noea (east), noso (south) and nowe (west) and 
    338 two variables, nbondi and nbondj, indicate the relative position of the processor: 
    339 \begin{itemize} 
    340 \item       nbondi = -1    an east neighbour, no west processor, 
    341 \item       nbondi =  0 an east neighbour, a west neighbour, 
    342 \item       nbondi =  1    no east processor, a west neighbour, 
    343 \item       nbondi =  2    no splitting following the i-axis. 
    344 \end{itemize} 
    345 During the simulation, processors exchange data with their neighbours. 
    346 If there is effectively a neighbour, the processor receives variables from this processor on its overlapping row, 
    347 and sends the data issued from internal domain corresponding to the overlapping row of the other processor. 
    348  
    349  
    350 The \NEMO\ model computes equation terms with the help of mask arrays (0 on land points and 1 on sea points). 
    351 It is easily readable and very efficient in the context of a computer with vectorial architecture. 
    352 However, in the case of a scalar processor, computations over the land regions become more expensive in 
    353 terms of CPU time. 
    354 It is worse when we use a complex configuration with a realistic bathymetry like the global ocean where 
    355 more than 50 \% of points are land points. 
    356 For this reason, a pre-processing tool can be used to choose the mpp domain decomposition with a maximum number of 
    357 only land points processors, which can then be eliminated (\autoref{fig:mppini2}) 
    358 (For example, the mpp\_optimiz tools, available from the DRAKKAR web site). 
    359 This optimisation is dependent on the specific bathymetry employed. 
    360 The user then chooses optimal parameters \jp{jpni}, \jp{jpnj} and \jp{jpnij} with $jpnij < jpni \times jpnj$, 
    361 leading to the elimination of $jpni \times jpnj - jpnij$ land processors. 
    362 When those parameters are specified in \nam{mpp} namelist, 
    363 the algorithm in the \rou{inimpp2} routine sets each processor's parameters (nbound, nono, noea,...) so that 
    364 the land-only processors are not taken into account. 
    365  
    366 \gmcomment{Note that the inimpp2 routine is general so that the original inimpp 
    367 routine should be suppressed from the code.} 
    368  
    369 When land processors are eliminated, 
    370 the value corresponding to these locations in the model output files is undefined. 
    371 Note that this is a problem for the meshmask file which requires to be defined over the whole domain. 
    372 Therefore, user should not eliminate land processors when creating a meshmask file 
    373 (\ie\ when setting a non-zero value to \np{nn\_msh}). 
    374  
    375 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     308with $1 \leq i \leq jpi$, $1  \leq j \leq jpj $ , and  $1  \leq k \leq jpk$. 
     309 
     310The 1-d arrays $mig(1:\jp{jpi})$ and $mjg(1:\jp{jpj})$, defined in \rou{dom\_glo} routine (\mdl{domain} module), should be used to get global domain indices from local domain indices. The 1-d arrays, $mi0(1:\jp{jpiglo})$, $mi1(1:\jp{jpiglo})$ and $mj0(1:\jp{jpjglo})$, $mj1(1:\jp{jpjglo})$ have the reverse purpose and should be used to define loop indices expressed in global domain indices (see examples in \mdl{dtastd} module).\\ 
     311 
     312The \NEMO\ model computes equation terms with the help of mask arrays (0 on land points and 1 on sea points). It is therefore possible that an MPI subdomain contains only land points. To save ressources, we try to supress from the computational domain as much land subdomains as possible. For example if $N_{mpi}$ processes are allocated to NEMO, the domain decomposition will be given by the following equation: 
     313\[ 
     314  N_{mpi} = jpni \times jpnj - N_{land} + N_{useless} 
     315\] 
     316$N_{land}$ is the total number of land subdomains in the domain decomposition defined by \np{jpni}{jpni} and \np{jpnj}{jpnj}. $N_{useless}$ is the number of land subdomains that are kept in the compuational domain in order to make sure that $N_{mpi}$ MPI processes are indeed allocated to a given subdomain. The values of $N_{mpi}$, \np{jpni}{jpni}, \np{jpnj}{jpnj},  $N_{land}$ and $N_{useless}$ are printed in the output file \texttt{ocean.output}. $N_{useless}$ must, of course, be as small as possible to limit the waste of ressources. A warning is issued in  \texttt{ocean.output} if $N_{useless}$ is not zero. Note that non-zero value of $N_{useless}$ is uselly required when using AGRIF as, up to now, the parent grid and each of the child grids must use all the $N_{mpi}$ processes. 
     317 
     318If the domain decomposition is automatically defined (when \np{jpni}{jpni} and \np{jpnj}{jpnj} are < 1), the decomposition chosen by the model will minimise the sub-domain size (defined as $max_{all domains}(jpi \times jpj)$) and maximize the number of eliminated land subdomains. This means that no other domain decomposition (a set of \np{jpni}{jpni} and \np{jpnj}{jpnj} values) will use less processes than $(jpni  \times  jpnj - N_{land})$ and get a smaller subdomain size. 
     319In order to specify $N_{mpi}$ properly (minimize $N_{useless}$), you must run the model once with \np{ln_list}{ln\_list} activated. In this case, the model will start the initialisation phase, print the list of optimum decompositions ($N_{mpi}$, \np{jpni}{jpni} and \np{jpnj}{jpnj}) in \texttt{ocean.output} and directly abort. The maximum value of $N_{mpi}$ tested in this list is given by $max(N_{MPI\_tasks}, jpni \times jpnj)$. For example, run the model on 40 nodes with ln\_list activated and $jpni = 10000$ and $jpnj = 1$, will print the list of optimum domains decomposition from 1 to about 10000. 
     320 
     321Processors are numbered from 0 to $N_{mpi} - 1$. Subdomains containning some ocean points are numbered first from 0 to $jpni * jpnj - N_{land} -1$. The remaining $N_{useless}$ land subdomains are numbered next, which means that, for a given (\np{jpni}{jpni}, \np{jpnj}{jpnj}), the numbers attributed to he ocean subdomains do not vary with $N_{useless}$. 
     322 
     323When land processors are eliminated, the value corresponding to these locations in the model output files is undefined. \np{ln_mskland}{ln\_mskland} must be activated in order avoid Not a Number values in output files. Note that it is better to not eliminate land processors when creating a meshmask file (\ie\ when setting a non-zero value to \np{nn_msh}{nn\_msh}). 
     324 
    376325\begin{figure}[!ht] 
    377   \begin{center} 
    378     \includegraphics[width=\textwidth]{Fig_mppini2} 
    379     \caption { 
    380       \protect\label{fig:mppini2} 
    381       Example of Atlantic domain defined for the CLIPPER projet. 
    382       Initial grid is composed of 773 x 1236 horizontal points. 
    383       (a) the domain is split onto 9 \time 20 subdomains (jpni=9, jpnj=20). 
    384       52 subdomains are land areas. 
    385       (b) 52 subdomains are eliminated (white rectangles) and 
    386       the resulting number of processors really used during the computation is jpnij=128. 
    387     } 
    388   \end{center} 
     326  \centering 
     327  \includegraphics[width=0.66\textwidth]{Fig_mppini2} 
     328  \caption[Atlantic domain defined for the CLIPPER projet]{ 
     329    Example of Atlantic domain defined for the CLIPPER projet. 
     330    Initial grid is composed of 773 x 1236 horizontal points. 
     331    (a) the domain is split onto 9 $times$ 20 subdomains (jpni=9, jpnj=20). 
     332    52 subdomains are land areas. 
     333    (b) 52 subdomains are eliminated (white rectangles) and 
     334    the resulting number of processors really used during the computation is jpnij=128.} 
     335  \label{fig:LBC_mppini2} 
    389336\end{figure} 
    390 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    391  
    392  
    393 % ==================================================================== 
    394 % Unstructured open boundaries BDY 
    395 % ==================================================================== 
     337 
     338%% ================================================================================================= 
    396339\section{Unstructured open boundary conditions (BDY)} 
    397340\label{sec:LBC_bdy} 
    398341 
    399 %-----------------------------------------nambdy-------------------------------------------- 
    400  
    401 \nlst{nambdy} 
    402 %----------------------------------------------------------------------------------------------- 
    403 %-----------------------------------------nambdy_dta-------------------------------------------- 
    404  
    405 \nlst{nambdy_dta} 
    406 %----------------------------------------------------------------------------------------------- 
    407  
    408 Options are defined through the \nam{bdy} \nam{bdy\_dta} namelist variables. 
     342\begin{listing} 
     343  \nlst{nambdy} 
     344  \caption{\forcode{&nambdy}} 
     345  \label{lst:nambdy} 
     346\end{listing} 
     347 
     348\begin{listing} 
     349  \nlst{nambdy_dta} 
     350  \caption{\forcode{&nambdy_dta}} 
     351  \label{lst:nambdy_dta} 
     352\end{listing} 
     353 
     354Options are defined through the \nam{bdy}{bdy} and \nam{bdy_dta}{bdy\_dta} namelist variables. 
    409355The BDY module is the core implementation of open boundary conditions for regional configurations on 
    410 temperature, salinity, barotropic and baroclinic velocities, as well as ice concentration, ice and snow thicknesses. 
     356ocean temperature, salinity, barotropic-baroclinic velocities, ice-snow concentration, thicknesses, temperatures, salinity and melt ponds concentration and thickness. 
    411357 
    412358The BDY module was modelled on the OBC module (see \NEMO\ 3.4) and shares many features and 
     
    417363See the section on the Input Boundary Data Files for details. 
    418364 
    419 %---------------------------------------------- 
     365%% ================================================================================================= 
    420366\subsection{Namelists} 
    421 \label{subsec:BDY_namelist} 
    422  
    423 The BDY module is activated by setting \np{ln\_bdy}\forcode{ = .true.} . 
     367\label{subsec:LBC_bdy_namelist} 
     368 
     369The BDY module is activated by setting \np[=.true.]{ln_bdy}{ln\_bdy} . 
    424370It is possible to define more than one boundary ``set'' and apply different boundary conditions to each set. 
    425 The number of boundary sets is defined by \np{nb\_bdy}. 
    426 Each boundary set may be defined as a set of straight line segments in a namelist 
    427 (\np{ln\_coords\_file}\forcode{ = .false.}) or read in from a file (\np{ln\_coords\_file}\forcode{ = .true.}). 
    428 If the set is defined in a namelist, then the namelists \nam{bdy\_index} must be included separately, one for each set. 
    429 If the set is defined by a file, then a ``\ifile{coordinates.bdy}'' file must be provided. 
     371The number of boundary sets is defined by \np{nb_bdy}{nb\_bdy}. 
     372Each boundary set can be either defined as a series of straight line segments directly in the namelist 
     373(\np[=.false.]{ln_coords_file}{ln\_coords\_file}, and a namelist block \nam{bdy_index}{bdy\_index} must be included for each set) or read in from a file (\np[=.true.]{ln_coords_file}{ln\_coords\_file}, and a ``\ifile{coordinates.bdy}'' file must be provided). 
    430374The coordinates.bdy file is analagous to the usual \NEMO\ ``\ifile{coordinates}'' file. 
    431375In the example above, there are two boundary sets, the first of which is defined via a file and 
    432 the second is defined in a namelist. 
    433 For more details of the definition of the boundary geometry see section \autoref{subsec:BDY_geometry}. 
     376the second is defined in the namelist. 
     377For more details of the definition of the boundary geometry see section \autoref{subsec:LBC_bdy_geometry}. 
    434378 
    435379For each boundary set a boundary condition has to be chosen for the barotropic solution 
    436380(``u2d'':sea-surface height and barotropic velocities), for the baroclinic velocities (``u3d''), 
    437 for the active tracers \footnote{The BDY module does not deal with passive tracers at this version} (``tra''), and sea-ice (``ice''). 
    438 For each set of variables there is a choice of algorithm and a choice for the data, 
    439 eg. for the active tracers the algorithm is set by \np{cn\_tra} and the choice of data is set by \np{nn\_tra\_dta}.\\ 
     381for the active tracers \footnote{The BDY module does not deal with passive tracers at this version} (``tra''), and for sea-ice (``ice''). 
     382For each set of variables one has to choose an algorithm and the boundary data (set resp. by \np{cn_tra}{cn\_tra} and \np{nn_tra_dta}{nn\_tra\_dta} for tracers).\\ 
    440383 
    441384The choice of algorithm is currently as follows: 
    442385 
    443386\begin{description} 
    444 \item[\forcode{'none'}:] No boundary condition applied. 
     387\item [\forcode{'none'}:] No boundary condition applied. 
    445388  So the solution will ``see'' the land points around the edge of the edge of the domain. 
    446 \item[\forcode{'specified'}:] Specified boundary condition applied (only available for baroclinic velocity and tracer variables). 
    447 \item[\forcode{'neumann'}:] Value at the boundary are duplicated (No gradient). Only available for baroclinic velocity and tracer variables. 
    448 \item[\forcode{'frs'}:] Flow Relaxation Scheme (FRS) available for all variables. 
    449 \item[\forcode{'Orlanski'}:] Orlanski radiation scheme (fully oblique) for barotropic, baroclinic and tracer variables. 
    450 \item[\forcode{'Orlanski_npo'}:] Orlanski radiation scheme for barotropic, baroclinic and tracer variables. 
    451 \item[\forcode{'flather'}:] Flather radiation scheme for the barotropic variables only. 
     389\item [\forcode{'specified'}:] Specified boundary condition applied (only available for baroclinic velocity and tracer variables). 
     390\item [\forcode{'neumann'}:] Value at the boundary are duplicated (No gradient). Only available for baroclinic velocity and tracer variables. 
     391\item [\forcode{'frs'}:] Flow Relaxation Scheme (FRS) available for all variables. 
     392\item [\forcode{'Orlanski'}:] Orlanski radiation scheme (fully oblique) for barotropic, baroclinic and tracer variables. 
     393\item [\forcode{'Orlanski_npo'}:] Orlanski radiation scheme for barotropic, baroclinic and tracer variables. 
     394\item [\forcode{'flather'}:] Flather radiation scheme for the barotropic variables only. 
    452395\end{description} 
    453396 
    454 The main choice for the boundary data is to use initial conditions as boundary data 
    455 (\np{nn\_tra\_dta}\forcode{ = 0}) or to use external data from a file (\np{nn\_tra\_dta}\forcode{ = 1}). 
     397The boundary data is either set to initial conditions 
     398(\np[=0]{nn_tra_dta}{nn\_tra\_dta}) or forced with external data from a file (\np[=1]{nn_tra_dta}{nn\_tra\_dta}). 
    456399In case the 3d velocity data contain the total velocity (ie, baroclinic and barotropic velocity), 
    457 the bdy code can derived baroclinic and barotropic velocities by setting \np{ln\_full\_vel}\forcode{ = .true. } 
     400the bdy code can derived baroclinic and barotropic velocities by setting \np[=.true.]{ln_full_vel}{ln\_full\_vel} 
    458401For the barotropic solution there is also the option to use tidal harmonic forcing either by 
    459 itself (\np{nn\_dyn2d\_dta}\forcode{ = 2}) or in addition to other external data (\np{nn\_dyn2d\_dta}\forcode{ = 3}).\\ 
    460 Sea-ice salinity, temperature and age data at the boundary are constant and defined repectively by \np{rn\_ice\_sal}, \np{rn\_ice\_tem} and \np{rn\_ice\_age}. 
    461  
    462 If external boundary data is required then the \nam{bdy\_dta} namelist must be defined. 
    463 One \nam{bdy\_dta} namelist is required for each boundary set, adopting the same order of indexes in which the boundary sets are defined in nambdy. 
    464 In the example given, two boundary sets have been defined. The first one is reading data file in the \nam{bdy\_dta} namelist shown above 
     402itself (\np[=2]{nn_dyn2d_dta}{nn\_dyn2d\_dta}) or in addition to other external data (\np[=3]{nn_dyn2d_dta}{nn\_dyn2d\_dta}).\\ 
     403If not set to initial conditions, sea-ice salinity, temperatures and melt ponds data at the boundary can either be read in a file or defined as constant (by \np{rn_ice_sal}{rn\_ice\_sal}, \np{rn_ice_tem}{rn\_ice\_tem}, \np{rn_ice_apnd}{rn\_ice\_apnd}, \np{rn_ice_hpnd}{rn\_ice\_hpnd}). Ice age is constant and defined by \np{rn_ice_age}{rn\_ice\_age}. 
     404 
     405If external boundary data is required then the \nam{bdy_dta}{bdy\_dta} namelist must be defined. 
     406One \nam{bdy_dta}{bdy\_dta} namelist is required for each boundary set, adopting the same order of indexes in which the boundary sets are defined in nambdy. 
     407In the example given, two boundary sets have been defined. The first one is reading data file in the \nam{bdy_dta}{bdy\_dta} namelist shown above 
    465408and the second one is using data from intial condition (no namelist block needed). 
    466409The boundary data is read in using the fldread module, 
    467 so the \nam{bdy\_dta} namelist is in the format required for fldread. 
     410so the \nam{bdy_dta}{bdy\_dta} namelist is in the format required for fldread. 
    468411For each required variable, the filename, the frequency of the files and 
    469412the frequency of the data in the files are given. 
    470 Also whether or not time-interpolation is required and whether the data is climatological (time-cyclic) data.\\ 
     413Also whether or not time-interpolation is required and whether the data is climatological (time-cyclic) data. 
     414For sea-ice salinity, temperatures and melt ponds, reading the files are skipped and constant values are used if filenames are defined as {'NOT USED'}.\\ 
    471415 
    472416There is currently an option to vertically interpolate the open boundary data onto the native grid at run-time. 
    473 If \np{nn\_bdy\_jpk} $< -1$, it is assumed that the lateral boundary data are already on the native grid. 
    474 However, if \np{nn\_bdy\_jpk} is set to the number of vertical levels present in the boundary data, 
     417If \np{nn_bdy_jpk}{nn\_bdy\_jpk}$<-1$, it is assumed that the lateral boundary data are already on the native grid. 
     418However, if \np{nn_bdy_jpk}{nn\_bdy\_jpk} is set to the number of vertical levels present in the boundary data, 
    475419a bilinear interpolation onto the native grid will be triggered at runtime. 
    476420For this to be successful the additional variables: $gdept$, $gdepu$, $gdepv$, $e3t$, $e3u$ and $e3v$, are required to be present in the lateral boundary files. 
     
    486430FRS conditions are applied on temperature and salinity and climatological data is read from initial condition files. 
    487431 
    488 %---------------------------------------------- 
     432%% ================================================================================================= 
    489433\subsection{Flow relaxation scheme} 
    490 \label{subsec:BDY_FRS_scheme} 
     434\label{subsec:LBC_bdy_FRS_scheme} 
    491435 
    492436The Flow Relaxation Scheme (FRS) \citep{davies_QJRMS76,engedahl_T95}, 
     
    495439Given a model prognostic variable $\Phi$ 
    496440\[ 
    497   % \label{eq:bdy_frs1} 
     441  % \label{eq:LBC_bdy_frs1} 
    498442  \Phi(d) = \alpha(d)\Phi_{e}(d) + (1-\alpha(d))\Phi_{m}(d)\;\;\;\;\; d=1,N 
    499443\] 
     
    504448the prognostic equation for $\Phi$ of the form: 
    505449\[ 
    506   % \label{eq:bdy_frs2} 
     450  % \label{eq:LBC_bdy_frs2} 
    507451  -\frac{1}{\tau}\left(\Phi - \Phi_{e}\right) 
    508452\] 
    509453where the relaxation time scale $\tau$ is given by a function of $\alpha$ and the model time step $\Delta t$: 
    510454\[ 
    511   % \label{eq:bdy_frs3} 
     455  % \label{eq:LBC_bdy_frs3} 
    512456  \tau = \frac{1-\alpha}{\alpha}  \,\rdt 
    513457\] 
     
    519463The function $\alpha$ is specified as a $tanh$ function: 
    520464\[ 
    521   % \label{eq:bdy_frs4} 
     465  % \label{eq:LBC_bdy_frs4} 
    522466  \alpha(d) = 1 - \tanh\left(\frac{d-1}{2}\right),       \quad d=1,N 
    523467\] 
    524 The width of the FRS zone is specified in the namelist as \np{nn\_rimwidth}. 
     468The width of the FRS zone is specified in the namelist as \np{nn_rimwidth}{nn\_rimwidth}. 
    525469This is typically set to a value between 8 and 10. 
    526470 
    527 %---------------------------------------------- 
     471%% ================================================================================================= 
    528472\subsection{Flather radiation scheme} 
    529 \label{subsec:BDY_flather_scheme} 
     473\label{subsec:LBC_bdy_flather_scheme} 
    530474 
    531475The \citet{flather_JPO94} scheme is a radiation condition on the normal, 
    532476depth-mean transport across the open boundary. 
    533477It takes the form 
    534 \begin{equation}  \label{eq:bdy_fla1} 
    535 U = U_{e} + \frac{c}{h}\left(\eta - \eta_{e}\right), 
     478\begin{equation} 
     479  \label{eq:LBC_bdy_fla1} 
     480  U = U_{e} + \frac{c}{h}\left(\eta - \eta_{e}\right), 
    536481\end{equation} 
    537482where $U$ is the depth-mean velocity normal to the boundary and $\eta$ is the sea surface height, 
     
    542487the external depth-mean normal velocity, 
    543488plus a correction term that allows gravity waves generated internally to exit the model boundary. 
    544 Note that the sea-surface height gradient in \autoref{eq:bdy_fla1} is a spatial gradient across the model boundary, 
     489Note that the sea-surface height gradient in \autoref{eq:LBC_bdy_fla1} is a spatial gradient across the model boundary, 
    545490so that $\eta_{e}$ is defined on the $T$ points with $nbr=1$ and $\eta$ is defined on the $T$ points with $nbr=2$. 
    546491$U$ and $U_{e}$ are defined on the $U$ or $V$ points with $nbr=1$, \ie\ between the two $T$ grid points. 
    547492 
    548 %---------------------------------------------- 
     493%% ================================================================================================= 
    549494\subsection{Orlanski radiation scheme} 
    550 \label{subsec:BDY_orlanski_scheme} 
     495\label{subsec:LBC_bdy_orlanski_scheme} 
    551496 
    552497The Orlanski scheme is based on the algorithm described by \citep{marchesiello.mcwilliams.ea_OM01}, hereafter MMS. 
     
    554499The adaptive Orlanski condition solves a wave plus relaxation equation at the boundary: 
    555500\begin{equation} 
    556 \frac{\partial\phi}{\partial t} + c_x \frac{\partial\phi}{\partial x} + c_y \frac{\partial\phi}{\partial y} = 
    557                                                 -\frac{1}{\tau}(\phi - \phi^{ext}) 
    558 \label{eq:wave_continuous} 
     501  \label{eq:LBC_wave_continuous} 
     502  \frac{\partial\phi}{\partial t} + c_x \frac{\partial\phi}{\partial x} + c_y \frac{\partial\phi}{\partial y} = 
     503  -\frac{1}{\tau}(\phi - \phi^{ext}) 
    559504\end{equation} 
    560505 
     
    562507velocities are diagnosed from the model fields as: 
    563508 
    564 \begin{equation} \label{eq:cx} 
    565 c_x = -\frac{\partial\phi}{\partial t}\frac{\partial\phi / \partial x}{(\partial\phi /\partial x)^2 + (\partial\phi /\partial y)^2} 
     509\begin{equation} 
     510  \label{eq:LBC_cx} 
     511  c_x = -\frac{\partial\phi}{\partial t}\frac{\partial\phi / \partial x}{(\partial\phi /\partial x)^2 + (\partial\phi /\partial y)^2} 
    566512\end{equation} 
    567513\begin{equation} 
    568 \label{eq:cy} 
    569 c_y = -\frac{\partial\phi}{\partial t}\frac{\partial\phi / \partial y}{(\partial\phi /\partial x)^2 + (\partial\phi /\partial y)^2} 
     514  \label{eq:LBC_cy} 
     515  c_y = -\frac{\partial\phi}{\partial t}\frac{\partial\phi / \partial y}{(\partial\phi /\partial x)^2 + (\partial\phi /\partial y)^2} 
    570516\end{equation} 
    571517 
    572518(As noted by MMS, this is a circular diagnosis of the phase speeds which only makes sense on a discrete grid). 
    573 Equation (\autoref{eq:wave_continuous}) is defined adaptively depending on the sign of the phase velocity normal to the boundary $c_x$. 
     519Equation (\autoref{eq:LBC_wave_continuous}) is defined adaptively depending on the sign of the phase velocity normal to the boundary $c_x$. 
    574520For $c_x$ outward, we have 
    575521 
     
    581527 
    582528\begin{equation} 
    583 \tau = \tau_{in}\,\,\,;\,\,\, c_x = c_y = 0 
    584 \label{eq:tau_in} 
     529  \label{eq:LBC_tau_in} 
     530  \tau = \tau_{in}\,\,\,;\,\,\, c_x = c_y = 0 
    585531\end{equation} 
    586532 
    587 Generally the relaxation time scale at inward propagation points (\np{rn\_time\_dmp}) is set much shorter than the time scale at outward propagation 
    588 points (\np{rn\_time\_dmp\_out}) so that the solution is constrained more strongly by the external data at inward propagation points. 
    589 See \autoref{subsec:BDY_relaxation} for detailed on the spatial shape of the scaling.\\ 
     533Generally the relaxation time scale at inward propagation points (\np{rn_time_dmp}{rn\_time\_dmp}) is set much shorter than the time scale at outward propagation 
     534points (\np{rn_time_dmp_out}{rn\_time\_dmp\_out}) so that the solution is constrained more strongly by the external data at inward propagation points. 
     535See \autoref{subsec:LBC_bdy_relaxation} for detailed on the spatial shape of the scaling.\\ 
    590536The ``normal propagation of oblique radiation'' or NPO approximation (called \forcode{'orlanski_npo'}) involves assuming 
    591 that $c_y$ is zero in equation (\autoref{eq:wave_continuous}), but including 
    592 this term in the denominator of equation (\autoref{eq:cx}). Both versions of the scheme are options in BDY. Equations 
    593 (\autoref{eq:wave_continuous}) - (\autoref{eq:tau_in}) correspond to equations (13) - (15) and (2) - (3) in MMS.\\ 
    594  
    595 %---------------------------------------------- 
     537that $c_y$ is zero in equation (\autoref{eq:LBC_wave_continuous}), but including 
     538this term in the denominator of equation (\autoref{eq:LBC_cx}). Both versions of the scheme are options in BDY. Equations 
     539(\autoref{eq:LBC_wave_continuous}) - (\autoref{eq:LBC_tau_in}) correspond to equations (13) - (15) and (2) - (3) in MMS.\\ 
     540 
     541%% ================================================================================================= 
    596542\subsection{Relaxation at the boundary} 
    597 \label{subsec:BDY_relaxation} 
    598  
    599 In addition to a specific boundary condition specified as \np{cn\_tra} and \np{cn\_dyn3d}, relaxation on baroclinic velocities and tracers variables are available. 
    600 It is control by the namelist parameter \np{ln\_tra\_dmp} and \np{ln\_dyn3d\_dmp} for each boundary set. 
    601  
    602 The relaxation time scale value (\np{rn\_time\_dmp} and \np{rn\_time\_dmp\_out}, $\tau$) are defined at the boundaries itself. 
    603 This time scale ($\alpha$) is weighted by the distance ($d$) from the boundary over \np{nn\_rimwidth} cells ($N$): 
     543\label{subsec:LBC_bdy_relaxation} 
     544 
     545In addition to a specific boundary condition specified as \np{cn_tra}{cn\_tra} and \np{cn_dyn3d}{cn\_dyn3d}, relaxation on baroclinic velocities and tracers variables are available. 
     546It is control by the namelist parameter \np{ln_tra_dmp}{ln\_tra\_dmp} and \np{ln_dyn3d_dmp}{ln\_dyn3d\_dmp} for each boundary set. 
     547 
     548The relaxation time scale value (\np{rn_time_dmp}{rn\_time\_dmp} and \np{rn_time_dmp_out}{rn\_time\_dmp\_out}, $\tau$) are defined at the boundaries itself. 
     549This time scale ($\alpha$) is weighted by the distance ($d$) from the boundary over \np{nn_rimwidth}{nn\_rimwidth} cells ($N$): 
    604550 
    605551\[ 
     
    609555The same scaling is applied in the Orlanski damping. 
    610556 
    611 %---------------------------------------------- 
     557%% ================================================================================================= 
    612558\subsection{Boundary geometry} 
    613 \label{subsec:BDY_geometry} 
     559\label{subsec:LBC_bdy_geometry} 
    614560 
    615561Each open boundary set is defined as a list of points. 
     
    620566the boundary point is increasingly further away from the edge of the model domain. 
    621567A set of $nbi$, $nbj$, and $nbr$ arrays is defined for each of the $T$, $U$ and $V$ grids. 
    622 Figure \autoref{fig:LBC_bdy_geom} shows an example of an irregular boundary. 
     568\autoref{fig:LBC_bdy_geom} shows an example of an irregular boundary. 
    623569 
    624570The boundary geometry for each set may be defined in a namelist nambdy\_index or 
     
    630576\jp{jpinft} give the start and end $i$ indices for each segment with similar for the other boundaries. 
    631577These segments define a list of $T$ grid points along the outermost row of the boundary ($nbr\,=\, 1$). 
    632 The code deduces the $U$ and $V$ points and also the points for $nbr\,>\, 1$ if \np{nn\_rimwidth}\forcode{ > 1}. 
     578The code deduces the $U$ and $V$ points and also the points for $nbr\,>\, 1$ if \np[>1]{nn_rimwidth}{nn\_rimwidth}. 
    633579 
    634580The boundary geometry may also be defined from a ``\ifile{coordinates.bdy}'' file. 
    635 Figure \autoref{fig:LBC_nc_header} gives an example of the header information from such a file, based on the description of geometrical setup given above. 
     581\autoref{fig:LBC_nc_header} gives an example of the header information from such a file, based on the description of geometrical setup given above. 
    636582The file should contain the index arrays for each of the $T$, $U$ and $V$ grids. 
    637583The arrays must be in order of increasing $nbr$. 
     
    645591For example, if an open boundary is defined along an isobath, say at the shelf break, 
    646592then the areas of ocean outside of this boundary will need to be masked out. 
    647 This can be done by reading a mask file defined as \np{cn\_mask\_file} in the nam\_bdy namelist. 
     593This can be done by reading a mask file defined as \np{cn_mask_file}{cn\_mask\_file} in the nam\_bdy namelist. 
    648594Only one mask file is used even if multiple boundary sets are defined. 
    649595 
    650 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    651596\begin{figure}[!t] 
    652   \begin{center} 
    653     \includegraphics[width=\textwidth]{Fig_LBC_bdy_geom} 
    654     \caption { 
    655       \protect\label{fig:LBC_bdy_geom} 
    656       Example of geometry of unstructured open boundary 
    657     } 
    658   \end{center} 
     597  \centering 
     598  \includegraphics[width=0.66\textwidth]{Fig_LBC_bdy_geom} 
     599  \caption[Geometry of unstructured open boundary]{Example of geometry of unstructured open boundary} 
     600  \label{fig:LBC_bdy_geom} 
    659601\end{figure} 
    660 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    661  
    662 %---------------------------------------------- 
     602 
     603%% ================================================================================================= 
    663604\subsection{Input boundary data files} 
    664 \label{subsec:BDY_data} 
     605\label{subsec:LBC_bdy_data} 
    665606 
    666607The data files contain the data arrays in the order in which the points are defined in the $nbi$ and $nbj$ arrays. 
     
    685626These restrictions mean that data files used with versions of the 
    686627model prior to Version 3.4 may not work with Version 3.4 onwards. 
    687 A \fortran utility {\itshape bdy\_reorder} exists in the TOOLS directory which 
     628A \fortran\ utility {\itshape bdy\_reorder} exists in the TOOLS directory which 
    688629will re-order the data in old BDY data files. 
    689630 
    690 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    691631\begin{figure}[!t] 
    692   \begin{center} 
    693     \includegraphics[width=\textwidth]{Fig_LBC_nc_header} 
    694     \caption { 
    695       \protect\label{fig:LBC_nc_header} 
    696       Example of the header for a \protect\ifile{coordinates.bdy} file 
    697     } 
    698   \end{center} 
     632  \centering 
     633  \includegraphics[width=0.66\textwidth]{Fig_LBC_nc_header} 
     634  \caption[Header for a \protect\ifile{coordinates.bdy} file]{ 
     635    Example of the header for a \protect\ifile{coordinates.bdy} file} 
     636  \label{fig:LBC_nc_header} 
    699637\end{figure} 
    700 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    701  
    702 %---------------------------------------------- 
     638 
     639%% ================================================================================================= 
    703640\subsection{Volume correction} 
    704 \label{subsec:BDY_vol_corr} 
     641\label{subsec:LBC_bdy_vol_corr} 
    705642 
    706643There is an option to force the total volume in the regional model to be constant. 
    707 This is controlled  by the \np{ln\_vol} parameter in the namelist. 
    708 A value of \np{ln\_vol}\forcode{ = .false.} indicates that this option is not used. 
    709 Two options to control the volume are available (\np{nn\_volctl}). 
    710 If \np{nn\_volctl}\forcode{ = 0} then a correction is applied to the normal barotropic velocities around the boundary at 
     644This is controlled  by the \np{ln_vol}{ln\_vol} parameter in the namelist. 
     645A value of \np[=.false.]{ln_vol}{ln\_vol} indicates that this option is not used. 
     646Two options to control the volume are available (\np{nn_volctl}{nn\_volctl}). 
     647If \np[=0]{nn_volctl}{nn\_volctl} then a correction is applied to the normal barotropic velocities around the boundary at 
    711648each timestep to ensure that the integrated volume flow through the boundary is zero. 
    712 If \np{nn\_volctl}\forcode{ = 1} then the calculation of the volume change on 
     649If \np[=1]{nn_volctl}{nn\_volctl} then the calculation of the volume change on 
    713650the timestep includes the change due to the freshwater flux across the surface and 
    714651the correction velocity corrects for this as well. 
     
    717654applied to all boundaries at once. 
    718655 
    719 %---------------------------------------------- 
     656%% ================================================================================================= 
    720657\subsection{Tidal harmonic forcing} 
    721 \label{subsec:BDY_tides} 
    722  
    723 %-----------------------------------------nambdy_tide-------------------------------------------- 
    724  
    725 \nlst{nambdy_tide} 
    726 %----------------------------------------------------------------------------------------------- 
     658\label{subsec:LBC_bdy_tides} 
     659 
     660\begin{listing} 
     661  \nlst{nambdy_tide} 
     662  \caption{\forcode{&nambdy_tide}} 
     663  \label{lst:nambdy_tide} 
     664\end{listing} 
    727665 
    728666Tidal forcing at open boundaries requires the activation of surface 
    729 tides (i.e., in \nam{\_tide}, \np{ln\_tide} needs to be set to 
     667tides (i.e., in \nam{_tide}{\_tide}, \np{ln_tide}{ln\_tide} needs to be set to 
    730668\forcode{.true.} and the required constituents need to be activated by 
    731 including their names in the \np{clname} array; see 
     669including their names in the \np{clname}{clname} array; see 
    732670\autoref{sec:SBC_tide}). Specific options related to the reading in of 
    733671the complex harmonic amplitudes of elevation (SSH) and barotropic 
    734672velocity (u,v) at open boundaries are defined through the 
    735 \nam{bdy\_tide} namelist parameters.\\ 
     673\nam{bdy_tide}{bdy\_tide} namelist parameters.\\ 
    736674 
    737675The tidal harmonic data at open boundaries can be specified in two 
    738676different ways, either on a two-dimensional grid covering the entire 
    739677model domain or along open boundary segments; these two variants can 
    740 be selected by setting \np{ln\_bdytide\_2ddta } to \forcode{.true.} or 
     678be selected by setting \np{ln_bdytide_2ddta }{ln\_bdytide\_2ddta } to \forcode{.true.} or 
    741679\forcode{.false.}, respectively. In either case, the real and 
    742680imaginary parts of SSH and the two barotropic velocity components for 
     
    744682separately: when two-dimensional data is used, variables 
    745683\textit{tcname\_z1} and \textit{tcname\_z2} for real and imaginary SSH, 
    746 respectively, are expected in input file \np{filtide} with suffix 
     684respectively, are expected in input file \np{filtide}{filtide} with suffix 
    747685\ifile{\_grid\_T}, variables \textit{tcname\_u1} and 
    748686\textit{tcname\_u2} for real and imaginary u, respectively, are 
    749 expected in input file \np{filtide} with suffix \ifile{\_grid\_U}, and 
     687expected in input file \np{filtide}{filtide} with suffix \ifile{\_grid\_U}, and 
    750688\textit{tcname\_v1} and \textit{tcname\_v2} for real and imaginary v, 
    751 respectively, are expected in input file \np{filtide} with suffix 
     689respectively, are expected in input file \np{filtide}{filtide} with suffix 
    752690\ifile{\_grid\_V}; when data along open boundary segments is used, 
    753691variables \textit{z1} and \textit{z2} (real and imaginary part of SSH) 
    754 are expected to be available from file \np{filtide} with suffix 
     692are expected to be available from file \np{filtide}{filtide} with suffix 
    755693\ifile{tcname\_grid\_T}, variables \textit{u1} and \textit{u2} (real 
    756694and imaginary part of u) are expected to be available from file 
    757 \np{filtide} with suffix \ifile{tcname\_grid\_U}, and variables 
     695\np{filtide}{filtide} with suffix \ifile{tcname\_grid\_U}, and variables 
    758696\textit{v1} and \textit{v2} (real and imaginary part of v) are 
    759 expected to be available from file \np{filtide} with suffix 
    760 \ifile{tcname\_grid\_V}. If \np{ln\_bdytide\_conj} is set to 
     697expected to be available from file \np{filtide}{filtide} with suffix 
     698\ifile{tcname\_grid\_V}. If \np{ln_bdytide_conj}{ln\_bdytide\_conj} is set to 
    761699\forcode{.true.}, the data is expected to be in complex conjugate 
    762700form. 
     
    770708direction of rotation). %, e.g. anticlockwise or clockwise. 
    771709 
    772 \biblio 
    773  
    774 \pindex 
     710\onlyinsubfile{\input{../../global/epilogue}} 
    775711 
    776712\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_LDF.tex

    r11435 r11799  
    33\begin{document} 
    44 
    5 % ================================================================ 
    6 % Chapter Lateral Ocean Physics (LDF) 
    7 % ================================================================ 
    85\chapter{Lateral Ocean Physics (LDF)} 
    96\label{chap:LDF} 
    107 
     8\thispagestyle{plain} 
     9 
    1110\chaptertoc 
    1211 
    13 \newpage 
    14  
    15 The lateral physics terms in the momentum and tracer equations have been described in \autoref{eq:PE_zdf} and 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
     26 
     27The lateral physics terms in the momentum and tracer equations have been described in \autoref{eq:MB_zdf} and 
    1628their discrete formulation in \autoref{sec:TRA_ldf} and \autoref{sec:DYN_ldf}). 
    1729In this section we further discuss each lateral physics option. 
     
    2234(3) the space and time variations of the eddy coefficients. 
    2335These three aspects of the lateral diffusion are set through namelist parameters 
    24 (see the \nam{tra\_ldf} and \nam{dyn\_ldf} below). 
    25 Note that this chapter describes the standard implementation of iso-neutral tracer mixing.  
    26 Griffies's implementation, which is used if \np{ln\_traldf\_triad}\forcode{ = .true.}, 
    27 is described in \autoref{apdx:triad} 
    28  
    29 %-----------------------------------namtra_ldf - namdyn_ldf-------------------------------------------- 
    30  
    31 \nlst{namtra_ldf}  
    32  
    33 \nlst{namdyn_ldf}  
    34 %-------------------------------------------------------------------------------------------------------------- 
    35  
    36 % ================================================================ 
    37 % Lateral Mixing Operator 
    38 % ================================================================ 
    39 \section[Lateral mixing operators] 
    40 {Lateral mixing operators} 
     36(see the \nam{tra_ldf}{tra\_ldf} and \nam{dyn_ldf}{dyn\_ldf} below). 
     37Note that this chapter describes the standard implementation of iso-neutral tracer mixing. 
     38Griffies's implementation, which is used if \np[=.true.]{ln_traldf_triad}{ln\_traldf\_triad}, 
     39is described in \autoref{apdx:TRIADS} 
     40 
     41%% ================================================================================================= 
     42\section[Lateral mixing operators]{Lateral mixing operators} 
    4143\label{sec:LDF_op} 
    4244We remind here the different lateral mixing operators that can be used. Further details can be found in \autoref{subsec:TRA_ldf_op} and  \autoref{sec:DYN_ldf}. 
    4345 
    44 \subsection[No lateral mixing (\forcode{ln_traldf_OFF}, \forcode{ln_dynldf_OFF})] 
    45 {No lateral mixing (\protect\np{ln\_traldf\_OFF}, \protect\np{ln\_dynldf\_OFF})} 
    46  
    47 It is possible to run without explicit lateral diffusion on tracers (\protect\np{ln\_traldf\_OFF}\forcode{ = .true.}) and/or  
    48 momentum (\protect\np{ln\_dynldf\_OFF}\forcode{ = .true.}). The latter option is even recommended if using the  
    49 UBS advection scheme on momentum (\np{ln\_dynadv\_ubs}\forcode{ = .true.}, 
     46%% ================================================================================================= 
     47\subsection[No lateral mixing (\forcode{ln_traldf_OFF} \& \forcode{ln_dynldf_OFF})]{No lateral mixing (\protect\np{ln_traldf_OFF}{ln\_traldf\_OFF} \& \protect\np{ln_dynldf_OFF}{ln\_dynldf\_OFF})} 
     48 
     49It is possible to run without explicit lateral diffusion on tracers (\protect\np[=.true.]{ln_traldf_OFF}{ln\_traldf\_OFF}) and/or 
     50momentum (\protect\np[=.true.]{ln_dynldf_OFF}{ln\_dynldf\_OFF}). The latter option is even recommended if using the 
     51UBS advection scheme on momentum (\np[=.true.]{ln_dynadv_ubs}{ln\_dynadv\_ubs}, 
    5052see \autoref{subsec:DYN_adv_ubs}) and can be useful for testing purposes. 
    5153 
    52 \subsection[Laplacian mixing (\forcode{ln_traldf_lap}, \forcode{ln_dynldf_lap})] 
    53 {Laplacian mixing (\protect\np{ln\_traldf\_lap}, \protect\np{ln\_dynldf\_lap})} 
    54 Setting \protect\np{ln\_traldf\_lap}\forcode{ = .true.} and/or \protect\np{ln\_dynldf\_lap}\forcode{ = .true.} enables  
    55 a second order diffusion on tracers and momentum respectively. Note that in \NEMO\ 4, one can not combine  
     54%% ================================================================================================= 
     55\subsection[Laplacian mixing (\forcode{ln_traldf_lap} \& \forcode{ln_dynldf_lap})]{Laplacian mixing (\protect\np{ln_traldf_lap}{ln\_traldf\_lap} \& \protect\np{ln_dynldf_lap}{ln\_dynldf\_lap})} 
     56Setting \protect\np[=.true.]{ln_traldf_lap}{ln\_traldf\_lap} and/or \protect\np[=.true.]{ln_dynldf_lap}{ln\_dynldf\_lap} enables 
     57a second order diffusion on tracers and momentum respectively. Note that in \NEMO\ 4, one can not combine 
    5658Laplacian and Bilaplacian operators for the same variable. 
    5759 
    58 \subsection[Bilaplacian mixing (\forcode{ln_traldf_blp}, \forcode{ln_dynldf_blp})] 
    59 {Bilaplacian mixing (\protect\np{ln\_traldf\_blp}, \protect\np{ln\_dynldf\_blp})} 
    60 Setting \protect\np{ln\_traldf\_blp}\forcode{ = .true.} and/or \protect\np{ln\_dynldf\_blp}\forcode{ = .true.} enables  
    61 a fourth order diffusion on tracers and momentum respectively. It is implemented by calling the above Laplacian operator twice.  
     60%% ================================================================================================= 
     61\subsection[Bilaplacian mixing (\forcode{ln_traldf_blp} \& \forcode{ln_dynldf_blp})]{Bilaplacian mixing (\protect\np{ln_traldf_blp}{ln\_traldf\_blp} \& \protect\np{ln_dynldf_blp}{ln\_dynldf\_blp})} 
     62Setting \protect\np[=.true.]{ln_traldf_blp}{ln\_traldf\_blp} and/or \protect\np[=.true.]{ln_dynldf_blp}{ln\_dynldf\_blp} enables 
     63a fourth order diffusion on tracers and momentum respectively. It is implemented by calling the above Laplacian operator twice. 
    6264We stress again that from \NEMO\ 4, the simultaneous use Laplacian and Bilaplacian operators is not allowed. 
    6365 
    64 % ================================================================ 
    65 % Direction of lateral Mixing 
    66 % ================================================================ 
    67 \section[Direction of lateral mixing (\textit{ldfslp.F90})] 
    68 {Direction of lateral mixing (\protect\mdl{ldfslp})} 
     66%% ================================================================================================= 
     67\section[Direction of lateral mixing (\textit{ldfslp.F90})]{Direction of lateral mixing (\protect\mdl{ldfslp})} 
    6968\label{sec:LDF_slp} 
    7069 
    71 %%% 
    7270\gmcomment{ 
    7371  we should emphasize here that the implementation is a rather old one. 
     
    7775A direction for lateral mixing has to be defined when the desired operator does not act along the model levels. 
    7876This occurs when $(a)$ horizontal mixing is required on tracer or momentum 
    79 (\np{ln\_traldf\_hor} or \np{ln\_dynldf\_hor}) in $s$- or mixed $s$-$z$- coordinates, 
     77(\np{ln_traldf_hor}{ln\_traldf\_hor} or \np{ln_dynldf_hor}{ln\_dynldf\_hor}) in $s$- or mixed $s$-$z$- coordinates, 
    8078and $(b)$ isoneutral mixing is required whatever the vertical coordinate is. 
    8179This direction of mixing is defined by its slopes in the \textbf{i}- and \textbf{j}-directions at the face of 
    8280the cell of the quantity to be diffused. 
    8381For a tracer, this leads to the following four slopes: 
    84 $r_{1u}$, $r_{1w}$, $r_{2v}$, $r_{2w}$ (see \autoref{eq:tra_ldf_iso}), 
     82$r_{1u}$, $r_{1w}$, $r_{2v}$, $r_{2w}$ (see \autoref{eq:TRA_ldf_iso}), 
    8583while for momentum the slopes are  $r_{1t}$, $r_{1uw}$, $r_{2f}$, $r_{2uw}$ for $u$ and 
    86 $r_{1f}$, $r_{1vw}$, $r_{2t}$, $r_{2vw}$ for $v$.  
     84$r_{1f}$, $r_{1vw}$, $r_{2t}$, $r_{2vw}$ for $v$. 
    8785 
    8886%gm% add here afigure of the slope in i-direction 
    8987 
     88%% ================================================================================================= 
    9089\subsection{Slopes for tracer geopotential mixing in the $s$-coordinate} 
    9190 
    9291In $s$-coordinates, geopotential mixing (\ie\ horizontal mixing) $r_1$ and $r_2$ are the slopes between 
    9392the geopotential and computational surfaces. 
    94 Their discrete formulation is found by locally solving \autoref{eq:tra_ldf_iso} when 
     93Their discrete formulation is found by locally solving \autoref{eq:TRA_ldf_iso} when 
    9594the diffusive fluxes in the three directions are set to zero and $T$ is assumed to be horizontally uniform, 
    96 \ie\ a linear function of $z_T$, the depth of a $T$-point.  
     95\ie\ a linear function of $z_T$, the depth of a $T$-point. 
    9796%gm { Steven : My version is obviously wrong since I'm left with an arbitrary constant which is the local vertical temperature gradient} 
    9897 
    9998\begin{equation} 
    100   \label{eq:ldfslp_geo} 
     99  \label{eq:LDF_slp_geo} 
    101100  \begin{aligned} 
    102101    r_{1u} &= \frac{e_{3u}}{ \left( e_{1u}\;\overline{\overline{e_{3w}}}^{\,i+1/2,\,k} \right)} 
     
    113112\end{equation} 
    114113 
    115 %gm%  caution I'm not sure the simplification was a good idea!  
    116  
    117 These slopes are computed once in \rou{ldf\_slp\_init} when \np{ln\_sco}\forcode{ = .true.}, 
    118 and either \np{ln\_traldf\_hor}\forcode{ = .true.} or \np{ln\_dynldf\_hor}\forcode{ = .true.}.  
    119  
     114%gm%  caution I'm not sure the simplification was a good idea! 
     115 
     116These slopes are computed once in \rou{ldf\_slp\_init} when \np[=.true.]{ln_sco}{ln\_sco}, 
     117and either \np[=.true.]{ln_traldf_hor}{ln\_traldf\_hor} or \np[=.true.]{ln_dynldf_hor}{ln\_dynldf\_hor}. 
     118 
     119%% ================================================================================================= 
    120120\subsection{Slopes for tracer iso-neutral mixing} 
    121121\label{subsec:LDF_slp_iso} 
     
    125125Their discrete formulation is found using the fact that the diffusive fluxes of 
    126126locally referenced potential density (\ie\ $in situ$ density) vanish. 
    127 So, substituting $T$ by $\rho$ in \autoref{eq:tra_ldf_iso} and setting the diffusive fluxes in 
     127So, substituting $T$ by $\rho$ in \autoref{eq:TRA_ldf_iso} and setting the diffusive fluxes in 
    128128the three directions to zero leads to the following definition for the neutral slopes: 
    129129 
    130130\begin{equation} 
    131   \label{eq:ldfslp_iso} 
     131  \label{eq:LDF_slp_iso} 
    132132  \begin{split} 
    133133    r_{1u} &= \frac{e_{3u}}{e_{1u}}\; \frac{\delta_{i+1/2}[\rho]} 
     
    145145 
    146146%gm% rewrite this as the explanation is not very clear !!! 
    147 %In practice, \autoref{eq:ldfslp_iso} is of little help in evaluating the neutral surface slopes. Indeed, for an unsimplified equation of state, the density has a strong dependancy on pressure (here approximated as the depth), therefore applying \autoref{eq:ldfslp_iso} using the $in situ$ density, $\rho$, computed at T-points leads to a flattening of slopes as the depth increases. This is due to the strong increase of the $in situ$ density with depth.  
    148  
    149 %By definition, neutral surfaces are tangent to the local $in situ$ density \citep{mcdougall_JPO87}, therefore in \autoref{eq:ldfslp_iso}, all the derivatives have to be evaluated at the same local pressure (which in decibars is approximated by the depth in meters). 
    150  
    151 %In the $z$-coordinate, the derivative of the  \autoref{eq:ldfslp_iso} numerator is evaluated at the same depth \nocite{as what?} ($T$-level, which is the same as the $u$- and $v$-levels), so  the $in situ$ density can be used for its evaluation.  
    152  
    153 As the mixing is performed along neutral surfaces, the gradient of $\rho$ in \autoref{eq:ldfslp_iso} has to 
     147%In practice, \autoref{eq:LDF_slp_iso} is of little help in evaluating the neutral surface slopes. Indeed, for an unsimplified equation of state, the density has a strong dependancy on pressure (here approximated as the depth), therefore applying \autoref{eq:LDF_slp_iso} using the $in situ$ density, $\rho$, computed at T-points leads to a flattening of slopes as the depth increases. This is due to the strong increase of the $in situ$ density with depth. 
     148 
     149%By definition, neutral surfaces are tangent to the local $in situ$ density \citep{mcdougall_JPO87}, therefore in \autoref{eq:LDF_slp_iso}, all the derivatives have to be evaluated at the same local pressure (which in decibars is approximated by the depth in meters). 
     150 
     151%In the $z$-coordinate, the derivative of the  \autoref{eq:LDF_slp_iso} numerator is evaluated at the same depth \nocite{as what?} ($T$-level, which is the same as the $u$- and $v$-levels), so  the $in situ$ density can be used for its evaluation. 
     152 
     153As the mixing is performed along neutral surfaces, the gradient of $\rho$ in \autoref{eq:LDF_slp_iso} has to 
    154154be evaluated at the same local pressure 
    155155(which, in decibars, is approximated by the depth in meters in the model). 
    156 Therefore \autoref{eq:ldfslp_iso} cannot be used as such, 
     156Therefore \autoref{eq:LDF_slp_iso} cannot be used as such, 
    157157but further transformation is needed depending on the vertical coordinate used: 
    158158 
    159159\begin{description} 
    160  
    161 \item[$z$-coordinate with full step: ] 
    162   in \autoref{eq:ldfslp_iso} the densities appearing in the $i$ and $j$ derivatives  are taken at the same depth, 
     160\item [$z$-coordinate with full step:] in \autoref{eq:LDF_slp_iso} the densities appearing in the $i$ and $j$ derivatives  are taken at the same depth, 
    163161  thus the $in situ$ density can be used. 
    164162  This is not the case for the vertical derivatives: $\delta_{k+1/2}[\rho]$ is replaced by $-\rho N^2/g$, 
    165163  where $N^2$ is the local Brunt-Vais\"{a}l\"{a} frequency evaluated following \citet{mcdougall_JPO87} 
    166   (see \autoref{subsec:TRA_bn2}).  
    167  
    168 \item[$z$-coordinate with partial step: ] 
    169   this case is identical to the full step case except that at partial step level, 
     164  (see \autoref{subsec:TRA_bn2}). 
     165\item [$z$-coordinate with partial step:] this case is identical to the full step case except that at partial step level, 
    170166  the \emph{horizontal} density gradient is evaluated as described in \autoref{sec:TRA_zpshde}. 
    171  
    172 \item[$s$- or hybrid $s$-$z$- coordinate: ] 
    173   in the current release of \NEMO, iso-neutral mixing is only employed for $s$-coordinates if 
    174   the Griffies scheme is used (\np{ln\_traldf\_triad}\forcode{ = .true.}; 
    175   see \autoref{apdx:triad}). 
     167\item [$s$- or hybrid $s$-$z$- coordinate:] in the current release of \NEMO, iso-neutral mixing is only employed for $s$-coordinates if 
     168  the Griffies scheme is used (\np[=.true.]{ln_traldf_triad}{ln\_traldf\_triad}; 
     169  see \autoref{apdx:TRIADS}). 
    176170  In other words, iso-neutral mixing will only be accurately represented with a linear equation of state 
    177   (\np{ln\_seos}\forcode{ = .true.}). 
    178   In the case of a "true" equation of state, the evaluation of $i$ and $j$ derivatives in \autoref{eq:ldfslp_iso} 
     171  (\np[=.true.]{ln_seos}{ln\_seos}). 
     172  In the case of a "true" equation of state, the evaluation of $i$ and $j$ derivatives in \autoref{eq:LDF_slp_iso} 
    179173  will include a pressure dependent part, leading to the wrong evaluation of the neutral slopes. 
    180174 
    181 %gm%  
     175%gm% 
    182176  Note: The solution for $s$-coordinate passes trough the use of different (and better) expression for 
    183177  the constraint on iso-neutral fluxes. 
     
    193187 
    194188\[ 
    195   % \label{eq:ldfslp_iso2} 
     189  % \label{eq:LDF_slp_iso2} 
    196190  \begin{split} 
    197191    r_{1u} &= \frac{e_{3u}}{e_{1u}}\; \frac 
     
    221215 
    222216Note that such a formulation could be also used in the $z$-coordinate and $z$-coordinate with partial steps cases. 
    223  
    224217\end{description} 
    225218 
     
    230223To overcome this problem, several techniques have been proposed in which the numerical schemes of 
    231224the ocean model are modified \citep{weaver.eby_JPO97, griffies.gnanadesikan.ea_JPO98}. 
    232 Griffies's scheme is now available in \NEMO\ if \np{ln\_traldf\_triad}\forcode{ = .true.}; see \autoref{apdx:triad}. 
     225Griffies's scheme is now available in \NEMO\ if \np[=.true.]{ln_traldf_triad}{ln\_traldf\_triad}; see \autoref{apdx:TRIADS}. 
    233226Here, another strategy is presented \citep{lazar_phd97}: 
    234227a local filtering of the iso-neutral slopes (made on 9 grid-points) prevents the development of 
     
    240233 
    241234Nevertheless, this iso-neutral operator does not ensure that variance cannot increase, 
    242 contrary to the \citet{griffies.gnanadesikan.ea_JPO98} operator which has that property.  
    243  
    244 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     235contrary to the \citet{griffies.gnanadesikan.ea_JPO98} operator which has that property. 
     236 
    245237\begin{figure}[!ht] 
    246   \begin{center} 
    247     \includegraphics[width=\textwidth]{Fig_LDF_ZDF1} 
    248     \caption { 
    249       \protect\label{fig:LDF_ZDF1} 
    250       averaging procedure for isopycnal slope computation. 
    251     } 
    252   \end{center} 
     238  \centering 
     239  \includegraphics[width=0.66\textwidth]{Fig_LDF_ZDF1} 
     240  \caption{Averaging procedure for isopycnal slope computation} 
     241  \label{fig:LDF_ZDF1} 
    253242\end{figure} 
    254 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    255  
    256 %There are three additional questions about the slope calculation.  
    257 %First the expression for the rotation tensor has been obtain assuming the "small slope" approximation, so a bound has to be imposed on slopes.  
    258 %Second, numerical stability issues also require a bound on slopes.  
     243 
     244%There are three additional questions about the slope calculation. 
     245%First the expression for the rotation tensor has been obtain assuming the "small slope" approximation, so a bound has to be imposed on slopes. 
     246%Second, numerical stability issues also require a bound on slopes. 
    259247%Third, the question of boundary condition specified on slopes... 
    260248 
    261249%from griffies: chapter 13.1.... 
    262250 
    263  
    264  
    265 % In addition and also for numerical stability reasons \citep{cox_OM87, griffies_bk04},  
    266 % the slopes are bounded by $1/100$ everywhere. This limit is decreasing linearly  
    267 % to zero fom $70$ meters depth and the surface (the fact that the eddies "feel" the  
     251% In addition and also for numerical stability reasons \citep{cox_OM87, griffies_bk04}, 
     252% the slopes are bounded by $1/100$ everywhere. This limit is decreasing linearly 
     253% to zero fom $70$ meters depth and the surface (the fact that the eddies "feel" the 
    268254% surface motivates this flattening of isopycnals near the surface). 
    269255 
    270256For numerical stability reasons \citep{cox_OM87, griffies_bk04}, the slopes must also be bounded by 
    271 the namelist scalar \np{rn\_slpmax} (usually $1/100$) everywhere. 
     257the namelist scalar \np{rn_slpmax}{rn\_slpmax} (usually $1/100$) everywhere. 
    272258This constraint is applied in a piecewise linear fashion, increasing from zero at the surface to 
    273259$1/100$ at $70$ metres and thereafter decreasing to zero at the bottom of the ocean 
     
    275261\colorbox{yellow}{The way slopes are tapered has be checked. Not sure that this is still what is actually done.} 
    276262 
    277 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    278263\begin{figure}[!ht] 
    279   \begin{center} 
    280     \includegraphics[width=\textwidth]{Fig_eiv_slp} 
    281     \caption{ 
    282       \protect\label{fig:eiv_slp} 
    283       Vertical profile of the slope used for lateral mixing in the mixed layer: 
    284       \textit{(a)} in the real ocean the slope is the iso-neutral slope in the ocean interior, 
    285       which has to be adjusted at the surface boundary 
    286       \ie\ it must tend to zero at the surface since there is no mixing across the air-sea interface: 
    287       wall boundary condition). 
    288       Nevertheless, the profile between the surface zero value and the interior iso-neutral one is unknown, 
    289       and especially the value at the base of the mixed layer; 
    290       \textit{(b)} profile of slope using a linear tapering of the slope near the surface and 
    291       imposing a maximum slope of 1/100; 
    292       \textit{(c)} profile of slope actually used in \NEMO: a linear decrease of the slope from 
    293       zero at the surface to its ocean interior value computed just below the mixed layer. 
    294       Note the huge change in the slope at the base of the mixed layer between \textit{(b)} and \textit{(c)}. 
    295     } 
    296   \end{center} 
     264  \centering 
     265  \includegraphics[width=0.66\textwidth]{Fig_eiv_slp} 
     266  \caption[Vertical profile of the slope used for lateral mixing in the mixed layer]{ 
     267    Vertical profile of the slope used for lateral mixing in the mixed layer: 
     268    \textit{(a)} in the real ocean the slope is the iso-neutral slope in the ocean interior, 
     269    which has to be adjusted at the surface boundary 
     270    \ie\ it must tend to zero at the surface since there is no mixing across the air-sea interface: 
     271    wall boundary condition). 
     272    Nevertheless, 
     273    the profile between the surface zero value and the interior iso-neutral one is unknown, 
     274    and especially the value at the base of the mixed layer; 
     275    \textit{(b)} profile of slope using a linear tapering of the slope near the surface and 
     276    imposing a maximum slope of 1/100; 
     277    \textit{(c)} profile of slope actually used in \NEMO: 
     278    a linear decrease of the slope from zero at the surface to 
     279    its ocean interior value computed just below the mixed layer. 
     280    Note the huge change in the slope at the base of the mixed layer between 
     281    \textit{(b)} and \textit{(c)}.} 
     282  \label{fig:LDF_eiv_slp} 
    297283\end{figure} 
    298 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    299284 
    300285\colorbox{yellow}{add here a discussion about the flattening of the slopes, vs tapering the coefficient.} 
    301286 
     287%% ================================================================================================= 
    302288\subsection{Slopes for momentum iso-neutral mixing} 
    303289 
    304290The iso-neutral diffusion operator on momentum is the same as the one used on tracers but 
    305291applied to each component of the velocity separately 
    306 (see \autoref{eq:dyn_ldf_iso} in section~\autoref{subsec:DYN_ldf_iso}). 
     292(see \autoref{eq:DYN_ldf_iso} in section~\autoref{subsec:DYN_ldf_iso}). 
    307293The slopes between the surface along which the diffusion operator acts and the surface of computation 
    308294($z$- or $s$-surfaces) are defined at $T$-, $f$-, and \textit{uw}- points for the $u$-component, and $T$-, $f$- and 
    309295\textit{vw}- points for the $v$-component. 
    310296They are computed from the slopes used for tracer diffusion, 
    311 \ie\ \autoref{eq:ldfslp_geo} and \autoref{eq:ldfslp_iso}: 
     297\ie\ \autoref{eq:LDF_slp_geo} and \autoref{eq:LDF_slp_iso}: 
    312298 
    313299\[ 
    314   % \label{eq:ldfslp_dyn} 
     300  % \label{eq:LDF_slp_dyn} 
    315301  \begin{aligned} 
    316302    &r_{1t}\ \ = \overline{r_{1u}}^{\,i}       &&&    r_{1f}\ \ &= \overline{r_{1u}}^{\,i+1/2} \\ 
     
    326312(see \autoref{sec:LBC_coast}). 
    327313 
    328     
    329 % ================================================================ 
    330 % Lateral Mixing Coefficients 
    331 % ================================================================ 
    332 \section[Lateral mixing coefficient (\forcode{nn_aht_ijk_t}, \forcode{nn_ahm_ijk_t})] 
    333 {Lateral mixing coefficient (\protect\np{nn\_aht\_ijk\_t}, \protect\np{nn\_ahm\_ijk\_t})} 
     314%% ================================================================================================= 
     315\section[Lateral mixing coefficient (\forcode{nn_aht_ijk_t} \& \forcode{nn_ahm_ijk_t})]{Lateral mixing coefficient (\protect\np{nn_aht_ijk_t}{nn\_aht\_ijk\_t} \& \protect\np{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
    334316\label{sec:LDF_coef} 
    335317 
    336 The specification of the space variation of the coefficient is made in modules \mdl{ldftra} and \mdl{ldfdyn}.  
     318The specification of the space variation of the coefficient is made in modules \mdl{ldftra} and \mdl{ldfdyn}. 
    337319The way the mixing coefficients are set in the reference version can be described as follows: 
    338320 
    339 \subsection[Mixing coefficients read from file (\forcode{nn_aht_ijk_t = -20, -30}, \forcode{nn_ahm_ijk_t = -20,-30})] 
    340 { Mixing coefficients read from file (\protect\np{nn\_aht\_ijk\_t}\forcode{ = -20, -30}, \protect\np{nn\_ahm\_ijk\_t}\forcode{ = -20, -30})} 
    341  
    342 Mixing coefficients can be read from file if a particular geographical variation is needed. For example, in the ORCA2 global ocean model,  
     321%% ================================================================================================= 
     322\subsection[Mixing coefficients read from file (\forcode{=-20, -30})]{ Mixing coefficients read from file (\protect\np[=-20, -30]{nn_aht_ijk_t}{nn\_aht\_ijk\_t} \& \protect\np[=-20, -30]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
     323 
     324Mixing coefficients can be read from file if a particular geographical variation is needed. For example, in the ORCA2 global ocean model, 
    343325the laplacian viscosity operator uses $A^l$~= 4.10$^4$ m$^2$/s poleward of 20$^{\circ}$ north and south and 
    344 decreases linearly to $A^l$~= 2.10$^3$ m$^2$/s at the equator \citep{madec.delecluse.ea_JPO96, delecluse.madec_icol99}.  
    345 Similar modified horizontal variations can be found with the Antarctic or Arctic sub-domain options of ORCA2 and ORCA05.  
    346 The provided fields can either be 2d (\np{nn\_aht\_ijk\_t}\forcode{ = -20}, \np{nn\_ahm\_ijk\_t}\forcode{ = -20}) or 3d (\np{nn\_aht\_ijk\_t}\forcode{ = -30},  \np{nn\_ahm\_ijk\_t}\forcode{ = -30}). They must be given at U, V points for tracers and T, F points for momentum (see \autoref{tab:LDF_files}). 
    347  
    348 %-------------------------------------------------TABLE--------------------------------------------------- 
     326decreases linearly to $A^l$~= 2.10$^3$ m$^2$/s at the equator \citep{madec.delecluse.ea_JPO96, delecluse.madec_icol99}. 
     327Similar modified horizontal variations can be found with the Antarctic or Arctic sub-domain options of ORCA2 and ORCA05. 
     328The provided fields can either be 2d (\np[=-20]{nn_aht_ijk_t}{nn\_aht\_ijk\_t}, \np[=-20]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t}) or 3d (\np[=-30]{nn_aht_ijk_t}{nn\_aht\_ijk\_t},  \np[=-30]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t}). They must be given at U, V points for tracers and T, F points for momentum (see \autoref{tab:LDF_files}). 
     329 
    349330\begin{table}[htb] 
    350   \begin{center} 
    351     \begin{tabular}{|l|l|l|l|} 
    352       \hline 
    353       Namelist parameter                        & Input filename                               & dimensions & variable names                      \\  \hline 
    354       \np{nn\_ahm\_ijk\_t}\forcode{ = -20}       & \forcode{eddy_viscosity_2D.nc }            &     $(i,j)$         & \forcode{ahmt_2d, ahmf_2d}  \\  \hline 
    355       \np{nn\_aht\_ijk\_t}\forcode{ = -20}           & \forcode{eddy_diffusivity_2D.nc }           &     $(i,j)$          & \forcode{ahtu_2d, ahtv_2d}    \\   \hline 
    356       \np{nn\_ahm\_ijk\_t}\forcode{ = -30}       & \forcode{eddy_viscosity_3D.nc }            &     $(i,j,k)$          & \forcode{ahmt_3d, ahmf_3d}  \\  \hline 
    357       \np{nn\_aht\_ijk\_t}\forcode{ = -30}       & \forcode{eddy_diffusivity_3D.nc }           &     $(i,j,k)$         & \forcode{ahtu_3d, ahtv_3d}    \\   \hline 
    358     \end{tabular} 
    359     \caption{ 
    360       \protect\label{tab:LDF_files} 
    361       Description of expected input files if mixing coefficients are read from NetCDF files. 
    362     } 
    363   \end{center} 
     331  \centering 
     332  \begin{tabular}{|l|l|l|l|} 
     333    \hline 
     334    Namelist parameter                       & Input filename                               & dimensions & variable names                      \\  \hline 
     335    \np[=-20]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t}     & \forcode{eddy_viscosity_2D.nc }            &     $(i,j)$         & \forcode{ahmt_2d, ahmf_2d}  \\  \hline 
     336    \np[=-20]{nn_aht_ijk_t}{nn\_aht\_ijk\_t}           & \forcode{eddy_diffusivity_2D.nc }           &     $(i,j)$           & \forcode{ahtu_2d, ahtv_2d}    \\   \hline 
     337    \np[=-30]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t}        & \forcode{eddy_viscosity_3D.nc }            &     $(i,j,k)$          & \forcode{ahmt_3d, ahmf_3d}  \\  \hline 
     338    \np[=-30]{nn_aht_ijk_t}{nn\_aht\_ijk\_t}     & \forcode{eddy_diffusivity_3D.nc }           &     $(i,j,k)$         & \forcode{ahtu_3d, ahtv_3d}    \\   \hline 
     339  \end{tabular} 
     340  \caption{Description of expected input files if mixing coefficients are read from NetCDF files} 
     341  \label{tab:LDF_files} 
    364342\end{table} 
    365 %-------------------------------------------------------------------------------------------------------------- 
    366  
    367 \subsection[Constant mixing coefficients (\forcode{nn_aht_ijk_t = 0}, \forcode{nn_ahm_ijk_t = 0})] 
    368 { Constant mixing coefficients (\protect\np{nn\_aht\_ijk\_t}\forcode{ = 0}, \protect\np{nn\_ahm\_ijk\_t}\forcode{ = 0})} 
     343 
     344%% ================================================================================================= 
     345\subsection[Constant mixing coefficients (\forcode{=0})]{ Constant mixing coefficients (\protect\np[=0]{nn_aht_ijk_t}{nn\_aht\_ijk\_t} \& \protect\np[=0]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
    369346 
    370347If constant, mixing coefficients are set thanks to a velocity and a length scales ($U_{scl}$, $L_{scl}$) such that: 
    371348 
    372349\begin{equation} 
    373   \label{eq:constantah} 
     350  \label{eq:LDF_constantah} 
    374351  A_o^l = \left\{ 
    375352    \begin{aligned} 
     
    380357\end{equation} 
    381358 
    382  $U_{scl}$ and $L_{scl}$ are given by the namelist parameters \np{rn\_Ud}, \np{rn\_Uv}, \np{rn\_Ld} and \np{rn\_Lv}. 
    383  
    384 \subsection[Vertically varying mixing coefficients (\forcode{nn_aht_ijk_t = 10}, \forcode{nn_ahm_ijk_t = 10})] 
    385 {Vertically varying mixing coefficients (\protect\np{nn\_aht\_ijk\_t}\forcode{ = 10}, \protect\np{nn\_ahm\_ijk\_t}\forcode{ = 10})} 
     359 $U_{scl}$ and $L_{scl}$ are given by the namelist parameters \np{rn_Ud}{rn\_Ud}, \np{rn_Uv}{rn\_Uv}, \np{rn_Ld}{rn\_Ld} and \np{rn_Lv}{rn\_Lv}. 
     360 
     361%% ================================================================================================= 
     362\subsection[Vertically varying mixing coefficients (\forcode{=10})]{Vertically varying mixing coefficients (\protect\np[=10]{nn_aht_ijk_t}{nn\_aht\_ijk\_t} \& \protect\np[=10]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
    386363 
    387364In the vertically varying case, a hyperbolic variation of the lateral mixing coefficient is introduced in which 
    388 the surface value is given by \autoref{eq:constantah}, the bottom value is 1/4 of the surface value, 
     365the surface value is given by \autoref{eq:LDF_constantah}, the bottom value is 1/4 of the surface value, 
    389366and the transition takes place around z=500~m with a width of 200~m. 
    390367This profile is hard coded in module \mdl{ldfc1d\_c2d}, but can be easily modified by users. 
    391368 
    392 \subsection[Mesh size dependent mixing coefficients (\forcode{nn_aht_ijk_t = 20}, \forcode{nn_ahm_ijk_t = 20})] 
    393 {Mesh size dependent mixing coefficients (\protect\np{nn\_aht\_ijk\_t}\forcode{ = 20}, \protect\np{nn\_ahm\_ijk\_t}\forcode{ = 20})} 
     369%% ================================================================================================= 
     370\subsection[Mesh size dependent mixing coefficients (\forcode{=20})]{Mesh size dependent mixing coefficients (\protect\np[=20]{nn_aht_ijk_t}{nn\_aht\_ijk\_t} \& \protect\np[=20]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
    394371 
    395372In that case, the horizontal variation of the eddy coefficient depends on the local mesh size and 
    396373the type of operator used: 
    397374\begin{equation} 
    398   \label{eq:title} 
     375  \label{eq:LDF_title} 
    399376  A_l = \left\{ 
    400377    \begin{aligned} 
     
    404381  \right. 
    405382\end{equation} 
    406 where $U_{scl}$ is a user defined velocity scale (\np{rn\_Ud}, \np{rn\_Uv}). 
     383where $U_{scl}$ is a user defined velocity scale (\np{rn_Ud}{rn\_Ud}, \np{rn_Uv}{rn\_Uv}). 
    407384This variation is intended to reflect the lesser need for subgrid scale eddy mixing where 
    408385the grid size is smaller in the domain. 
     
    411388model configurations presenting large changes in grid spacing such as global ocean models. 
    412389Indeed, in such a case, a constant mixing coefficient can lead to a blow up of the model due to 
    413 large coefficient compare to the smallest grid size (see \autoref{sec:STP_forward_imp}), 
     390large coefficient compare to the smallest grid size (see \autoref{sec:TD_forward_imp}), 
    414391especially when using a bilaplacian operator. 
    415392 
    416 \colorbox{yellow}{CASE \np{nn\_aht\_ijk\_t} = 21 to be added} 
    417  
    418 \subsection[Mesh size and depth dependent mixing coefficients (\forcode{nn_aht_ijk_t = 30}, \forcode{nn_ahm_ijk_t = 30})] 
    419 {Mesh size and depth dependent mixing coefficients (\protect\np{nn\_aht\_ijk\_t}\forcode{ = 30}, \protect\np{nn\_ahm\_ijk\_t}\forcode{ = 30})} 
     393\colorbox{yellow}{CASE \np{nn_aht_ijk_t}{nn\_aht\_ijk\_t} = 21 to be added} 
     394 
     395%% ================================================================================================= 
     396\subsection[Mesh size and depth dependent mixing coefficients (\forcode{=30})]{Mesh size and depth dependent mixing coefficients (\protect\np[=30]{nn_aht_ijk_t}{nn\_aht\_ijk\_t} \& \protect\np[=30]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
    420397 
    421398The 3D space variation of the mixing coefficient is simply the combination of the 1D and 2D cases above, 
    422399\ie\ a hyperbolic tangent variation with depth associated with a grid size dependence of 
    423 the magnitude of the coefficient.  
    424  
    425 \subsection[Velocity dependent mixing coefficients (\forcode{nn_aht_ijk_t = 31}, \forcode{nn_ahm_ijk_t = 31})] 
    426 {Flow dependent mixing coefficients (\protect\np{nn\_aht\_ijk\_t}\forcode{ = 31}, \protect\np{nn\_ahm\_ijk\_t}\forcode{ = 31})} 
     400the magnitude of the coefficient. 
     401 
     402%% ================================================================================================= 
     403\subsection[Velocity dependent mixing coefficients (\forcode{=31})]{Flow dependent mixing coefficients (\protect\np[=31]{nn_aht_ijk_t}{nn\_aht\_ijk\_t} \& \protect\np[=31]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
    427404In that case, the eddy coefficient is proportional to the local velocity magnitude so that the Reynolds number $Re =  \lvert U \rvert  e / A_l$ is constant (and here hardcoded to $12$): 
    428405\colorbox{yellow}{JC comment: The Reynolds is effectively set to 12 in the code for both operators but shouldn't it be 2 for Laplacian ?} 
    429406 
    430407\begin{equation} 
    431   \label{eq:flowah} 
     408  \label{eq:LDF_flowah} 
    432409  A_l = \left\{ 
    433410    \begin{aligned} 
    434411      & \frac{1}{12} \lvert U \rvert e          & \text{for laplacian operator } \\ 
    435       & \frac{1}{12} \lvert U \rvert e^3             & \text{for bilaplacian operator }  
     412      & \frac{1}{12} \lvert U \rvert e^3             & \text{for bilaplacian operator } 
    436413    \end{aligned} 
    437414  \right. 
    438415\end{equation} 
    439416 
    440 \subsection[Deformation rate dependent viscosities (\forcode{nn_ahm_ijk_t = 32})] 
    441 {Deformation rate dependent viscosities (\protect\np{nn\_ahm\_ijk\_t}\forcode{ = 32})} 
    442  
    443 This option refers to the \citep{smagorinsky_MW63} scheme which is here implemented for momentum only. Smagorinsky chose as a  
     417%% ================================================================================================= 
     418\subsection[Deformation rate dependent viscosities (\forcode{nn_ahm_ijk_t=32})]{Deformation rate dependent viscosities (\protect\np[=32]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 
     419 
     420This option refers to the \citep{smagorinsky_MW63} scheme which is here implemented for momentum only. Smagorinsky chose as a 
    444421characteristic time scale $T_{smag}$ the deformation rate and for the lengthscale $L_{smag}$ the maximum wavenumber possible on the horizontal grid, e.g.: 
    445422 
    446423\begin{equation} 
    447   \label{eq:smag1} 
     424  \label{eq:LDF_smag1} 
    448425  \begin{split} 
    449426    T_{smag}^{-1} & = \sqrt{\left( \partial_x u - \partial_y v\right)^2 + \left( \partial_y u + \partial_x v\right)^2  } \\ 
     
    452429\end{equation} 
    453430 
    454 Introducing a user defined constant $C$ (given in the namelist as \np{rn\_csmc}), one can deduce the mixing coefficients as follows: 
    455  
    456 \begin{equation} 
    457   \label{eq:smag2} 
     431Introducing a user defined constant $C$ (given in the namelist as \np{rn_csmc}{rn\_csmc}), one can deduce the mixing coefficients as follows: 
     432 
     433\begin{equation} 
     434  \label{eq:LDF_smag2} 
    458435  A_{smag} = \left\{ 
    459436    \begin{aligned} 
    460437      & C^2  T_{smag}^{-1}  L_{smag}^2       & \text{for laplacian operator } \\ 
    461       & \frac{C^2}{8} T_{smag}^{-1} L_{smag}^4        & \text{for bilaplacian operator }  
     438      & \frac{C^2}{8} T_{smag}^{-1} L_{smag}^4        & \text{for bilaplacian operator } 
    462439    \end{aligned} 
    463440  \right. 
    464441\end{equation} 
    465442 
    466 For stability reasons, upper and lower limits are applied on the resulting coefficient (see \autoref{sec:STP_forward_imp}) so that: 
    467 \begin{equation} 
    468   \label{eq:smag3} 
     443For stability reasons, upper and lower limits are applied on the resulting coefficient (see \autoref{sec:TD_forward_imp}) so that: 
     444\begin{equation} 
     445  \label{eq:LDF_smag3} 
    469446    \begin{aligned} 
    470447      & C_{min} \frac{1}{2}   \lvert U \rvert  e    < A_{smag} < C_{max} \frac{e^2}{   8\rdt}                 & \text{for laplacian operator } \\ 
    471       & C_{min} \frac{1}{12} \lvert U \rvert  e^3 < A_{smag} < C_{max} \frac{e^4}{64 \rdt}                 & \text{for bilaplacian operator }  
     448      & C_{min} \frac{1}{12} \lvert U \rvert  e^3 < A_{smag} < C_{max} \frac{e^4}{64 \rdt}                 & \text{for bilaplacian operator } 
    472449    \end{aligned} 
    473450\end{equation} 
    474451 
    475 where $C_{min}$ and $C_{max}$ are adimensional namelist parameters given by \np{rn\_minfac} and \np{rn\_maxfac} respectively. 
    476  
     452where $C_{min}$ and $C_{max}$ are adimensional namelist parameters given by \np{rn_minfac}{rn\_minfac} and \np{rn_maxfac}{rn\_maxfac} respectively. 
     453 
     454%% ================================================================================================= 
    477455\subsection{About space and time varying mixing coefficients} 
    478456 
     
    480458 
    481459(1) the momentum diffusion operator acting along model level surfaces is written in terms of curl and 
    482 divergent components of the horizontal current (see \autoref{subsec:PE_ldf}). 
     460divergent components of the horizontal current (see \autoref{subsec:MB_ldf}). 
    483461Although the eddy coefficient could be set to different values in these two terms, 
    484 this option is not currently available.  
     462this option is not currently available. 
    485463 
    486464(2) with an horizontally varying viscosity, the quadratic integral constraints on enstrophy and on the square of 
    487465the horizontal divergence for operators acting along model-surfaces are no longer satisfied 
    488 (\autoref{sec:dynldf_properties}). 
    489  
    490 % ================================================================ 
    491 % Eddy Induced Mixing 
    492 % ================================================================ 
    493 \section[Eddy induced velocity (\forcode{ln_ldfeiv = .true.})] 
    494 {Eddy induced velocity (\protect\np{ln\_ldfeiv}\forcode{ = .true.})} 
     466(\autoref{sec:INVARIANTS_dynldf_properties}). 
     467 
     468%% ================================================================================================= 
     469\section[Eddy induced velocity (\forcode{ln_ldfeiv})]{Eddy induced velocity (\protect\np{ln_ldfeiv}{ln\_ldfeiv})} 
    495470 
    496471\label{sec:LDF_eiv} 
    497472 
    498 %--------------------------------------------namtra_eiv--------------------------------------------------- 
    499  
    500 \nlst{namtra_eiv} 
    501  
    502 %-------------------------------------------------------------------------------------------------------------- 
    503  
     473\begin{listing} 
     474  \nlst{namtra_eiv} 
     475  \caption{\forcode{&namtra_eiv}} 
     476  \label{lst:namtra_eiv} 
     477\end{listing} 
    504478 
    505479%%gm  from Triad appendix  : to be incorporated.... 
     
    507481  Values of iso-neutral diffusivity and GM coefficient are set as described in \autoref{sec:LDF_coef}. 
    508482  If none of the keys \key{traldf\_cNd}, N=1,2,3 is set (the default), spatially constant iso-neutral $A_l$ and 
    509   GM diffusivity $A_e$ are directly set by \np{rn\_aeih\_0} and \np{rn\_aeiv\_0}. 
     483  GM diffusivity $A_e$ are directly set by \np{rn_aeih_0}{rn\_aeih\_0} and \np{rn_aeiv_0}{rn\_aeiv\_0}. 
    510484  If 2D-varying coefficients are set with \key{traldf\_c2d} then $A_l$ is reduced in proportion with horizontal 
    511485  scale factor according to \autoref{eq:title} 
     
    520494    In this case, $A_e$ at low latitudes $|\theta|<20^{\circ}$ is further reduced by a factor $|f/f_{20}|$, 
    521495    where $f_{20}$ is the value of $f$ at $20^{\circ}$~N 
    522   } (\mdl{ldfeiv}) and \np{rn\_aeiv\_0} is ignored unless it is zero. 
     496  } (\mdl{ldfeiv}) and \np{rn_aeiv_0}{rn\_aeiv\_0} is ignored unless it is zero. 
    523497} 
    524498 
    525 When  \citet{gent.mcwilliams_JPO90} diffusion is used (\np{ln\_ldfeiv}\forcode{ = .true.}), 
     499When  \citet{gent.mcwilliams_JPO90} diffusion is used (\np[=.true.]{ln_ldfeiv}{ln\_ldfeiv}), 
    526500an eddy induced tracer advection term is added, 
    527501the formulation of which depends on the slopes of iso-neutral surfaces. 
    528502Contrary to the case of iso-neutral mixing, the slopes used here are referenced to the geopotential surfaces, 
    529 \ie\ \autoref{eq:ldfslp_geo} is used in $z$-coordinates, 
    530 and the sum \autoref{eq:ldfslp_geo} + \autoref{eq:ldfslp_iso} in $s$-coordinates. 
    531  
    532 If isopycnal mixing is used in the standard way, \ie\ \np{ln\_traldf\_triad}\forcode{ = .false.}, the eddy induced velocity is given by:  
    533 \begin{equation} 
    534   \label{eq:ldfeiv} 
     503\ie\ \autoref{eq:LDF_slp_geo} is used in $z$-coordinates, 
     504and the sum \autoref{eq:LDF_slp_geo} + \autoref{eq:LDF_slp_iso} in $s$-coordinates. 
     505 
     506If isopycnal mixing is used in the standard way, \ie\ \np[=.false.]{ln_traldf_triad}{ln\_traldf\_triad}, the eddy induced velocity is given by: 
     507\begin{equation} 
     508  \label{eq:LDF_eiv} 
    535509  \begin{split} 
    536510    u^* & = \frac{1}{e_{2u}e_{3u}}\; \delta_k \left[e_{2u} \, A_{uw}^{eiv} \; \overline{r_{1w}}^{\,i+1/2} \right]\\ 
     
    539513  \end{split} 
    540514\end{equation} 
    541 where $A^{eiv}$ is the eddy induced velocity coefficient whose value is set through \np{nn\_aei\_ijk\_t} \nam{tra\_eiv} namelist parameter.  
     515where $A^{eiv}$ is the eddy induced velocity coefficient whose value is set through \np{nn_aei_ijk_t}{nn\_aei\_ijk\_t} \nam{tra_eiv}{tra\_eiv} namelist parameter. 
    542516The three components of the eddy induced velocity are computed in \rou{ldf\_eiv\_trp} and 
    543517added to the eulerian velocity in \rou{tra\_adv} where tracer advection is performed. 
     
    547521previous releases of OPA \citep{madec.delecluse.ea_NPM98}. 
    548522This is particularly useful for passive tracers where \emph{positivity} of the advection scheme is of 
    549 paramount importance.  
     523paramount importance. 
    550524 
    551525At the surface, lateral and bottom boundaries, the eddy induced velocity, 
    552 and thus the advective eddy fluxes of heat and salt, are set to zero.  
    553 The value of the eddy induced mixing coefficient and its space variation is controlled in a similar way as for lateral mixing coefficient described in the preceding subsection (\np{nn\_aei\_ijk\_t}, \np{rn\_Ue}, \np{rn\_Le} namelist parameters).  
    554 \colorbox{yellow}{CASE \np{nn\_aei\_ijk\_t} = 21 to be added} 
    555  
    556 In case of setting \np{ln\_traldf\_triad}\forcode{ = .true.}, a skew form of the eddy induced advective fluxes is used, which is described in \autoref{apdx:triad}. 
    557  
    558 % ================================================================ 
    559 % Mixed layer eddies 
    560 % ================================================================ 
    561 \section[Mixed layer eddies (\forcode{ln_mle = .true.})] 
    562 {Mixed layer eddies (\protect\np{ln\_mle}\forcode{ = .true.})} 
    563  
     526and thus the advective eddy fluxes of heat and salt, are set to zero. 
     527The value of the eddy induced mixing coefficient and its space variation is controlled in a similar way as for lateral mixing coefficient described in the preceding subsection (\np{nn_aei_ijk_t}{nn\_aei\_ijk\_t}, \np{rn_Ue}{rn\_Ue}, \np{rn_Le}{rn\_Le} namelist parameters). 
     528\colorbox{yellow}{CASE \np{nn_aei_ijk_t}{nn\_aei\_ijk\_t} = 21 to be added} 
     529 
     530In case of setting \np[=.true.]{ln_traldf_triad}{ln\_traldf\_triad}, a skew form of the eddy induced advective fluxes is used, which is described in \autoref{apdx:TRIADS}. 
     531 
     532%% ================================================================================================= 
     533\section[Mixed layer eddies (\forcode{ln_mle})]{Mixed layer eddies (\protect\np{ln_mle}{ln\_mle})} 
    564534\label{sec:LDF_mle} 
    565535 
    566 %--------------------------------------------namtra_eiv--------------------------------------------------- 
    567  
    568 \nlst{namtra_mle} 
    569  
    570 %-------------------------------------------------------------------------------------------------------------- 
    571  
    572 If  \np{ln\_mle}\forcode{ = .true.} in \nam{tra\_mle} namelist, a parameterization of the mixing due to unresolved mixed layer instabilities is activated (\citet{foxkemper.ferrari_JPO08}). Additional transport is computed in \rou{ldf\_mle\_trp} and added to the eulerian transport in \rou{tra\_adv} as done for eddy induced advection. 
     536\begin{listing} 
     537  \nlst{namtra_mle} 
     538  \caption{\forcode{&namtra_mle}} 
     539  \label{lst:namtra_mle} 
     540\end{listing} 
     541 
     542If  \np[=.true.]{ln_mle}{ln\_mle} in \nam{tra_mle}{tra\_mle} namelist, a parameterization of the mixing due to unresolved mixed layer instabilities is activated (\citet{foxkemper.ferrari_JPO08}). Additional transport is computed in \rou{ldf\_mle\_trp} and added to the eulerian transport in \rou{tra\_adv} as done for eddy induced advection. 
    573543 
    574544\colorbox{yellow}{TBC} 
    575545 
    576 \biblio 
    577  
    578 \pindex 
     546\onlyinsubfile{\input{../../global/epilogue}} 
    579547 
    580548\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_OBS.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter observation operator (OBS) 
    6 % ================================================================ 
     4 
    75\chapter{Observation and Model Comparison (OBS)} 
    86\label{chap:OBS} 
    97 
     8%\subsubsection*{Changes record} 
     9%\begin{tabular}{l||l|m{0.65\linewidth}} 
     10%    Release   & Author        & Modifications \\ 
     11%    {\em 4.0} & {\em D. J. Lea} & {\em \NEMO\ 4.0 updates}  \\ 
     12%    {\em 3.6} & {\em M. Martin, A. Ryan} & {\em Add averaging operator, standalone obs oper} \\ 
     13%    {\em 3.4} & {\em D. J. Lea, M. Martin, ...} & {\em Initial version}  \\ 
     14%    {\em --\texttt{"}--} & {\em ... K. Mogensen, A. Vidard, A. Weaver} & {\em ---\texttt{"}---}  \\ 
     15%\end{tabular} 
     16 
     17\thispagestyle{plain} 
     18 
    1019\chaptertoc 
    1120 
    12 \vfill 
    13 \begin{figure}[b] 
    14 \subsubsection*{Changes record} 
    15 \begin{tabular}{l||l|m{0.65\linewidth}} 
    16     Release   & Author        & Modifications \\ 
    17     {\em 4.0} & {\em D. J. Lea} & {\em \NEMO\ 4.0 updates}  \\ 
    18     {\em 3.6} & {\em M. Martin, A. Ryan} & {\em Add averaging operator, standalone obs oper} \\ 
    19     {\em 3.4} & {\em D. J. Lea, M. Martin, ...} & {\em Initial version}  \\ 
    20     {\em --\texttt{"}--} & {\em ... K. Mogensen, A. Vidard, A. Weaver} & {\em ---\texttt{"}---}  \\ 
    21 \end{tabular} 
    22 \end{figure} 
    23  
    24 \newpage 
     21\paragraph{Changes record} ~\\ 
     22 
     23{\footnotesize 
     24  \begin{tabularx}{\textwidth}{l||X|X} 
     25    Release & Author(s) & Modifications \\ 
     26    \hline 
     27    {\em   4.0} & {\em ...} & {\em ...} \\ 
     28    {\em   3.6} & {\em ...} & {\em ...} \\ 
     29    {\em   3.4} & {\em ...} & {\em ...} \\ 
     30    {\em <=3.4} & {\em ...} & {\em ...} 
     31  \end{tabularx} 
     32} 
     33 
     34\clearpage 
    2535 
    2636The observation and model comparison code, the observation operator (OBS), reads in observation files 
     
    3242The OBS code is called from \mdl{nemogcm} for model initialisation and to calculate the model equivalent values for observations on the 0th time step. 
    3343The code is then called again after each time step from \mdl{step}. 
    34 The code is only activated if the \nam{obs} namelist logical \np{ln\_diaobs} is set to true. 
     44The code is only activated if the \nam{obs}{obs} namelist logical \np{ln_diaobs}{ln\_diaobs} is set to true. 
    3545 
    3646For all data types a 2D horizontal interpolator or averager is needed to 
     
    4252Some profile observation types (\eg\ tropical moored buoys) are made available as daily averaged quantities. 
    4353The observation operator code can be set-up to calculate the equivalent daily average model temperature fields using 
    44 the \np{nn\_profdavtypes} namelist array. 
     54the \np{nn_profdavtypes}{nn\_profdavtypes} namelist array. 
    4555Some SST observations are equivalent to a night-time average value and 
    4656the observation operator code can calculate equivalent night-time average model SST fields by 
    47 setting the namelist value \np{ln\_sstnight} to true. 
     57setting the namelist value \np{ln_sstnight}{ln\_sstnight} to true. 
    4858Otherwise (by default) the model value from the nearest time step to the observation time is used. 
    4959 
    50 The code is controlled by the namelist \nam{obs}. 
     60The code is controlled by the namelist \nam{obs}{obs}. 
    5161See the following sections for more details on setting up the namelist. 
    5262 
     
    6070In \autoref{sec:OBS_obsutils} we describe some utilities to help work with the files produced by the OBS code. 
    6171 
    62 % ================================================================ 
    63 % Example 
    64 % ================================================================ 
     72%% ================================================================================================= 
    6573\section{Running the observation operator code example} 
    6674\label{sec:OBS_example} 
     
    92100\end{enumerate} 
    93101 
    94 Options are defined through the \nam{obs} namelist variables. 
    95 The options \np{ln\_t3d} and \np{ln\_s3d} switch on the temperature and salinity profile observation operator code. 
    96 The filename or array of filenames are specified using the \np{cn\_profbfiles} variable. 
     102Options are defined through the \nam{obs}{obs} namelist variables. 
     103The options \np{ln_t3d}{ln\_t3d} and \np{ln_s3d}{ln\_s3d} switch on the temperature and salinity profile observation operator code. 
     104The filename or array of filenames are specified using the \np{cn_profbfiles}{cn\_profbfiles} variable. 
    97105The model grid points for a particular observation latitude and longitude are found using 
    98106the grid searching part of the code. 
    99107This can be expensive, particularly for large numbers of observations, 
    100 setting \np{ln\_grid\_search\_lookup} allows the use of a lookup table which 
    101 is saved into an \np{cn\_gridsearch} file (or files). 
     108setting \np{ln_grid_search_lookup}{ln\_grid\_search\_lookup} allows the use of a lookup table which 
     109is saved into an \np{cn_gridsearch}{cn\_gridsearch} file (or files). 
    102110This will need to be generated the first time if it does not exist in the run directory. 
    103111However, once produced it will significantly speed up future grid searches. 
    104 Setting \np{ln\_grid\_global} means that the code distributes the observations evenly between processors. 
     112Setting \np{ln_grid_global}{ln\_grid\_global} means that the code distributes the observations evenly between processors. 
    105113Alternatively each processor will work with observations located within the model subdomain 
    106114(see \autoref{subsec:OBS_parallel}). 
     
    111119\autoref{sec:OBS_obsutils}. 
    112120 
     121%% ================================================================================================= 
    113122\section{Technical details (feedback type observation file headers)} 
    114123\label{sec:OBS_details} 
    115124 
    116 Here we show a more complete example namelist \nam{obs} and also show the NetCDF headers of 
     125Here we show a more complete example namelist \nam{obs}{obs} and also show the NetCDF headers of 
    117126the observation files that may be used with the observation operator. 
    118127 
    119 %------------------------------------------namobs-------------------------------------------------------- 
    120  
    121 \nlst{namobs} 
    122 %------------------------------------------------------------------------------------------------------------- 
     128\begin{listing} 
     129  \nlst{namobs} 
     130  \caption{\forcode{&namobs}} 
     131  \label{lst:namobs} 
     132\end{listing} 
    123133 
    124134The observation operator code uses the feedback observation file format for all data types. 
     
    127137sea surface temperature are in the following subsections. 
    128138 
     139%% ================================================================================================= 
    129140\subsection{Profile feedback file} 
    130141 
     
    283294\end{clines} 
    284295 
     296%% ================================================================================================= 
    285297\subsection{Sea level anomaly feedback file} 
    286298 
     
    429441\end{clines} 
    430442 
     443%% ================================================================================================= 
    431444\subsection{Sea surface temperature feedback file} 
    432445 
     
    546559\end{clines} 
    547560 
     561%% ================================================================================================= 
    548562\section{Theoretical details} 
    549563\label{sec:OBS_theory} 
    550564 
     565%% ================================================================================================= 
    551566\subsection{Horizontal interpolation and averaging methods} 
    552567 
     
    561576(for surface observation types only). 
    562577 
    563 The main namelist option associated with the interpolation/averaging is \np{nn\_2dint}. 
     578The main namelist option associated with the interpolation/averaging is \np{nn_2dint}{nn\_2dint}. 
    564579This default option can be set to values from 0 to 6. 
    565580Values between 0 to 4 are associated with interpolation while values 5 or 6 are associated with averaging. 
    566581\begin{itemize} 
    567 \item \np{nn\_2dint}\forcode{ = 0}: Distance-weighted interpolation 
    568 \item \np{nn\_2dint}\forcode{ = 1}: Distance-weighted interpolation (small angle) 
    569 \item \np{nn\_2dint}\forcode{ = 2}: Bilinear interpolation (geographical grid) 
    570 \item \np{nn\_2dint}\forcode{ = 3}: Bilinear remapping interpolation (general grid) 
    571 \item \np{nn\_2dint}\forcode{ = 4}: Polynomial interpolation 
    572 \item \np{nn\_2dint}\forcode{ = 5}: Radial footprint averaging with diameter specified in the namelist as 
     582\item \np[=0]{nn_2dint}{nn\_2dint}: Distance-weighted interpolation 
     583\item \np[=1]{nn_2dint}{nn\_2dint}: Distance-weighted interpolation (small angle) 
     584\item \np[=2]{nn_2dint}{nn\_2dint}: Bilinear interpolation (geographical grid) 
     585\item \np[=3]{nn_2dint}{nn\_2dint}: Bilinear remapping interpolation (general grid) 
     586\item \np[=4]{nn_2dint}{nn\_2dint}: Polynomial interpolation 
     587\item \np[=5]{nn_2dint}{nn\_2dint}: Radial footprint averaging with diameter specified in the namelist as 
    573588  \texttt{rn\_[var]\_avglamscl} in degrees or metres (set using \texttt{ln\_[var]\_fp\_indegs}) 
    574 \item \np{nn\_2dint}\forcode{ = 6}: Rectangular footprint averaging with E/W and N/S size specified in 
     589\item \np[=6]{nn_2dint}{nn\_2dint}: Rectangular footprint averaging with E/W and N/S size specified in 
    575590  the namelist as \texttt{rn\_[var]\_avglamscl} and \texttt{rn\_[var]\_avgphiscl} in degrees or metres 
    576591  (set using \texttt{ln\_[var]\_fp\_indegs}) 
     
    578593Replace \texttt{[var]} in the last two options with the observation type (sla, sst, sss or sic) for 
    579594which the averaging is to be performed (see namelist example above). 
    580 The \np{nn\_2dint} default option can be overridden for surface observation types using 
     595The \np{nn_2dint}{nn\_2dint} default option can be overridden for surface observation types using 
    581596namelist values \texttt{nn\_2dint\_[var]} where \texttt{[var]} is the observation type. 
    582597 
    583598Below is some more detail on the various options for interpolation and averaging available in \NEMO. 
    584599 
     600%% ================================================================================================= 
    585601\subsubsection{Horizontal interpolation} 
    586602 
     
    605621 
    606622\begin{enumerate} 
    607  
    608 \item[1.] {\bfseries Great-Circle distance-weighted interpolation.} 
     623\item {\bfseries Great-Circle distance-weighted interpolation.} 
    609624  The weights are computed as a function of the great-circle distance $s(P, \cdot)$ between $P$ and 
    610625  the model grid points $A$, $B$ etc. 
     
    651666   \end{alignat*} 
    652667 
    653 \item[2.] {\bfseries Great-Circle distance-weighted interpolation with small angle approximation.} 
     668\item {\bfseries Great-Circle distance-weighted interpolation with small angle approximation.} 
    654669  Similar to the previous interpolation but with the distance $s$ computed as 
    655670  \begin{alignat*}{2} 
     
    661676  where $M$ corresponds to $A$, $B$, $C$ or $D$. 
    662677 
    663 \item[3.] {\bfseries Bilinear interpolation for a regular spaced grid.} 
     678\item {\bfseries Bilinear interpolation for a regular spaced grid.} 
    664679  The interpolation is split into two 1D interpolations in the longitude and latitude directions, respectively. 
    665680 
    666 \item[4.] {\bfseries Bilinear remapping interpolation for a general grid.} 
     681\item {\bfseries Bilinear remapping interpolation for a general grid.} 
    667682  An iterative scheme that involves first mapping a quadrilateral cell into 
    668683  a cell with coordinates (0,0), (1,0), (0,1) and (1,1). 
     
    671686\end{enumerate} 
    672687 
     688%% ================================================================================================= 
    673689\subsubsection{Horizontal averaging} 
    674690 
     
    691707 
    692708Examples of the weights calculated for an observation with rectangular and radial footprints are shown in 
    693 \autoref{fig:obsavgrec} and~\autoref{fig:obsavgrad}. 
    694  
    695 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     709\autoref{fig:OBS_avgrec} and~\autoref{fig:OBS_avgrad}. 
     710 
    696711\begin{figure} 
    697   \begin{center} 
    698     \includegraphics[width=\textwidth]{Fig_OBS_avg_rec} 
    699     \caption{ 
    700       \protect\label{fig:obsavgrec} 
    701       Weights associated with each model grid box (blue lines and numbers) 
    702       for an observation at -170.5\deg{E}, 56.0\deg{N} with a rectangular footprint of 1\deg x 1\deg. 
    703     } 
    704   \end{center} 
     712  \centering 
     713  \includegraphics[width=0.66\textwidth]{Fig_OBS_avg_rec} 
     714  \caption[Observational weights with a rectangular footprint]{ 
     715    Weights associated with each model grid box (blue lines and numbers) 
     716    for an observation at -170.5\deg{E}, 56.0\deg{N} with a rectangular footprint of 1\deg\ x 1\deg.} 
     717  \label{fig:OBS_avgrec} 
    705718\end{figure} 
    706 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    707  
    708 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     719 
    709720\begin{figure} 
    710   \begin{center} 
    711     \includegraphics[width=\textwidth]{Fig_OBS_avg_rad} 
    712     \caption{ 
    713       \protect\label{fig:obsavgrad} 
    714       Weights associated with each model grid box (blue lines and numbers) 
    715       for an observation at -170.5\deg{E}, 56.0\deg{N} with a radial footprint with diameter 1\deg. 
    716     } 
    717   \end{center} 
     721  \centering 
     722  \includegraphics[width=0.66\textwidth]{Fig_OBS_avg_rad} 
     723  \caption[Observational weights with a radial footprint]{ 
     724    Weights associated with each model grid box (blue lines and numbers) 
     725    for an observation at -170.5\deg{E}, 56.0\deg{N} with a radial footprint with diameter 1\deg.} 
     726  \label{fig:OBS_avgrad} 
    718727\end{figure} 
    719 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    720  
    721  
     728 
     729%% ================================================================================================= 
    722730\subsection{Grid search} 
    723731 
     
    756764          ({\phi_{}}_{\mathrm D}  \;  - \; {\phi_{}}_{\mathrm P} )] \; \widehat{\mathbf k} \\ 
    757765  \end{array} 
    758   % \label{eq:cross} 
     766  % \label{eq:OBS_cross} 
    759767\end{align*} 
    760768point in the opposite direction to the unit normal $\widehat{\mathbf k}$ 
     
    770778the $i$ and $j$ ranges of this point searched to determine the precise four points surrounding the observation. 
    771779 
     780%% ================================================================================================= 
    772781\subsection{Parallel aspects of horizontal interpolation} 
    773782\label{subsec:OBS_parallel} 
     
    784793and 2) round-robin. 
    785794 
     795%% ================================================================================================= 
    786796\subsubsection{Geographical distribution of observations among processors} 
    787797 
    788 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    789798\begin{figure} 
    790   \begin{center} 
    791     \includegraphics[width=\textwidth]{Fig_ASM_obsdist_local} 
    792     \caption{ 
    793       \protect\label{fig:obslocal} 
    794       Example of the distribution of observations with the geographical distribution of observational data. 
    795     } 
    796   \end{center} 
     799  \centering 
     800  \includegraphics[width=0.66\textwidth]{Fig_ASM_obsdist_local} 
     801  \caption[Observations with the geographical distribution]{ 
     802    Example of the distribution of observations with 
     803    the geographical distribution of observational data} 
     804  \label{fig:OBS_local} 
    797805\end{figure} 
    798 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    799806 
    800807This is the simplest option in which the observations are distributed according to 
    801808the domain of the grid-point parallelization. 
    802 \autoref{fig:obslocal} shows an example of the distribution of the {\em in situ} data on processors with 
     809\autoref{fig:OBS_local} shows an example of the distribution of the {\em in situ} data on processors with 
    803810a different colour for each observation on a given processor for a 4 $\times$ 2 decomposition with ORCA2. 
    804811The grid-point domain decomposition is clearly visible on the plot. 
     
    813820this could lead to load imbalance. 
    814821 
     822%% ================================================================================================= 
    815823\subsubsection{Round-robin distribution of observations among processors} 
    816824 
    817 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    818825\begin{figure} 
    819   \begin{center} 
    820     \includegraphics[width=\textwidth]{Fig_ASM_obsdist_global} 
    821     \caption{ 
    822       \protect\label{fig:obsglobal} 
    823       Example of the distribution of observations with the round-robin distribution of observational data. 
    824     } 
    825   \end{center} 
     826  \centering 
     827  \includegraphics[width=0.66\textwidth]{Fig_ASM_obsdist_global} 
     828  \caption[Observations with the round-robin distribution]{ 
     829    Example of the distribution of observations with 
     830    the round-robin distribution of observational data.} 
     831  \label{fig:OBS_global} 
    826832\end{figure} 
    827 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    828833 
    829834An alternative approach is to distribute the observations equally among processors and 
    830835use message passing in order to retrieve the stencil for interpolation. 
    831836The simplest distribution of the observations is to distribute them using a round-robin scheme. 
    832 \autoref{fig:obsglobal} shows the distribution of the {\em in situ} data on processors for 
     837\autoref{fig:OBS_global} shows the distribution of the {\em in situ} data on processors for 
    833838the round-robin distribution of observations with a different colour for each observation on a given processor for 
    834 a 4 $\times$ 2 decomposition with ORCA2 for the same input data as in \autoref{fig:obslocal}. 
     839a 4 $\times$ 2 decomposition with ORCA2 for the same input data as in \autoref{fig:OBS_local}. 
    835840The observations are now clearly randomly distributed on the globe. 
    836841In order to be able to perform horizontal interpolation in this case, 
    837842a subroutine has been developed that retrieves any grid points in the global space. 
    838843 
     844%% ================================================================================================= 
    839845\subsection{Vertical interpolation operator} 
    840846 
     
    846852For profile observation types we do both vertical and horizontal interpolation. \NEMO\ has a generalised vertical coordinate system this means the vertical level depths can vary with location. Therefore, it is necessary first to perform vertical interpolation of the model value to the observation depths for each of the four surrounding grid points. After this the model values, at these points, at the observation depth, are horizontally interpolated to the observation location. 
    847853 
    848 \newpage 
    849  
    850 % ================================================================ 
    851 % Standalone observation operator documentation 
    852 % ================================================================ 
    853  
    854854%\usepackage{framed} 
    855855 
     856%% ================================================================================================= 
    856857\section{Standalone observation operator} 
    857858\label{sec:OBS_sao} 
    858859 
     860%% ================================================================================================= 
    859861\subsection{Concept} 
    860862 
     
    873875By forecast, we mean any method which produces an estimate of physical reality which is not an observed value. 
    874876 
    875 %-------------------------------------------------------------------------------------------------------- 
    876877% sao.exe 
    877 %-------------------------------------------------------------------------------------------------------- 
    878  
     878 
     879%% ================================================================================================= 
    879880\subsection{Using the standalone observation operator} 
    880881 
     882%% ================================================================================================= 
    881883\subsubsection{Building} 
    882884 
     
    886888Note this a similar approach to that taken by the standalone surface scheme \emph{SAS\_SRC} and the offline TOP model \emph{OFF\_SRC}. 
    887889 
    888 %-------------------------------------------------------------------------------------------------------- 
    889890% Running 
    890 %-------------------------------------------------------------------------------------------------------- 
     891%% ================================================================================================= 
    891892\subsubsection{Running} 
    892893 
     
    894895a full \NEMO\ namelist and then to run the executable as if it were nemo.exe. 
    895896 
    896 %-------------------------------------------------------------------------------------------------------- 
    897897% Configuration section 
    898 %-------------------------------------------------------------------------------------------------------- 
     898%% ================================================================================================= 
    899899\subsection{Configuring the standalone observation operator} 
    900 The observation files and settings understood by \nam{obs} have been outlined in the online observation operator section. 
    901 In addition is a further namelist \nam{sao} which used to set the input model fields for the SAO 
    902  
     900The observation files and settings understood by \nam{obs}{obs} have been outlined in the online observation operator section. 
     901In addition is a further namelist \nam{sao}{sao} which used to set the input model fields for the SAO 
     902 
     903%% ================================================================================================= 
    903904\subsubsection{Single field} 
    904905 
     
    909910\textbf{votemper}, \textbf{vosaline} and optionally \textbf{sshn} present. 
    910911 
    911 For each field read there must be an entry in the \nam{sao} namelist specifying 
     912For each field read there must be an entry in the \nam{sao}{sao} namelist specifying 
    912913the name of the file to read and the index along the \emph{time\_counter}. 
    913914For example, to read the second time counter from a single file the namelist would be. 
     
    925926\end{forlines} 
    926927 
     928%% ================================================================================================= 
    927929\subsubsection{Multiple fields per run} 
    928930 
     
    960962This approach is referred to as \emph{Class 4} since it is the fourth metric defined by the GODAE intercomparison project. This requires multiple runs of the SAO and running an additional utility (not currently in the \NEMO\ repository) to combine the feedback files into one class 4 file. 
    961963 
    962 \newpage 
    963  
     964%% ================================================================================================= 
    964965\section{Observation utilities} 
    965966\label{sec:OBS_obsutils} 
     
    967968For convenience some tools for viewing and processing of observation and feedback files are provided in 
    968969the \NEMO\ repository. 
    969 These tools include OBSTOOLS which are a collection of \fortran programs which are helpful to deal with feedback files. 
     970These tools include OBSTOOLS which are a collection of \fortran\ programs which are helpful to deal with feedback files. 
    970971They do such tasks as observation file conversion, printing of file contents, 
    971972some basic statistical analysis of feedback files. 
     
    974975OBSTOOLS and dataplot are described in more detail below. 
    975976 
     977%% ================================================================================================= 
    976978\subsection{Obstools} 
    977979 
    978 A series of \fortran utilities is provided with \NEMO\ called OBSTOOLS. 
     980A series of \fortran\ utilities is provided with \NEMO\ called OBSTOOLS. 
    979981This are helpful in handling observation files and the feedback file output from the observation operator. A brief description of some of the utilities follows 
    980982 
     983%% ================================================================================================= 
    981984\subsubsection{corio2fb} 
    982985 
     
    988991\end{cmds} 
    989992 
     993%% ================================================================================================= 
    990994\subsubsection{enact2fb} 
    991995 
     
    9971001\end{cmds} 
    9981002 
     1003%% ================================================================================================= 
    9991004\subsubsection{fbcomb} 
    10001005 
     
    10071012\end{cmds} 
    10081013 
     1014%% ================================================================================================= 
    10091015\subsubsection{fbmatchup} 
    10101016 
     
    10161022\end{cmds} 
    10171023 
     1024%% ================================================================================================= 
    10181025\subsubsection{fbprint} 
    10191026 
     
    10441051\end{cmds} 
    10451052 
     1053%% ================================================================================================= 
    10461054\subsubsection{fbsel} 
    10471055 
     
    10531061\end{cmds} 
    10541062 
     1063%% ================================================================================================= 
    10551064\subsubsection{fbstat} 
    10561065 
     
    10621071\end{cmds} 
    10631072 
     1073%% ================================================================================================= 
    10641074\subsubsection{fbthin} 
    10651075 
     
    10721082\end{cmds} 
    10731083 
     1084%% ================================================================================================= 
    10741085\subsubsection{sla2fb} 
    10751086 
     
    10841095\end{cmds} 
    10851096 
     1097%% ================================================================================================= 
    10861098\subsubsection{vel2fb} 
    10871099 
     
    10931105\end{cmds} 
    10941106 
     1107%% ================================================================================================= 
    10951108\subsection{Building the obstools} 
    10961109 
    10971110To build the obstools use in the tools directory use ./maketools -n OBSTOOLS -m [ARCH]. 
    10981111 
     1112%% ================================================================================================= 
    10991113\subsection{Dataplot} 
    11001114 
     
    11181132\end{minted} 
    11191133 
    1120 \autoref{fig:obsdataplotmain} shows the main window which is launched when dataplot starts. 
     1134\autoref{fig:OBS_dataplotmain} shows the main window which is launched when dataplot starts. 
    11211135This is split into three parts. 
    11221136At the top there is a menu bar which contains a variety of drop down menus. 
     
    11481162The rightmost group of buttons will print the plot window as a postscript, save it as png, or exit from dataplot. 
    11491163 
    1150 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    11511164\begin{figure} 
    1152   \begin{center} 
    1153     % \includegraphics[width=\textwidth]{Fig_OBS_dataplot_main} 
    1154     \includegraphics[width=\textwidth]{Fig_OBS_dataplot_main} 
    1155     \caption{ 
    1156       \protect\label{fig:obsdataplotmain} 
    1157       Main window of dataplot. 
    1158     } 
    1159   \end{center} 
     1165  \centering 
     1166  \includegraphics[width=0.66\textwidth]{Fig_OBS_dataplot_main} 
     1167  \caption{Main window of dataplot} 
     1168  \label{fig:OBS_dataplotmain} 
    11601169\end{figure} 
    1161 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    11621170 
    11631171If a profile point is clicked with the mouse button a plot of the observation and background values as 
    1164 a function of depth (\autoref{fig:obsdataplotprofile}). 
    1165  
    1166 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1172a function of depth (\autoref{fig:OBS_dataplotprofile}). 
     1173 
    11671174\begin{figure} 
    1168   \begin{center} 
    1169     % \includegraphics[width=\textwidth]{Fig_OBS_dataplot_prof} 
    1170     \includegraphics[width=\textwidth]{Fig_OBS_dataplot_prof} 
    1171     \caption{ 
    1172       \protect\label{fig:obsdataplotprofile} 
    1173       Profile plot from dataplot produced by right clicking on a point in the main window. 
    1174     } 
    1175   \end{center} 
     1175  \centering 
     1176  \includegraphics[width=0.66\textwidth]{Fig_OBS_dataplot_prof} 
     1177  \caption[Profile plot from dataplot]{ 
     1178    Profile plot from dataplot produced by right clicking on a point in the main window} 
     1179  \label{fig:OBS_dataplotprofile} 
    11761180\end{figure} 
    1177 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1178  
    1179 \biblio 
    1180  
    1181 \pindex 
     1181 
     1182\onlyinsubfile{\input{../../global/epilogue}} 
    11821183 
    11831184\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_SBC.tex

    r11435 r11799  
    33\begin{document} 
    44 
    5 % ================================================================ 
    6 % Chapter —— Surface Boundary Condition (SBC, SAS, ISF, ICB) 
    7 % ================================================================ 
    85\chapter{Surface Boundary Condition (SBC, SAS, ISF, ICB)} 
    96\label{chap:SBC} 
     7 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
    1111 
    12 \newpage 
    13  
    14 %---------------------------------------namsbc-------------------------------------------------- 
    15  
    16 \nlst{namsbc} 
    17 %-------------------------------------------------------------------------------------------------------------- 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
     26 
     27\begin{listing} 
     28  \nlst{namsbc} 
     29  \caption{\forcode{&namsbc}} 
     30  \label{lst:namsbc} 
     31\end{listing} 
    1832 
    1933The ocean needs seven fields as surface boundary condition: 
    2034 
    2135\begin{itemize} 
    22 \item 
    23   the two components of the surface ocean stress $\left( {\tau_u \;,\;\tau_v} \right)$ 
    24 \item 
    25   the incoming solar and non solar heat fluxes $\left( {Q_{ns} \;,\;Q_{sr} } \right)$ 
    26 \item 
    27   the surface freshwater budget $\left( {\textit{emp}} \right)$ 
    28 \item 
    29   the surface salt flux associated with freezing/melting of seawater $\left( {\textit{sfx}} \right)$ 
    30 \item 
    31   the atmospheric pressure at the ocean surface $\left( p_a \right)$ 
     36\item the two components of the surface ocean stress $\left( {\tau_u \;,\;\tau_v} \right)$ 
     37\item the incoming solar and non solar heat fluxes $\left( {Q_{ns} \;,\;Q_{sr} } \right)$ 
     38\item the surface freshwater budget $\left( {\textit{emp}} \right)$ 
     39\item the surface salt flux associated with freezing/melting of seawater $\left( {\textit{sfx}} \right)$ 
     40\item the atmospheric pressure at the ocean surface $\left( p_a \right)$ 
    3241\end{itemize} 
    3342 
    3443Four different ways are available to provide the seven fields to the ocean. They are controlled by 
    35 namelist \nam{sbc} variables: 
     44namelist \nam{sbc}{sbc} variables: 
    3645 
    3746\begin{itemize} 
    38 \item 
    39   a bulk formulation (\np{ln\_blk}\forcode{ = .true.} with four possible bulk algorithms), 
    40 \item 
    41   a flux formulation (\np{ln\_flx}\forcode{ = .true.}), 
    42 \item 
    43   a coupled or mixed forced/coupled formulation (exchanges with a atmospheric model via the OASIS coupler), 
    44 (\np{ln\_cpl} or \np{ln\_mixcpl}\forcode{ = .true.}), 
    45 \item 
    46   a user defined formulation (\np{ln\_usr}\forcode{ = .true.}). 
     47\item a bulk formulation (\np[=.true.]{ln_blk}{ln\_blk} with four possible bulk algorithms), 
     48\item a flux formulation (\np[=.true.]{ln_flx}{ln\_flx}), 
     49\item a coupled or mixed forced/coupled formulation (exchanges with a atmospheric model via the OASIS coupler), 
     50(\np{ln_cpl}{ln\_cpl} or \np[=.true.]{ln_mixcpl}{ln\_mixcpl}), 
     51\item a user defined formulation (\np[=.true.]{ln_usr}{ln\_usr}). 
    4752\end{itemize} 
    4853 
    49 The frequency at which the forcing fields have to be updated is given by the \np{nn\_fsbc} namelist parameter. 
     54The frequency at which the forcing fields have to be updated is given by the \np{nn_fsbc}{nn\_fsbc} namelist parameter. 
    5055 
    5156When the fields are supplied from data files (bulk, flux and mixed formulations), 
     
    6166 
    6267\begin{itemize} 
    63 \item 
    64   the rotation of vector components supplied relative to an east-north coordinate system onto 
     68\item the rotation of vector components supplied relative to an east-north coordinate system onto 
    6569  the local grid directions in the model, 
    66 \item 
    67   the use of a land/sea mask for input fields (\np{nn\_lsm}\forcode{ = .true.}), 
    68 \item 
    69   the addition of a surface restoring term to observed SST and/or SSS (\np{ln\_ssr}\forcode{ = .true.}), 
    70 \item 
    71   the modification of fluxes below ice-covered areas (using climatological ice-cover or a sea-ice model) 
    72   (\np{nn\_ice}\forcode{ = 0..3}), 
    73 \item 
    74   the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np{ln\_rnf}\forcode{ = .true.}), 
    75 \item 
    76   the addition of ice-shelf melting as lateral inflow (parameterisation) or 
    77   as fluxes applied at the land-ice ocean interface (\np{ln\_isf}\forcode{ = .true.}), 
    78 \item 
    79   the addition of a freshwater flux adjustment in order to avoid a mean sea-level drift 
    80   (\np{nn\_fwb}\forcode{ = 0..2}), 
    81 \item 
    82   the transformation of the solar radiation (if provided as daily mean) into an analytical diurnal cycle 
    83   (\np{ln\_dm2dc}\forcode{ = .true.}), 
    84 \item 
    85   the activation of wave effects from an external wave model  (\np{ln\_wave}\forcode{ = .true.}), 
    86 \item 
    87   a neutral drag coefficient is read from an external wave model (\np{ln\_cdgw}\forcode{ = .true.}), 
    88 \item 
    89   the Stokes drift from an external wave model is accounted for (\np{ln\_sdw}\forcode{ = .true.}), 
    90 \item 
    91   the choice of the Stokes drift profile parameterization (\np{nn\_sdrift}\forcode{ = 0..2}), 
    92 \item 
    93   the surface stress given to the ocean is modified by surface waves (\np{ln\_tauwoc}\forcode{ = .true.}), 
    94 \item 
    95   the surface stress given to the ocean is read from an external wave model (\np{ln\_tauw}\forcode{ = .true.}), 
    96 \item 
    97   the Stokes-Coriolis term is included (\np{ln\_stcor}\forcode{ = .true.}), 
    98 \item 
    99   the light penetration in the ocean (\np{ln\_traqsr}\forcode{ = .true.} with namelist \nam{tra\_qsr}), 
    100 \item 
    101   the atmospheric surface pressure gradient effect on ocean and ice dynamics (\np{ln\_apr\_dyn}\forcode{ = .true.} with namelist \nam{sbc\_apr}), 
    102 \item 
    103   the effect of sea-ice pressure on the ocean (\np{ln\_ice\_embd}\forcode{ = .true.}). 
     70\item the use of a land/sea mask for input fields (\np[=.true.]{nn_lsm}{nn\_lsm}), 
     71\item the addition of a surface restoring term to observed SST and/or SSS (\np[=.true.]{ln_ssr}{ln\_ssr}), 
     72\item the modification of fluxes below ice-covered areas (using climatological ice-cover or a sea-ice model) 
     73  (\np[=0..3]{nn_ice}{nn\_ice}), 
     74\item the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np[=.true.]{ln_rnf}{ln\_rnf}), 
     75\item the addition of ice-shelf melting as lateral inflow (parameterisation) or 
     76  as fluxes applied at the land-ice ocean interface (\np[=.true.]{ln_isf}{ln\_isf}), 
     77\item the addition of a freshwater flux adjustment in order to avoid a mean sea-level drift 
     78  (\np[=0..2]{nn_fwb}{nn\_fwb}), 
     79\item the transformation of the solar radiation (if provided as daily mean) into an analytical diurnal cycle 
     80  (\np[=.true.]{ln_dm2dc}{ln\_dm2dc}), 
     81\item the activation of wave effects from an external wave model  (\np[=.true.]{ln_wave}{ln\_wave}), 
     82\item a neutral drag coefficient is read from an external wave model (\np[=.true.]{ln_cdgw}{ln\_cdgw}), 
     83\item the Stokes drift from an external wave model is accounted for (\np[=.true.]{ln_sdw}{ln\_sdw}), 
     84\item the choice of the Stokes drift profile parameterization (\np[=0..2]{nn_sdrift}{nn\_sdrift}), 
     85\item the surface stress given to the ocean is modified by surface waves (\np[=.true.]{ln_tauwoc}{ln\_tauwoc}), 
     86\item the surface stress given to the ocean is read from an external wave model (\np[=.true.]{ln_tauw}{ln\_tauw}), 
     87\item the Stokes-Coriolis term is included (\np[=.true.]{ln_stcor}{ln\_stcor}), 
     88\item the light penetration in the ocean (\np[=.true.]{ln_traqsr}{ln\_traqsr} with namelist \nam{tra_qsr}{tra\_qsr}), 
     89\item the atmospheric surface pressure gradient effect on ocean and ice dynamics (\np[=.true.]{ln_apr_dyn}{ln\_apr\_dyn} with namelist \nam{sbc_apr}{sbc\_apr}), 
     90\item the effect of sea-ice pressure on the ocean (\np[=.true.]{ln_ice_embd}{ln\_ice\_embd}). 
    10491\end{itemize} 
    10592 
     
    10996Next, the scheme for interpolation on the fly is described. 
    11097Finally, the different options that further modify the fluxes applied to the ocean are discussed. 
    111 One of these is modification by icebergs (see \autoref{sec:ICB_icebergs}), 
     98One of these is modification by icebergs (see \autoref{sec:SBC_ICB_icebergs}), 
    11299which act as drifting sources of fresh water. 
    113100Another example of modification is that due to the ice shelf melting/freezing (see \autoref{sec:SBC_isf}), 
    114101which provides additional sources of fresh water. 
    115102 
    116  
    117  
    118 % ================================================================ 
    119 % Surface boundary condition for the ocean 
    120 % ================================================================ 
     103%% ================================================================================================= 
    121104\section{Surface boundary condition for the ocean} 
    122105\label{sec:SBC_ocean} 
     
    124107The surface ocean stress is the stress exerted by the wind and the sea-ice on the ocean. 
    125108It is applied in \mdl{dynzdf} module as a surface boundary condition of the computation of 
    126 the momentum vertical mixing trend (see \autoref{eq:dynzdf_sbc} in \autoref{sec:DYN_zdf}). 
     109the momentum vertical mixing trend (see \autoref{eq:DYN_zdf_sbc} in \autoref{sec:DYN_zdf}). 
    127110As such, it has to be provided as a 2D vector interpolated onto the horizontal velocity ocean mesh, 
    128111\ie\ resolved onto the model (\textbf{i},\textbf{j}) direction at $u$- and $v$-points. 
     
    135118It is applied in \mdl{trasbc} module as a surface boundary condition trend of 
    136119the first level temperature time evolution equation 
    137 (see \autoref{eq:tra_sbc} and \autoref{eq:tra_sbc_lin} in \autoref{subsec:TRA_sbc}). 
     120(see \autoref{eq:TRA_sbc} and \autoref{eq:TRA_sbc_lin} in \autoref{subsec:TRA_sbc}). 
    138121The latter is the penetrative part of the heat flux. 
    139122It is applied as a 3D trend of the temperature equation (\mdl{traqsr} module) when 
    140 \np{ln\_traqsr}\forcode{ = .true.}. 
     123\np[=.true.]{ln_traqsr}{ln\_traqsr}. 
    141124The way the light penetrates inside the water column is generally a sum of decreasing exponentials 
    142125(see \autoref{subsec:TRA_qsr}). 
     
    151134the mass exchanged with atmosphere, sea-ice and ice shelves. 
    152135 
    153  
    154136%\colorbox{yellow}{Miss: } 
    155 % 
    156137%A extensive description of all namsbc namelist (parameter that have to be 
    157138%created!) 
    158 % 
    159 %Especially the \np{nn\_fsbc}, the \mdl{sbc\_oce} module (fluxes + mean sst sss ssu 
     139%Especially the \np{nn_fsbc}{nn\_fsbc}, the \mdl{sbc\_oce} module (fluxes + mean sst sss ssu 
    160140%ssv) \ie\ information required by flux computation or sea-ice 
    161 % 
    162141%\mdl{sbc\_oce} containt the definition in memory of the 7 fields (6+runoff), add 
    163142%a word on runoff: included in surface bc or add as lateral obc{\ldots}. 
    164 % 
    165143%Sbcmod manage the ``providing'' (fourniture) to the ocean the 7 fields 
    166 % 
    167144%Fluxes update only each nf\_sbc time step (namsbc) explain relation 
    168145%between nf\_sbc and nf\_ice, do we define nf\_blk??? ? only one 
    169146%nf\_sbc 
    170 % 
    171147%Explain here all the namlist namsbc variable{\ldots}. 
    172 % 
    173148% explain : use or not of surface currents 
    174 % 
    175149%\colorbox{yellow}{End Miss } 
    176150 
    177151The ocean model provides, at each time step, to the surface module (\mdl{sbcmod}) 
    178152the surface currents, temperature and salinity. 
    179 These variables are averaged over \np{nn\_fsbc} time-step (\autoref{tab:ssm}), and 
    180 these averaged fields are used to compute the surface fluxes at the frequency of \np{nn\_fsbc} time-steps. 
    181  
    182  
    183 %-------------------------------------------------TABLE--------------------------------------------------- 
     153These variables are averaged over \np{nn_fsbc}{nn\_fsbc} time-step (\autoref{tab:SBC_ssm}), and 
     154these averaged fields are used to compute the surface fluxes at the frequency of \np{nn_fsbc}{nn\_fsbc} time-steps. 
     155 
    184156\begin{table}[tb] 
    185   \begin{center} 
    186     \begin{tabular}{|l|l|l|l|} 
    187       \hline 
    188       Variable description                         & Model variable  & Units  & point                 \\\hline 
    189       i-component of the surface current  & ssu\_m               & $m.s^{-1}$     & U     \\\hline 
    190       j-component of the surface current  & ssv\_m               & $m.s^{-1}$     & V     \\ \hline 
    191       Sea surface temperature                & sst\_m               & \r{}$K$              & T     \\\hline 
    192       Sea surface salinty                          & sss\_m               & $psu$              & T     \\   \hline 
    193     \end{tabular} 
    194     \caption{ 
    195       \protect\label{tab:ssm} 
    196       Ocean variables provided by the ocean to the surface module (SBC). 
    197       The variable are averaged over \np{nn\_fsbc} time-step, 
    198       \ie\ the frequency of computation of surface fluxes. 
    199     } 
    200   \end{center} 
     157  \centering 
     158  \begin{tabular}{|l|l|l|l|} 
     159    \hline 
     160    Variable description                           & Model variable  & Units  & point                 \\ 
     161    \hline 
     162    i-component of the surface current & ssu\_m               & $m.s^{-1}$     & U     \\ 
     163    \hline 
     164    j-component of the surface current & ssv\_m               & $m.s^{-1}$     & V     \\ 
     165    \hline 
     166    Sea surface temperature                  & sst\_m               & \r{}$K$              & T     \\\hline 
     167    Sea surface salinty                         & sss\_m               & $psu$              & T     \\   \hline 
     168  \end{tabular} 
     169  \caption[Ocean variables provided to the surface module)]{ 
     170    Ocean variables provided to the surface module (\texttt{SBC}). 
     171    The variable are averaged over \protect\np{nn_fsbc}{nn\_fsbc} time-step, 
     172    \ie\ the frequency of computation of surface fluxes.} 
     173  \label{tab:SBC_ssm} 
    201174\end{table} 
    202 %-------------------------------------------------------------------------------------------------------------- 
    203175 
    204176%\colorbox{yellow}{Penser a} mettre dans le restant l'info nn\_fsbc ET nn\_fsbc*rdt de sorte de reinitialiser la moyenne si on change la frequence ou le pdt 
    205177 
    206  
    207  
    208 % ================================================================ 
    209 %       Input Data 
    210 % ================================================================ 
     178%% ================================================================================================= 
    211179\section{Input data generic interface} 
    212180\label{sec:SBC_input} 
     
    217185The module is designed with four main objectives in mind: 
    218186\begin{enumerate} 
    219 \item 
    220   optionally provide a time interpolation of the input data every specified model time-step, whatever their input frequency is, 
     187\item optionally provide a time interpolation of the input data every specified model time-step, whatever their input frequency is, 
    221188  and according to the different calendars available in the model. 
    222 \item 
    223   optionally provide an on-the-fly space interpolation from the native input data grid to the model grid. 
    224 \item 
    225   make the run duration independent from the period cover by the input files. 
    226 \item 
    227   provide a simple user interface and a rather simple developer interface by 
     189\item optionally provide an on-the-fly space interpolation from the native input data grid to the model grid. 
     190\item make the run duration independent from the period cover by the input files. 
     191\item provide a simple user interface and a rather simple developer interface by 
    228192  limiting the number of prerequisite informations. 
    229193\end{enumerate} 
     
    242206 
    243207Note that when an input data is archived on a disc which is accessible directly from the workspace where 
    244 the code is executed, then the user can set the \np{cn\_dir} to the pathway leading to the data. 
     208the code is executed, then the user can set the \np{cn_dir}{cn\_dir} to the pathway leading to the data. 
    245209By default, the data are assumed to be in the same directory as the executable, so that cn\_dir='./'. 
    246210 
    247  
    248 % ------------------------------------------------------------------------------------------------------------- 
    249 % Input Data specification (\mdl{fldread}) 
    250 % ------------------------------------------------------------------------------------------------------------- 
    251 \subsection[Input data specification (\textit{fldread.F90})] 
    252 {Input data specification (\protect\mdl{fldread})} 
     211%% ================================================================================================= 
     212\subsection[Input data specification (\textit{fldread.F90})]{Input data specification (\protect\mdl{fldread})} 
    253213\label{subsec:SBC_fldread} 
    254214 
     
    260220where 
    261221\begin{description} 
    262 \item[File name]: 
    263   the stem name of the NetCDF file to be opened. 
     222\item [File name]: the stem name of the NetCDF file to be opened. 
    264223  This stem will be completed automatically by the model, with the addition of a '.nc' at its end and 
    265224  by date information and possibly a prefix (when using AGRIF). 
    266   \autoref{tab:fldread} provides the resulting file name in all possible cases according to 
     225  \autoref{tab:SBC_fldread} provides the resulting file name in all possible cases according to 
    267226  whether it is a climatological file or not, and to the open/close frequency (see below for definition). 
    268  
    269 %--------------------------------------------------TABLE-------------------------------------------------- 
    270227  \begin{table}[htbp] 
    271     \begin{center} 
    272       \begin{tabular}{|l|c|c|c|} 
    273         \hline 
    274                                         &  daily or weekLL     &  monthly           &  yearly        \\   \hline 
    275         \np{clim}\forcode{ = .false.}  &  fn\_yYYYYmMMdDD.nc  &  fn\_yYYYYmMM.nc   &  fn\_yYYYY.nc  \\   \hline 
    276         \np{clim}\forcode{ = .true.}   &  not possible        &  fn\_m??.nc        &  fn            \\   \hline 
    277       \end{tabular} 
    278     \end{center} 
    279     \caption{ 
    280       \protect\label{tab:fldread} 
    281       naming nomenclature for climatological or interannual input file(s), as a function of the open/close frequency. 
     228    \centering 
     229    \begin{tabular}{|l|c|c|c|} 
     230      \hline 
     231                                  &  daily or weekLL     &  monthly           &  yearly        \\ 
     232      \hline 
     233      \np[=.false.]{clim}{clim} &  fn\_yYYYYmMMdDD.nc  &  fn\_yYYYYmMM.nc   &  fn\_yYYYY.nc  \\ 
     234      \hline 
     235      \np[=.true.]{clim}{clim}  &  not possible        &  fn\_m??.nc        &  fn            \\ 
     236      \hline 
     237    \end{tabular} 
     238    \caption[Naming nomenclature for climatological or interannual input file]{ 
     239      Naming nomenclature for climatological or interannual input file, 
     240      as a function of the open/close frequency. 
    282241      The stem name is assumed to be 'fn'. 
    283242      For weekly files, the 'LLL' corresponds to the first three letters of the first day of the week 
    284243      (\ie\ 'sun','sat','fri','thu','wed','tue','mon'). 
    285       The 'YYYY', 'MM' and 'DD' should be replaced by the actual year/month/day, always coded with 4 or 2 digits. 
    286       Note that (1) in mpp, if the file is split over each subdomain, the suffix '.nc' is replaced by '\_PPPP.nc', 
     244      The 'YYYY', 'MM' and 'DD' should be replaced by the actual year/month/day, 
     245      always coded with 4 or 2 digits. 
     246      Note that (1) in mpp, if the file is split over each subdomain, 
     247      the suffix '.nc' is replaced by '\_PPPP.nc', 
    287248      where 'PPPP' is the process number coded with 4 digits; 
    288249      (2) when using AGRIF, the prefix '\_N' is added to files, where 'N' is the child grid number. 
    289250    } 
     251    \label{tab:SBC_fldread} 
    290252  \end{table} 
    291 %-------------------------------------------------------------------------------------------------------------- 
    292  
    293  
    294 \item[Record frequency]: 
    295   the frequency of the records contained in the input file. 
     253\item [Record frequency]: the frequency of the records contained in the input file. 
    296254  Its unit is in hours if it is positive (for example 24 for daily forcing) or in months if negative 
    297255  (for example -1 for monthly forcing or -12 for annual forcing). 
    298256  Note that this frequency must REALLY be an integer and not a real. 
    299257  On some computers, setting it to '24.' can be interpreted as 240! 
    300  
    301 \item[Variable name]: 
    302   the name of the variable to be read in the input NetCDF file. 
    303  
    304 \item[Time interpolation]: 
    305   a logical to activate, or not, the time interpolation. 
     258\item [Variable name]: the name of the variable to be read in the input NetCDF file. 
     259\item [Time interpolation]: a logical to activate, or not, the time interpolation. 
    306260  If set to 'false', the forcing will have a steplike shape remaining constant during each forcing period. 
    307261  For example, when using a daily forcing without time interpolation, the forcing remaining constant from 
     
    311265  For example, when using a daily forcing with time interpolation, 
    312266  linear interpolation will be performed between mid-day of two consecutive days. 
    313  
    314 \item[Climatological forcing]: 
    315   a logical to specify if a input file contains climatological forcing which can be cycle in time, 
     267\item [Climatological forcing]: a logical to specify if a input file contains climatological forcing which can be cycle in time, 
    316268  or an interannual forcing which will requires additional files if 
    317269  the period covered by the simulation exceeds the one of the file. 
    318270  See the above file naming strategy which impacts the expected name of the file to be opened. 
    319  
    320 \item[Open/close frequency]: 
    321   the frequency at which forcing files must be opened/closed. 
     271\item [Open/close frequency]: the frequency at which forcing files must be opened/closed. 
    322272  Four cases are coded: 
    323273  'daily', 'weekLLL' (with 'LLL' the first 3 letters of the first day of the week), 'monthly' and 'yearly' which 
     
    326276  For example, the first record of a yearly file containing daily data is Jan 1st even if 
    327277  the experiment is not starting at the beginning of the year. 
    328  
    329 \item[Others]: 
    330   'weights filename', 'pairing rotation' and 'land/sea mask' are associated with 
     278\item [Others]:  'weights filename', 'pairing rotation' and 'land/sea mask' are associated with 
    331279  on-the-fly interpolation which is described in \autoref{subsec:SBC_iof}. 
    332  
    333280\end{description} 
    334281 
     
    341288a time interpolation will be performed at the following time: 0h30'00", 1h30'00", 2h30'00", etc. 
    342289However, for forcing data related to the surface module, 
    343 values are not needed at every time-step but at every \np{nn\_fsbc} time-step. 
    344 For example with \np{nn\_fsbc}\forcode{ = 3}, the surface module will be called at time-steps 1, 4, 7, etc. 
    345 The date used for the time interpolation is thus redefined to the middle of \np{nn\_fsbc} time-step period. 
     290values are not needed at every time-step but at every \np{nn_fsbc}{nn\_fsbc} time-step. 
     291For example with \np[=3]{nn_fsbc}{nn\_fsbc}, the surface module will be called at time-steps 1, 4, 7, etc. 
     292The date used for the time interpolation is thus redefined to the middle of \np{nn_fsbc}{nn\_fsbc} time-step period. 
    346293In the previous example, this leads to: 1h30'00", 4h30'00", 7h30'00", etc. \\ 
    347294(2) For code readablility and maintenance issues, we don't take into account the NetCDF input file calendar. 
     
    368315a useful feature for user considering that it is too heavy to manipulate the complete file for year Y-1. 
    369316 
    370  
    371 % ------------------------------------------------------------------------------------------------------------- 
    372 % Interpolation on the Fly 
    373 % ------------------------------------------------------------------------------------------------------------- 
     317%% ================================================================================================= 
    374318\subsection{Interpolation on-the-fly} 
    375319\label{subsec:SBC_iof} 
     
    394338Note that nn\_lsm=0 forces the code to not apply the procedure, even if a land/sea mask file is supplied. 
    395339 
    396  
    397 % ------------------------------------------------------------------------------------------------------------- 
    398 % Bilinear interpolation 
    399 % ------------------------------------------------------------------------------------------------------------- 
     340%% ================================================================================================= 
    400341\subsubsection{Bilinear interpolation} 
    401342\label{subsec:SBC_iof_bilinear} 
     
    419360and wgt(1) corresponds to variable "wgt01" for example. 
    420361 
    421  
    422 % ------------------------------------------------------------------------------------------------------------- 
    423 % Bicubic interpolation 
    424 % ------------------------------------------------------------------------------------------------------------- 
     362%% ================================================================================================= 
    425363\subsubsection{Bicubic interpolation} 
    426364\label{subsec:SBC_iof_bicubic} 
     
    441379the spatial dependency has been included into the weights. 
    442380 
    443  
    444 % ------------------------------------------------------------------------------------------------------------- 
    445 % Implementation 
    446 % ------------------------------------------------------------------------------------------------------------- 
     381%% ================================================================================================= 
    447382\subsubsection{Implementation} 
    448383\label{subsec:SBC_iof_imp} 
     
    480415or is a copy of one from the first few columns on the opposite side of the grid (cyclical case). 
    481416 
    482  
    483 % ------------------------------------------------------------------------------------------------------------- 
    484 % Limitations 
    485 % ------------------------------------------------------------------------------------------------------------- 
     417%% ================================================================================================= 
    486418\subsubsection{Limitations} 
    487419\label{subsec:SBC_iof_lim} 
    488420 
    489421\begin{enumerate} 
    490 \item 
    491   The case where input data grids are not logically rectangular (irregular grid case) has not been tested. 
    492 \item 
    493   This code is not guaranteed to produce positive definite answers from positive definite inputs when 
     422\item The case where input data grids are not logically rectangular (irregular grid case) has not been tested. 
     423\item This code is not guaranteed to produce positive definite answers from positive definite inputs when 
    494424  a bicubic interpolation method is used. 
    495 \item 
    496   The cyclic condition is only applied on left and right columns, and not to top and bottom rows. 
    497 \item 
    498   The gradients across the ends of a cyclical grid assume that the grid spacing between 
     425\item The cyclic condition is only applied on left and right columns, and not to top and bottom rows. 
     426\item The gradients across the ends of a cyclical grid assume that the grid spacing between 
    499427  the two columns involved are consistent with the weights used. 
    500 \item 
    501   Neither interpolation scheme is conservative. (There is a conservative scheme available in SCRIP, 
     428\item Neither interpolation scheme is conservative. (There is a conservative scheme available in SCRIP, 
    502429  but this has not been implemented.) 
    503430\end{enumerate} 
    504431 
     432%% ================================================================================================= 
    505433\subsubsection{Utilities} 
    506434\label{subsec:SBC_iof_util} 
     
    510438(see the directory NEMOGCM/TOOLS/WEIGHTS). 
    511439 
    512  
    513 % ------------------------------------------------------------------------------------------------------------- 
    514 % Standalone Surface Boundary Condition Scheme 
    515 % ------------------------------------------------------------------------------------------------------------- 
     440%% ================================================================================================= 
    516441\subsection{Standalone surface boundary condition scheme (SAS)} 
    517 \label{subsec:SAS} 
    518  
    519 %---------------------------------------namsbc_sas-------------------------------------------------- 
    520  
    521 \nlst{namsbc_sas} 
    522 %-------------------------------------------------------------------------------------------------------------- 
     442\label{subsec:SBC_SAS} 
     443 
     444\begin{listing} 
     445  \nlst{namsbc_sas} 
     446  \caption{\forcode{&namsbc_sas}} 
     447  \label{lst:namsbc_sas} 
     448\end{listing} 
    523449 
    524450In some circumstances, it may be useful to avoid calculating the 3D temperature, 
     
    527453 
    528454\begin{itemize} 
    529 \item 
    530   Multiple runs of the model are required in code development to 
     455\item Multiple runs of the model are required in code development to 
    531456  see the effect of different algorithms in the bulk formulae. 
    532 \item 
    533   The effect of different parameter sets in the ice model is to be examined. 
    534 \item 
    535   Development of sea-ice algorithms or parameterizations. 
    536 \item 
    537   Spinup of the iceberg floats 
    538 \item 
    539   Ocean/sea-ice simulation with both models running in parallel (\np{ln\_mixcpl}\forcode{ = .true.}) 
     457\item The effect of different parameter sets in the ice model is to be examined. 
     458\item Development of sea-ice algorithms or parameterizations. 
     459\item Spinup of the iceberg floats 
     460\item Ocean/sea-ice simulation with both models running in parallel (\np[=.true.]{ln_mixcpl}{ln\_mixcpl}) 
    540461\end{itemize} 
    541462 
    542463The Standalone Surface scheme provides this capacity. 
    543 Its options are defined through the \nam{sbc\_sas} namelist variables. 
     464Its options are defined through the \nam{sbc_sas}{sbc\_sas} namelist variables. 
    544465A new copy of the model has to be compiled with a configuration based on ORCA2\_SAS\_LIM. 
    545466However, no namelist parameters need be changed from the settings of the previous run (except perhaps nn\_date0). 
     
    548469 
    549470\begin{itemize} 
    550 \item 
    551   \mdl{nemogcm}: 
    552   This routine initialises the rest of the model and repeatedly calls the stp time stepping routine (\mdl{step}). 
     471\item \mdl{nemogcm}: This routine initialises the rest of the model and repeatedly calls the stp time stepping routine (\mdl{step}). 
    553472  Since the ocean state is not calculated all associated initialisations have been removed. 
    554 \item 
    555   \mdl{step}: 
    556   The main time stepping routine now only needs to call the sbc routine (and a few utility functions). 
    557 \item 
    558   \mdl{sbcmod}: 
    559   This has been cut down and now only calculates surface forcing and the ice model required. 
     473\item \mdl{step}: The main time stepping routine now only needs to call the sbc routine (and a few utility functions). 
     474\item \mdl{sbcmod}: This has been cut down and now only calculates surface forcing and the ice model required. 
    560475  New surface modules that can function when only the surface level of the ocean state is defined can also be added 
    561476  (\eg\ icebergs). 
    562 \item 
    563   \mdl{daymod}: 
    564   No ocean restarts are read or written (though the ice model restarts are retained), 
     477\item \mdl{daymod}: No ocean restarts are read or written (though the ice model restarts are retained), 
    565478  so calls to restart functions have been removed. 
    566479  This also means that the calendar cannot be controlled by time in a restart file, 
    567480  so the user must check that nn\_date0 in the model namelist is correct for his or her purposes. 
    568 \item 
    569   \mdl{stpctl}: 
    570   Since there is no free surface solver, references to it have been removed from \rou{stp\_ctl} module. 
    571 \item 
    572   \mdl{diawri}: 
    573   All 3D data have been removed from the output. 
     481\item \mdl{stpctl}: Since there is no free surface solver, references to it have been removed from \rou{stp\_ctl} module. 
     482\item \mdl{diawri}: All 3D data have been removed from the output. 
    574483  The surface temperature, salinity and velocity components (which have been read in) are written along with 
    575484  relevant forcing and ice data. 
     
    579488 
    580489\begin{itemize} 
    581 \item 
    582   \mdl{sbcsas}: 
    583   This module initialises the input files needed for reading temperature, salinity and 
     490\item \mdl{sbcsas}: This module initialises the input files needed for reading temperature, salinity and 
    584491  velocity arrays at the surface. 
    585492  These filenames are supplied in namelist namsbc\_sas. 
     
    590497\end{itemize} 
    591498 
    592  
    593 The user can also choose in the \nam{sbc\_sas} namelist to read the mean (nn\_fsbc time-step) fraction of solar net radiation absorbed in the 1st T level using 
    594  (\np{ln\_flx}\forcode{ = .true.}) and to provide 3D oceanic velocities instead of 2D ones (\np{ln\_flx}\forcode{ = .true.}). In that last case, only the 1st level will be read in. 
    595  
    596  
    597  
    598 % ================================================================ 
    599 % Flux formulation 
    600 % ================================================================ 
    601 \section[Flux formulation (\textit{sbcflx.F90})] 
    602 {Flux formulation (\protect\mdl{sbcflx})} 
     499The user can also choose in the \nam{sbc_sas}{sbc\_sas} namelist to read the mean (nn\_fsbc time-step) fraction of solar net radiation absorbed in the 1st T level using 
     500 (\np[=.true.]{ln_flx}{ln\_flx}) and to provide 3D oceanic velocities instead of 2D ones (\np{ln_flx}{ln\_flx}\forcode{=.true.}). In that last case, only the 1st level will be read in. 
     501 
     502%% ================================================================================================= 
     503\section[Flux formulation (\textit{sbcflx.F90})]{Flux formulation (\protect\mdl{sbcflx})} 
    603504\label{sec:SBC_flx} 
    604 %------------------------------------------namsbc_flx---------------------------------------------------- 
    605  
    606 \nlst{namsbc_flx} 
    607 %------------------------------------------------------------------------------------------------------------- 
    608  
    609 In the flux formulation (\np{ln\_flx}\forcode{ = .true.}), 
     505 
     506\begin{listing} 
     507  \nlst{namsbc_flx} 
     508  \caption{\forcode{&namsbc_flx}} 
     509  \label{lst:namsbc_flx} 
     510\end{listing} 
     511 
     512In the flux formulation (\np[=.true.]{ln_flx}{ln\_flx}), 
    610513the surface boundary condition fields are directly read from input files. 
    611 The user has to define in the namelist \nam{sbc\_flx} the name of the file, 
     514The user has to define in the namelist \nam{sbc_flx}{sbc\_flx} the name of the file, 
    612515the name of the variable read in the file, the time frequency at which it is given (in hours), 
    613516and a logical setting whether a time interpolation to the model time step is required for this field. 
     
    617520See \autoref{subsec:SBC_ssr} for its specification. 
    618521 
    619  
    620  
    621 % ================================================================ 
    622 % Bulk formulation 
    623 % ================================================================ 
    624 \section[Bulk formulation (\textit{sbcblk.F90})] 
    625 {Bulk formulation (\protect\mdl{sbcblk})} 
     522%% ================================================================================================= 
     523\section[Bulk formulation (\textit{sbcblk.F90})]{Bulk formulation (\protect\mdl{sbcblk})} 
    626524\label{sec:SBC_blk} 
    627 %---------------------------------------namsbc_blk-------------------------------------------------- 
    628  
    629 \nlst{namsbc_blk} 
    630 %-------------------------------------------------------------------------------------------------------------- 
     525 
     526\begin{listing} 
     527  \nlst{namsbc_blk} 
     528  \caption{\forcode{&namsbc_blk}} 
     529  \label{lst:namsbc_blk} 
     530\end{listing} 
    631531 
    632532In the bulk formulation, the surface boundary condition fields are computed with bulk formulae using atmospheric fields 
    633 and ocean (and sea-ice) variables averaged over \np{nn\_fsbc} time-step. 
     533and ocean (and sea-ice) variables averaged over \np{nn_fsbc}{nn\_fsbc} time-step. 
    634534 
    635535The atmospheric fields used depend on the bulk formulae used. 
     
    640540the NCAR (formerly named CORE), COARE 3.0, COARE 3.5 and ECMWF bulk formulae. 
    641541The choice is made by setting to true one of the following namelist variable: 
    642  \np{ln\_NCAR}, \np{ln\_COARE\_3p0},  \np{ln\_COARE\_3p5} and  \np{ln\_ECMWF}. 
     542 \np{ln_NCAR}{ln\_NCAR}, \np{ln_COARE_3p0}{ln\_COARE\_3p0},  \np{ln_COARE_3p5}{ln\_COARE\_3p5} and  \np{ln_ECMWF}{ln\_ECMWF}. 
    643543For sea-ice, three possibilities can be selected: 
    644 a constant transfer coefficient (1.4e-3; default value), \citet{lupkes.gryanik.ea_JGR12} (\np{ln\_Cd\_L12}), and \citet{lupkes.gryanik_JGR15} (\np{ln\_Cd\_L15}) parameterizations 
    645  
    646 Common options are defined through the \nam{sbc\_blk} namelist variables. 
     544a constant transfer coefficient (1.4e-3; default value), \citet{lupkes.gryanik.ea_JGR12} (\np{ln_Cd_L12}{ln\_Cd\_L12}), and \citet{lupkes.gryanik_JGR15} (\np{ln_Cd_L15}{ln\_Cd\_L15}) parameterizations 
     545 
     546Common options are defined through the \nam{sbc_blk}{sbc\_blk} namelist variables. 
    647547The required 9 input fields are: 
    648548 
    649 %--------------------------------------------------TABLE-------------------------------------------------- 
    650549\begin{table}[htbp] 
    651   \label{tab:BULK} 
    652   \begin{center} 
    653     \begin{tabular}{|l|c|c|c|} 
    654       \hline 
    655       Variable description                           & Model variable   & Units                         & point \\   \hline 
    656       i-component of the 10m air velocity   & utau                   & $m.s^{-1}$                   & T         \\   \hline 
    657       j-component of the 10m air velocity   & vtau                & $m.s^{-1}$                   & T         \\   \hline 
    658       10m air temperature                      & tair                & \r{}$K$                        & T       \\   \hline 
    659       Specific humidity                        & humi           & \%                             & T      \\   \hline 
    660       Incoming long wave radiation          & qlw                & $W.m^{-2}$            & T        \\   \hline 
    661       Incoming short wave radiation          & qsr               & $W.m^{-2}$            & T        \\   \hline 
    662       Total precipitation (liquid + solid)         & precip            & $Kg.m^{-2}.s^{-1}$      & T      \\   \hline 
    663       Solid precipitation                           & snow               & $Kg.m^{-2}.s^{-1}$       & T      \\   \hline 
    664       Mean sea-level pressure                     & slp                     & $hPa$                          & T       \\ \hline 
     550  \centering 
     551  \begin{tabular}{|l|c|c|c|} 
     552    \hline 
     553    Variable description                 & Model variable & Units              & point \\ 
     554    \hline 
     555    i-component of the 10m air velocity  & utau           & $m.s^{-1}$         & T     \\ 
     556    \hline 
     557    j-component of the 10m air velocity  & vtau           & $m.s^{-1}$         & T     \\ 
     558    \hline 
     559    10m air temperature                  & tair           & \r{}$K$            & T     \\ 
     560    \hline 
     561    Specific humidity                    & humi           & \%                 & T     \\ 
     562    \hline 
     563    Incoming long wave radiation         & qlw            & $W.m^{-2}$         & T     \\ 
     564    \hline 
     565    Incoming short wave radiation        & qsr            & $W.m^{-2}$         & T     \\ 
     566    \hline 
     567    Total precipitation (liquid + solid) & precip         & $Kg.m^{-2}.s^{-1}$ & T     \\ 
     568    \hline 
     569    Solid precipitation                  & snow           & $Kg.m^{-2}.s^{-1}$ & T     \\ 
     570    \hline 
     571    Mean sea-level pressure              & slp            & $hPa$              & T     \\ 
     572    \hline 
    665573    \end{tabular} 
    666   \end{center} 
     574  \label{tab:SBC_BULK} 
    667575\end{table} 
    668 %-------------------------------------------------------------------------------------------------------------- 
    669576 
    670577Note that the air velocity is provided at a tracer ocean point, not at a velocity ocean point ($u$- and $v$-points). 
     
    672579the ocean grid size is the same or larger than the one of the input atmospheric fields. 
    673580 
    674 The \np{sn\_wndi}, \np{sn\_wndj}, \np{sn\_qsr}, \np{sn\_qlw}, \np{sn\_tair}, \np{sn\_humi}, \np{sn\_prec}, 
    675 \np{sn\_snow}, \np{sn\_tdif} parameters describe the fields and the way they have to be used 
     581The \np{sn_wndi}{sn\_wndi}, \np{sn_wndj}{sn\_wndj}, \np{sn_qsr}{sn\_qsr}, \np{sn_qlw}{sn\_qlw}, \np{sn_tair}{sn\_tair}, \np{sn_humi}{sn\_humi}, \np{sn_prec}{sn\_prec}, 
     582\np{sn_snow}{sn\_snow}, \np{sn_tdif}{sn\_tdif} parameters describe the fields and the way they have to be used 
    676583(spatial and temporal interpolations). 
    677584 
    678 \np{cn\_dir} is the directory of location of bulk files 
    679 \np{ln\_taudif} is the flag to specify if we use Hight Frequency (HF) tau information (.true.) or not (.false.) 
    680 \np{rn\_zqt}: is the height of humidity and temperature measurements (m) 
    681 \np{rn\_zu}: is the height of wind measurements (m) 
     585\np{cn_dir}{cn\_dir} is the directory of location of bulk files 
     586\np{ln_taudif}{ln\_taudif} is the flag to specify if we use Hight Frequency (HF) tau information (.true.) or not (.false.) 
     587\np{rn_zqt}{rn\_zqt}: is the height of humidity and temperature measurements (m) 
     588\np{rn_zu}{rn\_zu}: is the height of wind measurements (m) 
    682589 
    683590Three multiplicative factors are available: 
    684 \np{rn\_pfac} and \np{rn\_efac} allow to adjust (if necessary) the global freshwater budget by 
     591\np{rn_pfac}{rn\_pfac} and \np{rn_efac}{rn\_efac} allow to adjust (if necessary) the global freshwater budget by 
    685592increasing/reducing the precipitations (total and snow) and or evaporation, respectively. 
    686 The third one,\np{rn\_vfac}, control to which extend the ice/ocean velocities are taken into account in 
     593The third one,\np{rn_vfac}{rn\_vfac}, control to which extend the ice/ocean velocities are taken into account in 
    687594the calculation of surface wind stress. 
    688595Its range must be between zero and one, and it is recommended to set it to 0 at low-resolution (ORCA2 configuration). 
     
    691598the namsbc\_blk namelist (see \autoref{subsec:SBC_fldread}). 
    692599 
    693  
    694 % ------------------------------------------------------------------------------------------------------------- 
    695 %        Ocean-Atmosphere Bulk formulae 
    696 % ------------------------------------------------------------------------------------------------------------- 
    697 \subsection[Ocean-Atmosphere Bulk formulae (\textit{sbcblk\_algo\_coare.F90, sbcblk\_algo\_coare3p5.F90, 
    698 sbcblk\_algo\_ecmwf.F90, sbcblk\_algo\_ncar.F90})] 
    699 {Ocean-Atmosphere Bulk formulae (\mdl{sbcblk\_algo\_coare}, \mdl{sbcblk\_algo\_coare3p5}, 
    700 \mdl{sbcblk\_algo\_ecmwf}, \mdl{sbcblk\_algo\_ncar})} 
     600%% ================================================================================================= 
     601\subsection[Ocean-Atmosphere Bulk formulae (\textit{sbcblk\_algo\_coare.F90, sbcblk\_algo\_coare3p5.F90, sbcblk\_algo\_ecmwf.F90, sbcblk\_algo\_ncar.F90})]{Ocean-Atmosphere Bulk formulae (\mdl{sbcblk\_algo\_coare}, \mdl{sbcblk\_algo\_coare3p5}, \mdl{sbcblk\_algo\_ecmwf}, \mdl{sbcblk\_algo\_ncar})} 
    701602\label{subsec:SBC_blk_ocean} 
    702603 
     
    705606their neutral transfer coefficients relationships with neutral wind. 
    706607\begin{itemize} 
    707 \item 
    708   NCAR (\np{ln\_NCAR}\forcode{ = .true.}): 
    709   The NCAR bulk formulae have been developed by \citet{large.yeager_rpt04}. 
     608\item NCAR (\np[=.true.]{ln_NCAR}{ln\_NCAR}): The NCAR bulk formulae have been developed by \citet{large.yeager_rpt04}. 
    710609  They have been designed to handle the NCAR forcing, a mixture of NCEP reanalysis and satellite data. 
    711610  They use an inertial dissipative method to compute the turbulent transfer coefficients 
     
    715614  Note that substituting ERA40 to NCEP reanalysis fields does not require changes in the bulk formulea themself. 
    716615  This is the so-called DRAKKAR Forcing Set (DFS) \citep{brodeau.barnier.ea_OM10}. 
    717 \item 
    718   COARE 3.0 (\np{ln\_COARE\_3p0}\forcode{ = .true.}): 
    719   See \citet{fairall.bradley.ea_JC03} for more details 
    720 \item 
    721   COARE 3.5 (\np{ln\_COARE\_3p5}\forcode{ = .true.}): 
    722   See \citet{edson.jampana.ea_JPO13} for more details 
    723 \item 
    724   ECMWF (\np{ln\_ECMWF}\forcode{ = .true.}): 
    725   Based on \href{https://www.ecmwf.int/node/9221}{IFS (Cy31)} implementation and documentation. 
     616\item COARE 3.0 (\np[=.true.]{ln_COARE_3p0}{ln\_COARE\_3p0}): See \citet{fairall.bradley.ea_JC03} for more details 
     617\item COARE 3.5 (\np[=.true.]{ln_COARE_3p5}{ln\_COARE\_3p5}): See \citet{edson.jampana.ea_JPO13} for more details 
     618\item ECMWF (\np[=.true.]{ln_ECMWF}{ln\_ECMWF}): Based on \href{https://www.ecmwf.int/node/9221}{IFS (Cy31)} implementation and documentation. 
    726619  Surface roughness lengths needed for the Obukhov length are computed following \citet{beljaars_QJRMS95}. 
    727620\end{itemize} 
    728621 
    729 % ------------------------------------------------------------------------------------------------------------- 
    730 %        Ice-Atmosphere Bulk formulae 
    731 % ------------------------------------------------------------------------------------------------------------- 
     622%% ================================================================================================= 
    732623\subsection{Ice-Atmosphere Bulk formulae} 
    733624\label{subsec:SBC_blk_ice} 
     
    736627 
    737628\begin{itemize} 
    738 \item 
    739   Constant value (\np{constant\ value}\forcode{ Cd_ice = 1.4e-3 }): 
     629\item Constant value (\np[ Cd_ice=1.4e-3 ]{constant value}{constant\ value}): 
    740630  default constant value used for momentum and heat neutral transfer coefficients 
    741 \item 
    742   \citet{lupkes.gryanik.ea_JGR12} (\np{ln\_Cd\_L12}\forcode{ = .true.}): 
     631\item \citet{lupkes.gryanik.ea_JGR12} (\np[=.true.]{ln_Cd_L12}{ln\_Cd\_L12}): 
    743632  This scheme adds a dependency on edges at leads, melt ponds and flows 
    744633  of the constant neutral air-ice drag. After some approximations, 
     
    747636  starting at 1.5e-3 for A=0, reaching 1.97e-3 for A=0.5 and going down 1.4e-3 for A=1. 
    748637  It is theoretically applicable to all ice conditions (not only MIZ). 
    749 \item 
    750   \citet{lupkes.gryanik_JGR15} (\np{ln\_Cd\_L15}\forcode{ = .true.}): 
     638\item \citet{lupkes.gryanik_JGR15} (\np[=.true.]{ln_Cd_L15}{ln\_Cd\_L15}): 
    751639  Alternative turbulent transfer coefficients formulation between sea-ice 
    752640  and atmosphere with distinct momentum and heat coefficients depending 
     
    758646\end{itemize} 
    759647 
    760  
    761  
    762 % ================================================================ 
    763 % Coupled formulation 
    764 % ================================================================ 
    765 \section[Coupled formulation (\textit{sbccpl.F90})] 
    766 {Coupled formulation (\protect\mdl{sbccpl})} 
     648%% ================================================================================================= 
     649\section[Coupled formulation (\textit{sbccpl.F90})]{Coupled formulation (\protect\mdl{sbccpl})} 
    767650\label{sec:SBC_cpl} 
    768 %------------------------------------------namsbc_cpl---------------------------------------------------- 
    769  
    770 \nlst{namsbc_cpl} 
    771 %------------------------------------------------------------------------------------------------------------- 
     651 
     652\begin{listing} 
     653  \nlst{namsbc_cpl} 
     654  \caption{\forcode{&namsbc_cpl}} 
     655  \label{lst:namsbc_cpl} 
     656\end{listing} 
    772657 
    773658In the coupled formulation of the surface boundary condition, 
     
    786671the whole carbon cycle is computed. 
    787672In this case, CO$_2$ fluxes will be exchanged between the atmosphere and the ice-ocean system 
    788 (and need to be activated in \nam{sbc\_cpl} ). 
     673(and need to be activated in \nam{sbc_cpl}{sbc\_cpl} ). 
    789674 
    790675The namelist above allows control of various aspects of the coupling fields (particularly for vectors) and 
    791676now allows for any coupling fields to have multiple sea ice categories (as required by LIM3 and CICE). 
    792 When indicating a multi-category coupling field in \nam{sbc\_cpl}, the number of categories will be determined by 
     677When indicating a multi-category coupling field in \nam{sbc_cpl}{sbc\_cpl}, the number of categories will be determined by 
    793678the number used in the sea ice model. 
    794679In some limited cases, it may be possible to specify single category coupling fields even when 
     
    797682In cases where this is definitely not possible, the model should abort with an error message. 
    798683 
    799  
    800  
    801 % ================================================================ 
    802 %        Atmospheric pressure 
    803 % ================================================================ 
    804 \section[Atmospheric pressure (\textit{sbcapr.F90})] 
    805 {Atmospheric pressure (\protect\mdl{sbcapr})} 
     684%% ================================================================================================= 
     685\section[Atmospheric pressure (\textit{sbcapr.F90})]{Atmospheric pressure (\protect\mdl{sbcapr})} 
    806686\label{sec:SBC_apr} 
    807 %------------------------------------------namsbc_apr---------------------------------------------------- 
    808  
    809 \nlst{namsbc_apr} 
    810 %------------------------------------------------------------------------------------------------------------- 
     687 
     688\begin{listing} 
     689  \nlst{namsbc_apr} 
     690  \caption{\forcode{&namsbc_apr}} 
     691  \label{lst:namsbc_apr} 
     692\end{listing} 
    811693 
    812694The optional atmospheric pressure can be used to force ocean and ice dynamics 
    813 (\np{ln\_apr\_dyn}\forcode{ = .true.}, \nam{sbc} namelist). 
    814 The input atmospheric forcing defined via \np{sn\_apr} structure (\nam{sbc\_apr} namelist) 
     695(\np[=.true.]{ln_apr_dyn}{ln\_apr\_dyn}, \nam{sbc}{sbc} namelist). 
     696The input atmospheric forcing defined via \np{sn_apr}{sn\_apr} structure (\nam{sbc_apr}{sbc\_apr} namelist) 
    815697can be interpolated in time to the model time step, and even in space when the interpolation on-the-fly is used. 
    816698When used to force the dynamics, the atmospheric pressure is further transformed into 
     
    821703\] 
    822704where $P_{atm}$ is the atmospheric pressure and $P_o$ a reference atmospheric pressure. 
    823 A value of $101,000~N/m^2$ is used unless \np{ln\_ref\_apr} is set to true. 
     705A value of $101,000~N/m^2$ is used unless \np{ln_ref_apr}{ln\_ref\_apr} is set to true. 
    824706In this case, $P_o$ is set to the value of $P_{atm}$ averaged over the ocean domain, 
    825707\ie\ the mean value of $\eta_{ib}$ is kept to zero at all time steps. 
     
    834716When using time-splitting and BDY package for open boundaries conditions, 
    835717the equivalent inverse barometer sea surface height $\eta_{ib}$ can be added to BDY ssh data: 
    836 \np{ln\_apr\_obc}  might be set to true. 
    837  
    838  
    839  
    840 % ================================================================ 
    841 %        Surface Tides Forcing 
    842 % ================================================================ 
    843 \section[Surface tides (\textit{sbctide.F90})] 
    844 {Surface tides (\protect\mdl{sbctide})} 
     718\np{ln_apr_obc}{ln\_apr\_obc}  might be set to true. 
     719 
     720%% ================================================================================================= 
     721\section[Surface tides (\textit{sbctide.F90})]{Surface tides (\protect\mdl{sbctide})} 
    845722\label{sec:SBC_tide} 
    846723 
    847 %------------------------------------------nam_tide--------------------------------------- 
    848  
    849 \nlst{nam_tide} 
    850 %----------------------------------------------------------------------------------------- 
     724\begin{listing} 
     725  \nlst{nam_tide} 
     726  \caption{\forcode{&nam_tide}} 
     727  \label{lst:nam_tide} 
     728\end{listing} 
    851729 
    852730The tidal forcing, generated by the gravity forces of the Earth-Moon and Earth-Sun sytems, 
    853 is activated if \np{ln\_tide} and \np{ln\_tide\_pot} are both set to \forcode{.true.} in \nam{\_tide}. 
    854 This translates as an additional barotropic force in the momentum equations \ref{eq:PE_dyn} such that: 
     731is activated if \np{ln_tide}{ln\_tide} and \np{ln_tide_pot}{ln\_tide\_pot} are both set to \forcode{.true.} in \nam{_tide}{\_tide}. 
     732This translates as an additional barotropic force in the momentum \autoref{eq:MB_PE_dyn} such that: 
    855733\[ 
    856   % \label{eq:PE_dyn_tides} 
     734  % \label{eq:SBC_PE_dyn_tides} 
    857735  \frac{\partial {\mathrm {\mathbf U}}_h }{\partial t}= ... 
    858736  +g\nabla (\Pi_{eq} + \Pi_{sal}) 
     
    867745  Msqm, Mtm, S1, MU2, NU2, L2}, and \textit{T2}). Individual 
    868746constituents are selected by including their names in the array 
    869 \np{clname} in \nam{\_tide} (e.g., \np{clname}\forcode{(1) = 'M2', } 
    870 \np{clname}\forcode{(2) = 'S2'} to select solely the tidal consituents \textit{M2} 
    871 and \textit{S2}). Optionally, when \np{ln\_tide\_ramp} is set to 
     747\np{clname}{clname} in \nam{_tide}{\_tide} (e.g., \np{clname}{clname}\forcode{(1)='M2', } 
     748\np{clname}{clname}\forcode{(2)='S2'} to select solely the tidal consituents \textit{M2} 
     749and \textit{S2}). Optionally, when \np{ln_tide_ramp}{ln\_tide\_ramp} is set to 
    872750\forcode{.true.}, the equilibrium tidal forcing can be ramped up 
    873 linearly from zero during the initial \np{rdttideramp} days of the 
     751linearly from zero during the initial \np{rdttideramp}{rdttideramp} days of the 
    874752model run. 
    875753 
     
    880758computationally too expensive. Here, two options are available: 
    881759$\Pi_{sal}$ generated by an external model can be read in 
    882 (\np{ln\_read\_load}\forcode{ =.true.}), or a ``scalar approximation'' can be 
    883 used (\np{ln\_scal\_load}\forcode{ =.true.}). In the latter case 
     760(\np[=.true.]{ln_read_load}{ln\_read\_load}), or a ``scalar approximation'' can be 
     761used (\np[=.true.]{ln_scal_load}{ln\_scal\_load}). In the latter case 
    884762\[ 
    885763  \Pi_{sal} = \beta \eta, 
    886764\] 
    887 where $\beta$ (\np{rn\_scal\_load} with a default value of 0.094) is a 
     765where $\beta$ (\np{rn_scal_load}{rn\_scal\_load} with a default value of 0.094) is a 
    888766spatially constant scalar, often chosen to minimize tidal prediction 
    889 errors. Setting both \np{ln\_read\_load} and \np{ln\_scal\_load} to 
     767errors. Setting both \np{ln_read_load}{ln\_read\_load} and \np{ln_scal_load}{ln\_scal\_load} to 
    890768\forcode{.false.} removes the SAL contribution. 
    891769 
    892  
    893  
    894 % ================================================================ 
    895 %        River runoffs 
    896 % ================================================================ 
    897 \section[River runoffs (\textit{sbcrnf.F90})] 
    898 {River runoffs (\protect\mdl{sbcrnf})} 
     770%% ================================================================================================= 
     771\section[River runoffs (\textit{sbcrnf.F90})]{River runoffs (\protect\mdl{sbcrnf})} 
    899772\label{sec:SBC_rnf} 
    900 %------------------------------------------namsbc_rnf---------------------------------------------------- 
    901  
    902 \nlst{namsbc_rnf} 
    903 %------------------------------------------------------------------------------------------------------------- 
     773 
     774\begin{listing} 
     775  \nlst{namsbc_rnf} 
     776  \caption{\forcode{&namsbc_rnf}} 
     777  \label{lst:namsbc_rnf} 
     778\end{listing} 
    904779 
    905780%River runoff generally enters the ocean at a nonzero depth rather than through the surface. 
     
    912787%required to properly represent the diurnal cycle \citep{bernie.woolnough.ea_JC05}. see also \autoref{fig:SBC_dcy}.}. 
    913788 
    914  
    915789%To do this we need to treat evaporation/precipitation fluxes and river runoff differently in the 
    916790%\mdl{tra\_sbc} module.  We decided to separate them throughout the code, so that the variable 
     
    920794%emp or emps and the changes made are below: 
    921795 
    922  
    923796%Rachel: 
    924797River runoff generally enters the ocean at a nonzero depth rather than through the surface. 
     
    939812along with the depth (in metres) which the river should be added to. 
    940813 
    941 Namelist variables in \nam{sbc\_rnf}, \np{ln\_rnf\_depth}, \np{ln\_rnf\_sal} and 
    942 \np{ln\_rnf\_temp} control whether the river attributes (depth, salinity and temperature) are read in and used. 
     814Namelist variables in \nam{sbc_rnf}{sbc\_rnf}, \np{ln_rnf_depth}{ln\_rnf\_depth}, \np{ln_rnf_sal}{ln\_rnf\_sal} and 
     815\np{ln_rnf_temp}{ln\_rnf\_temp} control whether the river attributes (depth, salinity and temperature) are read in and used. 
    943816If these are set as false the river is added to the surface box only, assumed to be fresh (0~psu), 
    944817and/or taken as surface temperature respectively. 
     
    952825(converted into m/s) to give the heat and salt content of the river runoff. 
    953826After the user specified depth is read ini, 
    954 the number of grid boxes this corresponds to is calculated and stored in the variable \np{nz\_rnf}. 
     827the number of grid boxes this corresponds to is calculated and stored in the variable \np{nz_rnf}{nz\_rnf}. 
    955828The variable \textit{h\_dep} is then calculated to be the depth (in metres) of 
    956829the bottom of the lowest box the river water is being added to 
     
    997870as the ocean water leaving the domain removes heat and salt (at the same concentration) with it. 
    998871 
    999  
    1000872%\colorbox{yellow}{Nevertheless, Pb of vertical resolution and 3D input : increase vertical mixing near river mouths to mimic a 3D river 
    1001873 
     
    1009881 
    1010882%\gmcomment{  word doc of runoffs: 
    1011 % 
    1012883%In the current \NEMO\ setup river runoff is added to emp fluxes, these are then applied at just the sea surface as a volume change (in the variable volume case this is a literal volume change, and in the linear free surface case the free surface is moved) and a salt flux due to the concentration/dilution effect.  There is also an option to increase vertical mixing near river mouths; this gives the effect of having a 3d river.  All river runoff and emp fluxes are assumed to be fresh water (zero salinity) and at the same temperature as the sea surface. 
    1013884%Our aim was to code the option to specify the temperature and salinity of river runoff, (as well as the amount), along with the depth that the river water will affect.  This would make it possible to model low salinity outflow, such as the Baltic, and would allow the ocean temperature to be affected by river runoff. 
     
    1017888%To do this we need to treat evaporation/precipitation fluxes and river runoff differently in the tra_sbc module.  We decided to separate them throughout the code, so that the variable emp represented solely evaporation minus precipitation fluxes, and a new 2d variable rnf was added which represents the volume flux of river runoff (in kg/m2s to remain consistent with emp).  This meant many uses of emp and emps needed to be changed, a list of all modules which use emp or emps and the changes made are below: 
    1018889 
    1019  
    1020  
    1021 % ================================================================ 
    1022 %        Ice shelf melting 
    1023 % ================================================================ 
    1024 \section[Ice shelf melting (\textit{sbcisf.F90})] 
    1025 {Ice shelf melting (\protect\mdl{sbcisf})} 
     890%% ================================================================================================= 
     891\section[Ice shelf melting (\textit{sbcisf.F90})]{Ice shelf melting (\protect\mdl{sbcisf})} 
    1026892\label{sec:SBC_isf} 
    1027 %------------------------------------------namsbc_isf---------------------------------------------------- 
    1028  
    1029 \nlst{namsbc_isf} 
    1030 %-------------------------------------------------------------------------------------------------------- 
    1031  
    1032 The namelist variable in \nam{sbc}, \np{nn\_isf}, controls the ice shelf representation. 
    1033 Description and result of sensitivity test to \np{nn\_isf} are presented in \citet{mathiot.jenkins.ea_GMD17}. 
     893 
     894\begin{listing} 
     895  \nlst{namsbc_isf} 
     896  \caption{\forcode{&namsbc_isf}} 
     897  \label{lst:namsbc_isf} 
     898\end{listing} 
     899 
     900The namelist variable in \nam{sbc}{sbc}, \np{nn_isf}{nn\_isf}, controls the ice shelf representation. 
     901Description and result of sensitivity test to \np{nn_isf}{nn\_isf} are presented in \citet{mathiot.jenkins.ea_GMD17}. 
    1034902The different options are illustrated in \autoref{fig:SBC_isf}. 
    1035903 
    1036904\begin{description} 
    1037  
    1038   \item[\np{nn\_isf}\forcode{ = 1}]: 
    1039   The ice shelf cavity is represented (\np{ln\_isfcav}\forcode{ = .true.} needed). 
     905  \item [{\np[=1]{nn_isf}{nn\_isf}}]: The ice shelf cavity is represented (\np[=.true.]{ln_isfcav}{ln\_isfcav} needed). 
    1040906  The fwf and heat flux are depending of the local water properties. 
    1041907 
     
    1043909 
    1044910   \begin{description} 
    1045    \item[\np{nn\_isfblk}\forcode{ = 1}]: 
    1046      The melt rate is based on a balance between the upward ocean heat flux and 
     911   \item [{\np[=1]{nn_isfblk}{nn\_isfblk}}]: The melt rate is based on a balance between the upward ocean heat flux and 
    1047912     the latent heat flux at the ice shelf base. A complete description is available in \citet{hunter_rpt06}. 
    1048    \item[\np{nn\_isfblk}\forcode{ = 2}]: 
    1049      The melt rate and the heat flux are based on a 3 equations formulation 
     913   \item [{\np[=2]{nn_isfblk}{nn\_isfblk}}]: The melt rate and the heat flux are based on a 3 equations formulation 
    1050914     (a heat flux budget at the ice base, a salt flux budget at the ice base and a linearised freezing point temperature equation). 
    1051915     A complete description is available in \citet{jenkins_JGR91}. 
     
    1053917 
    1054918     Temperature and salinity used to compute the melt are the average temperature in the top boundary layer \citet{losch_JGR08}. 
    1055      Its thickness is defined by \np{rn\_hisf\_tbl}. 
    1056      The fluxes and friction velocity are computed using the mean temperature, salinity and velocity in the the first \np{rn\_hisf\_tbl} m. 
     919     Its thickness is defined by \np{rn_hisf_tbl}{rn\_hisf\_tbl}. 
     920     The fluxes and friction velocity are computed using the mean temperature, salinity and velocity in the the first \np{rn_hisf_tbl}{rn\_hisf\_tbl} m. 
    1057921     Then, the fluxes are spread over the same thickness (ie over one or several cells). 
    1058      If \np{rn\_hisf\_tbl} larger than top $e_{3}t$, there is no more feedback between the freezing point at the interface and the the top cell temperature. 
     922     If \np{rn_hisf_tbl}{rn\_hisf\_tbl} larger than top $e_{3}t$, there is no more feedback between the freezing point at the interface and the the top cell temperature. 
    1059923     This can lead to super-cool temperature in the top cell under melting condition. 
    1060      If \np{rn\_hisf\_tbl} smaller than top $e_{3}t$, the top boundary layer thickness is set to the top cell thickness.\\ 
     924     If \np{rn_hisf_tbl}{rn\_hisf\_tbl} smaller than top $e_{3}t$, the top boundary layer thickness is set to the top cell thickness.\\ 
    1061925 
    1062926     Each melt bulk formula depends on a exchange coeficient ($\Gamma^{T,S}$) between the ocean and the ice. 
    1063927     There are 3 different ways to compute the exchange coeficient: 
    1064928   \begin{description} 
    1065         \item[\np{nn\_gammablk}\forcode{ = 0}]: 
    1066      The salt and heat exchange coefficients are constant and defined by \np{rn\_gammas0} and \np{rn\_gammat0}. 
    1067 \[ 
    1068   % \label{eq:sbc_isf_gamma_iso} 
    1069 \gamma^{T} = \np{rn\_gammat0} 
    1070 \] 
    1071 \[ 
    1072 \gamma^{S} = \np{rn\_gammas0} 
    1073 \] 
     929        \item [{\np[=0]{nn_gammablk}{nn\_gammablk}}]: The salt and heat exchange coefficients are constant and defined by \np{rn_gammas0}{rn\_gammas0} and \np{rn_gammat0}{rn\_gammat0}. 
     930     \begin{gather*} 
     931       % \label{eq:SBC_isf_gamma_iso} 
     932       \gamma^{T} = rn\_gammat0 \\ 
     933       \gamma^{S} = rn\_gammas0 
     934     \end{gather*} 
    1074935     This is the recommended formulation for ISOMIP. 
    1075    \item[\np{nn\_gammablk}\forcode{ = 1}]: 
    1076      The salt and heat exchange coefficients are velocity dependent and defined as 
    1077 \[ 
    1078 \gamma^{T} = \np{rn\_gammat0} \times u_{*} 
    1079 \] 
    1080 \[ 
    1081 \gamma^{S} = \np{rn\_gammas0} \times u_{*} 
    1082 \] 
    1083      where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn\_hisf\_tbl} meters). 
     936   \item [{\np[=1]{nn_gammablk}{nn\_gammablk}}]: The salt and heat exchange coefficients are velocity dependent and defined as 
     937     \begin{gather*} 
     938       \gamma^{T} = rn\_gammat0 \times u_{*} \\ 
     939       \gamma^{S} = rn\_gammas0 \times u_{*} 
     940     \end{gather*} 
     941     where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_hisf_tbl}{rn\_hisf\_tbl} meters). 
    1084942     See \citet{jenkins.nicholls.ea_JPO10} for all the details on this formulation. It is the recommended formulation for realistic application. 
    1085    \item[\np{nn\_gammablk}\forcode{ = 2}]: 
    1086      The salt and heat exchange coefficients are velocity and stability dependent and defined as: 
     943   \item [{\np[=2]{nn_gammablk}{nn\_gammablk}}]: The salt and heat exchange coefficients are velocity and stability dependent and defined as: 
    1087944\[ 
    1088945\gamma^{T,S} = \frac{u_{*}}{\Gamma_{Turb} + \Gamma^{T,S}_{Mole}} 
    1089946\] 
    1090      where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn\_hisf\_tbl} meters), 
     947     where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_hisf_tbl}{rn\_hisf\_tbl} meters), 
    1091948     $\Gamma_{Turb}$ the contribution of the ocean stability and 
    1092949     $\Gamma^{T,S}_{Mole}$ the contribution of the molecular diffusion. 
     
    1094951     This formulation has not been extensively tested in \NEMO\ (not recommended). 
    1095952   \end{description} 
    1096   \item[\np{nn\_isf}\forcode{ = 2}]: 
    1097    The ice shelf cavity is not represented. 
     953  \item [{\np[=2]{nn_isf}{nn\_isf}}]: The ice shelf cavity is not represented. 
    1098954   The fwf and heat flux are computed using the \citet{beckmann.goosse_OM03} parameterisation of isf melting. 
    1099955   The fluxes are distributed along the ice shelf edge between the depth of the average grounding line (GL) 
    1100    (\np{sn\_depmax\_isf}) and the base of the ice shelf along the calving front 
    1101    (\np{sn\_depmin\_isf}) as in (\np{nn\_isf}\forcode{ = 3}). 
    1102    The effective melting length (\np{sn\_Leff\_isf}) is read from a file. 
    1103   \item[\np{nn\_isf}\forcode{ = 3}]: 
    1104    The ice shelf cavity is not represented. 
    1105    The fwf (\np{sn\_rnfisf}) is prescribed and distributed along the ice shelf edge between 
    1106    the depth of the average grounding line (GL) (\np{sn\_depmax\_isf}) and 
    1107    the base of the ice shelf along the calving front (\np{sn\_depmin\_isf}). 
     956   (\np{sn_depmax_isf}{sn\_depmax\_isf}) and the base of the ice shelf along the calving front 
     957   (\np{sn_depmin_isf}{sn\_depmin\_isf}) as in (\np[=3]{nn_isf}{nn\_isf}). 
     958   The effective melting length (\np{sn_Leff_isf}{sn\_Leff\_isf}) is read from a file. 
     959  \item [{\np[=3]{nn_isf}{nn\_isf}}]: The ice shelf cavity is not represented. 
     960   The fwf (\np{sn_rnfisf}{sn\_rnfisf}) is prescribed and distributed along the ice shelf edge between 
     961   the depth of the average grounding line (GL) (\np{sn_depmax_isf}{sn\_depmax\_isf}) and 
     962   the base of the ice shelf along the calving front (\np{sn_depmin_isf}{sn\_depmin\_isf}). 
    1108963   The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 
    1109   \item[\np{nn\_isf}\forcode{ = 4}]: 
    1110    The ice shelf cavity is opened (\np{ln\_isfcav}\forcode{ = .true.} needed). 
    1111    However, the fwf is not computed but specified from file \np{sn\_fwfisf}). 
     964  \item [{\np[=4]{nn_isf}{nn\_isf}}]: The ice shelf cavity is opened (\np[=.true.]{ln_isfcav}{ln\_isfcav} needed). 
     965   However, the fwf is not computed but specified from file \np{sn_fwfisf}{sn\_fwfisf}). 
    1112966   The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 
    1113    As in \np{nn\_isf}\forcode{ = 1}, the fluxes are spread over the top boundary layer thickness (\np{rn\_hisf\_tbl})\\ 
     967   As in \np[=1]{nn_isf}{nn\_isf}, the fluxes are spread over the top boundary layer thickness (\np{rn_hisf_tbl}{rn\_hisf\_tbl})\\ 
    1114968\end{description} 
    1115969 
    1116 $\bullet$ \np{nn\_isf}\forcode{ = 1} and \np{nn\_isf}\forcode{ = 2} compute a melt rate based on 
     970$\bullet$ \np[=1]{nn_isf}{nn\_isf} and \np[=2]{nn_isf}{nn\_isf} compute a melt rate based on 
    1117971the water mass properties, ocean velocities and depth. 
    1118972This flux is thus highly dependent of the model resolution (horizontal and vertical), 
    1119973realism of the water masses onto the shelf ...\\ 
    1120974 
    1121 $\bullet$ \np{nn\_isf}\forcode{ = 3} and \np{nn\_isf}\forcode{ = 4} read the melt rate from a file. 
     975$\bullet$ \np[=3]{nn_isf}{nn\_isf} and \np[=4]{nn_isf}{nn\_isf} read the melt rate from a file. 
    1122976You have total control of the fwf forcing. 
    1123977This can be useful if the water masses on the shelf are not realistic or 
     
    1130984See the runoff section \autoref{sec:SBC_rnf} for all the details about the divergence correction.\\ 
    1131985 
    1132 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1133986\begin{figure}[!t] 
    1134   \begin{center} 
    1135     \includegraphics[width=\textwidth]{Fig_SBC_isf} 
    1136     \caption{ 
    1137       \protect\label{fig:SBC_isf} 
    1138       Illustration the location where the fwf is injected and whether or not the fwf is interactif or not depending of \np{nn\_isf}. 
    1139     } 
    1140   \end{center} 
     987  \centering 
     988  \includegraphics[width=0.66\textwidth]{Fig_SBC_isf} 
     989  \caption[Ice shelf location and fresh water flux definition]{ 
     990    Illustration of the location where the fwf is injected and 
     991    whether or not the fwf is interactif or not depending of \protect\np{nn_isf}{nn\_isf}.} 
     992  \label{fig:SBC_isf} 
    1141993\end{figure} 
    1142 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1143  
    1144  
    1145  
    1146 % ================================================================ 
    1147 %        Ice sheet coupling 
    1148 % ================================================================ 
     994 
     995%% ================================================================================================= 
    1149996\section{Ice sheet coupling} 
    1150997\label{sec:SBC_iscpl} 
    1151 %------------------------------------------namsbc_iscpl---------------------------------------------------- 
    1152  
    1153 \nlst{namsbc_iscpl} 
    1154 %-------------------------------------------------------------------------------------------------------- 
     998 
     999\begin{listing} 
     1000  \nlst{namsbc_iscpl} 
     1001  \caption{\forcode{&namsbc_iscpl}} 
     1002  \label{lst:namsbc_iscpl} 
     1003\end{listing} 
    11551004 
    11561005Ice sheet/ocean coupling is done through file exchange at the restart step. 
    11571006At each restart step: 
    11581007 
    1159 \begin{description} 
    1160 \item[Step 1]: the ice sheet model send a new bathymetry and ice shelf draft netcdf file. 
    1161 \item[Step 2]: a new domcfg.nc file is built using the DOMAINcfg tools. 
    1162 \item[Step 3]: \NEMO\ run for a specific period and output the average melt rate over the period. 
    1163 \item[Step 4]: the ice sheet model run using the melt rate outputed in step 4. 
    1164 \item[Step 5]: go back to 1. 
    1165 \end{description} 
    1166  
    1167 If \np{ln\_iscpl}\forcode{ = .true.}, the isf draft is assume to be different at each restart step with 
     1008\begin{enumerate} 
     1009\item the ice sheet model send a new bathymetry and ice shelf draft netcdf file. 
     1010\item a new domcfg.nc file is built using the DOMAINcfg tools. 
     1011\item \NEMO\ run for a specific period and output the average melt rate over the period. 
     1012\item the ice sheet model run using the melt rate outputed in step 4. 
     1013\item go back to 1. 
     1014\end{enumerate} 
     1015 
     1016If \np[=.true.]{ln_iscpl}{ln\_iscpl}, the isf draft is assume to be different at each restart step with 
    11681017potentially some new wet/dry cells due to the ice sheet dynamics/thermodynamics. 
    11691018The wetting and drying scheme applied on the restart is very simple and described below for the 6 different possible cases: 
    11701019 
    11711020\begin{description} 
    1172 \item[Thin a cell down]: 
    1173   T/S/ssh are unchanged and U/V in the top cell are corrected to keep the barotropic transport (bt) constant 
     1021\item [Thin a cell down]: T/S/ssh are unchanged and U/V in the top cell are corrected to keep the barotropic transport (bt) constant 
    11741022  ($bt_b=bt_n$). 
    1175 \item[Enlarge  a cell]: 
    1176   See case "Thin a cell down" 
    1177 \item[Dry a cell]: 
    1178   mask, T/S, U/V and ssh are set to 0. 
     1023\item [Enlarge  a cell]: See case "Thin a cell down" 
     1024\item [Dry a cell]: mask, T/S, U/V and ssh are set to 0. 
    11791025  Furthermore, U/V into the water column are modified to satisfy ($bt_b=bt_n$). 
    1180 \item[Wet a cell]: 
    1181   mask is set to 1, T/S is extrapolated from neighbours, $ssh_n = ssh_b$ and U/V set to 0. 
     1026\item [Wet a cell]: mask is set to 1, T/S is extrapolated from neighbours, $ssh_n = ssh_b$ and U/V set to 0. 
    11821027  If no neighbours, T/S is extrapolated from old top cell value. 
    11831028  If no neighbours along i,j and k (both previous test failed), T/S/U/V/ssh and mask are set to 0. 
    1184 \item[Dry a column]: 
    1185    mask, T/S, U/V are set to 0 everywhere in the column and ssh set to 0. 
    1186 \item[Wet a column]: 
    1187   set mask to 1, T/S is extrapolated from neighbours, ssh is extrapolated from neighbours and U/V set to 0. 
     1029\item [Dry a column]: mask, T/S, U/V are set to 0 everywhere in the column and ssh set to 0. 
     1030\item [Wet a column]: set mask to 1, T/S is extrapolated from neighbours, ssh is extrapolated from neighbours and U/V set to 0. 
    11881031  If no neighbour, T/S/U/V and mask set to 0. 
    11891032\end{description} 
     
    11921035the restart time step is prescribed to be an euler time step instead of a leap frog and $fields_b = fields_n$.\\ 
    11931036 
    1194 The horizontal extrapolation to fill new cell with realistic value is called \np{nn\_drown} times. 
    1195 It means that if the grounding line retreat by more than \np{nn\_drown} cells between 2 coupling steps, 
     1037The horizontal extrapolation to fill new cell with realistic value is called \np{nn_drown}{nn\_drown} times. 
     1038It means that if the grounding line retreat by more than \np{nn_drown}{nn\_drown} cells between 2 coupling steps, 
    11961039the code will be unable to fill all the new wet cells properly. 
    11971040The default number is set up for the MISOMIP idealised experiments. 
     
    12011044 
    12021045In order to remove the trend and keep the conservation level as close to 0 as possible, 
    1203 a simple conservation scheme is available with \np{ln\_hsb}\forcode{ = .true.}. 
     1046a simple conservation scheme is available with \np[=.true.]{ln_hsb}{ln\_hsb}. 
    12041047The heat/salt/vol. gain/loss is diagnosed, as well as the location. 
    1205 A correction increment is computed and apply each time step during the next \np{rn\_fiscpl} time steps. 
    1206 For safety, it is advised to set \np{rn\_fiscpl} equal to the coupling period (smallest increment possible). 
     1048A correction increment is computed and apply each time step during the next \np{rn_fiscpl}{rn\_fiscpl} time steps. 
     1049For safety, it is advised to set \np{rn_fiscpl}{rn\_fiscpl} equal to the coupling period (smallest increment possible). 
    12071050The corrective increment is apply into the cell itself (if it is a wet cell), the neigbouring cells or the closest wet cell (if the cell is now dry). 
    12081051 
    1209  
    1210  
    1211 % ================================================================ 
    1212 %        Handling of icebergs 
    1213 % ================================================================ 
     1052%% ================================================================================================= 
    12141053\section{Handling of icebergs (ICB)} 
    1215 \label{sec:ICB_icebergs} 
    1216 %------------------------------------------namberg---------------------------------------------------- 
    1217  
    1218 \nlst{namberg} 
    1219 %------------------------------------------------------------------------------------------------------------- 
     1054\label{sec:SBC_ICB_icebergs} 
     1055 
     1056\begin{listing} 
     1057  \nlst{namberg} 
     1058  \caption{\forcode{&namberg}} 
     1059  \label{lst:namberg} 
     1060\end{listing} 
    12201061 
    12211062Icebergs are modelled as lagrangian particles in \NEMO\ \citep{marsh.ivchenko.ea_GMD15}. 
     
    12231064(Note that the authors kindly provided a copy of their code to act as a basis for implementation in \NEMO). 
    12241065Icebergs are initially spawned into one of ten classes which have specific mass and thickness as 
    1225 described in the \nam{berg} namelist: \np{rn\_initial\_mass} and \np{rn\_initial\_thickness}. 
    1226 Each class has an associated scaling (\np{rn\_mass\_scaling}), 
     1066described in the \nam{berg}{berg} namelist: \np{rn_initial_mass}{rn\_initial\_mass} and \np{rn_initial_thickness}{rn\_initial\_thickness}. 
     1067Each class has an associated scaling (\np{rn_mass_scaling}{rn\_mass\_scaling}), 
    12271068which is an integer representing how many icebergs of this class are being described as one lagrangian point 
    12281069(this reduces the numerical problem of tracking every single iceberg). 
    1229 They are enabled by setting \np{ln\_icebergs}\forcode{ = .true.}. 
     1070They are enabled by setting \np[=.true.]{ln_icebergs}{ln\_icebergs}. 
    12301071 
    12311072Two initialisation schemes are possible. 
    12321073\begin{description} 
    1233 \item[\np{nn\_test\_icebergs}~$>$~0] 
    1234   In this scheme, the value of \np{nn\_test\_icebergs} represents the class of iceberg to generate 
    1235   (so between 1 and 10), and \np{nn\_test\_icebergs} provides a lon/lat box in the domain at each grid point of 
     1074\item [{\np{nn_test_icebergs}{nn\_test\_icebergs}~$>$~0}] In this scheme, the value of \np{nn_test_icebergs}{nn\_test\_icebergs} represents the class of iceberg to generate 
     1075  (so between 1 and 10), and \np{nn_test_icebergs}{nn\_test\_icebergs} provides a lon/lat box in the domain at each grid point of 
    12361076  which an iceberg is generated at the beginning of the run. 
    1237   (Note that this happens each time the timestep equals \np{nn\_nit000}.) 
    1238   \np{nn\_test\_icebergs} is defined by four numbers in \np{nn\_test\_box} representing the corners of 
     1077  (Note that this happens each time the timestep equals \np{nn_nit000}{nn\_nit000}.) 
     1078  \np{nn_test_icebergs}{nn\_test\_icebergs} is defined by four numbers in \np{nn_test_box}{nn\_test\_box} representing the corners of 
    12391079  the geographical box: lonmin,lonmax,latmin,latmax 
    1240 \item[\np{nn\_test\_icebergs}\forcode{ = -1}] 
    1241   In this scheme, the model reads a calving file supplied in the \np{sn\_icb} parameter. 
     1080\item [{\np[=-1]{nn_test_icebergs}{nn\_test\_icebergs}}] In this scheme, the model reads a calving file supplied in the \np{sn_icb}{sn\_icb} parameter. 
    12421081  This should be a file with a field on the configuration grid (typically ORCA) 
    12431082  representing ice accumulation rate at each model point. 
     
    12541093The latter act to disintegrate the iceberg. 
    12551094This is either all melted freshwater, 
    1256 or (if \np{rn\_bits\_erosion\_fraction}~$>$~0) into melt and additionally small ice bits 
     1095or (if \np{rn_bits_erosion_fraction}{rn\_bits\_erosion\_fraction}~$>$~0) into melt and additionally small ice bits 
    12571096which are assumed to propagate with their larger parent and thus delay fluxing into the ocean. 
    12581097Melt water (and other variables on the configuration grid) are written into the main \NEMO\ model output files. 
     
    12601099Extensive diagnostics can be produced. 
    12611100Separate output files are maintained for human-readable iceberg information. 
    1262 A separate file is produced for each processor (independent of \np{ln\_ctl}). 
     1101A separate file is produced for each processor (independent of \np{ln_ctl}{ln\_ctl}). 
    12631102The amount of information is controlled by two integer parameters: 
    12641103\begin{description} 
    1265 \item[\np{nn\_verbose\_level}] takes a value between one and four and 
     1104\item [{\np{nn_verbose_level}{nn\_verbose\_level}}] takes a value between one and four and 
    12661105  represents an increasing number of points in the code at which variables are written, 
    12671106  and an increasing level of obscurity. 
    1268 \item[\np{nn\_verbose\_write}] is the number of timesteps between writes 
     1107\item [{\np{nn_verbose_write}{nn\_verbose\_write}}] is the number of timesteps between writes 
    12691108\end{description} 
    12701109 
    1271 Iceberg trajectories can also be written out and this is enabled by setting \np{nn\_sample\_rate}~$>$~0. 
     1110Iceberg trajectories can also be written out and this is enabled by setting \np{nn_sample_rate}{nn\_sample\_rate}~$>$~0. 
    12721111A non-zero value represents how many timesteps between writes of information into the output file. 
    12731112These output files are in NETCDF format. 
     
    12771116since its trajectory data may be spread across multiple files. 
    12781117 
    1279  
    1280  
    1281 % ============================================================================================================= 
    1282 %        Interactions with waves (sbcwave.F90, ln_wave) 
    1283 % ============================================================================================================= 
    1284 \section[Interactions with waves (\textit{sbcwave.F90}, \texttt{ln\_wave})] 
    1285 {Interactions with waves (\protect\mdl{sbcwave}, \protect\np{ln\_wave})} 
     1118%% ================================================================================================= 
     1119\section[Interactions with waves (\textit{sbcwave.F90}, \forcode{ln_wave})]{Interactions with waves (\protect\mdl{sbcwave}, \protect\np{ln_wave}{ln\_wave})} 
    12861120\label{sec:SBC_wave} 
    1287 %------------------------------------------namsbc_wave-------------------------------------------------------- 
    1288  
    1289 \nlst{namsbc_wave} 
    1290 %------------------------------------------------------------------------------------------------------------- 
     1121 
     1122\begin{listing} 
     1123  \nlst{namsbc_wave} 
     1124  \caption{\forcode{&namsbc_wave}} 
     1125  \label{lst:namsbc_wave} 
     1126\end{listing} 
    12911127 
    12921128Ocean waves represent the interface between the ocean and the atmosphere, so \NEMO\ is extended to incorporate 
     
    12971133 
    12981134Physical processes related to ocean surface waves can be accounted by setting the logical variable 
    1299 \np{ln\_wave}\forcode{ = .true.} in \nam{sbc} namelist. In addition, specific flags accounting for 
     1135\np[=.true.]{ln_wave}{ln\_wave} in \nam{sbc}{sbc} namelist. In addition, specific flags accounting for 
    13001136different processes should be activated as explained in the following sections. 
    13011137 
    13021138Wave fields can be provided either in forced or coupled mode: 
    13031139\begin{description} 
    1304 \item[forced mode]: wave fields should be defined through the \nam{sbc\_wave} namelist 
     1140\item [forced mode]: wave fields should be defined through the \nam{sbc_wave}{sbc\_wave} namelist 
    13051141for external data names, locations, frequency, interpolation and all the miscellanous options allowed by 
    13061142Input Data generic Interface (see \autoref{sec:SBC_input}). 
    1307 \item[coupled mode]: \NEMO\ and an external wave model can be coupled by setting \np{ln\_cpl} \forcode{= .true.} 
    1308 in \nam{sbc} namelist and filling the \nam{sbc\_cpl} namelist. 
     1143\item [coupled mode]: \NEMO\ and an external wave model can be coupled by setting \np[=.true.]{ln_cpl}{ln\_cpl} 
     1144in \nam{sbc}{sbc} namelist and filling the \nam{sbc_cpl}{sbc\_cpl} namelist. 
    13091145\end{description} 
    13101146 
    1311  
    1312 % ---------------------------------------------------------------- 
    1313 % Neutral drag coefficient from wave model (ln_cdgw) 
    1314  
    1315 % ---------------------------------------------------------------- 
    1316 \subsection[Neutral drag coefficient from wave model (\texttt{ln\_cdgw})] 
    1317 {Neutral drag coefficient from wave model (\protect\np{ln\_cdgw})} 
     1147%% ================================================================================================= 
     1148\subsection[Neutral drag coefficient from wave model (\forcode{ln_cdgw})]{Neutral drag coefficient from wave model (\protect\np{ln_cdgw}{ln\_cdgw})} 
    13181149\label{subsec:SBC_wave_cdgw} 
    13191150 
    13201151The neutral surface drag coefficient provided from an external data source (\ie\ a wave model), 
    1321 can be used by setting the logical variable \np{ln\_cdgw} \forcode{= .true.} in \nam{sbc} namelist. 
     1152can be used by setting the logical variable \np[=.true.]{ln_cdgw}{ln\_cdgw} in \nam{sbc}{sbc} namelist. 
    13221153Then using the routine \rou{sbcblk\_algo\_ncar} and starting from the neutral drag coefficent provided, 
    13231154the drag coefficient is computed according to the stable/unstable conditions of the 
    13241155air-sea interface following \citet{large.yeager_rpt04}. 
    13251156 
    1326  
    1327 % ---------------------------------------------------------------- 
    1328 % 3D Stokes Drift (ln_sdw, nn_sdrift) 
    1329 % ---------------------------------------------------------------- 
    1330 \subsection[3D Stokes Drift (\texttt{ln\_sdw}, \texttt{nn\_sdrift})] 
    1331 {3D Stokes Drift (\protect\np{ln\_sdw, nn\_sdrift})} 
     1157%% ================================================================================================= 
     1158\subsection[3D Stokes Drift (\forcode{ln_sdw} \& \forcode{nn_sdrift})]{3D Stokes Drift (\protect\np{ln_sdw}{ln\_sdw} \& \np{nn_sdrift}{nn\_sdrift})} 
    13321159\label{subsec:SBC_wave_sdw} 
    13331160 
     
    13431170 
    13441171\[ 
    1345   % \label{eq:sbc_wave_sdw} 
     1172  % \label{eq:SBC_wave_sdw} 
    13461173  \mathbf{U}_{st} = \frac{16{\pi^3}} {g} 
    13471174  \int_0^\infty \int_{-\pi}^{\pi} (cos{\theta},sin{\theta}) {f^3} 
     
    13581185To simplify, it is customary to use approximations to the full Stokes profile. 
    13591186Three possible parameterizations for the calculation for the approximate Stokes drift velocity profile 
    1360 are included in the code through the \np{nn\_sdrift} parameter once provided the surface Stokes drift 
     1187are included in the code through the \np{nn_sdrift}{nn\_sdrift} parameter once provided the surface Stokes drift 
    13611188$\mathbf{U}_{st |_{z=0}}$ which is evaluated by an external wave model that accurately reproduces the wave spectra 
    13621189and makes possible the estimation of the surface Stokes drift for random directional waves in 
     
    13641191 
    13651192\begin{description} 
    1366 \item[\np{nn\_sdrift} = 0]: exponential integral profile parameterization proposed by 
     1193\item [{\np{nn_sdrift}{nn\_sdrift} = 0}]: exponential integral profile parameterization proposed by 
    13671194\citet{breivik.janssen.ea_JPO14}: 
    13681195 
    13691196\[ 
    1370   % \label{eq:sbc_wave_sdw_0a} 
     1197  % \label{eq:SBC_wave_sdw_0a} 
    13711198  \mathbf{U}_{st} \cong \mathbf{U}_{st |_{z=0}} \frac{\mathrm{e}^{-2k_ez}} {1-8k_ez} 
    13721199\] 
     
    13751202 
    13761203\[ 
    1377   % \label{eq:sbc_wave_sdw_0b} 
     1204  % \label{eq:SBC_wave_sdw_0b} 
    13781205  k_e = \frac{|\mathbf{U}_{\left.st\right|_{z=0}}|} {|T_{st}|} 
    13791206  \quad \text{and }\ 
     
    13831210where $H_s$ is the significant wave height and $\omega$ is the wave frequency. 
    13841211 
    1385 \item[\np{nn\_sdrift} = 1]: velocity profile based on the Phillips spectrum which is considered to be a 
     1212\item [{\np{nn_sdrift}{nn\_sdrift} = 1}]: velocity profile based on the Phillips spectrum which is considered to be a 
    13861213reasonable estimate of the part of the spectrum mostly contributing to the Stokes drift velocity near the surface 
    13871214\citep{breivik.bidlot.ea_OM16}: 
    13881215 
    13891216\[ 
    1390   % \label{eq:sbc_wave_sdw_1} 
     1217  % \label{eq:SBC_wave_sdw_1} 
    13911218  \mathbf{U}_{st} \cong \mathbf{U}_{st |_{z=0}} \Big[exp(2k_pz)-\beta \sqrt{-2 \pi k_pz} 
    13921219  \textit{ erf } \Big(\sqrt{-2 k_pz}\Big)\Big] 
     
    13951222where $erf$ is the complementary error function and $k_p$ is the peak wavenumber. 
    13961223 
    1397 \item[\np{nn\_sdrift} = 2]: velocity profile based on the Phillips spectrum as for \np{nn\_sdrift} = 1 
     1224\item [{\np{nn_sdrift}{nn\_sdrift} = 2}]: velocity profile based on the Phillips spectrum as for \np{nn_sdrift}{nn\_sdrift} = 1 
    13981225but using the wave frequency from a wave model. 
    13991226 
     
    14041231 
    14051232\[ 
    1406   % \label{eq:sbc_wave_eta_sdw} 
     1233  % \label{eq:SBC_wave_eta_sdw} 
    14071234  \frac{\partial{\eta}}{\partial{t}} = 
    14081235  -\nabla_h \int_{-H}^{\eta} (\mathbf{U} + \mathbf{U}_{st}) dz 
     
    14161243 
    14171244\[ 
    1418   % \label{eq:sbc_wave_tra_sdw} 
     1245  % \label{eq:SBC_wave_tra_sdw} 
    14191246  \frac{\partial{c}}{\partial{t}} = 
    14201247  - (\mathbf{U} + \mathbf{U}_{st}) \cdot \nabla{c} 
    14211248\] 
    14221249 
    1423  
    1424 % ---------------------------------------------------------------- 
    1425 % Stokes-Coriolis term (ln_stcor) 
    1426 % ---------------------------------------------------------------- 
    1427 \subsection[Stokes-Coriolis term (\texttt{ln\_stcor})] 
    1428 {Stokes-Coriolis term (\protect\np{ln\_stcor})} 
     1250%% ================================================================================================= 
     1251\subsection[Stokes-Coriolis term (\forcode{ln_stcor})]{Stokes-Coriolis term (\protect\np{ln_stcor}{ln\_stcor})} 
    14291252\label{subsec:SBC_wave_stcor} 
    14301253 
     
    14341257In order to include this term, once evaluated the Stokes drift (using one of the 3 possible 
    14351258approximations described in \autoref{subsec:SBC_wave_sdw}), 
    1436 \np{ln\_stcor}\forcode{ = .true.} has to be set. 
    1437  
    1438  
    1439 % ---------------------------------------------------------------- 
    1440 % Waves modified stress (ln_tauwoc, ln_tauw) 
    1441 % ---------------------------------------------------------------- 
    1442 \subsection[Wave modified stress (\texttt{ln\_tauwoc}, \texttt{ln\_tauw})] 
    1443 {Wave modified sress (\protect\np{ln\_tauwoc, ln\_tauw})} 
     1259\np[=.true.]{ln_stcor}{ln\_stcor} has to be set. 
     1260 
     1261%% ================================================================================================= 
     1262\subsection[Wave modified stress (\forcode{ln_tauwoc} \& \forcode{ln_tauw})]{Wave modified sress (\protect\np{ln_tauwoc}{ln\_tauwoc} \& \np{ln_tauw}{ln\_tauw})} 
    14441263\label{subsec:SBC_wave_tauw} 
    14451264 
     
    14531272 
    14541273\[ 
    1455   % \label{eq:sbc_wave_tauoc} 
     1274  % \label{eq:SBC_wave_tauoc} 
    14561275  \tau_{oc,a} = \tau_a - \tau_w 
    14571276\] 
     
    14611280 
    14621281\[ 
    1463   % \label{eq:sbc_wave_tauw} 
     1282  % \label{eq:SBC_wave_tauw} 
    14641283  \tau_w = \rho g \int {\frac{dk}{c_p} (S_{in}+S_{nl}+S_{diss})} 
    14651284\] 
     
    14751294 
    14761295The wave stress derived from an external wave model can be provided either through the normalized 
    1477 wave stress into the ocean by setting \np{ln\_tauwoc}\forcode{ = .true.}, or through the zonal and 
    1478 meridional stress components by setting \np{ln\_tauw}\forcode{ = .true.}. 
    1479  
    1480  
    1481  
    1482 % ================================================================ 
    1483 % Miscellanea options 
    1484 % ================================================================ 
     1296wave stress into the ocean by setting \np[=.true.]{ln_tauwoc}{ln\_tauwoc}, or through the zonal and 
     1297meridional stress components by setting \np[=.true.]{ln_tauw}{ln\_tauw}. 
     1298 
     1299%% ================================================================================================= 
    14851300\section{Miscellaneous options} 
    14861301\label{sec:SBC_misc} 
    14871302 
    1488  
    1489 % ------------------------------------------------------------------------------------------------------------- 
    1490 %        Diurnal cycle 
    1491 % ------------------------------------------------------------------------------------------------------------- 
    1492 \subsection[Diurnal cycle (\textit{sbcdcy.F90})] 
    1493 {Diurnal cycle (\protect\mdl{sbcdcy})} 
     1303%% ================================================================================================= 
     1304\subsection[Diurnal cycle (\textit{sbcdcy.F90})]{Diurnal cycle (\protect\mdl{sbcdcy})} 
    14941305\label{subsec:SBC_dcy} 
    1495 %------------------------------------------namsbc------------------------------------------------------------- 
    1496 % 
    1497 \nlst{namsbc} 
    1498 %------------------------------------------------------------------------------------------------------------- 
    1499  
    1500 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1306 
    15011307\begin{figure}[!t] 
    1502   \begin{center} 
    1503     \includegraphics[width=\textwidth]{Fig_SBC_diurnal} 
    1504     \caption{ 
    1505       \protect\label{fig:SBC_diurnal} 
    1506       Example of recontruction of the diurnal cycle variation of short wave flux from daily mean values. 
    1507       The reconstructed diurnal cycle (black line) is chosen as 
    1508       the mean value of the analytical cycle (blue line) over a time step, 
    1509       not as the mid time step value of the analytically cycle (red square). 
    1510       From \citet{bernie.guilyardi.ea_CD07}. 
    1511     } 
    1512   \end{center} 
     1308  \centering 
     1309  \includegraphics[width=0.66\textwidth]{Fig_SBC_diurnal} 
     1310  \caption[Reconstruction of the diurnal cycle variation of short wave flux]{ 
     1311    Example of reconstruction of the diurnal cycle variation of short wave flux from 
     1312    daily mean values. 
     1313    The reconstructed diurnal cycle (black line) is chosen as 
     1314    the mean value of the analytical cycle (blue line) over a time step, 
     1315    not as the mid time step value of the analytically cycle (red square). 
     1316    From \citet{bernie.guilyardi.ea_CD07}.} 
     1317  \label{fig:SBC_diurnal} 
    15131318\end{figure} 
    1514 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    15151319 
    15161320\cite{bernie.woolnough.ea_JC05} have shown that to capture 90$\%$ of the diurnal variability of SST requires a vertical resolution in upper ocean of 1~m or better and a temporal resolution of the surface fluxes of 3~h or less. 
     
    15211325assuming that the diurnal cycle of SWF is a scaling of the top of the atmosphere diurnal cycle of incident SWF. 
    15221326The \cite{bernie.guilyardi.ea_CD07} reconstruction algorithm is available in \NEMO\ by 
    1523 setting \np{ln\_dm2dc}\forcode{ = .true.} (a \textit{\nam{sbc}} namelist variable) when 
    1524 using a bulk formulation (\np{ln\_blk}\forcode{ = .true.}) or 
    1525 the flux formulation (\np{ln\_flx}\forcode{ = .true.}). 
     1327setting \np[=.true.]{ln_dm2dc}{ln\_dm2dc} (a \textit{\nam{sbc}{sbc}} namelist variable) when 
     1328using a bulk formulation (\np[=.true.]{ln_blk}{ln\_blk}) or 
     1329the flux formulation (\np[=.true.]{ln_flx}{ln\_flx}). 
    15261330The reconstruction is performed in the \mdl{sbcdcy} module. 
    15271331The detail of the algoritm used can be found in the appendix~A of \cite{bernie.guilyardi.ea_CD07}. 
     
    15291333a given time step is the mean value of the analytical cycle over this time step (\autoref{fig:SBC_diurnal}). 
    15301334The use of diurnal cycle reconstruction requires the input SWF to be daily 
    1531 (\ie\ a frequency of 24 hours and a time interpolation set to true in \np{sn\_qsr} namelist parameter). 
     1335(\ie\ a frequency of 24 hours and a time interpolation set to true in \np{sn_qsr}{sn\_qsr} namelist parameter). 
    15321336Furthermore, it is recommended to have a least 8 surface module time steps per day, 
    15331337that is  $\rdt \ nn\_fsbc < 10,800~s = 3~h$. 
     
    15351339one every 2~hours (from 1am to 11pm). 
    15361340 
    1537 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    15381341\begin{figure}[!t] 
    1539   \begin{center} 
    1540     \includegraphics[width=\textwidth]{Fig_SBC_dcy} 
    1541     \caption{ 
    1542       \protect\label{fig:SBC_dcy} 
    1543       Example of recontruction of the diurnal cycle variation of short wave flux from 
    1544       daily mean values on an ORCA2 grid with a time sampling of 2~hours (from 1am to 11pm). 
    1545       The display is on (i,j) plane. 
    1546     } 
    1547   \end{center} 
     1342  \centering 
     1343  \includegraphics[width=0.66\textwidth]{Fig_SBC_dcy} 
     1344  \caption[Reconstruction of the diurnal cycle variation of short wave flux on an ORCA2 grid]{ 
     1345    Example of reconstruction of the diurnal cycle variation of short wave flux from 
     1346    daily mean values on an ORCA2 grid with a time sampling of 2~hours (from 1am to 11pm). 
     1347    The display is on (i,j) plane.} 
     1348  \label{fig:SBC_dcy} 
    15481349\end{figure} 
    1549 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    15501350 
    15511351Note also that the setting a diurnal cycle in SWF is highly recommended when 
     
    15531353an inconsistency between the scale of the vertical resolution and the forcing acting on that scale. 
    15541354 
    1555  
    1556 % ------------------------------------------------------------------------------------------------------------- 
    1557 %        Rotation of vector pairs onto the model grid directions 
    1558 % ------------------------------------------------------------------------------------------------------------- 
     1355%% ================================================================================================= 
    15591356\subsection{Rotation of vector pairs onto the model grid directions} 
    15601357\label{subsec:SBC_rotation} 
    15611358 
    1562 When using a flux (\np{ln\_flx}\forcode{ = .true.}) or bulk (\np{ln\_blk}\forcode{ = .true.}) formulation, 
     1359When using a flux (\np[=.true.]{ln_flx}{ln\_flx}) or bulk (\np[=.true.]{ln_blk}{ln\_blk}) formulation, 
    15631360pairs of vector components can be rotated from east-north directions onto the local grid directions. 
    15641361This is particularly useful when interpolation on the fly is used since here any vectors are likely to 
     
    15731370The rot\_rep routine from the \mdl{geo2ocean} module is used to perform the rotation. 
    15741371 
    1575  
    1576 % ------------------------------------------------------------------------------------------------------------- 
    1577 %        Surface restoring to observed SST and/or SSS 
    1578 % ------------------------------------------------------------------------------------------------------------- 
    1579 \subsection[Surface restoring to observed SST and/or SSS (\textit{sbcssr.F90})] 
    1580 {Surface restoring to observed SST and/or SSS (\protect\mdl{sbcssr})} 
     1372%% ================================================================================================= 
     1373\subsection[Surface restoring to observed SST and/or SSS (\textit{sbcssr.F90})]{Surface restoring to observed SST and/or SSS (\protect\mdl{sbcssr})} 
    15811374\label{subsec:SBC_ssr} 
    1582 %------------------------------------------namsbc_ssr---------------------------------------------------- 
    1583  
    1584 \nlst{namsbc_ssr} 
    1585 %------------------------------------------------------------------------------------------------------------- 
    1586  
    1587 Options are defined through the \nam{sbc\_ssr} namelist variables. 
    1588 On forced mode using a flux formulation (\np{ln\_flx}\forcode{ = .true.}), 
     1375 
     1376\begin{listing} 
     1377  \nlst{namsbc_ssr} 
     1378  \caption{\forcode{&namsbc_ssr}} 
     1379  \label{lst:namsbc_ssr} 
     1380\end{listing} 
     1381 
     1382Options are defined through the \nam{sbc_ssr}{sbc\_ssr} namelist variables. 
     1383On forced mode using a flux formulation (\np[=.true.]{ln_flx}{ln\_flx}), 
    15891384a feedback term \emph{must} be added to the surface heat flux $Q_{ns}^o$: 
    15901385\[ 
    1591   % \label{eq:sbc_dmp_q} 
     1386  % \label{eq:SBC_dmp_q} 
    15921387  Q_{ns} = Q_{ns}^o + \frac{dQ}{dT} \left( \left. T \right|_{k=1} - SST_{Obs} \right) 
    15931388\] 
     
    16021397 
    16031398\begin{equation} 
    1604   \label{eq:sbc_dmp_emp} 
     1399  \label{eq:SBC_dmp_emp} 
    16051400  \textit{emp} = \textit{emp}_o + \gamma_s^{-1} e_{3t}  \frac{  \left(\left.S\right|_{k=1}-SSS_{Obs}\right)} 
    16061401  {\left.S\right|_{k=1}} 
     
    16131408$\left.S\right|_{k=1}$ is the model surface layer salinity and 
    16141409$\gamma_s$ is a negative feedback coefficient which is provided as a namelist parameter. 
    1615 Unlike heat flux, there is no physical justification for the feedback term in \autoref{eq:sbc_dmp_emp} as 
     1410Unlike heat flux, there is no physical justification for the feedback term in \autoref{eq:SBC_dmp_emp} as 
    16161411the atmosphere does not care about ocean surface salinity \citep{madec.delecluse_IWN97}. 
    16171412The SSS restoring term should be viewed as a flux correction on freshwater fluxes to 
    16181413reduce the uncertainties we have on the observed freshwater budget. 
    16191414 
    1620  
    1621 % ------------------------------------------------------------------------------------------------------------- 
    1622 %        Handling of ice-covered area 
    1623 % ------------------------------------------------------------------------------------------------------------- 
     1415%% ================================================================================================= 
    16241416\subsection{Handling of ice-covered area  (\textit{sbcice\_...})} 
    16251417\label{subsec:SBC_ice-cover} 
     
    16271419The presence at the sea surface of an ice covered area modifies all the fluxes transmitted to the ocean. 
    16281420There are several way to handle sea-ice in the system depending on 
    1629 the value of the \np{nn\_ice} namelist parameter found in \nam{sbc} namelist. 
     1421the value of the \np{nn_ice}{nn\_ice} namelist parameter found in \nam{sbc}{sbc} namelist. 
    16301422\begin{description} 
    1631 \item[nn\_ice = 0] 
    1632   there will never be sea-ice in the computational domain. 
     1423\item [nn\_ice = 0] there will never be sea-ice in the computational domain. 
    16331424  This is a typical namelist value used for tropical ocean domain. 
    16341425  The surface fluxes are simply specified for an ice-free ocean. 
    16351426  No specific things is done for sea-ice. 
    1636 \item[nn\_ice = 1] 
    1637   sea-ice can exist in the computational domain, but no sea-ice model is used. 
     1427\item [nn\_ice = 1] sea-ice can exist in the computational domain, but no sea-ice model is used. 
    16381428  An observed ice covered area is read in a file. 
    16391429  Below this area, the SST is restored to the freezing point and 
     
    16461436  is usually referred as the \textit{ice-if} model. 
    16471437  It can be found in the \mdl{sbcice\_if} module. 
    1648 \item[nn\_ice = 2 or more] 
    1649   A full sea ice model is used. 
     1438\item [nn\_ice = 2 or more] A full sea ice model is used. 
    16501439  This model computes the ice-ocean fluxes, 
    16511440  that are combined with the air-sea fluxes using the ice fraction of each model cell to 
     
    16591448%GS: ocean-ice (SI3) interface is not located in SBC directory anymore, so it should be included in SI3 doc 
    16601449 
    1661  
    1662 % ------------------------------------------------------------------------------------------------------------- 
    1663 %        CICE-ocean Interface 
    1664 % ------------------------------------------------------------------------------------------------------------- 
    1665 \subsection[Interface to CICE (\textit{sbcice\_cice.F90})] 
    1666 {Interface to CICE (\protect\mdl{sbcice\_cice})} 
     1450%% ================================================================================================= 
     1451\subsection[Interface to CICE (\textit{sbcice\_cice.F90})]{Interface to CICE (\protect\mdl{sbcice\_cice})} 
    16671452\label{subsec:SBC_cice} 
    16681453 
     
    16751460(seek advice from UKMO if necessary). 
    16761461Currently, the code is only designed to work when using the NCAR forcing option for \NEMO\ %GS: still true ? 
    1677 (with \textit{calc\_strair}\forcode{ = .true.} and \textit{calc\_Tsfc}\forcode{ = .true.} in the CICE name-list), 
     1462(with \textit{calc\_strair}\forcode{=.true.} and \textit{calc\_Tsfc}\forcode{=.true.} in the CICE name-list), 
    16781463or alternatively when \NEMO\ is coupled to the HadGAM3 atmosphere model 
    1679 (with \textit{calc\_strair}\forcode{ = .false.} and \textit{calc\_Tsfc}\forcode{ = false}). 
    1680 The code is intended to be used with \np{nn\_fsbc} set to 1 
     1464(with \textit{calc\_strair}\forcode{=.false.} and \textit{calc\_Tsfc}\forcode{=false}). 
     1465The code is intended to be used with \np{nn_fsbc}{nn\_fsbc} set to 1 
    16811466(although coupling ocean and ice less frequently should work, 
    16821467it is possible the calculation of some of the ocean-ice fluxes needs to be modified slightly - 
     
    16941479there is no sea ice. 
    16951480 
    1696  
    1697 % ------------------------------------------------------------------------------------------------------------- 
    1698 %        Freshwater budget control 
    1699 % ------------------------------------------------------------------------------------------------------------- 
    1700 \subsection[Freshwater budget control (\textit{sbcfwb.F90})] 
    1701 {Freshwater budget control (\protect\mdl{sbcfwb})} 
     1481%% ================================================================================================= 
     1482\subsection[Freshwater budget control (\textit{sbcfwb.F90})]{Freshwater budget control (\protect\mdl{sbcfwb})} 
    17021483\label{subsec:SBC_fwb} 
    17031484 
     
    17071488 
    17081489\begin{description} 
    1709 \item[\np{nn\_fwb}\forcode{ = 0}] 
    1710   no control at all. 
     1490\item [{\np[=0]{nn_fwb}{nn\_fwb}}] no control at all. 
    17111491  The mean sea level is free to drift, and will certainly do so. 
    1712 \item[\np{nn\_fwb}\forcode{ = 1}] 
    1713   global mean \textit{emp} set to zero at each model time step. 
     1492\item [{\np[=1]{nn_fwb}{nn\_fwb}}] global mean \textit{emp} set to zero at each model time step. 
    17141493  %GS: comment below still relevant ? 
    17151494  %Note that with a sea-ice model, this technique only controls the mean sea level with linear free surface and no mass flux between ocean and ice (as it is implemented in the current ice-ocean coupling). 
    1716 \item[\np{nn\_fwb}\forcode{ = 2}] 
    1717   freshwater budget is adjusted from the previous year annual mean budget which 
     1495\item [{\np[=2]{nn_fwb}{nn\_fwb}}] freshwater budget is adjusted from the previous year annual mean budget which 
    17181496  is read in the \textit{EMPave\_old.dat} file. 
    17191497  As the model uses the Boussinesq approximation, the annual mean fresh water budget is simply evaluated from 
     
    17431521% in ocean-ice models. 
    17441522 
    1745  
    1746 \biblio 
    1747  
    1748 \pindex 
     1523\onlyinsubfile{\input{../../global/epilogue}} 
    17491524 
    17501525\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_STO.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter stochastic parametrization of EOS (STO) 
    6 % ================================================================ 
     4 
    75\chapter{Stochastic Parametrization of EOS (STO)} 
    86\label{chap:STO} 
    97 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
     11 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
    1124 
    1225% \vfill 
    1326% \begin{figure}[b] 
     27%% ================================================================================================= 
    1428% \subsubsection*{Changes record} 
    1529% \begin{tabular}{l||l|m{0.65\linewidth}} 
     
    2034% \end{figure} 
    2135 
    22 Authors: \\ 
    23 C. Levy release 4.0.1 update \\ 
    24 P.-A. Bouttier release 3.6 inital version 
    25  
    26 \newpage 
     36\clearpage 
    2737 
    2838As a result of the nonlinearity of the seawater equation of state, unresolved scales represent a major source of uncertainties in the computation of the large-scale horizontal density gradient from the large-scale temperature and salinity fields. Following  \cite{brankart_OM13}, the impact of these uncertainties can be simulated by random processes representing unresolved T/S fluctuations. The Stochastic Parametrization of EOS (STO) module implements this parametrization. 
     
    3040As detailed in \cite{brankart_OM13}, the stochastic formulation of the equation of state can be written as: 
    3141\begin{equation} 
    32   \label{eq:eos_sto} 
     42  \label{eq:STO_eos_sto} 
    3343  \rho = \frac{1}{2} \sum_{i=1}^m\{ \rho[T+\Delta T_i,S+\Delta S_i,p_o(z)] + \rho[T-\Delta T_i,S-\Delta S_i,p_o(z)] \} 
    3444\end{equation} 
     
    3747the scalar product of the respective local T/S gradients with random walks $\mathbf{\xi}$: 
    3848\begin{equation} 
    39   \label{eq:sto_pert} 
     49  \label{eq:STO_sto_pert} 
    4050  \Delta T_i = \mathbf{\xi}_i \cdot \nabla T \qquad \hbox{and} \qquad \Delta S_i = \mathbf{\xi}_i \cdot \nabla S 
    4151\end{equation} 
     
    4454$\mathbf{\xi}$ are uncorrelated over the horizontal and fully correlated along the vertical. 
    4555 
    46  
     56%% ================================================================================================= 
    4757\section{Stochastic processes} 
    4858\label{sec:STO_the_details} 
     
    5969 
    6070\begin{equation} 
    61   \label{eq:autoreg} 
     71  \label{eq:STO_autoreg} 
    6272  \xi^{(i)}_{k+1} = a^{(i)} \xi^{(i)}_k + b^{(i)} w^{(i)} + c^{(i)} 
    6373\end{equation} 
     
    6979 
    7080\begin{itemize} 
    71 \item 
    72   for order~1 processes, $w^{(i)}$ is a Gaussian white noise, with zero mean and standard deviation equal to~1, 
     81\item for order~1 processes, $w^{(i)}$ is a Gaussian white noise, with zero mean and standard deviation equal to~1, 
    7382  and the parameters $a^{(i)}$, $b^{(i)}$, $c^{(i)}$ are given by: 
    7483 
    7584  \[ 
    76     % \label{eq:ord1} 
     85    % \label{eq:STO_ord1} 
    7786    \left\{ 
    7887      \begin{array}{l} 
     
    8493  \] 
    8594 
    86 \item 
    87   for order~$n>1$ processes, $w^{(i)}$ is an order~$n-1$ autoregressive process, with zero mean, 
     95\item for order~$n>1$ processes, $w^{(i)}$ is an order~$n-1$ autoregressive process, with zero mean, 
    8896  standard deviation equal to~$\sigma^{(i)}$; 
    8997  correlation timescale equal to~$\tau^{(i)}$; 
     
    9199 
    92100  \begin{equation} 
    93     \label{eq:ord2} 
     101    \label{eq:STO_ord2} 
    94102    \left\{ 
    95103      \begin{array}{l} 
     
    107115\noindent 
    108116In this way, higher order processes can be easily generated recursively using the same piece of code implementing 
    109 \autoref{eq:autoreg}, and using successive processes from order $0$ to~$n-1$ as~$w^{(i)}$. 
    110 The parameters in \autoref{eq:ord2} are computed so that this recursive application of 
    111 \autoref{eq:autoreg} leads to processes with the required standard deviation and correlation timescale, 
     117\autoref{eq:STO_autoreg}, and using successive processes from order $0$ to~$n-1$ as~$w^{(i)}$. 
     118The parameters in \autoref{eq:STO_ord2} are computed so that this recursive application of 
     119\autoref{eq:STO_autoreg} leads to processes with the required standard deviation and correlation timescale, 
    112120with the additional condition that the $n-1$ first derivatives of the autocorrelation function are equal to 
    113121zero at~$t=0$, so that the resulting processes become smoother and smoother as $n$ increases. 
     
    122130for any other configuration or resolution of the model. 
    123131 
     132%% ================================================================================================= 
    124133\section{Implementation details} 
    125134\label{sec:STO_thech_details} 
    126  
    127135 
    128136The code implementing stochastic parametrisation is located in the src/OCE/STO directory. 
     
    135143 
    136144\mdl{stopts} : stochastic parametrisation associated with the non-linearity of the equation of 
    137  seawater, implementing \autoref{eq:sto_pert} so as specifics in the equation of state 
    138  implementing \autoref{eq:eos_sto}. 
     145 seawater, implementing \autoref{eq:STO_sto_pert} so as specifics in the equation of state 
     146 implementing \autoref{eq:STO_eos_sto}. 
    139147% \end{description} 
    140148 
    141149The \mdl{stopar} module includes three public routines called in the model: 
    142150 
    143 (\rou{sto\_par}) is a direct implementation of \autoref{eq:autoreg}, 
     151(\rou{sto\_par}) is a direct implementation of \autoref{eq:STO_autoreg}, 
    144152applied at each model grid point (in 2D or 3D), and called at each model time step ($k$) to 
    145153update every autoregressive process ($i=1,\ldots,m$). 
     
    154162 
    155163(\rou{sto\_rst\_write}) writes a restart file 
    156 (which suffix name is given by \np{cn\_storst\_out} namelist parameter) containing the current value of 
     164(which suffix name is given by \np{cn_storst_out}{cn\_storst\_out} namelist parameter) containing the current value of 
    157165all autoregressive processes to allow creating the file needed for a restart. 
    158166This restart file also contains the current state of the random number generator. 
    159 When \np{ln\_rststo} is set to \forcode{.true.}), 
    160 the restart file (which suffix name is given by \np{cn\_storst\_in} namelist parameter) is read by 
     167When \np{ln_rststo}{ln\_rststo} is set to \forcode{.true.}), 
     168the restart file (which suffix name is given by \np{cn_storst_in}{cn\_storst\_in} namelist parameter) is read by 
    161169the initialization routine (\rou{sto\_par\_init}). 
    162170The simulation will continue exactly as if it was not interrupted only 
    163 when \np{ln\_rstseed} is set to \forcode{.true.}, 
     171when \np{ln_rstseed}{ln\_rstseed} is set to \forcode{.true.}, 
    164172\ie\ when the state of the random number generator is read in the restart file.\\ 
    165173 
     
    170178Options and parameters \\ 
    171179 
    172 The \np{ln\_sto\_eos} namelist variable activates stochastic parametrisation of equation of state. 
     180The \np{ln_sto_eos}{ln\_sto\_eos} namelist variable activates stochastic parametrisation of equation of state. 
    173181By default it set to \forcode{.false.}) and not active. 
    174 The set of parameters is available in \nam{sto} namelist 
     182The set of parameters is available in \nam{sto}{sto} namelist 
    175183(only the subset for equation of state stochastic parametrisation is listed below): 
    176 %---------------------------------------namsto-------------------------------------------------- 
    177  
    178 \nlst{namsto} 
    179 %-------------------------------------------------------------------------------------------------------------- 
     184 
     185\begin{listing} 
     186  \nlst{namsto} 
     187  \caption{\forcode{&namsto}} 
     188  \label{lst:namsto} 
     189\end{listing} 
    180190 
    181191The variables of stochastic paramtetrisation itself (based on the global 2° experiments as in \cite{brankart_OM13} are: 
    182192 
    183193\begin{description} 
    184 \item[\np{nn\_sto\_eos}:]   number of independent random walks 
    185 \item[\np{rn\_eos\_stdxy}:] random walk horizontal standard deviation (in grid points) 
    186 \item[\np{rn\_eos\_stdz}:]  random walk vertical standard deviation (in grid points) 
    187 \item[\np{rn\_eos\_tcor}:]  random walk time correlation (in timesteps) 
    188 \item[\np{nn\_eos\_ord}:]   order of autoregressive processes 
    189 \item[\np{nn\_eos\_flt}:]   passes of Laplacian filter 
    190 \item[\np{rn\_eos\_lim}:]   limitation factor (default = 3.0) 
     194\item [{\np{nn_sto_eos}{nn\_sto\_eos}:}]     number of independent random walks 
     195\item [{\np{rn_eos_stdxy}{rn\_eos\_stdxy}:}] random walk horizontal standard deviation 
     196  (in grid points) 
     197\item [{\np{rn_eos_stdz}{rn\_eos\_stdz}:}]   random walk vertical standard deviation 
     198  (in grid points) 
     199\item [{\np{rn_eos_tcor}{rn\_eos\_tcor}:}]   random walk time correlation (in timesteps) 
     200\item [{\np{nn_eos_ord}{nn\_eos\_ord}:}]     order of autoregressive processes 
     201\item [{\np{nn_eos_flt}{nn\_eos\_flt}:}]     passes of Laplacian filter 
     202\item [{\np{rn_eos_lim}{rn\_eos\_lim}:}]     limitation factor (default = 3.0) 
    191203\end{description} 
    192204 
    193205The first four parameters define the stochastic part of equation of state. 
    194 \biblio 
    195  
    196 \pindex 
     206 
     207\onlyinsubfile{\input{../../global/epilogue}} 
    197208 
    198209\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_TRA.tex

    r11459 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter 1 ——— Ocean Tracers (TRA) 
    6 % ================================================================ 
     4 
    75\chapter{Ocean Tracers (TRA)} 
    86\label{chap:TRA} 
    97 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
     11 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release          & Author(s)                                   & Modifications       \\ 
     17    \hline 
     18    {\em        4.0} & {\em Christian \'{E}th\'{e}               } & {\em Review       } \\ 
     19    {\em        3.6} & {\em Gurvan Madec                         } & {\em Update       } \\ 
     20    {\em $\leq$ 3.4} & {\em Gurvan Madec and S\'{e}bastien Masson} & {\em First version} \\ 
     21  \end{tabularx} 
     22} 
     23 
     24\clearpage 
    1125 
    1226% missing/update 
     
    1933the tracer equations are available depending on the vertical coordinate used and on the physics used. 
    2034In all the equations presented here, the masking has been omitted for simplicity. 
    21 One must be aware that all the quantities are masked fields and that each time a mean or 
    22 difference operator is used, the resulting field is multiplied by a mask. 
     35One must be aware that all the quantities are masked fields and that 
     36each time a mean or difference operator is used, the resulting field is multiplied by a mask. 
    2337 
    2438The two active tracers are potential temperature and salinity. 
     
    3145NXT stands for next, referring to the time-stepping. 
    3246From left to right, the terms on the rhs of the tracer equations are the advection (ADV), 
    33 the lateral diffusion (LDF), the vertical diffusion (ZDF), the contributions from the external forcings 
    34 (SBC: Surface Boundary Condition, QSR: penetrative Solar Radiation, and BBC: Bottom Boundary Condition), 
    35 the contribution from the bottom boundary Layer (BBL) parametrisation, and an internal damping (DMP) term. 
     47the lateral diffusion (LDF), the vertical diffusion (ZDF), 
     48the contributions from the external forcings (SBC: Surface Boundary Condition, 
     49QSR: penetrative Solar Radiation, and BBC: Bottom Boundary Condition), 
     50the contribution from the bottom boundary Layer (BBL) parametrisation, 
     51and an internal damping (DMP) term. 
    3652The terms QSR, BBC, BBL and DMP are optional. 
    3753The external forcings and parameterisations require complex inputs and complex calculations 
     
    3955LDF and ZDF modules and described in \autoref{chap:SBC}, \autoref{chap:LDF} and 
    4056\autoref{chap:ZDF}, respectively. 
    41 Note that \mdl{tranpc}, the non-penetrative convection module, although located in 
    42 the \path{./src/OCE/TRA} directory as it directly modifies the tracer fields, 
     57Note that \mdl{tranpc}, the non-penetrative convection module, 
     58although located in the \path{./src/OCE/TRA} directory as it directly modifies the tracer fields, 
    4359is described with the model vertical physics (ZDF) together with 
    4460other available parameterization of convection. 
    4561 
    46 In the present chapter we also describe the diagnostic equations used to compute the sea-water properties 
    47 (density, Brunt-V\"{a}is\"{a}l\"{a} frequency, specific heat and freezing point with 
    48 associated modules \mdl{eosbn2} and \mdl{phycst}). 
     62In the present chapter we also describe the diagnostic equations used to 
     63compute the sea-water properties (density, Brunt-V\"{a}is\"{a}l\"{a} frequency, specific heat and 
     64freezing point with associated modules \mdl{eosbn2} and \mdl{phycst}). 
    4965 
    5066The different options available to the user are managed by namelist logicals. 
     
    5571 
    5672The user has the option of extracting each tendency term on the RHS of the tracer equation for output 
    57 (\np{ln\_tra\_trd} or \np{ln\_tra\_mxl}\forcode{ = .true.}), as described in \autoref{chap:DIA}. 
    58  
    59 % ================================================================ 
    60 % Tracer Advection 
    61 % ================================================================ 
    62 \section[Tracer advection (\textit{traadv.F90})] 
    63 {Tracer advection (\protect\mdl{traadv})} 
     73(\np{ln_tra_trd}{ln\_tra\_trd} or \np[=.true.]{ln_tra_mxl}{ln\_tra\_mxl}), 
     74as described in \autoref{chap:DIA}. 
     75 
     76%% ================================================================================================= 
     77\section[Tracer advection (\textit{traadv.F90})]{Tracer advection (\protect\mdl{traadv})} 
    6478\label{sec:TRA_adv} 
    65 %------------------------------------------namtra_adv----------------------------------------------------- 
    66  
    67 \nlst{namtra_adv} 
    68 %------------------------------------------------------------------------------------------------------------- 
    69  
    70 When considered (\ie\ when \np{ln\_traadv\_OFF} is not set to \forcode{.true.}), 
     79 
     80\begin{listing} 
     81  \nlst{namtra_adv} 
     82  \caption{\forcode{&namtra_adv}} 
     83  \label{lst:namtra_adv} 
     84\end{listing} 
     85 
     86When considered (\ie\ when \np{ln_traadv_OFF}{ln\_traadv\_OFF} is not set to \forcode{.true.}), 
    7187the advection tendency of a tracer is expressed in flux form, 
    7288\ie\ as the divergence of the advective fluxes. 
    73 Its discrete expression is given by : 
    74 \begin{equation} 
    75   \label{eq:tra_adv} 
     89Its discrete expression is given by: 
     90\begin{equation} 
     91  \label{eq:TRA_adv} 
    7692  ADV_\tau = - \frac{1}{b_t} \Big(   \delta_i [ e_{2u} \, e_{3u} \; u \; \tau_u] 
    7793                                   + \delta_j [ e_{1v} \, e_{3v} \; v \; \tau_v] \Big) 
     
    7995\end{equation} 
    8096where $\tau$ is either T or S, and $b_t = e_{1t} \, e_{2t} \, e_{3t}$ is the volume of $T$-cells. 
    81 The flux form in \autoref{eq:tra_adv} implicitly requires the use of the continuity equation. 
    82 Indeed, it is obtained by using the following equality: $\nabla \cdot (\vect U \, T) = \vect U \cdot \nabla T$ which 
    83 results from the use of the continuity equation, $\partial_t e_3 + e_3 \; \nabla \cdot \vect U = 0$ 
    84 (which reduces to $\nabla \cdot \vect U = 0$ in linear free surface, \ie\ \np{ln\_linssh}\forcode{ = .true.}). 
    85 Therefore it is of paramount importance to design the discrete analogue of the advection tendency so that 
    86 it is consistent with the continuity equation in order to enforce the conservation properties of 
    87 the continuous equations. 
    88 In other words, by setting $\tau = 1$ in (\autoref{eq:tra_adv}) we recover the discrete form of 
    89 the continuity equation which is used to calculate the vertical velocity. 
    90 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    91 \begin{figure}[!t] 
    92   \begin{center} 
    93     \includegraphics[width=\textwidth]{Fig_adv_scheme} 
    94     \caption{ 
    95       \protect\label{fig:adv_scheme} 
    96       Schematic representation of some ways used to evaluate the tracer value at $u$-point and 
    97       the amount of tracer exchanged between two neighbouring grid points. 
    98       Upsteam biased scheme (ups): 
    99       the upstream value is used and the black area is exchanged. 
    100       Piecewise parabolic method (ppm): 
    101       a parabolic interpolation is used and the black and dark grey areas are exchanged. 
    102       Monotonic upstream scheme for conservative laws (muscl): 
    103       a parabolic interpolation is used and black, dark grey and grey areas are exchanged. 
    104       Second order scheme (cen2): 
    105       the mean value is used and black, dark grey, grey and light grey areas are exchanged. 
    106       Note that this illustration does not include the flux limiter used in ppm and muscl schemes. 
    107     } 
    108   \end{center} 
     97The flux form in \autoref{eq:TRA_adv} implicitly requires the use of the continuity equation. 
     98Indeed, it is obtained by using the following equality: 
     99$\nabla \cdot (\vect U \, T) = \vect U \cdot \nabla T$ which 
     100results from the use of the continuity equation, 
     101$\partial_t e_3 + e_3 \; \nabla \cdot \vect U = 0$ 
     102(which reduces to $\nabla \cdot \vect U = 0$ in linear free surface, 
     103\ie\ \np[=.true.]{ln_linssh}{ln\_linssh}). 
     104Therefore it is of paramount importance to 
     105design the discrete analogue of the advection tendency so that 
     106it is consistent with the continuity equation in order to 
     107enforce the conservation properties of the continuous equations. 
     108In other words, by setting $\tau = 1$ in (\autoref{eq:TRA_adv}) we recover 
     109the discrete form of the continuity equation which is used to calculate the vertical velocity. 
     110\begin{figure} 
     111  \centering 
     112  \includegraphics[width=0.66\textwidth]{Fig_adv_scheme} 
     113  \caption[Ways to evaluate the tracer value and the amount of tracer exchanged]{ 
     114    Schematic representation of some ways used to evaluate the tracer value at $u$-point and 
     115    the amount of tracer exchanged between two neighbouring grid points. 
     116    Upsteam biased scheme (ups): 
     117    the upstream value is used and the black area is exchanged. 
     118    Piecewise parabolic method (ppm): 
     119    a parabolic interpolation is used and the black and dark grey areas are exchanged. 
     120    Monotonic upstream scheme for conservative laws (muscl): 
     121    a parabolic interpolation is used and black, dark grey and grey areas are exchanged. 
     122    Second order scheme (cen2): 
     123    the mean value is used and black, dark grey, grey and light grey areas are exchanged. 
     124    Note that this illustration does not include the flux limiter used in ppm and muscl schemes.} 
     125  \label{fig:TRA_adv_scheme} 
    109126\end{figure} 
    110 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    111  
    112 The key difference between the advection schemes available in \NEMO\ is the choice made in space and 
    113 time interpolation to define the value of the tracer at the velocity points 
    114 (\autoref{fig:adv_scheme}). 
     127 
     128The key difference between the advection schemes available in \NEMO\ is the choice made in 
     129space and time interpolation to define the value of the tracer at the velocity points 
     130(\autoref{fig:TRA_adv_scheme}). 
    115131 
    116132Along solid lateral and bottom boundaries a zero tracer flux is automatically specified, 
     
    119135 
    120136\begin{description} 
    121 \item[linear free surface:] 
    122   (\np{ln\_linssh}\forcode{ = .true.}) 
     137\item [linear free surface] (\np[=.true.]{ln_linssh}{ln\_linssh}) 
    123138  the first level thickness is constant in time: 
    124   the vertical boundary condition is applied at the fixed surface $z = 0$ rather than on 
    125   the moving surface $z = \eta$. 
    126   There is a non-zero advective flux which is set for all advection schemes as 
    127   $\tau_w|_{k = 1/2} = T_{k = 1}$, \ie\ the product of surface velocity (at $z = 0$) by 
    128   the first level tracer value. 
    129 \item[non-linear free surface:] 
    130   (\np{ln\_linssh}\forcode{ = .false.}) 
     139  the vertical boundary condition is applied at the fixed surface $z = 0$ rather than 
     140  on the moving surface $z = \eta$. 
     141  There is a non-zero advective flux which is set for 
     142  all advection schemes as $\tau_w|_{k = 1/2} = T_{k = 1}$, 
     143  \ie\ the product of surface velocity (at $z = 0$) by the first level tracer value. 
     144\item [non-linear free surface] (\np[=.false.]{ln_linssh}{ln\_linssh}) 
    131145  convergence/divergence in the first ocean level moves the free surface up/down. 
    132   There is no tracer advection through it so that the advective fluxes through the surface are also zero. 
     146  There is no tracer advection through it so that 
     147  the advective fluxes through the surface are also zero. 
    133148\end{description} 
    134149 
    135150In all cases, this boundary condition retains local conservation of tracer. 
    136 Global conservation is obtained in non-linear free surface case, but \textit{not} in the linear free surface case. 
    137 Nevertheless, in the latter case, it is achieved to a good approximation since 
    138 the non-conservative term is the product of the time derivative of the tracer and the free surface height, 
    139 two quantities that are not correlated \citep{roullet.madec_JGR00, griffies.pacanowski.ea_MWR01, campin.adcroft.ea_OM04}. 
    140  
    141 The velocity field that appears in (\autoref{eq:tra_adv} is  
     151Global conservation is obtained in non-linear free surface case, 
     152but \textit{not} in the linear free surface case. 
     153Nevertheless, in the latter case, 
     154it is achieved to a good approximation since the non-conservative term is 
     155the product of the time derivative of the tracer and the free surface height, 
     156two quantities that are not correlated 
     157\citep{roullet.madec_JGR00, griffies.pacanowski.ea_MWR01, campin.adcroft.ea_OM04}. 
     158 
     159The velocity field that appears in (\autoref{eq:TRA_adv} is 
    142160the centred (\textit{now}) \textit{effective} ocean velocity, \ie\ the \textit{eulerian} velocity 
    143161(see \autoref{chap:DYN}) plus the eddy induced velocity (\textit{eiv}) and/or 
     
    145163(see \autoref{chap:LDF}). 
    146164 
    147 Several tracer advection scheme are proposed, namely a $2^{nd}$ or $4^{th}$ order centred schemes (CEN), 
    148 a $2^{nd}$ or $4^{th}$ order Flux Corrected Transport scheme (FCT), a Monotone Upstream Scheme for 
    149 Conservative Laws scheme (MUSCL), a $3^{rd}$ Upstream Biased Scheme (UBS, also often called UP3), 
    150 and a Quadratic Upstream Interpolation for Convective Kinematics with Estimated Streaming Terms scheme (QUICKEST). 
    151 The choice is made in the \nam{tra\_adv} namelist, by setting to \forcode{.true.} one of 
    152 the logicals \textit{ln\_traadv\_xxx}. 
    153 The corresponding code can be found in the \textit{traadv\_xxx.F90} module, where 
    154 \textit{xxx} is a 3 or 4 letter acronym corresponding to each scheme. 
    155 By default (\ie\ in the reference namelist, \textit{namelist\_ref}), all the logicals are set to \forcode{.false.}. 
    156 If the user does not select an advection scheme in the configuration namelist (\textit{namelist\_cfg}), 
    157 the tracers will \textit{not} be advected! 
     165Several tracer advection scheme are proposed, 
     166namely a $2^{nd}$ or $4^{th}$ order \textbf{CEN}tred schemes (CEN), 
     167a $2^{nd}$ or $4^{th}$ order \textbf{F}lux \textbf{C}orrected \textbf{T}ransport scheme (FCT), 
     168a \textbf{M}onotone \textbf{U}pstream \textbf{S}cheme for 
     169\textbf{C}onservative \textbf{L}aws scheme (MUSCL), 
     170a $3^{rd}$ \textbf{U}pstream \textbf{B}iased \textbf{S}cheme (UBS, also often called UP3), 
     171and a \textbf{Q}uadratic \textbf{U}pstream \textbf{I}nterpolation for 
     172\textbf{C}onvective \textbf{K}inematics with 
     173\textbf{E}stimated \textbf{S}treaming \textbf{T}erms scheme (QUICKEST). 
     174The choice is made in the \nam{tra_adv}{tra\_adv} namelist, 
     175by setting to \forcode{.true.} one of the logicals \textit{ln\_traadv\_xxx}. 
     176The corresponding code can be found in the \textit{traadv\_xxx.F90} module, 
     177where \textit{xxx} is a 3 or 4 letter acronym corresponding to each scheme. 
     178By default (\ie\ in the reference namelist, \textit{namelist\_ref}), 
     179all the logicals are set to \forcode{.false.}. 
     180If the user does not select an advection scheme in the configuration namelist 
     181(\textit{namelist\_cfg}), the tracers will \textit{not} be advected! 
    158182 
    159183Details of the advection schemes are given below. 
    160 The choosing an advection scheme is a complex matter which depends on the model physics, model resolution, 
    161 type of tracer, as well as the issue of numerical cost. In particular, we note that 
     184The choosing an advection scheme is a complex matter which depends on the 
     185model physics, model resolution, type of tracer, as well as the issue of numerical cost. 
     186In particular, we note that 
    162187 
    163188\begin{enumerate} 
    164 \item 
    165   CEN and FCT schemes require an explicit diffusion operator while the other schemes are diffusive enough so that 
    166   they do not necessarily need additional diffusion; 
    167 \item 
    168   CEN and UBS are not \textit{positive} schemes 
    169   \footnote{negative values can appear in an initially strictly positive tracer field which is advected}, 
     189\item CEN and FCT schemes require an explicit diffusion operator while 
     190  the other schemes are diffusive enough so that they do not necessarily need additional diffusion; 
     191\item CEN and UBS are not \textit{positive} schemes \footnote{negative values can appear in 
     192    an initially strictly positive tracer field which is advected}, 
    170193  implying that false extrema are permitted. 
    171194  Their use is not recommended on passive tracers; 
    172 \item 
    173   It is recommended that the same advection-diffusion scheme is used on both active and passive tracers. 
     195\item It is recommended that the same advection-diffusion scheme is used on 
     196  both active and passive tracers. 
    174197\end{enumerate} 
    175198 
    176 Indeed, if a source or sink of a passive tracer depends on an active one, the difference of treatment of active and 
    177 passive tracers can create very nice-looking frontal structures that are pure numerical artefacts. 
     199Indeed, if a source or sink of a passive tracer depends on an active one, 
     200the difference of treatment of active and passive tracers can create 
     201very nice-looking frontal structures that are pure numerical artefacts. 
    178202Nevertheless, most of our users set a different treatment on passive and active tracers, 
    179203that's the reason why this possibility is offered. 
    180 We strongly suggest them to perform a sensitivity experiment using a same treatment to assess the robustness of 
    181 their results. 
    182  
    183 % ------------------------------------------------------------------------------------------------------------- 
    184 %        2nd and 4th order centred schemes 
    185 % ------------------------------------------------------------------------------------------------------------- 
    186 \subsection[CEN: Centred scheme (\forcode{ln_traadv_cen = .true.})] 
    187 {CEN: Centred scheme (\protect\np{ln\_traadv\_cen}\forcode{ = .true.})} 
     204We strongly suggest them to perform a sensitivity experiment using a same treatment to 
     205assess the robustness of their results. 
     206 
     207%% ================================================================================================= 
     208\subsection[CEN: Centred scheme (\forcode{ln_traadv_cen})]{CEN: Centred scheme (\protect\np{ln_traadv_cen}{ln\_traadv\_cen})} 
    188209\label{subsec:TRA_adv_cen} 
    189210 
    190211%        2nd order centred scheme 
    191212 
    192 The centred advection scheme (CEN) is used when \np{ln\_traadv\_cen}\forcode{ = .true.}. 
    193 Its order ($2^{nd}$ or $4^{th}$) can be chosen independently on horizontal (iso-level) and vertical direction by 
    194 setting \np{nn\_cen\_h} and \np{nn\_cen\_v} to $2$ or $4$. 
     213The \textbf{CEN}tred advection scheme (CEN) is used when \np[=.true.]{ln_traadv_cen}{ln\_traadv\_cen}. 
     214Its order ($2^{nd}$ or $4^{th}$) can be chosen independently on 
     215horizontal (iso-level) and vertical direction by 
     216setting \np{nn_cen_h}{nn\_cen\_h} and \np{nn_cen_v}{nn\_cen\_v} to $2$ or $4$. 
    195217CEN implementation can be found in the \mdl{traadv\_cen} module. 
    196218 
    197 In the $2^{nd}$ order centred formulation (CEN2), the tracer at velocity points is evaluated as the mean of 
    198 the two neighbouring $T$-point values. 
     219In the $2^{nd}$ order centred formulation (CEN2), the tracer at velocity points is evaluated as 
     220the mean of the two neighbouring $T$-point values. 
    199221For example, in the $i$-direction : 
    200222\begin{equation} 
    201   \label{eq:tra_adv_cen2} 
     223  \label{eq:TRA_adv_cen2} 
    202224  \tau_u^{cen2} = \overline T ^{i + 1/2} 
    203225\end{equation} 
    204226 
    205 CEN2 is non diffusive (\ie\ it conserves the tracer variance, $\tau^2$) but dispersive 
    206 (\ie\ it may create false extrema). 
    207 It is therefore notoriously noisy and must be used in conjunction with an explicit diffusion operator to 
    208 produce a sensible solution. 
    209 The associated time-stepping is performed using a leapfrog scheme in conjunction with an Asselin time-filter, 
    210 so $T$ in (\autoref{eq:tra_adv_cen2}) is the \textit{now} tracer value. 
     227CEN2 is non diffusive (\ie\ it conserves the tracer variance, $\tau^2$) but 
     228dispersive (\ie\ it may create false extrema). 
     229It is therefore notoriously noisy and must be used in conjunction with 
     230an explicit diffusion operator to produce a sensible solution. 
     231The associated time-stepping is performed using 
     232a leapfrog scheme in conjunction with an Asselin time-filter, 
     233so $T$ in (\autoref{eq:TRA_adv_cen2}) is the \textit{now} tracer value. 
    211234 
    212235Note that using the CEN2, the overall tracer advection is of second order accuracy since 
    213 both (\autoref{eq:tra_adv}) and (\autoref{eq:tra_adv_cen2}) have this order of accuracy. 
     236both (\autoref{eq:TRA_adv}) and (\autoref{eq:TRA_adv_cen2}) have this order of accuracy. 
    214237 
    215238%        4nd order centred scheme 
    216239 
    217 In the $4^{th}$ order formulation (CEN4), tracer values are evaluated at u- and v-points as 
    218 a $4^{th}$ order interpolation, and thus depend on the four neighbouring $T$-points. 
     240In the $4^{th}$ order formulation (CEN4), 
     241tracer values are evaluated at u- and v-points as a $4^{th}$ order interpolation, 
     242and thus depend on the four neighbouring $T$-points. 
    219243For example, in the $i$-direction: 
    220244\begin{equation} 
    221   \label{eq:tra_adv_cen4} 
     245  \label{eq:TRA_adv_cen4} 
    222246  \tau_u^{cen4} = \overline{T - \frac{1}{6} \, \delta_i \Big[ \delta_{i + 1/2}[T] \, \Big]}^{\,i + 1/2} 
    223247\end{equation} 
    224 In the vertical direction (\np{nn\_cen\_v}\forcode{ = 4}), 
     248In the vertical direction (\np[=4]{nn_cen_v}{nn\_cen\_v}), 
    225249a $4^{th}$ COMPACT interpolation has been prefered \citep{demange_phd14}. 
    226 In the COMPACT scheme, both the field and its derivative are interpolated, which leads, after a matrix inversion, 
    227 spectral characteristics similar to schemes of higher order \citep{lele_JCP92}. 
     250In the COMPACT scheme, both the field and its derivative are interpolated, 
     251which leads, after a matrix inversion, spectral characteristics similar to schemes of higher order 
     252\citep{lele_JCP92}. 
    228253 
    229254Strictly speaking, the CEN4 scheme is not a $4^{th}$ order advection scheme but 
    230255a $4^{th}$ order evaluation of advective fluxes, 
    231 since the divergence of advective fluxes \autoref{eq:tra_adv} is kept at $2^{nd}$ order. 
    232 The expression \textit{$4^{th}$ order scheme} used in oceanographic literature is usually associated with 
    233 the scheme presented here. 
    234 Introducing a \forcode{.true.} $4^{th}$ order advection scheme is feasible but, for consistency reasons, 
    235 it requires changes in the discretisation of the tracer advection together with changes in the continuity equation, 
    236 and the momentum advection and pressure terms. 
     256since the divergence of advective fluxes \autoref{eq:TRA_adv} is kept at $2^{nd}$ order. 
     257The expression \textit{$4^{th}$ order scheme} used in oceanographic literature is 
     258usually associated with the scheme presented here. 
     259Introducing a ``true'' $4^{th}$ order advection scheme is feasible but, for consistency reasons, 
     260it requires changes in the discretisation of the tracer advection together with 
     261changes in the continuity equation, and the momentum advection and pressure terms. 
    237262 
    238263A direct consequence of the pseudo-fourth order nature of the scheme is that it is not non-diffusive, 
    239264\ie\ the global variance of a tracer is not preserved using CEN4. 
    240 Furthermore, it must be used in conjunction with an explicit diffusion operator to produce a sensible solution. 
    241 As in CEN2 case, the time-stepping is performed using a leapfrog scheme in conjunction with an Asselin time-filter, 
    242 so $T$ in (\autoref{eq:tra_adv_cen4}) is the \textit{now} tracer. 
     265Furthermore, it must be used in conjunction with an explicit diffusion operator to 
     266produce a sensible solution. 
     267As in CEN2 case, the time-stepping is performed using a leapfrog scheme in conjunction with 
     268an Asselin time-filter, so $T$ in (\autoref{eq:TRA_adv_cen4}) is the \textit{now} tracer. 
    243269 
    244270At a $T$-grid cell adjacent to a boundary (coastline, bottom and surface), 
     
    246272This hypothesis usually reduces the order of the scheme. 
    247273Here we choose to set the gradient of $T$ across the boundary to zero. 
    248 Alternative conditions can be specified, such as a reduction to a second order scheme for 
    249 these near boundary grid points. 
    250  
    251 % ------------------------------------------------------------------------------------------------------------- 
    252 %        FCT scheme 
    253 % ------------------------------------------------------------------------------------------------------------- 
    254 \subsection[FCT: Flux Corrected Transport scheme (\forcode{ln_traadv_fct = .true.})] 
    255 {FCT: Flux Corrected Transport scheme (\protect\np{ln\_traadv\_fct}\forcode{ = .true.})} 
     274Alternative conditions can be specified, 
     275such as a reduction to a second order scheme for these near boundary grid points. 
     276 
     277%% ================================================================================================= 
     278\subsection[FCT: Flux Corrected Transport scheme (\forcode{ln_traadv_fct})]{FCT: Flux Corrected Transport scheme (\protect\np{ln_traadv_fct}{ln\_traadv\_fct})} 
    256279\label{subsec:TRA_adv_tvd} 
    257280 
    258 The Flux Corrected Transport schemes (FCT) is used when \np{ln\_traadv\_fct}\forcode{ = .true.}. 
    259 Its order ($2^{nd}$ or $4^{th}$) can be chosen independently on horizontal (iso-level) and vertical direction by 
    260 setting \np{nn\_fct\_h} and \np{nn\_fct\_v} to $2$ or $4$. 
     281The \textbf{F}lux \textbf{C}orrected \textbf{T}ransport schemes (FCT) is used when 
     282\np[=.true.]{ln_traadv_fct}{ln\_traadv\_fct}. 
     283Its order ($2^{nd}$ or $4^{th}$) can be chosen independently on 
     284horizontal (iso-level) and vertical direction by 
     285setting \np{nn_fct_h}{nn\_fct\_h} and \np{nn_fct_v}{nn\_fct\_v} to $2$ or $4$. 
    261286FCT implementation can be found in the \mdl{traadv\_fct} module. 
    262287 
    263 In FCT formulation, the tracer at velocity points is evaluated using a combination of an upstream and 
    264 a centred scheme. 
     288In FCT formulation, the tracer at velocity points is evaluated using 
     289a combination of an upstream and a centred scheme. 
    265290For example, in the $i$-direction : 
    266291\begin{equation} 
    267   \label{eq:tra_adv_fct} 
     292  \label{eq:TRA_adv_fct} 
    268293  \begin{split} 
    269294    \tau_u^{ups} &= 
     
    271296                     T_{i + 1} & \text{if~} u_{i + 1/2} <    0 \\ 
    272297                     T_i       & \text{if~} u_{i + 1/2} \geq 0 \\ 
    273     \end{cases} 
    274     \\ 
     298    \end{cases} \\ 
    275299    \tau_u^{fct} &= \tau_u^{ups} + c_u \, \big( \tau_u^{cen} - \tau_u^{ups} \big) 
    276300  \end{split} 
     
    278302where $c_u$ is a flux limiter function taking values between 0 and 1. 
    279303The FCT order is the one of the centred scheme used 
    280 (\ie\ it depends on the setting of \np{nn\_fct\_h} and \np{nn\_fct\_v}). 
     304(\ie\ it depends on the setting of \np{nn_fct_h}{nn\_fct\_h} and \np{nn_fct_v}{nn\_fct\_v}). 
    281305There exist many ways to define $c_u$, each corresponding to a different FCT scheme. 
    282306The one chosen in \NEMO\ is described in \citet{zalesak_JCP79}. 
     
    286310A comparison of FCT-2 with MUSCL and a MPDATA scheme can be found in \citet{levy.estublier.ea_GRL01}. 
    287311 
    288  
    289 For stability reasons (see \autoref{chap:STP}), 
    290 $\tau_u^{cen}$ is evaluated in (\autoref{eq:tra_adv_fct}) using the \textit{now} tracer while 
     312For stability reasons (see \autoref{chap:TD}), 
     313$\tau_u^{cen}$ is evaluated in (\autoref{eq:TRA_adv_fct}) using the \textit{now} tracer while 
    291314$\tau_u^{ups}$ is evaluated using the \textit{before} tracer. 
    292 In other words, the advective part of the scheme is time stepped with a leap-frog scheme 
    293 while a forward scheme is used for the diffusive part. 
    294  
    295 % ------------------------------------------------------------------------------------------------------------- 
    296 %        MUSCL scheme 
    297 % ------------------------------------------------------------------------------------------------------------- 
    298 \subsection[MUSCL: Monotone Upstream Scheme for Conservative Laws (\forcode{ln_traadv_mus = .true.})] 
    299 {MUSCL: Monotone Upstream Scheme for Conservative Laws (\protect\np{ln\_traadv\_mus}\forcode{ = .true.})} 
     315In other words, the advective part of the scheme is time stepped with a leap-frog scheme while 
     316a forward scheme is used for the diffusive part. 
     317 
     318%% ================================================================================================= 
     319\subsection[MUSCL: Monotone Upstream Scheme for Conservative Laws (\forcode{ln_traadv_mus})]{MUSCL: Monotone Upstream Scheme for Conservative Laws (\protect\np{ln_traadv_mus}{ln\_traadv\_mus})} 
    300320\label{subsec:TRA_adv_mus} 
    301321 
    302 The Monotone Upstream Scheme for Conservative Laws (MUSCL) is used when \np{ln\_traadv\_mus}\forcode{ = .true.}. 
     322The \textbf{M}onotone \textbf{U}pstream \textbf{S}cheme for \textbf{C}onservative \textbf{L}aws 
     323(MUSCL) is used when \np[=.true.]{ln_traadv_mus}{ln\_traadv\_mus}. 
    303324MUSCL implementation can be found in the \mdl{traadv\_mus} module. 
    304325 
    305326MUSCL has been first implemented in \NEMO\ by \citet{levy.estublier.ea_GRL01}. 
    306 In its formulation, the tracer at velocity points is evaluated assuming a linear tracer variation between 
    307 two $T$-points (\autoref{fig:adv_scheme}). 
     327In its formulation, the tracer at velocity points is evaluated assuming 
     328a linear tracer variation between two $T$-points (\autoref{fig:TRA_adv_scheme}). 
    308329For example, in the $i$-direction : 
    309 \begin{equation} 
    310   % \label{eq:tra_adv_mus} 
     330\[ 
     331  % \label{eq:TRA_adv_mus} 
    311332  \tau_u^{mus} = \lt\{ 
    312333  \begin{split} 
    313                        \tau_i         &+ \frac{1}{2} \lt( 1 - \frac{u_{i + 1/2} \, \rdt}{e_{1u}} \rt) 
    314                        \widetilde{\partial_i         \tau} & \text{if~} u_{i + 1/2} \geqslant 0 \\ 
    315                        \tau_{i + 1/2} &+ \frac{1}{2} \lt( 1 + \frac{u_{i + 1/2} \, \rdt}{e_{1u}} \rt) 
    316                        \widetilde{\partial_{i + 1/2} \tau} & \text{if~} u_{i + 1/2} <         0 
     334    \tau_i        &+ \frac{1}{2} \lt( 1 - \frac{u_{i + 1/2} \, \rdt}{e_{1u}} \rt) 
     335    \widetilde{\partial_i        \tau} & \text{if~} u_{i + 1/2} \geqslant 0 \\ 
     336    \tau_{i + 1/2} &+ \frac{1}{2} \lt( 1 + \frac{u_{i + 1/2} \, \rdt}{e_{1u}} \rt) 
     337    \widetilde{\partial_{i + 1/2} \tau} & \text{if~} u_{i + 1/2} <         0 
    317338  \end{split} 
    318339                                                                                                      \rt. 
    319 \end{equation} 
    320 where $\widetilde{\partial_i \tau}$ is the slope of the tracer on which a limitation is imposed to 
    321 ensure the \textit{positive} character of the scheme. 
    322  
    323 The time stepping is performed using a forward scheme, that is the \textit{before} tracer field is used to 
    324 evaluate $\tau_u^{mus}$. 
     340\] 
     341where $\widetilde{\partial_i \tau}$ is the slope of the tracer on which 
     342a limitation is imposed to ensure the \textit{positive} character of the scheme. 
     343 
     344The time stepping is performed using a forward scheme, 
     345that is the \textit{before} tracer field is used to evaluate $\tau_u^{mus}$. 
    325346 
    326347For an ocean grid point adjacent to land and where the ocean velocity is directed toward land, 
    327348an upstream flux is used. 
    328349This choice ensure the \textit{positive} character of the scheme. 
    329 In addition, fluxes round a grid-point where a runoff is applied can optionally be computed using upstream fluxes 
    330 (\np{ln\_mus\_ups}\forcode{ = .true.}). 
    331  
    332 % ------------------------------------------------------------------------------------------------------------- 
    333 %        UBS scheme 
    334 % ------------------------------------------------------------------------------------------------------------- 
    335 \subsection[UBS a.k.a. UP3: Upstream-Biased Scheme (\forcode{ln_traadv_ubs = .true.})] 
    336 {UBS a.k.a. UP3: Upstream-Biased Scheme (\protect\np{ln\_traadv\_ubs}\forcode{ = .true.})} 
     350In addition, fluxes round a grid-point where a runoff is applied can optionally be computed using 
     351upstream fluxes (\np[=.true.]{ln_mus_ups}{ln\_mus\_ups}). 
     352 
     353%% ================================================================================================= 
     354\subsection[UBS a.k.a. UP3: Upstream-Biased Scheme (\forcode{ln_traadv_ubs})]{UBS a.k.a. UP3: Upstream-Biased Scheme (\protect\np{ln_traadv_ubs}{ln\_traadv\_ubs})} 
    337355\label{subsec:TRA_adv_ubs} 
    338356 
    339 The Upstream-Biased Scheme (UBS) is used when \np{ln\_traadv\_ubs}\forcode{ = .true.}. 
     357The \textbf{U}pstream-\textbf{B}iased \textbf{S}cheme (UBS) is used when 
     358\np[=.true.]{ln_traadv_ubs}{ln\_traadv\_ubs}. 
    340359UBS implementation can be found in the \mdl{traadv\_mus} module. 
    341360 
    342361The UBS scheme, often called UP3, is also known as the Cell Averaged QUICK scheme 
    343 (Quadratic Upstream Interpolation for Convective Kinematics). 
     362(\textbf{Q}uadratic \textbf{U}pstream \textbf{I}nterpolation for 
     363\textbf{C}onvective \textbf{K}inematics). 
    344364It is an upstream-biased third order scheme based on an upstream-biased parabolic interpolation. 
    345365For example, in the $i$-direction: 
    346366\begin{equation} 
    347   \label{eq:tra_adv_ubs} 
     367  \label{eq:TRA_adv_ubs} 
    348368  \tau_u^{ubs} = \overline T ^{i + 1/2} - \frac{1}{6} 
    349369    \begin{cases} 
    350                                                       \tau"_i       & \text{if~} u_{i + 1/2} \geqslant 0 \\ 
    351                                                       \tau"_{i + 1} & \text{if~} u_{i + 1/2} <         0 
     370      \tau"_i       & \text{if~} u_{i + 1/2} \geqslant 0 \\ 
     371      \tau"_{i + 1} & \text{if~} u_{i + 1/2} <         0 
    352372    \end{cases} 
    353   \quad 
    354   \text{where~} \tau"_i = \delta_i \lt[ \delta_{i + 1/2} [\tau] \rt] 
     373  \quad \text{where~} \tau"_i = \delta_i \lt[ \delta_{i + 1/2} [\tau] \rt] 
    355374\end{equation} 
    356375 
    357376This results in a dissipatively dominant (i.e. hyper-diffusive) truncation error 
    358377\citep{shchepetkin.mcwilliams_OM05}. 
    359 The overall performance of the advection scheme is similar to that reported in \cite{farrow.stevens_JPO95}. 
     378The overall performance of the advection scheme is similar to that reported in 
     379\cite{farrow.stevens_JPO95}. 
    360380It is a relatively good compromise between accuracy and smoothness. 
    361381Nevertheless the scheme is not \textit{positive}, meaning that false extrema are permitted, 
    362382but the amplitude of such are significantly reduced over the centred second or fourth order method. 
    363 Therefore it is not recommended that it should be applied to a passive tracer that requires positivity. 
     383Therefore it is not recommended that it should be applied to 
     384a passive tracer that requires positivity. 
    364385 
    365386The intrinsic diffusion of UBS makes its use risky in the vertical direction where 
    366387the control of artificial diapycnal fluxes is of paramount importance 
    367388\citep{shchepetkin.mcwilliams_OM05, demange_phd14}. 
    368 Therefore the vertical flux is evaluated using either a $2^nd$ order FCT scheme or a $4^th$ order COMPACT scheme 
    369 (\np{nn\_ubs\_v}\forcode{ = 2 or 4}). 
    370  
    371 For stability reasons (see \autoref{chap:STP}), the first term  in \autoref{eq:tra_adv_ubs} 
    372 (which corresponds to a second order centred scheme) 
    373 is evaluated using the \textit{now} tracer (centred in time) while the second term 
    374 (which is the diffusive part of the scheme), 
     389Therefore the vertical flux is evaluated using either a $2^nd$ order FCT scheme or 
     390a $4^th$ order COMPACT scheme (\np[=2 or 4]{nn_ubs_v}{nn\_ubs\_v}). 
     391 
     392For stability reasons (see \autoref{chap:TD}), 
     393the first term  in \autoref{eq:TRA_adv_ubs} (which corresponds to a second order centred scheme) 
     394is evaluated using the \textit{now}    tracer (centred in time) while 
     395the second term (which is the diffusive part of the scheme), 
    375396is evaluated using the \textit{before} tracer (forward in time). 
    376 This choice is discussed by \citet{webb.de-cuevas.ea_JAOT98} in the context of the QUICK advection scheme. 
     397This choice is discussed by \citet{webb.de-cuevas.ea_JAOT98} in 
     398the context of the QUICK advection scheme. 
    377399UBS and QUICK schemes only differ by one coefficient. 
    378 Replacing 1/6 with 1/8 in \autoref{eq:tra_adv_ubs} leads to the QUICK advection scheme \citep{webb.de-cuevas.ea_JAOT98}. 
     400Replacing 1/6 with 1/8 in \autoref{eq:TRA_adv_ubs} leads to the QUICK advection scheme 
     401\citep{webb.de-cuevas.ea_JAOT98}. 
    379402This option is not available through a namelist parameter, since the 1/6 coefficient is hard coded. 
    380 Nevertheless it is quite easy to make the substitution in the \mdl{traadv\_ubs} module and obtain a QUICK scheme. 
    381  
    382 Note that it is straightforward to rewrite \autoref{eq:tra_adv_ubs} as follows: 
     403Nevertheless it is quite easy to make the substitution in the \mdl{traadv\_ubs} module and 
     404obtain a QUICK scheme. 
     405 
     406Note that it is straightforward to rewrite \autoref{eq:TRA_adv_ubs} as follows: 
    383407\begin{gather} 
    384   \label{eq:traadv_ubs2} 
     408  \label{eq:TRA_adv_ubs2} 
    385409  \tau_u^{ubs} = \tau_u^{cen4} + \frac{1}{12} 
    386410    \begin{cases} 
     
    389413    \end{cases} 
    390414  \intertext{or equivalently} 
    391   % \label{eq:traadv_ubs2b} 
     415  % \label{eq:TRA_adv_ubs2b} 
    392416  u_{i + 1/2} \ \tau_u^{ubs} = u_{i + 1/2} \, \overline{T - \frac{1}{6} \, \delta_i \Big[ \delta_{i + 1/2}[T] \Big]}^{\,i + 1/2} 
    393417                             - \frac{1}{2} |u|_{i + 1/2} \, \frac{1}{6} \, \delta_{i + 1/2} [\tau"_i] \nonumber 
    394418\end{gather} 
    395419 
    396 \autoref{eq:traadv_ubs2} has several advantages. 
     420\autoref{eq:TRA_adv_ubs2} has several advantages. 
    397421Firstly, it clearly reveals that the UBS scheme is based on the fourth order scheme to which 
    398422an upstream-biased diffusion term is added. 
    399 Secondly, this emphasises that the $4^{th}$ order part (as well as the $2^{nd}$ order part as stated above) has to 
    400 be evaluated at the \textit{now} time step using \autoref{eq:tra_adv_ubs}. 
    401 Thirdly, the diffusion term is in fact a biharmonic operator with an eddy coefficient which 
    402 is simply proportional to the velocity: $A_u^{lm} = \frac{1}{12} \, {e_{1u}}^3 \, |u|$. 
    403 Note the current version of \NEMO\ uses the computationally more efficient formulation \autoref{eq:tra_adv_ubs}. 
    404  
    405 % ------------------------------------------------------------------------------------------------------------- 
    406 %        QCK scheme 
    407 % ------------------------------------------------------------------------------------------------------------- 
    408 \subsection[QCK: QuiCKest scheme (\forcode{ln_traadv_qck = .true.})] 
    409 {QCK: QuiCKest scheme (\protect\np{ln\_traadv\_qck}\forcode{ = .true.})} 
     423Secondly, 
     424this emphasises that the $4^{th}$ order part (as well as the $2^{nd}$ order part as stated above) has to be evaluated at the \textit{now} time step using \autoref{eq:TRA_adv_ubs}. 
     425Thirdly, the diffusion term is in fact a biharmonic operator with 
     426an eddy coefficient which is simply proportional to the velocity: 
     427$A_u^{lm} = \frac{1}{12} \, {e_{1u}}^3 \, |u|$. 
     428Note the current version of \NEMO\ uses the computationally more efficient formulation 
     429\autoref{eq:TRA_adv_ubs}. 
     430 
     431%% ================================================================================================= 
     432\subsection[QCK: QuiCKest scheme (\forcode{ln_traadv_qck})]{QCK: QuiCKest scheme (\protect\np{ln_traadv_qck}{ln\_traadv\_qck})} 
    410433\label{subsec:TRA_adv_qck} 
    411434 
    412 The Quadratic Upstream Interpolation for Convective Kinematics with Estimated Streaming Terms (QUICKEST) scheme 
    413 proposed by \citet{leonard_CMAME79} is used when \np{ln\_traadv\_qck}\forcode{ = .true.}. 
     435The \textbf{Q}uadratic \textbf{U}pstream \textbf{I}nterpolation for 
     436\textbf{C}onvective \textbf{K}inematics with \textbf{E}stimated \textbf{S}treaming \textbf{T}erms 
     437(QUICKEST) scheme proposed by \citet{leonard_CMAME79} is used when 
     438\np[=.true.]{ln_traadv_qck}{ln\_traadv\_qck}. 
    414439QUICKEST implementation can be found in the \mdl{traadv\_qck} module. 
    415440 
    416441QUICKEST is the third order Godunov scheme which is associated with the ULTIMATE QUICKEST limiter 
    417442\citep{leonard_CMAME91}. 
    418 It has been implemented in \NEMO\ by G. Reffray (MERCATOR-ocean) and can be found in the \mdl{traadv\_qck} module. 
     443It has been implemented in \NEMO\ by G. Reffray (Mercator Ocean) and 
     444can be found in the \mdl{traadv\_qck} module. 
    419445The resulting scheme is quite expensive but \textit{positive}. 
    420446It can be used on both active and passive tracers. 
     
    423449Therefore the vertical flux is evaluated using the CEN2 scheme. 
    424450This no longer guarantees the positivity of the scheme. 
    425 The use of FCT in the vertical direction (as for the UBS case) should be implemented to restore this property. 
     451The use of FCT in the vertical direction (as for the UBS case) should be implemented to 
     452restore this property. 
    426453 
    427454%%%gmcomment   :  Cross term are missing in the current implementation.... 
    428455 
    429 % ================================================================ 
    430 % Tracer Lateral Diffusion 
    431 % ================================================================ 
    432 \section[Tracer lateral diffusion (\textit{traldf.F90})] 
    433 {Tracer lateral diffusion (\protect\mdl{traldf})} 
     456%% ================================================================================================= 
     457\section[Tracer lateral diffusion (\textit{traldf.F90})]{Tracer lateral diffusion (\protect\mdl{traldf})} 
    434458\label{sec:TRA_ldf} 
    435 %-----------------------------------------nam_traldf------------------------------------------------------ 
    436  
    437 \nlst{namtra_ldf} 
    438 %------------------------------------------------------------------------------------------------------------- 
    439  
    440 Options are defined through the \nam{tra\_ldf} namelist variables. 
     459 
     460\begin{listing} 
     461  \nlst{namtra_ldf} 
     462  \caption{\forcode{&namtra_ldf}} 
     463  \label{lst:namtra_ldf} 
     464\end{listing} 
     465 
     466Options are defined through the \nam{tra_ldf}{tra\_ldf} namelist variables. 
    441467They are regrouped in four items, allowing to specify 
    442 $(i)$   the type of operator used (none, laplacian, bilaplacian), 
    443 $(ii)$  the direction along which the operator acts (iso-level, horizontal, iso-neutral), 
    444 $(iii)$ some specific options related to the rotated operators (\ie\ non-iso-level operator), and 
    445 $(iv)$  the specification of eddy diffusivity coefficient (either constant or variable in space and time). 
    446 Item $(iv)$ will be described in \autoref{chap:LDF}. 
     468\begin{enumerate*}[label=(\textit{\roman*})] 
     469\item the type of operator used (none, laplacian, bilaplacian), 
     470\item the direction along which the operator acts (iso-level, horizontal, iso-neutral), 
     471\item some specific options related to the rotated operators (\ie\ non-iso-level operator), and 
     472\item the specification of eddy diffusivity coefficient 
     473  (either constant or variable in space and time). 
     474\end{enumerate*} 
     475Item (iv) will be described in \autoref{chap:LDF}. 
    447476The direction along which the operators act is defined through the slope between 
    448477this direction and the iso-level surfaces. 
     
    452481\ie\ the tracers appearing in its expression are the \textit{before} tracers in time, 
    453482except for the pure vertical component that appears when a rotation tensor is used. 
    454 This latter component is solved implicitly together with the vertical diffusion term (see \autoref{chap:STP}). 
    455 When \np{ln\_traldf\_msc}\forcode{ = .true.}, a Method of Stabilizing Correction is used in which 
    456 the pure vertical component is split into an explicit and an implicit part \citep{lemarie.debreu.ea_OM12}. 
    457  
    458 % ------------------------------------------------------------------------------------------------------------- 
    459 %        Type of operator 
    460 % ------------------------------------------------------------------------------------------------------------- 
    461 \subsection[Type of operator (\texttt{ln\_traldf}\{\texttt{\_OFF,\_lap,\_blp}\})] 
    462 {Type of operator (\protect\np{ln\_traldf\_OFF}, \protect\np{ln\_traldf\_lap}, or \protect\np{ln\_traldf\_blp}) } 
     483This latter component is solved implicitly together with the vertical diffusion term 
     484(see \autoref{chap:TD}). 
     485When \np[=.true.]{ln_traldf_msc}{ln\_traldf\_msc}, 
     486a Method of Stabilizing Correction is used in which the pure vertical component is split into 
     487an explicit and an implicit part \citep{lemarie.debreu.ea_OM12}. 
     488 
     489%% ================================================================================================= 
     490\subsection[Type of operator (\forcode{ln_traldf_}\{\forcode{OFF,lap,blp}\})]{Type of operator (\protect\np{ln_traldf_OFF}{ln\_traldf\_OFF}, \protect\np{ln_traldf_lap}{ln\_traldf\_lap}, or \protect\np{ln_traldf_blp}{ln\_traldf\_blp})} 
    463491\label{subsec:TRA_ldf_op} 
    464492 
     
    466494 
    467495\begin{description} 
    468 \item[\np{ln\_traldf\_OFF}\forcode{ = .true.}:] 
    469   no operator selected, the lateral diffusive tendency will not be applied to the tracer equation. 
    470   This option can be used when the selected advection scheme is diffusive enough (MUSCL scheme for example). 
    471 \item[\np{ln\_traldf\_lap}\forcode{ = .true.}:] 
    472   a laplacian operator is selected. 
    473   This harmonic operator takes the following expression:  $\mathpzc{L}(T) = \nabla \cdot A_{ht} \; \nabla T $, 
     496\item [{\np[=.true.]{ln_traldf_OFF}{ln\_traldf\_OFF}}] no operator selected, 
     497  the lateral diffusive tendency will not be applied to the tracer equation. 
     498  This option can be used when the selected advection scheme is diffusive enough 
     499  (MUSCL scheme for example). 
     500\item [{\np[=.true.]{ln_traldf_lap}{ln\_traldf\_lap}}] a laplacian operator is selected. 
     501  This harmonic operator takes the following expression: 
     502  $\mathcal{L}(T) = \nabla \cdot A_{ht} \; \nabla T $, 
    474503  where the gradient operates along the selected direction (see \autoref{subsec:TRA_ldf_dir}), 
    475504  and $A_{ht}$ is the eddy diffusivity coefficient expressed in $m^2/s$ (see \autoref{chap:LDF}). 
    476 \item[\np{ln\_traldf\_blp}\forcode{ = .true.}]: 
    477   a bilaplacian operator is selected. 
     505\item [{\np[=.true.]{ln_traldf_blp}{ln\_traldf\_blp}}] a bilaplacian operator is selected. 
    478506  This biharmonic operator takes the following expression: 
    479   $\mathpzc{B} = - \mathpzc{L}(\mathpzc{L}(T)) = - \nabla \cdot b \nabla (\nabla \cdot b \nabla T)$ 
     507  $\mathcal{B} = - \mathcal{L}(\mathcal{L}(T)) = - \nabla \cdot b \nabla (\nabla \cdot b \nabla T)$ 
    480508  where the gradient operats along the selected direction, 
    481   and $b^2 = B_{ht}$ is the eddy diffusivity coefficient expressed in $m^4/s$ (see \autoref{chap:LDF}). 
     509  and $b^2 = B_{ht}$ is the eddy diffusivity coefficient expressed in $m^4/s$ 
     510  (see \autoref{chap:LDF}). 
    482511  In the code, the bilaplacian operator is obtained by calling the laplacian twice. 
    483512\end{description} 
     
    487516minimizing the impact on the larger scale features. 
    488517The main difference between the two operators is the scale selectiveness. 
    489 The bilaplacian damping time (\ie\ its spin down time) scales like $\lambda^{-4}$ for 
    490 disturbances of wavelength $\lambda$ (so that short waves damped more rapidelly than long ones), 
     518The bilaplacian damping time (\ie\ its spin down time) scales like 
     519$\lambda^{-4}$ for disturbances of wavelength $\lambda$ 
     520(so that short waves damped more rapidelly than long ones), 
    491521whereas the laplacian damping time scales only like $\lambda^{-2}$. 
    492522 
    493 % ------------------------------------------------------------------------------------------------------------- 
    494 %        Direction of action 
    495 % ------------------------------------------------------------------------------------------------------------- 
    496 \subsection[Action direction (\texttt{ln\_traldf}\{\texttt{\_lev,\_hor,\_iso,\_triad}\})] 
    497 {Direction of action (\protect\np{ln\_traldf\_lev}, \protect\np{ln\_traldf\_hor}, \protect\np{ln\_traldf\_iso}, or \protect\np{ln\_traldf\_triad}) } 
     523%% ================================================================================================= 
     524\subsection[Action direction (\forcode{ln_traldf_}\{\forcode{lev,hor,iso,triad}\})]{Direction of action (\protect\np{ln_traldf_lev}{ln\_traldf\_lev}, \protect\np{ln_traldf_hor}{ln\_traldf\_hor}, \protect\np{ln_traldf_iso}{ln\_traldf\_iso}, or \protect\np{ln_traldf_triad}{ln\_traldf\_triad})} 
    498525\label{subsec:TRA_ldf_dir} 
    499526 
    500527The choice of a direction of action determines the form of operator used. 
    501528The operator is a simple (re-entrant) laplacian acting in the (\textbf{i},\textbf{j}) plane when 
    502 iso-level option is used (\np{ln\_traldf\_lev}\forcode{ = .true.}) or 
    503 when a horizontal (\ie\ geopotential) operator is demanded in \textit{z}-coordinate 
    504 (\np{ln\_traldf\_hor} and \np{ln\_zco} equal \forcode{.true.}). 
     529iso-level option is used (\np[=.true.]{ln_traldf_lev}{ln\_traldf\_lev}) or when 
     530a horizontal (\ie\ geopotential) operator is demanded in \textit{z}-coordinate 
     531(\np{ln_traldf_hor}{ln\_traldf\_hor} and \np[=.true.]{ln_zco}{ln\_zco}). 
    505532The associated code can be found in the \mdl{traldf\_lap\_blp} module. 
    506533The operator is a rotated (re-entrant) laplacian when 
    507534the direction along which it acts does not coincide with the iso-level surfaces, 
    508535that is when standard or triad iso-neutral option is used 
    509 (\np{ln\_traldf\_iso} or \np{ln\_traldf\_triad} equals \forcode{.true.}, 
     536(\np{ln_traldf_iso}{ln\_traldf\_iso} or \np{ln_traldf_triad}{ln\_traldf\_triad} = \forcode{.true.}, 
    510537see \mdl{traldf\_iso} or \mdl{traldf\_triad} module, resp.), or 
    511538when a horizontal (\ie\ geopotential) operator is demanded in \textit{s}-coordinate 
    512 (\np{ln\_traldf\_hor} and \np{ln\_sco} equal \forcode{.true.}) 
    513 \footnote{In this case, the standard iso-neutral operator will be automatically selected}. 
     539(\np{ln_traldf_hor}{ln\_traldf\_hor} and \np{ln_sco}{ln\_sco} = \forcode{.true.}) \footnote{ 
     540  In this case, the standard iso-neutral operator will be automatically selected}. 
    514541In that case, a rotation is applied to the gradient(s) that appears in the operator so that 
    515542diffusive fluxes acts on the three spatial direction. 
     
    518545the next two sub-sections. 
    519546 
    520 % ------------------------------------------------------------------------------------------------------------- 
    521 %       iso-level operator 
    522 % ------------------------------------------------------------------------------------------------------------- 
    523 \subsection[Iso-level (bi-)laplacian operator (\texttt{ln\_traldf\_iso})] 
    524 {Iso-level (bi-)laplacian operator ( \protect\np{ln\_traldf\_iso})} 
     547%% ================================================================================================= 
     548\subsection[Iso-level (bi-)laplacian operator (\forcode{ln_traldf_iso})]{Iso-level (bi-)laplacian operator ( \protect\np{ln_traldf_iso}{ln\_traldf\_iso})} 
    525549\label{subsec:TRA_ldf_lev} 
    526550 
    527551The laplacian diffusion operator acting along the model (\textit{i,j})-surfaces is given by: 
    528552\begin{equation} 
    529   \label{eq:tra_ldf_lap} 
     553  \label{eq:TRA_ldf_lap} 
    530554  D_t^{lT} = \frac{1}{b_t} \Bigg(   \delta_{i} \lt[ A_u^{lT} \; \frac{e_{2u} \, e_{3u}}{e_{1u}} \; \delta_{i + 1/2} [T] \rt] 
    531555                                  + \delta_{j} \lt[ A_v^{lT} \; \frac{e_{1v} \, e_{3v}}{e_{2v}} \; \delta_{j + 1/2} [T] \rt] \Bigg) 
     
    534558where zero diffusive fluxes is assumed across solid boundaries, 
    535559first (and third in bilaplacian case) horizontal tracer derivative are masked. 
    536 It is implemented in the \rou{tra\_ldf\_lap} subroutine found in the \mdl{traldf\_lap\_blp}} module. 
    537 The module also contains \rou{tra\_ldf\_blp}, the subroutine calling twice \rou{tra\_ldf\_lap} in order to 
     560It is implemented in the \rou{tra\_ldf\_lap} subroutine found in the \mdl{traldf\_lap\_blp} module. 
     561The module also contains \rou{tra\_ldf\_blp}, 
     562the subroutine calling twice \rou{tra\_ldf\_lap} in order to 
    538563compute the iso-level bilaplacian operator. 
    539564 
    540565It is a \textit{horizontal} operator (\ie acting along geopotential surfaces) in 
    541 the $z$-coordinate with or without partial steps, but is simply an iso-level operator in the $s$-coordinate. 
    542 It is thus used when, in addition to \np{ln\_traldf\_lap} or \np{ln\_traldf\_blp}\forcode{ = .true.}, 
    543 we have \np{ln\_traldf\_lev}\forcode{ = .true.} or \np{ln\_traldf\_hor}~=~\np{ln\_zco}\forcode{ = .true.}. 
     566the $z$-coordinate with or without partial steps, 
     567but is simply an iso-level operator in the $s$-coordinate. 
     568It is thus used when, 
     569in addition to \np{ln_traldf_lap}{ln\_traldf\_lap} or \np[=.true.]{ln_traldf_blp}{ln\_traldf\_blp}, 
     570we have \np[=.true.]{ln_traldf_lev}{ln\_traldf\_lev} or 
     571\np[=]{ln_traldf_hor}{ln\_traldf\_hor}\np[=.true.]{ln_zco}{ln\_zco}. 
    544572In both cases, it significantly contributes to diapycnal mixing. 
    545573It is therefore never recommended, even when using it in the bilaplacian case. 
    546574 
    547 Note that in the partial step $z$-coordinate (\np{ln\_zps}\forcode{ = .true.}), 
     575Note that in the partial step $z$-coordinate (\np[=.true.]{ln_zps}{ln\_zps}), 
    548576tracers in horizontally adjacent cells are located at different depths in the vicinity of the bottom. 
    549 In this case, horizontal derivatives in (\autoref{eq:tra_ldf_lap}) at the bottom level require a specific treatment. 
     577In this case, 
     578horizontal derivatives in (\autoref{eq:TRA_ldf_lap}) at the bottom level require a specific treatment. 
    550579They are calculated in the \mdl{zpshde} module, described in \autoref{sec:TRA_zpshde}. 
    551580 
    552 % ------------------------------------------------------------------------------------------------------------- 
    553 %         Rotated laplacian operator 
    554 % ------------------------------------------------------------------------------------------------------------- 
     581%% ================================================================================================= 
    555582\subsection{Standard and triad (bi-)laplacian operator} 
    556583\label{subsec:TRA_ldf_iso_triad} 
    557584 
    558 %&&    Standard rotated (bi-)laplacian operator 
    559 %&& ---------------------------------------------- 
    560 \subsubsection[Standard rotated (bi-)laplacian operator (\textit{traldf\_iso.F90})] 
    561 {Standard rotated (bi-)laplacian operator (\protect\mdl{traldf\_iso})} 
     585%% ================================================================================================= 
     586\subsubsection[Standard rotated (bi-)laplacian operator (\textit{traldf\_iso.F90})]{Standard rotated (bi-)laplacian operator (\protect\mdl{traldf\_iso})} 
    562587\label{subsec:TRA_ldf_iso} 
    563 The general form of the second order lateral tracer subgrid scale physics (\autoref{eq:PE_zdf}) 
    564 takes the following semi -discrete space form in $z$- and $s$-coordinates: 
    565 \begin{equation} 
    566   \label{eq:tra_ldf_iso} 
     588 
     589The general form of the second order lateral tracer subgrid scale physics (\autoref{eq:MB_zdf}) 
     590takes the following semi-discrete space form in $z$- and $s$-coordinates: 
     591\begin{equation} 
     592  \label{eq:TRA_ldf_iso} 
    567593  \begin{split} 
    568594    D_T^{lT} = \frac{1}{b_t} \Bigg[ \quad &\delta_i A_u^{lT} \lt( \frac{e_{2u} e_{3u}}{e_{1u}}                      \, \delta_{i + 1/2} [T] 
     
    578604$r_1$ and $r_2$ are the slopes between the surface of computation ($z$- or $s$-surfaces) and 
    579605the surface along which the diffusion operator acts (\ie\ horizontal or iso-neutral surfaces). 
    580 It is thus used when, in addition to \np{ln\_traldf\_lap}\forcode{ = .true.}, 
    581 we have \np{ln\_traldf\_iso}\forcode{ = .true.}, 
    582 or both \np{ln\_traldf\_hor}\forcode{ = .true.} and \np{ln\_zco}\forcode{ = .true.}. 
     606It is thus used when, in addition to \np[=.true.]{ln_traldf_lap}{ln\_traldf\_lap}, 
     607we have \np[=.true.]{ln_traldf_iso}{ln\_traldf\_iso}, 
     608or both \np[=.true.]{ln_traldf_hor}{ln\_traldf\_hor} and \np[=.true.]{ln_zco}{ln\_zco}. 
    583609The way these slopes are evaluated is given in \autoref{sec:LDF_slp}. 
    584 At the surface, bottom and lateral boundaries, the turbulent fluxes of heat and salt are set to zero using 
    585 the mask technique (see \autoref{sec:LBC_coast}). 
    586  
    587 The operator in \autoref{eq:tra_ldf_iso} involves both lateral and vertical derivatives. 
    588 For numerical stability, the vertical second derivative must be solved using the same implicit time scheme as that 
    589 used in the vertical physics (see \autoref{sec:TRA_zdf}). 
     610At the surface, bottom and lateral boundaries, 
     611the turbulent fluxes of heat and salt are set to zero using the mask technique 
     612(see \autoref{sec:LBC_coast}). 
     613 
     614The operator in \autoref{eq:TRA_ldf_iso} involves both lateral and vertical derivatives. 
     615For numerical stability, the vertical second derivative must be solved using 
     616the same implicit time scheme as that used in the vertical physics (see \autoref{sec:TRA_zdf}). 
    590617For computer efficiency reasons, this term is not computed in the \mdl{traldf\_iso} module, 
    591618but in the \mdl{trazdf} module where, if iso-neutral mixing is used, 
    592 the vertical mixing coefficient is simply increased by $\frac{e_{1w} e_{2w}}{e_{3w}}(r_{1w}^2 + r_{2w}^2)$. 
     619the vertical mixing coefficient is simply increased by 
     620$\frac{e_{1w} e_{2w}}{e_{3w}}(r_{1w}^2 + r_{2w}^2)$. 
    593621 
    594622This formulation conserves the tracer but does not ensure the decrease of the tracer variance. 
    595 Nevertheless the treatment performed on the slopes (see \autoref{chap:LDF}) allows the model to run safely without 
    596 any additional background horizontal diffusion \citep{guilyardi.madec.ea_CD01}. 
    597  
    598 Note that in the partial step $z$-coordinate (\np{ln\_zps}\forcode{ = .true.}), 
    599 the horizontal derivatives at the bottom level in \autoref{eq:tra_ldf_iso} require a specific treatment. 
     623Nevertheless the treatment performed on the slopes (see \autoref{chap:LDF}) allows the model to 
     624run safely without any additional background horizontal diffusion \citep{guilyardi.madec.ea_CD01}. 
     625 
     626Note that in the partial step $z$-coordinate (\np[=.true.]{ln_zps}{ln\_zps}), 
     627the horizontal derivatives at the bottom level in \autoref{eq:TRA_ldf_iso} require 
     628a specific treatment. 
    600629They are calculated in module zpshde, described in \autoref{sec:TRA_zpshde}. 
    601630 
    602 %&&     Triad rotated (bi-)laplacian operator 
    603 %&&  ------------------------------------------- 
    604 \subsubsection[Triad rotated (bi-)laplacian operator (\textit{ln\_traldf\_triad})] 
    605 {Triad rotated (bi-)laplacian operator (\protect\np{ln\_traldf\_triad})} 
     631%% ================================================================================================= 
     632\subsubsection[Triad rotated (bi-)laplacian operator (\forcode{ln_traldf_triad})]{Triad rotated (bi-)laplacian operator (\protect\np{ln_traldf_triad}{ln\_traldf\_triad})} 
    606633\label{subsec:TRA_ldf_triad} 
    607634 
    608 An alternative scheme developed by \cite{griffies.gnanadesikan.ea_JPO98} which ensures tracer variance decreases 
    609 is also available in \NEMO\ (\np{ln\_traldf\_triad}\forcode{ = .true.}). 
    610 A complete description of the algorithm is given in \autoref{apdx:triad}. 
    611  
    612 The lateral fourth order bilaplacian operator on tracers is obtained by applying (\autoref{eq:tra_ldf_lap}) twice. 
     635An alternative scheme developed by \cite{griffies.gnanadesikan.ea_JPO98} which 
     636ensures tracer variance decreases is also available in \NEMO\ 
     637(\np[=.true.]{ln_traldf_triad}{ln\_traldf\_triad}). 
     638A complete description of the algorithm is given in \autoref{apdx:TRIADS}. 
     639 
     640The lateral fourth order bilaplacian operator on tracers is obtained by 
     641applying (\autoref{eq:TRA_ldf_lap}) twice. 
    613642The operator requires an additional assumption on boundary conditions: 
    614643both first and third derivative terms normal to the coast are set to zero. 
    615644 
    616 The lateral fourth order operator formulation on tracers is obtained by applying (\autoref{eq:tra_ldf_iso}) twice. 
     645The lateral fourth order operator formulation on tracers is obtained by 
     646applying (\autoref{eq:TRA_ldf_iso}) twice. 
    617647It requires an additional assumption on boundary conditions: 
    618648first and third derivative terms normal to the coast, 
    619649normal to the bottom and normal to the surface are set to zero. 
    620650 
    621 %&&    Option for the rotated operators 
    622 %&& ---------------------------------------------- 
     651%% ================================================================================================= 
    623652\subsubsection{Option for the rotated operators} 
    624653\label{subsec:TRA_ldf_options} 
    625654 
    626 \begin{itemize} 
    627 \item \np{ln\_traldf\_msc} = Method of Stabilizing Correction (both operators) 
    628 \item \np{rn\_slpmax} = slope limit (both operators) 
    629 \item \np{ln\_triad\_iso} = pure horizontal mixing in ML (triad only) 
    630 \item \np{rn\_sw\_triad} $= 1$ switching triad; $= 0$ all 4 triads used (triad only) 
    631 \item \np{ln\_botmix\_triad} = lateral mixing on bottom (triad only) 
    632 \end{itemize} 
    633  
    634 % ================================================================ 
    635 % Tracer Vertical Diffusion 
    636 % ================================================================ 
    637 \section[Tracer vertical diffusion (\textit{trazdf.F90})] 
    638 {Tracer vertical diffusion (\protect\mdl{trazdf})} 
     655\begin{labeling}{{\np{ln_botmix_triad}{ln\_botmix\_triad}}} 
     656\item [{\np{ln_traldf_msc}{ln\_traldf\_msc}    }] Method of Stabilizing Correction (both operators) 
     657\item [{\np{rn_slpmax}{rn\_slpmax}             }] Slope limit (both operators) 
     658\item [{\np{ln_triad_iso}{ln\_triad\_iso}      }] Pure horizontal mixing in ML (triad only) 
     659\item [{\np{rn_sw_triad}{rn\_sw\_triad}        }] \forcode{=1} switching triad; 
     660  \forcode{= 0} all 4 triads used (triad only) 
     661\item [{\np{ln_botmix_triad}{ln\_botmix\_triad}}] Lateral mixing on bottom (triad only) 
     662\end{labeling} 
     663 
     664%% ================================================================================================= 
     665\section[Tracer vertical diffusion (\textit{trazdf.F90})]{Tracer vertical diffusion (\protect\mdl{trazdf})} 
    639666\label{sec:TRA_zdf} 
    640 %--------------------------------------------namzdf--------------------------------------------------------- 
    641  
    642 \nlst{namzdf} 
    643 %-------------------------------------------------------------------------------------------------------------- 
    644  
    645 Options are defined through the \nam{zdf} namelist variables. 
    646 The formulation of the vertical subgrid scale tracer physics is the same for all the vertical coordinates, 
    647 and is based on a laplacian operator. 
    648 The vertical diffusion operator given by (\autoref{eq:PE_zdf}) takes the following semi -discrete space form: 
    649 \begin{gather*} 
    650   % \label{eq:tra_zdf} 
    651     D^{vT}_T = \frac{1}{e_{3t}} \, \delta_k \lt[ \, \frac{A^{vT}_w}{e_{3w}} \delta_{k + 1/2}[T] \, \rt] \\ 
    652     D^{vS}_T = \frac{1}{e_{3t}} \; \delta_k \lt[ \, \frac{A^{vS}_w}{e_{3w}} \delta_{k + 1/2}[S] \, \rt] 
    653 \end{gather*} 
    654 where $A_w^{vT}$ and $A_w^{vS}$ are the vertical eddy diffusivity coefficients on temperature and salinity, 
    655 respectively. 
     667 
     668Options are defined through the \nam{zdf}{zdf} namelist variables. 
     669The formulation of the vertical subgrid scale tracer physics is the same for 
     670all the vertical coordinates, and is based on a laplacian operator. 
     671The vertical diffusion operator given by (\autoref{eq:MB_zdf}) takes 
     672the following semi-discrete space form: 
     673\[ 
     674  % \label{eq:TRA_zdf} 
     675  D^{vT}_T = \frac{1}{e_{3t}} \, \delta_k \lt[ \, \frac{A^{vT}_w}{e_{3w}} \delta_{k + 1/2}[T] \, \rt] \quad 
     676  D^{vS}_T = \frac{1}{e_{3t}} \; \delta_k \lt[ \, \frac{A^{vS}_w}{e_{3w}} \delta_{k + 1/2}[S] \, \rt] 
     677\] 
     678where $A_w^{vT}$ and $A_w^{vS}$ are the vertical eddy diffusivity coefficients on 
     679temperature and salinity, respectively. 
    656680Generally, $A_w^{vT} = A_w^{vS}$ except when double diffusive mixing is parameterised 
    657 (\ie\ \np{ln\_zdfddm} equals \forcode{.true.},). 
     681(\ie\ \np[=.true.]{ln_zdfddm}{ln\_zdfddm},). 
    658682The way these coefficients are evaluated is given in \autoref{chap:ZDF} (ZDF). 
    659 Furthermore, when iso-neutral mixing is used, both mixing coefficients are increased by 
    660 $\frac{e_{1w} e_{2w}}{e_{3w} }({r_{1w}^2 + r_{2w}^2})$ to account for the vertical second derivative of 
    661 \autoref{eq:tra_ldf_iso}. 
     683Furthermore, when iso-neutral mixing is used, 
     684both mixing coefficients are increased by $\frac{e_{1w} e_{2w}}{e_{3w} }({r_{1w}^2 + r_{2w}^2})$ to 
     685account for the vertical second derivative of \autoref{eq:TRA_ldf_iso}. 
    662686 
    663687At the surface and bottom boundaries, the turbulent fluxes of heat and salt must be specified. 
     
    666690a geothermal flux forcing is prescribed as a bottom boundary condition (see \autoref{subsec:TRA_bbc}). 
    667691 
    668 The large eddy coefficient found in the mixed layer together with high vertical resolution implies that 
    669 there would be too restrictive constraint on the time step if we use explicit time stepping. 
     692The large eddy coefficient found in the mixed layer together with high vertical resolution implies 
     693that there would be too restrictive constraint on the time step if we use explicit time stepping. 
    670694Therefore an implicit time stepping is preferred for the vertical diffusion since 
    671695it overcomes the stability constraint. 
    672696 
    673 % ================================================================ 
    674 % External Forcing 
    675 % ================================================================ 
     697%% ================================================================================================= 
    676698\section{External forcing} 
    677699\label{sec:TRA_sbc_qsr_bbc} 
    678700 
    679 % ------------------------------------------------------------------------------------------------------------- 
    680 %        surface boundary condition 
    681 % ------------------------------------------------------------------------------------------------------------- 
    682 \subsection[Surface boundary condition (\textit{trasbc.F90})] 
    683 {Surface boundary condition (\protect\mdl{trasbc})} 
     701%% ================================================================================================= 
     702\subsection[Surface boundary condition (\textit{trasbc.F90})]{Surface boundary condition (\protect\mdl{trasbc})} 
    684703\label{subsec:TRA_sbc} 
    685704 
     
    691710 
    692711Due to interactions and mass exchange of water ($F_{mass}$) with other Earth system components 
    693 (\ie\ atmosphere, sea-ice, land), the change in the heat and salt content of the surface layer of the ocean is due 
    694 both to the heat and salt fluxes crossing the sea surface (not linked with $F_{mass}$) and 
     712(\ie\ atmosphere, sea-ice, land), 
     713the change in the heat and salt content of the surface layer of the ocean is due both to 
     714the heat and salt fluxes crossing the sea surface (not linked with $F_{mass}$) and 
    695715to the heat and salt content of the mass exchange. 
    696716They are both included directly in $Q_{ns}$, the surface heat flux, 
    697717and $F_{salt}$, the surface salt flux (see \autoref{chap:SBC} for further details). 
    698 By doing this, the forcing formulation is the same for any tracer (including temperature and salinity). 
    699  
    700 The surface module (\mdl{sbcmod}, see \autoref{chap:SBC}) provides the following forcing fields (used on tracers): 
    701  
    702 \begin{itemize} 
    703 \item 
    704   $Q_{ns}$, the non-solar part of the net surface heat flux that crosses the sea surface 
    705   (\ie\ the difference between the total surface heat flux and the fraction of the short wave flux that 
    706   penetrates into the water column, see \autoref{subsec:TRA_qsr}) 
     718By doing this, the forcing formulation is the same for any tracer 
     719(including temperature and salinity). 
     720 
     721The surface module (\mdl{sbcmod}, see \autoref{chap:SBC}) provides the following forcing fields 
     722(used on tracers): 
     723 
     724\begin{labeling}{\textit{fwfisf}} 
     725\item [$Q_{ns}$] The non-solar part of the net surface heat flux that crosses the sea surface 
     726  (\ie\ the difference between the total surface heat flux and 
     727  the fraction of the short wave flux that penetrates into the water column, 
     728  see \autoref{subsec:TRA_qsr}) 
    707729  plus the heat content associated with of the mass exchange with the atmosphere and lands. 
    708 \item 
    709   $\textit{sfx}$, the salt flux resulting from ice-ocean mass exchange (freezing, melting, ridging...) 
    710 \item 
    711   \textit{emp}, the mass flux exchanged with the atmosphere (evaporation minus precipitation) and 
     730\item [\textit{sfx}] The salt flux resulting from ice-ocean mass exchange 
     731  (freezing, melting, ridging...) 
     732\item [\textit{emp}] The mass flux exchanged with the atmosphere (evaporation minus precipitation) and 
    712733  possibly with the sea-ice and ice-shelves. 
    713 \item 
    714   \textit{rnf}, the mass flux associated with runoff 
     734\item [\textit{rnf}] The mass flux associated with runoff 
    715735  (see \autoref{sec:SBC_rnf} for further detail of how it acts on temperature and salinity tendencies) 
    716 \item 
    717   \textit{fwfisf}, the mass flux associated with ice shelf melt, 
     736\item [\textit{fwfisf}] The mass flux associated with ice shelf melt, 
    718737  (see \autoref{sec:SBC_isf} for further details on how the ice shelf melt is computed and applied). 
    719 \end{itemize} 
     738\end{labeling} 
    720739 
    721740The surface boundary condition on temperature and salinity is applied as follows: 
    722741\begin{equation} 
    723   \label{eq:tra_sbc} 
    724   \begin{alignedat}{2} 
    725     F^T &= \frac{1}{C_p} &\frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} &\overline{Q_{ns}      }^t \\ 
    726     F^S &=               &\frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} &\overline{\textit{sfx}}^t 
    727   \end{alignedat} 
     742  \label{eq:TRA_sbc} 
     743    F^T = \frac{1}{C_p} \frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} \overline{Q_{ns}      }^t \qquad 
     744    F^S =               \frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} \overline{\textit{sfx}}^t 
    728745\end{equation} 
    729746where $\overline x^t$ means that $x$ is averaged over two consecutive time steps 
    730747($t - \rdt / 2$ and $t + \rdt / 2$). 
    731 Such time averaging prevents the divergence of odd and even time step (see \autoref{chap:STP}). 
    732  
    733 In the linear free surface case (\np{ln\_linssh}\forcode{ = .true.}), an additional term has to be added on 
    734 both temperature and salinity. 
    735 On temperature, this term remove the heat content associated with mass exchange that has been added to $Q_{ns}$. 
    736 On salinity, this term mimics the concentration/dilution effect that would have resulted from a change in 
    737 the volume of the first level. 
     748Such time averaging prevents the divergence of odd and even time step (see \autoref{chap:TD}). 
     749 
     750In the linear free surface case (\np[=.true.]{ln_linssh}{ln\_linssh}), 
     751an additional term has to be added on both temperature and salinity. 
     752On temperature, this term remove the heat content associated with 
     753mass exchange that has been added to $Q_{ns}$. 
     754On salinity, this term mimics the concentration/dilution effect that would have resulted from 
     755a change in the volume of the first level. 
    738756The resulting surface boundary condition is applied as follows: 
    739757\begin{equation} 
    740   \label{eq:tra_sbc_lin} 
    741   \begin{alignedat}{2} 
    742     F^T &= \frac{1}{C_p} &\frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} 
    743           &\overline{(Q_{ns}       - C_p \, \textit{emp} \lt. T \rt|_{k = 1})}^t \\ 
    744     F^S &=               &\frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} 
    745           &\overline{(\textit{sfx} -        \textit{emp} \lt. S \rt|_{k = 1})}^t 
    746   \end{alignedat} 
    747 \end{equation} 
    748 Note that an exact conservation of heat and salt content is only achieved with non-linear free surface. 
     758  \label{eq:TRA_sbc_lin} 
     759    F^T = \frac{1}{C_p} \frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} 
     760          \overline{(Q_{ns}       - C_p \, \textit{emp} \lt. T \rt|_{k = 1})}^t \qquad 
     761    F^S =               \frac{1}{\rho_o \lt. e_{3t} \rt|_{k = 1}} 
     762          \overline{(\textit{sfx} -        \textit{emp} \lt. S \rt|_{k = 1})}^t 
     763\end{equation} 
     764Note that an exact conservation of heat and salt content is only achieved with 
     765non-linear free surface. 
    749766In the linear free surface case, there is a small imbalance. 
    750 The imbalance is larger than the imbalance associated with the Asselin time filter \citep{leclair.madec_OM09}. 
    751 This is the reason why the modified filter is not applied in the linear free surface case (see \autoref{chap:STP}). 
    752  
    753 % ------------------------------------------------------------------------------------------------------------- 
    754 %        Solar Radiation Penetration 
    755 % ------------------------------------------------------------------------------------------------------------- 
    756 \subsection[Solar radiation penetration (\textit{traqsr.F90})] 
    757 {Solar radiation penetration (\protect\mdl{traqsr})} 
     767The imbalance is larger than the imbalance associated with the Asselin time filter 
     768\citep{leclair.madec_OM09}. 
     769This is the reason why the modified filter is not applied in the linear free surface case 
     770(see \autoref{chap:TD}). 
     771 
     772%% ================================================================================================= 
     773\subsection[Solar radiation penetration (\textit{traqsr.F90})]{Solar radiation penetration (\protect\mdl{traqsr})} 
    758774\label{subsec:TRA_qsr} 
    759 %--------------------------------------------namqsr-------------------------------------------------------- 
    760  
    761 \nlst{namtra_qsr} 
    762 %-------------------------------------------------------------------------------------------------------------- 
    763  
    764 Options are defined through the \nam{tra\_qsr} namelist variables. 
    765 When the penetrative solar radiation option is used (\np{ln\_traqsr}\forcode{ = .true.}), 
     775 
     776\begin{listing} 
     777  \nlst{namtra_qsr} 
     778  \caption{\forcode{&namtra_qsr}} 
     779  \label{lst:namtra_qsr} 
     780\end{listing} 
     781 
     782Options are defined through the \nam{tra_qsr}{tra\_qsr} namelist variables. 
     783When the penetrative solar radiation option is used (\np[=.true.]{ln_traqsr}{ln\_traqsr}), 
    766784the solar radiation penetrates the top few tens of meters of the ocean. 
    767 If it is not used (\np{ln\_traqsr}\forcode{ = .false.}) all the heat flux is absorbed in the first ocean level. 
    768 Thus, in the former case a term is added to the time evolution equation of temperature \autoref{eq:PE_tra_T} and 
    769 the surface boundary condition is modified to take into account only the non-penetrative part of the surface 
    770 heat flux: 
    771 \begin{equation} 
    772   \label{eq:PE_qsr} 
     785If it is not used (\np[=.false.]{ln_traqsr}{ln\_traqsr}) all the heat flux is absorbed in 
     786the first ocean level. 
     787Thus, in the former case a term is added to the time evolution equation of temperature 
     788\autoref{eq:MB_PE_tra_T} and the surface boundary condition is modified to 
     789take into account only the non-penetrative part of the surface heat flux: 
     790\begin{equation} 
     791  \label{eq:TRA_PE_qsr} 
    773792  \begin{gathered} 
    774793    \pd[T]{t} = \ldots + \frac{1}{\rho_o \, C_p \, e_3} \; \pd[I]{k} \\ 
     
    778797where $Q_{sr}$ is the penetrative part of the surface heat flux (\ie\ the shortwave radiation) and 
    779798$I$ is the downward irradiance ($\lt. I \rt|_{z = \eta} = Q_{sr}$). 
    780 The additional term in \autoref{eq:PE_qsr} is discretized as follows: 
    781 \begin{equation} 
    782   \label{eq:tra_qsr} 
     799The additional term in \autoref{eq:TRA_PE_qsr} is discretized as follows: 
     800\begin{equation} 
     801  \label{eq:TRA_qsr} 
    783802  \frac{1}{\rho_o \, C_p \, e_3} \, \pd[I]{k} \equiv \frac{1}{\rho_o \, C_p \, e_{3t}} \delta_k [I_w] 
    784803\end{equation} 
    785804 
    786805The shortwave radiation, $Q_{sr}$, consists of energy distributed across a wide spectral range. 
    787 The ocean is strongly absorbing for wavelengths longer than 700~nm and these wavelengths contribute to 
    788 heating the upper few tens of centimetres. 
    789 The fraction of $Q_{sr}$ that resides in these almost non-penetrative wavebands, $R$, is $\sim 58\%$ 
    790 (specified through namelist parameter \np{rn\_abs}). 
    791 It is assumed to penetrate the ocean with a decreasing exponential profile, with an e-folding depth scale, $\xi_0$, 
    792 of a few tens of centimetres (typically $\xi_0 = 0.35~m$ set as \np{rn\_si0} in the \nam{tra\_qsr} namelist). 
    793 For shorter wavelengths (400-700~nm), the ocean is more transparent, and solar energy propagates to 
    794 larger depths where it contributes to local heating. 
    795 The way this second part of the solar energy penetrates into the ocean depends on which formulation is chosen. 
    796 In the simple 2-waveband light penetration scheme (\np{ln\_qsr\_2bd}\forcode{ = .true.}) 
     806The ocean is strongly absorbing for wavelengths longer than 700 $nm$ and 
     807these wavelengths contribute to heat the upper few tens of centimetres. 
     808The fraction of $Q_{sr}$ that resides in these almost non-penetrative wavebands, $R$, is $\sim$ 58\% 
     809(specified through namelist parameter \np{rn_abs}{rn\_abs}). 
     810It is assumed to penetrate the ocean with a decreasing exponential profile, 
     811with an e-folding depth scale, $\xi_0$, of a few tens of centimetres 
     812(typically $\xi_0 = 0.35~m$ set as \np{rn_si0}{rn\_si0} in the \nam{tra_qsr}{tra\_qsr} namelist). 
     813For shorter wavelengths (400-700 $nm$), the ocean is more transparent, 
     814and solar energy propagates to larger depths where it contributes to local heating. 
     815The way this second part of the solar energy penetrates into 
     816the ocean depends on which formulation is chosen. 
     817In the simple 2-waveband light penetration scheme (\np[=.true.]{ln_qsr_2bd}{ln\_qsr\_2bd}) 
    797818a chlorophyll-independent monochromatic formulation is chosen for the shorter wavelengths, 
    798819leading to the following expression \citep{paulson.simpson_JPO77}: 
    799820\[ 
    800   % \label{eq:traqsr_iradiance} 
     821  % \label{eq:TRA_qsr_iradiance} 
    801822  I(z) = Q_{sr} \lt[ Re^{- z / \xi_0} + (1 - R) e^{- z / \xi_1} \rt] 
    802823\] 
    803824where $\xi_1$ is the second extinction length scale associated with the shorter wavelengths. 
    804 It is usually chosen to be 23~m by setting the \np{rn\_si0} namelist parameter. 
    805 The set of default values ($\xi_0, \xi_1, R$) corresponds to a Type I water in Jerlov's (1968) classification 
    806 (oligotrophic waters). 
     825It is usually chosen to be 23~m by setting the \np{rn_si0}{rn\_si0} namelist parameter. 
     826The set of default values ($\xi_0, \xi_1, R$) corresponds to 
     827a Type I water in Jerlov's (1968) classification (oligotrophic waters). 
    807828 
    808829Such assumptions have been shown to provide a very crude and simplistic representation of 
    809 observed light penetration profiles (\cite{morel_JGR88}, see also \autoref{fig:traqsr_irradiance}). 
     830observed light penetration profiles (\cite{morel_JGR88}, see also \autoref{fig:TRA_qsr_irradiance}). 
    810831Light absorption in the ocean depends on particle concentration and is spectrally selective. 
    811832\cite{morel_JGR88} has shown that an accurate representation of light penetration can be provided by 
    812833a 61 waveband formulation. 
    813834Unfortunately, such a model is very computationally expensive. 
    814 Thus, \cite{lengaigne.menkes.ea_CD07} have constructed a simplified version of this formulation in which 
    815 visible light is split into three wavebands: blue (400-500 nm), green (500-600 nm) and red (600-700nm). 
    816 For each wave-band, the chlorophyll-dependent attenuation coefficient is fitted to the coefficients computed from 
    817 the full spectral model of \cite{morel_JGR88} (as modified by \cite{morel.maritorena_JGR01}), 
    818 assuming the same power-law relationship. 
    819 As shown in \autoref{fig:traqsr_irradiance}, this formulation, called RGB (Red-Green-Blue), 
     835Thus, \cite{lengaigne.menkes.ea_CD07} have constructed a simplified version of 
     836this formulation in which visible light is split into three wavebands: 
     837blue (400-500 $nm$), green (500-600 $nm$) and red (600-700 $nm$). 
     838For each wave-band, the chlorophyll-dependent attenuation coefficient is fitted to 
     839the coefficients computed from the full spectral model of \cite{morel_JGR88} 
     840(as modified by \cite{morel.maritorena_JGR01}), assuming the same power-law relationship. 
     841As shown in \autoref{fig:TRA_qsr_irradiance}, this formulation, 
     842called RGB (\textbf{R}ed-\textbf{G}reen-\textbf{B}lue), 
    820843reproduces quite closely the light penetration profiles predicted by the full spectal model, 
    821844but with much greater computational efficiency. 
    822845The 2-bands formulation does not reproduce the full model very well. 
    823846 
    824 The RGB formulation is used when \np{ln\_qsr\_rgb}\forcode{ = .true.}. 
    825 The RGB attenuation coefficients (\ie\ the inverses of the extinction length scales) are tabulated over 
    826 61 nonuniform chlorophyll classes ranging from 0.01 to 10 g.Chl/L 
     847The RGB formulation is used when \np[=.true.]{ln_qsr_rgb}{ln\_qsr\_rgb}. 
     848The RGB attenuation coefficients (\ie\ the inverses of the extinction length scales) are 
     849tabulated over 61 nonuniform chlorophyll classes ranging from 0.01 to 10 $g.Chl/L$ 
    827850(see the routine \rou{trc\_oce\_rgb} in \mdl{trc\_oce} module). 
    828851Four types of chlorophyll can be chosen in the RGB formulation: 
    829852 
    830853\begin{description} 
    831 \item[\np{nn\_chldta}\forcode{ = 0}] 
    832   a constant 0.05 g.Chl/L value everywhere ; 
    833 \item[\np{nn\_chldta}\forcode{ = 1}] 
    834   an observed time varying chlorophyll deduced from satellite surface ocean color measurement spread uniformly in 
    835   the vertical direction; 
    836 \item[\np{nn\_chldta}\forcode{ = 2}] 
    837   same as previous case except that a vertical profile of chlorophyl is used. 
    838   Following \cite{morel.berthon_LO89}, the profile is computed from the local surface chlorophyll value; 
    839 \item[\np{ln\_qsr\_bio}\forcode{ = .true.}] 
    840   simulated time varying chlorophyll by TOP biogeochemical model. 
    841   In this case, the RGB formulation is used to calculate both the phytoplankton light limitation in 
    842   PISCES and the oceanic heating rate. 
     854\item [{\np[=0]{nn_chldta}{nn\_chldta}}] a constant 0.05 $g.Chl/L$ value everywhere; 
     855\item [{\np[=1]{nn_chldta}{nn\_chldta}}] an observed time varying chlorophyll deduced from 
     856  satellite surface ocean color measurement spread uniformly in the vertical direction; 
     857\item [{\np[=2]{nn_chldta}{nn\_chldta}}] same as previous case except that 
     858  a vertical profile of chlorophyl is used. 
     859  Following \cite{morel.berthon_LO89}, 
     860  the profile is computed from the local surface chlorophyll value; 
     861\item [{\np[=.true.]{ln_qsr_bio}{ln\_qsr\_bio}}] simulated time varying chlorophyll by 
     862  \TOP\ biogeochemical model. 
     863  In this case, the RGB formulation is used to calculate both 
     864  the phytoplankton light limitation in \PISCES\ and the oceanic heating rate. 
    843865\end{description} 
    844866 
    845 The trend in \autoref{eq:tra_qsr} associated with the penetration of the solar radiation is added to 
     867The trend in \autoref{eq:TRA_qsr} associated with the penetration of the solar radiation is added to 
    846868the temperature trend, and the surface heat flux is modified in routine \mdl{traqsr}. 
    847869 
     
    851873(\ie\ it is less than the computer precision) is computed once, 
    852874and the trend associated with the penetration of the solar radiation is only added down to that level. 
    853 Finally, note that when the ocean is shallow ($<$ 200~m), part of the solar radiation can reach the ocean floor. 
     875Finally, note that when the ocean is shallow ($<$ 200~m), 
     876part of the solar radiation can reach the ocean floor. 
    854877In this case, we have chosen that all remaining radiation is absorbed in the last ocean level 
    855878(\ie\ $I$ is masked). 
    856879 
    857 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    858 \begin{figure}[!t] 
    859   \begin{center} 
    860     \includegraphics[width=\textwidth]{Fig_TRA_Irradiance} 
    861     \caption{ 
    862       \protect\label{fig:traqsr_irradiance} 
    863       Penetration profile of the downward solar irradiance calculated by four models. 
    864       Two waveband chlorophyll-independent formulation (blue), 
    865       a chlorophyll-dependent monochromatic formulation (green), 
    866       4 waveband RGB formulation (red), 
    867       61 waveband Morel (1988) formulation (black) for a chlorophyll concentration of 
    868       (a) Chl=0.05 mg/m$^3$ and (b) Chl=0.5 mg/m$^3$. 
    869       From \citet{lengaigne.menkes.ea_CD07}. 
    870     } 
    871   \end{center} 
     880\begin{figure} 
     881  \centering 
     882  \includegraphics[width=0.66\textwidth]{Fig_TRA_Irradiance} 
     883  \caption[Penetration profile of the downward solar irradiance calculated by four models]{ 
     884    Penetration profile of the downward solar irradiance calculated by four models. 
     885    Two waveband chlorophyll-independent formulation (blue), 
     886    a chlorophyll-dependent monochromatic formulation (green), 
     887    4 waveband RGB formulation (red), 
     888    61 waveband Morel (1988) formulation (black) for a chlorophyll concentration of 
     889    (a) Chl=0.05 $mg/m^3$ and (b) Chl=0.5 $mg/m^3$. 
     890    From \citet{lengaigne.menkes.ea_CD07}.} 
     891  \label{fig:TRA_qsr_irradiance} 
    872892\end{figure} 
    873 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    874  
    875 % ------------------------------------------------------------------------------------------------------------- 
    876 %        Bottom Boundary Condition 
    877 % ------------------------------------------------------------------------------------------------------------- 
    878 \subsection[Bottom boundary condition (\textit{trabbc.F90}) - \forcode{ln_trabbc = .true.})] 
    879 {Bottom boundary condition (\protect\mdl{trabbc})} 
     893 
     894%% ================================================================================================= 
     895\subsection[Bottom boundary condition (\textit{trabbc.F90}) - \forcode{ln_trabbc})]{Bottom boundary condition (\protect\mdl{trabbc} - \protect\np{ln_trabbc}{ln\_trabbc})} 
    880896\label{subsec:TRA_bbc} 
    881 %--------------------------------------------nambbc-------------------------------------------------------- 
    882  
    883 \nlst{nambbc} 
    884 %-------------------------------------------------------------------------------------------------------------- 
    885 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    886 \begin{figure}[!t] 
    887   \begin{center} 
    888     \includegraphics[width=\textwidth]{Fig_TRA_geoth} 
    889     \caption{ 
    890       \protect\label{fig:geothermal} 
    891       Geothermal Heat flux (in $mW.m^{-2}$) used by \cite{emile-geay.madec_OS09}. 
    892       It is inferred from the age of the sea floor and the formulae of \citet{stein.stein_N92}. 
    893     } 
    894   \end{center} 
     897 
     898\begin{listing} 
     899  \nlst{nambbc} 
     900  \caption{\forcode{&nambbc}} 
     901  \label{lst:nambbc} 
     902\end{listing} 
     903 
     904\begin{figure} 
     905  \centering 
     906  \includegraphics[width=0.66\textwidth]{Fig_TRA_geoth} 
     907  \caption[Geothermal heat flux]{ 
     908    Geothermal Heat flux (in $mW.m^{-2}$) used by \cite{emile-geay.madec_OS09}. 
     909    It is inferred from the age of the sea floor and the formulae of \citet{stein.stein_N92}.} 
     910  \label{fig:TRA_geothermal} 
    895911\end{figure} 
    896 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    897912 
    898913Usually it is assumed that there is no exchange of heat or salt through the ocean bottom, 
    899914\ie\ a no flux boundary condition is applied on active tracers at the bottom. 
    900915This is the default option in \NEMO, and it is implemented using the masking technique. 
    901 However, there is a non-zero heat flux across the seafloor that is associated with solid earth cooling. 
    902 This flux is weak compared to surface fluxes (a mean global value of $\sim 0.1 \, W/m^2$ \citep{stein.stein_N92}), 
     916However, there is a non-zero heat flux across the seafloor that 
     917is associated with solid earth cooling. 
     918This flux is weak compared to surface fluxes 
     919(a mean global value of $\sim 0.1 \, W/m^2$ \citep{stein.stein_N92}), 
    903920but it warms systematically the ocean and acts on the densest water masses. 
    904921Taking this flux into account in a global ocean model increases the deepest overturning cell 
    905 (\ie\ the one associated with the Antarctic Bottom Water) by a few Sverdrups \citep{emile-geay.madec_OS09}. 
    906  
    907 Options are defined through the \nam{bbc} namelist variables. 
    908 The presence of geothermal heating is controlled by setting the namelist parameter \np{ln\_trabbc} to true. 
    909 Then, when \np{nn\_geoflx} is set to 1, a constant geothermal heating is introduced whose value is given by 
    910 the \np{rn\_geoflx\_cst}, which is also a namelist parameter. 
    911 When \np{nn\_geoflx} is set to 2, a spatially varying geothermal heat flux is introduced which is provided in 
    912 the \ifile{geothermal\_heating} NetCDF file (\autoref{fig:geothermal}) \citep{emile-geay.madec_OS09}. 
    913  
    914 % ================================================================ 
    915 % Bottom Boundary Layer 
    916 % ================================================================ 
    917 \section[Bottom boundary layer (\textit{trabbl.F90} - \forcode{ln_trabbl = .true.})] 
    918 {Bottom boundary layer (\protect\mdl{trabbl} - \protect\np{ln\_trabbl}\forcode{ = .true.})} 
     922(\ie\ the one associated with the Antarctic Bottom Water) by 
     923a few Sverdrups \citep{emile-geay.madec_OS09}. 
     924 
     925Options are defined through the \nam{bbc}{bbc} namelist variables. 
     926The presence of geothermal heating is controlled by 
     927setting the namelist parameter \np{ln_trabbc}{ln\_trabbc} to true. 
     928Then, when \np{nn_geoflx}{nn\_geoflx} is set to 1, a constant geothermal heating is introduced whose 
     929value is given by the \np{rn_geoflx_cst}{rn\_geoflx\_cst}, which is also a namelist parameter. 
     930When \np{nn_geoflx}{nn\_geoflx} is set to 2, 
     931a spatially varying geothermal heat flux is introduced which is provided in 
     932the \ifile{geothermal\_heating} NetCDF file 
     933(\autoref{fig:TRA_geothermal}) \citep{emile-geay.madec_OS09}. 
     934 
     935%% ================================================================================================= 
     936\section[Bottom boundary layer (\textit{trabbl.F90} - \forcode{ln_trabbl})]{Bottom boundary layer (\protect\mdl{trabbl} - \protect\np{ln_trabbl}{ln\_trabbl})} 
    919937\label{sec:TRA_bbl} 
    920 %--------------------------------------------nambbl--------------------------------------------------------- 
    921  
    922 \nlst{nambbl} 
    923 %-------------------------------------------------------------------------------------------------------------- 
    924  
    925 Options are defined through the \nam{bbl} namelist variables. 
     938 
     939\begin{listing} 
     940  \nlst{nambbl} 
     941  \caption{\forcode{&nambbl}} 
     942  \label{lst:nambbl} 
     943\end{listing} 
     944 
     945Options are defined through the \nam{bbl}{bbl} namelist variables. 
    926946In a $z$-coordinate configuration, the bottom topography is represented by a series of discrete steps. 
    927947This is not adequate to represent gravity driven downslope flows. 
     
    929949where dense water formed in marginal seas flows into a basin filled with less dense water, 
    930950or along the continental slope when dense water masses are formed on a continental shelf. 
    931 The amount of entrainment that occurs in these gravity plumes is critical in determining the density and 
    932 volume flux of the densest waters of the ocean, such as Antarctic Bottom Water, or North Atlantic Deep Water. 
     951The amount of entrainment that occurs in these gravity plumes is critical in 
     952determining the density and volume flux of the densest waters of the ocean, 
     953such as Antarctic Bottom Water, or North Atlantic Deep Water. 
    933954$z$-coordinate models tend to overestimate the entrainment, 
    934 because the gravity flow is mixed vertically by convection as it goes ''downstairs'' following the step topography, 
     955because the gravity flow is mixed vertically by convection as 
     956it goes ''downstairs'' following the step topography, 
    935957sometimes over a thickness much larger than the thickness of the observed gravity plume. 
    936 A similar problem occurs in the $s$-coordinate when the thickness of the bottom level varies rapidly downstream of 
    937 a sill \citep{willebrand.barnier.ea_PO01}, and the thickness of the plume is not resolved. 
    938  
    939 The idea of the bottom boundary layer (BBL) parameterisation, first introduced by \citet{beckmann.doscher_JPO97}, 
     958A similar problem occurs in the $s$-coordinate when 
     959the thickness of the bottom level varies rapidly downstream of a sill 
     960\citep{willebrand.barnier.ea_PO01}, and the thickness of the plume is not resolved. 
     961 
     962The idea of the bottom boundary layer (BBL) parameterisation, first introduced by 
     963\citet{beckmann.doscher_JPO97}, 
    940964is to allow a direct communication between two adjacent bottom cells at different levels, 
    941965whenever the densest water is located above the less dense water. 
    942 The communication can be by a diffusive flux (diffusive BBL), an advective flux (advective BBL), or both. 
     966The communication can be by a diffusive flux (diffusive BBL), 
     967an advective flux (advective BBL), or both. 
    943968In the current implementation of the BBL, only the tracers are modified, not the velocities. 
    944 Furthermore, it only connects ocean bottom cells, and therefore does not include all the improvements introduced by 
    945 \citet{campin.goosse_T99}. 
    946  
    947 % ------------------------------------------------------------------------------------------------------------- 
    948 %        Diffusive BBL 
    949 % ------------------------------------------------------------------------------------------------------------- 
    950 \subsection[Diffusive bottom boundary layer (\forcode{nn_bbl_ldf = 1})] 
    951 {Diffusive bottom boundary layer (\protect\np{nn\_bbl\_ldf}\forcode{ = 1})} 
     969Furthermore, it only connects ocean bottom cells, 
     970and therefore does not include all the improvements introduced by \citet{campin.goosse_T99}. 
     971 
     972%% ================================================================================================= 
     973\subsection[Diffusive bottom boundary layer (\forcode{nn_bbl_ldf=1})]{Diffusive bottom boundary layer (\protect\np[=1]{nn_bbl_ldf}{nn\_bbl\_ldf})} 
    952974\label{subsec:TRA_bbl_diff} 
    953975 
    954 When applying sigma-diffusion (\np{ln\_trabbl}\forcode{ = .true.} and \np{nn\_bbl\_ldf} set to 1), 
     976When applying sigma-diffusion 
     977(\np[=.true.]{ln_trabbl}{ln\_trabbl} and \np{nn_bbl_ldf}{nn\_bbl\_ldf} set to 1), 
    955978the diffusive flux between two adjacent cells at the ocean floor is given by 
    956979\[ 
    957   % \label{eq:tra_bbl_diff} 
     980  % \label{eq:TRA_bbl_diff} 
    958981  \vect F_\sigma = A_l^\sigma \, \nabla_\sigma T 
    959982\] 
    960 with $\nabla_\sigma$ the lateral gradient operator taken between bottom cells, and 
    961 $A_l^\sigma$ the lateral diffusivity in the BBL. 
     983with $\nabla_\sigma$ the lateral gradient operator taken between bottom cells, 
     984and $A_l^\sigma$ the lateral diffusivity in the BBL. 
    962985Following \citet{beckmann.doscher_JPO97}, the latter is prescribed with a spatial dependence, 
    963986\ie\ in the conditional form 
    964987\begin{equation} 
    965   \label{eq:tra_bbl_coef} 
     988  \label{eq:TRA_bbl_coef} 
    966989  A_l^\sigma (i,j,t) = 
    967990      \begin{cases} 
    968991        A_{bbl} & \text{if~} \nabla_\sigma \rho \cdot \nabla H < 0 \\ 
    969         \\ 
    970         0      & \text{otherwise} \\ 
     992        0      & \text{otherwise} 
    971993      \end{cases} 
    972994\end{equation} 
    973 where $A_{bbl}$ is the BBL diffusivity coefficient, given by the namelist parameter \np{rn\_ahtbbl} and 
     995where $A_{bbl}$ is the BBL diffusivity coefficient, 
     996given by the namelist parameter \np{rn_ahtbbl}{rn\_ahtbbl} and 
    974997usually set to a value much larger than the one used for lateral mixing in the open ocean. 
    975 The constraint in \autoref{eq:tra_bbl_coef} implies that sigma-like diffusion only occurs when 
     998The constraint in \autoref{eq:TRA_bbl_coef} implies that sigma-like diffusion only occurs when 
    976999the density above the sea floor, at the top of the slope, is larger than in the deeper ocean 
    977 (see green arrow in \autoref{fig:bbl}). 
     1000(see green arrow in \autoref{fig:TRA_bbl}). 
    9781001In practice, this constraint is applied separately in the two horizontal directions, 
    979 and the density gradient in \autoref{eq:tra_bbl_coef} is evaluated with the log gradient formulation: 
     1002and the density gradient in \autoref{eq:TRA_bbl_coef} is evaluated with the log gradient formulation: 
    9801003\[ 
    981   % \label{eq:tra_bbl_Drho} 
     1004  % \label{eq:TRA_bbl_Drho} 
    9821005  \nabla_\sigma \rho / \rho = \alpha \, \nabla_\sigma T + \beta \, \nabla_\sigma S 
    9831006\] 
    984 where $\rho$, $\alpha$ and $\beta$ are functions of $\overline T^\sigma$, $\overline S^\sigma$ and 
    985 $\overline H^\sigma$, the along bottom mean temperature, salinity and depth, respectively. 
    986  
    987 % ------------------------------------------------------------------------------------------------------------- 
    988 %        Advective BBL 
    989 % ------------------------------------------------------------------------------------------------------------- 
    990 \subsection[Advective bottom boundary layer (\forcode{nn_bbl_adv = [12]})] 
    991 {Advective bottom boundary layer (\protect\np{nn\_bbl\_adv}\forcode{ = [12]})} 
     1007where $\rho$, $\alpha$ and $\beta$ are functions of 
     1008$\overline T^\sigma$, $\overline S^\sigma$ and $\overline H^\sigma$, 
     1009the along bottom mean temperature, salinity and depth, respectively. 
     1010 
     1011%% ================================================================================================= 
     1012\subsection[Advective bottom boundary layer (\forcode{nn_bbl_adv=1,2})]{Advective bottom boundary layer (\protect\np[=1,2]{nn_bbl_adv}{nn\_bbl\_adv})} 
    9921013\label{subsec:TRA_bbl_adv} 
    9931014 
     
    9971018%} 
    9981019 
    999 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1000 \begin{figure}[!t] 
    1001   \begin{center} 
    1002     \includegraphics[width=\textwidth]{Fig_BBL_adv} 
    1003     \caption{ 
    1004       \protect\label{fig:bbl} 
    1005       Advective/diffusive Bottom Boundary Layer. 
    1006       The BBL parameterisation is activated when $\rho^i_{kup}$ is larger than $\rho^{i + 1}_{kdnw}$. 
    1007       Red arrows indicate the additional overturning circulation due to the advective BBL. 
    1008       The transport of the downslope flow is defined either as the transport of the bottom ocean cell (black arrow), 
    1009       or as a function of the along slope density gradient. 
    1010       The green arrow indicates the diffusive BBL flux directly connecting $kup$ and $kdwn$ ocean bottom cells. 
    1011     } 
    1012   \end{center} 
     1020\begin{figure} 
     1021  \centering 
     1022  \includegraphics[width=0.33\textwidth]{Fig_BBL_adv} 
     1023  \caption[Advective/diffusive bottom boundary layer]{ 
     1024    Advective/diffusive Bottom Boundary Layer. 
     1025    The BBL parameterisation is activated when $\rho^i_{kup}$ is larger than $\rho^{i + 1}_{kdnw}$. 
     1026    Red arrows indicate the additional overturning circulation due to the advective BBL. 
     1027    The transport of the downslope flow is defined either 
     1028    as the transport of the bottom ocean cell (black arrow), 
     1029    or as a function of the along slope density gradient. 
     1030    The green arrow indicates the diffusive BBL flux directly connecting 
     1031    $kup$ and $kdwn$ ocean bottom cells.} 
     1032  \label{fig:TRA_bbl} 
    10131033\end{figure} 
    1014 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    10151034 
    10161035%!!      nn_bbl_adv = 1   use of the ocean velocity as bbl velocity 
     
    10201039%%%gmcomment   :  this section has to be really written 
    10211040 
    1022 When applying an advective BBL (\np{nn\_bbl\_adv}\forcode{ = 1..2}), an overturning circulation is added which 
    1023 connects two adjacent bottom grid-points only if dense water overlies less dense water on the slope. 
     1041When applying an advective BBL (\np[=1..2]{nn_bbl_adv}{nn\_bbl\_adv}), 
     1042an overturning circulation is added which connects two adjacent bottom grid-points only if 
     1043dense water overlies less dense water on the slope. 
    10241044The density difference causes dense water to move down the slope. 
    10251045 
    1026 \np{nn\_bbl\_adv}\forcode{ = 1}: 
    1027 the downslope velocity is chosen to be the Eulerian ocean velocity just above the topographic step 
    1028 (see black arrow in \autoref{fig:bbl}) \citep{beckmann.doscher_JPO97}. 
    1029 It is a \textit{conditional advection}, that is, advection is allowed only 
    1030 if dense water overlies less dense water on the slope (\ie\ $\nabla_\sigma \rho \cdot \nabla H < 0$) and 
    1031 if the velocity is directed towards greater depth (\ie\ $\vect U \cdot \nabla H > 0$). 
    1032  
    1033 \np{nn\_bbl\_adv}\forcode{ = 2}: 
    1034 the downslope velocity is chosen to be proportional to $\Delta \rho$, 
    1035 the density difference between the higher cell and lower cell densities \citep{campin.goosse_T99}. 
    1036 The advection is allowed only  if dense water overlies less dense water on the slope 
    1037 (\ie\ $\nabla_\sigma \rho \cdot \nabla H < 0$). 
    1038 For example, the resulting transport of the downslope flow, here in the $i$-direction (\autoref{fig:bbl}), 
    1039 is simply given by the following expression: 
    1040 \[ 
    1041   % \label{eq:bbl_Utr} 
    1042   u^{tr}_{bbl} = \gamma g \frac{\Delta \rho}{\rho_o} e_{1u} \, min ({e_{3u}}_{kup},{e_{3u}}_{kdwn}) 
    1043 \] 
    1044 where $\gamma$, expressed in seconds, is the coefficient of proportionality provided as \np{rn\_gambbl}, 
    1045 a namelist parameter, and \textit{kup} and \textit{kdwn} are the vertical index of the higher and lower cells, 
    1046 respectively. 
    1047 The parameter $\gamma$ should take a different value for each bathymetric step, but for simplicity, 
    1048 and because no direct estimation of this parameter is available, a uniform value has been assumed. 
    1049 The possible values for $\gamma$ range between 1 and $10~s$ \citep{campin.goosse_T99}. 
    1050  
    1051 Scalar properties are advected by this additional transport $(u^{tr}_{bbl},v^{tr}_{bbl})$ using the upwind scheme. 
    1052 Such a diffusive advective scheme has been chosen to mimic the entrainment between the downslope plume and 
    1053 the surrounding water at intermediate depths. 
     1046\begin{description} 
     1047\item [{\np[=1]{nn_bbl_adv}{nn\_bbl\_adv}}] the downslope velocity is chosen to 
     1048  be the Eulerian ocean velocity just above the topographic step 
     1049  (see black arrow in \autoref{fig:TRA_bbl}) \citep{beckmann.doscher_JPO97}. 
     1050  It is a \textit{conditional advection}, that is, 
     1051  advection is allowed only if dense water overlies less dense water on the slope 
     1052  (\ie\ $\nabla_\sigma \rho \cdot \nabla H < 0$) and if the velocity is directed towards greater depth 
     1053  (\ie\ $\vect U \cdot \nabla H > 0$). 
     1054\item [{\np[=2]{nn_bbl_adv}{nn\_bbl\_adv}}] the downslope velocity is chosen to be proportional to 
     1055  $\Delta \rho$, the density difference between the higher cell and lower cell densities 
     1056  \citep{campin.goosse_T99}. 
     1057  The advection is allowed only  if dense water overlies less dense water on the slope 
     1058  (\ie\ $\nabla_\sigma \rho \cdot \nabla H < 0$). 
     1059  For example, the resulting transport of the downslope flow, here in the $i$-direction 
     1060  (\autoref{fig:TRA_bbl}), is simply given by the following expression: 
     1061  \[ 
     1062    % \label{eq:TRA_bbl_Utr} 
     1063    u^{tr}_{bbl} = \gamma g \frac{\Delta \rho}{\rho_o} e_{1u} \, min ({e_{3u}}_{kup},{e_{3u}}_{kdwn}) 
     1064  \] 
     1065  where $\gamma$, expressed in seconds, is the coefficient of proportionality provided as 
     1066  \np{rn_gambbl}{rn\_gambbl}, a namelist parameter, and 
     1067  \textit{kup} and \textit{kdwn} are the vertical index of the higher and lower cells, respectively. 
     1068  The parameter $\gamma$ should take a different value for each bathymetric step, but for simplicity, 
     1069  and because no direct estimation of this parameter is available, a uniform value has been assumed. 
     1070  The possible values for $\gamma$ range between 1 and $10~s$ \citep{campin.goosse_T99}. 
     1071\end{description} 
     1072 
     1073Scalar properties are advected by this additional transport $(u^{tr}_{bbl},v^{tr}_{bbl})$ using 
     1074the upwind scheme. 
     1075Such a diffusive advective scheme has been chosen to mimic the entrainment between 
     1076the downslope plume and the surrounding water at intermediate depths. 
    10541077The entrainment is replaced by the vertical mixing implicit in the advection scheme. 
    1055 Let us consider as an example the case displayed in \autoref{fig:bbl} where 
     1078Let us consider as an example the case displayed in \autoref{fig:TRA_bbl} where 
    10561079the density at level $(i,kup)$ is larger than the one at level $(i,kdwn)$. 
    1057 The advective BBL scheme modifies the tracer time tendency of the ocean cells near the topographic step by 
    1058 the downslope flow \autoref{eq:bbl_dw}, the horizontal \autoref{eq:bbl_hor} and 
    1059 the upward \autoref{eq:bbl_up} return flows as follows: 
    1060 \begin{alignat}{3} 
    1061   \label{eq:bbl_dw} 
    1062   \partial_t T^{do}_{kdw} &\equiv \partial_t T^{do}_{kdw} 
    1063                                 &&+ \frac{u^{tr}_{bbl}}{{b_t}^{do}_{kdw}} &&\lt( T^{sh}_{kup} - T^{do}_{kdw} \rt) \\ 
    1064   \label{eq:bbl_hor} 
    1065   \partial_t T^{sh}_{kup} &\equiv \partial_t T^{sh}_{kup} 
    1066                                 &&+ \frac{u^{tr}_{bbl}}{{b_t}^{sh}_{kup}} &&\lt( T^{do}_{kup} - T^{sh}_{kup} \rt) \\ 
    1067   % 
    1068   \intertext{and for $k =kdw-1,\;..., \; kup$ :} 
    1069   % 
    1070   \label{eq:bbl_up} 
    1071   \partial_t T^{do}_{k} &\equiv \partial_t S^{do}_{k} 
    1072                                 &&+ \frac{u^{tr}_{bbl}}{{b_t}^{do}_{k}}   &&\lt( T^{do}_{k +1} - T^{sh}_{k}   \rt) 
     1080The advective BBL scheme modifies the tracer time tendency of 
     1081the ocean cells near the topographic step by the downslope flow \autoref{eq:TRA_bbl_dw}, 
     1082the horizontal \autoref{eq:TRA_bbl_hor} and the upward \autoref{eq:TRA_bbl_up} return flows as follows: 
     1083\begin{alignat}{5} 
     1084  \label{eq:TRA_bbl_dw} 
     1085  \partial_t T^{do}_{kdw} &\equiv \partial_t T^{do}_{kdw} &&+ \frac{u^{tr}_{bbl}}{{b_t}^{do}_{kdw}} &&\lt( T^{sh}_{kup} - T^{do}_{kdw} \rt) \\ 
     1086  \label{eq:TRA_bbl_hor} 
     1087  \partial_t T^{sh}_{kup} &\equiv \partial_t T^{sh}_{kup} &&+ \frac{u^{tr}_{bbl}}{{b_t}^{sh}_{kup}} &&\lt( T^{do}_{kup} - T^{sh}_{kup} \rt) \\ 
     1088  \shortintertext{and for $k =kdw-1,\;..., \; kup$ :} 
     1089  \label{eq:TRA_bbl_up} 
     1090  \partial_t T^{do}_{k}   &\equiv \partial_t S^{do}_{k}   &&+ \frac{u^{tr}_{bbl}}{{b_t}^{do}_{k}}   &&\lt( T^{do}_{k +1} - T^{sh}_{k}   \rt) 
    10731091\end{alignat} 
    10741092where $b_t$ is the $T$-cell volume. 
     
    10771095It has to be used to compute the effective velocity as well as the effective overturning circulation. 
    10781096 
    1079 % ================================================================ 
    1080 % Tracer damping 
    1081 % ================================================================ 
    1082 \section[Tracer damping (\textit{tradmp.F90})] 
    1083 {Tracer damping (\protect\mdl{tradmp})} 
     1097%% ================================================================================================= 
     1098\section[Tracer damping (\textit{tradmp.F90})]{Tracer damping (\protect\mdl{tradmp})} 
    10841099\label{sec:TRA_dmp} 
    1085 %--------------------------------------------namtra_dmp------------------------------------------------- 
    1086  
    1087 \nlst{namtra_dmp} 
    1088 %-------------------------------------------------------------------------------------------------------------- 
    1089  
    1090 In some applications it can be useful to add a Newtonian damping term into the temperature and salinity equations: 
    1091 \begin{equation} 
    1092   \label{eq:tra_dmp} 
    1093   \begin{gathered} 
    1094     \pd[T]{t} = \cdots - \gamma (T - T_o) \\ 
    1095     \pd[S]{t} = \cdots - \gamma (S - S_o) 
    1096   \end{gathered} 
    1097 \end{equation} 
    1098 where $\gamma$ is the inverse of a time scale, and $T_o$ and $S_o$ are given temperature and salinity fields 
    1099 (usually a climatology). 
    1100 Options are defined through the  \nam{tra\_dmp} namelist variables. 
    1101 The restoring term is added when the namelist parameter \np{ln\_tradmp} is set to true. 
    1102 It also requires that both \np{ln\_tsd\_init} and \np{ln\_tsd\_dmp} are set to true in 
    1103 \nam{tsd} namelist as well as \np{sn\_tem} and \np{sn\_sal} structures are correctly set 
     1100 
     1101\begin{listing} 
     1102  \nlst{namtra_dmp} 
     1103  \caption{\forcode{&namtra_dmp}} 
     1104  \label{lst:namtra_dmp} 
     1105\end{listing} 
     1106 
     1107In some applications it can be useful to add a Newtonian damping term into 
     1108the temperature and salinity equations: 
     1109\begin{equation} 
     1110  \label{eq:TRA_dmp} 
     1111    \pd[T]{t} = \cdots - \gamma (T - T_o) \qquad \pd[S]{t} = \cdots - \gamma (S - S_o) 
     1112\end{equation} 
     1113where $\gamma$ is the inverse of a time scale, 
     1114and $T_o$ and $S_o$ are given temperature and salinity fields (usually a climatology). 
     1115Options are defined through the \nam{tra_dmp}{tra\_dmp} namelist variables. 
     1116The restoring term is added when the namelist parameter \np{ln_tradmp}{ln\_tradmp} is set to true. 
     1117It also requires that both \np{ln_tsd_init}{ln\_tsd\_init} and 
     1118\np{ln_tsd_dmp}{ln\_tsd\_dmp} are set to true in \nam{tsd}{tsd} namelist as well as 
     1119\np{sn_tem}{sn\_tem} and \np{sn_sal}{sn\_sal} structures are correctly set 
    11041120(\ie\ that $T_o$ and $S_o$ are provided in input files and read using \mdl{fldread}, 
    11051121see \autoref{subsec:SBC_fldread}). 
    1106 The restoring coefficient $\gamma$ is a three-dimensional array read in during the \rou{tra\_dmp\_init} routine. 
    1107 The file name is specified by the namelist variable \np{cn\_resto}. 
    1108 The DMP\_TOOLS tool is provided to allow users to generate the netcdf file. 
    1109  
    1110 The two main cases in which \autoref{eq:tra_dmp} is used are 
    1111 \textit{(a)} the specification of the boundary conditions along artificial walls of a limited domain basin and 
    1112 \textit{(b)} the computation of the velocity field associated with a given $T$-$S$ field 
    1113 (for example to build the initial state of a prognostic simulation, 
    1114 or to use the resulting velocity field for a passive tracer study). 
     1122The restoring coefficient $\gamma$ is a three-dimensional array read in during 
     1123the \rou{tra\_dmp\_init} routine. 
     1124The file name is specified by the namelist variable \np{cn_resto}{cn\_resto}. 
     1125The \texttt{DMP\_TOOLS} are provided to allow users to generate the netcdf file. 
     1126 
     1127The two main cases in which \autoref{eq:TRA_dmp} is used are 
     1128\begin{enumerate*}[label=(\textit{\alph*})] 
     1129\item the specification of the boundary conditions along 
     1130  artificial walls of a limited domain basin and 
     1131\item the computation of the velocity field associated with a given $T$-$S$ field 
     1132  (for example to build the initial state of a prognostic simulation, 
     1133  or to use the resulting velocity field for a passive tracer study). 
     1134\end{enumerate*} 
    11151135The first case applies to regional models that have artificial walls instead of open boundaries. 
    1116 In the vicinity of these walls, $\gamma$ takes large values (equivalent to a time scale of a few days) whereas 
    1117 it is zero in the interior of the model domain. 
     1136In the vicinity of these walls, $\gamma$ takes large values (equivalent to a time scale of a few days) 
     1137whereas it is zero in the interior of the model domain. 
    11181138The second case corresponds to the use of the robust diagnostic method \citep{sarmiento.bryan_JGR82}. 
    11191139It allows us to find the velocity field consistent with the model dynamics whilst 
    11201140having a $T$, $S$ field close to a given climatological field ($T_o$, $S_o$). 
    11211141 
    1122 The robust diagnostic method is very efficient in preventing temperature drift in intermediate waters but 
    1123 it produces artificial sources of heat and salt within the ocean. 
     1142The robust diagnostic method is very efficient in preventing temperature drift in 
     1143intermediate waters but it produces artificial sources of heat and salt within the ocean. 
    11241144It also has undesirable effects on the ocean convection. 
    1125 It tends to prevent deep convection and subsequent deep-water formation, by stabilising the water column too much. 
    1126  
    1127 The namelist parameter \np{nn\_zdmp} sets whether the damping should be applied in the whole water column or 
    1128 only below the mixed layer (defined either on a density or $S_o$ criterion). 
     1145It tends to prevent deep convection and subsequent deep-water formation, 
     1146by stabilising the water column too much. 
     1147 
     1148The namelist parameter \np{nn_zdmp}{nn\_zdmp} sets whether the damping should be applied in 
     1149the whole water column or only below the mixed layer (defined either on a density or $S_o$ criterion). 
    11291150It is common to set the damping to zero in the mixed layer as the adjustment time scale is short here 
    11301151\citep{madec.delecluse.ea_JPO96}. 
    11311152 
    1132 For generating \ifile{resto}, see the documentation for the DMP tool provided with the source code under 
    1133 \path{./tools/DMP_TOOLS}. 
    1134  
    1135 % ================================================================ 
    1136 % Tracer time evolution 
    1137 % ================================================================ 
    1138 \section[Tracer time evolution (\textit{tranxt.F90})] 
    1139 {Tracer time evolution (\protect\mdl{tranxt})} 
     1153For generating \ifile{resto}, 
     1154see the documentation for the DMP tools provided with the source code under \path{./tools/DMP_TOOLS}. 
     1155 
     1156%% ================================================================================================= 
     1157\section[Tracer time evolution (\textit{tranxt.F90})]{Tracer time evolution (\protect\mdl{tranxt})} 
    11401158\label{sec:TRA_nxt} 
    1141 %--------------------------------------------namdom----------------------------------------------------- 
    1142  
    1143 \nlst{namdom} 
    1144 %-------------------------------------------------------------------------------------------------------------- 
    1145  
    1146 Options are defined through the \nam{dom} namelist variables. 
    1147 The general framework for tracer time stepping is a modified leap-frog scheme \citep{leclair.madec_OM09}, 
    1148 \ie\ a three level centred time scheme associated with a Asselin time filter (cf. \autoref{sec:STP_mLF}): 
    1149 \begin{equation} 
    1150   \label{eq:tra_nxt} 
    1151   \begin{alignedat}{3} 
     1159 
     1160Options are defined through the \nam{dom}{dom} namelist variables. 
     1161The general framework for tracer time stepping is a modified leap-frog scheme 
     1162\citep{leclair.madec_OM09}, \ie\ a three level centred time scheme associated with 
     1163a Asselin time filter (cf. \autoref{sec:TD_mLF}): 
     1164\begin{equation} 
     1165  \label{eq:TRA_nxt} 
     1166  \begin{alignedat}{5} 
    11521167    &(e_{3t}T)^{t + \rdt} &&= (e_{3t}T)_f^{t - \rdt} &&+ 2 \, \rdt \,e_{3t}^t \ \text{RHS}^t \\ 
    11531168    &(e_{3t}T)_f^t        &&= (e_{3t}T)^t            &&+ \, \gamma \, \lt[ (e_{3t}T)_f^{t - \rdt} - 2(e_{3t}T)^t + (e_{3t}T)^{t + \rdt} \rt] \\ 
     
    11551170  \end{alignedat} 
    11561171\end{equation} 
    1157 where RHS is the right hand side of the temperature equation, the subscript $f$ denotes filtered values, 
    1158 $\gamma$ is the Asselin coefficient, and $S$ is the total forcing applied on $T$ 
    1159 (\ie\ fluxes plus content in mass exchanges). 
    1160 $\gamma$ is initialized as \np{rn\_atfp} (\textbf{namelist} parameter). 
    1161 Its default value is \np{rn\_atfp}\forcode{ = 10.e-3}. 
     1172where RHS is the right hand side of the temperature equation, 
     1173the subscript $f$ denotes filtered values, $\gamma$ is the Asselin coefficient, 
     1174and $S$ is the total forcing applied on $T$ (\ie\ fluxes plus content in mass exchanges). 
     1175$\gamma$ is initialized as \np{rn_atfp}{rn\_atfp}, its default value is \forcode{10.e-3}. 
    11621176Note that the forcing correction term in the filter is not applied in linear free surface 
    1163 (\jp{ln\_linssh}\forcode{ = .true.}) (see \autoref{subsec:TRA_sbc}). 
    1164 Not also that in constant volume case, the time stepping is performed on $T$, not on its content, $e_{3t}T$. 
    1165  
    1166 When the vertical mixing is solved implicitly, the update of the \textit{next} tracer fields is done in 
    1167 \mdl{trazdf} module. 
     1177(\jp{ln\_linssh}\forcode{=.true.}) (see \autoref{subsec:TRA_sbc}). 
     1178Not also that in constant volume case, the time stepping is performed on $T$, 
     1179not on its content, $e_{3t}T$. 
     1180 
     1181When the vertical mixing is solved implicitly, 
     1182the update of the \textit{next} tracer fields is done in \mdl{trazdf} module. 
    11681183In this case only the swapping of arrays and the Asselin filtering is done in the \mdl{tranxt} module. 
    11691184 
    1170 In order to prepare for the computation of the \textit{next} time step, a swap of tracer arrays is performed: 
    1171 $T^{t - \rdt} = T^t$ and $T^t = T_f$. 
    1172  
    1173 % ================================================================ 
    1174 % Equation of State (eosbn2) 
    1175 % ================================================================ 
    1176 \section[Equation of state (\textit{eosbn2.F90})] 
    1177 {Equation of state (\protect\mdl{eosbn2})} 
     1185In order to prepare for the computation of the \textit{next} time step, 
     1186a swap of tracer arrays is performed: $T^{t - \rdt} = T^t$ and $T^t = T_f$. 
     1187 
     1188%% ================================================================================================= 
     1189\section[Equation of state (\textit{eosbn2.F90})]{Equation of state (\protect\mdl{eosbn2})} 
    11781190\label{sec:TRA_eosbn2} 
    1179 %--------------------------------------------nameos----------------------------------------------------- 
    1180  
    1181 \nlst{nameos} 
    1182 %-------------------------------------------------------------------------------------------------------------- 
    1183  
    1184 % ------------------------------------------------------------------------------------------------------------- 
    1185 %        Equation of State 
    1186 % ------------------------------------------------------------------------------------------------------------- 
    1187 \subsection[Equation of seawater (\texttt{ln}\{\texttt{\_teso10,\_eos80,\_seos}\})] 
    1188 {Equation of seawater (\protect\np{ln\_teos10}, \protect\np{ln\_teos80}, or \protect\np{ln\_seos}) } 
     1191 
     1192\begin{listing} 
     1193  \nlst{nameos} 
     1194  \caption{\forcode{&nameos}} 
     1195  \label{lst:nameos} 
     1196\end{listing} 
     1197 
     1198%% ================================================================================================= 
     1199\subsection[Equation of seawater (\forcode{ln_}\{\forcode{teos10,eos80,seos}\})]{Equation of seawater (\protect\np{ln_teos10}{ln\_teos10}, \protect\np{ln_teos80}{ln\_teos80}, or \protect\np{ln_seos}{ln\_seos})} 
    11891200\label{subsec:TRA_eos} 
    11901201 
    1191  
    1192 The Equation Of Seawater (EOS) is an empirical nonlinear thermodynamic relationship linking seawater density, 
    1193 $\rho$, to a number of state variables, most typically temperature, salinity and pressure. 
     1202The \textbf{E}quation \textbf{O}f \textbf{S}eawater (EOS) is 
     1203an empirical nonlinear thermodynamic relationship linking 
     1204seawater density, $\rho$, to a number of state variables, 
     1205most typically temperature, salinity and pressure. 
    11941206Because density gradients control the pressure gradient force through the hydrostatic balance, 
    1195 the equation of state provides a fundamental bridge between the distribution of active tracers and 
    1196 the fluid dynamics. 
     1207the equation of state provides a fundamental bridge between 
     1208the distribution of active tracers and the fluid dynamics. 
    11971209Nonlinearities of the EOS are of major importance, in particular influencing the circulation through 
    11981210determination of the static stability below the mixed layer, 
    1199 thus controlling rates of exchange between the atmosphere and the ocean interior \citep{roquet.madec.ea_JPO15}. 
    1200 Therefore an accurate EOS based on either the 1980 equation of state (EOS-80, \cite{fofonoff.millard_bk83}) or 
    1201 TEOS-10 \citep{ioc.iapso_bk10} standards should be used anytime a simulation of the real ocean circulation is attempted 
     1211thus controlling rates of exchange between the atmosphere and the ocean interior 
    12021212\citep{roquet.madec.ea_JPO15}. 
     1213Therefore an accurate EOS based on either the 1980 equation of state 
     1214(EOS-80, \cite{fofonoff.millard_bk83}) or TEOS-10 \citep{ioc.iapso_bk10} standards should 
     1215be used anytime a simulation of the real ocean circulation is attempted \citep{roquet.madec.ea_JPO15}. 
    12031216The use of TEOS-10 is highly recommended because 
    1204 \textit{(i)}   it is the new official EOS, 
    1205 \textit{(ii)}  it is more accurate, being based on an updated database of laboratory measurements, and 
    1206 \textit{(iii)} it uses Conservative Temperature and Absolute Salinity (instead of potential temperature and 
    1207 practical salinity for EOS-80, both variables being more suitable for use as model variables 
    1208 \citep{ioc.iapso_bk10, graham.mcdougall_JPO13}. 
     1217\begin{enumerate*}[label=(\textit{\roman*})] 
     1218\item it is the new official EOS, 
     1219\item it is more accurate, being based on an updated database of laboratory measurements, and 
     1220\item it uses Conservative Temperature and Absolute Salinity 
     1221  (instead of potential temperature and practical salinity for EOS-80), 
     1222  both variables being more suitable for use as model variables 
     1223  \citep{ioc.iapso_bk10, graham.mcdougall_JPO13}. 
     1224\end{enumerate*} 
    12091225EOS-80 is an obsolescent feature of the \NEMO\ system, kept only for backward compatibility. 
    12101226For process studies, it is often convenient to use an approximation of the EOS. 
    12111227To that purposed, a simplified EOS (S-EOS) inspired by \citet{vallis_bk06} is also available. 
    12121228 
    1213 In the computer code, a density anomaly, $d_a = \rho / \rho_o - 1$, is computed, with $\rho_o$ a reference density. 
    1214 Called \textit{rau0} in the code, $\rho_o$ is set in \mdl{phycst} to a value of $1,026~Kg/m^3$. 
    1215 This is a sensible choice for the reference density used in a Boussinesq ocean climate model, as, 
    1216 with the exception of only a small percentage of the ocean, 
    1217 density in the World Ocean varies by no more than 2$\%$ from that value \citep{gill_bk82}. 
    1218  
    1219 Options which control the EOS used are defined through the \ngn{nameos} namelist variables. 
     1229In the computer code, a density anomaly, $d_a = \rho / \rho_o - 1$, is computed, 
     1230with $\rho_o$ a reference density. 
     1231Called \textit{rau0} in the code, 
     1232$\rho_o$ is set in \mdl{phycst} to a value of \texttt{1,026} $Kg/m^3$. 
     1233This is a sensible choice for the reference density used in a Boussinesq ocean climate model, 
     1234as, with the exception of only a small percentage of the ocean, 
     1235density in the World Ocean varies by no more than 2\% from that value \citep{gill_bk82}. 
     1236 
     1237Options which control the EOS used are defined through the \nam{eos}{eos} namelist variables. 
    12201238 
    12211239\begin{description} 
    1222 \item[\np{ln\_teos10}\forcode{ = .true.}] 
    1223   the polyTEOS10-bsq equation of seawater \citep{roquet.madec.ea_OM15} is used. 
     1240\item [{\np[=.true.]{ln_teos10}{ln\_teos10}}] the polyTEOS10-bsq equation of seawater 
     1241  \citep{roquet.madec.ea_OM15} is used. 
    12241242  The accuracy of this approximation is comparable to the TEOS-10 rational function approximation, 
    1225   but it is optimized for a boussinesq fluid and the polynomial expressions have simpler and 
    1226   more computationally efficient expressions for their derived quantities which make them more adapted for 
    1227   use in ocean models. 
    1228   Note that a slightly higher precision polynomial form is now used replacement of 
    1229   the TEOS-10 rational function approximation for hydrographic data analysis \citep{ioc.iapso_bk10}. 
     1243  but it is optimized for a Boussinesq fluid and 
     1244  the polynomial expressions have simpler and more computationally efficient expressions for 
     1245  their derived quantities which make them more adapted for use in ocean models. 
     1246  Note that a slightly higher precision polynomial form is now used 
     1247  replacement of the TEOS-10 rational function approximation for hydrographic data analysis 
     1248  \citep{ioc.iapso_bk10}. 
    12301249  A key point is that conservative state variables are used: 
    1231   Absolute Salinity (unit: g/kg, notation: $S_A$) and Conservative Temperature (unit: \deg{C}, notation: $\Theta$). 
     1250  Absolute Salinity (unit: $g/kg$, notation: $S_A$) and 
     1251  Conservative Temperature (unit: $\deg{C}$, notation: $\Theta$). 
    12321252  The pressure in decibars is approximated by the depth in meters. 
    12331253  With TEOS10, the specific heat capacity of sea water, $C_p$, is a constant. 
    1234   It is set to $C_p = 3991.86795711963~J\,Kg^{-1}\,^{\circ}K^{-1}$, according to \citet{ioc.iapso_bk10}. 
     1254  It is set to $C_p$ = 3991.86795711963 $J.Kg^{-1}.\deg{K}^{-1}$, 
     1255  according to \citet{ioc.iapso_bk10}. 
    12351256  Choosing polyTEOS10-bsq implies that the state variables used by the model are $\Theta$ and $S_A$. 
    1236   In particular, the initial state deined by the user have to be given as \textit{Conservative} Temperature and 
    1237   \textit{Absolute} Salinity. 
     1257  In particular, the initial state defined by the user have to be given as 
     1258  \textit{Conservative} Temperature and \textit{Absolute} Salinity. 
    12381259  In addition, when using TEOS10, the Conservative SST is converted to potential SST prior to 
    12391260  either computing the air-sea and ice-sea fluxes (forced mode) or 
    12401261  sending the SST field to the atmosphere (coupled mode). 
    1241 \item[\np{ln\_eos80}\forcode{ = .true.}] 
    1242   the polyEOS80-bsq equation of seawater is used. 
    1243   It takes the same polynomial form as the polyTEOS10, but the coefficients have been optimized to 
    1244   accurately fit EOS80 (Roquet, personal comm.). 
     1262\item [{\np[=.true.]{ln_eos80}{ln\_eos80}}] the polyEOS80-bsq equation of seawater is used. 
     1263  It takes the same polynomial form as the polyTEOS10, 
     1264  but the coefficients have been optimized to accurately fit EOS80 (Roquet, personal comm.). 
    12451265  The state variables used in both the EOS80 and the ocean model are: 
    1246   the Practical Salinity ((unit: psu, notation: $S_p$)) and 
    1247   Potential Temperature (unit: $^{\circ}C$, notation: $\theta$). 
     1266  the Practical Salinity (unit: $psu$, notation: $S_p$) and 
     1267  Potential Temperature (unit: $\deg{C}$, notation: $\theta$). 
    12481268  The pressure in decibars is approximated by the depth in meters. 
    1249   With thsi EOS, the specific heat capacity of sea water, $C_p$, is a function of temperature, salinity and 
    1250   pressure \citep{fofonoff.millard_bk83}. 
     1269  With EOS, the specific heat capacity of sea water, $C_p$, is a function of 
     1270  temperature, salinity and pressure \citep{fofonoff.millard_bk83}. 
    12511271  Nevertheless, a severe assumption is made in order to have a heat content ($C_p T_p$) which 
    12521272  is conserved by the model: $C_p$ is set to a constant value, the TEOS10 value. 
    1253 \item[\np{ln\_seos}\forcode{ = .true.}] 
    1254   a simplified EOS (S-EOS) inspired by \citet{vallis_bk06} is chosen, 
    1255   the coefficients of which has been optimized to fit the behavior of TEOS10 
    1256   (Roquet, personal comm.) (see also \citet{roquet.madec.ea_JPO15}). 
     1273\item [{\np[=.true.]{ln_seos}{ln\_seos}}] a simplified EOS (S-EOS) inspired by 
     1274  \citet{vallis_bk06} is chosen, 
     1275  the coefficients of which has been optimized to fit the behavior of TEOS10 (Roquet, personal comm.) 
     1276  (see also \citet{roquet.madec.ea_JPO15}). 
    12571277  It provides a simplistic linear representation of both cabbeling and thermobaricity effects which 
    12581278  is enough for a proper treatment of the EOS in theoretical studies \citep{roquet.madec.ea_JPO15}. 
    1259   With such an equation of state there is no longer a distinction between 
    1260   \textit{conservative} and \textit{potential} temperature, 
    1261   as well as between \textit{absolute} and \textit{practical} salinity. 
     1279  With such an equation of state there is no longer a distinction between \textit{conservative} and 
     1280  \textit{potential} temperature, as well as between \textit{absolute} and 
     1281  \textit{practical} salinity. 
    12621282  S-EOS takes the following expression: 
    1263  
    12641283  \begin{gather*} 
    1265     % \label{eq:tra_S-EOS} 
    1266     \begin{alignedat}{2} 
    1267     &d_a(T,S,z) = \frac{1}{\rho_o} \big[ &- a_0 \; ( 1 + 0.5 \; \lambda_1 \; T_a + \mu_1 \; z ) * &T_a \big. \\ 
    1268     &                                    &+ b_0 \; ( 1 - 0.5 \; \lambda_2 \; S_a - \mu_2 \; z ) * &S_a       \\ 
    1269     &                              \big. &- \nu \;                           T_a                  &S_a \big] \\ 
    1270     \end{alignedat} 
    1271     \\ 
     1284    % \label{eq:TRA_S-EOS} 
     1285    d_a(T,S,z) = \frac{1}{\rho_o} \big[ - a_0 \; ( 1 + 0.5 \; \lambda_1 \; T_a + \mu_1 \; z ) * T_a \big. 
     1286                                        + b_0 \; ( 1 - 0.5 \; \lambda_2 \; S_a - \mu_2 \; z ) * S_a 
     1287                                  \big. - \nu \;                           T_a                  S_a \big] \\ 
    12721288    \text{with~} T_a = T - 10 \, ; \, S_a = S - 35 \, ; \, \rho_o = 1026~Kg/m^3 
    12731289  \end{gather*} 
    1274   where the computer name of the coefficients as well as their standard value are given in \autoref{tab:SEOS}. 
     1290  where the computer name of the coefficients as well as their standard value are given in 
     1291  \autoref{tab:TRA_SEOS}. 
    12751292  In fact, when choosing S-EOS, various approximation of EOS can be specified simply by 
    12761293  changing the associated coefficients. 
    1277   Setting to zero the two thermobaric coefficients $(\mu_1,\mu_2)$ remove thermobaric effect from S-EOS. 
    1278   setting to zero the three cabbeling coefficients $(\lambda_1,\lambda_2,\nu)$ remove cabbeling effect from 
    1279   S-EOS. 
     1294  Setting to zero the two thermobaric coefficients $(\mu_1,\mu_2)$ 
     1295  remove thermobaric effect from S-EOS. 
     1296  Setting to zero the three cabbeling coefficients $(\lambda_1,\lambda_2,\nu)$ 
     1297  remove   cabbeling effect from S-EOS. 
    12801298  Keeping non-zero value to $a_0$ and $b_0$ provide a linear EOS function of T and S. 
    12811299\end{description} 
    12821300 
    1283 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1284 \begin{table}[!tb] 
    1285   \begin{center} 
    1286     \begin{tabular}{|l|l|l|l|} 
    1287       \hline 
    1288       coeff.      & computer name   & S-EOS           & description                      \\ 
    1289       \hline 
    1290       $a_0$       & \np{rn\_a0}     & $1.6550~10^{-1}$ & linear thermal expansion coeff. \\ 
    1291       \hline 
    1292       $b_0$       & \np{rn\_b0}     & $7.6554~10^{-1}$ & linear haline  expansion coeff. \\ 
    1293       \hline 
    1294       $\lambda_1$ & \np{rn\_lambda1}& $5.9520~10^{-2}$ & cabbeling coeff. in $T^2$       \\ 
    1295       \hline 
    1296       $\lambda_2$ & \np{rn\_lambda2}& $5.4914~10^{-4}$ & cabbeling coeff. in $S^2$       \\ 
    1297       \hline 
    1298       $\nu$       & \np{rn\_nu}     & $2.4341~10^{-3}$ & cabbeling coeff. in $T \, S$    \\ 
    1299       \hline 
    1300       $\mu_1$     & \np{rn\_mu1}    & $1.4970~10^{-4}$ & thermobaric coeff. in T         \\ 
    1301       \hline 
    1302       $\mu_2$     & \np{rn\_mu2}    & $1.1090~10^{-5}$ & thermobaric coeff. in S         \\ 
    1303       \hline 
    1304     \end{tabular} 
    1305     \caption{ 
    1306       \protect\label{tab:SEOS} 
    1307       Standard value of S-EOS coefficients. 
    1308     } 
    1309 \end{center} 
     1301\begin{table} 
     1302  \centering 
     1303  \begin{tabular}{|l|l|l|l|} 
     1304    \hline 
     1305    coeff.      & computer name                & S-EOS            & description                     \\ 
     1306    \hline 
     1307    $a_0      $ & \np{rn_a0}{rn\_a0}           & $1.6550~10^{-1}$ & linear thermal expansion coeff. \\ 
     1308    \hline 
     1309    $b_0      $ & \np{rn_b0}{rn\_b0}           & $7.6554~10^{-1}$ & linear haline  expansion coeff. \\ 
     1310    \hline 
     1311    $\lambda_1$ & \np{rn_lambda1}{rn\_lambda1} & $5.9520~10^{-2}$ & cabbeling coeff. in $T^2$       \\ 
     1312    \hline 
     1313    $\lambda_2$ & \np{rn_lambda2}{rn\_lambda2} & $5.4914~10^{-4}$ & cabbeling coeff. in $S^2$       \\ 
     1314    \hline 
     1315    $\nu      $ & \np{rn_nu}{rn\_nu}           & $2.4341~10^{-3}$ & cabbeling coeff. in $T \, S$    \\ 
     1316    \hline 
     1317    $\mu_1    $ & \np{rn_mu1}{rn\_mu1}         & $1.4970~10^{-4}$ & thermobaric coeff. in T         \\ 
     1318    \hline 
     1319    $\mu_2    $ & \np{rn_mu2}{rn\_mu2}         & $1.1090~10^{-5}$ & thermobaric coeff. in S         \\ 
     1320    \hline 
     1321  \end{tabular} 
     1322  \caption{Standard value of S-EOS coefficients} 
     1323  \label{tab:TRA_SEOS} 
    13101324\end{table} 
    1311 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1312  
    1313 % ------------------------------------------------------------------------------------------------------------- 
    1314 %        Brunt-V\"{a}is\"{a}l\"{a} Frequency 
    1315 % ------------------------------------------------------------------------------------------------------------- 
    1316 \subsection[Brunt-V\"{a}is\"{a}l\"{a} frequency] 
    1317 {Brunt-V\"{a}is\"{a}l\"{a} frequency} 
     1325 
     1326%% ================================================================================================= 
     1327\subsection[Brunt-V\"{a}is\"{a}l\"{a} frequency]{Brunt-V\"{a}is\"{a}l\"{a} frequency} 
    13181328\label{subsec:TRA_bn2} 
    13191329 
    1320 An accurate computation of the ocean stability (i.e. of $N$, the brunt-V\"{a}is\"{a}l\"{a} frequency) is of 
    1321 paramount importance as determine the ocean stratification and is used in several ocean parameterisations 
     1330An accurate computation of the ocean stability (i.e. of $N$, the Brunt-V\"{a}is\"{a}l\"{a} frequency) is of paramount importance as determine the ocean stratification and 
     1331is used in several ocean parameterisations 
    13221332(namely TKE, GLS, Richardson number dependent vertical diffusion, enhanced vertical diffusion, 
    13231333non-penetrative convection, tidal mixing  parameterisation, iso-neutral diffusion). 
     
    13261336The expression for $N^2$  is given by: 
    13271337\[ 
    1328   % \label{eq:tra_bn2} 
     1338  % \label{eq:TRA_bn2} 
    13291339  N^2 = \frac{g}{e_{3w}} \lt( \beta \; \delta_{k + 1/2}[S] - \alpha \; \delta_{k + 1/2}[T] \rt) 
    13301340\] 
    13311341where $(T,S) = (\Theta,S_A)$ for TEOS10, $(\theta,S_p)$ for TEOS-80, or $(T,S)$ for S-EOS, and, 
    13321342$\alpha$ and $\beta$ are the thermal and haline expansion coefficients. 
    1333 The coefficients are a polynomial function of temperature, salinity and depth which expression depends on 
    1334 the chosen EOS. 
    1335 They are computed through \textit{eos\_rab}, a \fortran function that can be found in \mdl{eosbn2}. 
    1336  
    1337 % ------------------------------------------------------------------------------------------------------------- 
    1338 %        Freezing Point of Seawater 
    1339 % ------------------------------------------------------------------------------------------------------------- 
     1343The coefficients are a polynomial function of temperature, salinity and depth which 
     1344expression depends on the chosen EOS. 
     1345They are computed through \textit{eos\_rab}, a \fortran\ function that can be found in \mdl{eosbn2}. 
     1346 
     1347%% ================================================================================================= 
    13401348\subsection{Freezing point of seawater} 
    13411349\label{subsec:TRA_fzp} 
     
    13431351The freezing point of seawater is a function of salinity and pressure \citep{fofonoff.millard_bk83}: 
    13441352\begin{equation} 
    1345   \label{eq:tra_eos_fzp} 
    1346   \begin{split} 
    1347     &T_f (S,p) = \lt( a + b \, \sqrt{S} + c \, S \rt) \, S + d \, p \\ 
    1348     &\text{where~} a = -0.0575, \, b = 1.710523~10^{-3}, \, c = -2.154996~10^{-4} \\ 
    1349     &\text{and~} d = -7.53~10^{-3} 
    1350     \end{split} 
    1351 \end{equation} 
    1352  
    1353 \autoref{eq:tra_eos_fzp} is only used to compute the potential freezing point of sea water 
     1353  \label{eq:TRA_eos_fzp} 
     1354  \begin{gathered} 
     1355    T_f (S,p) = \lt( a + b \, \sqrt{S} + c \, S \rt) \, S + d \, p \\ 
     1356    \text{where~} a = -0.0575, \, b = 1.710523~10^{-3}, \, c = -2.154996~10^{-4} \text{and~} d = -7.53~10^{-3} 
     1357    \end{gathered} 
     1358\end{equation} 
     1359 
     1360\autoref{eq:TRA_eos_fzp} is only used to compute the potential freezing point of sea water 
    13541361(\ie\ referenced to the surface $p = 0$), 
    1355 thus the pressure dependent terms in \autoref{eq:tra_eos_fzp} (last term) have been dropped. 
     1362thus the pressure dependent terms in \autoref{eq:TRA_eos_fzp} (last term) have been dropped. 
    13561363The freezing point is computed through \textit{eos\_fzp}, 
    1357 a \fortran function that can be found in \mdl{eosbn2}. 
    1358  
    1359 % ------------------------------------------------------------------------------------------------------------- 
    1360 %        Potential Energy 
    1361 % ------------------------------------------------------------------------------------------------------------- 
     1364a \fortran\ function that can be found in \mdl{eosbn2}. 
     1365 
     1366%% ================================================================================================= 
    13621367%\subsection{Potential Energy anomalies} 
    13631368%\label{subsec:TRA_bn2} 
    13641369 
    13651370%    =====>>>>> TO BE written 
    1366 % 
    1367  
    1368 % ================================================================ 
    1369 % Horizontal Derivative in zps-coordinate 
    1370 % ================================================================ 
    1371 \section[Horizontal derivative in \textit{zps}-coordinate (\textit{zpshde.F90})] 
    1372 {Horizontal derivative in \textit{zps}-coordinate (\protect\mdl{zpshde})} 
     1371 
     1372%% ================================================================================================= 
     1373\section[Horizontal derivative in \textit{zps}-coordinate (\textit{zpshde.F90})]{Horizontal derivative in \textit{zps}-coordinate (\protect\mdl{zpshde})} 
    13731374\label{sec:TRA_zpshde} 
    13741375 
     
    13761377I've changed "derivative" to "difference" and "mean" to "average"} 
    13771378 
    1378 With partial cells (\np{ln\_zps}\forcode{ = .true.}) at bottom and top (\np{ln\_isfcav}\forcode{ = .true.}), 
     1379With partial cells (\np[=.true.]{ln_zps}{ln\_zps}) at bottom and top 
     1380(\np[=.true.]{ln_isfcav}{ln\_isfcav}), 
    13791381in general, tracers in horizontally adjacent cells live at different depths. 
    1380 Horizontal gradients of tracers are needed for horizontal diffusion (\mdl{traldf} module) and 
    1381 the hydrostatic pressure gradient calculations (\mdl{dynhpg} module). 
    1382 The partial cell properties at the top (\np{ln\_isfcav}\forcode{ = .true.}) are computed in the same way as 
    1383 for the bottom. 
     1382Horizontal gradients of tracers are needed for horizontal diffusion 
     1383(\mdl{traldf} module) and the hydrostatic pressure gradient calculations (\mdl{dynhpg} module). 
     1384The partial cell properties at the top (\np[=.true.]{ln_isfcav}{ln\_isfcav}) are computed in 
     1385the same way as for the bottom. 
    13841386So, only the bottom interpolation is explained below. 
    13851387 
    13861388Before taking horizontal gradients between the tracers next to the bottom, 
    13871389a linear interpolation in the vertical is used to approximate the deeper tracer as if 
    1388 it actually lived at the depth of the shallower tracer point (\autoref{fig:Partial_step_scheme}). 
    1389 For example, for temperature in the $i$-direction the needed interpolated temperature, $\widetilde T$, is: 
    1390  
    1391 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    1392 \begin{figure}[!p] 
    1393   \begin{center} 
    1394     \includegraphics[width=\textwidth]{Fig_partial_step_scheme} 
    1395     \caption{ 
    1396       \protect\label{fig:Partial_step_scheme} 
    1397       Discretisation of the horizontal difference and average of tracers in the $z$-partial step coordinate 
    1398       (\protect\np{ln\_zps}\forcode{ = .true.}) in the case $(e3w_k^{i + 1} - e3w_k^i) > 0$. 
    1399       A linear interpolation is used to estimate $\widetilde T_k^{i + 1}$, 
    1400       the tracer value at the depth of the shallower tracer point of the two adjacent bottom $T$-points. 
    1401       The horizontal difference is then given by: $\delta_{i + 1/2} T_k = \widetilde T_k^{\, i + 1} -T_k^{\, i}$ and 
    1402       the average by: $\overline T_k^{\, i + 1/2} = (\widetilde T_k^{\, i + 1/2} - T_k^{\, i}) / 2$. 
    1403     } 
    1404   \end{center} 
     1390it actually lived at the depth of the shallower tracer point (\autoref{fig:TRA_Partial_step_scheme}). 
     1391For example, for temperature in the $i$-direction the needed interpolated temperature, 
     1392$\widetilde T$, is: 
     1393 
     1394\begin{figure} 
     1395  \centering 
     1396  \includegraphics[width=0.33\textwidth]{Fig_partial_step_scheme} 
     1397  \caption[Discretisation of the horizontal difference and average of tracers in 
     1398  the $z$-partial step coordinate]{ 
     1399    Discretisation of the horizontal difference and average of tracers in 
     1400    the $z$-partial step coordinate (\protect\np[=.true.]{ln_zps}{ln\_zps}) in 
     1401    the case $(e3w_k^{i + 1} - e3w_k^i) > 0$. 
     1402    A linear interpolation is used to estimate $\widetilde T_k^{i + 1}$, 
     1403    the tracer value at the depth of the shallower tracer point of the two adjacent bottom $T$-points. 
     1404    The horizontal difference is then given by: 
     1405    $\delta_{i + 1/2} T_k = \widetilde T_k^{\, i + 1} -T_k^{\, i}$ and the average by: 
     1406    $\overline T_k^{\, i + 1/2} = (\widetilde T_k^{\, i + 1/2} - T_k^{\, i}) / 2$.} 
     1407  \label{fig:TRA_Partial_step_scheme} 
    14051408\end{figure} 
    1406 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1409 
    14071410\[ 
    14081411  \widetilde T = \lt\{ 
    14091412    \begin{alignedat}{2} 
    14101413      &T^{\, i + 1} &-\frac{ \lt( e_{3w}^{i + 1} -e_{3w}^i \rt) }{ e_{3w}^{i + 1} } \; \delta_k T^{i + 1} 
    1411       & \quad \text{if $e_{3w}^{i + 1} \geq e_{3w}^i$} \\ \\ 
     1414      & \quad \text{if $e_{3w}^{i + 1} \geq e_{3w}^i$} \\ 
    14121415      &T^{\, i}     &+\frac{ \lt( e_{3w}^{i + 1} -e_{3w}^i \rt )}{e_{3w}^i       } \; \delta_k T^{i + 1} 
    14131416      & \quad \text{if $e_{3w}^{i + 1} <    e_{3w}^i$} 
     
    14151418  \rt. 
    14161419\] 
    1417 and the resulting forms for the horizontal difference and the horizontal average value of $T$ at a $U$-point are: 
    1418 \begin{equation} 
    1419   \label{eq:zps_hde} 
     1420and the resulting forms for the horizontal difference and the horizontal average value of 
     1421$T$ at a $U$-point are: 
     1422\begin{equation} 
     1423  \label{eq:TRA_zps_hde} 
    14201424  \begin{split} 
    14211425    \delta_{i + 1/2} T       &= 
    14221426    \begin{cases} 
    1423                                 \widetilde T - T^i          & \text{if~} e_{3w}^{i + 1} \geq e_{3w}^i \\ 
    1424                                 \\ 
    1425                                 T^{\, i + 1} - \widetilde T & \text{if~} e_{3w}^{i + 1} <    e_{3w}^i 
    1426     \end{cases} 
    1427     \\ 
     1427      \widetilde T - T^i          & \text{if~} e_{3w}^{i + 1} \geq e_{3w}^i \\ 
     1428      T^{\, i + 1} - \widetilde T & \text{if~} e_{3w}^{i + 1} <    e_{3w}^i 
     1429    \end{cases} \\ 
    14281430    \overline T^{\, i + 1/2} &= 
    14291431    \begin{cases} 
    1430                                 (\widetilde T - T^{\, i}   ) / 2 & \text{if~} e_{3w}^{i + 1} \geq e_{3w}^i \\ 
    1431                                 \\ 
    1432                                 (T^{\, i + 1} - \widetilde T) / 2 & \text{if~} e_{3w}^{i + 1} <   e_{3w}^i 
     1432      (\widetilde T - T^{\, i}    ) / 2 & \text{if~} e_{3w}^{i + 1} \geq e_{3w}^i \\ 
     1433      (T^{\, i + 1} - \widetilde T) / 2 & \text{if~} e_{3w}^{i + 1} <   e_{3w}^i 
    14331434    \end{cases} 
    14341435  \end{split} 
     
    14371438The computation of horizontal derivative of tracers as well as of density is performed once for all at 
    14381439each time step in \mdl{zpshde} module and stored in shared arrays to be used when needed. 
    1439 It has to be emphasized that the procedure used to compute the interpolated density, $\widetilde \rho$, 
    1440 is not the same as that used for $T$ and $S$. 
    1441 Instead of forming a linear approximation of density, we compute $\widetilde \rho$ from the interpolated values of 
    1442 $T$ and $S$, and the pressure at a $u$-point 
     1440It has to be emphasized that the procedure used to compute the interpolated density, 
     1441$\widetilde \rho$, is not the same as that used for $T$ and $S$. 
     1442Instead of forming a linear approximation of density, 
     1443we compute $\widetilde \rho$ from the interpolated values of $T$ and $S$, 
     1444and the pressure at a $u$-point 
    14431445(in the equation of state pressure is approximated by depth, see \autoref{subsec:TRA_eos}): 
    14441446\[ 
    1445   % \label{eq:zps_hde_rho} 
     1447  % \label{eq:TRA_zps_hde_rho} 
    14461448  \widetilde \rho = \rho (\widetilde T,\widetilde S,z_u) \quad \text{where~} z_u = \min \lt( z_T^{i + 1},z_T^i \rt) 
    14471449\] 
    14481450 
    14491451This is a much better approximation as the variation of $\rho$ with depth (and thus pressure) 
    1450 is highly non-linear with a true equation of state and thus is badly approximated with a linear interpolation. 
    1451 This approximation is used to compute both the horizontal pressure gradient (\autoref{sec:DYN_hpg}) and 
    1452 the slopes of neutral surfaces (\autoref{sec:LDF_slp}). 
    1453  
    1454 Note that in almost all the advection schemes presented in this Chapter, 
     1452is highly non-linear with a true equation of state and thus is badly approximated with 
     1453a linear interpolation. 
     1454This approximation is used to compute both the horizontal pressure gradient (\autoref{sec:DYN_hpg}) 
     1455and the slopes of neutral surfaces (\autoref{sec:LDF_slp}). 
     1456 
     1457Note that in almost all the advection schemes presented in this chapter, 
    14551458both averaging and differencing operators appear. 
    1456 Yet \autoref{eq:zps_hde} has not been used in these schemes: 
     1459Yet \autoref{eq:TRA_zps_hde} has not been used in these schemes: 
    14571460in contrast to diffusion and pressure gradient computations, 
    14581461no correction for partial steps is applied for advection. 
    14591462The main motivation is to preserve the domain averaged mean variance of the advected field when 
    14601463using the $2^{nd}$ order centred scheme. 
    1461 Sensitivity of the advection schemes to the way horizontal averages are performed in the vicinity of 
    1462 partial cells should be further investigated in the near future. 
    1463 %%% 
     1464Sensitivity of the advection schemes to the way horizontal averages are performed in 
     1465the vicinity of partial cells should be further investigated in the near future. 
    14641466\gmcomment{gm :   this last remark has to be done} 
    1465 %%% 
    1466  
    1467 \biblio 
    1468  
    1469 \pindex 
     1467 
     1468\onlyinsubfile{\input{../../global/epilogue}} 
    14701469 
    14711470\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_ZDF.tex

    r11435 r11799  
    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 
     11\thispagestyle{plain} 
     12 
    1013\chaptertoc 
    1114 
     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 
    1230%gm% Add here a small introduction to ZDF and naming of the different physics (similar to what have been written for TRA and DYN. 
    1331 
    14 \newpage 
    15  
    16 % ================================================================ 
    17 % Vertical Mixing 
    18 % ================================================================ 
     32%% ================================================================================================= 
    1933\section{Vertical mixing} 
    20 \label{sec:ZDF_zdf} 
     34\label{sec:ZDF} 
    2135 
    2236The discrete form of the ocean subgrid scale physics has been presented in 
     
    2539At the surface they are prescribed from the surface forcing (see \autoref{chap:SBC}), 
    2640while 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, 
     41unless a geothermal flux forcing is prescribed as a bottom boundary condition (\ie\ \np{ln_trabbc}{ln\_trabbc} defined, 
    2842see \autoref{subsec:TRA_bbc}), and specified through a bottom friction parameterisation for momentum 
    2943(see \autoref{sec:ZDF_drg}). 
     
    3953are computed and added to the general trend in the \mdl{dynzdf} and \mdl{trazdf} modules, respectively. 
    4054%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.})} 
     55%(namelist parameter \np[=.true.]{ln_zdfexp}{ln\_zdfexp}) or a backward time stepping scheme 
     56%(\np[=.false.]{ln_zdfexp}{ln\_zdfexp}) depending on the magnitude of the mixing coefficients, 
     57%and thus of the formulation used (see \autoref{chap:TD}). 
     58 
     59\begin{listing} 
     60  \nlst{namzdf} 
     61  \caption{\forcode{&namzdf}} 
     62  \label{lst:namzdf} 
     63\end{listing} 
     64 
     65%% ================================================================================================= 
     66\subsection[Constant (\forcode{ln_zdfcst})]{Constant (\protect\np{ln_zdfcst}{ln\_zdfcst})} 
    5567\label{subsec:ZDF_cst} 
    5668 
    57 Options are defined through the \nam{zdf} namelist variables. 
    58 When \np{ln\_zdfcst} is defined, the momentum and tracer vertical eddy coefficients are set to 
     69Options are defined through the \nam{zdf}{zdf} namelist variables. 
     70When \np{ln_zdfcst}{ln\_zdfcst} is defined, the momentum and tracer vertical eddy coefficients are set to 
    5971constant values over the whole ocean. 
    6072This is the crudest way to define the vertical ocean physics. 
     
    6678\end{align*} 
    6779 
    68 These values are set through the \np{rn\_avm0} and \np{rn\_avt0} namelist parameters. 
     80These values are set through the \np{rn_avm0}{rn\_avm0} and \np{rn_avt0}{rn\_avt0} namelist parameters. 
    6981In all cases, do not use values smaller that those associated with the molecular viscosity and diffusivity, 
    7082that is $\sim10^{-6}~m^2.s^{-1}$ for momentum, $\sim10^{-7}~m^2.s^{-1}$ for temperature and 
    7183$\sim10^{-9}~m^2.s^{-1}$ for salinity. 
    7284 
    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.})} 
     85%% ================================================================================================= 
     86\subsection[Richardson number dependent (\forcode{ln_zdfric})]{Richardson number dependent (\protect\np{ln_zdfric}{ln\_zdfric})} 
    7887\label{subsec:ZDF_ric} 
    7988 
    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 \nam{zdf\_ric} namelist variables. 
     89\begin{listing} 
     90  \nlst{namzdf_ric} 
     91  \caption{\forcode{&namzdf_ric}} 
     92  \label{lst:namzdf_ric} 
     93\end{listing} 
     94 
     95When \np[=.true.]{ln_zdfric}{ln\_zdfric}, a local Richardson number dependent formulation for the vertical momentum and 
     96tracer eddy coefficients is set through the \nam{zdf_ric}{zdf\_ric} namelist variables. 
    8797The vertical mixing coefficients are diagnosed from the large scale variables computed by the model. 
    8898\textit{In situ} measurements have been used to link vertical turbulent activity to large scale ocean structures. 
     
    92102Following \citet{pacanowski.philander_JPO81}, the following formulation has been implemented: 
    93103\[ 
    94   % \label{eq:zdfric} 
     104  % \label{eq:ZDF_ric} 
    95105  \left\{ 
    96106    \begin{aligned} 
     
    105115(see \autoref{subsec:ZDF_cst}), and $A_{ric}^{vT} = 10^{-4}~m^2.s^{-1}$ is the maximum value that 
    106116can 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. 
     117The last three values can be modified by setting the \np{rn_avmri}{rn\_avmri}, \np{rn_alp}{rn\_alp} and 
     118\np{nn_ric}{nn\_ric} namelist parameters, respectively. 
    109119 
    110120A 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. 
     121(wind-stress and buoyancy fluxes) can be activated setting the \np[=.true.]{ln_mldw}{ln\_mldw} in the namelist. 
    112122 
    113123In this case, the local depth of turbulent wind-mixing or "Ekman depth" $h_{e}(x,y,t)$ is evaluated and 
     
    125135\] 
    126136is 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}. 
     137The final $h_{e}$ is further constrained by the adjustable bounds \np{rn_mldmin}{rn\_mldmin} and \np{rn_mldmax}{rn\_mldmax}. 
    128138Once $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.})} 
     139the empirical values \np{rn_wtmix}{rn\_wtmix} and \np{rn_wvmix}{rn\_wvmix} \citep{lermusiaux_JMS01}. 
     140 
     141%% ================================================================================================= 
     142\subsection[TKE turbulent closure scheme (\forcode{ln_zdftke})]{TKE turbulent closure scheme (\protect\np{ln_zdftke}{ln\_zdftke})} 
    136143\label{subsec:ZDF_tke} 
    137 %--------------------------------------------namzdf_tke-------------------------------------------------- 
    138  
    139 \nlst{namzdf_tke} 
    140 %-------------------------------------------------------------------------------------------------------------- 
     144 
     145\begin{listing} 
     146  \nlst{namzdf_tke} 
     147  \caption{\forcode{&namzdf_tke}} 
     148  \label{lst:namzdf_tke} 
     149\end{listing} 
    141150 
    142151The vertical eddy viscosity and diffusivity coefficients are computed from a TKE turbulent closure model based on 
     
    151160its destruction through stratification, its vertical diffusion, and its dissipation of \citet{kolmogorov_IANS42} type: 
    152161\begin{equation} 
    153   \label{eq:zdftke_e} 
     162  \label{eq:ZDF_tke_e} 
    154163  \frac{\partial \bar{e}}{\partial t} = 
    155164  \frac{K_m}{{e_3}^2 }\;\left[ {\left( {\frac{\partial u}{\partial k}} \right)^2 
     
    161170\end{equation} 
    162171\[ 
    163   % \label{eq:zdftke_kz} 
     172  % \label{eq:ZDF_tke_kz} 
    164173  \begin{split} 
    165174    K_m &= C_k\  l_k\  \sqrt {\bar{e}\; }    \\ 
     
    172181The constants $C_k =  0.1$ and $C_\epsilon = \sqrt {2} /2$ $\approx 0.7$ are designed to deal with 
    173182vertical mixing at any depth \citep{gaspar.gregoris.ea_JGR90}. 
    174 They are set through namelist parameters \np{nn\_ediff} and \np{nn\_ediss}. 
     183They are set through namelist parameters \np{nn_ediff}{nn\_ediff} and \np{nn_ediss}{nn\_ediss}. 
    175184$P_{rt}$ can be set to unity or, following \citet{blanke.delecluse_JPO93}, be a function of the local Richardson number, $R_i$: 
    176185\begin{align*} 
    177   % \label{eq:prt} 
     186  % \label{eq:ZDF_prt} 
    178187  P_{rt} = 
    179188  \begin{cases} 
     
    183192  \end{cases} 
    184193\end{align*} 
    185 The choice of $P_{rt}$ is controlled by the \np{nn\_pdl} namelist variable. 
     194The choice of $P_{rt}$ is controlled by the \np{nn_pdl}{nn\_pdl} namelist variable. 
    186195 
    187196At 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. 
     197$\bar{e}_o = e_{bb} |\tau| / \rho_o$, with $e_{bb}$ the \np{rn_ebb}{rn\_ebb} namelist parameter. 
    189198The default value of $e_{bb}$ is 3.75. \citep{gaspar.gregoris.ea_JGR90}), however a much larger value can be used when 
    190199taking into account the surface wave breaking (see below Eq. \autoref{eq:ZDF_Esbc}). 
     
    192201The time integration of the $\bar{e}$ equation may formally lead to negative values because 
    193202the 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). 
     203To overcome this problem, a cut-off in the minimum value of $\bar{e}$ is used (\np{rn_emin}{rn\_emin} namelist parameter). 
    195204Following \citet{gaspar.gregoris.ea_JGR90}, the cut-off value is set to $\sqrt{2}/2~10^{-6}~m^2.s^{-2}$. 
    196205This allows the subsequent formulations to match that of \citet{gargett_JMR84} for the diffusion in 
     
    198207In addition, a cut-off is applied on $K_m$ and $K_\rho$ to avoid numerical instabilities associated with 
    199208too 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} (\nam{zdf} namelist, see \autoref{subsec:ZDF_cst}). 
    202  
     209They must be specified at least larger than the molecular values, and are set through \np{rn_avm0}{rn\_avm0} and 
     210\np{rn_avt0}{rn\_avt0} (\nam{zdf}{zdf} namelist, see \autoref{subsec:ZDF_cst}). 
     211 
     212%% ================================================================================================= 
    203213\subsubsection{Turbulent length scale} 
    204214 
    205215For computational efficiency, the original formulation of the turbulent length scales proposed by 
    206216\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. 
     217Four formulations are proposed, the choice of which is controlled by the \np{nn_mxl}{nn\_mxl} namelist parameter. 
    208218The first two are based on the following first order approximation \citep{blanke.delecluse_JPO93}: 
    209219\begin{equation} 
    210   \label{eq:tke_mxl0_1} 
     220  \label{eq:ZDF_tke_mxl0_1} 
    211221  l_k = l_\epsilon = \sqrt {2 \bar{e}\; } / N 
    212222\end{equation} 
    213223which is valid in a stable stratified region with constant values of the Brunt-Vais\"{a}l\"{a} frequency. 
    214224The 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}). 
     225(\np[=0]{nn_mxl}{nn\_mxl}) or by the local vertical scale factor (\np[=1]{nn_mxl}{nn\_mxl}). 
    216226\citet{blanke.delecluse_JPO93} notice that this simplification has two major drawbacks: 
    217227it makes no sense for locally unstable stratification and the computation no longer uses all 
    218228the 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, 
     229To overcome these drawbacks, \citet{madec.delecluse.ea_NPM98} introduces the \np[=2, 3]{nn_mxl}{nn\_mxl} cases, 
    220230which 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: 
     231So, the length scales are first evaluated as in \autoref{eq:ZDF_tke_mxl0_1} and then bounded such that: 
    222232\begin{equation} 
    223   \label{eq:tke_mxl_constraint} 
     233  \label{eq:ZDF_tke_mxl_constraint} 
    224234  \frac{1}{e_3 }\left| {\frac{\partial l}{\partial k}} \right| \leq 1 
    225235  \qquad \text{with }\  l =  l_k = l_\epsilon 
    226236\end{equation} 
    227 \autoref{eq:tke_mxl_constraint} means that the vertical variations of the length scale cannot be larger than 
     237\autoref{eq:ZDF_tke_mxl_constraint} means that the vertical variations of the length scale cannot be larger than 
    228238the variations of depth. 
    229239It provides a better approximation of the \citet{gaspar.gregoris.ea_JGR90} formulation while being much less 
     
    231241In particular, it allows the length scale to be limited not only by the distance to the surface or 
    232242to 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: 
     243the thermocline (\autoref{fig:ZDF_mixing_length}). 
     244In order to impose the \autoref{eq:ZDF_tke_mxl_constraint} constraint, we introduce two additional length scales: 
    235245$l_{up}$ and $l_{dwn}$, the upward and downward length scales, and 
    236246evaluate the dissipation and mixing length scales as 
    237247(and note that here we use numerical indexing): 
    238 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    239248\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} 
     249  \centering 
     250  \includegraphics[width=0.66\textwidth]{Fig_mixing_length} 
     251  \caption[Mixing length computation]{Illustration of the mixing length computation} 
     252  \label{fig:ZDF_mixing_length} 
    247253\end{figure} 
    248 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    249 \[ 
    250   % \label{eq:tke_mxl2} 
     254\[ 
     255  % \label{eq:ZDF_tke_mxl2} 
    251256  \begin{aligned} 
    252257    l_{up\ \ }^{(k)} &= \min \left(  l^{(k)} \ , \ l_{up}^{(k+1)} + e_{3t}^{(k)}\ \ \ \;  \right) 
     
    256261  \end{aligned} 
    257262\] 
    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, 
     263where $l^{(k)}$ is computed using \autoref{eq:ZDF_tke_mxl0_1}, \ie\ $l^{(k)} = \sqrt {2 {\bar e}^{(k)} / {N^2}^{(k)} }$. 
     264 
     265In the \np[=2]{nn_mxl}{nn\_mxl} case, the dissipation and mixing length scales take the same value: 
     266$ l_k=  l_\epsilon = \min \left(\ l_{up} \;,\;  l_{dwn}\ \right)$, while in the \np[=3]{nn_mxl}{nn\_mxl} case, 
    262267the dissipation and mixing turbulent length scales are give as in \citet{gaspar.gregoris.ea_JGR90}: 
    263268\[ 
    264   % \label{eq:tke_mxl_gaspar} 
     269  % \label{eq:ZDF_tke_mxl_gaspar} 
    265270  \begin{aligned} 
    266271    & l_k          = \sqrt{\  l_{up} \ \ l_{dwn}\ }   \\ 
     
    269274\] 
    270275 
    271 At the ocean surface, a non zero length scale is set through the  \np{rn\_mxl0} namelist parameter. 
     276At the ocean surface, a non zero length scale is set through the  \np{rn_mxl0}{rn\_mxl0} namelist parameter. 
    272277Usually the surface scale is given by $l_o = \kappa \,z_o$ where $\kappa = 0.4$ is von Karman's constant and 
    273278$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}. 
     279Assuming $z_o=0.1$~m \citep{craig.banner_JPO94} leads to a 0.04~m, the default value of \np{rn_mxl0}{rn\_mxl0}. 
    275280In the ocean interior a minimum length scale is set to recover the molecular viscosity when 
    276281$\bar{e}$ reach its minimum value ($1.10^{-6}= C_k\, l_{min} \,\sqrt{\bar{e}_{min}}$ ). 
    277282 
     283%% ================================================================================================= 
    278284\subsubsection{Surface wave breaking parameterization} 
    279 %-----------------------------------------------------------------------% 
    280285 
    281286Following \citet{mellor.blumberg_JPO04}, the TKE turbulence closure model has been modified to 
     
    303308$\alpha_{CB} = 100$ the Craig and Banner's value. 
    304309As 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 
     310with $e_{bb}$ the \np{rn_ebb}{rn\_ebb} namelist parameter, setting \np[=67.83]{rn_ebb}{rn\_ebb} corresponds 
    306311to $\alpha_{CB} = 100$. 
    307 Further setting  \np{ln\_mxl0}\forcode{ =.true.},  applies \autoref{eq:ZDF_Lsbc} as the surface boundary condition on the length scale, 
     312Further setting  \np[=.true.]{ln_mxl0}{ln\_mxl0},  applies \autoref{eq:ZDF_Lsbc} as the surface boundary condition on the length scale, 
    308313with $\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 
     314Note that a minimal threshold of \np{rn_emin0}{rn\_emin0}$=10^{-4}~m^2.s^{-2}$ (namelist parameters) is applied on the 
    310315surface $\bar{e}$ value. 
    311316 
     317%% ================================================================================================= 
    312318\subsubsection{Langmuir cells} 
    313 %--------------------------------------% 
    314319 
    315320Langmuir circulations (LC) can be described as ordered large-scale vertical motions in 
     
    325330The parameterization, tuned against large-eddy simulation, includes the whole effect of LC in 
    326331an 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 \nam{zdf\_tke} namelist. 
     332The presence of $P_{LC}$ in \autoref{eq:ZDF_tke_e}, the TKE equation, is controlled by setting \np{ln_lc}{ln\_lc} to 
     333\forcode{.true.} in the \nam{zdf_tke}{zdf\_tke} namelist. 
    329334 
    330335By making an analogy with the characteristic convective velocity scale (\eg, \citet{dalessio.abdella.ea_JPO98}), 
     
    354359where $c_{LC} = 0.15$ has been chosen by \citep{axell_JGR02} as a good compromise to fit LES data. 
    355360The 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, 
     361The value of $c_{LC}$ is set through the \np{rn_lc}{rn\_lc} namelist parameter, 
    357362having in mind that it should stay between 0.15 and 0.54 \citep{axell_JGR02}. 
    358363 
     
    364369\] 
    365370 
     371%% ================================================================================================= 
    366372\subsubsection{Mixing just below the mixed layer} 
    367 %--------------------------------------------------------------% 
    368373 
    369374Vertical mixing parameterizations commonly used in ocean general circulation models tend to 
     
    376381(\ie\ near-inertial oscillations and ocean swells and waves). 
    377382 
    378 When using this parameterization (\ie\ when \np{nn\_etau}\forcode{ = 1}), 
     383When using this parameterization (\ie\ when \np[=1]{nn_etau}{nn\_etau}), 
    379384the TKE input to the ocean ($S$) imposed by the winds in the form of near-inertial oscillations, 
    380385swell and waves is parameterized by \autoref{eq:ZDF_Esbc} the standard TKE surface boundary condition, 
     
    388393the penetration, and $f_i$ is the ice concentration 
    389394(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 
     395The value of $f_r$, usually a few percents, is specified through \np{rn_efr}{rn\_efr} namelist parameter. 
     396The vertical mixing length scale, $h_\tau$, can be set as a 10~m uniform value (\np[=0]{nn_etau}{nn\_etau}) or 
    392397a 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}. 
     398(\np[=1]{nn_etau}{nn\_etau}). 
     399 
     400Note that two other option exist, \np[=2, 3]{nn_etau}{nn\_etau}. 
    396401They correspond to applying \autoref{eq:ZDF_Ehtau} only at the base of the mixed layer, 
    397402or to using the high frequency part of the stress to evaluate the fraction of TKE that penetrates the ocean. 
     
    400405 
    401406% 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. 
     407In presence of Sea Ice, the value of this mixing can be modulated by the \np{rn_eice}{rn\_eice} namelist parameter. 
    403408This parameter varies from \forcode{0} for no effect to \forcode{4} to suppress the TKE input into the ocean when Sea Ice concentration 
    404409is greater than 25\%. 
     
    412417% (\eg\ Mellor, 1989; Large et al., 1994; Meier, 2001; Axell, 2002; St. Laurent and Garrett, 2002). 
    413418 
    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.})} 
     419%% ================================================================================================= 
     420\subsection[GLS: Generic Length Scale (\forcode{ln_zdfgls})]{GLS: Generic Length Scale (\protect\np{ln_zdfgls}{ln\_zdfgls})} 
    419421\label{subsec:ZDF_gls} 
    420422 
    421 %--------------------------------------------namzdf_gls--------------------------------------------------------- 
    422  
    423 \nlst{namzdf_gls} 
    424 %-------------------------------------------------------------------------------------------------------------- 
     423\begin{listing} 
     424  \nlst{namzdf_gls} 
     425  \caption{\forcode{&namzdf_gls}} 
     426  \label{lst:namzdf_gls} 
     427\end{listing} 
    425428 
    426429The Generic Length Scale (GLS) scheme is a turbulent closure scheme based on two prognostic equations: 
     
    428431$\psi$ \citep{umlauf.burchard_JMR03, umlauf.burchard_CSR05}. 
    429432This 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 
     433where the triplet $(p, m, n)$ value given in Tab.\autoref{tab:ZDF_GLS} allows to recover a number of 
    431434well-known turbulent closures ($k$-$kl$ \citep{mellor.yamada_RG82}, $k$-$\epsilon$ \citep{rodi_JGR87}, 
    432435$k$-$\omega$ \citep{wilcox_AJ88} among others \citep{umlauf.burchard_JMR03,kantha.carniel_JMR03}). 
    433436The GLS scheme is given by the following set of equations: 
    434437\begin{equation} 
    435   \label{eq:zdfgls_e} 
     438  \label{eq:ZDF_gls_e} 
    436439  \frac{\partial \bar{e}}{\partial t} = 
    437440  \frac{K_m}{\sigma_e e_3 }\;\left[ {\left( \frac{\partial u}{\partial k} \right)^2 
     
    443446 
    444447\[ 
    445   % \label{eq:zdfgls_psi} 
     448  % \label{eq:ZDF_gls_psi} 
    446449  \begin{split} 
    447450    \frac{\partial \psi}{\partial t} =& \frac{\psi}{\bar{e}} \left\{ 
     
    455458 
    456459\[ 
    457   % \label{eq:zdfgls_kz} 
     460  % \label{eq:ZDF_gls_kz} 
    458461  \begin{split} 
    459462    K_m    &= C_{\mu} \ \sqrt {\bar{e}} \ l         \\ 
     
    463466 
    464467\[ 
    465   % \label{eq:zdfgls_eps} 
     468  % \label{eq:ZDF_gls_eps} 
    466469  {\epsilon} = C_{0\mu} \,\frac{\bar {e}^{3/2}}{l} \; 
    467470\] 
     
    470473The constants $C_1$, $C_2$, $C_3$, ${\sigma_e}$, ${\sigma_{\psi}}$ and the wall function ($Fw$) depends of 
    471474the 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-------------------------------------------------- 
     475Four different turbulent models are pre-defined (\autoref{tab:ZDF_GLS}). 
     476They are made available through the \np{nn_clo}{nn\_clo} namelist parameter. 
     477 
    476478\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\nam{zdf\_gls}. 
    500     } 
    501   \end{center} 
     479  \centering 
     480  % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}cp{70pt}c} 
     481  \begin{tabular}{ccccc} 
     482    &   $k-kl$   & $k-\epsilon$ & $k-\omega$ &   generic   \\ 
     483    % & \citep{mellor.yamada_RG82} &  \citep{rodi_JGR87}       & \citep{wilcox_AJ88} &                 \\ 
     484    \hline 
     485    \hline 
     486    \np{nn_clo}{nn\_clo}     & \textbf{0} &   \textbf{1}  &   \textbf{2}   &    \textbf{3}   \\ 
     487    \hline 
     488    $( p , n , m )$         &   ( 0 , 1 , 1 )   & ( 3 , 1.5 , -1 )   & ( -1 , 0.5 , -1 )    &  ( 2 , 1 , -0.67 )  \\ 
     489    $\sigma_k$      &    2.44         &     1.              &      2.                &      0.8          \\ 
     490    $\sigma_\psi$  &    2.44         &     1.3            &      2.                 &       1.07       \\ 
     491    $C_1$              &      0.9         &     1.44          &      0.555          &       1.           \\ 
     492    $C_2$              &      0.5         &     1.92          &      0.833          &       1.22       \\ 
     493    $C_3$              &      1.           &     1.              &      1.                &       1.           \\ 
     494    $F_{wall}$        &      Yes        &       --             &     --                  &      --          \\ 
     495    \hline 
     496    \hline 
     497  \end{tabular} 
     498  \caption[Set of predefined GLS parameters or equivalently predefined turbulence models available]{ 
     499    Set of predefined GLS parameters, or equivalently predefined turbulence models available with 
     500    \protect\np[=.true.]{ln_zdfgls}{ln\_zdfgls} and controlled by 
     501    the \protect\np{nn_clos}{nn\_clos} namelist variable in \protect\nam{zdf_gls}{zdf\_gls}.} 
     502  \label{tab:ZDF_GLS} 
    502503\end{table} 
    503 %-------------------------------------------------------------------------------------------------------------- 
    504504 
    505505In the Mellor-Yamada model, the negativity of $n$ allows to use a wall function to force the convergence of 
     
    508508$C_{\mu}$ and $C_{\mu'}$ are calculated from stability function proposed by \citet{galperin.kantha.ea_JAS88}, 
    509509or 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.). 
     510(\np[=0, 3]{nn_stab_func}{nn\_stab\_func}, resp.). 
    511511The value of $C_{0\mu}$ depends on the choice of the stability function. 
    512512 
    513513The 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. 
     514Neumann condition through \np{nn_bc_surf}{nn\_bc\_surf} and \np{nn_bc_bot}{nn\_bc\_bot}, resp. 
    515515As 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}. 
     516\np[ > 0.]{rn_crban}{rn\_crban} \citep{craig.banner_JPO94, mellor.blumberg_JPO04}. 
     517The \np{rn_crban}{rn\_crban} namelist parameter is $\alpha_{CB}$ in \autoref{eq:ZDF_Esbc} and 
     518\np{rn_charn}{rn\_charn} provides the value of $\beta$ in \autoref{eq:ZDF_Lsbc}. 
    519519 
    520520The $\psi$ equation is known to fail in stably stratified flows, and for this reason 
     
    525525the entrainment depth predicted in stably stratified situations, 
    526526and 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. 
     527The clipping is only activated if \np[=.true.]{ln_length_lim}{ln\_length\_lim}, 
     528and the $c_{lim}$ is set to the \np{rn_clim_galp}{rn\_clim\_galp} value. 
    529529 
    530530The time and space discretization of the GLS equations follows the same energetic consideration as for 
     
    533533 in \citet{reffray.guillaume.ea_GMD15} for the \NEMO\ model. 
    534534 
    535  
    536535% ------------------------------------------------------------------------------------------------------------- 
    537 %        OSM OSMOSIS BL Scheme 
     536%        OSM OSMOSIS BL Scheme  
    538537% ------------------------------------------------------------------------------------------------------------- 
    539 \subsection[OSM: OSMosis boundary layer scheme (\forcode{ln_zdfosm = .true.})] 
    540 {OSM: OSMosis boundary layer scheme (\protect\np{ln\_zdfosm}\forcode{ = .true.})} 
     538\subsection[OSM: OSMOSIS boundary layer scheme (\forcode{ln_zdfosm = .true.})] 
     539{OSM: OSMOSIS boundary layer scheme (\protect\np{ln_zdfosm}{ln\_zdfosm})} 
    541540\label{subsec:ZDF_osm} 
    542 %--------------------------------------------namzdf_osm--------------------------------------------------------- 
    543  
    544 \nlst{namzdf_osm} 
     541 
     542\begin{listing} 
     543  \nlst{namzdf_osm} 
     544  \caption{\forcode{&namzdf_osm}} 
     545  \label{lst:namzdf_osm} 
     546\end{listing} 
     547 
    545548%-------------------------------------------------------------------------------------------------------------- 
    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 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     549\paragraph{Namelist choices} 
     550Most of the namelist options refer to how to specify the Stokes 
     551surface drift and penetration depth. There are three options: 
     552\begin{description} 
     553  \item \protect\np[=0]{nn_osm_wave}{nn\_osm\_wave} Default value in \texttt{namelist\_ref}. In this case the Stokes drift is 
     554      assumed to be parallel to the surface wind stress, with 
     555      magnitude consistent with a constant turbulent Langmuir number 
     556    $\mathrm{La}_t=$ \protect\np{rn_m_la} {rn\_m\_la} i.e.\ 
     557    $u_{s0}=\tau/(\mathrm{La}_t^2\rho_0)$.  Default value of 
     558    \protect\np{rn_m_la}{rn\_m\_la} is 0.3. The Stokes penetration 
     559      depth $\delta = $ \protect\np{rn_osm_dstokes}{rn\_osm\_dstokes}; this has default value 
     560      of 5~m. 
     561  
     562  \item \protect\np[=1]{nn_osm_wave}{nn\_osm\_wave} In this case the Stokes drift is 
     563      assumed to be parallel to the surface wind stress, with 
     564      magnitude as in the classical Pierson-Moskowitz wind-sea 
     565      spectrum.  Significant wave height and 
     566      wave-mean period taken from this spectrum are used to calculate the Stokes penetration 
     567      depth, following the approach set out in  \citet{breivik.janssen.ea_JPO14}. 
     568  
     569    \item \protect\np[=2]{nn_osm_wave}{nn\_osm\_wave} In this case the Stokes drift is 
     570      taken from  ECMWF wave model output, though only the component parallel 
     571      to the wind stress is retained. Significant wave height and 
     572      wave-mean period from ECMWF wave model output are used to calculate the Stokes penetration 
     573      depth, again following \citet{breivik.janssen.ea_JPO14}. 
     574 
     575    \end{description} 
     576 
     577    Others refer to the treatment of diffusion and viscosity beneath 
     578    the surface boundary layer: 
     579\begin{description} 
     580   \item \protect\np{ln_kpprimix} {ln\_kpprimix}  Default is \np{.true.}. Switches on KPP-style Ri \#-dependent 
     581     mixing below the surface boundary layer. If this is set 
     582     \texttt{.true.}  the following variable settings are honoured: 
     583    \item \protect\np{rn_riinfty}{rn\_riinfty} Critical value of local Ri \# below which 
     584      shear instability increases vertical mixing from background value. 
     585    \item \protect\np{rn_difri} {rn\_difri} Maximum value of Ri \#-dependent mixing at $\mathrm{Ri}=0$. 
     586    \item \protect\np{ln_convmix}{ln\_convmix} If \texttt{.true.} then, where water column is unstable, specify 
     587       diffusivity equal to \protect\np{rn_dif_conv}{rn\_dif\_conv} (default value is 1 m~s$^{-2}$).  
     588 \end{description} 
     589 Diagnostic output is controlled by: 
     590  \begin{description} 
     591    \item \protect\np{ln_dia_osm}{ln\_dia\_osm} Default is \np{.false.}; allows XIOS output of OSMOSIS internal fields. 
     592  \end{description} 
     593Obsolete namelist parameters include: 
     594\begin{description} 
     595   \item \protect\np{ln_use_osm_la}\np{ln\_use\_osm\_la} With \protect\np[=0]{nn_osm_wave}{nn\_osm\_wave}, 
     596      \protect\np{rn_osm_dstokes} {rn\_osm\_dstokes} is always used to specify the Stokes 
     597      penetration depth. 
     598   \item \protect\np{nn_ave} {nn\_ave} Choice of averaging method for KPP-style Ri \# 
     599      mixing. Not taken account of. 
     600   \item \protect\np{rn_osm_hbl0} {rn\_osm\_hbl0} Depth of initial boundary layer is now set 
     601     by a density criterion similar to that used in calculating \emph{hmlp} (output as \texttt{mldr10\_1}) in \mdl{zdfmxl}. 
     602\end{description} 
     603 
     604\subsubsection{Summary} 
     605Much of the time the turbulent motions in the ocean surface boundary 
     606layer (OSBL) are not given by 
     607classical shear turbulence. Instead they are in a regime known as 
     608`Langmuir turbulence',  dominated by an 
     609interaction between the currents and the Stokes drift of the surface waves \citep[e.g.][]{mcwilliams.ea_JFM97}. 
     610This 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$. 
     611 
     612The OSMOSIS model is fundamentally based on results of Large Eddy 
     613Simulations (LES) of Langmuir turbulence and aims to fully describe 
     614this Langmuir regime. The description in this section is of necessity incomplete and further details are available in Grant. A (2019); in prep. 
     615 
     616The OSMOSIS turbulent closure scheme is a similarity-scale scheme in 
     617the same spirit as the K-profile 
     618parameterization (KPP) scheme of \citet{large.ea_RG97}. 
     619A specified shape of diffusivity, scaled by the (OSBL) depth 
     620$h_{\mathrm{BL}}$ and a turbulent velocity scale, is imposed throughout the  
     621boundary layer 
     622$-h_{\mathrm{BL}}<z<\eta$. The turbulent closure model 
     623also includes fluxes of tracers and momentum that are``non-local'' (independent of the local property gradient). 
     624 
     625Rather than the OSBL 
     626depth being diagnosed in terms of a bulk Richardson number criterion, 
     627as in KPP, it is set by a prognostic equation that is informed by 
     628energy budget considerations reminiscent of the classical mixed layer 
     629models of \citet{kraus.turner_tellus67}.  
     630The model also includes an explicit parametrization of the structure 
     631of the pycnocline (the stratified region at the bottom of the OSBL). 
     632 
     633Presently, mixing below the OSBL is handled by the Richardson 
     634number-dependent mixing scheme used in \citet{large.ea_RG97}. 
     635 
     636Convective parameterizations such as described in \ref{sec:ZDF_conv} 
     637below should not be used with the OSMOSIS-OBL model: instabilities 
     638within the OSBL are part of the model, while instabilities below the 
     639ML are handled by the Ri \# dependent scheme. 
     640 
     641\subsubsection{Depth and velocity scales} 
     642The 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). 
    557643\begin{figure}[!t] 
    558644  \begin{center} 
    559     \includegraphics[width=\textwidth]{Fig_ZDF_TKE_time_scheme} 
     645    \includegraphics[width=0.7\textwidth]{Fig_ZDF_OSM_structure_of_OSBL} 
    560646    \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. 
     647      \protect\label{fig: OSBL_structure} 
     648     The structure of the entraining  boundary layer. (a) Mean buoyancy profile. (b) Profile of the buoyancy flux. 
    563649    } 
    564650  \end{center} 
    565651\end{figure} 
    566 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     652The 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. 
     653 
     654Consideration of the power input by wind acting on the Stokes drift suggests that the Langmuir turbulence has velocity scale: 
     655\begin{equation}\label{eq:w_La} 
     656w_{*L}= \left(u_*^2 u_{s\,0}\right)^{1/3}; 
     657\end{equation}  
     658but 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: 
     659\begin{equation}\label{eq:composite-nu} 
     660  \nu_{\ast}= \left\{ u_*^3 \left[1-\exp(-.5 \mathrm{La}_t^2)\right]+w_{*L}^3\right\}^{1/3}. 
     661\end{equation} 
     662For 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: 
     663\begin{equation}\label{eq:vel-scale-unstable} 
     664\omega_* = \left(\nu_*^3 + 0.5 w_{*C}^3\right)^{1/3}. 
     665\end{equation} 
     666 
     667\subsubsection{The flux gradient model} 
     668The flux-gradient relationships used in the OSMOSIS scheme take the form: 
     669% 
     670\begin{equation}\label{eq:flux-grad-gen} 
     671\overline{w^\prime\chi^\prime}=-K\frac{\partial\overline{\chi}}{\partial z} + N_{\chi,s} +N_{\chi,b} +N_{\chi,t}, 
     672\end{equation} 
     673% 
     674where $\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. 
     675 
     676In terms of the non-dimensionalized depth variables 
     677% 
     678\begin{equation}\label{eq:sigma} 
     679\sigma_{\mathrm{ml}}= -z/h_{\mathrm{ml}}; \;\sigma_{\mathrm{bl}}= -z/h_{\mathrm{bl}}, 
     680\end{equation} 
     681% 
     682in unstable conditions the eddy diffusivity ($K_d$) and eddy viscosity ($K_\nu$) profiles are parametrized as: 
     683% 
     684\begin{align}\label{eq:diff-unstable} 
     685K_d=&0.8\, \omega_*\, h_{\mathrm{ml}} \, \sigma_{\mathrm{ml}} \left(1-\beta_d \sigma_{\mathrm{ml}}\right)^{3/2} 
     686\\\label{eq:visc-unstable} 
     687K_\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) 
     688\end{align} 
     689% 
     690where $\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 
     691% 
     692\begin{equation}\label{eq:diff-wml-base}  
     693K_{d,\mathrm{ml}}=K_{\nu,\mathrm{ml}}=\,0.16\,\omega_* \Delta h. 
     694\end{equation} 
     695% 
     696For stable conditions the eddy diffusivity/viscosity profiles are given by: 
     697% 
     698\begin{align}\label{diff-stable} 
     699K_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} 
     700K_\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). 
     701\end{align} 
     702% 
     703The 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: 
     704\begin{equation}\label{eq:L_L}  
     705  L_L=-w_{*L}^3/\left<\overline{w^\prime b^\prime}\right>_L, 
     706\end{equation} 
     707with 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 
     708\begin{equation} \label{eq:stable-av-buoy-flux} 
     709\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]. 
     710\end{equation} 
     711% 
     712In 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}$. 
     713 
     714Details 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). 
     715 
     716\subsubsection{Evolution of the boundary layer depth} 
     717 
     718The prognostic equation for the depth of the neutral/unstable boundary layer is given by \citep{grant+etal18}, 
     719 
     720\begin{equation} \label{eq:dhdt-unstable} 
     721%\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}} 
     722\frac{\partial h_\mathrm{bl}}{\partial t} = W_b - \frac{{\overline{w^\prime b^\prime}}_\mathrm{ent}}{\Delta B_\mathrm{bl}} 
     723\end{equation} 
     724where $h_\mathrm{bl}$ is the horizontally-varying depth of the OSBL, 
     725$\mathbf{U}_b$ and $W_b$ are the mean horizontal and vertical 
     726velocities at the base of the OSBL, ${\overline{w^\prime 
     727    b^\prime}}_\mathrm{ent}$ is the buoyancy flux due to entrainment 
     728and $\Delta B_\mathrm{bl}$ is the difference between the buoyancy 
     729averaged over the depth of the OSBL (i.e.\ including the ML and 
     730pycnocline) and the buoyancy just below the base of the OSBL. This 
     731equation for the case when the pycnocline has a finite thickness, 
     732based on the potential energy budget of the OSBL, is the leading term 
     733\citep{grant+etal18} of a generalization of that used in mixed-layer 
     734models e.g.\ \citet{kraus.turner_tellus67}, in which the thickness of the pycnocline is taken to be zero. 
     735 
     736The entrainment flux for the combination of convective and Langmuir turbulence is given by 
     737\begin{equation} \label{eq:entrain-flux} 
     738  {\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}}} 
     739  + 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] 
     740\end{equation} 
     741where 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}$. 
     742 
     743For the stable boundary layer, the equation for the depth of the OSBL is: 
     744 
     745\begin{equation}\label{eq:dhdt-stable} 
     746\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. 
     747\end{equation}  
     748 
     749Equation. \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. 
     750 
     751 
     752%% ================================================================================================= 
     753\subsection[ Discrete energy conservation for TKE and GLS schemes]{Discrete energy conservation for TKE and GLS schemes} 
     754\label{subsec:ZDF_tke_ene} 
     755 
     756\begin{figure}[!t] 
     757  \centering 
     758  \includegraphics[width=0.66\textwidth]{Fig_ZDF_TKE_time_scheme} 
     759  \caption[Subgrid kinetic energy integration in GLS and TKE schemes]{ 
     760    Illustration of the subgrid kinetic energy integration in GLS and TKE schemes and 
     761    its links to the momentum and tracer time integration.} 
     762  \label{fig:ZDF_TKE_time_scheme} 
     763\end{figure} 
    567764 
    568765The 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}). 
     766\autoref{eq:ZDF_tke_e}) and  \autoref{eq:ZDF_gls_e}) should balance the loss of kinetic energy associated with the vertical momentum diffusion 
     767(first line in \autoref{eq:MB_zdf}). 
    571768To do so a special care has to be taken for both the time and space discretization of 
    572769the kinetic energy equation \citep{burchard_OM02,marsaleix.auclair.ea_OM08}. 
    573770 
    574 Let us first address the time stepping issue. \autoref{fig:TKE_time_scheme} shows how 
     771Let us first address the time stepping issue. \autoref{fig:ZDF_TKE_time_scheme} shows how 
    575772the two-level Leap-Frog time stepping of the momentum and tracer equations interplays with 
    576773the one-level forward time stepping of the equation for $\bar{e}$. 
     
    579776summing the result vertically: 
    580777\begin{equation} 
    581   \label{eq:energ1} 
     778  \label{eq:ZDF_energ1} 
    582779  \begin{split} 
    583780    \int_{-H}^{\eta}  u^t \,\partial_z &\left( {K_m}^t \,(\partial_z u)^{t+\rdt}  \right) \,dz   \\ 
     
    587784\end{equation} 
    588785Here, 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 
     786known at time $t$ (\autoref{fig:ZDF_TKE_time_scheme}), as it is required when using the TKE scheme 
     787(see \autoref{sec:TD_forward_imp}). 
     788The first term of the right hand side of \autoref{eq:ZDF_energ1} represents the kinetic energy transfer at 
    592789the surface (atmospheric forcing) and at the bottom (friction effect). 
    593790The second term is always negative. 
    594791It 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, 
     792\autoref{eq:ZDF_energ1} implies that, to be energetically consistent, 
    596793the production rate of $\bar{e}$ used to compute $(\bar{e})^t$ (and thus ${K_m}^t$) should be expressed as 
    597794${K_m}^{t-\rdt}\,(\partial_z u)^{t-\rdt} \,(\partial_z u)^t$ 
     
    599796 
    600797A 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}). 
     798(second term of the right hand side of \autoref{eq:ZDF_tke_e} and \autoref{eq:ZDF_gls_e}). 
    602799This term must balance the input of potential energy resulting from vertical mixing. 
    603800The rate of change of potential energy (in 1D for the demonstration) due to vertical mixing is obtained by 
    604801multiplying the vertical density diffusion tendency by $g\,z$ and and summing the result vertically: 
    605802\begin{equation} 
    606   \label{eq:energ2} 
     803  \label{eq:ZDF_energ2} 
    607804  \begin{split} 
    608805    \int_{-H}^{\eta} g\,z\,\partial_z &\left( {K_\rho}^t \,(\partial_k \rho)^{t+\rdt}   \right) \,dz    \\ 
     
    614811\end{equation} 
    615812where 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 
     813The first term of the right hand side of \autoref{eq:ZDF_energ2} is always zero because 
    617814there is no diffusive flux through the ocean surface and bottom). 
    618815The 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}. 
     816Therefore \autoref{eq:ZDF_energ1} implies that, to be energetically consistent, 
     817the product ${K_\rho}^{t-\rdt}\,(N^2)^t$ should be used in \autoref{eq:ZDF_tke_e} and  \autoref{eq:ZDF_gls_e}. 
    621818 
    622819Let us now address the space discretization issue. 
    623820The 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}). 
     821the centre of the side faces of a $t$-box in staggered C-grid (\autoref{fig:DOM_cell}). 
    625822A 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 
     823By redoing the \autoref{eq:ZDF_energ1} in the 3D case, it can be shown that the product of eddy coefficient by 
    627824the shear at $t$ and $t-\rdt$ must be performed prior to the averaging. 
    628825Furthermore, the time variation of $e_3$ has be taken into account. 
     
    630827The above energetic considerations leads to the following final discrete form for the TKE equation: 
    631828\begin{equation} 
    632   \label{eq:zdftke_ene} 
     829  \label{eq:ZDF_tke_ene} 
    633830  \begin{split} 
    634831    \frac { (\bar{e})^t - (\bar{e})^{t-\rdt} } {\rdt}  \equiv 
     
    647844  \end{split} 
    648845\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}). 
     846where the last two terms in \autoref{eq:ZDF_tke_ene} (vertical diffusion and Kolmogorov dissipation) 
     847are time stepped using a backward scheme (see\autoref{sec:TD_forward_imp}). 
    651848Note that the Kolmogorov term has been linearized in time in order to render the implicit computation possible. 
    652849%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}. 
     850%they all appear in the right hand side of \autoref{eq:ZDF_tke_ene}. 
    654851%For the latter, it is in fact the ratio $\sqrt{\bar{e}}/l_\epsilon$ which is stored. 
    655852 
    656 % ================================================================ 
    657 % Convection 
    658 % ================================================================ 
     853%% ================================================================================================= 
    659854\section{Convection} 
    660855\label{sec:ZDF_conv} 
     
    667862or/and the use of a turbulent closure scheme. 
    668863 
    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.})} 
     864%% ================================================================================================= 
     865\subsection[Non-penetrative convective adjustment (\forcode{ln_tranpc})]{Non-penetrative convective adjustment (\protect\np{ln_tranpc}{ln\_tranpc})} 
    674866\label{subsec:ZDF_npc} 
    675867 
    676 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    677868\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} 
     869  \centering 
     870  \includegraphics[width=0.66\textwidth]{Fig_npc} 
     871  \caption[Unstable density profile treated by the non penetrative convective adjustment algorithm]{ 
     872    Example of an unstable density profile treated by 
     873    the non penetrative convective adjustment algorithm. 
     874    $1^{st}$ step: the initial profile is checked from the surface to the bottom. 
     875    It is found to be unstable between levels 3 and 4. 
     876    They are mixed. 
     877    The resulting $\rho$ is still larger than $\rho$(5): levels 3 to 5 are mixed. 
     878    The resulting $\rho$ is still larger than $\rho$(6): levels 3 to 6 are mixed. 
     879    The $1^{st}$ step ends since the density profile is then stable below the level 3. 
     880    $2^{nd}$ step: the new $\rho$ profile is checked following the same procedure as in $1^{st}$ step: 
     881    levels 2 to 5 are mixed. 
     882    The new density profile is checked. 
     883    It is found stable: end of algorithm.} 
     884  \label{fig:ZDF_npc} 
    695885\end{figure} 
    696 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    697  
    698 Options are defined through the \nam{zdf} 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 
     886 
     887Options are defined through the \nam{zdf}{zdf} namelist variables. 
     888The non-penetrative convective adjustment is used when \np[=.true.]{ln_zdfnpc}{ln\_zdfnpc}. 
     889It is applied at each \np{nn_npc}{nn\_npc} time step and mixes downwards instantaneously the statically unstable portion of 
    701890the water column, but only until the density structure becomes neutrally stable 
    702891(\ie\ until the mixed portion of the water column has \textit{exactly} the density of the water just below) 
    703892\citep{madec.delecluse.ea_JPO91}. 
    704 The associated algorithm is an iterative process used in the following way (\autoref{fig:npc}): 
     893The associated algorithm is an iterative process used in the following way (\autoref{fig:ZDF_npc}): 
    705894starting from the top of the ocean, the first instability is found. 
    706895Assume in the following that the instability is located between levels $k$ and $k+1$. 
     
    734923having to recompute the expansion coefficients at each mixing iteration. 
    735924 
    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.})} 
     925%% ================================================================================================= 
     926\subsection[Enhanced vertical diffusion (\forcode{ln_zdfevd})]{Enhanced vertical diffusion (\protect\np{ln_zdfevd}{ln\_zdfevd})} 
    741927\label{subsec:ZDF_evd} 
    742928 
    743 Options are defined through the  \nam{zdf} namelist variables. 
    744 The enhanced vertical diffusion parameterisation is used when \np{ln\_zdfevd}\forcode{ = .true.}. 
     929Options are defined through the  \nam{zdf}{zdf} namelist variables. 
     930The enhanced vertical diffusion parameterisation is used when \np[=.true.]{ln_zdfevd}{ln\_zdfevd}. 
    745931In this case, the vertical eddy mixing coefficients are assigned very large values 
    746932in regions where the stratification is unstable 
    747933(\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}, 
     934This is done either on tracers only (\np[=0]{nn_evdm}{nn\_evdm}) or 
     935on both momentum and tracers (\np[=1]{nn_evdm}{nn\_evdm}). 
     936 
     937In practice, where $N^2\leq 10^{-12}$, $A_T^{vT}$ and $A_T^{vS}$, and if \np[=1]{nn_evdm}{nn\_evdm}, 
    752938the four neighbouring $A_u^{vm} \;\mbox{and}\;A_v^{vm}$ values also, are set equal to 
    753 the namelist parameter \np{rn\_avevd}. 
     939the namelist parameter \np{rn_avevd}{rn\_avevd}. 
    754940A typical value for $rn\_avevd$ is between 1 and $100~m^2.s^{-1}$. 
    755941This parameterisation of convective processes is less time consuming than 
     
    759945Note that the stability test is performed on both \textit{before} and \textit{now} values of $N^2$. 
    760946This 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.})} 
     947a leapfrog environment \citep{leclair_phd10} (see \autoref{sec:TD_mLF}). 
     948 
     949%% ================================================================================================= 
     950\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}})} 
    767951\label{subsec:ZDF_tcs} 
    768952 
    769  
    770953The turbulent closure schemes presented in \autoref{subsec:ZDF_tke}, \autoref{subsec:ZDF_gls} and 
    771 \autoref{subsec:ZDF_osm} (\ie\ \np{ln\_zdftke} or \np{ln\_zdfgls} or \np{ln\_zdfosm} defined) deal, in theory, 
     954\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, 
    772955with statically unstable density profiles. 
    773956In such a case, the term corresponding to the destruction of turbulent kinetic energy through stratification in 
    774 \autoref{eq:zdftke_e} or \autoref{eq:zdfgls_e} becomes a source term, since $N^2$ is negative. 
     957\autoref{eq:ZDF_tke_e} or \autoref{eq:ZDF_gls_e} becomes a source term, since $N^2$ is negative. 
    775958It results in large values of $A_T^{vT}$ and  $A_T^{vT}$, and also of the four neighboring values at 
    776959velocity points $A_u^{vm} {and}\;A_v^{vm}$ (up to $1\;m^2s^{-1}$). 
     
    781964because the mixing length scale is bounded by the distance to the sea surface. 
    782965It can thus be useful to combine the enhanced vertical diffusion with the turbulent closure scheme, 
    783 \ie\ setting the \np{ln\_zdfnpc} namelist parameter to true and 
    784 defining the turbulent closure (\np{ln\_zdftke} or \np{ln\_zdfgls} = \forcode{.true.}) all together. 
     966\ie\ setting the \np{ln_zdfnpc}{ln\_zdfnpc} namelist parameter to true and 
     967defining the turbulent closure (\np{ln_zdftke}{ln\_zdftke} or \np{ln_zdfgls}{ln\_zdfgls} = \forcode{.true.}) all together. 
    785968 
    786969The OSMOSIS turbulent closure scheme already includes enhanced vertical diffusion in the case of convection, 
    787970%as governed by the variables $bvsqcon$ and $difcon$ found in \mdl{zdfkpp}, 
    788 therefore \np{ln\_zdfevd}\forcode{ = .false.} should be used with the OSMOSIS scheme. 
     971therefore \np[=.false.]{ln_zdfevd}{ln\_zdfevd} should be used with the OSMOSIS scheme. 
    789972% gm%  + one word on non local flux with KPP scheme trakpp.F90 module... 
    790973 
    791 % ================================================================ 
    792 % Double Diffusion Mixing 
    793 % ================================================================ 
    794 \section[Double diffusion mixing (\forcode{ln_zdfddm = .true.})] 
    795 {Double diffusion mixing (\protect\np{ln\_zdfddm}\forcode{ = .true.})} 
     974%% ================================================================================================= 
     975\section[Double diffusion mixing (\forcode{ln_zdfddm})]{Double diffusion mixing (\protect\np{ln_zdfddm}{ln\_zdfddm})} 
    796976\label{subsec:ZDF_ddm} 
    797977 
    798  
    799 %-------------------------------------------namzdf_ddm------------------------------------------------- 
    800 % 
    801978%\nlst{namzdf_ddm} 
    802 %-------------------------------------------------------------------------------------------------------------- 
    803979 
    804980This parameterisation has been introduced in \mdl{zdfddm} module and is controlled by the namelist parameter 
    805 \np{ln\_zdfddm} in \nam{zdf}. 
     981\np{ln_zdfddm}{ln\_zdfddm} in \nam{zdf}{zdf}. 
    806982Double diffusion occurs when relatively warm, salty water overlies cooler, fresher water, or vice versa. 
    807983The former condition leads to salt fingering and the latter to diffusive convection. 
     
    811987temperature and salinity. 
    812988 
    813  
    814989Diapycnal mixing of S and T are described by diapycnal diffusion coefficients 
    815990\begin{align*} 
    816   % \label{eq:zdfddm_Kz} 
     991  % \label{eq:ZDF_ddm_Kz} 
    817992  &A^{vT} = A_o^{vT}+A_f^{vT}+A_d^{vT} \\ 
    818993  &A^{vS} = A_o^{vS}+A_f^{vS}+A_d^{vS} 
     
    8261001(1981): 
    8271002\begin{align} 
    828   \label{eq:zdfddm_f} 
     1003  \label{eq:ZDF_ddm_f} 
    8291004  A_f^{vS} &= 
    8301005             \begin{cases} 
     
    8321007               0                              &\text{otherwise} 
    8331008             \end{cases} 
    834   \\         \label{eq:zdfddm_f_T} 
     1009  \\         \label{eq:ZDF_ddm_f_T} 
    8351010  A_f^{vT} &= 0.7 \ A_f^{vS} / R_\rho 
    8361011\end{align} 
    8371012 
    838 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    8391013\begin{figure}[!t] 
    840   \begin{center} 
    841     \includegraphics[width=\textwidth]{Fig_zdfddm} 
    842     \caption{ 
    843       \protect\label{fig:zdfddm} 
    844       From \citet{merryfield.holloway.ea_JPO99} : 
    845       (a) Diapycnal diffusivities $A_f^{vT}$ and $A_f^{vS}$ for temperature and salt in regions of salt fingering. 
    846       Heavy curves denote $A^{\ast v} = 10^{-3}~m^2.s^{-1}$ and thin curves $A^{\ast v} = 10^{-4}~m^2.s^{-1}$; 
    847       (b) diapycnal diffusivities $A_d^{vT}$ and $A_d^{vS}$ for temperature and salt in regions of 
    848       diffusive convection. 
    849       Heavy curves denote the Federov parameterisation and thin curves the Kelley parameterisation. 
    850       The latter is not implemented in \NEMO. 
    851     } 
    852   \end{center} 
     1014  \centering 
     1015  \includegraphics[width=0.66\textwidth]{Fig_zdfddm} 
     1016  \caption[Diapycnal diffusivities for temperature and salt in regions of salt fingering and 
     1017  diffusive convection]{ 
     1018    From \citet{merryfield.holloway.ea_JPO99}: 
     1019    (a) Diapycnal diffusivities $A_f^{vT}$ and $A_f^{vS}$ for temperature and salt in 
     1020    regions of salt fingering. 
     1021    Heavy curves denote $A^{\ast v} = 10^{-3}~m^2.s^{-1}$ and 
     1022    thin curves $A^{\ast v} = 10^{-4}~m^2.s^{-1}$; 
     1023    (b) diapycnal diffusivities $A_d^{vT}$ and $A_d^{vS}$ for temperature and salt in 
     1024    regions of diffusive convection. 
     1025    Heavy curves denote the Federov parameterisation and thin curves the Kelley parameterisation. 
     1026    The latter is not implemented in \NEMO.} 
     1027  \label{fig:ZDF_ddm} 
    8531028\end{figure} 
    854 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    855  
    856 The factor 0.7 in \autoref{eq:zdfddm_f_T} reflects the measured ratio $\alpha F_T /\beta F_S \approx  0.7$ of 
     1029 
     1030The factor 0.7 in \autoref{eq:ZDF_ddm_f_T} reflects the measured ratio $\alpha F_T /\beta F_S \approx  0.7$ of 
    8571031buoyancy flux of heat to buoyancy flux of salt (\eg, \citet{mcdougall.taylor_JMR84}). 
    8581032Following  \citet{merryfield.holloway.ea_JPO99}, we adopt $R_c = 1.6$, $n = 6$, and $A^{\ast v} = 10^{-4}~m^2.s^{-1}$. 
     
    8611035Federov (1988) is used: 
    8621036\begin{align} 
    863   % \label{eq:zdfddm_d} 
     1037  % \label{eq:ZDF_ddm_d} 
    8641038  A_d^{vT} &= 
    8651039             \begin{cases} 
     
    8691043             \end{cases} 
    8701044                                       \nonumber \\ 
    871   \label{eq:zdfddm_d_S} 
     1045  \label{eq:ZDF_ddm_d_S} 
    8721046  A_d^{vS} &= 
    8731047             \begin{cases} 
     
    8781052\end{align} 
    8791053 
    880 The dependencies of \autoref{eq:zdfddm_f} to \autoref{eq:zdfddm_d_S} on $R_\rho$ are illustrated in 
    881 \autoref{fig:zdfddm}. 
     1054The dependencies of \autoref{eq:ZDF_ddm_f} to \autoref{eq:ZDF_ddm_d_S} on $R_\rho$ are illustrated in 
     1055\autoref{fig:ZDF_ddm}. 
    8821056Implementing this requires computing $R_\rho$ at each grid point on every time step. 
    8831057This is done in \mdl{eosbn2} at the same time as $N^2$ is computed. 
    8841058This avoids duplication in the computation of $\alpha$ and $\beta$ (which is usually quite expensive). 
    8851059 
    886 % ================================================================ 
    887 % Bottom Friction 
    888 % ================================================================ 
    889  \section[Bottom and top friction (\textit{zdfdrg.F90})] 
    890  {Bottom and top friction (\protect\mdl{zdfdrg})} 
    891  \label{sec:ZDF_drg} 
    892  
    893 %--------------------------------------------nambfr-------------------------------------------------------- 
    894 % 
    895 \nlst{namdrg} 
    896 \nlst{namdrg_top} 
    897 \nlst{namdrg_bot} 
    898  
    899 %-------------------------------------------------------------------------------------------------------------- 
    900  
    901 Options to define the top and bottom friction are defined through the \nam{drg} namelist variables. 
     1060%% ================================================================================================= 
     1061\section[Bottom and top friction (\textit{zdfdrg.F90})]{Bottom and top friction (\protect\mdl{zdfdrg})} 
     1062\label{sec:ZDF_drg} 
     1063 
     1064\begin{listing} 
     1065  \nlst{namdrg} 
     1066  \caption{\forcode{&namdrg}} 
     1067  \label{lst:namdrg} 
     1068\end{listing} 
     1069\begin{listing} 
     1070  \nlst{namdrg_top} 
     1071  \caption{\forcode{&namdrg_top}} 
     1072  \label{lst:namdrg_top} 
     1073\end{listing} 
     1074\begin{listing} 
     1075  \nlst{namdrg_bot} 
     1076  \caption{\forcode{&namdrg_bot}} 
     1077  \label{lst:namdrg_bot} 
     1078\end{listing} 
     1079 
     1080Options to define the top and bottom friction are defined through the \nam{drg}{drg} namelist variables. 
    9021081The bottom friction represents the friction generated by the bathymetry. 
    9031082The top friction represents the friction generated by the ice shelf/ocean interface. 
     
    9051084the description below considers mostly the bottom friction case, if not stated otherwise. 
    9061085 
    907  
    9081086Both the surface momentum flux (wind stress) and the bottom momentum flux (bottom friction) enter the equations as 
    9091087a condition on the vertical diffusive flux. 
    9101088For the bottom boundary layer, one has: 
    9111089 \[ 
    912    % \label{eq:zdfbfr_flux} 
     1090   % \label{eq:ZDF_bfr_flux} 
    9131091   A^{vm} \left( \partial {\textbf U}_h / \partial z \right) = {{\cal F}}_h^{\textbf U} 
    9141092 \] 
     
    9261104To illustrate this, consider the equation for $u$ at $k$, the last ocean level: 
    9271105\begin{equation} 
    928   \label{eq:zdfdrg_flux2} 
     1106  \label{eq:ZDF_drg_flux2} 
    9291107  \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}} 
    9301108\end{equation} 
     
    9461124 These coefficients are computed in \mdl{zdfdrg} and generally take the form $c_b^{\textbf U}$ where: 
    9471125\begin{equation} 
    948   \label{eq:zdfbfr_bdef} 
     1126  \label{eq:ZDF_bfr_bdef} 
    9491127  \frac{\partial {\textbf U_h}}{\partial t} = 
    9501128  - \frac{{\cal F}^{\textbf U}_{h}}{e_{3u}} = \frac{c_b^{\textbf U}}{e_{3u}} \;{\textbf U}_h^b 
     
    9531131Note 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. 
    9541132 
    955 % ------------------------------------------------------------------------------------------------------------- 
    956 %       Linear Bottom Friction 
    957 % ------------------------------------------------------------------------------------------------------------- 
    958  \subsection[Linear top/bottom friction (\forcode{ln_lin = .true.})] 
    959  {Linear top/bottom friction (\protect\np{ln\_lin}\forcode{ = .true.)}} 
    960  \label{subsec:ZDF_drg_linear} 
     1133%% ================================================================================================= 
     1134\subsection[Linear top/bottom friction (\forcode{ln_lin})]{Linear top/bottom friction (\protect\np{ln_lin}{ln\_lin})} 
     1135\label{subsec:ZDF_drg_linear} 
    9611136 
    9621137The linear friction parameterisation (including the special case of a free-slip condition) assumes that 
    9631138the friction is proportional to the interior velocity (\ie\ the velocity of the first/last model level): 
    9641139\[ 
    965   % \label{eq:zdfbfr_linear} 
     1140  % \label{eq:ZDF_bfr_linear} 
    9661141  {\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3} \; \frac{\partial \textbf{U}_h}{\partial k} = r \; \textbf{U}_h^b 
    9671142\] 
     
    9761151and assuming an ocean depth $H = 4000$~m, the resulting friction coefficient is $r = 4\;10^{-4}$~m\;s$^{-1}$. 
    9771152This is the default value used in \NEMO. It corresponds to a decay time scale of 115~days. 
    978 It can be changed by specifying \np{rn\_Uc0} (namelist parameter). 
    979  
    980  For the linear friction case the drag coefficient used in the general expression \autoref{eq:zdfbfr_bdef} is: 
    981 \[ 
    982   % \label{eq:zdfbfr_linbfr_b} 
     1153It can be changed by specifying \np{rn_Uc0}{rn\_Uc0} (namelist parameter). 
     1154 
     1155 For the linear friction case the drag coefficient used in the general expression \autoref{eq:ZDF_bfr_bdef} is: 
     1156\[ 
     1157  % \label{eq:ZDF_bfr_linbfr_b} 
    9831158    c_b^T = - r 
    9841159\] 
    985 When \np{ln\_lin} \forcode{= .true.}, the value of $r$ used is \np{rn\_Uc0}*\np{rn\_Cd0}. 
    986 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. 
     1160When \np[=.true.]{ln_lin}{ln\_lin}, the value of $r$ used is \np{rn_Uc0}{rn\_Uc0}*\np{rn_Cd0}{rn\_Cd0}. 
     1161Setting \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. 
    9871162 
    9881163These values are assigned in \mdl{zdfdrg}. 
    9891164Note that there is support for local enhancement of these values via an externally defined 2D mask array 
    990 (\np{ln\_boost}\forcode{ = .true.}) given in the \ifile{bfr\_coef} input NetCDF file. 
     1165(\np[=.true.]{ln_boost}{ln\_boost}) given in the \ifile{bfr\_coef} input NetCDF file. 
    9911166The mask values should vary from 0 to 1. 
    9921167Locations with a non-zero mask value will have the friction coefficient increased by 
    993 $mask\_value$ * \np{rn\_boost} * \np{rn\_Cd0}. 
    994  
    995 % ------------------------------------------------------------------------------------------------------------- 
    996 %       Non-Linear Bottom Friction 
    997 % ------------------------------------------------------------------------------------------------------------- 
    998  \subsection[Non-linear top/bottom friction (\forcode{ln_non_lin = .true.})] 
    999  {Non-linear top/bottom friction (\protect\np{ln\_non\_lin}\forcode{ = .true.})} 
    1000  \label{subsec:ZDF_drg_nonlinear} 
     1168$mask\_value$ * \np{rn_boost}{rn\_boost} * \np{rn_Cd0}{rn\_Cd0}. 
     1169 
     1170%% ================================================================================================= 
     1171\subsection[Non-linear top/bottom friction (\forcode{ln_non_lin})]{Non-linear top/bottom friction (\protect\np{ln_non_lin}{ln\_non\_lin})} 
     1172\label{subsec:ZDF_drg_nonlinear} 
    10011173 
    10021174The non-linear bottom friction parameterisation assumes that the top/bottom friction is quadratic: 
    10031175\[ 
    1004   % \label{eq:zdfdrg_nonlinear} 
     1176  % \label{eq:ZDF_drg_nonlinear} 
    10051177  {\cal F}_h^\textbf{U} = \frac{A^{vm}}{e_3 }\frac{\partial \textbf {U}_h 
    10061178  }{\partial k}=C_D \;\sqrt {u_b ^2+v_b ^2+e_b } \;\; \textbf {U}_h^b 
     
    10121184$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 
    10131185$e_b =2.5\;\;10^{-3}$m$^2$\;s$^{-2}$. 
    1014 The CME choices have been set as default values (\np{rn\_Cd0} and \np{rn\_ke0} namelist parameters). 
     1186The CME choices have been set as default values (\np{rn_Cd0}{rn\_Cd0} and \np{rn_ke0}{rn\_ke0} namelist parameters). 
    10151187 
    10161188As for the linear case, the friction is imposed in the code by adding the trend due to 
     
    10181190For the non-linear friction case the term computed in \mdl{zdfdrg} is: 
    10191191\[ 
    1020   % \label{eq:zdfdrg_nonlinbfr} 
     1192  % \label{eq:ZDF_drg_nonlinbfr} 
    10211193    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} 
    10221194\] 
    10231195 
    10241196The coefficients that control the strength of the non-linear friction are initialised as namelist parameters: 
    1025 $C_D$= \np{rn\_Cd0}, and $e_b$ =\np{rn\_bfeb2}. 
    1026 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 
    1027 (\np{ln\_boost}\forcode{ = .true.}). 
     1197$C_D$= \np{rn_Cd0}{rn\_Cd0}, and $e_b$ =\np{rn_bfeb2}{rn\_bfeb2}. 
     1198Note 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 
     1199(\np[=.true.]{ln_boost}{ln\_boost}). 
    10281200This works in the same way as for the linear friction case with non-zero masked locations increased by 
    1029 $mask\_value$ * \np{rn\_boost} * \np{rn\_Cd0}. 
    1030  
    1031 % ------------------------------------------------------------------------------------------------------------- 
    1032 %       Bottom Friction Log-layer 
    1033 % ------------------------------------------------------------------------------------------------------------- 
    1034  \subsection[Log-layer top/bottom friction (\forcode{ln_loglayer = .true.})] 
    1035  {Log-layer top/bottom friction (\protect\np{ln\_loglayer}\forcode{ = .true.})} 
    1036  \label{subsec:ZDF_drg_loglayer} 
     1201$mask\_value$ * \np{rn_boost}{rn\_boost} * \np{rn_Cd0}{rn\_Cd0}. 
     1202 
     1203%% ================================================================================================= 
     1204\subsection[Log-layer top/bottom friction (\forcode{ln_loglayer})]{Log-layer top/bottom friction (\protect\np{ln_loglayer}{ln\_loglayer})} 
     1205\label{subsec:ZDF_drg_loglayer} 
    10371206 
    10381207In the non-linear friction case, the drag coefficient, $C_D$, can be optionally enhanced using 
    10391208a "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. 
    1040 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): 
     1209If  \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): 
    10411210\[ 
    10421211  C_D = \left ( {\kappa \over {\mathrm log}\left ( 0.5 \; e_{3b} / rn\_{z0} \right ) } \right )^2 
    10431212\] 
    10441213 
    1045 \noindent where $\kappa$ is the von-Karman constant and \np{rn\_z0} is a roughness length provided via the namelist. 
     1214\noindent where $\kappa$ is the von-Karman constant and \np{rn_z0}{rn\_z0} is a roughness length provided via the namelist. 
    10461215 
    10471216The drag coefficient is bounded such that it is kept greater or equal to 
    1048 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: 
    1049 \np{rn\_Cdmax}, \ie 
     1217the 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: 
     1218\np{rn_Cdmax}{rn\_Cdmax}, \ie 
    10501219\[ 
    10511220  rn\_Cd0 \leq C_D \leq rn\_Cdmax 
     
    10531222 
    10541223\noindent The log-layer enhancement can also be applied to the top boundary friction if 
    1055 under ice-shelf cavities are activated (\np{ln\_isfcav}\forcode{ = .true.}). 
    1056 %In this case, the relevant namelist parameters are \np{rn\_tfrz0}, \np{rn\_tfri2} and \np{rn\_tfri2\_max}. 
    1057  
    1058 % ------------------------------------------------------------------------------------------------------------- 
    1059 %       Explicit bottom Friction 
    1060 % ------------------------------------------------------------------------------------------------------------- 
    1061  \subsection{Explicit top/bottom friction (\forcode{ln_drgimp = .false.})} 
    1062  \label{subsec:ZDF_drg_stability} 
    1063  
    1064 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: 
     1224under ice-shelf cavities are activated (\np[=.true.]{ln_isfcav}{ln\_isfcav}). 
     1225%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}. 
     1226 
     1227%% ================================================================================================= 
     1228\subsection[Explicit top/bottom friction (\forcode{ln_drgimp=.false.})]{Explicit top/bottom friction (\protect\np[=.false.]{ln_drgimp}{ln\_drgimp})} 
     1229\label{subsec:ZDF_drg_stability} 
     1230 
     1231Setting \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: 
    10651232 
    10661233At the top (below an ice shelf cavity): 
     
    10771244 
    10781245Since 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. 
    1079 For the purposes of stability analysis, an approximation to \autoref{eq:zdfdrg_flux2} is: 
     1246For the purposes of stability analysis, an approximation to \autoref{eq:ZDF_drg_flux2} is: 
    10801247\begin{equation} 
    1081   \label{eq:Eqn_drgstab} 
     1248  \label{eq:ZDF_Eqn_drgstab} 
    10821249  \begin{split} 
    10831250    \Delta u &= -\frac{{{\cal F}_h}^u}{e_{3u}}\;2 \rdt    \\ 
     
    10901257  |\Delta u| < \;|u| 
    10911258\] 
    1092 \noindent which, using \autoref{eq:Eqn_drgstab}, gives: 
     1259\noindent which, using \autoref{eq:ZDF_Eqn_drgstab}, gives: 
    10931260\[ 
    10941261  r\frac{2\rdt}{e_{3u}} < 1 \qquad  \Rightarrow \qquad r < \frac{e_{3u}}{2\rdt}\\ 
     
    11171284The number of potential breaches of the explicit stability criterion are still reported for information purposes. 
    11181285 
    1119 % ------------------------------------------------------------------------------------------------------------- 
    1120 %       Implicit Bottom Friction 
    1121 % ------------------------------------------------------------------------------------------------------------- 
    1122  \subsection[Implicit top/bottom friction (\forcode{ln_drgimp = .true.})] 
    1123  {Implicit top/bottom friction (\protect\np{ln\_drgimp}\forcode{ = .true.})} 
    1124  \label{subsec:ZDF_drg_imp} 
     1286%% ================================================================================================= 
     1287\subsection[Implicit top/bottom friction (\forcode{ln_drgimp=.true.})]{Implicit top/bottom friction (\protect\np[=.true.]{ln_drgimp}{ln\_drgimp})} 
     1288\label{subsec:ZDF_drg_imp} 
    11251289 
    11261290An optional implicit form of bottom friction has been implemented to improve model stability. 
    11271291We recommend this option for shelf sea and coastal ocean applications. %, especially for split-explicit time splitting. 
    1128 This option can be invoked by setting \np{ln\_drgimp} to \forcode{.true.} in the \nam{drg} namelist. 
    1129 %This option requires \np{ln\_zdfexp} to be \forcode{.false.} in the \nam{zdf} namelist. 
     1292This option can be invoked by setting \np{ln_drgimp}{ln\_drgimp} to \forcode{.true.} in the \nam{drg}{drg} namelist. 
     1293%This option requires \np{ln_zdfexp}{ln\_zdfexp} to be \forcode{.false.} in the \nam{zdf}{zdf} namelist. 
    11301294 
    11311295This implementation is performed in \mdl{dynzdf} where the following boundary conditions are set while solving the fully implicit diffusion step: 
     
    11331297At the top (below an ice shelf cavity): 
    11341298\[ 
    1135   % \label{eq:dynzdf_drg_top} 
     1299  % \label{eq:ZDF_dynZDF__drg_top} 
    11361300  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{t} 
    11371301  = c_{t}^{\textbf{U}}\textbf{u}^{n+1}_{t} 
     
    11401304At the bottom (above the sea floor): 
    11411305\[ 
    1142   % \label{eq:dynzdf_drg_bot} 
     1306  % \label{eq:ZDF_dynZDF__drg_bot} 
    11431307  \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{b} 
    11441308  = c_{b}^{\textbf{U}}\textbf{u}^{n+1}_{b} 
     
    11481312Superscript $n+1$ means the velocity used in the friction formula is to be calculated, so it is implicit. 
    11491313 
    1150 % ------------------------------------------------------------------------------------------------------------- 
    1151 %       Bottom Friction with split-explicit free surface 
    1152 % ------------------------------------------------------------------------------------------------------------- 
    1153  \subsection[Bottom friction with split-explicit free surface] 
    1154  {Bottom friction with split-explicit free surface} 
    1155  \label{subsec:ZDF_drg_ts} 
    1156  
    1157 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. 
     1314%% ================================================================================================= 
     1315\subsection[Bottom friction with split-explicit free surface]{Bottom friction with split-explicit free surface} 
     1316\label{subsec:ZDF_drg_ts} 
     1317 
     1318With 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. 
    11581319 
    11591320The strategy to handle top/bottom stresses with split-explicit free surface in \NEMO\ is as follows: 
     
    11651326Note that other strategies are possible, like considering vertical diffusion step in advance, \ie\ prior barotropic integration. 
    11661327 
    1167  
    1168 % ================================================================ 
    1169 % Internal wave-driven mixing 
    1170 % ================================================================ 
    1171 \section[Internal wave-driven mixing (\forcode{ln_zdfiwm = .true.})] 
    1172 {Internal wave-driven mixing (\protect\np{ln\_zdfiwm}\forcode{ = .true.})} 
     1328%% ================================================================================================= 
     1329\section[Internal wave-driven mixing (\forcode{ln_zdfiwm})]{Internal wave-driven mixing (\protect\np{ln_zdfiwm}{ln\_zdfiwm})} 
    11731330\label{subsec:ZDF_tmx_new} 
    11741331 
    1175 %--------------------------------------------namzdf_iwm------------------------------------------ 
    1176 % 
    1177 \nlst{namzdf_iwm} 
    1178 %-------------------------------------------------------------------------------------------------------------- 
     1332\begin{listing} 
     1333  \nlst{namzdf_iwm} 
     1334  \caption{\forcode{&namzdf_iwm}} 
     1335  \label{lst:namzdf_iwm} 
     1336\end{listing} 
    11791337 
    11801338The parameterization of mixing induced by breaking internal waves is a generalization of 
     
    11831341and the resulting diffusivity is obtained as 
    11841342\[ 
    1185   % \label{eq:Kwave} 
     1343  % \label{eq:ZDF_Kwave} 
    11861344  A^{vT}_{wave} =  R_f \,\frac{ \epsilon }{ \rho \, N^2 } 
    11871345\] 
    11881346where $R_f$ is the mixing efficiency and $\epsilon$ is a specified three dimensional distribution of 
    11891347the energy available for mixing. 
    1190 If the \np{ln\_mevar} namelist parameter is set to \forcode{.false.}, the mixing efficiency is taken as constant and 
     1348If the \np{ln_mevar}{ln\_mevar} namelist parameter is set to \forcode{.false.}, the mixing efficiency is taken as constant and 
    11911349equal to 1/6 \citep{osborn_JPO80}. 
    11921350In the opposite (recommended) case, $R_f$ is instead a function of 
     
    11981356 
    11991357In addition to the mixing efficiency, the ratio of salt to heat diffusivities can chosen to vary 
    1200 as a function of $Re_b$ by setting the \np{ln\_tsdiff} parameter to \forcode{.true.}, a recommended choice. 
     1358as a function of $Re_b$ by setting the \np{ln_tsdiff}{ln\_tsdiff} parameter to \forcode{.true.}, a recommended choice. 
    12011359This parameterization of differential mixing, due to \cite{jackson.rehmann_JPO14}, 
    12021360is implemented as in \cite{de-lavergne.madec.ea_JPO16}. 
     
    12161374  h_{wkb} = H \, \frac{ \int_{-H}^{z} N \, dz' } { \int_{-H}^{\eta} N \, dz'  } \; , 
    12171375\] 
    1218 The $n_p$ parameter (given by \np{nn\_zpyc} in \nam{zdf\_iwm} namelist) 
     1376The $n_p$ parameter (given by \np{nn_zpyc}{nn\_zpyc} in \nam{zdf_iwm}{zdf\_iwm} namelist) 
    12191377controls the stratification-dependence of the pycnocline-intensified dissipation. 
    12201378It can take values of $1$ (recommended) or $2$. 
     
    12241382$h_{bot}$ is a function of the energy flux $E_{bot}$, the characteristic horizontal scale of 
    12251383the abyssal hill topography \citep{goff_JGR10} and the latitude. 
    1226 % 
    12271384% Jc: input files names ? 
    12281385 
    1229 % ================================================================ 
    1230 % surface wave-induced mixing 
    1231 % ================================================================ 
    1232 \section[Surface wave-induced mixing (\forcode{ln_zdfswm = .true.})] 
    1233 {Surface wave-induced mixing (\protect\np{ln\_zdfswm}\forcode{ = .true.})} 
     1386%% ================================================================================================= 
     1387\section[Surface wave-induced mixing (\forcode{ln_zdfswm})]{Surface wave-induced mixing (\protect\np{ln_zdfswm}{ln\_zdfswm})} 
    12341388\label{subsec:ZDF_swm} 
    12351389 
     
    12421396 
    12431397\begin{equation} 
    1244   \label{eq:Bv} 
     1398  \label{eq:ZDF_Bv} 
    12451399  B_{v} = \alpha {A} {U}_{st} {exp(3kz)} 
    12461400\end{equation} 
     
    12541408and diffusivity coefficients. 
    12551409 
    1256 In order to account for this contribution set: \forcode{ln_zdfswm = .true.}, 
    1257 then wave interaction has to be activated through \forcode{ln_wave = .true.}, 
    1258 the Stokes Drift can be evaluated by setting \forcode{ln_sdw = .true.} 
     1410In order to account for this contribution set: \forcode{ln_zdfswm=.true.}, 
     1411then wave interaction has to be activated through \forcode{ln_wave=.true.}, 
     1412the Stokes Drift can be evaluated by setting \forcode{ln_sdw=.true.} 
    12591413(see \autoref{subsec:SBC_wave_sdw}) 
    12601414and the needed wave fields can be provided either in forcing or coupled mode 
    12611415(for more information on wave parameters and settings see \autoref{sec:SBC_wave}) 
    12621416 
    1263 % ================================================================ 
    1264 % Adaptive-implicit vertical advection 
    1265 % ================================================================ 
    1266 \section[Adaptive-implicit vertical advection (\forcode{ln_zad_Aimp = .true.})] 
    1267 {Adaptive-implicit vertical advection(\protect\np{ln\_zad\_Aimp}\forcode{ = .true.})} 
     1417%% ================================================================================================= 
     1418\section[Adaptive-implicit vertical advection (\forcode{ln_zad_Aimp})]{Adaptive-implicit vertical advection(\protect\np{ln_zad_Aimp}{ln\_zad\_Aimp})} 
    12681419\label{subsec:ZDF_aimp} 
    12691420 
     
    12761427criteria for a range of advection schemes. The values for the Leap-Frog with Robert 
    12771428asselin filter time-stepping (as used in NEMO) are reproduced in 
    1278 \autoref{tab:zad_Aimp_CFLcrit}. Treating the vertical advection implicitly can avoid these 
     1429\autoref{tab:ZDF_zad_Aimp_CFLcrit}. Treating the vertical advection implicitly can avoid these 
    12791430restrictions but at the cost of large dispersive errors and, possibly, large numerical 
    12801431viscosity. The adaptive-implicit vertical advection option provides a targetted use of the 
     
    12831434interest or due to short-lived conditions such that the extra numerical diffusion or 
    12841435viscosity does not greatly affect the overall solution. With such applications, setting: 
    1285 \forcode{ln_zad_Aimp = .true.} should allow much longer model timesteps to be used whilst 
     1436\forcode{ln_zad_Aimp=.true.} should allow much longer model timesteps to be used whilst 
    12861437retaining the accuracy of the high order explicit schemes over most of the domain. 
    12871438 
    12881439\begin{table}[htbp] 
    1289   \begin{center} 
    1290     % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}} 
    1291     \begin{tabular}{r|ccc} 
    1292       \hline 
    1293       spatial discretization &   2nd order centered   & 3rd order upwind & 4th order compact  \\ 
    1294       advective CFL criterion     & 0.904 &   0.472  &   0.522    \\ 
    1295       \hline 
    1296     \end{tabular} 
    1297     \caption{ 
    1298       \protect\label{tab:zad_Aimp_CFLcrit} 
    1299       The advective CFL criteria for a range of spatial discretizations for the Leap-Frog with Robert Asselin filter time-stepping 
    1300       ($\nu=0.1$) as given in \citep{lemarie.debreu.ea_OM15}. 
    1301     } 
    1302   \end{center} 
     1440  \centering 
     1441  % \begin{tabular}{cp{70pt}cp{70pt}cp{70pt}cp{70pt}} 
     1442  \begin{tabular}{r|ccc} 
     1443    \hline 
     1444    spatial discretization  & 2$^nd$ order centered & 3$^rd$ order upwind & 4$^th$ order compact \\ 
     1445    advective CFL criterion &                 0.904 &              0.472  &                0.522 \\ 
     1446    \hline 
     1447  \end{tabular} 
     1448  \caption[Advective CFL criteria for the leapfrog with Robert Asselin filter time-stepping]{ 
     1449    The advective CFL criteria for a range of spatial discretizations for 
     1450    the leapfrog with Robert Asselin filter time-stepping 
     1451    ($\nu=0.1$) as given in \citep{lemarie.debreu.ea_OM15}.} 
     1452  \label{tab:ZDF_zad_Aimp_CFLcrit} 
    13031453\end{table} 
    13041454 
     
    13131463 
    13141464\begin{equation} 
    1315   \label{eq:Eqn_zad_Aimp_Courant} 
     1465  \label{eq:ZDF_Eqn_zad_Aimp_Courant} 
    13161466  \begin{split} 
    13171467    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 ]    \\ 
     
    13261476 
    13271477\begin{align} 
    1328   \label{eq:Eqn_zad_Aimp_partition} 
     1478  \label{eq:ZDF_Eqn_zad_Aimp_partition} 
    13291479Cu_{min} &= 0.15 \nonumber \\ 
    13301480Cu_{max} &= 0.3  \nonumber \\ 
    13311481Cu_{cut} &= 2Cu_{max} - Cu_{min} \nonumber \\ 
    13321482Fcu    &= 4Cu_{max}*(Cu_{max}-Cu_{min}) \nonumber \\ 
    1333 C\kern-0.14em f &= 
     1483\cf &= 
    13341484     \begin{cases} 
    13351485        0.0                                                        &\text{if $Cu \leq Cu_{min}$} \\ 
     
    13401490 
    13411491\begin{figure}[!t] 
    1342   \begin{center} 
    1343     \includegraphics[width=\textwidth]{Fig_ZDF_zad_Aimp_coeff} 
    1344     \caption{ 
    1345       \protect\label{fig:zad_Aimp_coeff} 
    1346       The value of the partitioning coefficient ($C\kern-0.14em f$) used to partition vertical velocities into parts to 
    1347       be treated implicitly and explicitly for a range of typical Courant numbers (\forcode{ln_zad_Aimp=.true.}) 
    1348     } 
    1349   \end{center} 
     1492  \centering 
     1493  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_coeff} 
     1494  \caption[Partitioning coefficient used to partition vertical velocities into parts]{ 
     1495    The value of the partitioning coefficient (\cf) used to partition vertical velocities into 
     1496    parts to be treated implicitly and explicitly for a range of typical Courant numbers 
     1497    (\forcode{ln_zad_Aimp=.true.}).} 
     1498  \label{fig:ZDF_zad_Aimp_coeff} 
    13501499\end{figure} 
    13511500 
     
    13551504 
    13561505\begin{align} 
    1357   \label{eq:Eqn_zad_Aimp_partition2} 
    1358     w_{i_{ijk}} &= C\kern-0.14em f_{ijk} w_{n_{ijk}}     \nonumber \\ 
    1359     w_{n_{ijk}} &= (1-C\kern-0.14em f_{ijk}) w_{n_{ijk}}            
     1506  \label{eq:ZDF_Eqn_zad_Aimp_partition2} 
     1507    w_{i_{ijk}} &= \cf_{ijk} w_{n_{ijk}}     \nonumber \\ 
     1508    w_{n_{ijk}} &= (1-\cf_{ijk}) w_{n_{ijk}} 
    13601509\end{align} 
    13611510 
    13621511\noindent Note that the coefficient is such that the treatment is never fully implicit; 
    1363 the three cases from \autoref{eq:Eqn_zad_Aimp_partition} can be considered as: 
     1512the three cases from \autoref{eq:ZDF_Eqn_zad_Aimp_partition} can be considered as: 
    13641513fully-explicit; mixed explicit/implicit and mostly-implicit.  With the settings shown the 
    1365 coefficient ($C\kern-0.14em f$) varies as shown in \autoref{fig:zad_Aimp_coeff}. Note with these values 
     1514coefficient (\cf) varies as shown in \autoref{fig:ZDF_zad_Aimp_coeff}. Note with these values 
    13661515the $Cu_{cut}$ boundary between the mixed implicit-explicit treatment and 'mostly 
    13671516implicit' is 0.45 which is just below the stability limited given in 
    1368 \autoref{tab:zad_Aimp_CFLcrit}  for a 3rd order scheme. 
     1517\autoref{tab:ZDF_zad_Aimp_CFLcrit}  for a 3rd order scheme. 
    13691518 
    13701519The $w_i$ component is added to the implicit solvers for the vertical mixing in 
     
    13761525vertical fluxes are then removed since they are added by the implicit solver later on. 
    13771526 
    1378 The adaptive-implicit vertical advection option is new to NEMO at v4.0 and has yet to be  
     1527The adaptive-implicit vertical advection option is new to NEMO at v4.0 and has yet to be 
    13791528used in a wide range of simulations. The following test simulation, however, does illustrate 
    13801529the potential benefits and will hopefully encourage further testing and feedback from users: 
    13811530 
    13821531\begin{figure}[!t] 
    1383   \begin{center} 
    1384     \includegraphics[width=\textwidth]{Fig_ZDF_zad_Aimp_overflow_frames} 
    1385     \caption{ 
    1386       \protect\label{fig:zad_Aimp_overflow_frames} 
    1387       A time-series of temperature vertical cross-sections for the OVERFLOW test case. These results are for the default 
    1388       settings with \forcode{nn_rdt=10.0} and without adaptive implicit vertical advection (\forcode{ln_zad_Aimp=.false.}). 
    1389     } 
    1390   \end{center} 
     1532  \centering 
     1533  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_overflow_frames} 
     1534  \caption[OVERFLOW: time-series of temperature vertical cross-sections]{ 
     1535    A time-series of temperature vertical cross-sections for the OVERFLOW test case. 
     1536    These results are for the default settings with \forcode{nn_rdt=10.0} and 
     1537    without adaptive implicit vertical advection (\forcode{ln_zad_Aimp=.false.}).} 
     1538  \label{fig:ZDF_zad_Aimp_overflow_frames} 
    13911539\end{figure} 
    13921540 
     1541%% ================================================================================================= 
    13931542\subsection{Adaptive-implicit vertical advection in the OVERFLOW test-case} 
     1543 
    13941544The \href{https://forge.ipsl.jussieu.fr/nemo/chrome/site/doc/NEMO/guide/html/test\_cases.html\#overflow}{OVERFLOW test case} 
    13951545provides a simple illustration of the adaptive-implicit advection in action. The example here differs from the basic test case 
     
    14071557 
    14081558\noindent which were chosen to provide a slightly more stable and less noisy solution. The 
    1409 result when using the default value of \forcode{nn_rdt = 10.} without adaptive-implicit 
    1410 vertical velocity is illustrated in \autoref{fig:zad_Aimp_overflow_frames}. The mass of 
     1559result when using the default value of \forcode{nn_rdt=10.} without adaptive-implicit 
     1560vertical velocity is illustrated in \autoref{fig:ZDF_zad_Aimp_overflow_frames}. The mass of 
    14111561cold water, initially sitting on the shelf, moves down the slope and forms a 
    14121562bottom-trapped, dense plume. Even with these extra physics choices the model is close to 
    1413 stability limits and attempts with \forcode{nn_rdt = 30.} will fail after about 5.5 hours 
     1563stability limits and attempts with \forcode{nn_rdt=30.} will fail after about 5.5 hours 
    14141564with excessively high horizontal velocities. This time-scale corresponds with the time the 
    14151565plume reaches the steepest part of the topography and, although detected as a horizontal 
     
    14181568 
    14191569The results with \forcode{ln_zad_Aimp=.true.} and a variety of model timesteps 
    1420 are shown in \autoref{fig:zad_Aimp_overflow_all_rdt} (together with the equivalent 
     1570are shown in \autoref{fig:ZDF_zad_Aimp_overflow_all_rdt} (together with the equivalent 
    14211571frames from the base run).  In this simple example the use of the adaptive-implicit 
    14221572vertcal advection scheme has enabled a 12x increase in the model timestep without 
    14231573significantly altering the solution (although at this extreme the plume is more diffuse 
    14241574and has not travelled so far).  Notably, the solution with and without the scheme is 
    1425 slightly different even with \forcode{nn_rdt = 10.}; suggesting that the base run was 
     1575slightly different even with \forcode{nn_rdt=10.}; suggesting that the base run was 
    14261576close enough to instability to trigger the scheme despite completing successfully. 
    14271577To assist in diagnosing how active the scheme is, in both location and time, the 3D 
    14281578implicit and explicit components of the vertical velocity are available via XIOS as 
    14291579\texttt{wimp} and \texttt{wexp} respectively.  Likewise, the partitioning coefficient 
    1430 ($C\kern-0.14em f$) is also available as \texttt{wi\_cff}. For a quick oversight of 
     1580(\cf) is also available as \texttt{wi\_cff}. For a quick oversight of 
    14311581the schemes activity the global maximum values of the absolute implicit component 
    14321582of the vertical velocity and the partitioning coefficient are written to the netCDF 
     
    14341584\autoref{sec:MISC_opt} for activation details). 
    14351585 
    1436 \autoref{fig:zad_Aimp_maxCf} shows examples of the maximum partitioning coefficient for 
     1586\autoref{fig:ZDF_zad_Aimp_maxCf} shows examples of the maximum partitioning coefficient for 
    14371587the various overflow tests.  Note that the adaptive-implicit vertical advection scheme is 
    14381588active even in the base run with \forcode{nn_rdt=10.0s} adding to the evidence that the 
     
    14411591oscillatory nature of this measure appears to be linked to the progress of the plume front 
    14421592as each cusp is associated with the location of the maximum shifting to the adjacent cell. 
    1443 This is illustrated in \autoref{fig:zad_Aimp_maxCf_loc} where the i- and k- locations of the 
     1593This is illustrated in \autoref{fig:ZDF_zad_Aimp_maxCf_loc} where the i- and k- locations of the 
    14441594maximum have been overlaid for the base run case. 
    14451595 
     
    14601610 
    14611611\begin{figure}[!t] 
    1462   \begin{center} 
    1463     \includegraphics[width=\textwidth]{Fig_ZDF_zad_Aimp_overflow_all_rdt} 
    1464     \caption{ 
    1465       \protect\label{fig:zad_Aimp_overflow_all_rdt} 
    1466       Sample temperature vertical cross-sections from mid- and end-run using different values for \forcode{nn_rdt}  
    1467       and with or without adaptive implicit vertical advection. Without the adaptive implicit vertical advection only 
    1468       the run with the shortest timestep is able to run to completion. Note also that the colour-scale has been 
    1469       chosen to confirm that temperatures remain within the original range of 10$^o$ to 20$^o$. 
    1470     } 
    1471   \end{center} 
     1612  \centering 
     1613  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_overflow_all_rdt} 
     1614  \caption[OVERFLOW: sample temperature vertical cross-sections from mid- and end-run]{ 
     1615    Sample temperature vertical cross-sections from mid- and end-run using 
     1616    different values for \forcode{nn_rdt} and with or without adaptive implicit vertical advection. 
     1617    Without the adaptive implicit vertical advection 
     1618    only the run with the shortest timestep is able to run to completion. 
     1619    Note also that the colour-scale has been chosen to confirm that 
     1620    temperatures remain within the original range of 10$^o$ to 20$^o$.} 
     1621  \label{fig:ZDF_zad_Aimp_overflow_all_rdt} 
    14721622\end{figure} 
    14731623 
    14741624\begin{figure}[!t] 
    1475   \begin{center} 
    1476     \includegraphics[width=\textwidth]{Fig_ZDF_zad_Aimp_maxCf} 
    1477     \caption{ 
    1478       \protect\label{fig:zad_Aimp_maxCf} 
    1479       The maximum partitioning coefficient during a series of test runs with increasing model timestep length. 
    1480       At the larger timesteps, the vertical velocity is treated mostly implicitly at some location throughout  
    1481       the run. 
    1482     } 
    1483   \end{center} 
     1625  \centering 
     1626  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_maxCf} 
     1627  \caption[OVERFLOW: maximum partitioning coefficient during a series of test runs]{ 
     1628    The maximum partitioning coefficient during a series of test runs with 
     1629    increasing model timestep length. 
     1630    At the larger timesteps, 
     1631    the vertical velocity is treated mostly implicitly at some location throughout the run.} 
     1632  \label{fig:ZDF_zad_Aimp_maxCf} 
    14841633\end{figure} 
    14851634 
    14861635\begin{figure}[!t] 
    1487   \begin{center} 
    1488     \includegraphics[width=\textwidth]{Fig_ZDF_zad_Aimp_maxCf_loc} 
    1489     \caption{ 
    1490       \protect\label{fig:zad_Aimp_maxCf_loc} 
    1491       The maximum partitioning coefficient for the  \forcode{nn_rdt=10.0s} case overlaid with  information on the gridcell i- and k- 
    1492       locations of the maximum value.  
    1493     } 
    1494   \end{center} 
     1636  \centering 
     1637  \includegraphics[width=0.66\textwidth]{Fig_ZDF_zad_Aimp_maxCf_loc} 
     1638  \caption[OVERFLOW: maximum partitioning coefficient for the case overlaid]{ 
     1639    The maximum partitioning coefficient for the \forcode{nn_rdt=10.0} case overlaid with 
     1640    information on the gridcell i- and k-locations of the maximum value.} 
     1641  \label{fig:ZDF_zad_Aimp_maxCf_loc} 
    14951642\end{figure} 
    14961643 
    1497 % ================================================================ 
    1498  
    1499 \biblio 
    1500  
    1501 \pindex 
     1644\onlyinsubfile{\input{../../global/epilogue}} 
    15021645 
    15031646\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_conservation.tex

    r11435 r11799  
    33\begin{document} 
    44 
    5 % ================================================================ 
    6 % Invariant of the Equations 
    7 % ================================================================ 
    85\chapter{Invariants of the Primitive Equations} 
    9 \label{chap:Invariant} 
     6\label{chap:CONS} 
     7 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
     11 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
    1126 
    1227The continuous equations of motion have many analytic properties. 
     
    4156\citep{Marti1992?, Levy1996?, Levy1998?}. 
    4257 
    43 % ------------------------------------------------------------------------------------------------------------- 
    44 %       Conservation Properties on Ocean Dynamics 
    45 % ------------------------------------------------------------------------------------------------------------- 
     58%% ================================================================================================= 
    4659\section{Conservation properties on ocean dynamics} 
    47 \label{sec:Invariant_dyn} 
     60\label{sec:CONS_Invariant_dyn} 
    4861 
    4962The non linear term of the momentum equations has been split into a vorticity term, 
     
    6376The continuous formulation of the vorticity term satisfies following integral constraints: 
    6477\[ 
    65   % \label{eq:vor_vorticity} 
     78  % \label{eq:CONS_vor_vorticity} 
    6679  \int_D {{\textbf {k}}\cdot \frac{1}{e_3 }\nabla \times \left( {\varsigma 
    6780        \;{\mathrm {\mathbf k}}\times {\textbf {U}}_h } \right)\;dv} =0 
     
    6982 
    7083\[ 
    71   % \label{eq:vor_enstrophy} 
     84  % \label{eq:CONS_vor_enstrophy} 
    7285  if\quad \chi =0\quad \quad \int\limits_D {\varsigma \;{\textbf{k}}\cdot 
    7386    \frac{1}{e_3 }\nabla \times \left( {\varsigma {\textbf{k}}\times {\textbf{U}}_h } \right)\;dv} =-\int\limits_D {\frac{1}{2}\varsigma ^2\,\chi \;dv} 
     
    7689 
    7790\[ 
    78   % \label{eq:vor_energy} 
     91  % \label{eq:CONS_vor_energy} 
    7992  \int_D {{\textbf{U}}_h \times \left( {\varsigma \;{\textbf{k}}\times {\textbf{U}}_h } \right)\;dv} =0 
    8093\] 
     
    88101Using the symmetry or anti-symmetry properties of the operators (Eqs II.1.10 and 11), 
    89102it can be shown that the scheme (II.2.11) satisfies (II.4.1b) but not (II.4.1c), 
    90 while scheme (II.2.12) satisfies (II.4.1c) but not (II.4.1b) (see appendix C).  
     103while scheme (II.2.12) satisfies (II.4.1c) but not (II.4.1b) (see appendix C). 
    91104Note that the enstrophy conserving scheme on total vorticity has been chosen as the standard discrete form of 
    92105the vorticity term. 
     
    102115the horizontal gradient of horizontal kinetic energy: 
    103116 
    104 \begin{equation} \label{eq:keg_zad} 
    105 \int_D {{\textbf{U}}_h \cdot \nabla _h \left( {1/2\;{\textbf{U}}_h ^2} \right)\;dv} =-\int_D {{\textbf{U}}_h \cdot \frac{w}{e_3 }\;\frac{\partial  
     117\begin{equation} \label{eq:CONS_keg_zad} 
     118\int_D {{\textbf{U}}_h \cdot \nabla _h \left( {1/2\;{\textbf{U}}_h ^2} \right)\;dv} =-\int_D {{\textbf{U}}_h \cdot \frac{w}{e_3 }\;\frac{\partial 
    106119{\textbf{U}}_h }{\partial k}\;dv} 
    107120\end{equation} 
    108121 
    109122Using the discrete form given in {\S}II.2-a and the symmetry or anti-symmetry properties of 
    110 the mean and difference operators, \autoref{eq:keg_zad} is demonstrated in the Appendix C. 
    111 The main point here is that satisfying \autoref{eq:keg_zad} links the choice of the discrete forms of 
     123the mean and difference operators, \autoref{eq:CONS_keg_zad} is demonstrated in the Appendix C. 
     124The main point here is that satisfying \autoref{eq:CONS_keg_zad} links the choice of the discrete forms of 
    112125the vertical advection and of the horizontal gradient of horizontal kinetic energy. 
    113126Choosing one imposes the other. 
     
    127140 
    128141\[ 
    129   % \label{eq:hpg_pe} 
     142  % \label{eq:CONS_hpg_pe} 
    130143  \int_D {-\frac{1}{\rho_o }\left. {\nabla p^h} \right|_z \cdot {\textbf {U}}_h \;dv} \;=\;\int_D {\nabla .\left( {\rho \,{\textbf{U}}} \right)\;g\;z\;\;dv} 
    131144\] 
     
    133146Using the discrete form given in {\S}~II.2-a and the symmetry or anti-symmetry properties of 
    134147the mean and difference operators, (II.4.3) is demonstrated in the Appendix C. 
    135 The main point here is that satisfying (II.4.3) strongly constraints the discrete expression of the depth of  
     148The main point here is that satisfying (II.4.3) strongly constraints the discrete expression of the depth of 
    136149$T$-points and of the term added to the pressure gradient in $s-$coordinates: the depth of a $T$-point, $z_T$, 
    137150is defined as the sum the vertical scale factors at $w$-points starting from the surface. 
     
    145158Nevertheless, the $\psi$-equation is solved numerically by an iterative solver (see {\S}~III.5), 
    146159thus the property is only satisfied with the accuracy required on the solver. 
    147 In addition, with the rigid-lid approximation, the change of horizontal kinetic energy due to the work of  
     160In addition, with the rigid-lid approximation, the change of horizontal kinetic energy due to the work of 
    148161surface pressure forces is exactly zero: 
    149162\[ 
    150   % \label{eq:spg} 
     163  % \label{eq:CONS_spg} 
    151164  \int_D {-\frac{1}{\rho_o }\nabla _h } \left( {p_s } \right)\cdot {\textbf{U}}_h \;dv=0 
    152165\] 
     
    157170otherwise there is no guarantee that the surface pressure force work vanishes. 
    158171 
    159 % ------------------------------------------------------------------------------------------------------------- 
    160 %       Conservation Properties on Ocean Thermodynamics 
    161 % ------------------------------------------------------------------------------------------------------------- 
     172%% ================================================================================================= 
    162173\section{Conservation properties on ocean thermodynamics} 
    163 \label{sec:Invariant_tra} 
     174\label{sec:CONS_Invariant_tra} 
    164175 
    165176In continuous formulation, the advective terms of the tracer equations conserve the tracer content and 
    166177the quadratic form of the tracer, \ie 
    167178\[ 
    168   % \label{eq:tra_tra2} 
     179  % \label{eq:CONS_tra_tra2} 
    169180  \int_D {\nabla .\left( {T\;{\textbf{U}}} \right)\;dv} =0 
    170181  \;\text{and} 
     
    176187Note that in both continuous and discrete formulations, there is generally no strict conservation of mass, 
    177188since the equation of state is non linear with respect to $T$ and $S$. 
    178 In practice, the mass is conserved with a very good accuracy.  
    179  
    180 % ------------------------------------------------------------------------------------------------------------- 
    181 %       Conservation Properties on Momentum Physics 
    182 % ------------------------------------------------------------------------------------------------------------- 
     189In practice, the mass is conserved with a very good accuracy. 
     190 
     191%% ================================================================================================= 
    183192\subsection{Conservation properties on momentum physics} 
    184 \label{subsec:Invariant_dyn_physics} 
     193\label{subsec:CONS_Invariant_dyn_physics} 
    185194 
    186195\textbf{* lateral momentum diffusion term} 
     
    188197The continuous formulation of the horizontal diffusion of momentum satisfies the following integral constraints~: 
    189198\[ 
    190   % \label{eq:dynldf_dyn} 
     199  % \label{eq:CONS_dynldf_dyn} 
    191200  \int\limits_D {\frac{1}{e_3 }{\mathrm {\mathbf k}}\cdot \nabla \times \left[ {\nabla 
    192201        _h \left( {A^{lm}\;\chi } \right)-\nabla _h \times \left( {A^{lm}\;\zeta 
     
    195204 
    196205\[ 
    197   % \label{eq:dynldf_div} 
     206  % \label{eq:CONS_dynldf_div} 
    198207  \int\limits_D {\nabla _h \cdot \left[ {\nabla _h \left( {A^{lm}\;\chi } 
    199208        \right)-\nabla _h \times \left( {A^{lm}\;\zeta \;{\mathrm {\mathbf k}}} \right)} 
     
    202211 
    203212\[ 
    204   % \label{eq:dynldf_curl} 
     213  % \label{eq:CONS_dynldf_curl} 
    205214  \int_D {{\mathrm {\mathbf U}}_h \cdot \left[ {\nabla _h \left( {A^{lm}\;\chi } 
    206215        \right)-\nabla _h \times \left( {A^{lm}\;\zeta \;{\mathrm {\mathbf k}}} \right)} 
     
    209218 
    210219\[ 
    211   % \label{eq:dynldf_curl2} 
     220  % \label{eq:CONS_dynldf_curl2} 
    212221  \mbox{if}\quad A^{lm}=cste\quad \quad \int_D {\zeta \;{\mathrm {\mathbf k}}\cdot 
    213222    \nabla \times \left[ {\nabla _h \left( {A^{lm}\;\chi } \right)-\nabla _h 
     
    217226 
    218227\[ 
    219   % \label{eq:dynldf_div2} 
     228  % \label{eq:CONS_dynldf_div2} 
    220229  \mbox{if}\quad A^{lm}=cste\quad \quad \int_D {\chi \;\nabla _h \cdot \left[ 
    221230      {\nabla _h \left( {A^{lm}\;\chi } \right)-\nabla _h \times \left( 
    222231          {A^{lm}\;\zeta \;{\mathrm {\mathbf k}}} \right)} \right]\;dv} \leqslant 0 
    223232\] 
    224  
    225233 
    226234(II.4.6a) and (II.4.6b) means that the horizontal diffusion of momentum conserve both the potential vorticity and 
     
    250258 
    251259\[ 
    252   % \label{eq:dynzdf_dyn} 
     260  % \label{eq:CONS_dynzdf_dyn} 
    253261  \begin{aligned} 
    254262    & \int_D {\frac{1}{e_3 }}  \frac{\partial }{\partial k}\left( \frac{A^{vm}}{e_3 }\frac{\partial {\textbf{U}}_h }{\partial k} \right) \;dv = \overrightarrow{\textbf{0}} \\ 
     
    258266conservation of vorticity, dissipation of enstrophy 
    259267\[ 
    260   % \label{eq:dynzdf_vor} 
     268  % \label{eq:CONS_dynzdf_vor} 
    261269  \begin{aligned} 
    262270    & \int_D {\frac{1}{e_3 }{\mathrm {\mathbf k}}\cdot \nabla \times \left( {\frac{1}{e_3 
     
    270278conservation of horizontal divergence, dissipation of square of the horizontal divergence 
    271279\[ 
    272   % \label{eq:dynzdf_div} 
     280  % \label{eq:CONS_dynzdf_div} 
    273281  \begin{aligned} 
    274282    &\int_D {\nabla \cdot \left( {\frac{1}{e_3 }\frac{\partial }{\partial 
     
    285293\ie\ the vertical momentum physics conserve momentum, potential vorticity, and horizontal divergence. 
    286294 
    287 % ------------------------------------------------------------------------------------------------------------- 
    288 %       Conservation Properties on Tracer Physics 
    289 % ------------------------------------------------------------------------------------------------------------- 
     295%% ================================================================================================= 
    290296\subsection{Conservation properties on tracer physics} 
    291 \label{subsec:Invariant_tra_physics} 
     297\label{subsec:CONS_Invariant_tra_physics} 
    292298 
    293299The numerical schemes used for tracer subgridscale physics are written in such a way that 
     
    296302the quadratic form of these quantities (\ie\ their variance) globally tends to diminish. 
    297303As for the advective term, there is generally no strict conservation of mass even if, 
    298 in practice, the mass is conserved with a very good accuracy.  
    299  
    300 \textbf{* lateral physics: }conservation of tracer, dissipation of tracer  
     304in practice, the mass is conserved with a very good accuracy. 
     305 
     306\textbf{* lateral physics: }conservation of tracer, dissipation of tracer 
    301307variance, i.e. 
    302308 
    303309\[ 
    304   % \label{eq:traldf_t_t2} 
     310  % \label{eq:CONS_traldf_t_t2} 
    305311  \begin{aligned} 
    306312    &\int_D \nabla\, \cdot\, \left( A^{lT} \,\Re \,\nabla \,T \right)\;dv = 0 \\ 
     
    312318 
    313319\[ 
    314   % \label{eq:trazdf_t_t2} 
     320  % \label{eq:CONS_trazdf_t_t2} 
    315321  \begin{aligned} 
    316322    & \int_D \frac{1}{e_3 } \frac{\partial }{\partial k}\left( \frac{A^{vT}}{e_3 }  \frac{\partial T}{\partial k}  \right)\;dv = 0 \\ 
     
    328334It has not been implemented. 
    329335 
    330 \biblio 
    331  
    332 \pindex 
     336\onlyinsubfile{\input{../../global/epilogue}} 
    333337 
    334338\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_misc.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter --- Miscellaneous Topics 
    6 % ================================================================ 
     4 
    75\chapter{Miscellaneous Topics} 
    86\label{chap:MISC} 
    97 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
    1111 
    12 \newpage 
    13  
    14 % ================================================================ 
    15 % Representation of Unresolved Straits 
    16 % ================================================================ 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
     26 
     27%% ================================================================================================= 
    1728\section{Representation of unresolved straits} 
    1829\label{sec:MISC_strait} 
     
    2738balance the net evaporation occurring over the Mediterranean region. 
    2839This problem occurs even in eddy permitting simulations. 
    29 For example, in ORCA 1/4\deg several straits of the Indonesian archipelago (Ombai, Lombok...) 
     40For example, in ORCA 1/4\deg\ several straits of the Indonesian archipelago (Ombai, Lombok...) 
    3041are much narrow than even a single ocean grid-point. 
    3142 
     
    3647lateral friction. 
    3748 
    38 % ------------------------------------------------------------------------------------------------------------- 
    39 %       Hand made geometry changes 
    40 % ------------------------------------------------------------------------------------------------------------- 
     49%% ================================================================================================= 
    4150\subsection{Hand made geometry changes} 
    4251\label{subsec:MISC_strait_hand} 
     
    5362\begin{itemize} 
    5463 
    55 \item Add \texttt{e1e2u} and \texttt{e1e2v} arrays to the \np{cn\_domcfg} file. These 2D 
     64\item Add \texttt{e1e2u} and \texttt{e1e2v} arrays to the \np{cn_domcfg}{cn\_domcfg} file. These 2D 
    5665arrays should contain the products of the unaltered values of: $\texttt{e1u}*\texttt{e2u}$ 
    5766and $\texttt{e1u}*\texttt{e2v}$ respectively. That is the original surface areas of $u$- 
    5867and $v$- cells respectively.  These areas are usually defined by the corresponding product 
    5968within the \NEMO\ code but the presence of \texttt{e1e2u} and \texttt{e1e2v} in the 
    60 \np{cn\_domcfg} file will suppress this calculation and use the supplied fields instead. 
     69\np{cn_domcfg}{cn\_domcfg} file will suppress this calculation and use the supplied fields instead. 
    6170If the model domain is provided by user-supplied code in \mdl{usrdef\_hgr}, then this 
    6271routine should also return \texttt{e1e2u} and \texttt{e1e2v} and set the integer return 
     
    6473will suppress the calculation of the areas. 
    6574 
    66 \item Change values of \texttt{e2u} or \texttt{e1v} (either in the \np{cn\_domcfg} file or 
     75\item Change values of \texttt{e2u} or \texttt{e1v} (either in the \np{cn_domcfg}{cn\_domcfg} file or 
    6776via code in  \mdl{usrdef\_hgr}), whereever a Strait reduction is required. The choice of 
    6877whether to alter \texttt{e2u} or \texttt{e1v} depends. respectively,  on whether the 
     
    7180 
    7281\end{itemize} 
    73  
    7482 
    7583The second method is to increase the viscous boundary layer thickness by a local increase 
     
    8492\texttt{fmask} for any other configuration. 
    8593 
    86 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    8794\begin{figure}[!tbp] 
    88   \begin{center} 
    89     \includegraphics[width=\textwidth]{Fig_Gibraltar} 
    90     \includegraphics[width=\textwidth]{Fig_Gibraltar2} 
    91     \caption{ 
    92       \protect\label{fig:MISC_strait_hand} 
    93       Example of the Gibraltar strait defined in a $1^{\circ} \times 1^{\circ}$ mesh. 
    94       \textit{Top}: using partially open cells. 
    95       The meridional scale factor at $v$-point is reduced on both sides of the strait to account for 
    96       the real width of the strait (about 20 km). 
    97       Note that the scale factors of the strait $T$-point remains unchanged. 
    98       \textit{Bottom}: using viscous boundary layers. 
    99       The four fmask parameters along the strait coastlines are set to a value larger than 4, 
    100       \ie\ "strong" no-slip case (see \autoref{fig:LBC_shlat}) creating a large viscous boundary layer that 
    101       allows a reduced transport through the strait. 
    102     } 
    103   \end{center} 
     95  \centering 
     96  \includegraphics[width=0.66\textwidth]{Fig_Gibraltar} 
     97  \includegraphics[width=0.66\textwidth]{Fig_Gibraltar2} 
     98  \caption[Two methods to defined the Gibraltar strait]{ 
     99    Example of the Gibraltar strait defined in a 1\deg\ $\times$ 1\deg\ mesh. 
     100    \textit{Top}: using partially open cells. 
     101    The meridional scale factor at $v$-point is reduced on both sides of the strait to 
     102    account for the real width of the strait (about 20 km). 
     103    Note that the scale factors of the strait $T$-point remains unchanged. 
     104    \textit{Bottom}: using viscous boundary layers. 
     105    The four fmask parameters along the strait coastlines are set to a value larger than 4, 
     106    \ie\ "strong" no-slip case (see \autoref{fig:LBC_shlat}) creating a large viscous boundary layer 
     107    that allows a reduced transport through the strait.} 
     108  \label{fig:MISC_strait_hand} 
    104109\end{figure} 
    105 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    106  
    107 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     110 
    108111\begin{figure}[!tbp] 
    109   \begin{center} 
    110     \includegraphics[width=\textwidth]{Fig_closea_mask_example} 
    111     \caption{ 
    112       \protect\label{fig:closea_mask_example} 
    113       Example of mask fields for the closea module. \textit{Left}: a 
    114       closea\_mask field; \textit{Right}: a closea\_mask\_rnf 
    115       field. In this example, if ln\_closea is set to .true., the mean 
    116       freshwater flux over each of the American Great Lakes will be 
    117       set to zero, and the total residual for all the lakes, if 
    118       negative, will be put into the St Laurence Seaway in the area 
    119       shown. 
    120     } 
    121   \end{center} 
     112  \centering 
     113  \includegraphics[width=0.66\textwidth]{Fig_closea_mask_example} 
     114  \caption[Mask fields for the \protect\mdl{closea} module]{ 
     115    Example of mask fields for the \protect\mdl{closea} module. 
     116    \textit{Left}: a closea\_mask field; 
     117    \textit{Right}: a closea\_mask\_rnf field. 
     118    In this example, if \protect\np{ln_closea}{ln\_closea} is set to \forcode{.true.}, 
     119    the mean freshwater flux over each of the American Great Lakes will be set to zero, 
     120    and the total residual for all the lakes, if negative, will be put into 
     121    the St Laurence Seaway in the area shown.} 
     122  \label{fig:MISC_closea_mask_example} 
    122123\end{figure} 
    123 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    124  
    125 % ================================================================ 
    126 % Closed seas 
    127 % ================================================================ 
    128 \section[Closed seas (\textit{closea.F90})] 
    129 {Closed seas (\protect\mdl{closea})} 
     124 
     125%% ================================================================================================= 
     126\section[Closed seas (\textit{closea.F90})]{Closed seas (\protect\mdl{closea})} 
    130127\label{sec:MISC_closea} 
    131128 
     
    147144 
    148145\begin{enumerate} 
    149 \item{{\bfseries No ``closea\_mask'' field is included in domain configuration 
     146\item {{\bfseries No ``closea\_mask'' field is included in domain configuration 
    150147  file.} In this case the closea module does nothing.} 
    151148 
    152 \item{{\bfseries A field called closea\_mask is included in the domain 
     149\item {{\bfseries A field called closea\_mask is included in the domain 
    153150configuration file and ln\_closea=.false. in namelist namcfg.} In this 
    154151case the inland seas defined by the closea\_mask field are filled in 
     
    156153closea\_mask that is nonzero is set to be a land point.} 
    157154 
    158 \item{{\bfseries A field called closea\_mask is included in the domain 
     155\item {{\bfseries A field called closea\_mask is included in the domain 
    159156configuration file and ln\_closea=.true. in namelist namcfg.} Each 
    160157inland sea or group of inland seas is set to a positive integer value 
    161 in the closea\_mask field (see Figure \ref{fig:closea_mask_example} 
     158in the closea\_mask field (see \autoref{fig:MISC_closea_mask_example} 
    162159for an example). The net surface flux over each inland sea or group of 
    163160inland seas is set to zero each timestep and the residual flux is 
     
    165162closea\_mask is zero).} 
    166163 
    167 \item{{\bfseries Fields called closea\_mask and closea\_mask\_rnf are 
     164\item {{\bfseries Fields called closea\_mask and closea\_mask\_rnf are 
    168165included in the domain configuration file and ln\_closea=.true. in 
    169166namelist namcfg.} This option works as for option 3, except that if 
     
    174171by the closea\_mask\_rnf field. Each mapping is defined by a positive 
    175172integer value for the inland sea(s) and the corresponding runoff 
    176 points. An example is given in Figure 
    177 \ref{fig:closea_mask_example}. If no mapping is provided for a 
     173points. An example is given in 
     174\autoref{fig:MISC_closea_mask_example}. If no mapping is provided for a 
    178175particular inland sea then the residual is spread over the global 
    179176ocean.} 
    180177 
    181 \item{{\bfseries Fields called closea\_mask and closea\_mask\_emp are 
     178\item {{\bfseries Fields called closea\_mask and closea\_mask\_emp are 
    182179included in the domain configuration file and ln\_closea=.true. in 
    183180namelist namcfg.} This option works the same as option 4 except that 
     
    191188them to the domain configuration file in the utils/tools/DOMAINcfg directory. 
    192189 
    193 % ================================================================ 
    194 % Sub-Domain Functionality 
    195 % ================================================================ 
     190%% ================================================================================================= 
    196191\section{Sub-domain functionality} 
    197192\label{sec:MISC_zoom} 
    198193 
     194%% ================================================================================================= 
    199195\subsection{Simple subsetting of input files via NetCDF attributes} 
    200196 
     
    204200maintain different sets of input fields for use with or without active ice cavities.  This 
    205201subsetting operates for the j-direction only and works by optionally looking for and using 
    206 a global file attribute (named: \np{open\_ocean\_jstart}) to determine the starting j-row 
     202a global file attribute (named: \np{open_ocean_jstart}{open\_ocean\_jstart}) to determine the starting j-row 
    207203for input.  The use of this option is best explained with an example: 
    208204\medskip 
     
    211207configuration using the extended grid domain configuration file: \ifile{eORCA1\_domcfg.nc} 
    212208This file define a horizontal domain of 362x332.  The first row with 
    213 open ocean wet points in the non-isf bathymetry for this set is row 42 (\fortran indexing) 
    214 then the formally correct setting for \np{open\_ocean\_jstart} is 41.  Using this value as 
     209open ocean wet points in the non-isf bathymetry for this set is row 42 (\fortran\ indexing) 
     210then the formally correct setting for \np{open_ocean_jstart}{open\_ocean\_jstart} is 41.  Using this value as 
    215211the first row to be read will result in a 362x292 domain which is the same size as the 
    216212original ORCA1 domain.  Thus the extended domain configuration file can be used with all 
     
    219215 
    220216\begin{itemize} 
    221 \item  Add the new attribute to any input files requiring a j-row offset, i.e: 
     217\item Add the new attribute to any input files requiring a j-row offset, i.e: 
    222218\begin{cmds} 
    223219ncatted  -a open_ocean_jstart,global,a,d,41 eORCA1_domcfg.nc 
    224220\end{cmds} 
    225221 
    226 \item Add the logical switch \np{ln\_use\_jattr} to \nam{cfg} in the configuration 
    227 namelist (if it is not already there) and set \np{.true.} 
     222\item Add the logical switch \np{ln_use_jattr}{ln\_use\_jattr} to \nam{cfg}{cfg} in the configuration 
     223namelist (if it is not already there) and set \forcode{.true.} 
    228224\end{itemize} 
    229225 
    230226\noindent Note that with this option, the j-size of the global domain is (extended 
    231 j-size minus \np{open\_ocean\_jstart} + 1 ) and this must match the \texttt{jpjglo} value 
     227j-size minus \np{open_ocean_jstart}{open\_ocean\_jstart} + 1 ) and this must match the \texttt{jpjglo} value 
    232228for the configuration. This means an alternative version of \ifile{eORCA1\_domcfg.nc} must 
    233 be created for when \np{ln\_use\_jattr} is active. The \texttt{ncap2} tool provides a 
     229be created for when \np{ln_use_jattr}{ln\_use\_jattr} is active. The \texttt{ncap2} tool provides a 
    234230convenient way of achieving this: 
    235231 
     
    243239\texttt{open\_ocean\_jstart} attribute to the file's global attributes. 
    244240In particular this is true for any field that is read by \NEMO\ using the following optional argument to 
    245 the appropriate call to \np{iom\_get}. 
     241the appropriate call to \np{iom_get}{iom\_get}. 
    246242 
    247243\begin{forlines} 
     
    257253conditions. Experimenting with this remains an exercise for the user. 
    258254 
    259 % ================================================================ 
    260 % Accuracy and Reproducibility 
    261 % ================================================================ 
    262 \section[Accuracy and reproducibility (\textit{lib\_fortran.F90})] 
    263 {Accuracy and reproducibility (\protect\mdl{lib\_fortran})} 
     255%% ================================================================================================= 
     256\section[Accuracy and reproducibility (\textit{lib\_fortran.F90})]{Accuracy and reproducibility (\protect\mdl{lib\_fortran})} 
    264257\label{sec:MISC_fortran} 
    265258 
    266 \subsection[Issues with intrinsinc SIGN function (\texttt{\textbf{key\_nosignedzero}})] 
    267 {Issues with intrinsinc SIGN function (\protect\key{nosignedzero})} 
     259%% ================================================================================================= 
     260\subsection[Issues with intrinsinc SIGN function (\texttt{\textbf{key\_nosignedzero}})]{Issues with intrinsinc SIGN function (\protect\key{nosignedzero})} 
    268261\label{subsec:MISC_sign} 
    269262 
    270 The SIGN(A, B) is the \fortran intrinsic function delivers the magnitude of A with the sign of B. 
     263The SIGN(A, B) is the \fortran\ intrinsic function delivers the magnitude of A with the sign of B. 
    271264For example, SIGN(-3.0,2.0) has the value 3.0. 
    272265The problematic case is when the second argument is zero, because, on platforms that support IEEE arithmetic, 
     
    280273and the processor is capable of distinguishing between positive and negative zero, 
    281274and B is negative real zero. 
    282 Then SIGN delivers a negative result where, under \fninety rules, it used to return a positive result. 
     275Then SIGN delivers a negative result where, under \fninety\ rules, it used to return a positive result. 
    283276This change may be especially sensitive for the ice model, 
    284277so we overwrite the intrinsinc function with our own function simply performing :   \\ 
     
    290283some computers/compilers. 
    291284 
    292  
     285%% ================================================================================================= 
    293286\subsection{MPP reproducibility} 
    294287\label{subsec:MISC_glosum} 
     
    320313Note also that this implementation may be sensitive to the optimization level. 
    321314 
     315%% ================================================================================================= 
    322316\subsection{MPP scalability} 
    323317\label{subsec:MISC_mppsca} 
     
    339333be set at all the locations actually required by each individual for the fold operation. 
    340334This alternative method should give identical results to the default \textsc{ALLGATHER} method and 
    341 is recommended for large values of \np{jpni}. 
    342 The new method is activated by setting \np{ln\_nnogather} to be true (\nam{mpp}). 
     335is recommended for large values of \np{jpni}{jpni}. 
     336The new method is activated by setting \np{ln_nnogather}{ln\_nnogather} to be true (\nam{mpp}{mpp}). 
    343337The reproducibility of results using the two methods should be confirmed for each new, 
    344338non-reference configuration. 
    345339 
    346 % ================================================================ 
    347 % Model optimisation, Control Print and Benchmark 
    348 % ================================================================ 
     340%% ================================================================================================= 
    349341\section{Model optimisation, control print and benchmark} 
    350342\label{sec:MISC_opt} 
    351 %--------------------------------------------namctl------------------------------------------------------- 
    352  
    353 \nlst{namctl} 
    354 %-------------------------------------------------------------------------------------------------------------- 
    355  
    356 Options are defined through the  \nam{ctl} namelist variables. 
    357  
     343 
     344\begin{listing} 
     345  \nlst{namctl} 
     346  \caption{\forcode{&namctl}} 
     347  \label{lst:namctl} 
     348\end{listing} 
     349 
     350Options are defined through the  \nam{ctl}{ctl} namelist variables. 
     351 
     352%% ================================================================================================= 
    358353\subsection{Vector optimisation} 
    359354 
     
    366361% Add also one word on NEC specific optimisation (Novercheck option for example) 
    367362 
     363%% ================================================================================================= 
    368364\subsection{Control print} 
    369365 
    370 The \np{ln\_ctl} switch was originally used as a debugging option in two modes: 
     366The \np{ln_ctl}{ln\_ctl} switch was originally used as a debugging option in two modes: 
    371367 
    372368\begin{enumerate} 
    373 \item{\np{ln\_ctl}: compute and print the trends averaged over the interior domain in all TRA, DYN, LDF and 
     369\item {\np{ln_ctl}{ln\_ctl}: compute and print the trends averaged over the interior domain in all TRA, DYN, LDF and 
    374370ZDF modules. 
    375371This option is very helpful when diagnosing the origin of an undesired change in model results. } 
    376372 
    377 \item{also \np{ln\_ctl} but using the nictl and njctl namelist parameters to check the source of differences between 
     373\item {also \np{ln_ctl}{ln\_ctl} but using the nictl and njctl namelist parameters to check the source of differences between 
    378374mono and multi processor runs.} 
    379375\end{enumerate} 
    380376 
    381377However, in recent versions it has also been used to force all processors to assume the 
    382 reporting role. Thus when \np{ln\_ctl} is true all processors produce their own versions 
     378reporting role. Thus when \np{ln_ctl}{ln\_ctl} is true all processors produce their own versions 
    383379of files such as: ocean.output, layout.dat, etc.  All such files, beyond the the normal 
    384380reporting processor (narea == 1), are named with a \_XXXX extension to their name, where 
     
    386382such as run.stat (and its netCDF counterpart: run.stat.nc) and tracer.stat contain global 
    387383information and are only ever produced by the reporting master (narea == 1). For version 
    388 4.0 a start has been made to return \np{ln\_ctl} to its original function by introducing 
     3844.0 a start has been made to return \np{ln_ctl}{ln\_ctl} to its original function by introducing 
    389385a new control structure which allows finer control over which files are produced. This 
    390386feature is still evolving but it does already allow the user to: select individually the 
     
    419415increment also applies to the time.step file which is otherwise updated every timestep. 
    420416 
    421 % ================================================================ 
    422 \biblio 
    423  
    424 \pindex 
     417\onlyinsubfile{\input{../../global/epilogue}} 
    425418 
    426419\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_model_basics.tex

    r11435 r11799  
    1  
    21\documentclass[../main/NEMO_manual]{subfiles} 
    32 
    43\begin{document} 
    54 
    6 % ================================================================ 
    7 % Chapter 1  Model Basics 
    8 % ================================================================ 
    95\chapter{Model Basics} 
    10 \label{chap:PE} 
     6\label{chap:MB} 
     7 
     8\thispagestyle{plain} 
    119 
    1210\chaptertoc 
    1311 
    14 \newpage 
    15  
    16 % ================================================================ 
    17 % Primitive Equations 
    18 % ================================================================ 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabular}{l||l|l} 
     16    Release          & Author(s)                                   & Modifications       \\ 
     17    \hline 
     18    {\em        4.0} & {\em Mike Bell                            } & {\em Review       } \\ 
     19    {\em        3.6} & {\em Tim Graham and Gurvan Madec          } & {\em Updates      } \\ 
     20    {\em $\leq$ 3.4} & {\em Gurvan Madec and S\'{e}bastien Masson} & {\em First version} \\ 
     21  \end{tabular} 
     22} 
     23 
     24\clearpage 
     25 
     26%% ================================================================================================= 
    1927\section{Primitive equations} 
    20 \label{sec:PE_PE} 
    21  
    22 % ------------------------------------------------------------------------------------------------------------- 
    23 %        Vector Invariant Formulation 
    24 % ------------------------------------------------------------------------------------------------------------- 
    25  
     28\label{sec:MB_PE} 
     29 
     30%% ================================================================================================= 
    2631\subsection{Vector invariant formulation} 
    27 \label{subsec:PE_Vector} 
     32\label{subsec:MB_PE_vector} 
    2833 
    2934The ocean is a fluid that can be described to a good approximation by the primitive equations, 
     
    3237plus the following additional assumptions made from scale considerations: 
    3338 
    34 \begin{enumerate} 
    35 \item 
    36   \textit{spherical Earth approximation}: the geopotential surfaces are assumed to be oblate spheriods 
    37   that follow the Earth's bulge; these spheroids are approximated by spheres with 
    38   gravity locally vertical (parallel to the Earth's radius) and independent of latitude 
     39\begin{labeling}{Neglect of additional Coriolis terms} 
     40\item [\textit{Spherical Earth approximation}] The geopotential surfaces are assumed to 
     41  be oblate spheroids that follow the Earth's bulge; 
     42  these spheroids are approximated by spheres with gravity locally vertical 
     43  (parallel to the Earth's radius) and independent of latitude 
    3944  \citep[][section 2]{white.hoskins.ea_QJRMS05}. 
    40 \item 
    41   \textit{thin-shell approximation}: the ocean depth is neglected compared to the earth's radius 
    42 \item 
    43   \textit{turbulent closure hypothesis}: the turbulent fluxes 
     45\item [\textit{Thin-shell approximation}] The ocean depth is neglected compared to the earth's radius 
     46\item [\textit{Turbulent closure hypothesis}] The turbulent fluxes 
    4447  (which represent the effect of small scale processes on the large-scale) 
    4548  are expressed in terms of large-scale features 
    46 \item 
    47   \textit{Boussinesq hypothesis}: density variations are neglected except in their contribution to 
    48   the buoyancy force 
     49\item [\textit{Boussinesq hypothesis}] Density variations are neglected except in 
     50  their contribution to the buoyancy force 
    4951  \begin{equation} 
    50     \label{eq:PE_eos} 
     52    \label{eq:MB_PE_eos} 
    5153    \rho = \rho \ (T,S,p) 
    5254  \end{equation} 
    53 \item 
    54   \textit{Hydrostatic hypothesis}: the vertical momentum equation is reduced to a balance between 
    55   the vertical pressure gradient and the buoyancy force 
     55\item [\textit{Hydrostatic hypothesis}] The vertical momentum equation is reduced to 
     56  a balance between the vertical pressure gradient and the buoyancy force 
    5657  (this removes convective processes from the initial Navier-Stokes equations and so 
    5758  convective processes must be parameterized instead) 
    5859  \begin{equation} 
    59     \label{eq:PE_hydrostatic} 
     60    \label{eq:MB_PE_hydrostatic} 
    6061    \pd[p]{z} = - \rho \ g 
    6162  \end{equation} 
    62 \item 
    63   \textit{Incompressibility hypothesis}: the three dimensional divergence of the velocity vector $\vect U$ 
    64   is assumed to be zero. 
     63\item [\textit{Incompressibility hypothesis}] The three dimensional divergence of 
     64  the velocity vector $\vect U$ is assumed to be zero. 
    6565  \begin{equation} 
    66     \label{eq:PE_continuity} 
     66    \label{eq:MB_PE_continuity} 
    6767    \nabla \cdot \vect U = 0 
    6868  \end{equation} 
    69  \item 
    70   \textit{Neglect of additional Coriolis terms}: the Coriolis terms that vary with the cosine of latitude are neglected. 
    71   These terms may be non-negligible where the Brunt-Vaisala frequency $N$ is small, either in the deep ocean or 
    72   in the sub-mesoscale motions of the mixed layer, or near the equator \citep[][section 1]{white.hoskins.ea_QJRMS05}. 
    73   They can be consistently included as part of the ocean dynamics \citep[][section 3(d)]{white.hoskins.ea_QJRMS05} and are 
    74   retained in the MIT ocean model. 
    75 \end{enumerate} 
     69\item [\textit{Neglect of additional Coriolis terms}] The Coriolis terms that vary with 
     70  the cosine of latitude are neglected. 
     71  These terms may be non-negligible where the Brunt-V\"{a}is\"{a}l\"{a} frequency $N$ is small, 
     72  either in the deep ocean or in the sub-mesoscale motions of the mixed layer, 
     73  or near the equator \citep[][section 1]{white.hoskins.ea_QJRMS05}. 
     74  They can be consistently included as part of the ocean dynamics 
     75  \citep[][section 3(d)]{white.hoskins.ea_QJRMS05} and are retained in the MIT ocean model. 
     76\end{labeling} 
    7677 
    7778Because the gravitational force is so dominant in the equations of large-scale motions, 
     
    7980$k$ is the local upward vector and $(i,j)$ are two vectors orthogonal to $k$, 
    8081\ie\ tangent to the geopotential surfaces. 
    81 Let us define the following variables: $\vect U$ the vector velocity, $\vect U = \vect U_h + w \, \vect k$ 
     82Let us define the following variables: 
     83$\vect U$ the vector velocity, $\vect U = \vect U_h + w \, \vect k$ 
    8284(the subscript $h$ denotes the local horizontal vector, \ie\ over the $(i,j)$ plane), 
    8385$T$ the potential temperature, $S$ the salinity, $\rho$ the \textit{in situ} density. 
     
    8587the following equations: 
    8688\begin{subequations} 
    87   \label{eq:PE} 
     89  \label{eq:MB_PE} 
    8890  \begin{gather} 
    89     \intertext{$-$ the momentum balance} 
    90     \label{eq:PE_dyn} 
    91     \pd[\vect U_h]{t} = - \lt[ (\nabla \times \vect U) \times \vect U + \frac{1}{2} \nabla \lt( \vect U^2 \rt) \rt]_h 
    92                         - f \; k \times \vect U_h - \frac{1}{\rho_o} \nabla_h p 
    93                         + \vect D^{\vect U} + \vect F^{\vect U} \\ 
    94     \intertext{$-$ the heat and salt conservation equations} 
    95     \label{eq:PE_tra_T} 
     91    \shortintertext{$-$ the momentum balance} 
     92    \label{eq:MB_PE_dyn} 
     93    \pd[\vect U_h]{t} = - \lt[ (\nabla \times \vect U) \times \vect U + \frac{1}{2} \nabla \lt( \vect U^2 \rt) \rt]_h - f \; k \times \vect U_h - \frac{1}{\rho_o} \nabla_h p + \vect D^{\vect U} + \vect F^{\vect U} 
     94    \shortintertext{$-$ the heat and salt conservation equations} 
     95    \label{eq:MB_PE_tra_T} 
    9696    \pd[T]{t} = - \nabla \cdot (T \ \vect U) + D^T + F^T \\ 
    97     \label{eq:PE_tra_S} 
     97    \label{eq:MB_PE_tra_S} 
    9898    \pd[S]{t} = - \nabla \cdot (S \ \vect U) + D^S + F^S 
    9999  \end{gather} 
     
    101101where $\nabla$ is the generalised derivative vector operator in $(i,j,k)$ directions, $t$ is the time, 
    102102$z$ is the vertical coordinate, $\rho$ is the \textit{in situ} density given by the equation of state 
    103 (\autoref{eq:PE_eos}), $\rho_o$ is a reference density, $p$ the pressure, 
     103(\autoref{eq:MB_PE_eos}), $\rho_o$ is a reference density, $p$ the pressure, 
    104104$f = 2 \vect \Omega \cdot k$ is the Coriolis acceleration 
    105 (where $\vect \Omega$ is the Earth's angular velocity vector), and $g$ is the gravitational acceleration. 
     105(where $\vect \Omega$ is the Earth's angular velocity vector), 
     106and $g$ is the gravitational acceleration. 
    106107$\vect D^{\vect U}$, $D^T$ and $D^S$ are the parameterisations of small-scale physics for momentum, 
    107108temperature and salinity, and $\vect F^{\vect U}$, $F^T$ and $F^S$ surface forcing terms. 
    108 Their nature and formulation are discussed in \autoref{sec:PE_zdf_ldf} and \autoref{subsec:PE_boundary_condition}. 
    109  
    110 % ------------------------------------------------------------------------------------------------------------- 
    111 % Boundary condition 
    112 % ------------------------------------------------------------------------------------------------------------- 
     109Their nature and formulation are discussed in \autoref{sec:MB_zdf_ldf} and 
     110\autoref{subsec:MB_boundary_condition}. 
     111 
     112%% ================================================================================================= 
    113113\subsection{Boundary conditions} 
    114 \label{subsec:PE_boundary_condition} 
     114\label{subsec:MB_boundary_condition} 
    115115 
    116116An ocean is bounded by complex coastlines, bottom topography at its base and 
     
    119119where $H$ is the depth of the ocean bottom and $\eta$ is the height of the sea surface 
    120120(discretisation can introduce additional artificial ``side-wall'' boundaries). 
    121 Both $H$ and $\eta$ are referenced to a surface of constant geopotential (\ie\ a mean sea surface height) on which $z = 0$. 
    122 (\autoref{fig:ocean_bc}). 
    123 Through these two boundaries, the ocean can exchange fluxes of heat, fresh water, salt, and momentum with 
    124 the solid earth, the continental margins, the sea ice and the atmosphere. 
    125 However, some of these fluxes are so weak that even on climatic time scales of thousands of years 
    126 they can be neglected. 
     121Both $H$ and $\eta$ are referenced to a surface of constant geopotential 
     122(\ie\ a mean sea surface height) on which $z = 0$ (\autoref{fig:MB_ocean_bc}). 
     123Through these two boundaries, the ocean can exchange fluxes of heat, fresh water, salt, 
     124and momentum with the solid earth, the continental margins, the sea ice and the atmosphere. 
     125However, some of these fluxes are so weak that 
     126even on climatic time scales of thousands of years they can be neglected. 
    127127In the following, we briefly review the fluxes exchanged at the interfaces between the ocean and 
    128128the other components of the earth system. 
    129129 
    130 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    131 \begin{figure}[!ht] 
    132   \begin{center} 
    133     \includegraphics[width=\textwidth]{Fig_I_ocean_bc} 
    134     \caption{ 
    135       \protect\label{fig:ocean_bc} 
    136       The ocean is bounded by two surfaces, $z = - H(i,j)$ and $z = \eta(i,j,t)$, 
    137       where $H$ is the depth of the sea floor and $\eta$ the height of the sea surface. 
    138       Both $H$ and $\eta$ are referenced to $z = 0$. 
    139     } 
    140   \end{center} 
     130\begin{figure} 
     131  \centering 
     132  \includegraphics[width=0.66\textwidth]{Fig_I_ocean_bc} 
     133  \caption[Ocean boundary conditions]{ 
     134    The ocean is bounded by two surfaces, $z = - H(i,j)$ and $z = \eta(i,j,t)$, 
     135    where $H$ is the depth of the sea floor and $\eta$ the height of the sea surface. 
     136    Both $H$ and $\eta$ are referenced to $z = 0$.} 
     137  \label{fig:MB_ocean_bc} 
    141138\end{figure} 
    142 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    143139 
    144140\begin{description} 
    145 \item[Land - ocean interface:] 
    146   the major flux between continental margins and the ocean is a mass exchange of fresh water through river runoff. 
     141\item [Land - ocean] The major flux between continental margins and the ocean is a mass exchange of 
     142  fresh water through river runoff. 
    147143  Such an exchange modifies the sea surface salinity especially in the vicinity of major river mouths. 
    148   It can be neglected for short range integrations but has to be taken into account for long term integrations as 
     144  It can be neglected for short range integrations but 
     145  has to be taken into account for long term integrations as 
    149146  it influences the characteristics of water masses formed (especially at high latitudes). 
    150147  It is required in order to close the water cycle of the climate system. 
    151   It is usually specified as a fresh water flux at the air-sea interface in the vicinity of river mouths. 
    152 \item[Solid earth - ocean interface:] 
    153   heat and salt fluxes through the sea floor are small, except in special areas of little extent. 
    154   They are usually neglected in the model 
    155   \footnote{ 
     148  It is usually specified as a fresh water flux at the air-sea interface in 
     149  the vicinity of river mouths. 
     150\item [Solid earth - ocean] Heat and salt fluxes through the sea floor are small, 
     151  except in special areas of little extent. 
     152  They are usually neglected in the model \footnote{ 
    156153    In fact, it has been shown that the heat flux associated with the solid Earth cooling 
    157     (\ie\ the geothermal heating) is not negligible for the thermohaline circulation of the world ocean 
    158     (see \autoref{subsec:TRA_bbc}). 
     154    (\ie\ the geothermal heating) is not negligible for 
     155    the thermohaline circulation of the world ocean (see \autoref{subsec:TRA_bbc}). 
    159156  }. 
    160157  The boundary condition is thus set to no flux of heat and salt across solid boundaries. 
    161   For momentum, the situation is different. There is no flow across solid boundaries, 
    162   \ie\ the velocity normal to the ocean bottom and coastlines is zero (in other words, 
    163   the bottom velocity is parallel to solid boundaries). This kinematic boundary condition 
    164   can be expressed as: 
     158  For momentum, the situation is different. 
     159  There is no flow across solid boundaries, 
     160  \ie\ the velocity normal to the ocean bottom and coastlines is zero 
     161  (in other words, the bottom velocity is parallel to solid boundaries). 
     162  This kinematic boundary condition can be expressed as: 
    165163  \begin{equation} 
    166     \label{eq:PE_w_bbc} 
     164    \label{eq:MB_w_bbc} 
    167165    w = - \vect U_h \cdot \nabla_h (H) 
    168166  \end{equation} 
    169167  In addition, the ocean exchanges momentum with the earth through frictional processes. 
    170168  Such momentum transfer occurs at small scales in a boundary layer. 
    171   It must be parameterized in terms of turbulent fluxes using bottom and/or lateral boundary conditions. 
     169  It must be parameterized in terms of turbulent fluxes using 
     170  bottom and/or lateral boundary conditions. 
    172171  Its specification depends on the nature of the physical parameterisation used for 
    173   $\vect D^{\vect U}$ in \autoref{eq:PE_dyn}. 
    174   It is discussed in \autoref{eq:PE_zdf}.% and Chap. III.6 to 9. 
    175 \item[Atmosphere - ocean interface:] 
    176   the kinematic surface condition plus the mass flux of fresh water PE (the precipitation minus evaporation budget) 
    177   leads to: 
     172  $\vect D^{\vect U}$ in \autoref{eq:MB_PE_dyn}. 
     173  It is discussed in \autoref{eq:MB_zdf}. % and Chap. III.6 to 9. 
     174\item [Atmosphere - ocean] The kinematic surface condition plus the mass flux of fresh water PE 
     175  (the precipitation minus evaporation budget) leads to: 
    178176  \[ 
    179     % \label{eq:PE_w_sbc} 
     177    % \label{eq:MB_w_sbc} 
    180178    w = \pd[\eta]{t} + \lt. \vect U_h \rt|_{z = \eta} \cdot \nabla_h (\eta) + P - E 
    181179  \] 
    182   The dynamic boundary condition, neglecting the surface tension (which removes capillary waves from the system) 
    183   leads to the continuity of pressure across the interface $z = \eta$. 
     180  The dynamic boundary condition, neglecting the surface tension 
     181  (which removes capillary waves from the system) leads to 
     182  the continuity of pressure across the interface $z = \eta$. 
    184183  The atmosphere and ocean also exchange horizontal momentum (wind stress), and heat. 
    185 \item[Sea ice - ocean interface:] 
    186   the ocean and sea ice exchange heat, salt, fresh water and momentum. 
     184\item [Sea ice - ocean] The ocean and sea ice exchange heat, salt, fresh water and momentum. 
    187185  The sea surface temperature is constrained to be at the freezing point at the interface. 
    188186  Sea ice salinity is very low ($\sim4-6 \, psu$) compared to those of the ocean ($\sim34 \, psu$). 
    189   The cycle of freezing/melting is associated with fresh water and salt fluxes that cannot be neglected. 
     187  The cycle of freezing/melting is associated with fresh water and salt fluxes that 
     188  cannot be neglected. 
    190189\end{description} 
    191190 
    192 % ================================================================ 
    193 % The Horizontal Pressure Gradient 
    194 % ================================================================ 
     191%% ================================================================================================= 
    195192\section{Horizontal pressure gradient} 
    196 \label{sec:PE_hor_pg} 
    197  
    198 % ------------------------------------------------------------------------------------------------------------- 
    199 % Pressure Formulation 
    200 % ------------------------------------------------------------------------------------------------------------- 
     193\label{sec:MB_hor_pg} 
     194 
     195%% ================================================================================================= 
    201196\subsection{Pressure formulation} 
    202 \label{subsec:PE_p_formulation} 
     197\label{subsec:MB_p_formulation} 
    203198 
    204199The total pressure at a given depth $z$ is composed of a surface pressure $p_s$ at 
    205200a reference geopotential surface ($z = 0$) and a hydrostatic pressure $p_h$ such that: 
    206201$p(i,j,k,t) = p_s(i,j,t) + p_h(i,j,k,t)$. 
    207 The latter is computed by integrating (\autoref{eq:PE_hydrostatic}), 
    208 assuming that pressure in decibars can be approximated by depth in meters in (\autoref{eq:PE_eos}). 
     202The latter is computed by integrating (\autoref{eq:MB_PE_hydrostatic}), 
     203assuming that pressure in decibars can be approximated by depth in meters in (\autoref{eq:MB_PE_eos}). 
    209204The hydrostatic pressure is then given by: 
    210205\[ 
    211   % \label{eq:PE_pressure} 
     206  % \label{eq:MB_pressure} 
    212207  p_h (i,j,z,t) = \int_{\varsigma = z}^{\varsigma = 0} g \; \rho (T,S,\varsigma) \; d \varsigma 
    213208\] 
    214209Two strategies can be considered for the surface pressure term: 
    215 $(a)$ introduce of a  new variable $\eta$, the free-surface elevation, 
     210\begin{enumerate*}[label=(\textit{\alph*})] 
     211\item introduce of a new variable $\eta$, the free-surface elevation, 
    216212for which a prognostic equation can be established and solved; 
    217 $(b)$ assume that the ocean surface is a rigid lid, 
     213\item assume that the ocean surface is a rigid lid, 
    218214on which the pressure (or its horizontal gradient) can be diagnosed. 
     215\end{enumerate*} 
    219216When the former strategy is used, one solution of the free-surface elevation consists of 
    220217the excitation of external gravity waves. 
     
    227224modifies certain other longwave dynamics (\eg\ barotropic Rossby or planetary waves). 
    228225The rigid-lid hypothesis is an obsolescent feature in modern OGCMs. 
    229 It has been available until the release 3.1 of \NEMO, and it has been removed in release 3.2 and followings. 
     226It has been available until the release 3.1 of \NEMO, 
     227and it has been removed in release 3.2 and followings. 
    230228Only the free surface formulation is now described in this document (see the next sub-section). 
    231229 
    232 % ------------------------------------------------------------------------------------------------------------- 
    233 % Free Surface Formulation 
    234 % ------------------------------------------------------------------------------------------------------------- 
     230%% ================================================================================================= 
    235231\subsection{Free surface formulation} 
    236 \label{subsec:PE_free_surface} 
     232\label{subsec:MB_free_surface} 
    237233 
    238234In the free surface formulation, a variable $\eta$, the sea-surface height, 
    239235is introduced which describes the shape of the air-sea interface. 
    240 This variable is solution of a prognostic equation which is established by forming the vertical average of 
    241 the kinematic surface condition (\autoref{eq:PE_w_bbc}): 
     236This variable is solution of a prognostic equation which is established by 
     237forming the vertical average of the kinematic surface condition (\autoref{eq:MB_w_bbc}): 
    242238\begin{equation} 
    243   \label{eq:PE_ssh} 
     239  \label{eq:MB_ssh} 
    244240  \pd[\eta]{t} = - D + P - E \quad \text{where} \quad D = \nabla \cdot \lt[ (H + \eta) \; \overline{U}_h \, \rt] 
    245241\end{equation} 
    246 and using (\autoref{eq:PE_hydrostatic}) the surface pressure is given by: $p_s = \rho \, g \, \eta$. 
    247  
    248 Allowing the air-sea interface to move introduces the external gravity waves (EGWs) as 
     242and using (\autoref{eq:MB_PE_hydrostatic}) the surface pressure is given by: 
     243$p_s = \rho \, g \, \eta$. 
     244 
     245Allowing the air-sea interface to move introduces 
     246the \textbf{E}xternal \textbf{G}ravity \textbf{W}aves (EGWs) as 
    249247a class of solution of the primitive equations. 
    250248These waves are barotropic (\ie\ nearly independent of depth) and their phase speed is quite high. 
     
    253251Two choices can be made regarding the implementation of the free surface in the model, 
    254252depending on the physical processes of interest. 
    255  
    256 $\bullet$ If one is interested in EGWs, in particular the tides and their interaction with 
    257 the baroclinic structure of the ocean (internal waves) possibly in shallow seas, 
    258 then a non linear free surface is the most appropriate. 
    259 This means that no approximation is made in \autoref{eq:PE_ssh} and that 
    260 the variation of the ocean volume is fully taken into account. 
    261 Note that in order to study the fast time scales associated with EGWs it is necessary to 
    262 minimize time filtering effects 
    263 (use an explicit time scheme with very small time step, or a split-explicit scheme with reasonably small time step, 
    264 see \autoref{subsec:DYN_spg_exp} or \autoref{subsec:DYN_spg_ts}). 
    265  
    266 $\bullet$ If one is not interested in EGW but rather sees them as high frequency noise, 
    267 it is possible to apply an explicit filter to slow down the fastest waves while 
    268 not altering the slow barotropic Rossby waves. 
    269 If further, an approximative conservation of heat and salt contents is sufficient for the problem solved, 
    270 then it is sufficient to solve a linearized version of \autoref{eq:PE_ssh}, 
    271 which still allows to take into account freshwater fluxes applied at the ocean surface \citep{roullet.madec_JGR00}. 
    272 Nevertheless, with the linearization, an exact conservation of heat and salt contents is lost. 
    273  
    274 The filtering of EGWs in models with a free surface is usually a matter of discretisation of 
    275 the temporal derivatives, 
     253\begin{itemize} 
     254\item If one is interested in EGWs, in particular the tides and their interaction with 
     255  the baroclinic structure of the ocean (internal waves) possibly in shallow seas, 
     256  then a non linear free surface is the most appropriate. 
     257  This means that no approximation is made in \autoref{eq:MB_ssh} and that 
     258  the variation of the ocean volume is fully taken into account. 
     259  Note that in order to study the fast time scales associated with EGWs it is necessary to 
     260  minimize time filtering effects 
     261  (use an explicit time scheme with very small time step, 
     262  or a split-explicit scheme with reasonably small time step, 
     263  see \autoref{subsec:DYN_spg_exp} or \autoref{subsec:DYN_spg_ts}). 
     264\item If one is not interested in EGWs but rather sees them as high frequency noise, 
     265  it is possible to apply an explicit filter to slow down the fastest waves while 
     266  not altering the slow barotropic Rossby waves. 
     267  If further, an approximative conservation of heat and salt contents is sufficient for 
     268  the problem solved, then it is sufficient to solve a linearized version of \autoref{eq:MB_ssh}, 
     269  which still allows to take into account freshwater fluxes applied at the ocean surface 
     270  \citep{roullet.madec_JGR00}. 
     271  Nevertheless, with the linearization, an exact conservation of heat and salt contents is lost. 
     272\end{itemize} 
     273The filtering of EGWs in models with a free surface is usually 
     274a matter of discretisation of the temporal derivatives, 
    276275using a split-explicit method \citep{killworth.webb.ea_JPO91, zhang.endoh_JGR92} or 
    277 the implicit scheme \citep{dukowicz.smith_JGR94} or 
    278 the addition of a filtering force in the momentum equation \citep{roullet.madec_JGR00}. 
    279 With the present release, \NEMO\  offers the choice between 
    280 an explicit free surface (see \autoref{subsec:DYN_spg_exp}) or 
    281 a split-explicit scheme strongly inspired the one proposed by \citet{shchepetkin.mcwilliams_OM05} 
    282 (see \autoref{subsec:DYN_spg_ts}). 
    283  
    284 % ================================================================ 
    285 % Curvilinear z-coordinate System 
    286 % ================================================================ 
    287 \section{Curvilinear \textit{z-}coordinate system} 
    288 \label{sec:PE_zco} 
    289  
    290 % ------------------------------------------------------------------------------------------------------------- 
    291 % Tensorial Formalism 
    292 % ------------------------------------------------------------------------------------------------------------- 
     276the implicit scheme \citep{dukowicz.smith_JGR94} or the addition of a filtering force in 
     277the momentum equation \citep{roullet.madec_JGR00}. 
     278With the present release, \NEMO\ offers the choice between an explicit free surface 
     279(see \autoref{subsec:DYN_spg_exp}) or a split-explicit scheme strongly inspired the one proposed by 
     280\citet{shchepetkin.mcwilliams_OM05} (see \autoref{subsec:DYN_spg_ts}). 
     281 
     282%% ================================================================================================= 
     283\section{Curvilinear \textit{z}-coordinate system} 
     284\label{sec:MB_zco} 
     285 
     286%% ================================================================================================= 
    293287\subsection{Tensorial formalism} 
    294 \label{subsec:PE_tensorial} 
     288\label{subsec:MB_tensorial} 
    295289 
    296290In many ocean circulation problems, the flow field has regions of enhanced dynamics 
     
    304298A solution consists of introducing an appropriate coordinate transformation that 
    305299shifts the singular point onto land \citep{madec.imbard_CD96, murray_JCP96}. 
    306 As a consequence, it is important to solve the primitive equations in various curvilinear coordinate systems. 
    307 An efficient way of introducing an appropriate coordinate transform can be found when using a tensorial formalism. 
     300As a consequence, 
     301it is important to solve the primitive equations in various curvilinear coordinate systems. 
     302An efficient way of introducing an appropriate coordinate transform can be found when 
     303using a tensorial formalism. 
    308304This formalism is suited to any multidimensional curvilinear coordinate system. 
    309 Ocean modellers mainly use three-dimensional orthogonal grids on the sphere (spherical earth approximation), 
    310 with preservation of the local vertical. Here we give the simplified equations for this particular case. 
    311 The general case is detailed by \citet{eiseman.stone_SR80} in their survey of the conservation laws of fluid dynamics. 
     305Ocean modellers mainly use three-dimensional orthogonal grids on the sphere 
     306(spherical earth approximation), with preservation of the local vertical. 
     307Here we give the simplified equations for this particular case. 
     308The general case is detailed by \citet{eiseman.stone_SR80} in 
     309their survey of the conservation laws of fluid dynamics. 
    312310 
    313311Let $(i,j,k)$ be a set of orthogonal curvilinear coordinates on 
     
    315313$(i,j,k)$ linked to the earth such that 
    316314$k$ is the local upward vector and $(i,j)$ are two vectors orthogonal to $k$, 
    317 \ie\ along geopotential surfaces (\autoref{fig:referential}). 
     315\ie\ along geopotential surfaces (\autoref{fig:MB_referential}). 
    318316Let $(\lambda,\varphi,z)$ be the geographical coordinate system in which a position is defined by 
    319317the latitude $\varphi(i,j)$, the longitude $\lambda(i,j)$ and 
    320318the distance from the centre of the earth $a + z(k)$ where $a$ is the earth's radius and 
    321 $z$ the altitude above a reference sea level (\autoref{fig:referential}). 
     319$z$ the altitude above a reference sea level (\autoref{fig:MB_referential}). 
    322320The local deformation of the curvilinear coordinate system is given by $e_1$, $e_2$ and $e_3$, 
    323321the three scale factors: 
    324322\begin{equation} 
    325   \label{eq:scale_factors} 
    326   \begin{aligned} 
    327     e_1 &= (a + z) \lt[ \lt( \pd[\lambda]{i} \cos \varphi \rt)^2 + \lt( \pd[\varphi]{i} \rt)^2 \rt]^{1/2} \\ 
    328     e_2 &= (a + z) \lt[ \lt( \pd[\lambda]{j} \cos \varphi \rt)^2 + \lt( \pd[\varphi]{j} \rt)^2 \rt]^{1/2} \\ 
    329     e_3 &= \lt( \pd[z]{k} \rt) 
    330   \end{aligned} 
     323  \label{eq:MB_scale_factors} 
     324    e_1 = (a + z) \lt[ \lt( \pd[\lambda]{i} \cos \varphi \rt)^2 + \lt( \pd[\varphi]{i} \rt)^2 \rt]^{1/2} \quad e_2 = (a + z) \lt[ \lt( \pd[\lambda]{j} \cos \varphi \rt)^2 + \lt( \pd[\varphi]{j} \rt)^2 \rt]^{1/2} \quad e_3 = \lt( \pd[z]{k} \rt) 
    331325\end{equation} 
    332326 
    333 % >>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    334 \begin{figure}[!tb] 
    335   \begin{center} 
    336     \includegraphics[width=\textwidth]{Fig_I_earth_referential} 
    337     \caption{ 
    338       \protect\label{fig:referential} 
    339       the geographical coordinate system $(\lambda,\varphi,z)$ and the curvilinear 
    340       coordinate system $(i,j,k)$. 
    341     } 
    342   \end{center} 
     327\begin{figure} 
     328  \centering 
     329  \includegraphics[width=0.33\textwidth]{Fig_I_earth_referential} 
     330  \caption[Geographical and curvilinear coordinate systems]{ 
     331    the geographical coordinate system $(\lambda,\varphi,z)$ and the curvilinear 
     332    coordinate system $(i,j,k)$.} 
     333  \label{fig:MB_referential} 
    343334\end{figure} 
    344 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    345335 
    346336Since the ocean depth is far smaller than the earth's radius, $a + z$, can be replaced by $a$ in 
    347 (\autoref{eq:scale_factors}) (thin-shell approximation). 
     337(\autoref{eq:MB_scale_factors}) (thin-shell approximation). 
    348338The resulting horizontal scale factors $e_1$, $e_2$  are independent of $k$ while 
    349339the vertical scale factor is a single function of $k$ as $k$ is parallel to $z$. 
    350340The scalar and vector operators that appear in the primitive equations 
    351 (\autoref{eq:PE_dyn} to \autoref{eq:PE_eos}) can then be written in the tensorial form, 
     341(\autoref{eq:MB_PE_dyn} to \autoref{eq:MB_PE_eos}) can then be written in the tensorial form, 
    352342invariant in any orthogonal horizontal curvilinear coordinate system transformation: 
    353343\begin{subequations} 
    354   % \label{eq:PE_discrete_operators} 
    355   \begin{gather} 
    356     \label{eq:PE_grad} 
    357     \nabla q =   \frac{1}{e_1} \pd[q]{i} \; \vect i 
    358                + \frac{1}{e_2} \pd[q]{j} \; \vect j 
    359                + \frac{1}{e_3} \pd[q]{k} \; \vect k \\ 
    360     \label{eq:PE_div} 
    361     \nabla \cdot \vect A =   \frac{1}{e_1 \; e_2} \lt[ \pd[(e_2 \; a_1)]{\partial i} + \pd[(e_1 \; a_2)]{j} \rt] 
    362                            + \frac{1}{e_3} \lt[ \pd[a_3]{k} \rt] 
    363   \end{gather} 
    364   \begin{multline} 
    365     \label{eq:PE_curl} 
    366       \nabla \times \vect{A} =   \lt[ \frac{1}{e_2} \pd[a_3]{j} - \frac{1}{e_3} \pd[a_2]{k}   \rt] \vect i \\ 
    367                                + \lt[ \frac{1}{e_3} \pd[a_1]{k} - \frac{1}{e_1} \pd[a_3]{i}   \rt] \vect j \\ 
    368                                + \frac{1}{e_1 e_2} \lt[ \pd[(e_2 a_2)]{i} - \pd[(e_1 a_1)]{j} \rt] \vect k 
    369   \end{multline} 
    370   \begin{gather} 
    371     \label{eq:PE_lap} 
    372     \Delta q = \nabla \cdot (\nabla q) \\ 
    373     \label{eq:PE_lap_vector} 
    374     \Delta \vect A = \nabla (\nabla \cdot \vect A) - \nabla \times (\nabla \times \vect A) 
    375   \end{gather} 
     344  % \label{eq:MB_discrete_operators} 
     345  \begin{align} 
     346    \label{eq:MB_grad} 
     347    \nabla q &=   \frac{1}{e_1} \pd[q]{i} \; \vect i + \frac{1}{e_2} \pd[q]{j} \; \vect j + \frac{1}{e_3} \pd[q]{k} \; \vect k \\ 
     348    \label{eq:MB_div} 
     349    \nabla \cdot \vect A &=   \frac{1}{e_1 \; e_2} \lt[ \pd[(e_2 \; a_1)]{\partial i} + \pd[(e_1 \; a_2)]{j} \rt] + \frac{1}{e_3} \lt[ \pd[a_3]{k} \rt] \\ 
     350    \label{eq:MB_curl} 
     351      \nabla \times \vect{A} &=   \lt[ \frac{1}{e_2} \pd[a_3]{j} - \frac{1}{e_3} \pd[a_2]{k}   \rt] \vect i + \lt[ \frac{1}{e_3} \pd[a_1]{k} - \frac{1}{e_1} \pd[a_3]{i}   \rt] \vect j + \frac{1}{e_1 e_2} \lt[ \pd[(e_2 a_2)]{i} - \pd[(e_1 a_1)]{j} \rt] \vect k \\ 
     352    \label{eq:MB_lap} 
     353    \Delta q &= \nabla \cdot (\nabla q) \\ 
     354    \label{eq:MB_lap_vector} 
     355    \Delta \vect A &= \nabla (\nabla \cdot \vect A) - \nabla \times (\nabla \times \vect A) 
     356  \end{align} 
    376357\end{subequations} 
    377 where $q$ is a scalar quantity and $\vect A = (a_1,a_2,a_3)$ a vector in the $(i,j,k)$ coordinates system. 
    378  
    379 % ------------------------------------------------------------------------------------------------------------- 
    380 % Continuous Model Equations 
    381 % ------------------------------------------------------------------------------------------------------------- 
     358where $q$ is a scalar quantity and 
     359$\vect A = (a_1,a_2,a_3)$ a vector in the $(i,j,k)$ coordinates system. 
     360 
     361%% ================================================================================================= 
    382362\subsection{Continuous model equations} 
    383 \label{subsec:PE_zco_Eq} 
     363\label{subsec:MB_zco_Eq} 
    384364 
    385365In order to express the Primitive Equations in tensorial formalism, 
    386 it is necessary to compute the horizontal component of the non-linear and viscous terms of the equation using 
    387 \autoref{eq:PE_grad}) to \autoref{eq:PE_lap_vector}. 
    388 Let us set $\vect U = (u,v,w) = \vect U_h + w \; \vect k $, the velocity in the $(i,j,k)$ coordinates system and 
    389 define the relative vorticity $\zeta$ and the divergence of the horizontal velocity field $\chi$, by: 
     366it is necessary to compute the horizontal component of the non-linear and viscous terms of 
     367the equation using \autoref{eq:MB_grad}) to \autoref{eq:MB_lap_vector}. 
     368Let us set $\vect U = (u,v,w) = \vect U_h + w \; \vect k $, 
     369the velocity in the $(i,j,k)$ coordinates system, 
     370and define the relative vorticity $\zeta$ and the divergence of the horizontal velocity field $\chi$, 
     371by: 
    390372\begin{gather} 
    391   \label{eq:PE_curl_Uh} 
     373  \label{eq:MB_curl_Uh} 
    392374  \zeta = \frac{1}{e_1 e_2} \lt[ \pd[(e_2 \, v)]{i} - \pd[(e_1 \, u)]{j} \rt] \\ 
    393   \label{eq:PE_div_Uh} 
     375  \label{eq:MB_div_Uh} 
    394376  \chi  = \frac{1}{e_1 e_2} \lt[ \pd[(e_2 \, u)]{i} + \pd[(e_1 \, v)]{j} \rt] 
    395377\end{gather} 
     
    397379Using again the fact that the horizontal scale factors $e_1$ and $e_2$ are independent of $k$ and that 
    398380$e_3$  is a function of the single variable $k$, 
    399 $NLT$ the nonlinear term of \autoref{eq:PE_dyn} can be transformed as follows: 
    400 \begin{alignat*}{2} 
    401   &NLT &=   &\lt[ (\nabla \times {\vect U}) \times {\vect U} + \frac{1}{2} \nabla \lt( {\vect U}^2 \rt) \rt]_h \\ 
    402   &    &=   &\lt( 
    403     \begin{array}{*{20}c} 
    404                 \lt[ \frac{1}{e_3} \pd[u]{k} - \frac{1}{e_1} \pd[w]{i} \rt] w - \zeta \; v   \\ 
    405                 \zeta \; u - \lt[ \frac{1}{e_2} \pd[w]{j} - \frac{1}{e_3} \pd[v]{k} \rt] \ w 
    406     \end{array} 
    407                                                                                              \rt) 
    408           + \frac{1}{2} \lt( 
    409     \begin{array}{*{20}c} 
    410                              \frac{1}{e_1} \pd[(u^2 + v^2 + w^2)]{i} \\ 
    411                              \frac{1}{e_2} \pd[(u^2 + v^2 + w^2)]{j} 
    412     \end{array} 
    413                                                                      \rt) \\ 
    414   &    &=   &\lt( 
    415     \begin{array}{*{20}c} 
    416                   -\zeta \; v \\ 
    417                    \zeta \; u 
    418     \end{array} 
    419                               \rt) 
    420           + \frac{1}{2} \lt( 
    421     \begin{array}{*{20}c} 
    422                              \frac{1}{e_1} \pd[(u^2 + v^2)]{i} \\ 
    423                              \frac{1}{e_2} \pd[(u^2 + v^2)]{j} 
    424     \end{array} 
    425                                                                \rt) \\ 
    426   &    &  &+ \frac{1}{e_3} \lt( 
    427     \begin{array}{*{20}c} 
    428                                 w \; \pd[u]{k} \\ 
    429                                 w \; \pd[v]{k} 
    430     \end{array} 
    431                                                \rt) 
    432            - \lt( 
    433     \begin{array}{*{20}c} 
    434                   \frac{w}{e_1} \pd[w]{i} - \frac{1}{2 e_1} \pd[w^2]{i} \\ 
    435                   \frac{w}{e_2} \pd[w]{j} - \frac{1}{2 e_2} \pd[w^2]{j} 
    436     \end{array} 
    437                                                                         \rt) 
    438 \end{alignat*} 
    439 The last term of the right hand side is obviously zero, and thus the nonlinear term of 
    440 \autoref{eq:PE_dyn} is written in the $(i,j,k)$ coordinate system: 
     381$NLT$ the nonlinear term of \autoref{eq:MB_PE_dyn} can be transformed as follows: 
     382\begin{align*} 
     383  NLT &= \lt[ (\nabla \times {\vect U}) \times {\vect U} + \frac{1}{2} \nabla \lt( {\vect U}^2 \rt) \rt]_h \\ 
     384      &= \lt( 
     385        \begin{array}{*{20}c} 
     386          \lt[ \frac{1}{e_3} \pd[u]{k} - \frac{1}{e_1} \pd[w]{i} \rt] w - \zeta \; v   \\ 
     387          \zeta \; u - \lt[ \frac{1}{e_2} \pd[w]{j} - \frac{1}{e_3} \pd[v]{k} \rt] \ w 
     388        \end{array} 
     389  \rt) 
     390  + \frac{1}{2} \lt( 
     391  \begin{array}{*{20}c} 
     392    \frac{1}{e_1} \pd[(u^2 + v^2 + w^2)]{i} \\ 
     393    \frac{1}{e_2} \pd[(u^2 + v^2 + w^2)]{j} 
     394  \end{array} 
     395  \rt) \\ 
     396      &= \lt( 
     397        \begin{array}{*{20}c} 
     398          -\zeta \; v \\ 
     399          \zeta \; u 
     400        \end{array} 
     401  \rt) 
     402  + \frac{1}{2} \lt( 
     403  \begin{array}{*{20}c} 
     404    \frac{1}{e_1} \pd[(u^2 + v^2)]{i} \\ 
     405    \frac{1}{e_2} \pd[(u^2 + v^2)]{j} 
     406  \end{array} 
     407  \rt) 
     408  + \frac{1}{e_3} \lt( 
     409  \begin{array}{*{20}c} 
     410    w \; \pd[u]{k} \\ 
     411    w \; \pd[v]{k} 
     412  \end{array} 
     413  \rt) 
     414  - \lt( 
     415  \begin{array}{*{20}c} 
     416    \frac{w}{e_1} \pd[w]{i} - \frac{1}{2 e_1} \pd[w^2]{i} \\ 
     417    \frac{w}{e_2} \pd[w]{j} - \frac{1}{2 e_2} \pd[w^2]{j} 
     418  \end{array} 
     419  \rt) 
     420\end{align*} 
     421The last term of the right hand side is obviously zero, 
     422and thus the \textbf{N}on\textbf{L}inear \textbf{T}erm ($NLT$) of \autoref{eq:MB_PE_dyn} is written in 
     423the $(i,j,k)$ coordinate system: 
    441424\begin{equation} 
    442   \label{eq:PE_vector_form} 
    443   NLT =   \zeta \; \vect k \times \vect U_h + \frac{1}{2} \nabla_h \lt( \vect U_h^2 \rt) 
    444         + \frac{1}{e_3} w \pd[\vect U_h]{k} 
     425  \label{eq:MB_vector_form} 
     426  NLT = \zeta \; \vect k \times \vect U_h + \frac{1}{2} \nabla_h \lt( \vect U_h^2 \rt) + \frac{1}{e_3} w \pd[\vect U_h]{k} 
    445427\end{equation} 
    446428 
     
    448430For some purposes, it can be advantageous to write this term in the so-called flux form, 
    449431\ie\ to write it as the divergence of fluxes. 
    450 For example, the first component of \autoref{eq:PE_vector_form} (the $i$-component) is transformed as follows: 
    451 \begin{alignat*}{2} 
     432For example, 
     433the first component of \autoref{eq:MB_vector_form} (the $i$-component) is transformed as follows: 
     434\begin{alignat*}{3} 
    452435  &NLT_i &= &- \zeta \; v + \frac{1}{2 \; e_1} \pd[ (u^2 + v^2) ]{i} + \frac{1}{e_3} w \ \pd[u]{k} \\ 
    453   &      &=  &\frac{1}{e_1 \; e_2} \lt( -v \pd[(e_2 \, v)]{i} + v \pd[(e_1 \, u)]{j} \rt) 
    454             + \frac{1}{e_1 e_2} \lt( e_2 \; u \pd[u]{i} + e_2 \; v \pd[v]{i} \rt) \\ 
    455   &      & &+ \frac{1}{e_3} \lt( w \; \pd[u]{k} \rt) \\ 
    456   &      &=  &\frac{1}{e_1 \; e_2} \lt[ - \lt( v^2 \pd[e_2]{i} + e_2 \, v \pd[v]{i} \rt) 
    457                                      + \lt( \pd[ \lt( e_1 \, u \, v \rt)]{j} -         e_1 \, u \pd[v]{j} \rt) \rt. \\ 
    458   &      &                       &\lt. + \lt( \pd[ \lt( e_2 \, u \, u \rt)]{i} - u \pd[ \lt( e_2 u \rt)]{i} \rt) 
    459                                      + e_2 v \pd[v]{i}                                                         \rt] \\ 
     436  &      &= &\frac{1}{e_1 \; e_2} \lt( -v \pd[(e_2 \, v)]{i} + v \pd[(e_1 \, u)]{j} \rt) + \frac{1}{e_1 e_2} \lt( e_2 \; u \pd[u]{i} + e_2 \; v \pd[v]{i} \rt) + \frac{1}{e_3} \lt( w \; \pd[u]{k} \rt) \\ 
     437  &      &= &\frac{1}{e_1 \; e_2} \lt[ - \lt( v^2 \pd[e_2]{i} + e_2 \, v \pd[v]{i} \rt) + \lt( \pd[ \lt( e_1 \, u \, v \rt)]{j} - e_1 \, u \pd[v]{j} \rt) \rt. \lt. + \lt( \pd[ \lt( e_2 \, u \, u \rt)]{i} - u \pd[ \lt( e_2 u \rt)]{i} \rt) + e_2 v \pd[v]{i} \rt] \\ 
    460438  &      & &+ \frac{1}{e_3} \lt( \pd[(w \, u)]{k} - u \pd[w]{k} \rt) \\ 
    461   &      &=  &\frac{1}{e_1 \; e_2} \lt( \pd[(e_2 \, u \, u)]{i} + \pd[(e_1 \, u \, v)]{j} \rt) 
    462             + \frac{1}{e_3} \pd[(w \, u)]{k} \\ 
    463   &      & &+ \frac{1}{e_1 e_2} \lt[ - u \lt( \pd[(e_1 v)]{j} - v \, \pd[e_1]{j} \rt) 
    464                                   - u \pd[(e_2 u)]{i}                              \rt] 
    465             - \frac{1}{e_3} \pd[w]{k} u \\ 
     439  &      &= &\frac{1}{e_1 \; e_2} \lt( \pd[(e_2 \, u \, u)]{i} + \pd[(e_1 \, u \, v)]{j} \rt) + \frac{1}{e_3} \pd[(w \, u)]{k} + \frac{1}{e_1 e_2} \lt[ - u \lt( \pd[(e_1 v)]{j} - v \, \pd[e_1]{j} \rt) - u \pd[(e_2 u)]{i} \rt] - \frac{1}{e_3} \pd[w]{k} u \\ 
    466440  &      & &+ \frac{1}{e_1 e_2} \lt( - v^2 \pd[e_2]{i} \rt) \\ 
    467   &      &= &\nabla \cdot (\vect U \, u) - (\nabla \cdot \vect U) \ u 
    468             + \frac{1}{e_1 e_2} \lt( -v^2 \pd[e_2]{i} + u v \, \pd[e_1]{j} \rt) \\ 
    469   \intertext{as $\nabla \cdot {\vect U} \; = 0$ (incompressibility) it becomes:} 
     441  &      &= &\nabla \cdot (\vect U \, u) - (\nabla \cdot \vect U) \ u + \frac{1}{e_1 e_2} \lt( -v^2 \pd[e_2]{i} + u v \, \pd[e_1]{j} \rt) \\ 
     442  \shortintertext{as $\nabla \cdot {\vect U} \; = 0$ (incompressibility) it becomes:} 
    470443  &      &= &\, \nabla \cdot (\vect U \, u) + \frac{1}{e_1 e_2} \lt( v \; \pd[e_2]{i} - u \; \pd[e_1]{j} \rt) (-v) 
    471444\end{alignat*} 
     
    473446The flux form of the momentum advection term is therefore given by: 
    474447\begin{equation} 
    475   \label{eq:PE_flux_form} 
    476   NLT =   \nabla \cdot \lt( 
    477     \begin{array}{*{20}c} 
    478                             \vect U \, u \\ 
    479                             \vect U \, v 
    480     \end{array} 
    481                                          \rt) 
    482         + \frac{1}{e_1 e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \vect k \times \vect U_h 
     448  \label{eq:MB_flux_form} 
     449  NLT = \nabla \cdot \lt( 
     450  \begin{array}{*{20}c} 
     451    \vect U \, u \\ 
     452    \vect U \, v 
     453  \end{array} 
     454  \rt) 
     455  + \frac{1}{e_1 e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \vect k \times \vect U_h 
    483456\end{equation} 
    484457 
    485458The flux form has two terms, 
    486 the first one is expressed as the divergence of momentum fluxes (hence the flux form name given to this formulation) 
    487 and the second one is due to the curvilinear nature of the coordinate system used. 
    488 The latter is called the \textit{metric} term and can be viewed as a modification of the Coriolis parameter: 
     459the first one is expressed as the divergence of momentum fluxes 
     460(hence the flux form name given to this formulation) and 
     461the second one is due to the curvilinear nature of the coordinate system used. 
     462The latter is called the \textit{metric} term and can be viewed as 
     463a modification of the Coriolis parameter: 
    489464\[ 
    490   % \label{eq:PE_cor+metric} 
     465  % \label{eq:MB_cor+metric} 
    491466  f \to f + \frac{1}{e_1 e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) 
    492467\] 
     
    499474the following tensorial formalism: 
    500475 
    501 \begin{itemize} 
    502 \item 
    503   \textbf{Vector invariant form of the momentum equations}: 
     476\begin{description} 
     477\item [Vector invariant form of the momentum equations] 
    504478  \begin{equation} 
    505     \label{eq:PE_dyn_vect} 
    506     \begin{split} 
    507     % \label{eq:PE_dyn_vect_u} 
    508       \pd[u]{t} = &+ (\zeta + f) \, v - \frac{1}{2 e_1} \pd[]{i} (u^2 + v^2) 
    509                    - \frac{1}{e_3} w \pd[u]{k} - \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) \\ 
    510                   &+ D_u^{\vect U} + F_u^{\vect U} \\ 
    511       \pd[v]{t} = &- (\zeta + f) \, u - \frac{1}{2 e_2} \pd[]{j} (u^2 + v^2) 
    512                    - \frac{1}{e_3} w \pd[v]{k} - \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) \\ 
    513                   &+ D_v^{\vect U} + F_v^{\vect U} 
    514     \end{split} 
     479    \label{eq:MB_dyn_vect} 
     480    \begin{gathered} 
     481    % \label{eq:MB_dyn_vect_u} 
     482      \pd[u]{t} = + (\zeta + f) \, v - \frac{1}{2 e_1} \pd[]{i} (u^2 + v^2) - \frac{1}{e_3} w \pd[u]{k} - \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) + D_u^{\vect U} + F_u^{\vect U} \\ 
     483      \pd[v]{t} = - (\zeta + f) \, u - \frac{1}{2 e_2} \pd[]{j} (u^2 + v^2) - \frac{1}{e_3} w \pd[v]{k} - \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) + D_v^{\vect U} + F_v^{\vect U} 
     484    \end{gathered} 
    515485  \end{equation} 
    516 \item 
    517   \textbf{flux form of the momentum equations}: 
    518   % \label{eq:PE_dyn_flux} 
    519   \begin{multline*} 
    520     % \label{eq:PE_dyn_flux_u} 
    521     \pd[u]{t} = + \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, v \\ 
    522                 - \frac{1}{e_1 \; e_2} \lt( \pd[(e_2 \, u \, u)]{i} + \pd[(e_1 \, v \, u)]{j} \rt) \\ 
    523                 - \frac{1}{e_3} \pd[(w \, u)]{k} - \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) 
    524                 + D_u^{\vect U} + F_u^{\vect U} 
    525   \end{multline*} 
    526   \begin{multline*} 
    527     % \label{eq:PE_dyn_flux_v} 
    528     \pd[v]{t} = - \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, u \\ 
    529                 - \frac{1}{e_1 \; e_2} \lt( \pd[(e_2 \, u \, v)]{i} + \pd[(e_1 \, v \, v)]{j} \rt) \\ 
    530                 - \frac{1}{e_3} \pd[(w \, v)]{k} - \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) 
    531                 + D_v^{\vect U} + F_v^{\vect U} 
    532   \end{multline*} 
    533   where $\zeta$, the relative vorticity, is given by \autoref{eq:PE_curl_Uh} and $p_s$, the surface pressure, 
    534   is given by: 
     486\item [Flux form of the momentum equations] 
     487  % \label{eq:MB_dyn_flux} 
     488  \begin{alignat*}{2} 
     489    % \label{eq:MB_dyn_flux_u} 
     490    \pd[u]{t} = &+ \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, v - \frac{1}{e_1 \; e_2} \lt( \pd[(e_2 \, u \, u)]{i} + \pd[(e_1 \, v \, u)]{j} \rt) - \frac{1}{e_3} \pd[(w \, u)]{k} \\ 
     491    &- \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) + D_u^{\vect U} + F_u^{\vect U} 
     492  \end{alignat*} 
     493  \begin{alignat*}{2} 
     494    % \label{eq:MB_dyn_flux_v} 
     495    \pd[v]{t} = &- \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, u - \frac{1}{e_1 \; e_2} \lt( \pd[(e_2 \, u \, v)]{i} + \pd[(e_1 \, v \, v)]{j} \rt) - \frac{1}{e_3} \pd[(w \, v)]{k} \\ 
     496    &- \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) + D_v^{\vect U} + F_v^{\vect U} 
     497  \end{alignat*} 
     498  where $\zeta$, the relative vorticity, is given by \autoref{eq:MB_curl_Uh} and 
     499  $p_s$, the surface pressure, is given by: 
    535500  \[ 
    536   % \label{eq:PE_spg} 
     501  % \label{eq:MB_spg} 
    537502    p_s = \rho \,g \, \eta 
    538503  \] 
    539   and $\eta$ is the solution of \autoref{eq:PE_ssh}. 
     504  and $\eta$ is the solution of \autoref{eq:MB_ssh}. 
    540505 
    541506  The vertical velocity and the hydrostatic pressure are diagnosed from the following equations: 
    542507  \[ 
    543   % \label{eq:w_diag} 
     508  % \label{eq:MB_w_diag} 
    544509    \pd[w]{k} = - \chi \; e_3 \qquad 
    545   % \label{eq:hp_diag} 
     510  % \label{eq:MB_hp_diag} 
    546511    \pd[p_h]{k} = - \rho \; g \; e_3 
    547512  \] 
    548   where the divergence of the horizontal velocity, $\chi$ is given by \autoref{eq:PE_div_Uh}. 
    549  
    550 \item 
    551   \textbf{tracer equations}: 
    552   \begin{equation} 
    553   \begin{split} 
    554     \pd[T]{t} = & - \frac{1}{e_1 e_2} \lt[ \pd[(e_2 T \, u)]{i} + \pd[(e_1 T \, v)]{j} \rt] 
    555                 - \frac{1}{e_3} \pd[(T \, w)]{k} + D^T + F^T \\ 
    556     \pd[S]{t} = & - \frac{1}{e_1 e_2} \lt[ \pd[(e_2 S \, u)]{i} + \pd[(e_1 S \, v)]{j} \rt] 
    557                 - \frac{1}{e_3} \pd[(S \, w)]{k} + D^S + F^S \\ 
    558     \rho = & \rho \big( T,S,z(k) \big) 
    559   \end{split} 
    560   \end{equation} 
    561 \end{itemize} 
    562  
    563 The expression of $\vect D^{U}$, $D^{S}$ and $D^{T}$ depends on the subgrid scale parameterisation used. 
    564 It will be defined in \autoref{eq:PE_zdf}. 
     513  where the divergence of the horizontal velocity, $\chi$ is given by \autoref{eq:MB_div_Uh}. 
     514\item [Tracer equations] 
     515  \begin{gather*} 
     516    \pd[T]{t} = - \frac{1}{e_1 e_2} \lt[ \pd[(e_2 T \, u)]{i} + \pd[(e_1 T \, v)]{j} \rt] - \frac{1}{e_3} \pd[(T \, w)]{k} + D^T + F^T \\ 
     517    \pd[S]{t} = - \frac{1}{e_1 e_2} \lt[ \pd[(e_2 S \, u)]{i} + \pd[(e_1 S \, v)]{j} \rt] - \frac{1}{e_3} \pd[(S \, w)]{k} + D^S + F^S \\ 
     518    \rho = \rho \big( T,S,z(k) \big) 
     519  \end{gather*} 
     520\end{description} 
     521 
     522The expression of $\vect D^{U}$, $D^{S}$ and $D^{T}$ depends on 
     523the subgrid scale parameterisation used. 
     524It will be defined in \autoref{eq:MB_zdf}. 
    565525The nature and formulation of $\vect F^{\vect U}$, $F^T$ and $F^S$, the surface forcing terms, 
    566526are discussed in \autoref{chap:SBC}. 
    567527 
    568 \newpage 
    569  
    570 % ================================================================ 
    571 % Curvilinear generalised vertical coordinate System 
    572 % ================================================================ 
     528%% ================================================================================================= 
    573529\section{Curvilinear generalised vertical coordinate system} 
    574 \label{sec:PE_gco} 
     530\label{sec:MB_gco} 
    575531 
    576532The ocean domain presents a huge diversity of situation in the vertical. 
     
    579535varying from more than 6,000 meters in abyssal trenches to zero at the coast. 
    580536Last but not least, the ocean stratification exerts a strong barrier to vertical motions and mixing. 
    581 Therefore, in order to represent the ocean with respect to 
    582 the first point a space and time dependent vertical coordinate that follows the variation of the sea surface height 
     537Therefore, in order to represent the ocean with respect to the first point 
     538a space and time dependent vertical coordinate that follows the variation of the sea surface height 
    583539\eg\ an \zstar-coordinate; 
    584 for the second point, a space variation to fit the change of bottom topography 
     540for the second point, 
     541a space variation to fit the change of bottom topography 
    585542\eg\ a terrain-following or $\sigma$-coordinate; 
    586 and for the third point, one will be tempted to use a space and time dependent coordinate that 
    587 follows the isopycnal surfaces, \eg\ an isopycnic coordinate. 
    588  
    589 In order to satisfy two or more constraints one can even be tempted to mixed these coordinate systems, as in 
    590 HYCOM (mixture of $z$-coordinate at the surface, isopycnic coordinate in the ocean interior and $\sigma$ at 
    591 the ocean bottom) \citep{chassignet.smith.ea_JPO03} or 
    592 OPA (mixture of $z$-coordinate in vicinity the surface and steep topography areas and $\sigma$-coordinate elsewhere) 
    593 \citep{madec.delecluse.ea_JPO96} among others. 
     543and for the third point, 
     544one will be tempted to use a space and time dependent coordinate that follows the isopycnal surfaces, 
     545\eg\ an isopycnic coordinate. 
     546 
     547In order to satisfy two or more constraints one can even be tempted to mixed these coordinate systems, 
     548as in HYCOM (mixture of $z$-coordinate at the surface, isopycnic coordinate in the ocean interior and 
     549$\sigma$ at the ocean bottom) \citep{chassignet.smith.ea_JPO03} or 
     550OPA (mixture of $z$-coordinate in vicinity the surface and steep topography areas and 
     551$\sigma$-coordinate elsewhere) \citep{madec.delecluse.ea_JPO96} among others. 
    594552 
    595553In fact one is totally free to choose any space and time vertical coordinate by 
    596554introducing an arbitrary vertical coordinate : 
    597555\begin{equation} 
    598   \label{eq:PE_s} 
     556  \label{eq:MB_s} 
    599557  s = s(i,j,k,t) 
    600558\end{equation} 
    601 with the restriction that the above equation gives a single-valued monotonic relationship between $s$ and $k$, 
    602 when $i$, $j$ and $t$ are held fixed. 
    603 \autoref{eq:PE_s} is a transformation from the $(i,j,k,t)$ coordinate system with independent variables into 
     559with the restriction that the above equation gives a single-valued monotonic relationship between 
     560$s$ and $k$, when $i$, $j$ and $t$ are held fixed. 
     561\autoref{eq:MB_s} is a transformation from 
     562the $(i,j,k,t)$ coordinate system with independent variables into 
    604563the $(i,j,s,t)$ generalised coordinate system with $s$ depending on the other three variables through 
    605 \autoref{eq:PE_s}. 
     564\autoref{eq:MB_s}. 
    606565This so-called \textit{generalised vertical coordinate} \citep{kasahara_MWR74} is in fact 
    607 an Arbitrary Lagrangian--Eulerian (ALE) coordinate. 
    608 Indeed, one has a great deal of freedom in the choice of expression for $s$. The choice determines 
    609 which part of the vertical velocity (defined from a fixed referential) will cross the levels (Eulerian part) and 
    610 which part will be used to move them (Lagrangian part). 
    611 The coordinate is also sometime referenced as an adaptive coordinate \citep{hofmeister.burchard.ea_OM10}, 
    612 since the coordinate system is adapted in the course of the simulation. 
     566an \textbf{A}rbitrary \textbf{L}agrangian--\textbf{E}ulerian (ALE) coordinate. 
     567Indeed, one has a great deal of freedom in the choice of expression for $s$. 
     568The choice determines which part of the vertical velocity (defined from a fixed referential) 
     569will cross the levels (Eulerian part) and which part will be used to move them (Lagrangian part). 
     570The coordinate is also sometimes referenced as an adaptive coordinate 
     571\citep{hofmeister.burchard.ea_OM10}, since the coordinate system is adapted in 
     572the course of the simulation. 
    613573Its most often used implementation is via an ALE algorithm, 
    614574in which a pure lagrangian step is followed by regridding and remapping steps, 
     
    627587The horizontal velocity in ocean models measures motions in the horizontal plane, 
    628588perpendicular to the local gravitational field. 
    629 That is, horizontal velocity is mathematically the same regardless of the vertical coordinate, be it geopotential, 
    630 isopycnal, pressure, or terrain following. 
     589That is, horizontal velocity is mathematically the same regardless of the vertical coordinate, 
     590be it geopotential, isopycnal, pressure, or terrain following. 
    631591The key motivation for maintaining the same horizontal velocity component is that 
    632592the hydrostatic and geostrophic balances are dominant in the large-scale ocean. 
    633 Use of an alternative quasi -horizontal velocity, for example one oriented parallel to the generalized surface, 
     593Use of an alternative quasi -horizontal velocity, 
     594for example one oriented parallel to the generalized surface, 
    634595would lead to unacceptable numerical errors. 
    635596Correspondingly, the vertical direction is anti -parallel to the gravitational force in 
     
    638599the surface of a constant generalized vertical coordinate. 
    639600 
    640 It is the method used to measure transport across the generalized vertical coordinate surfaces which differs between 
    641 the vertical coordinate choices. 
    642 That is, computation of the dia-surface velocity component represents the fundamental distinction between 
     601It is the method used to measure transport across the generalized vertical coordinate surfaces which 
     602differs between the vertical coordinate choices. 
     603That is, 
     604computation of the dia-surface velocity component represents the fundamental distinction between 
    643605the various coordinates. 
    644 In some models, such as geopotential, pressure, and terrain following, this transport is typically diagnosed from 
    645 volume or mass conservation. 
    646 In other models, such as isopycnal layered models, this transport is prescribed based on assumptions about 
    647 the physical processes producing a flux across the layer interfaces. 
     606In some models, such as geopotential, pressure, and terrain following, 
     607this transport is typically diagnosed from volume or mass conservation. 
     608In other models, such as isopycnal layered models, 
     609this transport is prescribed based on assumptions about the physical processes producing 
     610a flux across the layer interfaces. 
    648611 
    649612In this section we first establish the PE in the generalised vertical $s$-coordinate, 
     
    651614%} 
    652615 
    653 % ------------------------------------------------------------------------------------------------------------- 
    654 % The s-coordinate Formulation 
    655 % ------------------------------------------------------------------------------------------------------------- 
     616%% ================================================================================================= 
    656617\subsection{\textit{S}-coordinate formulation} 
    657618 
    658 Starting from the set of equations established in \autoref{sec:PE_zco} for the special case $k = z$ and 
    659 thus $e_3 = 1$, we introduce an arbitrary vertical coordinate $s = s(i,j,k,t)$, 
     619Starting from the set of equations established in \autoref{sec:MB_zco} for 
     620the special case $k = z$ and thus $e_3 = 1$, 
     621we introduce an arbitrary vertical coordinate $s = s(i,j,k,t)$, 
    660622which includes $z$-, \zstar- and $\sigma$-coordinates as special cases 
    661623($s = z$, $s = \zstar$, and $s = \sigma = z / H$ or $ = z / \lt( H + \eta \rt)$, resp.). 
    662 A formal derivation of the transformed equations is given in \autoref{apdx:A}. 
    663 Let us define the vertical scale factor by $e_3 = \partial_s z$  ($e_3$ is now a function of $(i,j,k,t)$ ), 
     624A formal derivation of the transformed equations is given in \autoref{apdx:SCOORD}. 
     625Let us define the vertical scale factor by $e_3 = \partial_s z$ 
     626($e_3$ is now a function of $(i,j,k,t)$ ), 
    664627and the slopes in the $(i,j)$ directions between $s$- and $z$-surfaces by: 
    665628\begin{equation} 
    666   \label{eq:PE_sco_slope} 
     629  \label{eq:MB_sco_slope} 
    667630  \sigma_1 = \frac{1}{e_1} \; \lt. \pd[z]{i} \rt|_s \quad \text{and} \quad 
    668631  \sigma_2 = \frac{1}{e_2} \; \lt. \pd[z]{j} \rt|_s 
    669632\end{equation} 
    670 We also introduce $\omega$, a dia-surface velocity component, defined as the velocity 
    671 relative to the moving $s$-surfaces and normal to them: 
     633We also introduce $\omega$, a dia-surface velocity component, 
     634defined as the velocity relative to the moving $s$-surfaces and normal to them: 
    672635\[ 
    673   % \label{eq:PE_sco_w} 
     636  % \label{eq:MB_sco_w} 
    674637  \omega = w -  \, \lt. \pd[z]{t} \rt|_s - \sigma_1 \, u - \sigma_2 \, v 
    675638\] 
    676639 
    677 The equations solved by the ocean model \autoref{eq:PE} in $s$-coordinate can be written as follows 
    678 (see \autoref{sec:A_momentum}): 
    679  
    680 \begin{itemize} 
    681 \item \textbf{Vector invariant form of the momentum equation}: 
    682   \begin{multline*} 
    683   % \label{eq:PE_sco_u_vector} 
    684     \pd[u]{t} = + (\zeta + f) \, v - \frac{1}{2 \, e_1} \pd[]{i} (u^2 + v^2) - \frac{1}{e_3} \omega \pd[u]{k} \\ 
    685                 - \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) - g \frac{\rho}{\rho_o} \sigma_1 
    686                 + D_u^{\vect U} + F_u^{\vect U} 
    687   \end{multline*} 
    688   \begin{multline*} 
    689   % \label{eq:PE_sco_v_vector} 
    690     \pd[v]{t} = - (\zeta + f) \, u - \frac{1}{2 \, e_2} \pd[]{j}(u^2 + v^2) - \frac{1}{e_3} \omega \pd[v]{k} \\ 
    691                 - \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) - g \frac{\rho}{\rho_o} \sigma_2 
    692                 + D_v^{\vect U} + F_v^{\vect U} 
    693   \end{multline*} 
    694 \item \textbf{Flux form of the momentum equation}: 
    695   \begin{multline*} 
    696   % \label{eq:PE_sco_u_flux} 
    697     \frac{1}{e_3} \pd[(e_3 \, u)]{t} = + \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, v \\ 
    698                                        - \frac{1}{e_1 \; e_2 \; e_3} \lt( \pd[(e_2 \, e_3 \, u \, u)]{i} + \pd[(e_1 \, e_3 \, v \, u)]{j} \rt) \\ 
    699                                        - \frac{1}{e_3} \pd[(\omega \, u)]{k} 
    700                                        - \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) 
    701                                        - g \frac{\rho}{\rho_o} \sigma_1 + D_u^{\vect U} + F_u^{\vect U} 
    702   \end{multline*} 
    703   \begin{multline*} 
    704   % \label{eq:PE_sco_v_flux} 
    705     \frac{1}{e_3} \pd[(e_3 \, v)]{t} = - \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, u \\ 
    706                                        - \frac{1}{e_1 \; e_2 \; e_3} \lt( \pd[( e_2 \; e_3 \, u \, v)]{i} + \pd[(e_1 \; e_3 \, v \, v)]{j} \rt) \\ 
    707                                        - \frac{1}{e_3} \pd[(\omega \, v)]{k} 
    708                                        - \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) 
    709                                        - g \frac{\rho}{\rho_o}\sigma_2 + D_v^{\vect U} + F_v^{\vect U} 
    710   \end{multline*} 
     640The equations solved by the ocean model \autoref{eq:MB_PE} in $s$-coordinate can be written as follows 
     641(see \autoref{sec:SCOORD_momentum}): 
     642 
     643\begin{description} 
     644\item [Vector invariant form of the momentum equation] 
     645  \begin{gather*} 
     646    % \label{eq:MB_sco_u_vector} 
     647    \pd[u]{t} = + (\zeta + f) \, v - \frac{1}{2 \, e_1} \pd[]{i} (u^2 + v^2) - \frac{1}{e_3} \omega \pd[u]{k} - \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) - g \frac{\rho}{\rho_o} \sigma_1 + D_u^{\vect U} + F_u^{\vect U} \\ 
     648    % \label{eq:MB_sco_v_vector} 
     649    \pd[v]{t} = - (\zeta + f) \, u - \frac{1}{2 \, e_2} \pd[]{j} (u^2 + v^2) - \frac{1}{e_3} \omega \pd[v]{k} - \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) - g \frac{\rho}{\rho_o} \sigma_2 + D_v^{\vect U} + F_v^{\vect U} 
     650  \end{gather*} 
     651\item [Flux form of the momentum equation] 
     652  \begin{alignat*}{2} 
     653    % \label{eq:MB_sco_u_flux} 
     654    \frac{1}{e_3} \pd[(e_3 \, u)]{t} = &+ \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, v - \frac{1}{e_1 \; e_2 \; e_3} \lt( \pd[(e_2 \, e_3 \, u \, u)]{i} + \pd[(e_1 \, e_3 \, v \, u)]{j} \rt) - \frac{1}{e_3} \pd[(\omega \, u)]{k} \\ 
     655    &- \frac{1}{e_1} \pd[]{i} \lt( \frac{p_s + p_h}{\rho_o} \rt) - g \frac{\rho}{\rho_o} \sigma_1 + D_u^{\vect U} + F_u^{\vect U} 
     656  \end{alignat*} 
     657  \begin{alignat*}{2} 
     658  % \label{eq:MB_sco_v_flux} 
     659    \frac{1}{e_3} \pd[(e_3 \, v)]{t} = &- \lt[ f + \frac{1}{e_1 \; e_2} \lt( v \pd[e_2]{i} - u \pd[e_1]{j} \rt) \rt] \, u - \frac{1}{e_1 \; e_2 \; e_3} \lt( \pd[( e_2 \; e_3 \, u \, v)]{i} + \pd[(e_1 \; e_3 \, v \, v)]{j} \rt) - \frac{1}{e_3} \pd[(\omega \, v)]{k} \\ 
     660    &- \frac{1}{e_2} \pd[]{j} \lt( \frac{p_s + p_h}{\rho_o} \rt) - g \frac{\rho}{\rho_o}\sigma_2 + D_v^{\vect U} + F_v^{\vect U} 
     661  \end{alignat*} 
    711662  where the relative vorticity, $\zeta$, the surface pressure gradient, 
    712663  and the hydrostatic pressure have the same expressions as in $z$-coordinates although 
    713664  they do not represent exactly the same quantities. 
    714   $\omega$ is provided by the continuity equation (see \autoref{apdx:A}): 
     665  $\omega$ is provided by the continuity equation (see \autoref{apdx:SCOORD}): 
    715666  \[ 
    716   % \label{eq:PE_sco_continuity} 
     667  % \label{eq:MB_sco_continuity} 
    717668    \pd[e_3]{t} + e_3 \; \chi + \pd[\omega]{s} = 0 \quad \text{with} \quad 
    718669    \chi = \frac{1}{e_1 e_2 e_3} \lt( \pd[(e_2 e_3 \, u)]{i} + \pd[(e_1 e_3 \, v)]{j} \rt) 
    719670  \] 
    720 \item \textit{tracer equations}: 
    721   \begin{multline*} 
    722   % \label{eq:PE_sco_t} 
    723     \frac{1}{e_3} \pd[(e_3 \, T)]{t} = - \frac{1}{e_1 e_2 e_3} \lt(   \pd[(e_2 e_3 \, u \, T)]{i} 
    724                                                                     + \pd[(e_1 e_3 \, v \, T)]{j} \rt) \\ 
    725                                        - \frac{1}{e_3} \pd[(T \, \omega)]{k} + D^T + F^S 
    726   \end{multline*} 
    727   \begin{multline} 
    728   % \label{eq:PE_sco_s} 
    729     \frac{1}{e_3} \pd[(e_3 \, S)]{t} = - \frac{1}{e_1 e_2 e_3} \lt(   \pd[(e_2 e_3 \, u \, S)]{i} 
    730                                                                     + \pd[(e_1 e_3 \, v \, S)]{j} \rt) \\ 
    731                                        - \frac{1}{e_3} \pd[(S \, \omega)]{k} + D^S + F^S 
    732   \end{multline} 
    733 \end{itemize} 
     671\item [Tracer equations] 
     672  \begin{gather*} 
     673    % \label{eq:MB_sco_t} 
     674    \frac{1}{e_3} \pd[(e_3 \, T)]{t} = - \frac{1}{e_1 e_2 e_3} \lt(   \pd[(e_2 e_3 \, u \, T)]{i} + \pd[(e_1 e_3 \, v \, T)]{j} \rt) - \frac{1}{e_3} \pd[(T \, \omega)]{k} + D^T + F^S \\ 
     675    % \label{eq:MB_sco_s} 
     676    \frac{1}{e_3} \pd[(e_3 \, S)]{t} = - \frac{1}{e_1 e_2 e_3} \lt(   \pd[(e_2 e_3 \, u \, S)]{i} + \pd[(e_1 e_3 \, v \, S)]{j} \rt) - \frac{1}{e_3} \pd[(S \, \omega)]{k} + D^S + F^S 
     677  \end{gather*} 
     678\end{description} 
    734679The equation of state has the same expression as in $z$-coordinate, 
    735680and similar expressions are used for mixing and forcing terms. 
     
    741686} 
    742687 
    743 % ------------------------------------------------------------------------------------------------------------- 
    744 % Curvilinear \zstar-coordinate System 
    745 % ------------------------------------------------------------------------------------------------------------- 
     688%% ================================================================================================= 
    746689\subsection{Curvilinear \zstar-coordinate system} 
    747 \label{subsec:PE_zco_star} 
    748  
    749 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    750 \begin{figure}[!b] 
    751   \begin{center} 
    752     \includegraphics[width=\textwidth]{Fig_z_zstar} 
    753     \caption{ 
    754       \protect\label{fig:z_zstar} 
    755       (a) $z$-coordinate in linear free-surface case ; 
    756       (b) $z$-coordinate in non-linear free surface case ; 
    757       (c) re-scaled height coordinate 
     690\label{subsec:MB_zco_star} 
     691 
     692\begin{figure} 
     693  \centering 
     694  \includegraphics[width=0.66\textwidth]{Fig_z_zstar} 
     695  \caption[Curvilinear z-coordinate systems (\{non-\}linear free-surface cases and re-scaled \zstar)]{ 
     696    \begin{enumerate*}[label=(\textit{\alph*})] 
     697    \item $z$-coordinate in linear free-surface case; 
     698    \item $z$-coordinate in non-linear free surface case; 
     699    \item re-scaled height coordinate 
    758700      (become popular as the \zstar-coordinate \citep{adcroft.campin_OM04}). 
    759     } 
    760   \end{center} 
     701    \end{enumerate*} 
     702  } 
     703  \label{fig:MB_z_zstar} 
    761704\end{figure} 
    762 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    763  
    764 In this case, the free surface equation is nonlinear, and the variations of volume are fully taken into account. 
    765 These coordinates systems is presented in a report \citep{levier.treguier.ea_rpt07} available on the \NEMO\ web site. 
    766  
    767 The \zstar coordinate approach is an unapproximated, non-linear free surface implementation which allows one to 
    768 deal with large amplitude free-surface variations relative to the vertical resolution \citep{adcroft.campin_OM04}. 
    769 In the \zstar formulation, 
    770 the variation of the column thickness due to sea-surface undulations is not concentrated in the surface level, 
    771 as in the $z$-coordinate formulation, but is equally distributed over the full water column. 
     705 
     706In this case, the free surface equation is nonlinear, 
     707and the variations of volume are fully taken into account. 
     708These coordinates systems is presented in a report \citep{levier.treguier.ea_rpt07} available on 
     709the \NEMO\ web site. 
     710 
     711The \zstar\ coordinate approach is an unapproximated, non-linear free surface implementation which 
     712allows one to deal with large amplitude free-surface variations relative to the vertical resolution 
     713\citep{adcroft.campin_OM04}. 
     714In the \zstar\ formulation, the variation of the column thickness due to sea-surface undulations is 
     715not concentrated in the surface level, as in the $z$-coordinate formulation, 
     716but is equally distributed over the full water column. 
    772717Thus vertical levels naturally follow sea-surface variations, with a linear attenuation with depth, 
    773 as illustrated by \autoref{fig:z_zstar}. 
    774 Note that with a flat bottom, such as in \autoref{fig:z_zstar}, the bottom-following $z$ coordinate and \zstar are equivalent. 
     718as illustrated by \autoref{fig:MB_z_zstar}. 
     719Note that with a flat bottom, such as in \autoref{fig:MB_z_zstar}, 
     720the bottom-following $z$ coordinate and \zstar\ are equivalent. 
    775721The definition and modified oceanic equations for the rescaled vertical coordinate \zstar, 
    776722including the treatment of fresh-water flux at the surface, are detailed in Adcroft and Campin (2004). 
    777723The major points are summarized here. 
    778 The position (\zstar) and vertical discretization (\zstar) are expressed as: 
     724The position (\zstar) and vertical discretization ($\delta \zstar$) are expressed as: 
    779725\[ 
    780   % \label{eq:PE_z-star} 
    781   H + \zstar = (H + z)  / r \quad \text{and}  \quad \delta \zstar 
    782               = \delta z / r \quad \text{with} \quad r 
    783               = \frac{H + \eta}{H} . 
     726  % \label{eq:MB_z-star} 
     727  H + \zstar = (H + z)  / r \quad \text{and}  \quad \delta \zstar = \delta z / r \quad \text{with} \quad r = \frac{H + \eta}{H} 
    784728\] 
    785729Simple re-organisation of the above expressions gives 
    786730\[ 
    787   % \label{eq:PE_zstar_2} 
    788   \zstar = H \lt( \frac{z - \eta}{H + \eta} \rt) . 
     731  % \label{eq:MB_zstar_2} 
     732  \zstar = H \lt( \frac{z - \eta}{H + \eta} \rt) 
    789733\] 
    790734Since the vertical displacement of the free surface is incorporated in the vertical coordinate \zstar, 
    791 the upper and lower boundaries are at fixed  \zstar position, 
     735the upper and lower boundaries are at fixed \zstar\ position, 
    792736$\zstar = 0$ and $\zstar = -H$ respectively. 
    793737Also the divergence of the flow field is no longer zero as shown by the continuity equation: 
    794738\[ 
    795   \pd[r]{t} = \nabla_{\zstar} \cdot \lt( r \; \vect U_h \rt) + \pd[r \; w^*]{\zstar} = 0 . 
     739  \pd[r]{t} = \nabla_{\zstar} \cdot \lt( r \; \vect U_h \rt) + \pd[r \; w^*]{\zstar} = 0 
    796740\] 
    797 This \zstar coordinate is closely related to the "eta" coordinate used in many atmospheric models 
    798 (see Black (1994) for a review of eta coordinate atmospheric models). 
     741This \zstar\ coordinate is closely related to the $\eta$ coordinate used in many atmospheric models 
     742(see Black (1994) for a review of $\eta$ coordinate atmospheric models). 
    799743It was originally used in ocean models by Stacey et al. (1995) for studies of tides next to shelves, 
    800744and it has been recently promoted by Adcroft and Campin (2004) for global climate modelling. 
    801745 
    802 The surfaces of constant \zstar are quasi -horizontal. 
    803 Indeed, the \zstar coordinate reduces to $z$ when $\eta$ is zero. 
     746The surfaces of constant \zstar\ are quasi-horizontal. 
     747Indeed, the \zstar\ coordinate reduces to $z$ when $\eta$ is zero. 
    804748In general, when noting the large differences between 
    805749undulations of the bottom topography versus undulations in the surface height, 
    806 it is clear that surfaces constant \zstar are very similar to the depth surfaces. 
     750it is clear that surfaces constant \zstar\ are very similar to the depth surfaces. 
    807751These properties greatly reduce difficulties of computing the horizontal pressure gradient relative to 
    808 terrain following sigma models discussed in \autoref{subsec:PE_sco}. 
     752terrain following sigma models discussed in \autoref{subsec:MB_sco}. 
    809753Additionally, since $\zstar = z$ when $\eta = 0$, 
    810 no flow is spontaneously generated in an unforced ocean starting from rest, regardless the bottom topography. 
    811 This behaviour is in contrast to the case with "s"-models, where pressure gradient errors in the presence of 
    812 nontrivial topographic variations can generate nontrivial spontaneous flow from a resting state, 
     754no flow is spontaneously generated in an unforced ocean starting from rest, 
     755regardless the bottom topography. 
     756This behaviour is in contrast to the case with ``s''-models, 
     757where pressure gradient errors in the presence of nontrivial topographic variations can generate 
     758nontrivial spontaneous flow from a resting state, 
    813759depending on the sophistication of the pressure gradient solver. 
    814 The quasi -horizontal nature of the coordinate surfaces also facilitates the implementation of 
    815 neutral physics parameterizations in \zstar  models using the same techniques as in $z$-models 
     760The quasi-horizontal nature of the coordinate surfaces also facilitates the implementation of 
     761neutral physics parameterizations in \zstar\ models using the same techniques as in $z$-models 
    816762(see Chapters 13-16 of \cite{griffies_bk04}) for a discussion of neutral physics in $z$-models, 
    817763as well as \autoref{sec:LDF_slp} in this document for treatment in \NEMO). 
    818764 
    819 The range over which \zstar  varies is time independent $-H \leq \zstar \leq 0$. 
     765The range over which \zstar\ varies is time independent $-H \leq \zstar \leq 0$. 
    820766Hence, all cells remain nonvanishing, so long as the surface height maintains $\eta > -H$. 
    821 This is a minor constraint relative to that encountered on the surface height when using $s = z$ or $s = z - \eta$. 
    822  
    823 Because \zstar  has a time independent range, all grid cells have static increments ds, 
     767This is a minor constraint relative to that encountered on the surface height when 
     768using $s = z$ or $s = z - \eta$. 
     769 
     770Because \zstar\ has a time independent range, all grid cells have static increments ds, 
    824771and the sum of the vertical increments yields the time independent ocean depth. %k ds = H. 
    825 The \zstar coordinate is therefore invisible to undulations of the free surface, 
     772The \zstar\ coordinate is therefore invisible to undulations of the free surface, 
    826773since it moves along with the free surface. 
    827 This property means that no spurious vertical transport is induced across surfaces of constant \zstar  by 
    828 the motion of external gravity waves. 
     774This property means that no spurious vertical transport is induced across 
     775surfaces of constant \zstar\  by the motion of external gravity waves. 
    829776Such spurious transport can be a problem in z-models, especially those with tidal forcing. 
    830 Quite generally, the time independent range for the \zstar  coordinate is a very convenient property that 
    831 allows for a nearly arbitrary vertical resolution even in the presence of large amplitude fluctuations of 
    832 the surface height, again so long as $\eta > -H$. 
     777Quite generally, 
     778the time independent range for the \zstar\ coordinate is a very convenient property that 
     779allows for a nearly arbitrary vertical resolution even in 
     780the presence of large amplitude fluctuations of the surface height, again so long as $\eta > -H$. 
    833781%end MOM doc %%% 
    834782 
    835 \newpage 
    836  
    837 % ------------------------------------------------------------------------------------------------------------- 
    838 % Terrain following  coordinate System 
    839 % ------------------------------------------------------------------------------------------------------------- 
     783%% ================================================================================================= 
    840784\subsection{Curvilinear terrain-following \textit{s}--coordinate} 
    841 \label{subsec:PE_sco} 
    842  
    843 % ------------------------------------------------------------------------------------------------------------- 
    844 % Introduction 
    845 % ------------------------------------------------------------------------------------------------------------- 
    846 \subsubsection{Introduction} 
     785\label{subsec:MB_sco} 
    847786 
    848787Several important aspects of the ocean circulation are influenced by bottom topography. 
    849 Of course, the most important is that bottom topography determines deep ocean sub-basins, barriers, sills and 
    850 channels that strongly constrain the path of water masses, but more subtle effects exist. 
    851 For example, the topographic $\beta$-effect is usually larger than the planetary one along continental slopes. 
     788Of course, the most important is that bottom topography determines deep ocean sub-basins, barriers, 
     789sills and channels that strongly constrain the path of water masses, but more subtle effects exist. 
     790For example, 
     791the topographic $\beta$-effect is usually larger than the planetary one along continental slopes. 
    852792Topographic Rossby waves can be excited and can interact with the mean current. 
    853 In the $z$-coordinate system presented in the previous section (\autoref{sec:PE_zco}), 
     793In the $z$-coordinate system presented in the previous section (\autoref{sec:MB_zco}), 
    854794$z$-surfaces are geopotential surfaces. 
    855795The bottom topography is discretised by steps. 
     
    857797large localized depth gradients associated with large localized vertical velocities. 
    858798The response to such a velocity field often leads to numerical dispersion effects. 
    859 One solution to strongly reduce this error is to use a partial step representation of bottom topography instead of 
    860 a full step one \cite{pacanowski.gnanadesikan_MWR98}. 
     799One solution to strongly reduce this error is to use a partial step representation of 
     800bottom topography instead of a full step one \cite{pacanowski.gnanadesikan_MWR98}. 
    861801Another solution is to introduce a terrain-following coordinate system (hereafter $s$-coordinate). 
    862802 
    863 The $s$-coordinate avoids the discretisation error in the depth field since the layers of 
    864 computation are gradually adjusted with depth to the ocean bottom. 
    865 Relatively small topographic features as well as  gentle, large-scale slopes of the sea floor in the deep ocean, 
    866 which would be ignored in typical $z$-model applications with the largest grid spacing at greatest depths, 
     803The $s$-coordinate avoids the discretisation error in the depth field since 
     804the layers of computation are gradually adjusted with depth to the ocean bottom. 
     805Relatively small topographic features as well as 
     806gentle, large-scale slopes of the sea floor in the deep ocean, 
     807which would be ignored in typical $z$-model applications with 
     808the largest grid spacing at greatest depths, 
    867809can easily be represented (with relatively low vertical resolution). 
    868 A terrain-following model (hereafter $s$-model) also facilitates the modelling of the boundary layer flows over 
    869 a large depth range, which in the framework of the $z$-model would require high vertical resolution over 
     810A terrain-following model (hereafter $s$-model) also facilitates 
     811the modelling of the boundary layer flows over a large depth range, 
     812which in the framework of the $z$-model would require high vertical resolution over 
    870813the whole depth range. 
    871 Moreover, with a $s$-coordinate it is possible, at least in principle, to have the bottom and the sea surface as 
     814Moreover, 
     815with a $s$-coordinate it is possible, at least in principle, to have the bottom and the sea surface as 
    872816the only boundaries of the domain (no more lateral boundary condition to specify). 
    873 Nevertheless, a $s$-coordinate also has its drawbacks. Perfectly adapted to a homogeneous ocean, 
     817Nevertheless, a $s$-coordinate also has its drawbacks. 
     818Perfectly adapted to a homogeneous ocean, 
    874819it has strong limitations as soon as stratification is introduced. 
    875820The main two problems come from the truncation error in the horizontal pressure gradient and 
    876821a possibly increased diapycnal diffusion. 
    877 The horizontal pressure force in $s$-coordinate consists of two terms (see \autoref{apdx:A}), 
    878  
     822The horizontal pressure force in $s$-coordinate consists of two terms (see \autoref{apdx:SCOORD}), 
    879823\begin{equation} 
    880   \label{eq:PE_p_sco} 
     824  \label{eq:MB_p_sco} 
    881825  \nabla p |_z = \nabla p |_s - \frac{1}{e_3} \pd[p]{s} \nabla z |_s 
    882826\end{equation} 
    883827 
    884 The second term in \autoref{eq:PE_p_sco} depends on the tilt of the coordinate surface and 
     828The second term in \autoref{eq:MB_p_sco} depends on the tilt of the coordinate surface and 
    885829leads to a truncation error that is not present in a $z$-model. 
    886 In the special case of a $\sigma$-coordinate (i.e. a depth-normalised coordinate system $\sigma = z/H$), 
    887 \citet{haney_JPO91} and \citet{beckmann.haidvogel_JPO93} have given estimates of the magnitude of this truncation error. 
    888 It depends on topographic slope, stratification, horizontal and vertical resolution, the equation of state, 
    889 and the finite difference scheme. 
     830In the special case of a $\sigma$-coordinate 
     831(i.e. a depth-normalised coordinate system $\sigma = z/H$), 
     832\citet{haney_JPO91} and \citet{beckmann.haidvogel_JPO93} have given estimates of 
     833the magnitude of this truncation error. 
     834It depends on topographic slope, stratification, horizontal and vertical resolution, 
     835the equation of state, and the finite difference scheme. 
    890836This error limits the possible topographic slopes that a model can handle at 
    891837a given horizontal and vertical resolution. 
    892838This is a severe restriction for large-scale applications using realistic bottom topography. 
    893 The large-scale slopes require high horizontal resolution, and the computational cost becomes prohibitive. 
     839The large-scale slopes require high horizontal resolution, 
     840and the computational cost becomes prohibitive. 
    894841This problem can be at least partially overcome by mixing $s$-coordinate and 
    895 step-like representation of bottom topography \citep{gerdes_JGR93*a,gerdes_JGR93*b,madec.delecluse.ea_JPO96}. 
     842step-like representation of bottom topography 
     843\citep{gerdes_JGR93*a,gerdes_JGR93*b,madec.delecluse.ea_JPO96}. 
    896844However, the definition of the model domain vertical coordinate becomes then a non-trivial thing for 
    897845a realistic bottom topography: 
    898 an envelope topography is defined in $s$-coordinate on which a full or 
    899 partial step bottom topography is then applied in order to adjust the model depth to the observed one 
    900 (see \autoref{sec:DOM_zgr}. 
    901  
    902 For numerical reasons a minimum of diffusion is required along the coordinate surfaces of 
    903 any finite difference model. 
     846an envelope topography is defined in $s$-coordinate on which 
     847a full or partial step bottom topography is then applied in order to 
     848adjust the model depth to the observed one (see \autoref{subsec:DOM_zgr}). 
     849 
     850For numerical reasons a minimum of diffusion is required along 
     851the coordinate surfaces of any finite difference model. 
    904852It causes spurious diapycnal mixing when coordinate surfaces do not coincide with isoneutral surfaces. 
    905853This is the case for a $z$-model as well as for a $s$-model. 
    906 However, density varies more strongly on $s$-surfaces than on horizontal surfaces in regions of 
    907 large topographic slopes, implying larger diapycnal diffusion in a $s$-model than in a $z$-model. 
    908 Whereas such a diapycnal diffusion in a $z$-model tends to weaken horizontal density (pressure) gradients and thus 
    909 the horizontal circulation, it usually reinforces these gradients in a $s$-model, creating spurious circulation. 
    910 For example, imagine an isolated bump of topography in an ocean at rest with a horizontally uniform stratification. 
     854However, density varies more strongly on $s$-surfaces than on horizontal surfaces in 
     855regions of large topographic slopes, 
     856implying larger diapycnal diffusion in a $s$-model than in a $z$-model. 
     857Whereas such a diapycnal diffusion in a $z$-model tends to 
     858weaken horizontal density (pressure) gradients and thus the horizontal circulation, 
     859it usually reinforces these gradients in a $s$-model, creating spurious circulation. 
     860For example, imagine an isolated bump of topography in 
     861an ocean at rest with a horizontally uniform stratification. 
    911862Spurious diffusion along $s$-surfaces will induce a bump of isoneutral surfaces over the topography, 
    912863and thus will generate there a baroclinic eddy. 
    913864In contrast, the ocean will stay at rest in a $z$-model. 
    914 As for the truncation error, the problem can be reduced by introducing the terrain-following coordinate below 
    915 the strongly stratified portion of the water column (\ie\ the main thermocline) \citep{madec.delecluse.ea_JPO96}. 
    916 An alternate solution consists of rotating the lateral diffusive tensor to geopotential or to isoneutral surfaces 
    917 (see \autoref{subsec:PE_ldf}). 
     865As for the truncation error, the problem can be reduced by 
     866introducing the terrain-following coordinate below the strongly stratified portion of the water column 
     867(\ie\ the main thermocline) \citep{madec.delecluse.ea_JPO96}. 
     868An alternate solution consists of rotating the lateral diffusive tensor to 
     869geopotential or to isoneutral surfaces (see \autoref{subsec:MB_ldf}). 
    918870Unfortunately, the slope of isoneutral surfaces relative to the $s$-surfaces can very large, 
    919 strongly exceeding the stability limit of such a operator when it is discretized (see \autoref{chap:LDF}). 
    920  
    921 The $s$-coordinates introduced here \citep{lott.madec.ea_OM90,madec.delecluse.ea_JPO96} differ mainly in two aspects from 
    922 similar models: 
    923 it allows a representation of bottom topography with mixed full or partial step-like/terrain following topography; 
     871strongly exceeding the stability limit of such a operator when it is discretized 
     872(see \autoref{chap:LDF}). 
     873 
     874The $s$-coordinates introduced here \citep{lott.madec.ea_OM90,madec.delecluse.ea_JPO96} 
     875differ mainly in two aspects from similar models: 
     876it allows a representation of bottom topography with 
     877mixed full or partial step-like/terrain following topography; 
    924878It also offers a completely general transformation, $s=s(i,j,z)$ for the vertical coordinate. 
    925879 
    926 % ------------------------------------------------------------------------------------------------------------- 
    927 % Curvilinear z-tilde coordinate System 
    928 % ------------------------------------------------------------------------------------------------------------- 
    929 \subsection{\texorpdfstring{Curvilinear \ztilde-coordinate}{}} 
    930 \label{subsec:PE_zco_tilde} 
    931  
    932 The \ztilde -coordinate has been developed by \citet{leclair.madec_OM11}. 
     880%% ================================================================================================= 
     881\subsection{Curvilinear \ztilde-coordinate} 
     882\label{subsec:MB_zco_tilde} 
     883 
     884The \ztilde-coordinate has been developed by \citet{leclair.madec_OM11}. 
    933885It is available in \NEMO\ since the version 3.4 and is more robust in version 4.0 than previously. 
    934886Nevertheless, it is currently not robust enough to be used in all possible configurations. 
    935887Its use is therefore not recommended. 
    936888 
    937 \newpage 
    938  
    939 % ================================================================ 
    940 % Subgrid Scale Physics 
    941 % ================================================================ 
     889%% ================================================================================================= 
    942890\section{Subgrid scale physics} 
    943 \label{sec:PE_zdf_ldf} 
    944  
    945 The hydrostatic primitive equations describe the behaviour of a geophysical fluid at space and time scales larger than 
    946 a few kilometres in the horizontal, a few meters in the vertical and a few minutes. 
    947 They are usually solved at larger scales: the specified grid spacing and time step of the numerical model. 
     891\label{sec:MB_zdf_ldf} 
     892 
     893The hydrostatic primitive equations describe the behaviour of a geophysical fluid at 
     894space and time scales larger than a few kilometres in the horizontal, 
     895a few meters in the vertical and a few minutes. 
     896They are usually solved at larger scales: the specified grid spacing and time step of 
     897the numerical model. 
    948898The effects of smaller scale motions (coming from the advective terms in the Navier-Stokes equations) 
    949899must be represented entirely in terms of large-scale patterns to close the equations. 
     
    956906small scale processes \textit{in fine} balance the surface input of kinetic energy and heat. 
    957907 
    958 The control exerted by gravity on the flow induces a strong anisotropy between the lateral and vertical motions. 
     908The control exerted by gravity on the flow induces a strong anisotropy between 
     909the lateral and vertical motions. 
    959910Therefore subgrid-scale physics \textbf{D}$^{\vect U}$, $D^{S}$ and $D^{T}$  in 
    960 \autoref{eq:PE_dyn}, \autoref{eq:PE_tra_T} and \autoref{eq:PE_tra_S} are divided into 
    961 a lateral part \textbf{D}$^{l \vect U}$, $D^{l S}$ and $D^{l T}$ and 
     911\autoref{eq:MB_PE_dyn}, \autoref{eq:MB_PE_tra_T} and \autoref{eq:MB_PE_tra_S} are divided into 
     912a  lateral part \textbf{D}$^{l \vect U}$, $D^{l S}$ and $D^{l T}$ and 
    962913a vertical part \textbf{D}$^{v \vect U}$, $D^{v S}$ and $D^{v T}$. 
    963 The formulation of these terms and their underlying physics are briefly discussed in the next two subsections. 
    964  
    965 % ------------------------------------------------------------------------------------------------------------- 
    966 % Vertical Subgrid Scale Physics 
    967 % ------------------------------------------------------------------------------------------------------------- 
     914The formulation of these terms and their underlying physics are briefly discussed in 
     915the next two subsections. 
     916 
     917%% ================================================================================================= 
    968918\subsection{Vertical subgrid scale physics} 
    969 \label{subsec:PE_zdf} 
    970  
    971 The model resolution is always larger than the scale at which the major sources of vertical turbulence occur 
    972 (shear instability, internal wave breaking...). 
     919\label{subsec:MB_zdf} 
     920 
     921The model resolution is always larger than the scale at which 
     922the major sources of vertical turbulence occur (shear instability, internal wave breaking...). 
    973923Turbulent motions are thus never explicitly solved, even partially, but always parameterized. 
    974 The vertical turbulent fluxes are assumed to depend linearly on the gradients of large-scale quantities 
    975 (for example, the turbulent heat flux is given by $\overline{T' w'} = -A^{v T} \partial_z \overline T$, 
     924The vertical turbulent fluxes are assumed to depend linearly on 
     925the gradients of large-scale quantities (for example, 
     926the turbulent heat flux is given by $\overline{T' w'} = -A^{v T} \partial_z \overline T$, 
    976927where $A^{v T}$ is an eddy coefficient). 
    977928This formulation is analogous to that of molecular diffusion and dissipation. 
     
    981932The resulting vertical momentum and tracer diffusive operators are of second order: 
    982933\begin{equation} 
    983   \label{eq:PE_zdf} 
     934  \label{eq:MB_zdf} 
    984935  \begin{gathered} 
    985     \vect D^{v \vect U} = \pd[]{z} \lt( A^{vm} \pd[\vect U_h]{z} \rt) \ , \\ 
    986           D^{vT}       = \pd[]{z} \lt( A^{vT} \pd[T]{z}         \rt) \quad \text{and} \quad 
     936    \vect D^{v \vect U} = \pd[]{z} \lt( A^{vm} \pd[\vect U_h]{z} \rt) \text{,} \ 
     937          D^{vT}       = \pd[]{z} \lt( A^{vT} \pd[T]{z}         \rt) \ \text{and} \ 
    987938          D^{vS}       = \pd[]{z} \lt( A^{vT} \pd[S]{z}         \rt) 
    988939  \end{gathered} 
    989940\end{equation} 
    990 where $A^{vm}$ and $A^{vT}$ are the vertical eddy viscosity and diffusivity coefficients, respectively. 
     941where $A^{vm}$ and $A^{vT}$ are the vertical eddy viscosity and diffusivity coefficients, 
     942respectively. 
    991943At the sea surface and at the bottom, turbulent fluxes of momentum, heat and salt must be specified 
    992944(see \autoref{chap:SBC} and \autoref{chap:ZDF} and \autoref{sec:TRA_bbl}). 
    993945All the vertical physics is embedded in the specification of the eddy coefficients. 
    994946They can be assumed to be either constant, or function of the local fluid properties 
    995 (\eg\ Richardson number, Brunt-Vais\"{a}l\"{a} frequency, distance from the boundary ...), 
     947(\eg\ Richardson number, Brunt-V\"{a}is\"{a}l\"{a} frequency, distance from the boundary ...), 
    996948or computed from a turbulent closure model. 
    997949The choices available in \NEMO\ are discussed in \autoref{chap:ZDF}). 
    998950 
    999 % ------------------------------------------------------------------------------------------------------------- 
    1000 % Lateral Diffusive and Viscous Operators Formulation 
    1001 % ------------------------------------------------------------------------------------------------------------- 
     951%% ================================================================================================= 
    1002952\subsection{Formulation of the lateral diffusive and viscous operators} 
    1003 \label{subsec:PE_ldf} 
     953\label{subsec:MB_ldf} 
    1004954 
    1005955Lateral turbulence can be roughly divided into a mesoscale turbulence associated with eddies 
    1006956(which can be solved explicitly if the resolution is sufficient since 
    1007957their underlying physics are included in the primitive equations), 
    1008 and a sub mesoscale turbulence which is never explicitly solved even partially, but always parameterized. 
    1009 The formulation of lateral eddy fluxes depends on whether the mesoscale is below or above the grid-spacing 
    1010 (\ie\ the model is eddy-resolving or not). 
     958and a sub mesoscale turbulence which is never explicitly solved even partially, 
     959but always parameterized. 
     960The formulation of lateral eddy fluxes depends on whether 
     961the mesoscale is below or above the grid-spacing (\ie\ the model is eddy-resolving or not). 
    1011962 
    1012963In non-eddy-resolving configurations, the closure is similar to that used for the vertical physics. 
    1013 The lateral turbulent fluxes are assumed to depend linearly on the lateral gradients of large-scale quantities. 
     964The lateral turbulent fluxes are assumed to depend linearly on 
     965the lateral gradients of large-scale quantities. 
    1014966The resulting lateral diffusive and dissipative operators are of second order. 
    1015 Observations show that lateral mixing induced by mesoscale turbulence tends to be along isopycnal surfaces 
     967Observations show that 
     968lateral mixing induced by mesoscale turbulence tends to be along isopycnal surfaces 
    1016969(or more precisely neutral surfaces \cite{mcdougall_JPO87}) rather than across them. 
    1017 As the slope of neutral surfaces is small in the ocean, a common approximation is to assume that 
    1018 the `lateral' direction is the horizontal, \ie\ the lateral mixing is performed along geopotential surfaces. 
     970As the slope of neutral surfaces is small in the ocean, 
     971a common approximation is to assume that the ``lateral'' direction is the horizontal, 
     972\ie\ the lateral mixing is performed along geopotential surfaces. 
    1019973This leads to a geopotential second order operator for lateral subgrid scale physics. 
    1020 This assumption can be relaxed: the eddy-induced turbulent fluxes can be better approached by assuming that 
     974This assumption can be relaxed: 
     975the eddy-induced turbulent fluxes can be better approached by assuming that 
    1021976they depend linearly on the gradients of large-scale quantities computed along neutral surfaces. 
    1022977In such a case, the diffusive operator is an isoneutral second order operator and 
    1023978it has components in the three space directions. 
    1024 However, 
    1025 both horizontal and isoneutral operators have no effect on mean (\ie\ large scale) potential energy whereas 
     979However, both horizontal and isoneutral operators have no effect on 
     980mean (\ie\ large scale) potential energy whereas 
    1026981potential energy is a main source of turbulence (through baroclinic instabilities). 
    1027982\citet{gent.mcwilliams_JPO90} proposed a parameterisation of mesoscale eddy-induced turbulence which 
    1028983associates an eddy-induced velocity to the isoneutral diffusion. 
    1029984Its mean effect is to reduce the mean potential energy of the ocean. 
    1030 This leads to a formulation of lateral subgrid-scale physics made up of an isoneutral second order operator and 
    1031 an eddy induced advective part. 
     985This leads to a formulation of lateral subgrid-scale physics made up of 
     986an isoneutral second order operator and an eddy induced advective part. 
    1032987In all these lateral diffusive formulations, 
    1033988the specification of the lateral eddy coefficients remains the problematic point as 
    1034 there is no really satisfactory formulation of these coefficients as a function of large-scale features. 
     989there is no really satisfactory formulation of these coefficients as 
     990a function of large-scale features. 
    1035991 
    1036992In eddy-resolving configurations, a second order operator can be used, 
     
    1041997not interfering with the resolved mesoscale activity. 
    1042998Another approach is becoming more and more popular: 
    1043 instead of specifying explicitly a sub-grid scale term in the momentum and tracer time evolution equations, 
     999instead of specifying explicitly a sub-grid scale term in 
     1000the momentum and tracer time evolution equations, 
    10441001one uses an advective scheme which is diffusive enough to maintain the model stability. 
    1045 It must be emphasised that then, all the sub-grid scale physics is included in the formulation of 
    1046 the advection scheme. 
     1002It must be emphasised that then, 
     1003all the sub-grid scale physics is included in the formulation of the advection scheme. 
    10471004 
    10481005All these parameterisations of subgrid scale physics have advantages and drawbacks. 
    1049 They are not all available in \NEMO. For active tracers (temperature and salinity) the main ones are: 
     1006They are not all available in \NEMO. 
     1007For active tracers (temperature and salinity) the main ones are: 
    10501008Laplacian and bilaplacian operators acting along geopotential or iso-neutral surfaces, 
    10511009\citet{gent.mcwilliams_JPO90} parameterisation, and various slightly diffusive advection schemes. 
    1052 For momentum, the main ones are: Laplacian and bilaplacian operators acting along geopotential surfaces, 
     1010For momentum, the main ones are: 
     1011Laplacian and bilaplacian operators acting along geopotential surfaces, 
    10531012and UBS advection schemes when flux form is chosen for the momentum advection. 
    10541013 
     1014%% ================================================================================================= 
    10551015\subsubsection{Lateral laplacian tracer diffusive operator} 
    10561016 
    1057 The lateral Laplacian tracer diffusive operator is defined by (see \autoref{apdx:B}): 
     1017The lateral Laplacian tracer diffusive operator is defined by (see \autoref{apdx:DIFFOPERS}): 
    10581018\begin{equation} 
    1059   \label{eq:PE_iso_tensor} 
    1060   D^{lT} = \nabla \vect . \lt( A^{lT} \; \Re \; \nabla T \rt) \quad \text{with} \quad 
    1061   \Re = 
    1062     \begin{pmatrix} 
    1063       1    & 0    & -r_1          \\ 
    1064       0    & 1    & -r_2          \\ 
    1065       -r_1 & -r_2 & r_1^2 + r_2^2 \\ 
    1066     \end{pmatrix} 
     1019  \label{eq:MB_iso_tensor} 
     1020  D^{lT} = \nabla \vect . \lt( A^{lT} \; \Re \; \nabla T \rt) \quad \text{with} \quad \Re = 
     1021  \begin{pmatrix} 
     1022    1    & 0    & -r_1          \\ 
     1023    0    & 1    & -r_2          \\ 
     1024    -r_1 & -r_2 & r_1^2 + r_2^2 \\ 
     1025  \end{pmatrix} 
    10671026\end{equation} 
    10681027where $r_1$ and $r_2$ are the slopes between the surface along which the diffusive operator acts and 
    10691028the model level (\eg\ $z$- or $s$-surfaces). 
    1070 Note that the formulation \autoref{eq:PE_iso_tensor} is exact for 
     1029Note that the formulation \autoref{eq:MB_iso_tensor} is exact for 
    10711030the rotation between geopotential and $s$-surfaces, 
    10721031while it is only an approximation for the rotation between isoneutral and $z$- or $s$-surfaces. 
    1073 Indeed, in the latter case, two assumptions are made to simplify \autoref{eq:PE_iso_tensor} \citep{cox_OM87}. 
    1074 First, the horizontal contribution of the dianeutral mixing is neglected since the ratio between iso and 
    1075 dia-neutral diffusive coefficients is known to be several orders of magnitude smaller than unity. 
     1032Indeed, in the latter case, two assumptions are made to simplify \autoref{eq:MB_iso_tensor} 
     1033\citep{cox_OM87}. 
     1034First, the horizontal contribution of the dianeutral mixing is neglected since 
     1035the ratio between iso and dia-neutral diffusive coefficients is known to be 
     1036several orders of magnitude smaller than unity. 
    10761037Second, the two isoneutral directions of diffusion are assumed to be independent since 
    1077 the slopes are generally less than $10^{-2}$ in the ocean (see \autoref{apdx:B}). 
     1038the slopes are generally less than $10^{-2}$ in the ocean (see \autoref{apdx:DIFFOPERS}). 
    10781039 
    10791040For \textit{iso-level} diffusion, $r_1$ and $r_2 $ are zero. 
     
    10821043For \textit{geopotential} diffusion, 
    10831044$r_1$ and $r_2 $ are the slopes between the geopotential and computational surfaces: 
    1084 they are equal to $\sigma_1$ and $\sigma_2$, respectively (see \autoref{eq:PE_sco_slope}). 
    1085  
    1086 For \textit{isoneutral} diffusion $r_1$ and $r_2$ are the slopes between the isoneutral and computational surfaces. 
     1045they are equal to $\sigma_1$ and $\sigma_2$, respectively (see \autoref{eq:MB_sco_slope}). 
     1046 
     1047For \textit{isoneutral} diffusion $r_1$ and $r_2$ are the slopes between 
     1048the isoneutral and computational surfaces. 
    10871049Therefore, they are different quantities, but have similar expressions in $z$- and $s$-coordinates. 
    10881050In $z$-coordinates: 
    10891051\begin{equation} 
    1090   \label{eq:PE_iso_slopes} 
    1091   r_1 = \frac{e_3}{e_1} \lt( \pd[\rho]{i} \rt) \lt( \pd[\rho]{k} \rt)^{-1} \quad 
    1092   r_2 = \frac{e_3}{e_2} \lt( \pd[\rho]{j} \rt) \lt( \pd[\rho]{k} \rt)^{-1} 
     1052  \label{eq:MB_iso_slopes} 
     1053  r_1 = \frac{e_3}{e_1} \lt( \pd[\rho]{i} \rt) \lt( \pd[\rho]{k} \rt)^{-1} \quad 
     1054  r_2 = \frac{e_3}{e_2} \lt( \pd[\rho]{j} \rt) \lt( \pd[\rho]{k} \rt)^{-1} 
    10931055\end{equation} 
    10941056while in $s$-coordinates $\pd[]{k}$ is replaced by $\pd[]{s}$. 
    10951057 
     1058%% ================================================================================================= 
    10961059\subsubsection{Eddy induced velocity} 
    10971060 
     
    10991062an additional tracer advection is introduced in combination with the isoneutral diffusion of tracers: 
    11001063\[ 
    1101   % \label{eq:PE_iso+eiv} 
     1064  % \label{eq:MB_iso+eiv} 
    11021065  D^{lT} = \nabla \cdot \lt( A^{lT} \; \Re \; \nabla T \rt) + \nabla \cdot \lt( \vect U^\ast \, T \rt) 
    11031066\] 
    11041067where $ \vect U^\ast = \lt( u^\ast,v^\ast,w^\ast \rt)$ is a non-divergent, 
    11051068eddy-induced transport velocity. This velocity field is defined by: 
    1106 \begin{gather} 
    1107   % \label{eq:PE_eiv} 
    1108   u^\ast =   \frac{1}{e_3}            \pd[]{k} \lt( A^{eiv} \;        \tilde{r}_1 \rt) \\ 
    1109   v^\ast =   \frac{1}{e_3}            \pd[]{k} \lt( A^{eiv} \;        \tilde{r}_2 \rt) \\ 
     1069\[ 
     1070  % \label{eq:MB_eiv} 
     1071  u^\ast =   \frac{1}{e_3}            \pd[]{k} \lt( A^{eiv} \;        \tilde{r}_1 \rt) \quad 
     1072  v^\ast =   \frac{1}{e_3}            \pd[]{k} \lt( A^{eiv} \;        \tilde{r}_2 \rt) \quad 
    11101073  w^\ast = - \frac{1}{e_1 e_2} \lt[   \pd[]{i} \lt( A^{eiv} \; e_2 \, \tilde{r}_1 \rt) 
    11111074                                     + \pd[]{j} \lt( A^{eiv} \; e_1 \, \tilde{r}_2 \rt) \rt] 
    1112 \end{gather} 
     1075\] 
    11131076where $A^{eiv}$ is the eddy induced velocity coefficient 
    11141077(or equivalently the isoneutral thickness diffusivity coefficient), 
    1115 and $\tilde r_1$ and $\tilde r_2$ are the slopes between isoneutral and \textit{geopotential} surfaces. 
    1116 Their values are thus independent of the vertical coordinate, but their expression depends on the coordinate: 
    1117 \begin{align} 
    1118   \label{eq:PE_slopes_eiv} 
     1078and $\tilde r_1$ and $\tilde r_2$ are the slopes between 
     1079isoneutral and \textit{geopotential} surfaces. 
     1080Their values are thus independent of the vertical coordinate, 
     1081but their expression depends on the coordinate: 
     1082\begin{equation} 
     1083  \label{eq:MB_slopes_eiv} 
    11191084  \tilde{r}_n = 
    11201085    \begin{cases} 
     
    11231088    \end{cases} 
    11241089  \quad \text{where~} n = 1, 2 
    1125 \end{align} 
     1090\end{equation} 
    11261091 
    11271092The normal component of the eddy induced velocity is zero at all the boundaries. 
    1128 This can be achieved in a model by tapering either the eddy coefficient or the slopes to zero in the vicinity of 
    1129 the boundaries. 
     1093This can be achieved in a model by tapering either the eddy coefficient or the slopes to zero in 
     1094the vicinity of the boundaries. 
    11301095The latter strategy is used in \NEMO\ (cf. \autoref{chap:LDF}). 
    11311096 
     1097%% ================================================================================================= 
    11321098\subsubsection{Lateral bilaplacian tracer diffusive operator} 
    11331099 
    11341100The lateral bilaplacian tracer diffusive operator is defined by: 
    11351101\[ 
    1136   % \label{eq:PE_bilapT} 
     1102  % \label{eq:MB_bilapT} 
    11371103  D^{lT}= - \Delta \; (\Delta T) \quad \text{where} \quad 
    11381104  \Delta \bullet = \nabla \lt( \sqrt{B^{lT}} \; \Re \; \nabla \bullet \rt) 
    11391105\] 
    1140 It is the Laplacian operator given by \autoref{eq:PE_iso_tensor} applied twice with 
     1106It is the Laplacian operator given by \autoref{eq:MB_iso_tensor} applied twice with 
    11411107the harmonic eddy diffusion coefficient set to the square root of the biharmonic one. 
    11421108 
     1109%% ================================================================================================= 
    11431110\subsubsection{Lateral Laplacian momentum diffusive operator} 
    11441111 
    11451112The Laplacian momentum diffusive operator along $z$- or $s$-surfaces is found by 
    1146 applying \autoref{eq:PE_lap_vector} to the horizontal velocity vector (see \autoref{apdx:B}): 
     1113applying \autoref{eq:MB_lap_vector} to the horizontal velocity vector (see \autoref{apdx:DIFFOPERS}): 
    11471114\begin{align*} 
    1148   % \label{eq:PE_lapU} 
     1115  % \label{eq:MB_lapU} 
    11491116  \vect D^{l \vect U} &=   \nabla_h        \big( A^{lm}    \chi             \big) 
    11501117                         - \nabla_h \times \big( A^{lm} \, \zeta \; \vect k \big) \\ 
     
    11551122\end{align*} 
    11561123 
    1157 Such a formulation ensures a complete separation between the vorticity and horizontal divergence fields 
    1158 (see \autoref{apdx:C}). 
     1124Such a formulation ensures a complete separation between 
     1125the vorticity and horizontal divergence fields (see \autoref{apdx:INVARIANTS}). 
    11591126Unfortunately, it is only available in \textit{iso-level} direction. 
    11601127When a rotation is required 
    1161 (\ie\ geopotential diffusion in $s$-coordinates or isoneutral diffusion in both $z$- and $s$-coordinates), 
    1162 the $u$ and $v$-fields are considered as independent scalar fields, so that the diffusive operator is given by: 
    1163 \begin{gather*} 
    1164   % \label{eq:PE_lapU_iso} 
    1165     D_u^{l \vect U} = \nabla . \lt( A^{lm} \; \Re \; \nabla u \rt) \\ 
     1128(\ie\ geopotential diffusion in $s$-coordinates or 
     1129isoneutral diffusion in both $z$- and $s$-coordinates), 
     1130the $u$ and $v$-fields are considered as independent scalar fields, 
     1131so that the diffusive operator is given by: 
     1132\[ 
     1133  % \label{eq:MB_lapU_iso} 
     1134    D_u^{l \vect U} = \nabla . \lt( A^{lm} \; \Re \; \nabla u \rt) \quad 
    11661135    D_v^{l \vect U} = \nabla . \lt( A^{lm} \; \Re \; \nabla v \rt) 
    1167 \end{gather*} 
    1168 where $\Re$ is given by \autoref{eq:PE_iso_tensor}. 
     1136\] 
     1137where $\Re$ is given by \autoref{eq:MB_iso_tensor}. 
    11691138It is the same expression as those used for diffusive operator on tracers. 
    11701139It must be emphasised that such a formulation is only exact in a Cartesian coordinate system, 
     
    11731142a geographical coordinate system \citep{lengaigne.madec.ea_JGR03}. 
    11741143 
     1144%% ================================================================================================= 
    11751145\subsubsection{Lateral bilaplacian momentum diffusive operator} 
    11761146 
    1177 As for tracers, the bilaplacian order momentum diffusive operator is a re-entering Laplacian operator with 
     1147As for tracers, 
     1148the bilaplacian order momentum diffusive operator is a re-entering Laplacian operator with 
    11781149the harmonic eddy diffusion coefficient set to the square root of the biharmonic one. 
    11791150Nevertheless it is currently not available in the iso-neutral case. 
    11801151 
    1181 \biblio 
    1182  
    1183 \pindex 
     1152\onlyinsubfile{\input{../../global/epilogue}} 
    11841153 
    11851154\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_model_basics_zstar.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter 1 Model Basics 
    6 % ================================================================ 
    7 % ================================================================ 
    8 % Curvilinear \zstar- \sstar-coordinate System 
    9 % ================================================================ 
     4 
    105\chapter{ essai \zstar \sstar} 
     6 
     7\thispagestyle{plain} 
     8 
     9\chaptertoc 
     10 
     11\paragraph{Changes record} ~\\ 
     12 
     13{\footnotesize 
     14  \begin{tabularx}{\textwidth}{l||X|X} 
     15    Release & Author(s) & Modifications \\ 
     16    \hline 
     17    {\em   4.0} & {\em ...} & {\em ...} \\ 
     18    {\em   3.6} & {\em ...} & {\em ...} \\ 
     19    {\em   3.4} & {\em ...} & {\em ...} \\ 
     20    {\em <=3.4} & {\em ...} & {\em ...} 
     21  \end{tabularx} 
     22} 
     23 
     24\clearpage 
     25 
     26%% ================================================================================================= 
    1127\section{Curvilinear \zstar- or \sstar coordinate system} 
    12  
    13 % ------------------------------------------------------------------------------------------------------------- 
    14 % ???? 
    15 % ------------------------------------------------------------------------------------------------------------- 
    1628 
    1729\colorbox{yellow}{ to be updated } 
     
    2638To overcome problems with vanishing surface and/or bottom cells, we consider the zstar coordinate 
    2739\[ 
    28   % \label{eq:PE_} 
     40  % \label{eq:MBZ_PE_} 
    2941  z^\star = H \left( \frac{z-\eta}{H+\eta} \right) 
    3042\] 
     
    4052the surface height, it is clear that surfaces constant $z^\star$ are very similar to the depth surfaces. 
    4153These properties greatly reduce difficulties of computing the horizontal pressure gradient relative to 
    42 terrain following sigma models discussed in \autoref{subsec:PE_sco}. 
     54terrain following sigma models discussed in \autoref{subsec:MB_sco}. 
    4355Additionally, since $z^\star$ when $\eta = 0$, no flow is spontaneously generated in 
    4456an unforced ocean starting from rest, regardless the bottom topography. 
     
    6678the surface height, again so long as $\eta > -H$. 
    6779 
    68 %%% 
    6980%  essai update time splitting... 
    70 %%% 
    71  
    72 % ================================================================ 
    73 % Surface Pressure Gradient and Sea Surface Height 
    74 % ================================================================ 
    75 \section[Surface pressure gradient and sea surface heigth (\textit{dynspg.F90})] 
    76 {Surface pressure gradient and sea surface heigth (\protect\mdl{dynspg})} 
    77 \label{sec:DYN_hpg_spg} 
    78 %-----------------------------------------nam_dynspg---------------------------------------------------- 
     81 
     82%% ================================================================================================= 
     83\section[Surface pressure gradient and sea surface heigth (\textit{dynspg.F90})]{Surface pressure gradient and sea surface heigth (\protect\mdl{dynspg})} 
     84\label{sec:MBZ_dyn_hpg_spg} 
    7985 
    8086%\nlst{nam_dynspg} 
    81 %------------------------------------------------------------------------------------------------------------ 
    82 Options are defined through the \nam{\_dynspg} namelist variables. 
    83 The surface pressure gradient term is related to the representation of the free surface (\autoref{sec:PE_hor_pg}). 
     87Options are defined through the \nam{_dynspg}{\_dynspg} namelist variables. 
     88The surface pressure gradient term is related to the representation of the free surface (\autoref{sec:MB_hor_pg}). 
    8489The main distinction is between the fixed volume case (linear free surface or rigid lid) and 
    8590the variable volume case (nonlinear free surface, \key{vvl} is active). 
    86 In the linear free surface case (\autoref{subsec:PE_free_surface}) and rigid lid (\autoref{PE_rigid_lid}), 
     91In the linear free surface case (\autoref{subsec:MB_free_surface}) and rigid lid (\autoref{PE_rigid_lid}), 
    8792the vertical scale factors $e_{3}$ are fixed in time, 
    88 while in the nonlinear case (\autoref{subsec:PE_free_surface}) they are time-dependent. 
     93while in the nonlinear case (\autoref{subsec:MB_free_surface}) they are time-dependent. 
    8994With both linear and nonlinear free surface, external gravity waves are allowed in the equations, 
    9095which imposes a very small time step when an explicit time stepping is used. 
    9196Two methods are proposed to allow a longer time step for the three-dimensional equations: 
    92 the filtered free surface, which is a modification of the continuous equations %(see \autoref{eq:PE_flt?}), 
     97the filtered free surface, which is a modification of the continuous equations %(see \autoref{eq:MB_flt?}), 
    9398and the split-explicit free surface described below. 
    9499The extra term introduced in the filtered method is calculated implicitly, 
    95100so that the update of the next velocities is done in module \mdl{dynspg\_flt} and not in \mdl{dynnxt}. 
    96101 
    97 %------------------------------------------------------------- 
    98102% Explicit 
    99 %------------------------------------------------------------- 
    100 \subsubsection[Explicit (\texttt{\textbf{key\_dynspg\_exp}})] 
    101 {Explicit (\protect\key{dynspg\_exp})} 
    102 \label{subsec:DYN_spg_exp} 
     103%% ================================================================================================= 
     104\subsubsection[Explicit (\texttt{\textbf{key\_dynspg\_exp}})]{Explicit (\protect\key{dynspg\_exp})} 
     105\label{subsec:MBZ_dyn_spg_exp} 
    103106 
    104107In the explicit free surface formulation, the model time step is chosen small enough to 
     
    106109The sea surface height is given by: 
    107110\begin{equation} 
    108   \label{eq:dynspg_ssh} 
     111  \label{eq:MBZ_dynspg_ssh} 
    109112  \frac{\partial \eta }{\partial t}\equiv \frac{\text{EMP}}{\rho_w }+\frac{1}{e_{1T} 
    110113    e_{2T} }\sum\limits_k {\left( {\delta_i \left[ {e_{2u} e_{3u} u} 
     
    116119and $\rho_w =1,000\,Kg.m^{-3}$ is the volumic mass of pure water. 
    117120The sea-surface height is evaluated using a leapfrog scheme in combination with an Asselin time filter, 
    118 (\ie\ the velocity appearing in (\autoref{eq:dynspg_ssh}) is centred in time (\textit{now} velocity). 
     121(\ie\ the velocity appearing in (\autoref{eq:DYN_spg_ssh}) is centred in time (\textit{now} velocity). 
    119122 
    120123The surface pressure gradient, also evaluated using a leap-frog scheme, is then simply given by: 
    121124\begin{equation} 
    122   \label{eq:dynspg_exp} 
     125  \label{eq:MBZ_dynspg_exp} 
    123126  \left\{ 
    124127    \begin{aligned} 
     
    130133 
    131134Consistent with the linearization, a $\left. \rho \right|_{k=1} / \rho_o$ factor is omitted in 
    132 (\autoref{eq:dynspg_exp}). 
    133  
    134 %------------------------------------------------------------- 
     135(\autoref{eq:DYN_spg_exp}). 
     136 
    135137% Split-explicit time-stepping 
    136 %------------------------------------------------------------- 
    137 \subsubsection[Split-explicit time-stepping (\texttt{\textbf{key\_dynspg\_ts}})] 
    138 {Split-explicit time-stepping (\protect\key{dynspg\_ts})} 
    139 \label{subsec:DYN_spg_ts} 
    140 %--------------------------------------------namdom---------------------------------------------------- 
    141  
    142 \nlst{namdom} 
    143 %-------------------------------------------------------------------------------------------------------------- 
     138%% ================================================================================================= 
     139\subsubsection[Split-explicit time-stepping (\texttt{\textbf{key\_dynspg\_ts}})]{Split-explicit time-stepping (\protect\key{dynspg\_ts})} 
     140\label{subsec:MBZ_dyn_spg_ts} 
     141 
    144142The split-explicit free surface formulation used in OPA follows the one proposed by \citet{Griffies2004?}. 
    145143The general idea is to solve the free surface equation with a small time step, 
    146144while the three dimensional prognostic variables are solved with a longer time step that 
    147 is a multiple of \np{rdtbt} in the \nam{dom} namelist (Figure III.3). 
    148  
    149 %>   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   > 
     145is a multiple of \np{rdtbt}{rdtbt} in the \nam{dom}{dom} namelist (Figure III.3). 
     146 
    150147\begin{figure}[!t] 
    151   \begin{center} 
    152     \includegraphics[width=\textwidth]{Fig_DYN_dynspg_ts} 
    153     \caption{ 
    154       \protect\label{fig:DYN_dynspg_ts} 
    155       Schematic of the split-explicit time stepping scheme for the barotropic and baroclinic modes, 
    156       after \citet{Griffies2004?}. 
    157       Time increases to the right. 
    158       Baroclinic time steps are denoted by $t-\Delta t$, $t, t+\Delta t$, and $t+2\Delta t$. 
    159       The curved line represents a leap-frog time step, 
    160       and the smaller barotropic time steps $N \Delta t=2\Delta t$ are denoted by the zig-zag line. 
    161       The vertically integrated forcing \textbf{M}(t) computed at 
    162       baroclinic time step t represents the interaction between the barotropic and baroclinic motions. 
    163       While keeping the total depth, tracer, and freshwater forcing fields fixed, 
    164       a leap-frog integration carries the surface height and vertically integrated velocity from 
    165       t to $t+2 \Delta t$ using N barotropic time steps of length $\Delta t$. 
    166       Time averaging the barotropic fields over the N+1 time steps (endpoints included) 
    167       centers the vertically integrated velocity at the baroclinic timestep $t+\Delta t$. 
    168       A baroclinic leap-frog time step carries the surface height to $t+\Delta t$ using the convergence of 
    169       the time averaged vertically integrated velocity taken from baroclinic time step t. 
    170     } 
    171   \end{center} 
     148  \centering 
     149  \includegraphics[width=0.66\textwidth]{Fig_DYN_dynspg_ts} 
     150  \caption[Schematic of the split-explicit time stepping scheme for 
     151  the barotropic and baroclinic modes, after \citet{Griffies2004?}]{ 
     152    Schematic of the split-explicit time stepping scheme for the barotropic and baroclinic modes, 
     153    after \citet{Griffies2004?}. 
     154    Time increases to the right. 
     155    Baroclinic time steps are denoted by $t-\Delta t$, $t, t+\Delta t$, and $t+2\Delta t$. 
     156    The curved line represents a leap-frog time step, 
     157    and the smaller barotropic time steps $N \Delta t=2\Delta t$ are denoted by the zig-zag line. 
     158    The vertically integrated forcing \textbf{M}(t) computed at 
     159    baroclinic time step t represents the interaction between the barotropic and baroclinic motions. 
     160    While keeping the total depth, tracer, and freshwater forcing fields fixed, 
     161    a leap-frog integration carries the surface height and vertically integrated velocity from 
     162    t to $t+2 \Delta t$ using N barotropic time steps of length $\Delta t$. 
     163    Time averaging the barotropic fields over the N+1 time steps (endpoints included) 
     164    centers the vertically integrated velocity at the baroclinic timestep $t+\Delta t$. 
     165    A baroclinic leap-frog time step carries the surface height to $t+\Delta t$ using 
     166    the convergence of the time averaged vertically integrated velocity taken from 
     167    baroclinic time step t.} 
     168  \label{fig:MBZ_dyn_dynspg_ts} 
    172169\end{figure} 
    173 %>   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   > 
    174170 
    175171The split-explicit formulation has a damping effect on external gravity waves, 
     
    186182We have 
    187183\[ 
    188   % \label{eq:DYN_spg_ts_eta} 
     184  % \label{eq:MBZ_dyn_spg_ts_eta} 
    189185  \eta^{(b)}(\tau,t_{n+1}) - \eta^{(b)}(\tau,t_{n+1}) (\tau,t_{n-1}) 
    190186  = 2 \Delta t \left[-\nabla \cdot \textbf{U}^{(b)}(\tau,t_n) + \text{EMP}_w(\tau) \right] 
    191187\] 
    192188\begin{multline*} 
    193   % \label{eq:DYN_spg_ts_u} 
     189  % \label{eq:MBZ_dyn_spg_ts_u} 
    194190  \textbf{U}^{(b)}(\tau,t_{n+1}) - \textbf{U}^{(b)}(\tau,t_{n-1})  \\ 
    195191  = 2\Delta t \left[ - f \textbf{k} \times \textbf{U}^{(b)}(\tau,t_{n}) 
     
    207203This is also the time that sets the barotropic time steps via 
    208204\[ 
    209   % \label{eq:DYN_spg_ts_t} 
     205  % \label{eq:MBZ_dyn_spg_ts_t} 
    210206  t_n=\tau+n\Delta t 
    211207\] 
     
    213209The density scaled surface pressure is evaluated via 
    214210\[ 
    215   % \label{eq:DYN_spg_ts_ps} 
     211  % \label{eq:MBZ_dyn_spg_ts_ps} 
    216212  p_s^{(b)}(\tau,t_{n}) = 
    217213  \begin{cases} 
     
    222218To get started, we assume the following initial conditions 
    223219\[ 
    224   % \label{eq:DYN_spg_ts_eta} 
     220  % \label{eq:MBZ_dyn_spg_ts_eta} 
    225221  \begin{split} 
    226222    \eta^{(b)}(\tau,t_{n=0}) &= \overline{\eta^{(b)}(\tau)} \\ 
     
    230226with 
    231227\[ 
    232   % \label{eq:DYN_spg_ts_etaF} 
     228  % \label{eq:MBZ_dyn_spg_ts_etaF} 
    233229  \overline{\eta^{(b)}(\tau)} = \frac{1}{N+1} \sum\limits_{n=0}^N \eta^{(b)}(\tau-\Delta t,t_{n}) 
    234230\] 
     
    236232Likewise, 
    237233\[ 
    238   % \label{eq:DYN_spg_ts_u} 
     234  % \label{eq:MBZ_dyn_spg_ts_u} 
    239235  \textbf{U}^{(b)}(\tau,t_{n=0}) = \overline{\textbf{U}^{(b)}(\tau)} \\ \\ 
    240236  \textbf{U}(\tau,t_{n=1}) = \textbf{U}^{(b)}(\tau,t_{n=0}) + \Delta t \ \text{RHS}_{n=0} 
     
    242238with 
    243239\[ 
    244   % \label{eq:DYN_spg_ts_u} 
     240  % \label{eq:MBZ_dyn_spg_ts_u} 
    245241  \overline{\textbf{U}^{(b)}(\tau)} = \frac{1}{N+1} \sum\limits_{n=0}^N\textbf{U}^{(b)}(\tau-\Delta t,t_{n}) 
    246242\] 
     
    251247produce the updated vertically integrated velocity at baroclinic time $\tau + \Delta \tau$ 
    252248\[ 
    253   % \label{eq:DYN_spg_ts_u} 
     249  % \label{eq:MBZ_dyn_spg_ts_u} 
    254250  \textbf{U}(\tau+\Delta t) = \overline{\textbf{U}^{(b)}(\tau+\Delta t)} 
    255251  = \frac{1}{N+1} \sum\limits_{n=0}^N\textbf{U}^{(b)}(\tau,t_{n}) 
     
    258254a baroclinic leap-frog using the following form 
    259255\begin{equation} 
    260   \label{eq:DYN_spg_ts_ssh} 
     256  \label{eq:MBZ_dyn_spg_ts_ssh} 
    261257  \eta(\tau+\Delta) - \eta^{F}(\tau-\Delta) = 2\Delta t \ \left[ - \nabla \cdot \textbf{U}(\tau) + \text{EMP}_w \right] 
    262258\end{equation} 
     
    267263 
    268264In general, some form of time filter is needed to maintain integrity of the surface height field due to 
    269 the leap-frog splitting mode in equation \autoref{eq:DYN_spg_ts_ssh}. 
     265the leap-frog splitting mode in equation \autoref{eq:MBZ_dyn_spg_ts_ssh}. 
    270266We have tried various forms of such filtering, 
    271267with the following method discussed in Griffies et al. (2001) chosen due to its stability and 
     
    273269 
    274270\begin{equation} 
    275   \label{eq:DYN_spg_ts_sshf} 
     271  \label{eq:MBZ_dyn_spg_ts_sshf} 
    276272  \eta^{F}(\tau-\Delta) =  \overline{\eta^{(b)}(\tau)} 
    277273\end{equation} 
     
    279275 
    280276\[ 
    281   % \label{eq:DYN_spg_ts_sshf2} 
     277  % \label{eq:MBZ_dyn_spg_ts_sshf2} 
    282278  \eta^{F}(\tau-\Delta) = \eta(\tau) 
    283279  + (\alpha/2) \left[\overline{\eta^{(b)}}(\tau+\Delta t) 
     
    288284This isolation allows for an easy check that tracer conservation is exact when eliminating tracer and 
    289285surface height time filtering (see ?? for more complete discussion). 
    290 However, in the general case with a non-zero $\alpha$, the filter \autoref{eq:DYN_spg_ts_sshf} was found to 
     286However, in the general case with a non-zero $\alpha$, the filter \autoref{eq:MBZ_dyn_spg_ts_sshf} was found to 
    291287be more conservative, and so is recommended. 
    292288 
    293 %------------------------------------------------------------- 
    294289% Filtered formulation 
    295 %------------------------------------------------------------- 
    296 \subsubsection[Filtered formulation (\texttt{\textbf{key\_dynspg\_flt}})] 
    297 {Filtered formulation (\protect\key{dynspg\_flt})} 
    298 \label{subsec:DYN_spg_flt} 
     290%% ================================================================================================= 
     291\subsubsection[Filtered formulation (\texttt{\textbf{key\_dynspg\_flt}})]{Filtered formulation (\protect\key{dynspg\_flt})} 
     292\label{subsec:MBZ_dyn_spg_flt} 
    299293 
    300294The filtered formulation follows the \citet{Roullet2000?} implementation. 
    301295The extra term introduced in the equations (see {\S}I.2.2) is solved implicitly. 
    302296The elliptic solvers available in the code are documented in \autoref{chap:MISC}. 
    303 The amplitude of the extra term is given by the namelist variable \np{rnu}. 
     297The amplitude of the extra term is given by the namelist variable \np{rnu}{rnu}. 
    304298The default value is 1, as recommended by \citet{Roullet2000?} 
    305299 
    306 \colorbox{red}{\np{rnu}\forcode{ = 1} to be suppressed from namelist !} 
    307  
    308 %------------------------------------------------------------- 
     300\colorbox{red}{\np[=1]{rnu}{rnu} to be suppressed from namelist !} 
     301 
    309302% Non-linear free surface formulation 
    310 %------------------------------------------------------------- 
    311 \subsection[Non-linear free surface formulation (\texttt{\textbf{key\_vvl}})] 
    312 {Non-linear free surface formulation (\protect\key{vvl})} 
    313 \label{subsec:DYN_spg_vvl} 
     303%% ================================================================================================= 
     304\subsection[Non-linear free surface formulation (\texttt{\textbf{key\_vvl}})]{Non-linear free surface formulation (\protect\key{vvl})} 
     305\label{subsec:MBZ_dyn_spg_vvl} 
    314306 
    315307In the non-linear free surface formulation, the variations of volume are fully taken into account. 
    316308This option is presented in a report \citep{levier.treguier.ea_rpt07} available on the \NEMO\ web site. 
    317309The three time-stepping methods (explicit, split-explicit and filtered) are the same as in 
    318 \autoref{DYN_spg_linear} except that the ocean depth is now time-dependent. 
     310\autoref{?:DYN_spg_linear?} except that the ocean depth is now time-dependent. 
    319311In particular, this means that in filtered case, the matrix to be inverted has to be recomputed at each time-step. 
    320312 
    321 \biblio 
    322  
    323 \pindex 
     313\onlyinsubfile{\input{../../global/epilogue}} 
    324314 
    325315\end{document} 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_time_domain.tex

    r11435 r11799  
    33\begin{document} 
    44 
    5 % ================================================================ 
    6 % Chapter 2 ——— Time Domain (step.F90) 
    7 % ================================================================ 
    8 \chapter{Time Domain (STP)} 
    9 \label{chap:STP} 
     5\chapter{Time Domain} 
     6\label{chap:TD} 
     7 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
    1111 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{0.5\textwidth}{l||X|X} 
     16    Release          & Author(s)                                       & 
     17    Modifications                                                      \\ 
     18    \hline 
     19    {\em        4.0} & {\em J\'{e}r\^{o}me Chanut \newline Tim Graham} & 
     20    {\em Review \newline Update                                      } \\ 
     21    {\em        3.6} & {\em Christian \'{E}th\'{e}                   } & 
     22    {\em Update                                                      } \\ 
     23    {\em $\leq$ 3.4} & {\em Gurvan Madec                             } & 
     24    {\em First version                                               } \\ 
     25  \end{tabularx} 
     26} 
     27 
     28\clearpage 
     29 
    1230% Missing things: 
    13 %  - daymod: definition of the time domain (nit000, nitend and the calendar) 
    14  
    15 \gmcomment{STEVEN :maybe a picture of the directory structure in the introduction which could be referred to here, 
    16   would help  ==> to be added} 
    17 %%%% 
    18  
    19 \newpage 
    20  
    21 Having defined the continuous equations in \autoref{chap:PE}, we need now to choose a time discretization, 
     31% - daymod: definition of the time domain (nit000, nitend and the calendar) 
     32 
     33\gmcomment{STEVEN :maybe a picture of the directory structure in the introduction which 
     34could be referred to here, would help  ==> to be added} 
     35 
     36Having defined the continuous equations in \autoref{chap:MB}, 
     37we need now to choose a time discretization, 
    2238a key feature of an ocean model as it exerts a strong influence on the structure of the computer code 
    2339(\ie\ on its flowchart). 
    24 In the present chapter, we provide a general description of the \NEMO\  time stepping strategy and 
     40In the present chapter, we provide a general description of the \NEMO\ time stepping strategy and 
    2541the consequences for the order in which the equations are solved. 
    2642 
    27 % ================================================================ 
    28 % Time Discretisation 
    29 % ================================================================ 
     43%% ================================================================================================= 
    3044\section{Time stepping environment} 
    31 \label{sec:STP_environment} 
     45\label{sec:TD_environment} 
    3246 
    3347The time stepping used in \NEMO\ is a three level scheme that can be represented as follows: 
    3448\begin{equation} 
    35   \label{eq:STP} 
     49  \label{eq:TD} 
    3650  x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ \text{RHS}_x^{t - \rdt, \, t, \, t + \rdt} 
    3751\end{equation} 
    3852where $x$ stands for $u$, $v$, $T$ or $S$; 
    39 RHS is the Right-Hand-Side of the corresponding time evolution equation; 
     53RHS is the \textbf{R}ight-\textbf{H}and-\textbf{S}ide of the corresponding time evolution equation; 
    4054$\rdt$ is the time step; 
    4155and the superscripts indicate the time at which a quantity is evaluated. 
    42 Each term of the RHS is evaluated at a specific time stepping depending on the physics with which it is associated. 
     56Each term of the RHS is evaluated at a specific time stepping depending on 
     57the physics with which it is associated. 
    4358 
    4459The choice of the time stepping used for this evaluation is discussed below as well as 
    4560the implications for starting or restarting a model simulation. 
    4661Note that the time stepping calculation is generally performed in a single operation. 
    47 With such a complex and nonlinear system of equations it would be dangerous to let a prognostic variable evolve in 
    48 time for each term separately. 
     62With such a complex and nonlinear system of equations it would be dangerous to 
     63let a prognostic variable evolve in time for each term separately. 
    4964 
    5065The three level scheme requires three arrays for each prognostic variable. 
     
    5267The third array, although referred to as $x_a$ (after) in the code, 
    5368is usually not the variable at the after time step; 
    54 but rather it is used to store the time derivative (RHS in \autoref{eq:STP}) prior to time-stepping the equation. 
    55 The time stepping itself is performed once at each time step where implicit vertical diffusion is computed, \ie\ in the \mdl{trazdf} and \mdl{dynzdf} modules. 
    56  
    57 % ------------------------------------------------------------------------------------------------------------- 
    58 %        Non-Diffusive Part---Leapfrog Scheme 
    59 % ------------------------------------------------------------------------------------------------------------- 
     69but rather it is used to store the time derivative (RHS in \autoref{eq:TD}) 
     70prior to time-stepping the equation. 
     71The time stepping itself is performed once at each time step where 
     72implicit vertical diffusion is computed, 
     73\ie\ in the \mdl{trazdf} and \mdl{dynzdf} modules. 
     74 
     75%% ================================================================================================= 
    6076\section{Non-diffusive part --- Leapfrog scheme} 
    61 \label{sec:STP_leap_frog} 
    62  
    63 The time stepping used for processes other than diffusion is the well-known leapfrog scheme 
    64 \citep{mesinger.arakawa_bk76}. 
     77\label{sec:TD_leap_frog} 
     78 
     79The time stepping used for processes other than diffusion is 
     80the well-known \textbf{L}eap\textbf{F}rog (LF) scheme \citep{mesinger.arakawa_bk76}. 
    6581This scheme is widely used for advection processes in low-viscosity fluids. 
    66 It is a time centred scheme, \ie\ the RHS in \autoref{eq:STP} is evaluated at time step $t$, the now time step. 
     82It is a time centred scheme, \ie\ the RHS in \autoref{eq:TD} is evaluated at 
     83time step $t$, the now time step. 
    6784It may be used for momentum and tracer advection, pressure gradient, and Coriolis terms, 
    6885but not for diffusion terms. 
    6986It is an efficient method that achieves second-order accuracy with 
    7087just one right hand side evaluation per time step. 
    71 Moreover, it does not artificially damp linear oscillatory motion nor does it produce instability by 
    72 amplifying the oscillations. 
     88Moreover, it does not artificially damp linear oscillatory motion 
     89nor does it produce instability by amplifying the oscillations. 
    7390These advantages are somewhat diminished by the large phase-speed error of the leapfrog scheme, 
    74 and the unsuitability of leapfrog differencing for the representation of diffusion and Rayleigh damping processes. 
     91and the unsuitability of leapfrog differencing for the representation of diffusion and 
     92Rayleigh damping processes. 
    7593However, the scheme allows the coexistence of a numerical and a physical mode due to 
    7694its leading third order dispersive error. 
    7795In other words a divergence of odd and even time steps may occur. 
    78 To prevent it, the leapfrog scheme is often used in association with a Robert-Asselin time filter 
    79 (hereafter the LF-RA scheme). 
    80 This filter, first designed by \citet{robert_JMSJ66} and more comprehensively studied by \citet{asselin_MWR72}, 
     96To prevent it, the leapfrog scheme is often used in association with 
     97a \textbf{R}obert-\textbf{A}sselin time filter (hereafter the LF-RA scheme). 
     98This filter, 
     99first designed by \citet{robert_JMSJ66} and more comprehensively studied by \citet{asselin_MWR72}, 
    81100is a kind of laplacian diffusion in time that mixes odd and even time steps: 
    82101\begin{equation} 
    83   \label{eq:STP_asselin} 
     102  \label{eq:TD_asselin} 
    84103  x_F^t = x^t + \gamma \, \lt[ x_F^{t - \rdt} - 2 x^t + x^{t + \rdt} \rt] 
    85104\end{equation} 
    86105where the subscript $F$ denotes filtered values and $\gamma$ is the Asselin coefficient. 
    87 $\gamma$ is initialized as \np{rn\_atfp} (namelist parameter). 
    88 Its default value is \np{rn\_atfp}\forcode{ = 10.e-3} (see \autoref{sec:STP_mLF}), 
     106$\gamma$ is initialized as \np{rn_atfp}{rn\_atfp} (namelist parameter). 
     107Its default value is \np[=10.e-3]{rn_atfp}{rn\_atfp} (see \autoref{sec:TD_mLF}), 
    89108causing only a weak dissipation of high frequency motions (\citep{farge-coulombier_phd87}). 
    90109The addition of a time filter degrades the accuracy of the calculation from second to first order. 
    91110However, the second order truncation error is proportional to $\gamma$, which is small compared to 1. 
    92111Therefore, the LF-RA is a quasi second order accurate scheme. 
    93 The LF-RA scheme is preferred to other time differencing schemes such as predictor corrector or trapezoidal schemes, 
    94 because the user has an explicit and simple control of the magnitude of the time diffusion of the scheme. 
    95 When used with the 2nd order space centred discretisation of the advection terms in 
     112The LF-RA scheme is preferred to other time differencing schemes such as 
     113predictor corrector or trapezoidal schemes, because the user has an explicit and simple control of 
     114the magnitude of the time diffusion of the scheme. 
     115When used with the 2$^nd$ order space centred discretisation of the advection terms in 
    96116the momentum and tracer equations, LF-RA avoids implicit numerical diffusion: 
    97 diffusion is set explicitly by the user through the Robert-Asselin 
    98 filter parameter and the viscosity and diffusion coefficients. 
    99  
    100 % ------------------------------------------------------------------------------------------------------------- 
    101 %        Diffusive Part---Forward or Backward Scheme 
    102 % ------------------------------------------------------------------------------------------------------------- 
     117diffusion is set explicitly by the user through the Robert-Asselin filter parameter and 
     118the viscosity and diffusion coefficients. 
     119 
     120%% ================================================================================================= 
    103121\section{Diffusive part --- Forward or backward scheme} 
    104 \label{sec:STP_forward_imp} 
    105  
    106 The leapfrog differencing scheme is unsuitable for the representation of diffusion and damping processes. 
     122\label{sec:TD_forward_imp} 
     123 
     124The leapfrog differencing scheme is unsuitable for 
     125the representation of diffusion and damping processes. 
    107126For a tendency $D_x$, representing a diffusion term or a restoring term to a tracer climatology 
    108127(when present, see \autoref{sec:TRA_dmp}), a forward time differencing scheme is used : 
    109128\[ 
    110   %\label{eq:STP_euler} 
     129  %\label{eq:TD_euler} 
    111130  x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ D_x^{t - \rdt} 
    112131\] 
    113132 
    114133This is diffusive in time and conditionally stable. 
    115 The conditions for stability of second and fourth order horizontal diffusion schemes are \citep{griffies_bk04}: 
     134The conditions for stability of second and fourth order horizontal diffusion schemes are 
     135\citep{griffies_bk04}: 
    116136\begin{equation} 
    117   \label{eq:STP_euler_stability} 
     137  \label{eq:TD_euler_stability} 
    118138  A^h < 
    119139  \begin{cases} 
     
    122142  \end{cases} 
    123143\end{equation} 
    124 where $e$ is the smallest grid size in the two horizontal directions and $A^h$ is the mixing coefficient. 
    125 The linear constraint \autoref{eq:STP_euler_stability} is a necessary condition, but not sufficient. 
     144where $e$ is the smallest grid size in the two horizontal directions and 
     145$A^h$ is the mixing coefficient. 
     146The linear constraint \autoref{eq:TD_euler_stability} is a necessary condition, but not sufficient. 
    126147If it is not satisfied, even mildly, then the model soon becomes wildly unstable. 
    127 The instability can be removed by either reducing the length of the time steps or reducing the mixing coefficient. 
     148The instability can be removed by either reducing the length of the time steps or 
     149reducing the mixing coefficient. 
    128150 
    129151For the vertical diffusion terms, a forward time differencing scheme can be used, 
    130 but usually the numerical stability condition imposes a strong constraint on the time step. To overcome the stability constraint, a 
    131 backward (or implicit) time differencing scheme is used. This scheme is unconditionally stable but diffusive and can be written as follows: 
     152but usually the numerical stability condition imposes a strong constraint on the time step. 
     153To overcome the stability constraint, a backward (or implicit) time differencing scheme is used. 
     154This scheme is unconditionally stable but diffusive and can be written as follows: 
    132155\begin{equation} 
    133   \label{eq:STP_imp} 
     156  \label{eq:TD_imp} 
    134157  x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ \text{RHS}_x^{t + \rdt} 
    135158\end{equation} 
     
    139162%%gm 
    140163 
    141 This scheme is rather time consuming since it requires a matrix inversion. For example, the finite difference approximation of the temperature equation is: 
     164This scheme is rather time consuming since it requires a matrix inversion. 
     165For example, the finite difference approximation of the temperature equation is: 
    142166\[ 
    143   % \label{eq:STP_imp_zdf} 
     167  % \label{eq:TD_imp_zdf} 
    144168  \frac{T(k)^{t + 1} - T(k)^{t - 1}}{2 \; \rdt} 
    145169  \equiv 
     
    147171\] 
    148172where RHS is the right hand side of the equation except for the vertical diffusion term. 
    149 We rewrite \autoref{eq:STP_imp} as: 
     173We rewrite \autoref{eq:TD_imp} as: 
    150174\begin{equation} 
    151   \label{eq:STP_imp_mat} 
     175  \label{eq:TD_imp_mat} 
    152176  -c(k + 1) \; T^{t + 1}(k + 1) + d(k) \; T^{t + 1}(k) - \; c(k) \; T^{t + 1}(k - 1) \equiv b(k) 
    153177\end{equation} 
    154178where 
    155 \begin{align*} 
    156   c(k) &= A_w^{vT} (k) \, / \, e_{3w} (k)     \\ 
    157   d(k) &= e_{3t}   (k)       \, / \, (2 \rdt) + c_k + c_{k + 1}    \\ 
    158   b(k) &= e_{3t}   (k) \; \lt( T^{t - 1}(k) \, / \, (2 \rdt) + \text{RHS} \rt) 
    159 \end{align*} 
    160  
    161 \autoref{eq:STP_imp_mat} is a linear system of equations with an associated matrix which is tridiagonal. 
    162 Moreover, 
    163 $c(k)$ and $d(k)$ are positive and the diagonal term is greater than the sum of the two extra-diagonal terms, 
     179\[ 
     180  c(k) = A_w^{vT} (k) \, / \, e_{3w} (k) \text{,} \quad 
     181  d(k) = e_{3t}   (k)       \, / \, (2 \rdt) + c_k + c_{k + 1} \quad \text{and} \quad 
     182  b(k) = e_{3t}   (k) \; \lt( T^{t - 1}(k) \, / \, (2 \rdt) + \text{RHS} \rt) 
     183\] 
     184 
     185\autoref{eq:TD_imp_mat} is a linear system of equations with 
     186an associated matrix which is tridiagonal. 
     187Moreover, $c(k)$ and $d(k)$ are positive and 
     188the diagonal term is greater than the sum of the two extra-diagonal terms, 
    164189therefore a special adaptation of the Gauss elimination procedure is used to find the solution 
    165190(see for example \citet{richtmyer.morton_bk67}). 
    166191 
    167 % ------------------------------------------------------------------------------------------------------------- 
    168 %        Surface Pressure gradient 
    169 % ------------------------------------------------------------------------------------------------------------- 
     192%% ================================================================================================= 
    170193\section{Surface pressure gradient} 
    171 \label{sec:STP_spg_ts} 
    172  
    173 The leapfrog environment supports a centred in time computation of the surface pressure, \ie\ evaluated 
    174 at \textit{now} time step. This refers to as the explicit free surface case in the code (\np{ln\_dynspg\_exp}\forcode{ = .true.}). 
    175 This choice however imposes a strong constraint on the time step which should be small enough to resolve the propagation 
    176 of external gravity waves. As a matter of fact, one rather use in a realistic setup, a split-explicit free surface 
    177 (\np{ln\_dynspg\_ts}\forcode{ = .true.}) in which barotropic and baroclinic dynamical equations are solved separately with ad-hoc 
    178 time steps. The use of the time-splitting (in combination with non-linear free surface) imposes some constraints on the design of 
    179 the overall flowchart, in particular to ensure exact tracer conservation (see \autoref{fig:TimeStep_flowchart}). 
    180  
    181 Compared to the former use of the filtered free surface in \NEMO\ v3.6 (\citet{roullet.madec_JGR00}), the use of a split-explicit free surface is advantageous 
    182 on massively parallel computers. Indeed, no global computations are anymore required by the elliptic solver which saves a substantial amount of communication 
    183 time. Fast barotropic motions (such as tides) are also simulated with a better accuracy. 
     194\label{sec:TD_spg_ts} 
     195 
     196The leapfrog environment supports a centred in time computation of the surface pressure, 
     197\ie\ evaluated at \textit{now} time step. 
     198This refers to as the explicit free surface case in the code 
     199(\np[=.true.]{ln_dynspg_exp}{ln\_dynspg\_exp}). 
     200This choice however imposes a strong constraint on the time step which 
     201should be small enough to resolve the propagation of external gravity waves. 
     202As a matter of fact, one rather use in a realistic setup, 
     203a split-explicit free surface (\np[=.true.]{ln_dynspg_ts}{ln\_dynspg\_ts}) in which 
     204barotropic and baroclinic dynamical equations are solved separately with ad-hoc time steps. 
     205The use of the time-splitting (in combination with non-linear free surface) imposes 
     206some constraints on the design of the overall flowchart, 
     207in particular to ensure exact tracer conservation (see \autoref{fig:TD_TimeStep_flowchart}). 
     208 
     209Compared to the former use of the filtered free surface in \NEMO\ v3.6 (\citet{roullet.madec_JGR00}), 
     210the use of a split-explicit free surface is advantageous on massively parallel computers. 
     211Indeed, no global computations are anymore required by the elliptic solver which 
     212saves a substantial amount of communication time. 
     213Fast barotropic motions (such as tides) are also simulated with a better accuracy. 
    184214 
    185215%\gmcomment{ 
    186 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    187 \begin{figure}[!t] 
    188   \begin{center} 
    189     \includegraphics[width=\textwidth]{Fig_TimeStepping_flowchart_v4} 
    190     \caption{ 
    191       \protect\label{fig:TimeStep_flowchart} 
    192       Sketch of the leapfrog time stepping sequence in \NEMO\ with split-explicit free surface. The latter combined 
    193        with non-linear free surface requires the dynamical tendency being updated prior tracers tendency to ensure 
    194        conservation. Note the use of time integrated fluxes issued from the barotropic loop  in subsequent calculations 
    195        of tracer advection and in the continuity equation. Details about the time-splitting scheme can be found 
    196        in \autoref{subsec:DYN_spg_ts}. 
    197     } 
    198   \end{center} 
     216\begin{figure} 
     217  \centering 
     218  \includegraphics[width=0.66\textwidth]{Fig_TimeStepping_flowchart_v4} 
     219  \caption[Leapfrog time stepping sequence with split-explicit free surface]{ 
     220    Sketch of the leapfrog time stepping sequence in \NEMO\ with split-explicit free surface. 
     221    The latter combined with non-linear free surface requires 
     222    the dynamical tendency being updated prior tracers tendency to ensure conservation. 
     223    Note the use of time integrated fluxes issued from the barotropic loop in 
     224    subsequent calculations of tracer advection and in the continuity equation. 
     225    Details about the time-splitting scheme can be found in \autoref{subsec:DYN_spg_ts}.} 
     226  \label{fig:TD_TimeStep_flowchart} 
    199227\end{figure} 
    200 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    201228%} 
    202229 
    203 % ------------------------------------------------------------------------------------------------------------- 
    204 %        The Modified Leapfrog -- Asselin Filter scheme 
    205 % ------------------------------------------------------------------------------------------------------------- 
    206 \section{Modified Leapfrog -- Asselin filter scheme} 
    207 \label{sec:STP_mLF} 
    208  
    209 Significant changes have been introduced by \cite{leclair.madec_OM09} in the LF-RA scheme in order to 
    210 ensure tracer conservation and to allow the use of a much smaller value of the Asselin filter parameter. 
     230%% ================================================================================================= 
     231\section{Modified LeapFrog -- Robert Asselin filter scheme (LF-RA)} 
     232\label{sec:TD_mLF} 
     233 
     234Significant changes have been introduced by \cite{leclair.madec_OM09} in 
     235the LF-RA scheme in order to ensure tracer conservation and to 
     236allow the use of a much smaller value of the Asselin filter parameter. 
    211237The modifications affect both the forcing and filtering treatments in the LF-RA scheme. 
    212238 
    213 In a classical LF-RA environment, the forcing term is centred in time, 
    214 \ie\ it is time-stepped over a $2 \rdt$ period: 
     239In a classical LF-RA environment, 
     240the forcing term is centred in time, \ie\ it is time-stepped over a $2 \rdt$ period: 
    215241$x^t = x^t + 2 \rdt Q^t$ where $Q$ is the forcing applied to $x$, 
    216 and the time filter is given by \autoref{eq:STP_asselin} so that $Q$ is redistributed over several time step. 
     242and the time filter is given by \autoref{eq:TD_asselin} so that 
     243$Q$ is redistributed over several time step. 
    217244In the modified LF-RA environment, these two formulations have been replaced by: 
    218245\begin{gather} 
    219   \label{eq:STP_forcing} 
     246  \label{eq:TD_forcing} 
    220247  x^{t + \rdt} = x^{t - \rdt} + \rdt \lt( Q^{t - \rdt / 2} + Q^{t + \rdt / 2} \rt)  \\ 
    221   \label{eq:STP_RA} 
     248  \label{eq:TD_RA} 
    222249  x_F^t       = x^t + \gamma \, \lt( x_F^{t - \rdt} - 2 x^t + x^{t + \rdt} \rt) 
    223250                    - \gamma \, \rdt \, \lt( Q^{t + \rdt / 2} - Q^{t - \rdt / 2} \rt) 
    224251\end{gather} 
    225 The change in the forcing formulation given by \autoref{eq:STP_forcing} (see \autoref{fig:MLF_forcing}) 
    226 has a significant effect: 
    227 the forcing term no longer excites the divergence of odd and even time steps \citep{leclair.madec_OM09}. 
     252The change in the forcing formulation given by \autoref{eq:TD_forcing} 
     253(see \autoref{fig:TD_MLF_forcing}) has a significant effect: 
     254the forcing term no longer excites the divergence of odd and even time steps 
     255\citep{leclair.madec_OM09}. 
    228256% forcing seen by the model.... 
    229257This property improves the LF-RA scheme in two aspects. 
    230258First, the LF-RA can now ensure the local and global conservation of tracers. 
    231259Indeed, time filtering is no longer required on the forcing part. 
    232 The influence of the Asselin filter on the forcing is explicitly removed by adding a new term in the filter 
    233 (last term in \autoref{eq:STP_RA} compared to \autoref{eq:STP_asselin}). 
     260The influence of the Asselin filter on the forcing is explicitly removed by 
     261adding a new term in the filter (last term in \autoref{eq:TD_RA} compared to \autoref{eq:TD_asselin}). 
    234262Since the filtering of the forcing was the source of non-conservation in the classical LF-RA scheme, 
    235263the modified formulation becomes conservative \citep{leclair.madec_OM09}. 
    236 Second, the LF-RA becomes a truly quasi -second order scheme. 
    237 Indeed, \autoref{eq:STP_forcing} used in combination with a careful treatment of static instability 
     264Second, the LF-RA becomes a truly quasi-second order scheme. 
     265Indeed, \autoref{eq:TD_forcing} used in combination with a careful treatment of static instability 
    238266(\autoref{subsec:ZDF_evd}) and of the TKE physics (\autoref{subsec:ZDF_tke_ene}) 
    239267(the two other main sources of time step divergence), 
     
    242270Note that the forcing is now provided at the middle of a time step: 
    243271$Q^{t + \rdt / 2}$ is the forcing applied over the $[t,t + \rdt]$ time interval. 
    244 This and the change in the time filter, \autoref{eq:STP_RA}, 
     272This and the change in the time filter, \autoref{eq:TD_RA}, 
    245273allows for an exact evaluation of the contribution due to the forcing term between any two time steps, 
    246274even if separated by only $\rdt$ since the time filter is no longer applied to the forcing term. 
    247275 
    248 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    249 \begin{figure}[!t] 
    250   \begin{center} 
    251     \includegraphics[width=\textwidth]{Fig_MLF_forcing} 
    252     \caption{ 
    253       \protect\label{fig:MLF_forcing} 
    254       Illustration of forcing integration methods. 
    255       (top) ''Traditional'' formulation: 
    256       the forcing is defined at the same time as the variable to which it is applied 
    257       (integer value of the time step index) and it is applied over a $2 \rdt$ period. 
    258       (bottom)  modified formulation: 
    259       the forcing is defined in the middle of the time (integer and a half value of the time step index) and 
    260       the mean of two successive forcing values ($n - 1 / 2$, $n + 1 / 2$) is applied over a $2 \rdt$ period. 
    261     } 
    262   \end{center} 
     276\begin{figure} 
     277  \centering 
     278  \includegraphics[width=0.66\textwidth]{Fig_MLF_forcing} 
     279  \caption[Forcing integration methods for modified leapfrog (top and bottom)]{ 
     280    Illustration of forcing integration methods. 
     281    (top) ''Traditional'' formulation: 
     282    the forcing is defined at the same time as the variable to which it is applied 
     283    (integer value of the time step index) and it is applied over a $2 \rdt$ period. 
     284    (bottom)  modified formulation: 
     285    the forcing is defined in the middle of the time 
     286    (integer and a half value of the time step index) and 
     287    the mean of two successive forcing values ($n - 1 / 2$, $n + 1 / 2$) is applied over 
     288    a $2 \rdt$ period.} 
     289  \label{fig:TD_MLF_forcing} 
    263290\end{figure} 
    264 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    265  
    266 % ------------------------------------------------------------------------------------------------------------- 
    267 %        Start/Restart strategy 
    268 % ------------------------------------------------------------------------------------------------------------- 
     291 
     292%% ================================================================================================= 
    269293\section{Start/Restart strategy} 
    270 \label{sec:STP_rst} 
    271  
    272 %--------------------------------------------namrun------------------------------------------- 
    273 \nlst{namrun} 
    274 %-------------------------------------------------------------------------------------------------------------- 
    275  
    276 The first time step of this three level scheme when starting from initial conditions is a forward step 
    277 (Euler time integration): 
     294\label{sec:TD_rst} 
     295 
     296\begin{listing} 
     297  \nlst{namrun} 
     298  \caption{\forcode{&namrun}} 
     299  \label{lst:namrun} 
     300\end{listing} 
     301 
     302The first time step of this three level scheme when starting from initial conditions is 
     303a forward step (Euler time integration): 
    278304\[ 
    279   % \label{eq:DOM_euler} 
     305  % \label{eq:TD_DOM_euler} 
    280306  x^1 = x^0 + \rdt \ \text{RHS}^0 
    281307\] 
    282 This is done simply by keeping the leapfrog environment (\ie\ the \autoref{eq:STP} three level time stepping) but 
     308This is done simply by keeping the leapfrog environment 
     309(\ie\ the \autoref{eq:TD} three level time stepping) but 
    283310setting all $x^0$ (\textit{before}) and $x^1$ (\textit{now}) fields equal at the first time step and 
    284311using half the value of a leapfrog time step ($2 \rdt$). 
     
    289316running the model for $2N$ time steps in one go, 
    290317or by performing two consecutive experiments of $N$ steps with a restart. 
    291 This requires saving two time levels and many auxiliary data in the restart files in machine precision. 
     318This requires saving two time levels and many auxiliary data in 
     319the restart files in machine precision. 
    292320 
    293321Note that the time step $\rdt$, is also saved in the restart file. 
    294 When restarting, if the time step has been changed, or one of the prognostic variables at \textit{before} time step 
    295 is missing, an Euler time stepping scheme is imposed. A forward initial step can still be enforced by the user by setting 
    296 the namelist variable \np{nn\_euler}\forcode{=0}. Other options to control the time integration of the model 
    297 are defined through the  \nam{run} namelist variables. 
    298 %%% 
     322When restarting, if the time step has been changed, or 
     323one of the prognostic variables at \textit{before} time step is missing, 
     324an Euler time stepping scheme is imposed. 
     325A forward initial step can still be enforced by the user by 
     326setting the namelist variable \np[=0]{nn_euler}{nn\_euler}. 
     327Other options to control the time integration of the model are defined through 
     328the \nam{run}{run} namelist variables. 
     329 
    299330\gmcomment{ 
    300331add here how to force the restart to contain only one time step for operational purposes 
     
    302333add also the idea of writing several restart for seasonal forecast : how is it done ? 
    303334 
    304 verify that all namelist pararmeters are truly described 
     335verify that all namelist parameters are truly described 
    305336 
    306337a word on the check of restart  ..... 
    307338} 
    308 %%% 
    309339 
    310340\gmcomment{       % add a subsection here 
    311341 
    312 %------------------------------------------------------------------------------------------------------------- 
    313 %        Time Domain 
    314 % ------------------------------------------------------------------------------------------------------------- 
     342%% ================================================================================================= 
    315343\subsection{Time domain} 
    316 \label{subsec:STP_time} 
    317 %--------------------------------------------namrun------------------------------------------- 
    318  
    319 \nlst{namdom} 
    320 %-------------------------------------------------------------------------------------------------------------- 
    321  
    322 Options are defined through the  \nam{dom} namelist variables. 
     344\label{subsec:TD_time} 
     345 
     346Options are defined through the\nam{dom}{dom} namelist variables. 
    323347 \colorbox{yellow}{add here a few word on nit000 and nitend} 
    324348 
    325349 \colorbox{yellow}{Write documentation on the calendar and the key variable adatrj} 
    326350 
    327 add a description of daymod, and the model calandar (leap-year and co) 
    328  
    329 }        %% end add 
    330  
    331  
    332  
    333 %% 
     351add a description of daymod, and the model calendar (leap-year and co) 
     352 
     353}     %% end add 
     354 
    334355\gmcomment{       % add implicit in vvl case  and Crant-Nicholson scheme 
    335356 
     
    381402\end{flalign*} 
    382403 
    383 %% 
    384404} 
    385405 
    386 \biblio 
    387  
    388 \pindex 
     406\onlyinsubfile{\input{../../global/epilogue}} 
    389407 
    390408\end{document} 
Note: See TracChangeset for help on using the changeset viewer.