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 9393 for branches/2017/dev_merge_2017/DOC/tex_sub/chap_DYN.tex – NEMO

Ignore:
Timestamp:
2018-03-13T15:00:56+01:00 (6 years ago)
Author:
nicolasmartin
Message:

Cleaning of section headings, reinstating the index by mixing \np and \forcode macros, continued conversion of source code inclusions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/DOC/tex_sub/chap_DYN.tex

    r9392 r9393  
    6969%           Horizontal divergence and relative vorticity 
    7070%-------------------------------------------------------------------------------------------------------------- 
    71 \subsection   [Horizontal divergence and relative vorticity (\textit{divcur})] 
    72          {Horizontal divergence and relative vorticity (\protect\mdl{divcur})} 
     71\subsection{Horizontal divergence and relative vorticity (\protect\mdl{divcur})} 
    7372\label{DYN_divcur} 
    7473 
     
    102101%           Sea Surface Height evolution 
    103102%-------------------------------------------------------------------------------------------------------------- 
    104 \subsection   [Sea surface height evolution and vertical velocity (\textit{sshwzv})] 
    105          {Horizontal divergence and relative vorticity (\protect\mdl{sshwzv})} 
     103\subsection{Horizontal divergence and relative vorticity (\protect\mdl{sshwzv})} 
    106104\label{DYN_sshwzv} 
    107105 
     
    159157% Coriolis and Advection terms: vector invariant form 
    160158% ================================================================ 
    161 \section{Coriolis and Advection: vector invariant form} 
     159\section{Coriolis and advection: vector invariant form} 
    162160\label{DYN_adv_cor_vect} 
    163161%-----------------------------------------nam_dynadv---------------------------------------------------- 
     
    178176%        Vorticity term  
    179177% ------------------------------------------------------------------------------------------------------------- 
    180 \subsection   [Vorticity term (\textit{dynvor}) ] 
    181          {Vorticity term (\protect\mdl{dynvor})} 
     178\subsection{Vorticity term (\protect\mdl{dynvor})} 
    182179\label{DYN_vor} 
    183180%------------------------------------------nam_dynvor---------------------------------------------------- 
     
    186183 
    187184Options are defined through the \ngn{namdyn\_vor} namelist variables. 
    188 Four discretisations of the vorticity term (\textit{ln\_dynvor\_xxx}=true) are available:  
     185Four discretisations of the vorticity term (\np{ln\_dynvor\_xxx}\forcode{ = .true.}) are available:  
    189186conserving potential enstrophy of horizontally non-divergent flow (ENS scheme) ;  
    190187conserving horizontal kinetic energy (ENE scheme) ; conserving potential enstrophy for  
     
    193190flow and horizontal kinetic energy (EEN scheme) (see  Appendix~\ref{Apdx_C_vorEEN}). In the  
    194191case of ENS, ENE or MIX schemes the land sea mask may be slightly modified to ensure the  
    195 consistency of vorticity term with analytical equations (\textit{ln\_dynvor\_con}=true). 
     192consistency of vorticity term with analytical equations (\np{ln\_dynvor\_con}\forcode{ = .true.}). 
    196193The vorticity terms are all computed in dedicated routines that can be found in  
    197194the \mdl{dynvor} module. 
     
    200197%                 enstrophy conserving scheme 
    201198%------------------------------------------------------------- 
    202 \subsubsection{Enstrophy conserving scheme (\protect\forcode{ln_dynvor_ens = .true.})} 
     199\subsubsection{Enstrophy conserving scheme (\protect\np{ln\_dynvor\_ens}\forcode{ = .true.})} 
    203200\label{DYN_vor_ens} 
    204201 
     
    221218%                 energy conserving scheme 
    222219%------------------------------------------------------------- 
    223 \subsubsection{Energy conserving scheme (\protect\forcode{ln_dynvor_ene = .true.})} 
     220\subsubsection{Energy conserving scheme (\protect\np{ln\_dynvor\_ene}\forcode{ = .true.})} 
    224221\label{DYN_vor_ene} 
    225222 
     
    238235%                 mix energy/enstrophy conserving scheme 
    239236%------------------------------------------------------------- 
    240 \subsubsection{Mixed energy/enstrophy conserving scheme (\protect\forcode{ln_dynvor_mix = .true.}) } 
     237\subsubsection{Mixed energy/enstrophy conserving scheme (\protect\np{ln\_dynvor\_mix}\forcode{ = .true.}) } 
    241238\label{DYN_vor_mix} 
    242239 
     
    261258%                 energy and enstrophy conserving scheme 
    262259%------------------------------------------------------------- 
    263 \subsubsection{Energy and enstrophy conserving scheme (\protect\forcode{ln_dynvor_een = .true.}) } 
     260\subsubsection{Energy and enstrophy conserving scheme (\protect\np{ln\_dynvor\_een}\forcode{ = .true.}) } 
    264261\label{DYN_vor_een} 
    265262 
     
    305302A key point in \eqref{Eq_een_e3f} is how the averaging in the \textbf{i}- and \textbf{j}- directions is made.  
    306303It uses the sum of masked t-point vertical scale factor divided either  
    307 by the sum of the four t-point masks (\np{nn_een_e3f}~=~1),  
    308 or  just by $4$ (\np{nn_een_e3f}~=~true). 
     304by the sum of the four t-point masks (\np{nn\_een\_e3f}\forcode{ = 1}),  
     305or  just by $4$ (\np{nn\_een\_e3f}\forcode{ = .true.}). 
    309306The latter case preserves the continuity of $e_{3f}$ when one or more of the neighbouring $e_{3t}$  
    310307tends to zero and extends by continuity the value of $e_{3f}$ into the land areas.  
     
    346343%           Kinetic Energy Gradient term 
    347344%-------------------------------------------------------------------------------------------------------------- 
    348 \subsection   [Kinetic Energy Gradient term (\textit{dynkeg})] 
    349          {Kinetic Energy Gradient term (\protect\mdl{dynkeg})} 
     345\subsection{Kinetic energy gradient term (\protect\mdl{dynkeg})} 
    350346\label{DYN_keg} 
    351347 
     
    363359%           Vertical advection term 
    364360%-------------------------------------------------------------------------------------------------------------- 
    365 \subsection   [Vertical advection term (\textit{dynzad}) ] 
    366          {Vertical advection term (\protect\mdl{dynzad}) } 
     361\subsection{Vertical advection term (\protect\mdl{dynzad}) } 
    367362\label{DYN_zad} 
    368363 
     
    377372\end{aligned}         \right. 
    378373\end{equation}  
    379 When \np{ln_dynzad_zts}~=~\textit{true}, a split-explicit time stepping with 5 sub-timesteps is used  
     374When \np{ln\_dynzad\_zts}\forcode{ = .true.}, a split-explicit time stepping with 5 sub-timesteps is used  
    380375on the vertical advection term. 
    381376This option can be useful when the value of the timestep is limited by vertical advection \citep{Lemarie_OM2015}.  
    382377Note that in this case, a similar split-explicit time stepping should be used on  
    383378vertical advection of tracer to ensure a better stability,  
    384 an option which is only available with a TVD scheme (see \np{ln_traadv_tvd_zts} in \S\ref{TRA_adv_tvd}). 
     379an option which is only available with a TVD scheme (see \np{ln\_traadv\_tvd\_zts} in \S\ref{TRA_adv_tvd}). 
    385380 
    386381 
     
    388383% Coriolis and Advection : flux form 
    389384% ================================================================ 
    390 \section{Coriolis and Advection: flux form} 
     385\section{Coriolis and advection: flux form} 
    391386\label{DYN_adv_cor_flux} 
    392387%------------------------------------------nam_dynadv---------------------------------------------------- 
     
    405400%           Coriolis plus curvature metric terms 
    406401%-------------------------------------------------------------------------------------------------------------- 
    407 \subsection   [Coriolis plus curvature metric terms (\textit{dynvor}) ] 
    408          {Coriolis plus curvature metric terms (\protect\mdl{dynvor}) } 
     402\subsection{Coriolis plus curvature metric terms (\protect\mdl{dynvor}) } 
    409403\label{DYN_cor_flux} 
    410404 
     
    427421%           Flux form Advection term 
    428422%-------------------------------------------------------------------------------------------------------------- 
    429 \subsection   [Flux form Advection term (\textit{dynadv}) ] 
    430          {Flux form Advection term (\protect\mdl{dynadv}) } 
     423\subsection{Flux form advection term (\protect\mdl{dynadv}) } 
    431424\label{DYN_adv_flux} 
    432425 
     
    451444difference scheme, CEN2, or a $3^{rd}$ order upstream biased scheme, UBS.  
    452445The latter is described in \citet{Shchepetkin_McWilliams_OM05}. The schemes are  
    453 selected using the namelist logicals \np{ln_dynadv_cen2} and \np{ln_dynadv_ubs}.  
     446selected using the namelist logicals \np{ln\_dynadv\_cen2} and \np{ln\_dynadv\_ubs}.  
    454447In flux form, the schemes differ by the choice of a space and time interpolation to  
    455448define the value of $u$ and $v$ at the centre of each face of $u$- and $v$-cells,  
     
    460453%                 2nd order centred scheme 
    461454%------------------------------------------------------------- 
    462 \subsubsection{$2^{nd}$ order centred scheme (cen2) (\protect\forcode{ln_dynadv_cen2 = .true.})} 
     455\subsubsection{CEN2: $2^{nd}$ order centred scheme (\protect\np{ln\_dynadv\_cen2}\forcode{ = .true.})} 
    463456\label{DYN_adv_cen2} 
    464457 
     
    481474%                 UBS scheme 
    482475%------------------------------------------------------------- 
    483 \subsubsection{Upstream Biased Scheme (UBS) (\protect\forcode{ln_dynadv_ubs = .true.})} 
     476\subsubsection{UBS: Upstream Biased Scheme (\protect\np{ln\_dynadv\_ubs}\forcode{ = .true.})} 
    484477\label{DYN_adv_ubs} 
    485478 
     
    500493permitted. But the amplitudes of the false extrema are significantly reduced over  
    501494those in the centred second order method. As the scheme already includes  
    502 a diffusion component, it can be used without explicit  lateral diffusion on momentum  
    503 ($i.e.$ \np{ln_dynldf_lap}=\forcode{ln_dynldf_bilap = .false.}), and it is recommended to do so. 
     495a diffusion component, it can be used without explicit lateral diffusion on momentum  
     496($i.e.$ \np{ln\_dynldf\_lap}\forcode{ = }\np{ln\_dynldf\_bilap}\forcode{ = .false.}), and it is recommended to do so. 
    504497 
    505498The UBS scheme is not used in all directions. In the vertical, the centred $2^{nd}$  
     
    532525%           Hydrostatic pressure gradient term 
    533526% ================================================================ 
    534 \section  [Hydrostatic pressure gradient (\textit{dynhpg})] 
    535       {Hydrostatic pressure gradient (\protect\mdl{dynhpg})} 
     527\section{Hydrostatic pressure gradient (\protect\mdl{dynhpg})} 
    536528\label{DYN_hpg} 
    537529%------------------------------------------nam_dynhpg--------------------------------------------------- 
     
    554546%           z-coordinate with full step 
    555547%-------------------------------------------------------------------------------------------------------------- 
    556 \subsection   [$z$-coordinate with full step (\protect\np{ln_dynhpg_zco}) ] 
    557          {$z$-coordinate with full step (\protect\forcode{ln_dynhpg_zco = .true.})} 
     548\subsection{Full step $Z$-coordinate (\protect\np{ln\_dynhpg\_zco}\forcode{ = .true.})} 
    558549\label{DYN_hpg_zco} 
    559550 
     
    595586%           z-coordinate with partial step 
    596587%-------------------------------------------------------------------------------------------------------------- 
    597 \subsection   [$z$-coordinate with partial step (\protect\np{ln_dynhpg_zps})] 
    598          {$z$-coordinate with partial step (\protect\forcode{ln_dynhpg_zps = .true.})} 
     588\subsection{Partial step $Z$-coordinate (\protect\np{ln\_dynhpg\_zps}\forcode{ = .true.})} 
    599589\label{DYN_hpg_zps} 
    600590 
     
    616606%           s- and s-z-coordinates 
    617607%-------------------------------------------------------------------------------------------------------------- 
    618 \subsection{$s$- and $z$-$s$-coordinates} 
     608\subsection{$S$- and $Z$-$S$-coordinates} 
    619609\label{DYN_hpg_sco} 
    620610 
     
    624614cubic polynomial method is currently disabled whilst known bugs are under investigation. 
    625615 
    626 $\bullet$ Traditional coding (see for example \citet{Madec_al_JPO96}: (\forcode{ln_dynhpg_sco = .true.}) 
     616$\bullet$ Traditional coding (see for example \citet{Madec_al_JPO96}: (\np{ln\_dynhpg\_sco}\forcode{ = .true.}) 
    627617\begin{equation} \label{Eq_dynhpg_sco} 
    628618\left\{ \begin{aligned} 
     
    639629($e_{3w}$). 
    640630  
    641 $\bullet$ Traditional coding with adaptation for ice shelf cavities (\forcode{ln_dynhpg_isf = .true.}). 
    642 This scheme need the activation of ice shelf cavities (\forcode{ln_isfcav = .true.}). 
    643  
    644 $\bullet$ Pressure Jacobian scheme (prj) (a research paper in preparation) (\forcode{ln_dynhpg_prj = .true.}) 
     631$\bullet$ Traditional coding with adaptation for ice shelf cavities (\np{ln\_dynhpg\_isf}\forcode{ = .true.}). 
     632This scheme need the activation of ice shelf cavities (\np{ln\_isfcav}\forcode{ = .true.}). 
     633 
     634$\bullet$ Pressure Jacobian scheme (prj) (a research paper in preparation) (\np{ln\_dynhpg\_prj}\forcode{ = .true.}) 
    645635 
    646636$\bullet$ Density Jacobian with cubic polynomial scheme (DJC) \citep{Shchepetkin_McWilliams_OM05}  
    647 (\forcode{ln_dynhpg_djc = .true.}) (currently disabled; under development) 
     637(\np{ln\_dynhpg\_djc}\forcode{ = .true.}) (currently disabled; under development) 
    648638 
    649639Note that expression \eqref{Eq_dynhpg_sco} is commonly used when the variable volume formulation is 
    650640activated (\key{vvl}) because in that case, even with a flat bottom, the coordinate surfaces are not 
    651641horizontal but follow the free surface \citep{Levier2007}. The pressure jacobian scheme 
    652 (\forcode{ln_dynhpg_prj = .true.}) is available as an improved option to \forcode{ln_dynhpg_sco = .true.} when 
     642(\np{ln\_dynhpg\_prj}\forcode{ = .true.}) is available as an improved option to \np{ln\_dynhpg\_sco}\forcode{ = .true.} when 
    653643\key{vvl} is active.  The pressure Jacobian scheme uses a constrained cubic spline to reconstruct 
    654644the density profile across the water column. This method maintains the monotonicity between the 
     
    660650\label{DYN_hpg_isf} 
    661651Beneath an ice shelf, the total pressure gradient is the sum of the pressure gradient due to the ice shelf load and 
    662  the pressure gradient due to the ocean load. If cavity opened (\np{ln_isfcav}~=~true) these 2 terms can be 
    663  calculated by setting \np{ln_dynhpg_isf}~=~true. No other scheme are working with the ice shelf.\\ 
     652 the pressure gradient due to the ocean load. If cavity opened (\np{ln\_isfcav}\forcode{ = .true.}) these 2 terms can be 
     653 calculated by setting \np{ln\_dynhpg\_isf}\forcode{ = .true.}. No other scheme are working with the ice shelf.\\ 
    664654 
    665655$\bullet$ The main hypothesis to compute the ice shelf load is that the ice shelf is in an isostatic equilibrium. 
     
    673663%           Time-scheme 
    674664%-------------------------------------------------------------------------------------------------------------- 
    675 \subsection   [Time-scheme (\protect\np{ln_dynhpg_imp}) ] 
    676          {Time-scheme (\protect\np{ln_dynhpg_imp}= true/false)} 
     665\subsection{Time-scheme (\protect\np{ln\_dynhpg\_imp}\forcode{ = .true./.false.})} 
    677666\label{DYN_hpg_imp} 
    678667 
     
    689678time level $t$ only, as in the standard leapfrog scheme.  
    690679 
    691 $\bullet$ leapfrog scheme (\forcode{ln_dynhpg_imp = .true.}): 
     680$\bullet$ leapfrog scheme (\np{ln\_dynhpg\_imp}\forcode{ = .true.}): 
    692681 
    693682\begin{equation} \label{Eq_dynhpg_lf} 
     
    696685\end{equation} 
    697686 
    698 $\bullet$ semi-implicit scheme (\forcode{ln_dynhpg_imp = .true.}): 
     687$\bullet$ semi-implicit scheme (\np{ln\_dynhpg\_imp}\forcode{ = .true.}): 
    699688\begin{equation} \label{Eq_dynhpg_imp} 
    700689\frac{u^{t+\rdt}-u^{t-\rdt}}{2\rdt} = \;\cdots \; 
     
    713702the stability limits associated with advection or diffusion. 
    714703 
    715 In practice, the semi-implicit scheme is used when \forcode{ln_dynhpg_imp = .true.}.  
     704In practice, the semi-implicit scheme is used when \np{ln\_dynhpg\_imp}\forcode{ = .true.}.  
    716705In this case, we choose to apply the time filter to temperature and salinity used in  
    717706the equation of state, instead of applying it to the hydrostatic pressure or to the  
     
    727716Note that in the semi-implicit case, it is necessary to save the filtered density, an  
    728717extra three-dimensional field, in the restart file to restart the model with exact  
    729 reproducibility. This option is controlled by  \np{nn_dynhpg_rst}, a namelist parameter. 
     718reproducibility. This option is controlled by  \np{nn\_dynhpg\_rst}, a namelist parameter. 
    730719 
    731720% ================================================================ 
    732721% Surface Pressure Gradient 
    733722% ================================================================ 
    734 \section  [Surface pressure gradient (\textit{dynspg}) ] 
    735       {Surface pressure gradient (\protect\mdl{dynspg})} 
     723\section{Surface pressure gradient (\protect\mdl{dynspg})} 
    736724\label{DYN_spg} 
    737725%-----------------------------------------nam_dynspg---------------------------------------------------- 
     
    793781% Split-explict free surface formulation 
    794782%-------------------------------------------------------------------------------------------------------------- 
    795 \subsection{Split-Explicit free surface (\protect\key{dynspg\_ts})} 
     783\subsection{Split-explicit free surface (\protect\key{dynspg\_ts})} 
    796784\label{DYN_spg_ts} 
    797785%------------------------------------------namsplit----------------------------------------------------------- 
     
    806794variables (Fig.~\ref{Fig_DYN_dynspg_ts}).  
    807795The size of the small time step, $\rdt_e$ (the external mode or barotropic time step) 
    808  is provided through the \np{nn_baro} namelist parameter as:  
    809 $\rdt_e = \rdt / nn\_baro$. This parameter can be optionally defined automatically (\forcode{ln_bt_nn_auto = .true.})  
     796 is provided through the \np{nn\_baro} namelist parameter as:  
     797$\rdt_e = \rdt / nn\_baro$. This parameter can be optionally defined automatically (\np{ln\_bt\_nn\_auto}\forcode{ = .true.})  
    810798considering that the stability of the barotropic system is essentially controled by external waves propagation.  
    811799Maximum Courant number is in that case time independent, and easily computed online from the input bathymetry. 
    812 Therefore, $\rdt_e$ is adjusted so that the Maximum allowed Courant number is smaller than \np{rn_bt_cmax}. 
     800Therefore, $\rdt_e$ is adjusted so that the Maximum allowed Courant number is smaller than \np{rn\_bt\_cmax}. 
    813801 
    814802%%% 
     
    839827The former are used to obtain time filtered quantities at $t+\rdt$ while the latter are used to obtain time averaged  
    840828transports to advect tracers. 
    841 a) Forward time integration: \protect\forcode{ln_bt_fw = .true.},  \protect\forcode{ln_bt_av = .true.}.  
    842 b) Centred time integration: \protect\forcode{ln_bt_fw = .false.}, \protect\forcode{ln_bt_av = .true.}.  
    843 c) Forward time integration with no time filtering (POM-like scheme): \protect\forcode{ln_bt_fw = .true.}, \protect\forcode{ln_bt_av = .false.}. } 
     829a) Forward time integration: \np{ln\_bt\_fw}\forcode{ = .true.},  \np{ln\_bt\_av}\forcode{ = .true.}. 
     830b) Centred time integration: \np{ln\_bt\_fw}\forcode{ = .false.}, \np{ln\_bt\_av}\forcode{ = .true.}. 
     831c) Forward time integration with no time filtering (POM-like scheme): \np{ln\_bt\_fw}\forcode{ = .true.}, \np{ln\_bt\_av}\forcode{ = .false.}. } 
    844832\end{center}    \end{figure} 
    845833%>   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   >   > 
    846834 
    847 In the default case (\forcode{ln_bt_fw = .true.}), the external mode is integrated  
     835In the default case (\np{ln\_bt\_fw}\forcode{ = .true.}), the external mode is integrated  
    848836between \textit{now} and  \textit{after} baroclinic time-steps (Fig.~\ref{Fig_DYN_dynspg_ts}a). To avoid aliasing of fast barotropic motions into three dimensional equations, time filtering is eventually applied on barotropic  
    849 quantities (\forcode{ln_bt_av = .true.}). In that case, the integration is extended slightly beyond  \textit{after} time step to provide time filtered quantities.  
     837quantities (\np{ln\_bt\_av}\forcode{ = .true.}). In that case, the integration is extended slightly beyond  \textit{after} time step to provide time filtered quantities.  
    850838These are used for the subsequent initialization of the barotropic mode in the following baroclinic step.  
    851839Since external mode equations written at baroclinic time steps finally follow a forward time stepping scheme,  
    852840asselin filtering is not applied to barotropic quantities. \\ 
    853841Alternatively, one can choose to integrate barotropic equations starting  
    854 from \textit{before} time step (\forcode{ln_bt_fw = .false.}). Although more computationaly expensive ( \np{nn_baro} additional iterations are indeed necessary), the baroclinic to barotropic forcing term given at \textit{now} time step  
     842from \textit{before} time step (\np{ln\_bt\_fw}\forcode{ = .false.}). Although more computationaly expensive ( \np{nn\_baro} additional iterations are indeed necessary), the baroclinic to barotropic forcing term given at \textit{now} time step  
    855843become centred in the middle of the integration window. It can easily be shown that this property  
    856844removes part of splitting errors between modes, which increases the overall numerical robustness. 
     
    868856%%% 
    869857 
    870 One can eventually choose to feedback instantaneous values by not using any time filter (\forcode{ln_bt_av = .false.}).  
     858One can eventually choose to feedback instantaneous values by not using any time filter (\np{ln\_bt\_av}\forcode{ = .false.}).  
    871859In that case, external mode equations are continuous in time, ie they are not re-initialized when starting a new  
    872860sub-stepping sequence. This is the method used so far in the POM model, the stability being maintained by refreshing at (almost)  
     
    1001989% Lateral diffusion term 
    1002990% ================================================================ 
    1003 \section  [Lateral diffusion term (\textit{dynldf})] 
    1004       {Lateral diffusion term (\protect\mdl{dynldf})} 
     991\section{Lateral diffusion term and operators (\protect\mdl{dynldf})} 
    1005992\label{DYN_ldf} 
    1006993%------------------------------------------nam_dynldf---------------------------------------------------- 
     
    10361023 
    10371024% ================================================================ 
    1038 \subsection   [Iso-level laplacian operator (\protect\np{ln_dynldf_lap}) ] 
    1039          {Iso-level laplacian operator (\protect\forcode{ln_dynldf_lap = .true.})} 
     1025\subsection[Iso-level laplacian (\protect\np{ln\_dynldf\_lap}\forcode{ = .true.})] 
     1026            {Iso-level laplacian operator (\protect\np{ln\_dynldf\_lap}\forcode{ = .true.})} 
    10401027\label{DYN_ldf_lap} 
    10411028 
     
    10601047%           Rotated laplacian operator 
    10611048%-------------------------------------------------------------------------------------------------------------- 
    1062 \subsection   [Rotated laplacian operator (\protect\np{ln_dynldf_iso}) ] 
    1063          {Rotated laplacian operator (\protect\forcode{ln_dynldf_iso = .true.})} 
     1049\subsection[Rotated laplacian (\protect\np{ln\_dynldf\_iso}\forcode{ = .true.})] 
     1050            {Rotated laplacian operator (\protect\np{ln\_dynldf\_iso}\forcode{ = .true.})} 
    10641051\label{DYN_ldf_iso} 
    10651052 
    10661053A rotation of the lateral momentum diffusion operator is needed in several cases:  
    1067 for iso-neutral diffusion in the $z$-coordinate (\forcode{ln_dynldf_iso = .true.}) and for  
    1068 either iso-neutral (\forcode{ln_dynldf_iso = .true.}) or geopotential  
    1069 (\forcode{ln_dynldf_hor = .true.}) diffusion in the $s$-coordinate. In the partial step  
     1054for iso-neutral diffusion in the $z$-coordinate (\np{ln\_dynldf\_iso}\forcode{ = .true.}) and for  
     1055either iso-neutral (\np{ln\_dynldf\_iso}\forcode{ = .true.}) or geopotential  
     1056(\np{ln\_dynldf\_hor}\forcode{ = .true.}) diffusion in the $s$-coordinate. In the partial step  
    10701057case, coordinates are horizontal except at the deepest level and no  
    1071 rotation is performed when \forcode{ln_dynldf_hor = .true.}. The diffusion operator  
     1058rotation is performed when \np{ln\_dynldf\_hor}\forcode{ = .true.}. The diffusion operator  
    10721059is defined simply as the divergence of down gradient momentum fluxes on each  
    10731060momentum component. It must be emphasized that this formulation ignores  
     
    11291116%           Iso-level bilaplacian operator 
    11301117%-------------------------------------------------------------------------------------------------------------- 
    1131 \subsection   [Iso-level bilaplacian operator (\protect\np{ln_dynldf_bilap})] 
    1132          {Iso-level bilaplacian operator (\protect\forcode{ln_dynldf_bilap = .true.})} 
     1118\subsection[Iso-level bilaplacian (\protect\np{ln\_dynldf\_bilap}\forcode{ = .true.})] 
     1119            {Iso-level bilaplacian operator (\protect\np{ln\_dynldf\_bilap}\forcode{ = .true.})} 
    11331120\label{DYN_ldf_bilap} 
    11341121 
     
    11451132%           Vertical diffusion term 
    11461133% ================================================================ 
    1147 \section  [Vertical diffusion term (\protect\mdl{dynzdf})] 
    1148       {Vertical diffusion term (\protect\mdl{dynzdf})} 
     1134\section{Vertical diffusion term (\protect\mdl{dynzdf})} 
    11491135\label{DYN_zdf} 
    11501136%----------------------------------------------namzdf------------------------------------------------------ 
     
    11571143would be too restrictive a constraint on the time step. Two time stepping schemes  
    11581144can be used for the vertical diffusion term : $(a)$ a forward time differencing  
    1159 scheme (\forcode{ln_zdfexp = .true.}) using a time splitting technique  
    1160 (\np{nn_zdfexp} $>$ 1) or $(b)$ a backward (or implicit) time differencing scheme  
    1161 (\forcode{ln_zdfexp = .false.}) (see \S\ref{STP}). Note that namelist variables  
    1162 \np{ln_zdfexp} and \np{nn_zdfexp} apply to both tracers and dynamics.  
     1145scheme (\np{ln\_zdfexp}\forcode{ = .true.}) using a time splitting technique  
     1146(\np{nn\_zdfexp} $>$ 1) or $(b)$ a backward (or implicit) time differencing scheme  
     1147(\np{ln\_zdfexp}\forcode{ = .false.}) (see \S\ref{STP}). Note that namelist variables  
     1148\np{ln\_zdfexp} and \np{nn\_zdfexp} apply to both tracers and dynamics.  
    11631149 
    11641150The formulation of the vertical subgrid scale physics is the same whatever  
     
    11991185% External Forcing 
    12001186% ================================================================ 
    1201 \section{External Forcings} 
     1187\section{External forcings} 
    12021188\label{DYN_forcing} 
    12031189 
     
    12061192may enter the dynamical equations by affecting the surface pressure gradient.  
    12071193 
    1208 (1) When \np{ln_apr_dyn}~=~true (see \S\ref{SBC_apr}), the atmospheric pressure is taken  
     1194(1) When \np{ln\_apr\_dyn}\forcode{ = .true.} (see \S\ref{SBC_apr}), the atmospheric pressure is taken  
    12091195into account when computing the surface pressure gradient. 
    12101196 
    1211 (2) When \np{ln_tide_pot}~=~true and \np{ln_tide}~=~true (see \S\ref{SBC_tide}),  
     1197(2) When \np{ln\_tide\_pot}\forcode{ = .true.} and \np{ln\_tide}\forcode{ = .true.} (see \S\ref{SBC_tide}),  
    12121198the tidal potential is taken into account when computing the surface pressure gradient. 
    12131199 
    1214 (3) When \np{nn_ice_embd}~=~2 and LIM or CICE is used ($i.e.$ when the sea-ice is embedded in the ocean),  
     1200(3) When \np{nn\_ice\_embd}\forcode{ = 2} and LIM or CICE is used ($i.e.$ when the sea-ice is embedded in the ocean),  
    12151201the snow-ice mass is taken into account when computing the surface pressure gradient. 
    12161202 
     
    12221208% Time evolution term  
    12231209% ================================================================ 
    1224 \section  [Time evolution term (\textit{dynnxt})] 
    1225       {Time evolution term (\protect\mdl{dynnxt})} 
     1210\section{Time evolution term (\protect\mdl{dynnxt})} 
    12261211\label{DYN_nxt} 
    12271212 
     
    12381223weighted velocity (see \S\ref{Apdx_A_momentum})   
    12391224 
    1240 $\bullet$ vector invariant form or linear free surface (\forcode{ln_dynhpg_vec = .true.} ; \key{vvl} not defined): 
     1225$\bullet$ vector invariant form or linear free surface (\np{ln\_dynhpg\_vec}\forcode{ = .true.} ; \key{vvl} not defined): 
    12411226\begin{equation} \label{Eq_dynnxt_vec} 
    12421227\left\{   \begin{aligned} 
     
    12461231\end{equation}  
    12471232 
    1248 $\bullet$ flux form and nonlinear free surface (\forcode{ln_dynhpg_vec = .false.} ; \key{vvl} defined): 
     1233$\bullet$ flux form and nonlinear free surface (\np{ln\_dynhpg\_vec}\forcode{ = .false.} ; \key{vvl} defined): 
    12491234\begin{equation} \label{Eq_dynnxt_flux} 
    12501235\left\{   \begin{aligned} 
     
    12561241where RHS is the right hand side of the momentum equation, the subscript $f$  
    12571242denotes filtered values and $\gamma$ is the Asselin coefficient. $\gamma$ is  
    1258 initialized as \np{nn_atfp} (namelist parameter). Its default value is \np{nn_atfp} = $10^{-3}$. 
     1243initialized as \np{nn\_atfp} (namelist parameter). Its default value is \np{nn\_atfp}\forcode{ = 10.e-3}. 
    12591244In both cases, the modified Asselin filter is not applied since perfect conservation  
    12601245is not an issue for the momentum equations. 
Note: See TracChangeset for help on using the changeset viewer.