Index: NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/main/bibliography.bib
===================================================================
--- NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/main/bibliography.bib	(revision 13838)
+++ NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/main/bibliography.bib	(revision 13844)
@@ -1906,4 +1906,14 @@
 }
 
+@Article{        love_PRSLA1909,
+  author       = "A. E. H. Love",
+  title        = "The Yielding of the Earth to Disturbing Forces",
+  journal      = "Proc. R. Soc. Lond. A",
+  year         = "1909",
+  volume       = "82",
+  pages        = "73-88",
+  doi          = "10.1098/rspa.1909.0008"
+}
+
 @article{         losch_JGR08,
   title         = "Modeling ice shelf cavities in a z coordinate Ocean
Index: NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_DYN.tex
===================================================================
--- NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_DYN.tex	(revision 13838)
+++ NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_DYN.tex	(revision 13844)
@@ -1245,5 +1245,5 @@
 the atmospheric pressure is taken into account when computing the surface pressure gradient.
 
-(2) When \np[=.true.]{ln_tide_pot}{ln\_tide\_pot} and \np[=.true.]{ln_tide}{ln\_tide} (see \autoref{sec:SBC_tide}),
+(2) When \np[=.true.]{ln_tide_pot}{ln\_tide\_pot} and \np[=.true.]{ln_tide}{ln\_tide} (see \autoref{sec:SBC_TDE}),
 the tidal potential is taken into account when computing the surface pressure gradient.
 
Index: NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_LBC.tex
===================================================================
--- NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_LBC.tex	(revision 13838)
+++ NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_LBC.tex	(revision 13844)
@@ -16,4 +16,5 @@
     Release & Author(s) & Modifications \\
     \hline
+    {\em  next} & {\em Minor update of \autoref{subsec:LBC_bdy_tides}} \\[2mm]
     {\em   4.0} & {\em ...} & {\em ...} \\
     {\em   3.6} & {\em ...} & {\em ...} \\
@@ -665,38 +666,33 @@
 
 Tidal forcing at open boundaries requires the activation of surface
-tides (i.e., in \nam{_tide}{\_tide}, \np{ln_tide}{ln\_tide} needs to be set to
-\forcode{.true.} and the required constituents need to be activated by
-including their names in the \np{clname}{clname} array; see
-\autoref{sec:SBC_tide}). Specific options related to the reading in of
+tides (i.e., in \nam{_tide}{\_tide}, \np[=.true.]{ln_tide}{ln\_tide} with the active tidal
+constituents listed in the \np{sn_tide_cnames}{sn\_tide\_cnames} array; see
+\autoref{sec:SBC_TDE}). The specific options related to the reading in of
 the complex harmonic amplitudes of elevation (SSH) and barotropic
-velocity (u,v) at open boundaries are defined through the
-\nam{bdy_tide}{bdy\_tide} namelist parameters.\\
+velocity (u,v) at the open boundaries are defined through the
+\nam{bdy_tide}{bdy\_tide} namelist parameters.\par
 
 The tidal harmonic data at open boundaries can be specified in two
 different ways, either on a two-dimensional grid covering the entire
 model domain or along open boundary segments; these two variants can
-be selected by setting \np{ln_bdytide_2ddta }{ln\_bdytide\_2ddta } to \forcode{.true.} or
-\forcode{.false.}, respectively. In either case, the real and
-imaginary parts of SSH and the two barotropic velocity components for
-each activated tidal constituent \textit{tcname} have to be provided
-separately: when two-dimensional data is used, variables
-\textit{tcname\_z1} and \textit{tcname\_z2} for real and imaginary SSH,
-respectively, are expected in input file \np{filtide}{filtide} with suffix
-\ifile{\_grid\_T}, variables \textit{tcname\_u1} and
-\textit{tcname\_u2} for real and imaginary u, respectively, are
-expected in input file \np{filtide}{filtide} with suffix \ifile{\_grid\_U}, and
-\textit{tcname\_v1} and \textit{tcname\_v2} for real and imaginary v,
-respectively, are expected in input file \np{filtide}{filtide} with suffix
-\ifile{\_grid\_V}; when data along open boundary segments is used,
-variables \textit{z1} and \textit{z2} (real and imaginary part of SSH)
-are expected to be available from file \np{filtide}{filtide} with suffix
-\ifile{tcname\_grid\_T}, variables \textit{u1} and \textit{u2} (real
-and imaginary part of u) are expected to be available from file
-\np{filtide}{filtide} with suffix \ifile{tcname\_grid\_U}, and variables
-\textit{v1} and \textit{v2} (real and imaginary part of v) are
-expected to be available from file \np{filtide}{filtide} with suffix
-\ifile{tcname\_grid\_V}. If \np{ln_bdytide_conj}{ln\_bdytide\_conj} is set to
-\forcode{.true.}, the data is expected to be in complex conjugate
-form.
+be selected by setting \np[=.true.]{ln_bdytide_2ddta}{ln\_bdytide\_2ddta} or
+\np[=.false.]{ln_bdytide_2ddta}{ln\_bdytide\_2ddta}, respectively. In either
+case, the real and imaginary parts of SSH, u, and v amplitudes associated with
+each activated tidal constituent \texttt{<constituent>} have to be provided
+separately as fields in input files with names based on
+\np[=<input>]{filtide}{filtide}: when two-dimensional data is used, variables
+\texttt{<constituent>\_z1} and \texttt{<constituent>\_z2} for real and imaginary
+SSH, respectively, are expected to be available in file
+\ifile{<input>\_grid\_T}, variables \texttt{<constituent>\_u1} and
+\texttt{<constituent>\_u2} for real and imaginary u, respectively, in file
+\ifile{<input>\_grid\_U}, and \texttt{<constituent>\_v1} and
+\texttt{<constituent>\_v2} for real and imaginary v, respectively, in file
+\ifile{<input>\_grid\_V}; when data along open boundary segments is used,
+variables \texttt{z1} and \texttt{z2} (real and imaginary part of SSH) are
+expected to be available in file \ifile{<input><constituent>\_grid\_T},
+variables \texttt{u1} and \texttt{u2} (real and imaginary part of u) in file
+\ifile{<input><constituent>\_grid\_U}, and variables \texttt{v1} and \texttt{v2}
+(real and imaginary part of v) in file
+\ifile{<input><constituent>\_grid\_V}.\par
 
 Note that the barotropic velocity components are assumed to be defined
Index: NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_SBC.tex
===================================================================
--- NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_SBC.tex	(revision 13838)
+++ NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/latex/NEMO/subfiles/chap_SBC.tex	(revision 13844)
@@ -5,5 +5,5 @@
 \begin{document}
 
-\chapter{Surface Boundary Condition (SBC, SAS, ISF, ICB)}
+\chapter{Surface Boundary Condition (SBC, SAS, ISF, ICB, TDE)}
 \label{chap:SBC}
 
@@ -18,4 +18,5 @@
     Release & Author(s) & Modifications \\
     \hline
+    {\em  next} & {\em Simon M{\" u}ller} & {\em Update of \autoref{sec:SBC_TDE}}\\[2mm]
     {\em   4.0} & {\em ...} & {\em ...} \\
     {\em   3.6} & {\em ...} & {\em ...} \\
@@ -1013,6 +1014,6 @@
 
 %% =================================================================================================
-\section[Surface tides (\textit{sbctide.F90})]{Surface tides (\protect\mdl{sbctide})}
-\label{sec:SBC_tide}
+\section{Surface tides (TDE)}
+\label{sec:SBC_TDE}
 
 \begin{listing}
@@ -1022,43 +1023,80 @@
 \end{listing}
 
-The tidal forcing, generated by the gravity forces of the Earth-Moon and Earth-Sun sytems,
-is 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}.
-This translates as an additional barotropic force in the momentum \autoref{eq:MB_PE_dyn} such that:
+\subsection{Tidal constituents}
+Ocean model component TDE provides the common functionality for tidal forcing
+and tidal analysis in the model framework. This includes the gravitational
+surface forcing, as well as supports lateral forcing at open boundaries (see
+\autoref{subsec:LBC_bdy_tides}) and tidal harmonic analysis (see
+\autoref{subsec:DIA_diamlr} and \autoref{subsec:DIA_diadetide}). The module is
+activated with \np[=.true.]{ln_tide}{ln\_tide} in namelist
+\nam{_tide}{\_tide}. It provides the same 34 tidal constituents that are
+included in the
+\href{https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes.html}{FES2014
+  ocean tide model}: Mf, Mm, Ssa, Mtm, Msf, Msqm, Sa, K1, O1, P1, Q1, J1, S1,
+M2, S2, N2, K2, nu2, mu2, 2N2, L2, T2, eps2, lam2, R2, M3, MKS2, MN4, MS4, M4,
+N4, S4, M6, and M8; see file \hf{tide} and \mdl{tide\_mod} for further
+information and references\footnote{As a legacy option \np{ln_tide_var} can be
+  set to \forcode{0}, in which case the 19 tidal constituents (M2, N2, 2N2, S2,
+  K2, K1, O1, Q1, P1, M4, Mf, Mm, Msqm, Mtm, S1, MU2, NU2, L2, and T2; see file
+  \hf{tide}) and associated parameters that have been available in NEMO version
+  4.0 and earlier are available}. Constituents to be included in tidal forcing
+(surface and lateral boundaries) are selected by enumerating their respective
+names in namelist array \np{sn_tide_cnames}{sn\_tide\_cnames}.\par
+
+\subsection{Surface tidal forcing}
+Surface tidal forcing can be represented in the model through an additional
+barotropic force in the momentum equation (\autoref{eq:MB_PE_dyn}) such that:
 \[
-  % \label{eq:SBC_PE_dyn_tides}
-  \frac{\partial {\mathrm {\mathbf U}}_h }{\partial t}= ...
-  +g\nabla (\Pi_{eq} + \Pi_{sal})
+  \frac{\partial {\mathrm {\mathbf U}}_h }{\partial t} = \ldots +g\nabla (\gamma
+  \Pi_{eq} + \Pi_{sal})
 \]
-where $\Pi_{eq}$ stands for the equilibrium tidal forcing and
-$\Pi_{sal}$ is a self-attraction and loading term (SAL).
-
-The equilibrium tidal forcing is expressed as a sum over a subset of
-constituents chosen from the set of available tidal constituents
-defined in file \hf{SBC/tide} (this comprises the tidal
-constituents \textit{M2, N2, 2N2, S2, K2, K1, O1, Q1, P1, M4, Mf, Mm,
-  Msqm, Mtm, S1, MU2, NU2, L2}, and \textit{T2}). Individual
-constituents are selected by including their names in the array
-\np{clname}{clname} in \nam{_tide}{\_tide} (e.g., \np{clname}{clname}\forcode{(1)='M2', }
-\np{clname}{clname}\forcode{(2)='S2'} to select solely the tidal consituents \textit{M2}
-and \textit{S2}). Optionally, when \np{ln_tide_ramp}{ln\_tide\_ramp} is set to
-\forcode{.true.}, the equilibrium tidal forcing can be ramped up
-linearly from zero during the initial \np{rdttideramp}{rdttideramp} days of the
-model run.
+where $\Pi_{eq}$ stands for the equilibrium tidal forcing scaled by a spatially
+uniform tilt factor $\gamma$, and, if selected, $\Pi_{sal}$ is an optional
+self-attraction and loading term (SAL). These additional terms are enabled when,
+in addition to \np[=.true.]{ln_tide}{ln\_tide}),
+\np[=.true.]{ln_tide_pot}{ln\_tide\_pot}.\par
+
+The equilibrium tidal forcing is expressed as a sum over the subset of
+constituents listed in \np{sn_tide_cnames}{sn\_tide\_cnames} of
+\nam{_tide} (e.g.,
+\begin{forlines}
+      sn_tide_cnames(1) = 'M2'
+      sn_tide_cnames(2) = 'K1'
+      sn_tide_cnames(3) = 'S2'
+      sn_tide_cnames(4) = 'O1'
+\end{forlines}
+to select the four tidal constituents of strongest equilibrium tidal
+potential). The tidal tilt factor $\gamma = 1 + k - h$ includes the
+Love numbers $k$ and $h$ \citep{love_prsla1909}; this value is
+configurable using \np{rn_tide_gamma} (default value 0.7). Optionally,
+when \np[=.true.]{ln_tide_ramp}{ln\_tide\_ramp}, the equilibrium tidal
+forcing can be ramped up linearly from zero during the initial
+\np{rn_tide_ramp_dt}{rn\_tide\_ramp\_dt} days of the model run.\par
 
 The SAL term should in principle be computed online as it depends on
 the model tidal prediction itself (see \citet{arbic.garner.ea_DSR04} for a
-discussion about the practical implementation of this term).
-Nevertheless, the complex calculations involved would make this
-computationally too expensive. Here, two options are available:
-$\Pi_{sal}$ generated by an external model can be read in
-(\np[=.true.]{ln_read_load}{ln\_read\_load}), or a ``scalar approximation'' can be
-used (\np[=.true.]{ln_scal_load}{ln\_scal\_load}). In the latter case
+discussion about the practical implementation of this term). The complex
+calculations involved in such computations, however, are computationally very
+expensive. Here, two mutually exclusive simpler variants are available: an
+oscillatory $\Pi_{sal}$ field for each of the selected tidal constituents
+generated by an external model can be read in
+(\np[=.true.]{ln_read_load}{ln\_read\_load}) from the file specified in
+\np{cn_tide_load}{cn\_tide\_load} (the variable names are comprised of the
+tidal-constituent name and suffixes \forcode{_z1} and \forcode{_z2} for two
+orthogonal oscillatory conponents, respectively); alternatively, a ``scalar
+approximation'' can be used (\np[=.true.]{ln_scal_load}{ln\_scal\_load}), where
 \[
   \Pi_{sal} = \beta \eta,
 \]
