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.
apdx_DOMAINcfg.tex in NEMO/trunk/doc/latex/NEMO/subfiles – NEMO

source: NEMO/trunk/doc/latex/NEMO/subfiles/apdx_DOMAINcfg.tex @ 11582

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

New LaTeX commands \nam and \np to mention namelist content (step 2)
Finally convert \forcode{...} following \np{}{} into optional arg of the new command \np[]{}{}

File size: 30.1 KB
Line 
1\documentclass[../main/NEMO_manual]{subfiles}
2
3\onlyinsubfile{\makeindex}
4
5\begin{document}
6% ================================================================
7% Appendix DOMAINcfg : A brief guide to the DOMAINcfg tool
8% ================================================================
9\chapter{A brief guide to the DOMAINcfg tool}
10\label{apdx:DOMCFG}
11
12\chaptertoc
13\vfill
14\begin{figure}[b]
15\subsubsection*{Changes record}
16\begin{tabular}{m{0.08\linewidth}||m{0.32\linewidth}|m{0.6\linewidth}}
17    Release   & Author(s)     & Modifications \\
18\hline
19    {\em 4.0} & {\em Andrew Coward} & {\em Created at v4.0 from materials removed from chap\_DOM that are still relevant to the \forcode{DOMAINcfg} tool and which illustrate and explain the choices to be made by the user when setting up new domains }  \\
20\end{tabular}
21\end{figure}
22
23\newpage
24
25This appendix briefly describes some of the options available in the
26\forcode{DOMAINcfg} tool mentioned in \autoref{chap:DOM}.
27
28This tool will evolve into an independent utility with its own documentation but its
29current manifestation is mostly a wrapper for \NEMO\ \forcode{DOM} modules more aligned to
30those in the previous versions of \NEMO. These versions allowed the user to define some
31horizontal and vertical grids through additional namelist parameters. Explanations of
32these parameters are retained here for reference pending better documentation for
33\forcode{DOMAINcfg}. Please note that the namelist blocks named in this appendix refer to
34those read by \forcode{DOMAINcfg} via its own \forcode{namelist_ref} and
35\forcode{namelist_cfg} files. Although, due to their origins, these namelists share names
36with those used by \NEMO, they are not interchangeable and should be considered independent
37of those described elsewhere in this manual.
38
39% -------------------------------------------------------------------------------------------------------------
40%        Choice of horizontal grid
41% -------------------------------------------------------------------------------------------------------------
42\section{Choice of horizontal grid}
43\label{sec:DOMCFG_hor}
44
45%--------------------------------------------namdom-------------------------------------------------------
46
47\begin{listing}
48  \nlst{namdom_domcfg}
49  \caption{\forcode{&namdom_domcfg}}
50  \label{lst:namdom_domcfg}
51\end{listing}
52%--------------------------------------------------------------------------------------------------------------
53
54The user has three options available in defining a horizontal grid, which involve the
55namelist variable \np{jphgr_mesh}{jphgr\_mesh} of the \nam{dom}{dom} (\texttt{DOMAINcfg} variant only)
56namelist.
57
58\begin{description}
59 \item[{\np{jphgr_mesh}{jphgr\_mesh}=0}]  The most general curvilinear orthogonal grids.
60  The coordinates and their first derivatives with respect to $i$ and $j$ are provided
61  in a input file (\ifile{coordinates}), read in \rou{hgr\_read} subroutine of the domhgr module.
62  This is now the only option available within \NEMO\ itself from v4.0 onwards.
63\item[{\np{jphgr_mesh}{jphgr\_mesh}=1 to 5}] A few simple analytical grids are provided (see below).
64  For other analytical grids, the \mdl{domhgr} module (\texttt{DOMAINcfg} variant) must be
65  modified by the user. In most cases, modifying the \mdl{usrdef\_hgr} module of \NEMO\ is
66  a better alternative since this is designed to allow simple analytical domains to be
67  configured and used without the need for external data files.
68\end{description}
69
70There are two simple cases of geographical grids on the sphere. With
71\np{jphgr_mesh}{jphgr\_mesh}=1, the grid (expressed in degrees) is regular in space,
72with grid sizes specified by parameters \np{ppe1_deg}{ppe1\_deg} and \np{ppe2_deg}{ppe2\_deg},
73respectively. Such a geographical grid can be very anisotropic at high latitudes
74because of the convergence of meridians (the zonal scale factors $e_1$
75become much smaller than the meridional scale factors $e_2$). The Mercator
76grid (\np{jphgr_mesh}{jphgr\_mesh}=4) avoids this anisotropy by refining the meridional scale
77factors in the same way as the zonal ones. In this case, meridional scale factors
78and latitudes are calculated analytically using the formulae appropriate for
79a Mercator projection, based on \np{ppe1_deg}{ppe1\_deg} which is a reference grid spacing
80at the equator (this applies even when the geographical equator is situated outside
81the model domain).
82
83In these two cases (\np{jphgr_mesh}{jphgr\_mesh}=1 or 4), the grid position is defined by the
84longitude and latitude of the south-westernmost point (\np{ppglamt0}
85and \np{ppgphi0}{ppgphi0}). Note that for the Mercator grid the user need only provide
86an approximate starting latitude: the real latitude will be recalculated analytically,
87in order to ensure that the equator corresponds to line passing through $t$-
88and $u$-points.
89
90Rectangular grids ignoring the spherical geometry are defined with
91\np{jphgr_mesh}{jphgr\_mesh} = 2, 3, 5. The domain is either an $f$-plane (\np{jphgr_mesh}{jphgr\_mesh} = 2,
92Coriolis factor is constant) or a beta-plane (\np{jphgr_mesh}{jphgr\_mesh} = 3, the Coriolis factor
93is linear in the $j$-direction). The grid size is uniform in meter in each direction,
94and given by the parameters \np{ppe1_m}{ppe1\_m} and \np{ppe2_m}{ppe2\_m} respectively.
95The zonal grid coordinate (\textit{glam} arrays) is in kilometers, starting at zero
96with the first $t$-point. The meridional coordinate (gphi. arrays) is in kilometers,
97and the second $t$-point corresponds to coordinate $gphit=0$. The input
98variable \np{ppglam0}{ppglam0} is ignored. \np{ppgphi0}{ppgphi0} is used to set the reference
99latitude for computation of the Coriolis parameter. In the case of the beta plane,
100\np{ppgphi0}{ppgphi0} corresponds to the center of the domain. Finally, the special case
101\np{jphgr_mesh}{jphgr\_mesh}=5 corresponds to a beta plane in a rotated domain for the
102GYRE configuration, representing a classical mid-latitude double gyre system.
103The rotation allows us to maximize the jet length relative to the gyre areas
104(and the number of grid points).
105
106% -------------------------------------------------------------------------------------------------------------
107%        vertical reference coordinate transformation
108% -------------------------------------------------------------------------------------------------------------
109\section{Vertical grid}
110\label{sec:DOMCFG_vert}
111
112\subsection{Vertical reference coordinate}
113\label{sec:DOMCFG_zref}
114
115%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
116\begin{figure}[!tb]
117  \centering
118  \includegraphics[width=0.66\textwidth]{Fig_zgr}
119  \caption[DOMAINcfg: default vertical mesh for ORCA2]{
120    Default vertical mesh for ORCA2: 30 ocean levels (L30).
121    Vertical level functions for (a) T-point depth and (b) the associated scale factor for
122    the $z$-coordinate case.}
123  \label{fig:DOMCFG_zgr}
124\end{figure}
125%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
126
127The reference coordinate transformation $z_0(k)$ defines the arrays $gdept_0$ and
128$gdepw_0$ for $t$- and $w$-points, respectively. See \autoref{sec:DOMCFG_sco} for the
129S-coordinate options.  As indicated on \autoref{fig:DOM_index_vert} \jp{jpk} is the number of
130$w$-levels.  $gdepw_0(1)$ is the ocean surface.  There are at most \jp{jpk}-1 $t$-points
131inside the ocean, the additional $t$-point at $jk = jpk$ is below the sea floor and is not
132used.  The vertical location of $w$- and $t$-levels is defined from the analytic
133expression of the depth $z_0(k)$ whose analytical derivative with respect to $k$ provides
134the vertical scale factors.  The user must provide the analytical expression of both $z_0$
135and its first derivative with respect to $k$.  This is done in routine \mdl{domzgr}
136through statement functions, using parameters provided in the \nam{dom}{dom} namelist
137(\texttt{DOMAINcfg} variant).
138
139It is possible to define a simple regular vertical grid by giving zero stretching
140(\np[=0]{ppacr}{ppacr}).  In that case, the parameters \jp{jpk} (number of $w$-levels)
141and \np{pphmax}{pphmax} (total ocean depth in meters) fully define the grid.
142
143For climate-related studies it is often desirable to concentrate the vertical resolution
144near the ocean surface.  The following function is proposed as a standard for a
145$z$-coordinate (with either full or partial steps):
146\begin{gather}
147  \label{eq:DOMCFG_zgr_ana_1}
148    z_0  (k) = h_{sur} - h_0 \; k - \; h_1 \; \log  \big[ \cosh ((k - h_{th}) / h_{cr}) \big] \\
149    e_3^0(k) = \lt|    - h_0      -    h_1 \; \tanh \big[        (k - h_{th}) / h_{cr}  \big] \rt|
150\end{gather}
151
152where $k = 1$ to \jp{jpk} for $w$-levels and $k = 1$ to $k = 1$ for $t-$levels.  Such an
153expression allows us to define a nearly uniform vertical location of levels at the ocean
154top and bottom with a smooth hyperbolic tangent transition in between (\autoref{fig:DOMCFG_zgr}).
155
156A double hyperbolic tangent version (\np[=.true.]{ldbletanh}{ldbletanh}) is also available
157which permits finer control and is used, typically, to obtain a well resolved upper ocean
158without compromising on resolution at depth using a moderate number of levels.
159
160\begin{gather}
161  \label{eq:DOMCFG_zgr_ana_1b}
162    \begin{split}
163    z_0  (k) = h_{sur} - h_0 \; k &- \; h_1 \; \log  \big[ \cosh ((k - h_{th}) / h_{cr}) \big] \\
164                             \;   &- \; h2_1 \; \log  \big[ \cosh ((k - h2_{th}) / h2_{cr}) \big]
165    \end{split}
166\end{gather}
167\begin{gather}
168    \begin{split}
169    e_3^0(k) = \big|    - h_0    &-   h_1 \; \tanh \big[       (k - h_{th})  / h_{cr}   \big]  \\
170                                 &-  h2_1 \; \tanh \big[       (k - h2_{th}) / h2_{cr}  \big] \big|
171    \end{split}
172\end{gather}
173
174If the ice shelf cavities are opened (\np[=.true.]{ln_isfcav}{ln\_isfcav}), the definition
175of $z_0$ is the same.  However, definition of $e_3^0$ at $t$- and $w$-points is
176respectively changed to:
177\begin{equation}
178  \label{eq:DOMCFG_zgr_ana_2}
179  \begin{split}
180    e_3^T(k) &= z_W (k + 1) - z_W (k    ) \\
181    e_3^W(k) &= z_T (k    ) - z_T (k - 1)
182  \end{split}
183\end{equation}
184
185This formulation decreases the self-generated circulation into the ice shelf cavity
186(which can, in extreme case, leads to numerical instability). This is now the recommended formulation for all configurations using v4.0 onwards. The analytical derivation of thicknesses is maintained for backwards compatibility.
187
188The most used vertical grid for ORCA2 has $10~m$ ($500~m$) resolution in the surface
189(bottom) layers and a depth which varies from 0 at the sea surface to a minimum of
190$-5000~m$.  This leads to the following conditions:
191
192\begin{equation}
193  \label{eq:DOMCFG_zgr_coef}
194  \begin{array}{ll}
195    e_3 (1   + 1/2) =  10. & z(1  ) =     0. \\
196    e_3 (jpk - 1/2) = 500. & z(jpk) = -5000.
197  \end{array}
198\end{equation}
199
200With the choice of the stretching $h_{cr} = 3$ and the number of levels \jp{jpk}~$= 31$,
201the four coefficients $h_{sur}$, $h_0$, $h_1$, and $h_{th}$ in
202\autoref{eq:DOMCFG_zgr_ana_2} have been determined such that \autoref{eq:DOMCFG_zgr_coef}
203is satisfied, through an optimisation procedure using a bisection method.
204For the first standard ORCA2 vertical grid this led to the following values:
205$h_{sur} = 4762.96$, $h_0 = 255.58, h_1 = 245.5813$, and $h_{th} = 21.43336$.
206The resulting depths and scale factors as a function of the model levels are shown in
207\autoref{fig:DOMCFG_zgr} and given in \autoref{tab:DOMCFG_orca_zgr}.
208Those values correspond to the parameters \np{ppsur}{ppsur}, \np{ppa0}{ppa0}, \np{ppa1}{ppa1}, \np{ppkth}{ppkth} in \nam{cfg}{cfg} namelist.
209
210Rather than entering parameters $h_{sur}$, $h_0$, and $h_1$ directly, it is possible to
211recalculate them.  In that case the user sets \np{ppsur}{ppsur}~$=$~\np{ppa0}{ppa0}~$=$~\np{ppa1}{ppa1}~$=
212999999$., in \nam{cfg}{cfg} namelist, and specifies instead the four following parameters:
213\begin{itemize}
214\item
215  \np{ppacr}{ppacr}~$= h_{cr}$: stretching factor (nondimensional).
216  The larger \np{ppacr}{ppacr}, the smaller the stretching.
217  Values from $3$ to $10$ are usual.
218\item
219  \np{ppkth}{ppkth}~$= h_{th}$: is approximately the model level at which maximum stretching occurs
220  (nondimensional, usually of order 1/2 or 2/3 of \jp{jpk})
221\item
222  \np{ppdzmin}{ppdzmin}: minimum thickness for the top layer (in meters).
223\item
224  \np{pphmax}{pphmax}: total depth of the ocean (meters).
225\end{itemize}
226
227As an example, for the $45$ layers used in the DRAKKAR configuration those parameters are:
228\jp{jpk}~$= 46$, \np{ppacr}{ppacr}~$= 9$, \np{ppkth}{ppkth}~$= 23.563$, \np{ppdzmin}{ppdzmin}~$= 6~m$,
229\np{pphmax}{pphmax}~$= 5750~m$.
230
231%% %>>>>>>>>>>>>>>>>>>>>>>>>>>>>
232\begin{table}
233  \centering
234  \begin{tabular}{c||r|r|r|r}
235    \hline
236    \textbf{LEVEL} & \textbf{gdept\_1d} & \textbf{gdepw\_1d} & \textbf{e3t\_1d } & \textbf{e3w\_1d} \\
237    \hline
238    1              & \textbf{     5.00} &               0.00 & \textbf{   10.00} &            10.00 \\
239    \hline
240    2              & \textbf{    15.00} &              10.00 & \textbf{   10.00} &            10.00 \\
241    \hline
242    3              & \textbf{    25.00} &              20.00 & \textbf{   10.00} &            10.00 \\
243    \hline
244    4              & \textbf{    35.01} &              30.00 & \textbf{   10.01} &            10.00 \\
245    \hline
246    5              & \textbf{    45.01} &              40.01 & \textbf{   10.01} &            10.01 \\
247    \hline
248    6              & \textbf{    55.03} &              50.02 & \textbf{   10.02} &            10.02 \\
249    \hline
250    7              & \textbf{    65.06} &              60.04 & \textbf{   10.04} &            10.03 \\
251    \hline
252    8              & \textbf{    75.13} &              70.09 & \textbf{   10.09} &            10.06 \\
253    \hline
254    9              & \textbf{    85.25} &              80.18 & \textbf{   10.17} &            10.12 \\
255    \hline
256    10             & \textbf{    95.49} &              90.35 & \textbf{   10.33} &            10.24 \\
257    \hline
258    11             & \textbf{   105.97} &             100.69 & \textbf{   10.65} &            10.47 \\
259    \hline
260    12             & \textbf{   116.90} &             111.36 & \textbf{   11.27} &            10.91 \\
261    \hline
262    13             & \textbf{   128.70} &             122.65 & \textbf{   12.47} &            11.77 \\
263    \hline
264    14             & \textbf{   142.20} &             135.16 & \textbf{   14.78} &            13.43 \\
265    \hline
266    15             & \textbf{   158.96} &             150.03 & \textbf{   19.23} &            16.65 \\
267    \hline
268    16             & \textbf{   181.96} &             169.42 & \textbf{   27.66} &            22.78 \\
269    \hline
270    17             & \textbf{   216.65} &             197.37 & \textbf{   43.26} &            34.30 \\
271    \hline
272    18             & \textbf{   272.48} &             241.13 & \textbf{   70.88} &            55.21 \\
273    \hline
274    19             & \textbf{   364.30} &             312.74 & \textbf{  116.11} &            90.99 \\
275    \hline
276    20             & \textbf{   511.53} &             429.72 & \textbf{  181.55} &           146.43 \\
277    \hline
278    21             & \textbf{   732.20} &             611.89 & \textbf{  261.03} &           220.35 \\
279    \hline
280    22             & \textbf{  1033.22} &             872.87 & \textbf{  339.39} &           301.42 \\
281    \hline
282    23             & \textbf{  1405.70} &            1211.59 & \textbf{  402.26} &           373.31 \\
283    \hline
284    24             & \textbf{  1830.89} &            1612.98 & \textbf{  444.87} &           426.00 \\
285    \hline
286    25             & \textbf{  2289.77} &            2057.13 & \textbf{  470.55} &           459.47 \\
287    \hline
288    26             & \textbf{  2768.24} &            2527.22 & \textbf{  484.95} &           478.83 \\
289    \hline
290    27             & \textbf{  3257.48} &            3011.90 & \textbf{  492.70} &           489.44 \\
291    \hline
292    28             & \textbf{  3752.44} &            3504.46 & \textbf{  496.78} &           495.07 \\
293    \hline
294    29             & \textbf{  4250.40} &            4001.16 & \textbf{  498.90} &           498.02 \\
295    \hline
296    30             & \textbf{  4749.91} &            4500.02 & \textbf{  500.00} &           499.54 \\
297    \hline
298    31             & \textbf{  5250.23} &            5000.00 & \textbf{  500.56} &           500.33 \\
299    \hline
300  \end{tabular}
301  \caption[Default vertical mesh in $z$-coordinate for 30 layers ORCA2 configuration]{
302    Default vertical mesh in $z$-coordinate for 30 layers ORCA2 configuration as
303    computed from \autoref{eq:DOMCFG_zgr_ana_2} using
304    the coefficients given in \autoref{eq:DOMCFG_zgr_coef}}
305  \label{tab:DOMCFG_orca_zgr}
306\end{table}
307%%%YY
308%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
309%% % -------------------------------------------------------------------------------------------------------------
310%% %        Meter Bathymetry
311%% % -------------------------------------------------------------------------------------------------------------
312\subsection{Model bathymetry}
313\label{subsec:DOMCFG_bathy}
314
315Three options are possible for defining the bathymetry, according to the namelist variable
316\np{nn_bathy}{nn\_bathy} (found in \nam{dom}{dom} namelist (\texttt{DOMAINCFG} variant) ):
317\begin{description}
318\item[{\np[=0]{nn_bathy}{nn\_bathy}}]:
319  a flat-bottom domain is defined.
320  The total depth $z_w (jpk)$ is given by the coordinate transformation.
321  The domain can either be a closed basin or a periodic channel depending on the parameter \np{jperio}{jperio}.
322\item[{\np[=-1]{nn_bathy}{nn\_bathy}}]:
323  a domain with a bump of topography one third of the domain width at the central latitude.
324  This is meant for the "EEL-R5" configuration, a periodic or open boundary channel with a seamount.
325\item[{\np[=1]{nn_bathy}{nn\_bathy}}]:
326  read a bathymetry and ice shelf draft (if needed).
327  The \ifile{bathy\_meter} file (Netcdf format) provides the ocean depth (positive, in meters) at
328  each grid point of the model grid.
329  The bathymetry is usually built by interpolating a standard bathymetry product (\eg\ ETOPO2) onto
330  the horizontal ocean mesh.
331  Defining the bathymetry also defines the coastline: where the bathymetry is zero,
332  no wet levels are defined (all levels are masked).
333
334  The \ifile{isfdraft\_meter} file (Netcdf format) provides the ice shelf draft (positive, in meters) at
335  each grid point of the model grid.
336  This file is only needed if \np[=.true.]{ln_isfcav}{ln\_isfcav}.
337  Defining the ice shelf draft will also define the ice shelf edge and the grounding line position.
338\end{description}
339
340\subsection{Choice of vertical grid}
341\label{sec:DOMCFG_vgrd}
342
343After reading the bathymetry, the algorithm for vertical grid definition differs between the different options:
344\begin{description}
345\item[\forcode{ln_zco = .true.}]
346  set a reference coordinate transformation $z_0(k)$, and set $z(i,j,k,t) = z_0(k)$ where $z_0(k)$ is the closest match to the depth at $(i,j)$.
347\item[\forcode{ln_zps = .true.}]
348  set a reference coordinate transformation $z_0(k)$, and calculate the thickness of the deepest level at
349  each $(i,j)$ point using the bathymetry, to obtain the final three-dimensional depth and scale factor arrays.
350\item[\forcode{ln_sco = .true.}]
351  smooth the bathymetry to fulfill the hydrostatic consistency criteria and
352  set the three-dimensional transformation.
353\item[\forcode{s-z and s-zps}]
354  smooth the bathymetry to fulfill the hydrostatic consistency criteria and
355  set the three-dimensional transformation $z(i,j,k)$,
356  and possibly introduce masking of extra land points to better fit the original bathymetry file.
357\end{description}
358%%%
359
360% -------------------------------------------------------------------------------------------------------------
361%        z-coordinate with constant thickness
362% -------------------------------------------------------------------------------------------------------------
363\subsubsection[$Z$-coordinate with uniform thickness levels (\forcode{ln_zco})]{$Z$-coordinate with uniform thickness levels (\protect\np{ln_zco}{ln\_zco})}
364\label{subsec:DOMCFG_zco}
365
366With this option the model topography can be fully described by the reference vertical
367coordinate and a 2D integer field giving the number of wet levels at each location
368(\forcode{bathy_level}). The resulting match to the real topography is likely to be poor
369though (especially with thick, deep levels) and slopes poorly represented. This option is
370rarely used in modern simulations but it can be useful for testing purposes.
371
372% -------------------------------------------------------------------------------------------------------------
373%        z-coordinate with partial step
374% -------------------------------------------------------------------------------------------------------------
375\subsubsection[$Z$-coordinate with partial step (\forcode{ln_zps})]{$Z$-coordinate with partial step (\protect\np{ln_zps}{ln\_zps})}
376\label{subsec:DOMCFG_zps}
377
378In $z$-coordinate partial step, the depths of the model levels are defined by the
379reference analytical function $z_0(k)$ as described in \autoref{sec:DOMCFG_zref},
380\textit{except} in the bottom layer.  The thickness of the bottom layer is allowed to vary
381as a function of geographical location $(\lambda,\varphi)$ to allow a better
382representation of the bathymetry, especially in the case of small slopes (where the
383bathymetry varies by less than one level thickness from one grid point to the next).  The
384reference layer thicknesses $e_{3t}^0$ have been defined in the absence of bathymetry.
385With partial steps, layers from 1 to \jp{jpk}-2 can have a thickness smaller than
386$e_{3t}(jk)$.
387
388The model deepest layer (\jp{jpk}-1) is allowed to have either a smaller or larger
389thickness than $e_{3t}(jpk)$: the maximum thickness allowed is $2*e_{3t}(jpk - 1)$.
390
391This has to be kept in mind when specifying values in \nam{dom}{dom} namelist
392(\texttt{DOMAINCFG} variant), such as the maximum depth \np{pphmax}{pphmax} in partial steps.
393
394For example, with \np{pphmax}{pphmax}~$= 5750~m$ for the DRAKKAR 45 layer grid, the maximum ocean
395depth allowed is actually $6000~m$ (the default thickness $e_{3t}(jpk - 1)$ being
396$250~m$).  Two variables in the namdom namelist are used to define the partial step
397vertical grid.  The mimimum water thickness (in meters) allowed for a cell partially
398filled with bathymetry at level jk is the minimum of \np{rn_e3zps_min}{rn\_e3zps\_min} (thickness in
399meters, usually $20~m$) or $e_{3t}(jk)*$\np{rn_e3zps_rat}{rn\_e3zps\_rat} (a fraction, usually 10\%, of
400the default thickness $e_{3t}(jk)$).
401
402% -------------------------------------------------------------------------------------------------------------
403%        s-coordinate
404% -------------------------------------------------------------------------------------------------------------
405\subsubsection[$S$-coordinate (\forcode{ln_sco})]{$S$-coordinate (\protect\np{ln_sco}{ln\_sco})}
406\label{sec:DOMCFG_sco}
407%------------------------------------------nam_zgr_sco---------------------------------------------------
408%
409\begin{listing}
410  \nlst{namzgr_sco_domcfg}
411  \caption{\forcode{&namzgr_sco_domcfg}}
412  \label{lst:namzgr_sco_domcfg}
413\end{listing}
414%--------------------------------------------------------------------------------------------------------------
415Options are defined in \nam{zgr_sco}{zgr\_sco} (\texttt{DOMAINcfg} only).
416In $s$-coordinate (\np[=.true.]{ln_sco}{ln\_sco}), the depth and thickness of the model levels are defined from
417the product of a depth field and either a stretching function or its derivative, respectively:
418
419\begin{align*}
420  % \label{eq:DOMCFG_sco_ana}
421  z(k)   &= h(i,j) \; z_0 (k) \\
422  e_3(k) &= h(i,j) \; z_0'(k)
423\end{align*}
424
425where $h$ is the depth of the last $w$-level ($z_0(k)$) defined at the $t$-point location in the horizontal and
426$z_0(k)$ is a function which varies from $0$ at the sea surface to $1$ at the ocean bottom.
427The depth field $h$ is not necessary the ocean depth,
428since a mixed step-like and bottom-following representation of the topography can be used
429(\autoref{fig:DOM_z_zps_s_sps}) or an envelop bathymetry can be defined (\autoref{fig:DOM_z_zps_s_sps}).
430The namelist parameter \np{rn_rmax}{rn\_rmax} determines the slope at which
431the terrain-following coordinate intersects the sea bed and becomes a pseudo z-coordinate.
432The coordinate can also be hybridised by specifying \np{rn_sbot_min}{rn\_sbot\_min} and \np{rn_sbot_max}{rn\_sbot\_max} as
433the minimum and maximum depths at which the terrain-following vertical coordinate is calculated.
434
435Options for stretching the coordinate are provided as examples,
436but care must be taken to ensure that the vertical stretch used is appropriate for the application.
437
438The original default \NEMO\ s-coordinate stretching is available if neither of the other options are specified as true
439(\np[=.false.]{ln_s_SH94}{ln\_s\_SH94} and \np[=.false.]{ln_s_SF12}{ln\_s\_SF12}).
440This uses a depth independent $\tanh$ function for the stretching \citep{madec.delecluse.ea_JPO96}:
441
442\[
443  z = s_{min} + C (s) (H - s_{min})
444  % \label{eq:DOMCFG_SH94_1}
445\]
446
447where $s_{min}$ is the depth at which the $s$-coordinate stretching starts and
448allows a $z$-coordinate to placed on top of the stretched coordinate,
449and $z$ is the depth (negative down from the asea surface).
450\begin{gather*}
451  s = - \frac{k}{n - 1} \quad \text{and} \quad 0 \leq k \leq n - 1
452  % \label{eq:DOMCFG_s}
453 \\
454 \label{eq:DOMCFG_sco_function}
455  C(s) = \frac{[\tanh(\theta \, (s + b)) - \tanh(\theta \, b)]}{2 \; \sinh(\theta)}
456\end{gather*}
457
458A stretching function,
459modified from the commonly used \citet{song.haidvogel_JCP94} stretching (\np[=.true.]{ln_s_SH94}{ln\_s\_SH94}),
460is also available and is more commonly used for shelf seas modelling:
461
462\[
463  C(s) =   (1 - b) \frac{\sinh(\theta s)}{\sinh(\theta)}
464         + b       \frac{\tanh \lt[ \theta \lt(s + \frac{1}{2} \rt) \rt] -   \tanh \lt( \frac{\theta}{2} \rt)}
465                        {                                                  2 \tanh \lt( \frac{\theta}{2} \rt)}
466 \label{eq:DOMCFG_SH94_2}
467\]
468
469%% %>>>>>>>>>>>>>>>>>>>>>>>>>>>>
470\begin{figure}[!ht]
471  \centering
472  \includegraphics[width=0.66\textwidth]{Fig_sco_function}
473  \caption[DOMAINcfg: examples of the stretching function applied to a seamount]{
474    Examples of the stretching function applied to a seamount;
475    from left to right: surface, surface and bottom, and bottom intensified resolutions}
476  \label{fig:DOMCFG_sco_function}
477\end{figure}
478%% %>>>>>>>>>>>>>>>>>>>>>>>>>>>>
479
480where $H_c$ is the critical depth (\np{rn_hc}{rn\_hc}) at which the coordinate transitions from pure $\sigma$ to
481the stretched coordinate, and $\theta$ (\np{rn_theta}{rn\_theta}) and $b$ (\np{rn_bb}{rn\_bb}) are the surface and
482bottom control parameters such that $0 \leqslant \theta \leqslant 20$, and $0 \leqslant b \leqslant 1$.
483$b$ has been designed to allow surface and/or bottom increase of the vertical resolution
484(\autoref{fig:DOMCFG_sco_function}).
485
486Another example has been provided at version 3.5 (\np{ln_s_SF12}{ln\_s\_SF12}) that allows a fixed surface resolution in
487an analytical terrain-following stretching \citet{siddorn.furner_OM13}.
488In this case the a stretching function $\gamma$ is defined such that:
489
490\begin{equation}
491  z = - \gamma h \quad \text{with} \quad 0 \leq \gamma \leq 1
492  % \label{eq:DOMCFG_z}
493\end{equation}
494
495The function is defined with respect to $\sigma$, the unstretched terrain-following coordinate:
496
497\begin{gather*}
498  % \label{eq:DOMCFG_gamma_deriv}
499  \gamma =   A \lt( \sigma   - \frac{1}{2} (\sigma^2     + f (\sigma)) \rt)
500           + B \lt( \sigma^3 - f           (\sigma) \rt) + f (\sigma)       \\
501  \intertext{Where:}
502 \label{eq:DOMCFG_gamma}
503  f(\sigma) = (\alpha + 2) \sigma^{\alpha + 1} - (\alpha + 1) \sigma^{\alpha + 2}
504  \quad \text{and} \quad \sigma = \frac{k}{n - 1}
505\end{gather*}
506
507This gives an analytical stretching of $\sigma$ that is solvable in $A$ and $B$ as a function of
508the user prescribed stretching parameter $\alpha$ (\np{rn_alpha}{rn\_alpha}) that stretches towards
509the surface ($\alpha > 1.0$) or the bottom ($\alpha < 1.0$) and
510user prescribed surface (\np{rn_zs}{rn\_zs}) and bottom depths.
511The bottom cell depth in this example is given as a function of water depth:
512
513\[
514  % \label{eq:DOMCFG_zb}
515  Z_b = h a + b
516\]
517
518where the namelist parameters \np{rn_zb_a}{rn\_zb\_a} and \np{rn_zb_b}{rn\_zb\_b} are $a$ and $b$ respectively.
519
520%% %>>>>>>>>>>>>>>>>>>>>>>>>>>>>
521\begin{figure}[!ht]
522  \centering
523  \includegraphics[width=0.66\textwidth]{Fig_DOM_compare_coordinates_surface}
524  \caption[DOMAINcfg: comparison of $s$- and $z$-coordinate]{
525    A comparison of the \citet{song.haidvogel_JCP94} $S$-coordinate (solid lines),
526    a 50 level $Z$-coordinate (contoured surfaces) and
527    the \citet{siddorn.furner_OM13} $S$-coordinate (dashed lines) in the surface $100~m$ for
528    a idealised bathymetry that goes from $50~m$ to $5500~m$ depth.
529    For clarity every third coordinate surface is shown.}
530  \label{fig:DOMCFG_fig_compare_coordinates_surface}
531\end{figure}
532 % >>>>>>>>>>>>>>>>>>>>>>>>>>>>
533
534This gives a smooth analytical stretching in computational space that is constrained to
535given specified surface and bottom grid cell thicknesses in real space.
536This is not to be confused with the hybrid schemes that
537superimpose geopotential coordinates on terrain following coordinates thus
538creating a non-analytical vertical coordinate that
539therefore may suffer from large gradients in the vertical resolutions.
540This stretching is less straightforward to implement than the \citet{song.haidvogel_JCP94} stretching,
541but has the advantage of resolving diurnal processes in deep water and has generally flatter slopes.
542
543As with the \citet{song.haidvogel_JCP94} stretching the stretch is only applied at depths greater than
544the critical depth $h_c$.
545In this example two options are available in depths shallower than $h_c$,
546with pure sigma being applied if the \np{ln_sigcrit}{ln\_sigcrit} is true and pure z-coordinates if it is false
547(the z-coordinate being equal to the depths of the stretched coordinate at $h_c$).
548
549Minimising the horizontal slope of the vertical coordinate is important in terrain-following systems as
550large slopes lead to hydrostatic consistency.
551A hydrostatic consistency parameter diagnostic following \citet{haney_JPO91} has been implemented,
552and is output as part of the model mesh file at the start of the run.
553
554% -------------------------------------------------------------------------------------------------------------
555%        z*- or s*-coordinate
556% -------------------------------------------------------------------------------------------------------------
557\subsubsection[\zstar- or \sstar-coordinate (\forcode{ln_linssh})]{\zstar- or \sstar-coordinate (\protect\np{ln_linssh}{ln\_linssh})}
558\label{subsec:DOMCFG_zgr_star}
559
560This option is described in the Report by Levier \textit{et al.} (2007), available on the \NEMO\ web site.
561
562\onlyinsubfile{\bibliography{../main/bibliography}}
563
564\onlyinsubfile{\printindex}
565
566\end{document}
Note: See TracBrowser for help on using the repository browser.