-where $\beta$ (\np{rn_scal_load}{rn\_scal\_load} with a default value of 0.094) is a
-spatially constant scalar, often chosen to minimize tidal prediction
-errors. Setting both \np{ln_read_load}{ln\_read\_load} and \np{ln_scal_load}{ln\_scal\_load} to
-\forcode{.false.} removes the SAL contribution.
+with a spatially uniform coefficient $\beta$, which can be configured
+via \np{rn_scal_load}{rn\_scal\_load} (default value 0.094) and is
+often tuned to minimize tidal prediction errors.\par
+
+For diagnostic purposes, the forcing potential of the individual tidal
+constituents (incl. load ptential, if activated) and the total forcing
+potential (incl. load potential, if activated) can be made available
+as diagnostic output by setting
+\np[=.true.]{ln_tide_dia}{ln\_tide\_dia} (fields
+\forcode{tide_pot_<constituent>} and \forcode{tide_pot}).\par
 
 %% =================================================================================================
Index: NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/namelists/nam_tide
===================================================================
--- NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/namelists/nam_tide	(revision 13838)
+++ NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/namelists/nam_tide	(revision 13844)
@@ -3,12 +3,16 @@
 !-----------------------------------------------------------------------
    ln_tide     = .false.      ! Activate tides
-      ln_tide_pot   = .true.                !  use tidal potential forcing
+      nn_tide_var   = 1          !  Variant of tidal parameter set and tide-potential computation
+      !                          !     (1: default; 0: compatibility with previous versions)
+      ln_tide_dia   = .false.    !  Enable tidal diagnostic output
+      ln_tide_pot   = .false.               !  use tidal potential forcing
+         rn_tide_gamma = 0.7                   ! Tidal tilt factor
          ln_scal_load  = .false.               ! Use scalar approximation for
             rn_scal_load = 0.094               !     load potential
          ln_read_load  = .false.               ! Or read load potential from file
             cn_tide_load = 'tide_LOAD_grid_T.nc'  ! filename for load potential
-            !      
+            !
       ln_tide_ramp  = .false.               !  Use linear ramp for tides at startup
-         rdttideramp   =    0.                 !  ramp duration in days
-      clname(1)     = 'DUMMY'               !  name of constituent - all tidal components must be set in namelist_cfg
+         rn_tide_ramp_dt = 0.               !  ramp duration in days
+      sn_tide_cnames(1) = 'DUMMY'               !  name of constituent - all tidal components must be set in namelist_cfg
 /
Index: NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/namelists/nambdy_tide
===================================================================
--- NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/namelists/nambdy_tide	(revision 13838)
+++ NEMO/branches/2019/dev_r13813_ENHANCE-12_SimonM-Tides_doc/doc/namelists/nambdy_tide	(revision 13844)
@@ -4,4 +4,3 @@
    filtide          = 'bdydta/amm12_bdytide_'   !  file name root of tidal forcing files
    ln_bdytide_2ddta = .false.                   !
-   ln_bdytide_conj  = .false.                   ! 
 /
