Changeset 14644 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles
- Timestamp:
- 2021-03-26T15:33:49+01:00 (3 years ago)
- Location:
- NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
- Files:
-
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette _wave@13990sette11 ^/utils/CI/sette@14244 sette
-
- Property svn:externals
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles
- Property svn:ignore
-
old new 1 *.aux 2 *.bbl 3 *.blg 4 *.fdb* 5 *.fls 6 *.idx 7 *.ilg 1 8 *.ind 2 *.ilg 9 *.lo* 10 *.out 11 *.pdf 12 *.pyg 13 *.tdo 14 *.toc 15 *.xdv 16 cache*
-
- Property svn:ignore
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_DOMAINcfg.tex
r14200 r14644 6 6 \label{apdx:DOMCFG} 7 7 8 % {\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 } \\9 10 \thispagestyle{plain}11 12 8 \chaptertoc 13 9 … … 16 12 {\footnotesize 17 13 \begin{tabularx}{\textwidth}{l||X|X} 18 Release & Author(s) & Modifications\\19 \hline 20 {\em 4.0} & {\em ...} & {\em ...} \\21 {\em 3.6} & {\em ...} & {\em ...} \\22 {\em 3.4} & {\em ...} & {\em ...} \\23 {\em <=3.4} & {\em ...} & {\em ...}14 Release & Author(s) & Modifications \\ 15 \hline 16 {\em next} & {\em Pierre Mathiot} & {\em Add ice shelf and closed sea option description } \\ 17 {\em 4.0} & {\em Andrew Coward} & {\em Creation from materials removed from \autoref{chap:DOM} 18 that are still relevant to the DOMAINcfg tool 19 when setting up new domains } 24 20 \end{tabularx} 25 21 } … … 46 42 47 43 \begin{listing} 48 % \nlst{namdom_domcfg}49 44 \begin{forlines} 50 45 !----------------------------------------------------------------------- … … 91 86 \item [{\np{jphgr_mesh}{jphgr\_mesh}=0}] The most general curvilinear orthogonal grids. 92 87 The coordinates and their first derivatives with respect to $i$ and $j$ are provided 93 in a input file (\ ifile{coordinates}), read in \rou{hgr\_read} subroutine of the domhgr module.88 in a input file (\textit{coordinates.nc}), read in \rou{hgr\_read} subroutine of the domhgr module. 94 89 This is now the only option available within \NEMO\ itself from v4.0 onwards. 95 90 \item [{\np{jphgr_mesh}{jphgr\_mesh}=1 to 5}] A few simple analytical grids are provided (see below). … … 156 151 The reference coordinate transformation $z_0(k)$ defines the arrays $gdept_0$ and 157 152 $gdepw_0$ for $t$- and $w$-points, respectively. See \autoref{sec:DOMCFG_sco} for the 158 S-coordinate options. As indicated on \autoref{fig:DOM_index_vert} \ jp{jpk} is the number of159 $w$-levels. $gdepw_0(1)$ is the ocean surface. There are at most \ jp{jpk}-1 $t$-points153 S-coordinate options. As indicated on \autoref{fig:DOM_index_vert} \texttt{jpk} is the number of 154 $w$-levels. $gdepw_0(1)$ is the ocean surface. There are at most \texttt{jpk}-1 $t$-points 160 155 inside the ocean, the additional $t$-point at $jk = jpk$ is below the sea floor and is not 161 156 used. The vertical location of $w$- and $t$-levels is defined from the analytic … … 167 162 168 163 It is possible to define a simple regular vertical grid by giving zero stretching 169 (\np[=0]{ppacr}{ppacr}). In that case, the parameters \ jp{jpk} (number of $w$-levels)164 (\np[=0]{ppacr}{ppacr}). In that case, the parameters \texttt{jpk} (number of $w$-levels) 170 165 and \np{pphmax}{pphmax} (total ocean depth in meters) fully define the grid. 171 166 … … 179 174 \end{gather} 180 175 181 where $k = 1$ to \ jp{jpk} for $w$-levels and $k = 1$ to $k = 1$ for $t-$levels. Such an176 where $k = 1$ to \texttt{jpk} for $w$-levels and $k = 1$ to $k = 1$ for $t-$levels. Such an 182 177 expression allows us to define a nearly uniform vertical location of levels at the ocean 183 178 top and bottom with a smooth hyperbolic tangent transition in between (\autoref{fig:DOMCFG_zgr}). … … 227 222 \end{equation} 228 223 229 With the choice of the stretching $h_{cr} = 3$ and the number of levels \ jp{jpk}~$= 31$,224 With the choice of the stretching $h_{cr} = 3$ and the number of levels \texttt{jpk}~$= 31$, 230 225 the four coefficients $h_{sur}$, $h_0$, $h_1$, and $h_{th}$ in 231 226 \autoref{eq:DOMCFG_zgr_ana_2} have been determined such that \autoref{eq:DOMCFG_zgr_coef} … … 245 240 Values from $3$ to $10$ are usual. 246 241 \item \np{ppkth}{ppkth}~$= h_{th}$: is approximately the model level at which maximum stretching occurs 247 (nondimensional, usually of order 1/2 or 2/3 of \ jp{jpk})242 (nondimensional, usually of order 1/2 or 2/3 of \texttt{jpk}) 248 243 \item \np{ppdzmin}{ppdzmin}: minimum thickness for the top layer (in meters). 249 244 \item \np{pphmax}{pphmax}: total depth of the ocean (meters). … … 251 246 252 247 As an example, for the $45$ layers used in the DRAKKAR configuration those parameters are: 253 \ jp{jpk}~$= 46$, \np{ppacr}{ppacr}~$= 9$, \np{ppkth}{ppkth}~$= 23.563$, \np{ppdzmin}{ppdzmin}~$= 6~m$,248 \texttt{jpk}~$= 46$, \np{ppacr}{ppacr}~$= 9$, \np{ppkth}{ppkth}~$= 23.563$, \np{ppdzmin}{ppdzmin}~$= 6~m$, 254 249 \np{pphmax}{pphmax}~$= 5750~m$. 255 250 … … 346 341 This is meant for the "EEL-R5" configuration, a periodic or open boundary channel with a seamount. 347 342 \item [{\np[=1]{nn_bathy}{nn\_bathy}}]: read a bathymetry and ice shelf draft (if needed). 348 The \ ifile{bathy\_meter} file (Netcdf format) provides the ocean depth (positive, in meters) at343 The \textit{bathy\_meter.nc} file (Netcdf format) provides the ocean depth (positive, in meters) at 349 344 each grid point of the model grid. 350 345 The bathymetry is usually built by interpolating a standard bathymetry product (\eg\ ETOPO2) onto … … 352 347 Defining the bathymetry also defines the coastline: where the bathymetry is zero, 353 348 no wet levels are defined (all levels are masked). 354 355 The \ifile{isfdraft\_meter} file (Netcdf format) provides the ice shelf draft (positive, in meters) at356 each grid point of the model grid.357 This file is only needed if \np[=.true.]{ln_isfcav}{ln\_isfcav}.358 Defining the ice shelf draft will also define the ice shelf edge and the grounding line position.359 349 \end{description} 360 350 … … 396 386 bathymetry varies by less than one level thickness from one grid point to the next). The 397 387 reference layer thicknesses $e_{3t}^0$ have been defined in the absence of bathymetry. 398 With partial steps, layers from 1 to \ jp{jpk}-2can have a thickness smaller than388 With partial steps, layers from 1 to \texttt{jpk-2} can have a thickness smaller than 399 389 $e_{3t}(jk)$. 400 390 401 The model deepest layer (\ jp{jpk}-1) is allowed to have either a smaller or larger391 The model deepest layer (\texttt{jpk-1}) is allowed to have either a smaller or larger 402 392 thickness than $e_{3t}(jpk)$: the maximum thickness allowed is $2*e_{3t}(jpk - 1)$. 403 393 … … 418 408 419 409 \begin{listing} 420 % \nlst{namzgr_sco_domcfg}421 410 \caption{\forcode{&namzgr_sco_domcfg}} 422 411 \label{lst:namzgr_sco_domcfg} … … 592 581 This option is described in the Report by Levier \textit{et al.} (2007), available on the \NEMO\ web site. 593 582 583 \section{Ice shelf cavity definition} 584 \label{subsec:zgrisf} 585 586 If the under ice shelf seas are opened (\np{ln_isfcav}{ln\_isfcav}), the depth of the ice shelf/ocean interface has to be include in 587 the \textit{isfdraft\_meter} file (Netcdf format). This file need to include the \textit{isf\_draft} variable. 588 A positive value will mean ice shelf/ocean or ice shelf bedrock interface below the reference 0m ssh. 589 The exact shape of the ice shelf cavity (grounding line position and minimum thickness of the water column under an ice shelf, ...) can be specify in \nam{zgr_isf}{zgr\_isf}. 590 591 \begin{listing} 592 \caption{\forcode{&namzgr_isf}} 593 \label{lst:namzgr_isf} 594 \begin{forlines} 595 !----------------------------------------------------------------------- 596 &namzgr_isf ! isf cavity geometry definition (default: OFF) 597 !----------------------------------------------------------------------- 598 rn_isfdep_min = 10. ! minimum isf draft tickness (if lower, isf draft set to this value) 599 rn_glhw_min = 1.e-3 ! minimum water column thickness to define the grounding line 600 rn_isfhw_min = 10 ! minimum water column thickness in the cavity once the grounding line defined. 601 ln_isfchannel = .false. ! remove channel (based on 2d mask build from isfdraft-bathy) 602 ln_isfconnect = .false. ! force connection under the ice shelf (based on 2d mask build from isfdraft-bathy) 603 nn_kisfmax = 999 ! limiter in level on the previous condition. (if change larger than this number, get back to value before we enforce the connection) 604 rn_zisfmax = 7000. ! limiter in m on the previous condition. (if change larger than this number, get back to value before we enforce the connection) 605 ln_isfcheminey = .false. ! close cheminey 606 ln_isfsubgl = .false. ! remove subglacial lake created by the remapping process 607 rn_isfsubgllon = 0.0 ! longitude of the seed to determine the open ocean 608 rn_isfsubgllat = 0.0 ! latitude of the seed to determine the open ocean 609 / 610 \end{forlines} 611 \end{listing} 612 613 The options available to define the shape of the under ice shelf cavities are listed in \nam{zgr_isf}{zgr\_isf} (\texttt{DOMAINcfg} only, \autoref{lst:namzgr_isf}). 614 615 \subsection{Model ice shelf draft definition} 616 \label{subsec:zgrisf_isfd} 617 618 First of all, the tool make sure, the ice shelf draft ($h_{isf}$) is sensible and compatible with the bathymetry. 619 There are 3 compulsory steps to achieve this: 620 621 \begin{description} 622 \item{\np{rn_isfdep_min}{rn\_isfdep\_min}:} this is the minimum ice shelf draft. This is to make sure there is no ridiculous thin ice shelf. If \np{rn_isfdep_min}{rn\_isfdep\_min} is smaller than the surface level, \np{rn_isfdep_min}{rn\_isfdep\_min} is set to $e3t\_1d(1)$. 623 Where $h_{isf} < MAX(e3t\_1d(1),rn\_isfdep\_min)$, $h_{isf}$ is set to \np{rn_isfdep_min}{rn\_isfdep\_min}. 624 625 \item{\np{rn_glhw_min}{rn\_glhw\_min}:} This parameter is used to define the grounding line position. 626 Where the difference between the bathymetry and the ice shelf draft is smaller than \np{rn_glhw_min}{rn\_glhw\_min}, the cell are grounded (ie masked). 627 This step is needed to take into account possible small mismatch between ice shelf draft value and bathymetry value (sources are coming from different grid, different data processes, rounding error, ...). 628 629 \item{\np{rn_isfhw_min}{rn\_isfhw\_min}:} This parameter is the minimum water column thickness in the cavity. 630 Where the water column thickness is lower than \np{rn_isfhw_min}{rn\_isfhw\_min}, the ice shelf draft is adjusted to match this criterion. 631 If for any reason, this adjustement break the minimum ice shelf draft allowed (\np{rn_isfdep_min}{rn\_isfdep\_min}), the cell is masked. 632 \end{description} 633 634 Once all these adjustements are made, if the water column thickness contains one cell wide channels, these channels can be closed using \np{ln_isfchannel}{ln\_isfchannel}. 635 636 \subsection{Model top level definition} 637 After the definition of the ice shelf draft, the tool defines the top level. 638 The compulsory criterion is that the water column needs at least 2 wet cells in the water column at U- and V-points. 639 To do so, if there one cell wide water column, the tools adjust the ice shelf draft to fillful the requierement.\\ 640 641 The process is the following: 642 \begin{description} 643 \item{step 1:} The top level is defined in the same way as the bottom level is defined. 644 \item{step 2:} The isolated grid point in the bathymetry are filled (as it is done in a domain without ice shelf) 645 \item{step 3:} The tools make sure, the top level is above or equal to the bottom level 646 \item{step 4:} If the water column at a U- or V- point is one wet cell wide, the ice shelf draft is adjusted. So the actual top cell become fully open and the new 647 top cell thickness is set to the minimum cell thickness allowed (following the same logic as for the bottom partial cell). This step is iterated 4 times to ensure the condition is fullfill along the 4 sides of the cell. 648 \end{description} 649 650 In case of steep slope and shallow water column, it likely that 2 cells are disconnected (bathymetry above its neigbourging ice shelf draft). 651 The option \np{ln_isfconnect}{ln\_isfconnect} allow the tool to force the connection between these 2 cells. 652 Some limiters in meter or levels on the digging allowed by the tool are available (respectively, \np{rn_zisfmax}{rn\_zisfmax} or \np{rn_kisfmax}{rn\_kisfmax}). 653 This will prevent the formation of subglacial lakes at the expense of long vertical pipe to connect cells at very different levels. 654 655 \subsection{Subglacial lakes} 656 Despite careful setting of your ice shelf draft and bathymetry input file as well as setting described in \autoref{subsec:zgrisf_isfd}, some situation are unavoidable. 657 For exemple if you setup your ice shelf draft and bathymetry to do ocean/ice sheet coupling, 658 you may decide to fill the whole antarctic with a bathymetry and an ice shelf draft value (ice/bedrock interface depth when grounded). 659 If you do so, the subglacial lakes will show up (Vostock for example). An other possibility is with coarse vertical resolution, some ice shelves could be cut in 2 parts: 660 one connected to the main ocean and an other one closed which can be considered as a subglacial sea be the model.\\ 661 662 The namelist option \np{ln_isfsubgl}{ln\_isfsubgl} allow you to remove theses subglacial lakes. 663 This may be useful for esthetical reason or for stability reasons: 664 665 \begin{description} 666 \item $\bullet$ In a subglacial lakes, in case of very weak circulation (often the case), the only heat flux is the conductive heat flux through the ice sheet. 667 This will lead to constant freezing until water reaches -20C. 668 This is one of the defitiency of the 3 equation melt formulation (for details on this formulation, see: \autoref{sec:isf}). 669 \item $\bullet$ In case of coupling with an ice sheet model, 670 the ssh in the subglacial lakes and the main ocean could be very different (ssh initial adjustement for example), 671 and so if for any reason both a connected at some point, the model is likely to fall over.\\ 672 \end{description} 673 674 \section{Closed sea definition} 675 \label{sec:clocfg} 676 677 \begin{listing} 678 \caption{\forcode{&namclo}} 679 \label{lst:namdom_clo} 680 \begin{forlines} 681 !----------------------------------------------------------------------- 682 &namclo ! (closed sea : need ln_domclo = .true. in namcfg) 683 !----------------------------------------------------------------------- 684 rn_lon_opnsea = -2.0 ! longitude seed of open ocean 685 rn_lat_opnsea = -2.0 ! latitude seed of open ocean 686 nn_closea = 8 ! number of closed seas ( = 0; only the open_sea mask will be computed) 687 ! name ! lon_src ! lat_src ! lon_trg ! lat_trg ! river mouth area ! net evap/precip correction scheme ! radius tgt ! id trg 688 ! ! (degree)! (degree)! (degree)! (degree)! local/coast/global ! (glo/rnf/emp) ! (m) ! 689 ! North American lakes 690 sn_lake(1) = 'superior' , -86.57 , 47.30 , -66.49 , 50.45 , 'local' , 'rnf' , 550000.0 , 2 691 sn_lake(2) = 'michigan' , -87.06 , 42.74 , -66.49 , 50.45 , 'local' , 'rnf' , 550000.0 , 2 692 sn_lake(3) = 'huron' , -82.51 , 44.74 , -66.49 , 50.45 , 'local' , 'rnf' , 550000.0 , 2 693 sn_lake(4) = 'erie' , -81.13 , 42.25 , -66.49 , 50.45 , 'local' , 'rnf' , 550000.0 , 2 694 sn_lake(5) = 'ontario' , -77.72 , 43.62 , -66.49 , 50.45 , 'local' , 'rnf' , 550000.0 , 2 695 ! African Lake 696 sn_lake(6) = 'victoria' , 32.93 , -1.08 , 30.44 , 31.37 , 'coast' , 'emp' , 100000.0 , 3 697 ! Asian Lakes 698 sn_lake(7) = 'caspian' , 50.0 , 44.0 , 0.0 , 0.0 , 'global' , 'glo' , 0.0 , 1 699 sn_lake(8) = 'aral' , 60.0 , 45.0 , 0.0 , 0.0 , 'global' , 'glo' , 0.0 , 1 700 / 701 \end{forlines} 702 \end{listing} 703 704 The options available to define the closed seas and how closed sea net fresh water input will be redistributed by NEMO are listed in \nam{dom_clo}{dom\_clo} (\texttt{DOMAINcfg} only). 705 The individual definition of each closed sea is managed by \np{sn_lake}{sn\_lake}. In this fields the user needs to define:\\ 706 \begin{description} 707 \item $\bullet$ the name of the closed sea (print output purposes). 708 \item $\bullet$ the seed location to define the area of the closed sea (if seed on land because not present in this configuration, this closed sea will be ignored).\\ 709 \item $\bullet$ the seed location for the target area. 710 \item $\bullet$ the type of target area ('local','coast' or 'global'). See point 6 for definition of these cases. 711 \item $\bullet$ the type of redistribution scheme for the net fresh water flux over the closed sea (as a runoff in a target area, as emp in a target area, as emp globally). For the runoff case, if the net fwf is negative, it will be redistribut globally. 712 \item $\bullet$ the radius of the target area (not used for the 'global' case). So the target defined by a 'local' target area of a radius of 100km, for example, correspond to all the wet points within this radius. The coastal case will return only the coastal point within the specifid radius. 713 \item $\bullet$ the target id. This target id is used to group multiple lakes into the same river ouflow (Great Lakes for example). 714 \end{description} 715 716 The closed sea module defines a number of masks in the \textit{domain\_cfg} output: 717 \begin{description} 718 \item[\textit{mask\_opensea}:] a mask of the main ocean without all the closed seas closed. This mask is defined by a flood filling algorithm with an initial seed (localisation defined by \np{rn_lon_opnsea}{rn\_lon\_opnsea} and \np{rn_lat_opnsea}{rn\_lat\_opnsea}). 719 \item[\textit{mask\_csglo}, \textit{mask\_csrnf}, \textit{mask\_csemp}:] a mask of all the closed seas defined in the namelist by \np{sn_lake}{sn\_lake} for each redistribution scheme. The total number of defined closed seas has to be defined in \np{nn_closea}{nn\_closea}. 720 \item[\textit{mask\_csgrpglo}, \textit{mask\_csgrprnf}, \textit{mask\_csgrpemp}:] a mask of all the closed seas and targets grouped by target id for each type of redistribution scheme. 721 \item[\textit{mask\_csundef}:] a mask of all the closed sea not defined in \np{sn_lake}{sn\_lake}. This will allows NEMO to mask them if needed or to inform the user of potential minor issues in its bathymetry. 722 \end{description} 723 594 724 \subinc{\input{../../global/epilogue}} 595 725 -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_algos.tex
r11693 r14644 5 5 \chapter{Note on some algorithms} 6 6 \label{apdx:ALGOS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_diff_opers.tex
r11693 r14644 5 5 \chapter{Diffusive Operators} 6 6 \label{apdx:DIFFOPERS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_invariants.tex
r11693 r14644 5 5 \chapter{Discrete Invariants of the Equations} 6 6 \label{apdx:INVARIANTS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_s_coord.tex
r11693 r14644 8 8 % {\em 4.0} & {\em Mike Bell} & {\em review} \\ 9 9 % {\em 3.x} & {\em Gurvan Madec} & {\em original} \\ 10 11 \thispagestyle{plain}12 10 13 11 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_triads.tex
r14113 r14644 2 2 3 3 \begin{document} 4 5 %% Local cmds6 \newcommand{\rML}[1][i]{\ensuremath{_{\mathrm{ML}\,#1}}}7 \newcommand{\rMLt}[1][i]{\tilde{r}_{\mathrm{ML}\,#1}}8 %% Move to ../../global/new_cmds.tex to avoid error with \listoffigures9 %\newcommand{\triad}[6][]{\ensuremath{{}_{#2}^{#3}{\mathbb{#4}_{#1}}_{#5}^{\,#6}}10 \newcommand{\triadd}[5]{\ensuremath{{}_{#1}^{#2}{\mathbb{#3}}_{#4}^{\,#5}}}11 \newcommand{\triadt}[5]{\ensuremath{{}_{#1}^{#2}{\tilde{\mathbb{#3}}}_{#4}^{\,#5}}}12 \newcommand{\rtriad}[2][]{\ensuremath{\triad[#1]{i}{k}{#2}{i_p}{k_p}}}13 \newcommand{\rtriadt}[1]{\ensuremath{\triadt{i}{k}{#1}{i_p}{k_p}}}14 4 15 5 \chapter{Iso-Neutral Diffusion and Eddy Advection using Triads} 16 6 \label{apdx:TRIADS} 17 18 \thispagestyle{plain}19 7 20 8 \chaptertoc … … 36 24 37 25 %% ================================================================================================= 38 \section[Choice of \forcode{namtra \_ldf} namelist parameters]{Choice of \protect\nam{tra_ldf}{tra\_ldf} namelist parameters}26 \section[Choice of \forcode{namtra_ldf} namelist parameters]{Choice of \protect\nam{tra_ldf}{tra\_ldf} namelist parameters} 39 27 40 28 Two scheme are available to perform the iso-neutral diffusion. -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_ASM.tex
r11693 r14644 8 8 % {\em 4.0} & {\em D. J. Lea} & {\em \NEMO\ 4.0 updates} \\ 9 9 % {\em 3.4} & {\em D. J. Lea, M. Martin, K. Mogensen, A. Weaver} & {\em Initial version} \\ 10 11 \thispagestyle{plain}12 10 13 11 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_DIA.tex
r13970 r14644 11 11 % {\em 3.4} & {\em Gurvan Madec, Rachid Benshila, Andrew Coward } & {\em } \\ 12 12 % {\em } & {\em Christian Ethe, Sebastien Masson } & {\em } \\ 13 14 \thispagestyle{plain}15 13 16 14 \chaptertoc … … 666 664 \end{forlines} 667 665 668 \noindent will give the following file name radical: \ ifile{myfile\_ORCA2\_19891231\_freq1d}666 \noindent will give the following file name radical: \textit{myfile\_ORCA2\_19891231\_freq1d} 669 667 670 668 %% ================================================================================================= … … 1942 1940 When \np[=.true.]{ln_subbas}{ln\_subbas}, transports and stream function are computed for the Atlantic, Indian, 1943 1941 Pacific and Indo-Pacific Oceans (defined north of 30\deg{S}) as well as for the World Ocean. 1944 The sub-basin decomposition requires an input file (\ ifile{subbasins}) which contains three 2D mask arrays,1942 The sub-basin decomposition requires an input file (\textit{subbasins}) which contains three 2D mask arrays, 1945 1943 the Indo-Pacific mask been deduced from the sum of the Indian and Pacific mask (\autoref{fig:DIA_mask_subasins}). 1946 1944 1947 1945 \begin{listing} 1948 \nlst{namptr}1946 % \nlst{namptr} 1949 1947 \caption{\forcode{&namptr}} 1950 1948 \label{lst:namptr} -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_DIU.tex
r11693 r14644 5 5 \chapter{Diurnal SST Models (DIU)} 6 6 \label{chap:DIU} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 52 50 53 51 This namelist contains only two variables: 52 54 53 \begin{description} 55 54 \item [{\np{ln_diurnal}{ln\_diurnal}}] A logical switch for turning on/off both the cool skin and warm layer. -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_DOM.tex
r11693 r14644 14 14 % - domclo: closed sea and lakes.... 15 15 % management of closea sea area: specific to global cfg, both forced and coupled 16 17 \thispagestyle{plain}18 16 19 17 \chaptertoc … … 368 366 \label{subsec:DOM_size} 369 367 370 The total size of the computational domain is set by the parameters \ jp{jpiglo}, \jp{jpjglo} and371 \ jp{jpkglo} for the $i$, $j$ and $k$ directions, respectively.368 The total size of the computational domain is set by the parameters \texttt{jpiglo}, \texttt{jpjglo} and 369 \texttt{jpkglo} for the $i$, $j$ and $k$ directions, respectively. 372 370 Note, that the variables \texttt{jpi} and \texttt{jpj} refer to 373 371 the size of each processor subdomain when the code is run in parallel using domain decomposition … … 379 377 in which case \np{cn_cfg}{cn\_cfg} and \np{nn_cfg}{nn\_cfg} are set from these values accordingly). 380 378 381 The global lateral boundary condition type is selected from 8 options using parameter \jp{jperio}.379 The global lateral boundary condition type is selected from 8 options using parameters \texttt{l\_Iperio}, \texttt{l\_Jperio}, \texttt{l\_NFold} and \texttt{c\_NFtype}. 382 380 See \autoref{sec:LBC_jperio} for details on the available options and 383 the corresponding values for \ jp{jperio}.381 the corresponding values for \texttt{l\_Iperio}, \texttt{l\_Jperio}, \texttt{l\_NFold} and \texttt{c\_NFtype}. 384 382 385 383 %% ================================================================================================= … … 396 394 397 395 \begin{clines} 398 int jpiglo, jpjglo, jpkglo /* global domain sizes */ 399 int jperio /* lateral global domain b.c. */ 400 double glamt, glamu, glamv, glamf /* geographic longitude (t,u,v and f points respectively) */ 401 double gphit, gphiu, gphiv, gphif /* geographic latitude */ 402 double e1t, e1u, e1v, e1f /* horizontal scale factors */ 403 double e2t, e2u, e2v, e2f /* horizontal scale factors */ 396 integer Ni0glo, NjOglo, jpkglo /* global domain sizes (without MPI halos) */ 397 logical l\_Iperio, l\_Jperio /* lateral global domain b.c.: i- j-periodicity */ 398 logical l\_NFold /* lateral global domain b.c.: North Pole folding */ 399 char(1) c\_NFtype /* type of North pole Folding: T or F point */ 400 real glamt, glamu, glamv, glamf /* geographic longitude (t,u,v and f points respectively) */ 401 real gphit, gphiu, gphiv, gphif /* geographic latitude */ 402 real e1t, e1u, e1v, e1f /* horizontal scale factors */ 403 real e2t, e2u, e2v, e2f /* horizontal scale factors */ 404 404 \end{clines} 405 405 … … 465 465 \begin{enumerate} 466 466 \item the bathymetry given in meters; 467 \item the number of levels of the model (\ jp{jpk});467 \item the number of levels of the model (\texttt{jpk}); 468 468 \item the analytical transformation $z(i,j,k)$ and the vertical scale factors 469 469 (derivatives of the transformation); and … … 575 575 every gridcell in the model regardless of the choice of vertical coordinate. 576 576 With constant z-levels, e3 metrics will be uniform across each horizontal level. 577 In the partial step case each e3 at the \ jp{bottom\_level}578 (and, possibly, \ jp{top\_level} if ice cavities are present)577 In the partial step case each e3 at the \texttt{bottom\_level} 578 (and, possibly, \texttt{top\_level} if ice cavities are present) 579 579 may vary from its horizontal neighbours. 580 580 And, in s-coordinates, variations can occur throughout the water column. … … 585 585 those arising from a flat sea surface with zero elevation. 586 586 587 The \ jp{bottom\_level} and \jp{top\_level} 2D arrays define588 the \ jp{bottom\_level} and top wet levels in each grid column.589 Without ice cavities, \ jp{top\_level} is essentially a land mask (0 on land; 1 everywhere else).590 With ice cavities, \ jp{top\_level} determines the first wet point below the overlying ice shelf.587 The \texttt{bottom\_level} and \texttt{top\_level} 2D arrays define 588 the \texttt{bottom\_level} and top wet levels in each grid column. 589 Without ice cavities, \texttt{top\_level} is essentially a land mask (0 on land; 1 everywhere else). 590 With ice cavities, \texttt{top\_level} determines the first wet point below the overlying ice shelf. 591 591 592 592 %% ================================================================================================= … … 594 594 \label{subsec:DOM_msk} 595 595 596 From \ jp{top\_level} and \jp{bottom\_level} fields, the mask fields are defined as follows:596 From \texttt{top\_level} and \texttt{bottom\_level} fields, the mask fields are defined as follows: 597 597 \begin{align*} 598 598 tmask(i,j,k) &= -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_DYN.tex
r14200 r14644 5 5 \chapter{Ocean Dynamics (DYN)} 6 6 \label{chap:DYN} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_LBC.tex
r14200 r14644 5 5 \chapter{Lateral Boundary Condition (LBC)} 6 6 \label{chap:LBC} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 161 159 162 160 %% ================================================================================================= 163 \section [Model domain boundary condition (\forcode{jperio})]{Model domain boundary condition (\protect\jp{jperio})}161 \section{Model domain boundary condition} 164 162 \label{sec:LBC_jperio} 165 163 … … 170 168 171 169 %% ================================================================================================= 172 \subsection [Closed, cyclic (\forcode{=0,1,2,7})]{Closed, cyclic (\protect\jp{jperio}\forcode{=0,1,2,7})}170 \subsection{Closed, cyclic (\forcode{l_Iperio,l_jperio})} 173 171 \label{subsec:LBC_jperio012} 174 172 175 173 The choice of closed or cyclic model domain boundary condition is made by 176 setting \ jp{jperio} to 0, 1, 2 or 7in namelist \nam{cfg}{cfg}.174 setting \forcode{l_Iperio,l_jperio} to true or false in namelist \nam{cfg}{cfg}. 177 175 Each time such a boundary condition is needed, it is set by a call to routine \mdl{lbclnk}. 178 176 The computation of momentum and tracer trends proceeds from $i=2$ to $i=jpi-1$ and from $j=2$ to $j=jpj-1$, … … 183 181 \begin{description} 184 182 185 \item [For closed boundary (\ jp{jperio}\forcode{=0})], solid walls are imposed at all model boundaries:183 \item [For closed boundary (\forcode{l_Iperio = .false.,l_jperio = .false.})], solid walls are imposed at all model boundaries: 186 184 first and last rows and columns are set to zero. 187 185 188 \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 to186 \item [For cyclic east-west boundary (\forcode{l_Iperio = .true.,l_jperio = .false.})], first and last rows are set to zero (closed) whilst the first column is set to 189 187 the value of the last-but-one column and the last column to the value of the second one 190 188 (\autoref{fig:LBC_jperio}-a). 191 189 Whatever flows out of the eastern (western) end of the basin enters the western (eastern) end. 192 190 193 \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 to191 \item [For cyclic north-south boundary (\forcode{l_Iperio = .false.,l_jperio = .true.})], first and last columns are set to zero (closed) whilst the first row is set to 194 192 the value of the last-but-one row and the last row to the value of the second one 195 193 (\autoref{fig:LBC_jperio}-a). 196 194 Whatever flows out of the northern (southern) end of the basin enters the southern (northern) end. 197 195 198 \item [Bi-cyclic east-west and north-south boundary (\ jp{jperio}\forcode{=7})] combines cases 1 and 2.196 \item [Bi-cyclic east-west and north-south boundary (\forcode{l_Iperio = .true.,l_jperio = .true.})] combines cases 1 and 2. 199 197 200 198 \end{description} … … 209 207 210 208 %% ================================================================================================= 211 \subsection [North-fold (\forcode{=3,6})]{North-fold (\protect\jp{jperio}\forcode{=3,6})}209 \subsection{North-fold (\forcode{l_NFold = .true.})} 212 210 \label{subsec:LBC_north_fold} 213 211 … … 222 220 \includegraphics[width=0.66\textwidth]{LBC_North_Fold_T} 223 221 \caption[North fold boundary in ORCA 2\deg, 1/4\deg and 1/12\deg]{ 224 North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($ jperio=4$),222 North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($c\_NFtype='T'$), 225 223 as used in ORCA 2\deg, 1/4\deg and 1/12\deg. 226 224 Pink shaded area corresponds to the inner domain mask (see text).} … … 288 286 Each processor is independent and without message passing or synchronous process, programs run alone and access just its own local memory. 289 287 For this reason, 290 the main model dimensions are now the local dimensions of the subdomain (pencil) that are named \ jp{jpi}, \jp{jpj}, \jp{jpk}.288 the main model dimensions are now the local dimensions of the subdomain (pencil) that are named \texttt{jpi}, \texttt{jpj}, \texttt{jpk}. 291 289 These dimensions include the internal domain and the overlapping rows. 292 The number of rows to exchange (known as the halo) is usually set to one ( nn\_hls=1, in \mdl{par\_oce},290 The number of rows to exchange (known as the halo) is usually set to one (\forcode{nn_hls=1}, in \mdl{par\_oce}, 293 291 and must be kept to one until further notice). 294 The whole domain dimensions are named \ jp{jpiglo}, \jp{jpjglo} and \jp{jpk}.292 The whole domain dimensions are named \texttt{jpiglo}, \texttt{jpjglo} and \texttt{jpk}. 295 293 The relationship between the whole domain and a sub-domain is: 296 294 \begin{gather*} … … 299 297 \end{gather*} 300 298 301 One 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.299 One 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 \texttt{jpi} is now always equal to nlci and \texttt{jpj} equal to nlcj. 302 300 303 301 An element of $T_{l}$, a local array (subdomain) corresponds to an element of $T_{g}$, … … 309 307 with $1 \leq i \leq jpi$, $1 \leq j \leq jpj $ , and $1 \leq k \leq jpk$. 310 308 311 The 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).\\309 The 1-d arrays $mig(1:\texttt{jpi})$ and $mjg(1:\texttt{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:\texttt{jpiglo})$, $mi1(1:\texttt{jpiglo})$ and $mj0(1:\texttt{jpjglo})$, $mj1(1:\texttt{jpjglo})$ have the reverse purpose and should be used to define loop indices expressed in global domain indices (see examples in \mdl{dtastd} module).\\ 312 310 313 311 The \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: … … 372 370 The number of boundary sets is defined by \np{nb_bdy}{nb\_bdy}. 373 371 Each boundary set can be either defined as a series of straight line segments directly in the namelist 374 (\np[=.false.]{ln_coords_file}{ln\_coords\_file}, and a namelist block \forcode{&nambdy_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).375 The coordinates.bdy file is analagous to the usual \NEMO\ ``\ ifile{coordinates}'' file.372 (\np[=.false.]{ln_coords_file}{ln\_coords\_file}, and a namelist block \forcode{&nambdy_index} must be included for each set) or read in from a file (\np[=.true.]{ln_coords_file}{ln\_coords\_file}, and a ``\textit{coordinates.bdy.nc}'' file must be provided). 373 The coordinates.bdy file is analagous to the usual \NEMO\ ``\textit{coordinates.nc}'' file. 376 374 In the example above, there are two boundary sets, the first of which is defined via a file and 377 375 the second is defined in the namelist. … … 570 568 571 569 The boundary geometry for each set may be defined in a namelist \forcode{&nambdy_index} or 572 by reading in a ``\ ifile{coordinates.bdy}'' file.573 The \ texttt{nambdy\_index} namelist defines a series of straight-line segments for north, east, south and west boundaries.574 One \ texttt{nambdy\_index} namelist block is needed for each boundary condition defined by indexes.570 by reading in a ``\textit{coordinates.bdy.nc}'' file. 571 The \forcode{&nambdy_index} namelist defines a series of straight-line segments for north, east, south and west boundaries. 572 One \forcode{&nambdy_index} namelist block is needed for each boundary condition defined by indexes. 575 573 For the northern boundary, \texttt{nbdysegn} gives the number of segments, 576 \ jp{jpjnob} gives the $j$ index for each segment and \jp{jpindt} and577 \ jp{jpinft} give the start and end $i$ indices for each segment with similar for the other boundaries.574 \texttt{jpjnob} gives the $j$ index for each segment and \texttt{jpindt} and 575 \texttt{jpinft} give the start and end $i$ indices for each segment with similar for the other boundaries. 578 576 These segments define a list of $T$ grid points along the outermost row of the boundary ($nbr\,=\, 1$). 579 577 The code deduces the $U$ and $V$ points and also the points for $nbr\,>\, 1$ if \np[>1]{nn_rimwidth}{nn\_rimwidth}. 580 578 581 The boundary geometry may also be defined from a ``\ ifile{coordinates.bdy}'' file.579 The boundary geometry may also be defined from a ``\textit{coordinates.bdy.nc}'' file. 582 580 \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. 583 581 The file should contain the index arrays for each of the $T$, $U$ and $V$ grids. … … 633 631 \centering 634 632 \includegraphics[width=0.66\textwidth]{LBC_nc_header} 635 \caption[Header for a \ protect\ifile{coordinates.bdy} file]{636 Example of the header for a \ protect\ifile{coordinates.bdy} file}633 \caption[Header for a \textit{coordinates.bdy.nc} file]{ 634 Example of the header for a \textit{coordinates.bdy.nc} file} 637 635 \label{fig:LBC_nc_header} 638 636 \end{figure} … … 684 682 \texttt{<constituent>\_z1} and \texttt{<constituent>\_z2} for the real and imaginary parts of 685 683 SSH, respectively, are expected to be available in file 686 \ ifile{<input>\_grid\_T}, variables \texttt{<constituent>\_u1} and684 \textit{<input>\_grid\_T.nc}, variables \texttt{<constituent>\_u1} and 687 685 \texttt{<constituent>\_u2} for the real and imaginary parts of u, respectively, in file 688 \ ifile{<input>\_grid\_U}, and \texttt{<constituent>\_v1} and686 \textit{<input>\_grid\_U.nc}, and \texttt{<constituent>\_v1} and 689 687 \texttt{<constituent>\_v2} for the real and imaginary parts of v, respectively, in file 690 \ ifile{<input>\_grid\_V}; when data along open boundary segments is used,688 \textit{<input>\_grid\_V.nc}; when data along open boundary segments is used, 691 689 variables \texttt{z1} and \texttt{z2} (real and imaginary part of SSH) are 692 expected to be available in file \ ifile{<input><constituent>\_grid\_T},690 expected to be available in file \textit{<input><constituent>\_grid\_T.nc}, 693 691 variables \texttt{u1} and \texttt{u2} (real and imaginary part of u) in file 694 \ ifile{<input><constituent>\_grid\_U}, and variables \texttt{v1} and \texttt{v2}692 \textit{<input><constituent>\_grid\_U.nc}, and variables \texttt{v1} and \texttt{v2} 695 693 (real and imaginary part of v) in file 696 \ ifile{<input><constituent>\_grid\_V}.\par694 \textit{<input><constituent>\_grid\_V.nc}.\par 697 695 698 696 Note that the barotropic velocity components are assumed to be defined -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_LDF.tex
r14113 r14644 5 5 \chapter{Lateral Ocean Physics (LDF)} 6 6 \label{chap:LDF} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_OBS.tex
r14200 r14644 14 14 % {\em --\texttt{"}--} & {\em ... K. Mogensen, A. Vidard, A. Weaver} & {\em ---\texttt{"}---} \\ 15 15 %\end{tabular} 16 17 \thispagestyle{plain}18 16 19 17 \chaptertoc … … 420 418 421 419 To use Sea Level Anomaly (SLA) data the mean dynamic topography (MDT) must be provided in a separate file defined on 422 the model grid called \ ifile{slaReferenceLevel}.420 the model grid called \textit{slaReferenceLevel.nc}. 423 421 The MDT is required in order to produce the model equivalent sea level anomaly from the model sea surface height. 424 422 Below is an example header for this file (on the ORCA025 grid). … … 915 913 916 914 \begin{listing} 917 % \nlst{namsao}918 915 \begin{forlines} 919 916 !---------------------------------------------------------------------- -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_SBC.tex
r14200 r14644 5 5 \chapter{Surface Boundary Condition (SBC, SAS, ISF, ICB, TDE)} 6 6 \label{chap:SBC} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 17 15 \hline 18 16 {\em next} & {\em Simon M{\" u}ller} & {\em Update of \autoref{sec:SBC_TDE}; revision of \autoref{subsec:SBC_fwb}}\\[2mm] 17 {\em next} & {\em Pierre Mathiot} & {\em update of the ice shelf section (2019 developments)}\\[2mm] 19 18 {\em 4.0} & {\em ...} & {\em ...} \\ 20 19 {\em 3.6} & {\em ...} & {\em ...} \\ … … 74 73 (\np[=0..3]{nn_ice}{nn\_ice}), 75 74 \item the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np[=.true.]{ln_rnf}{ln\_rnf}), 76 \item the addition of ice-shelf melting as lateral inflow (parameterisation) or77 as fluxes applied at the land-ice ocean interface (\np[=.true.]{ln_isf}{ln\_isf}),78 75 \item the addition of a freshwater flux adjustment in order to avoid a mean sea-level drift 79 76 (\np[=0..2]{nn_fwb}{nn\_fwb}), … … 99 96 One of these is modification by icebergs (see \autoref{sec:SBC_ICB_icebergs}), 100 97 which act as drifting sources of fresh water. 101 Another example of modification is that due to the ice shelf melting/freezing (see \autoref{sec:SBC_isf}),102 which provides additional sources of fresh water.103 98 104 99 %% ================================================================================================= … … 646 641 parameters. It is therefore recommended to chose version 3.6 over 3. 647 642 648 \subsection {Cool-skin and warm-layer parametrizations}649 %\subsection[Cool-skin and warm-layer parameterizations (\forcode{ln_skin_cs} \& \forcode{ln_skin_wl})]{Cool-skin and warm-layer parameterizations (\protect\np{ln_skin_cs}{ln\_skin\_cs} \&\np{ln_skin_wl}{ln\_skin\_wl})}643 \subsection[Cool-skin and warm-layer parameterizations ( \forcode{ln_skin_cs} \& \forcode{ln_skin_wl} )] 644 {Cool-skin and warm-layer parameterizations (\protect\np{ln_skin_cs}{ln\_skin\_cs} \& \np{ln_skin_wl}{ln\_skin\_wl})} 650 645 \label{subsec:SBC_skin} 651 646 … … 979 974 ocean tide model}: Mf, Mm, Ssa, Mtm, Msf, Msqm, Sa, K1, O1, P1, Q1, J1, S1, 980 975 M2, S2, N2, K2, nu2, mu2, 2N2, L2, T2, eps2, lam2, R2, M3, MKS2, MN4, MS4, M4, 981 N4, S4, M6, and M8; see file \ hf{tide} and \mdl{tide\_mod} for further982 information and references\footnote{As a legacy option \np{ln_tide_var} can be976 N4, S4, M6, and M8; see file \textit{tide.h90} and \mdl{tide\_mod} for further 977 information and references\footnote{As a legacy option \np{ln_tide_var}{ln\_tide\_var} can be 983 978 set to \forcode{0}, in which case the 19 tidal constituents (M2, N2, 2N2, S2, 984 979 K2, K1, O1, Q1, P1, M4, Mf, Mm, Msqm, Mtm, S1, MU2, NU2, L2, and T2; see file 985 \ hf{tide}) and associated parameters that have been available in NEMO version980 \textit{tide.h90}) and associated parameters that have been available in NEMO version 986 981 4.0 and earlier are available}. Constituents to be included in the tidal forcing 987 982 (surface and lateral boundaries) are selected by enumerating their respective … … 1013 1008 potential). The tidal tilt factor $\gamma = 1 + k - h$ includes the 1014 1009 Love numbers $k$ and $h$ \citep{love_PRSL09}; this factor is 1015 configurable using \np{rn_tide_gamma} (default value 0.7). Optionally,1010 configurable using \np{rn_tide_gamma}{rn\_tide\_gamma} (default value 0.7). Optionally, 1016 1011 when \np[=.true.]{ln_tide_ramp}{ln\_tide\_ramp}, the equilibrium tidal 1017 1012 forcing can be ramped up linearly from zero during the initial … … 1183 1178 1184 1179 %% ================================================================================================= 1185 \section[Ice shelf melting (\textit{sbcisf.F90})]{Ice shelf melting (\protect\mdl{sbcisf})}1180 \section[Ice Shelf (ISF)]{Interaction with ice shelves (ISF)} 1186 1181 \label{sec:SBC_isf} 1187 1182 1188 1183 \begin{listing} 1189 \nlst{nam sbc_isf}1190 \caption{\forcode{&nam sbc_isf}}1191 \label{lst:nam sbc_isf}1184 \nlst{namisf} 1185 \caption{\forcode{&namisf}} 1186 \label{lst:namisf} 1192 1187 \end{listing} 1193 1188 1194 The namelist variable in \nam{sbc}{sbc}, \np{nn_isf}{nn\_isf}, controls the ice shelf representation. 1195 Description and result of sensitivity test to \np{nn_isf}{nn\_isf} are presented in \citet{mathiot.jenkins.ea_GMD17}. 1196 The different options are illustrated in \autoref{fig:SBC_isf}. 1197 1189 The namelist variable in \nam{isf}{isf}, \np{ln_isf}{ln\_isf}, controls the ice shelf interactions: 1198 1190 \begin{description} 1199 \item [{\np[=1]{nn_isf}{nn\_isf}}]: The ice shelf cavity is represented (\np[=.true.]{ln_isfcav}{ln\_isfcav} needed). 1200 The fwf and heat flux are depending of the local water properties. 1201 1202 Two different bulk formulae are available: 1191 \item $\bullet$ representation of the ice shelf/ocean melting/freezing for opened cavity (cav, \np{ln_isfcav_mlt}{ln\_isfcav\_mlt}). 1192 \item $\bullet$ parametrisation of the ice shelf/ocean melting/freezing for closed cavities (par, \np{ln_isfpar_mlt}{ln\_isfpar\_mlt}). 1193 \item $\bullet$ coupling with an ice sheet model (\np{ln_isfcpl}{ln\_isfcpl}). 1194 \end{description} 1195 1196 \subsection{Ocean/Ice shelf fluxes in opened cavities} 1197 1198 \np{ln_isfcav_mlt}{ln\_isfcav\_mlt}\forcode{ = .true.} activates the ocean/ice shelf thermodynamics interactions at the ice shelf/ocean interface. 1199 If \np{ln_isfcav_mlt}{ln\_isfcav\_mlt}\forcode{ = .false.}, thermodynamics interactions are desctivated but the ocean dynamics inside the cavity is still active. 1200 The logical flag \np{ln_isfcav}{ln\_isfcav} control whether or not the ice shelf cavities are closed. \np{ln_isfcav}{ln\_isfcav} is not defined in the namelist but in the domcfg.nc input file.\\ 1201 1202 3 options are available to represent to ice-shelf/ocean fluxes at the interface: 1203 \begin{description} 1204 \item[\np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = 'spe'}]: 1205 The fresh water flux is specified by a forcing fields \np{sn_isfcav_fwf}{sn\_isfcav\_fwf}. Convention of the input file is: positive toward the ocean (i.e. positive for melting and negative for freezing). 1206 The latent heat fluxes is derived from the fresh water flux. 1207 The heat content flux is derived from the fwf flux assuming a temperature set to the freezing point in the top boundary layer (\np{rn_htbl}{rn\_htbl}) 1208 1209 \item[\np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = 'oasis'}]: 1210 The \forcode{'oasis'} is a prototype of what could be a method to spread precipitation on Antarctic ice sheet as ice shelf melt inside the cavity when a coupled model Atmosphere/Ocean is used. 1211 It has not been tested and therefore the model will stop if you try to use it. 1212 Actions will be undertake in 2020 to build a comprehensive interface to do so for Greenland, Antarctic and ice shelf (cav), ice shelf (par), icebergs, subglacial runoff and runoff. 1213 1214 \item[\np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = '2eq'}]: 1215 The heat flux and the fresh water flux (negative for melting) resulting from ice shelf melting/freezing are parameterized following \citet{Grosfeld1997}. 1216 This formulation is based on a balance between the vertical diffusive heat flux across the ocean top boundary layer (\autoref{eq:ISOMIP1}) 1217 and the latent heat due to melting/freezing (\autoref{eq:ISOMIP2}): 1218 1219 \begin{equation} 1220 \label{eq:ISOMIP1} 1221 \mathcal{Q}_h = \rho c_p \gamma (T_w - T_f) 1222 \end{equation} 1223 \begin{equation} 1224 \label{eq:ISOMIP2} 1225 q = \frac{-\mathcal{Q}_h}{L_f} 1226 \end{equation} 1227 1228 where $\mathcal{Q}_h$($W.m^{-2}$) is the heat flux,q($kg.s^{-1}m^{-2}$) the fresh-water flux, 1229 $L_f$ the specific latent heat, $T_w$ the temperature averaged over a boundary layer below the ice shelf (explained below), 1230 $T_f$ the freezing point using the pressure at the ice shelf base and the salinity of the water in the boundary layer, 1231 and $\gamma$ the thermal exchange coefficient. 1232 1233 \item[\np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = '3eq'}]: 1234 For realistic studies, the heat and freshwater fluxes are parameterized following \citep{Jenkins2001}. This formulation is based on three equations: 1235 a balance between the vertical diffusive heat flux across the boundary layer 1236 , the latent heat due to melting/freezing of ice and the vertical diffusive heat flux into the ice shelf (\autoref{eq:3eq1}); 1237 a balance between the vertical diffusive salt flux across the boundary layer and the salt source or sink represented by the melting/freezing (\autoref{eq:3eq2}); 1238 and a linear equation for the freezing temperature of sea water (\autoref{eq:3eq3}, detailed of the linearisation coefficient in \citet{AsayDavis2016}): 1239 1240 \begin{equation} 1241 \label{eq:3eq1} 1242 c_p \rho \gamma_T (T_w-T_b) = -L_f q - \rho_i c_{p,i} \kappa \frac{T_s - T_b}{h_{isf}} 1243 \end{equation} 1244 \begin{equation} 1245 \label{eq:3eq2} 1246 \rho \gamma_S (S_w - S_b) = (S_i - S_b)q 1247 \end{equation} 1248 \begin{equation} 1249 \label{eq:3eq3} 1250 T_b = \lambda_1 S_b + \lambda_2 +\lambda_3 z_{isf} 1251 \end{equation} 1252 1253 where $T_b$ is the temperature at the interface, $S_b$ the salinity at the interface, $\gamma_T$ and $\gamma_S$ the exchange coefficients for temperature and salt, respectively, 1254 $S_i$ the salinity of the ice (assumed to be 0), $h_{isf}$ the ice shelf thickness, $z_{isf}$ the ice shelf draft, $\rho_i$ the density of the iceshelf, 1255 $c_{p,i}$ the specific heat capacity of the ice, $\kappa$ the thermal diffusivity of the ice 1256 and $T_s$ the atmospheric surface temperature (at the ice/air interface, assumed to be -20C). 1257 The Liquidus slope ($\lambda_1$), the liquidus intercept ($\lambda_2$) and the Liquidus pressure coefficient ($\lambda_3$) 1258 for TEOS80 and TEOS10 are described in \citep{AsayDavis2016} and in \citep{Jourdain2017}. 1259 The linear system formed by \autoref{eq:3eq1}, \autoref{eq:3eq2} and the linearised equation for the freezing temperature of sea water (\autoref{eq:3eq3}) can be solved for $S_b$ or $T_b$. 1260 Afterward, the freshwater flux ($q$) and the heat flux ($\mathcal{Q}_h$) can be computed. 1261 1262 \end{description} 1263 1264 \begin{table}[h] 1265 \centering 1266 \caption{Description of the parameters hard coded into the ISF module} 1267 \label{tab:isf} 1268 \begin{tabular}{|l|l|l|l|} 1269 \hline 1270 Symbol & Description & Value & Unit \\ 1271 \hline 1272 $C_p$ & Ocean specific heat & 3992 & $J.kg^{-1}.K^{-1}$ \\ 1273 $L_f$ & Ice latent heat of fusion & $3.34 \times 10^5$ & $J.kg^{-1}$ \\ 1274 $C_{p,i}$ & Ice specific heat & 2000 & $J.kg^{-1}.K^{-1}$ \\ 1275 $\kappa$ & Heat diffusivity & $1.54 \times 10^{-6}$& $m^2.s^{-1}$ \\ 1276 $\rho_i$ & Ice density & 920 & $kg.m^3$ \\ 1277 \hline 1278 \end{tabular} 1279 \end{table} 1280 1281 Temperature and salinity used to compute the fluxes in \autoref{eq:ISOMIP1}, \autoref{eq:3eq1} and \autoref{eq:3eq2} are the average temperature in the top boundary layer \citep{losch_JGR08}. 1282 Its thickness is defined by \np{rn_htbl}{rn\_htbl}. 1283 The fluxes and friction velocity are computed using the mean temperature, salinity and velocity in the first \np{rn_htbl}{rn\_htbl} m. 1284 Then, the fluxes are spread over the same thickness (ie over one or several cells). 1285 If \np{rn_htbl}{rn\_htbl} is larger than top $e_{3}t$, there is no more direct feedback between the freezing point at the interface and the top cell temperature. 1286 This can lead to super-cool temperature in the top cell under melting condition. 1287 If \np{rn_htbl}{rn\_htbl} smaller than top $e_{3}t$, the top boundary layer thickness is set to the top cell thickness.\\ 1288 1289 Each melt formula (\np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = '3eq'} or \np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = '2eq'}) depends on an exchange coeficient ($\Gamma^{T,S}$) between the ocean and the ice. 1290 Below, the exchange coeficient $\Gamma^{T}$ and $\Gamma^{S}$ are respectively defined by \np{rn_gammat0}{rn\_gammat0} and \np{rn_gammas0}{rn\_gammas0}. 1291 There are 3 different ways to compute the exchange velocity: 1292 1293 \begin{description} 1294 \item[\np{cn_gammablk}{cn\_gammablk}\forcode{='spe'}]: 1295 The salt and heat exchange coefficients are constant and defined by: 1296 \[ 1297 \gamma^{T} = \Gamma^{T} 1298 \] 1299 \[ 1300 \gamma^{S} = \Gamma^{S} 1301 \] 1302 This is the recommended formulation for ISOMIP. 1303 1304 \item[\np{cn_gammablk}{cn\_gammablk}\forcode{='vel'}]: 1305 The salt and heat exchange coefficients are velocity dependent and defined as 1306 \[ 1307 \gamma^{T} = \Gamma^{T} \times u_{*} 1308 \] 1309 \[ 1310 \gamma^{S} = \Gamma^{S} \times u_{*} 1311 \] 1312 where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_htbl}{rn\_htbl} meters). 1313 See \citet{jenkins.nicholls.ea_JPO10} for all the details on this formulation. It is the recommended formulation for realistic application and ISOMIP+/MISOMIP configuration. 1314 1315 \item[\np{cn_gammablk}{cn\_gammablk}\forcode{'vel\_stab'}]: 1316 The salt and heat exchange coefficients are velocity and stability dependent and defined as: 1317 \[ 1318 \gamma^{T,S} = \frac{u_{*}}{\Gamma_{Turb} + \Gamma^{T,S}_{Mole}} 1319 \] 1320 where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_tbl}{rn\_htbl} meters), 1321 $\Gamma_{Turb}$ the contribution of the ocean stability and 1322 $\Gamma^{T,S}_{Mole}$ the contribution of the molecular diffusion. 1323 See \citet{holland.jenkins_JPO99} for all the details on this formulation. 1324 This formulation has not been extensively tested in NEMO (not recommended). 1325 \end{description} 1326 1327 \subsection{Ocean/Ice shelf fluxes in parametrised cavities} 1203 1328 1204 1329 \begin{description} 1205 \item [{\np[=1]{nn_isfblk}{nn\_isfblk}}]: The melt rate is based on a balance between the upward ocean heat flux and 1206 the latent heat flux at the ice shelf base. A complete description is available in \citet{hunter_trpt06}. 1207 \item [{\np[=2]{nn_isfblk}{nn\_isfblk}}]: The melt rate and the heat flux are based on a 3 equations formulation 1208 (a heat flux budget at the ice base, a salt flux budget at the ice base and a linearised freezing point temperature equation). 1209 A complete description is available in \citet{jenkins_JGR91}. 1330 1331 \item[\np{cn_isfpar_mlt}{cn\_isfpar\_mlt}\forcode{ = 'bg03'}]: 1332 The ice shelf cavities are not represented. 1333 The fwf and heat flux are computed using the \citet{beckmann.goosse_OM03} parameterisation of isf melting. 1334 The fluxes are distributed along the ice shelf edge between the depth of the average grounding line (GL) 1335 (\np{sn_isfpar_zmax}{sn\_isfpar\_zmax}) and the base of the ice shelf along the calving front 1336 (\np{sn_isfpar_zmin}{sn\_isfpar\_zmin}) as in (\np{cn_isfpar_mlt}{cn\_isfpar\_mlt}\forcode{ = 'spe'}). 1337 The effective melting length (\np{sn_isfpar_Leff}{sn\_isfpar\_Leff}) is read from a file. 1338 This parametrisation has not been tested since a while and based on \citet{Favier2019}, 1339 this parametrisation should probably not be used. 1340 1341 \item[\np{cn_isfpar_mlt}{cn\_isfpar\_mlt}\forcode{ = 'spe'}]: 1342 The ice shelf cavity is not represented. 1343 The fwf (\np{sn_isfpar_fwf}{sn\_isfpar\_fwf}) is prescribed and distributed along the ice shelf edge between 1344 the depth of the average grounding line (GL) (\np{sn_isfpar_zmax}{sn\_isfpar\_zmax}) and 1345 the base of the ice shelf along the calving front (\np{sn_isfpar_zmin}{sn\_isfpar\_min}). Convention of the input file is positive toward the ocean (i.e. positive for melting and negative for freezing). 1346 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 1347 1348 \item[\np{cn_isfpar_mlt}{cn\_isfpar\_mlt}\forcode{ = 'oasis'}]: 1349 The \forcode{'oasis'} is a prototype of what could be a method to spread precipitation on Antarctic ice sheet as ice shelf melt inside the cavity when a coupled model Atmosphere/Ocean is used. 1350 It has not been tested and therefore the model will stop if you try to use it. 1351 Action will be undertake in 2020 to build a comprehensive interface to do so for Greenland, Antarctic and ice shelf (cav), ice shelf (par), icebergs, subglacial runoff and runoff. 1352 1210 1353 \end{description} 1211 1354 1212 Temperature and salinity used to compute the melt are the average temperature in the top boundary layer \citet{losch_JGR08}. 1213 Its thickness is defined by \np{rn_hisf_tbl}{rn\_hisf\_tbl}. 1214 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. 1215 Then, the fluxes are spread over the same thickness (ie over one or several cells). 1216 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. 1217 This can lead to super-cool temperature in the top cell under melting condition. 1218 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.\\ 1219 1220 Each melt bulk formula depends on a exchange coeficient ($\Gamma^{T,S}$) between the ocean and the ice. 1221 There are 3 different ways to compute the exchange coeficient: 1222 \begin{description} 1223 \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}. 1224 \begin{gather*} 1225 % \label{eq:SBC_isf_gamma_iso} 1226 \gamma^{T} = rn\_gammat0 \\ 1227 \gamma^{S} = rn\_gammas0 1228 \end{gather*} 1229 This is the recommended formulation for ISOMIP. 1230 \item [{\np[=1]{nn_gammablk}{nn\_gammablk}}]: The salt and heat exchange coefficients are velocity dependent and defined as 1231 \begin{gather*} 1232 \gamma^{T} = rn\_gammat0 \times u_{*} \\ 1233 \gamma^{S} = rn\_gammas0 \times u_{*} 1234 \end{gather*} 1235 where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_hisf_tbl}{rn\_hisf\_tbl} meters). 1236 See \citet{jenkins.nicholls.ea_JPO10} for all the details on this formulation. It is the recommended formulation for realistic application. 1237 \item [{\np[=2]{nn_gammablk}{nn\_gammablk}}]: The salt and heat exchange coefficients are velocity and stability dependent and defined as: 1238 \[ 1239 \gamma^{T,S} = \frac{u_{*}}{\Gamma_{Turb} + \Gamma^{T,S}_{Mole}} 1240 \] 1241 where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_hisf_tbl}{rn\_hisf\_tbl} meters), 1242 $\Gamma_{Turb}$ the contribution of the ocean stability and 1243 $\Gamma^{T,S}_{Mole}$ the contribution of the molecular diffusion. 1244 See \citet{holland.jenkins_JPO99} for all the details on this formulation. 1245 This formulation has not been extensively tested in \NEMO\ (not recommended). 1246 \end{description} 1247 \item [{\np[=2]{nn_isf}{nn\_isf}}]: The ice shelf cavity is not represented. 1248 The fwf and heat flux are computed using the \citet{beckmann.goosse_OM03} parameterisation of isf melting. 1249 The fluxes are distributed along the ice shelf edge between the depth of the average grounding line (GL) 1250 (\np{sn_depmax_isf}{sn\_depmax\_isf}) and the base of the ice shelf along the calving front 1251 (\np{sn_depmin_isf}{sn\_depmin\_isf}) as in (\np[=3]{nn_isf}{nn\_isf}). 1252 The effective melting length (\np{sn_Leff_isf}{sn\_Leff\_isf}) is read from a file. 1253 \item [{\np[=3]{nn_isf}{nn\_isf}}]: The ice shelf cavity is not represented. 1254 The fwf (\np{sn_rnfisf}{sn\_rnfisf}) is prescribed and distributed along the ice shelf edge between 1255 the depth of the average grounding line (GL) (\np{sn_depmax_isf}{sn\_depmax\_isf}) and 1256 the base of the ice shelf along the calving front (\np{sn_depmin_isf}{sn\_depmin\_isf}). 1257 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 1258 \item [{\np[=4]{nn_isf}{nn\_isf}}]: The ice shelf cavity is opened (\np[=.true.]{ln_isfcav}{ln\_isfcav} needed). 1259 However, the fwf is not computed but specified from file \np{sn_fwfisf}{sn\_fwfisf}). 1260 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 1261 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}) 1262 \end{description} 1263 1264 $\bullet$ \np[=1]{nn_isf}{nn\_isf} and \np[=2]{nn_isf}{nn\_isf} compute a melt rate based on 1355 \np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = '2eq'}, \np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = '3eq'} and \np{cn_isfpar_mlt}{cn\_isfpar\_mlt}\forcode{ = 'bg03'} compute a melt rate based on 1265 1356 the water mass properties, ocean velocities and depth. 1266 Th is flux is thus highly dependent of the model resolution (horizontal and vertical),1267 realism of the water masses onto the shelf ...\\1268 1269 $\bullet$ \np[=3]{nn_isf}{nn\_isf} and \np[=4]{nn_isf}{nn\_isf} read the melt rate from a file.1357 The resulting fluxes are thus highly dependent of the model resolution (horizontal and vertical) and 1358 realism of the water masses onto the shelf.\\ 1359 1360 \np{cn_isfcav_mlt}{cn\_isfcav\_mlt}\forcode{ = 'spe'} and \np{cn_isfpar_mlt}{cn\_isfpar\_mlt}\forcode{ = 'spe'} read the melt rate from a file. 1270 1361 You have total control of the fwf forcing. 1271 1362 This can be useful if the water masses on the shelf are not realistic or 1272 1363 the resolution (horizontal/vertical) are too coarse to have realistic melting or 1273 for studies where you need to control your heat and fw input.\\ 1274 1275 The ice shelf melt is implemented as a volume flux as for the runoff. 1276 The fw addition due to the ice shelf melting is, at each relevant depth level, added to 1277 the horizontal divergence (\textit{hdivn}) in the subroutine \rou{sbc\_isf\_div}, called from \mdl{divhor}. 1278 See \autoref{sec:SBC_rnf} for all the details about the divergence correction. 1364 for studies where you need to control your heat and fw input. 1365 However, if your forcing is not consistent with the dynamics below you can reach unrealistic low water temperature.\\ 1366 1367 The ice shelf fwf is implemented as a volume flux as for the runoff. 1368 The fwf addition due to the ice shelf melting is, at each relevant depth level, added to 1369 the horizontal divergence (\textit{hdivn}) in the subroutine \rou{isf\_hdiv}, called from \mdl{divhor}. 1370 See the runoff section \autoref{sec:SBC_rnf} for all the details about the divergence correction.\\ 1371 1372 Description and result of sensitivity tests to \np{ln_isfcav_mlt}{ln\_isfcav\_mlt} and \np{ln_isfpar_mlt}{ln\_isfpar\_mlt} are presented in \citet{mathiot.jenkins.ea_GMD17}. 1373 The different options are illustrated in \autoref{fig:ISF}. 1279 1374 1280 1375 \begin{figure}[!t] 1281 1376 \centering 1282 \includegraphics[width=0.66\textwidth]{SBC_isf }1377 \includegraphics[width=0.66\textwidth]{SBC_isf_v4.2} 1283 1378 \caption[Ice shelf location and fresh water flux definition]{ 1284 1379 Illustration of the location where the fwf is injected and 1285 whether or not the fwf is interacti f or not depending of \protect\np{nn_isf}{nn\_isf}.}1286 \label{fig: SBC_isf}1380 whether or not the fwf is interactive or not.} 1381 \label{fig:ISF} 1287 1382 \end{figure} 1288 1383 1289 %% ================================================================================================= 1290 \section{Ice sheet coupling} 1291 \label{sec:SBC_iscpl} 1292 1293 \begin{listing} 1294 \nlst{namsbc_iscpl} 1295 \caption{\forcode{&namsbc_iscpl}} 1296 \label{lst:namsbc_iscpl} 1297 \end{listing} 1384 \subsection{Available outputs} 1385 The following outputs are availables via XIOS: 1386 \begin{description} 1387 \item[for parametrised cavities]: 1388 \begin{xmllines} 1389 <field id="isftfrz_par" long_name="freezing point temperature in the parametrization boundary layer" unit="degC" /> 1390 <field id="fwfisf_par" long_name="Ice shelf melt rate" unit="kg/m2/s" /> 1391 <field id="qoceisf_par" long_name="Ice shelf ocean heat flux" unit="W/m2" /> 1392 <field id="qlatisf_par" long_name="Ice shelf latent heat flux" unit="W/m2" /> 1393 <field id="qhcisf_par" long_name="Ice shelf heat content flux of injected water" unit="W/m2" /> 1394 <field id="fwfisf3d_par" long_name="Ice shelf melt rate" unit="kg/m2/s" grid_ref="grid_T_3D" /> 1395 <field id="qoceisf3d_par" long_name="Ice shelf ocean heat flux" unit="W/m2" grid_ref="grid_T_3D" /> 1396 <field id="qlatisf3d_par" long_name="Ice shelf latent heat flux" unit="W/m2" grid_ref="grid_T_3D" /> 1397 <field id="qhcisf3d_par" long_name="Ice shelf heat content flux of injected water" unit="W/m2" grid_ref="grid_T_3D" /> 1398 <field id="ttbl_par" long_name="temperature in the parametrisation boundary layer" unit="degC" /> 1399 <field id="isfthermald_par" long_name="thermal driving of ice shelf melting" unit="degC" /> 1400 \end{xmllines} 1401 \item[for open cavities]: 1402 \begin{xmllines} 1403 <field id="isftfrz_cav" long_name="freezing point temperature at ocean/isf interface" unit="degC" /> 1404 <field id="fwfisf_cav" long_name="Ice shelf melt rate" unit="kg/m2/s" /> 1405 <field id="qoceisf_cav" long_name="Ice shelf ocean heat flux" unit="W/m2" /> 1406 <field id="qlatisf_cav" long_name="Ice shelf latent heat flux" unit="W/m2" /> 1407 <field id="qhcisf_cav" long_name="Ice shelf heat content flux of injected water" unit="W/m2" /> 1408 <field id="fwfisf3d_cav" long_name="Ice shelf melt rate" unit="kg/m2/s" grid_ref="grid_T_3D" /> 1409 <field id="qoceisf3d_cav" long_name="Ice shelf ocean heat flux" unit="W/m2" grid_ref="grid_T_3D" /> 1410 <field id="qlatisf3d_cav" long_name="Ice shelf latent heat flux" unit="W/m2" grid_ref="grid_T_3D" /> 1411 <field id="qhcisf3d_cav" long_name="Ice shelf heat content flux of injected water" unit="W/m2" grid_ref="grid_T_3D" /> 1412 <field id="ttbl_cav" long_name="temperature in Losch tbl" unit="degC" /> 1413 <field id="isfthermald_cav" long_name="thermal driving of ice shelf melting" unit="degC" /> 1414 <field id="isfgammat" long_name="Ice shelf heat-transfert velocity" unit="m/s" /> 1415 <field id="isfgammas" long_name="Ice shelf salt-transfert velocity" unit="m/s" /> 1416 <field id="stbl" long_name="salinity in the Losh tbl" unit="1e-3" /> 1417 <field id="utbl" long_name="zonal current in the Losh tbl at T point" unit="m/s" /> 1418 <field id="vtbl" long_name="merid current in the Losh tbl at T point" unit="m/s" /> 1419 <field id="isfustar" long_name="ustar at T point used in ice shelf melting" unit="m/s" /> 1420 <field id="qconisf" long_name="Conductive heat flux through the ice shelf" unit="W/m2" /> 1421 \end{xmllines} 1422 \end{description} 1423 1424 %% ================================================================================================= 1425 \subsection{Ice sheet coupling} 1426 \label{subsec:ISF_iscpl} 1298 1427 1299 1428 Ice sheet/ocean coupling is done through file exchange at the restart step. 1300 At each restart step :1301 1302 \begin{ enumerate}1303 \item the ice sheet model send a new bathymetry and ice shelf draft netcdf file.1304 \item a new domcfg.nc file is built using the DOMAINcfg tools.1305 \item \NEMO\run for a specific period and output the average melt rate over the period.1306 \item the ice sheet model run using the melt rate outputed in step 4.1307 \item go back to 1.1308 \end{ enumerate}1309 1310 If \np [=.true.]{ln_iscpl}{ln\_iscpl}, the isf draft is assume to be different at each restart step with1429 At each restart step, the procedure is this one: 1430 1431 \begin{description} 1432 \item[Step 1]: the ice sheet model send a new bathymetry and ice shelf draft netcdf file. 1433 \item[Step 2]: a new domcfg.nc file is built using the DOMAINcfg tools. 1434 \item[Step 3]: NEMO run for a specific period and output the average melt rate over the period. 1435 \item[Step 4]: the ice sheet model run using the melt rate outputed in step 3. 1436 \item[Step 5]: go back to 1. 1437 \end{description} 1438 1439 If \np{ln_iscpl}{ln\_iscpl}\forcode{ = .true.}, the isf draft is assume to be different at each restart step with 1311 1440 potentially some new wet/dry cells due to the ice sheet dynamics/thermodynamics. 1312 The wetting and drying scheme applied on the restart is very simple and described below for the 6 different possible cases:1441 The wetting and drying scheme, applied on the restart, is very simple. The 6 different possible cases for the tracer and ssh are: 1313 1442 1314 1443 \begin{description} 1315 \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 1316 ($bt_b=bt_n$). 1317 \item [Enlarge a cell]: See case "Thin a cell down" 1318 \item [Dry a cell]: mask, T/S, U/V and ssh are set to 0. 1319 Furthermore, U/V into the water column are modified to satisfy ($bt_b=bt_n$). 1320 \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. 1321 If no neighbours, T/S is extrapolated from old top cell value. 1322 If no neighbours along i,j and k (both previous test failed), T/S/U/V/ssh and mask are set to 0. 1323 \item [Dry a column]: mask, T/S, U/V are set to 0 everywhere in the column and ssh set to 0. 1324 \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. 1325 If no neighbour, T/S/U/V and mask set to 0. 1444 \item[Thin a cell]: 1445 T/S/ssh are unchanged. 1446 1447 \item[Enlarge a cell]: 1448 See case "Thin a cell down" 1449 1450 \item[Dry a cell]: 1451 Mask, T/S, U/V and ssh are set to 0. 1452 1453 \item[Wet a cell]: 1454 Mask is set to 1, T/S is extrapolated from neighbours, $ssh_n = ssh_b$. 1455 If no neighbours, T/S is extrapolated from old top cell value. 1456 If no neighbours along i,j and k (both previous tests failed), T/S/ssh and mask are set to 0. 1457 1458 \item[Dry a column]: 1459 mask, T/S and ssh are set to 0. 1460 1461 \item[Wet a column]: 1462 set mask to 1, T/S/ssh are extrapolated from neighbours. 1463 If no neighbour, T/S/ssh and mask set to 0. 1326 1464 \end{description} 1465 1466 The method described above will strongly affect the barotropic transport under an ice shelf when the geometry change. 1467 In order to keep the model stable, an adjustment of the dynamics at the initialisation after the coupling step is needed. 1468 The idea behind this is to keep $\pd[\eta]{t}$ as it should be without change in geometry at the initialisation. 1469 This will prevent any strong velocity due to large pressure gradient. 1470 To do so, we correct the horizontal divergence before $\pd[\eta]{t}$ is computed in the first time step.\\ 1327 1471 1328 1472 Furthermore, as the before and now fields are not compatible (modification of the geometry), … … 1331 1475 The horizontal extrapolation to fill new cell with realistic value is called \np{nn_drown}{nn\_drown} times. 1332 1476 It means that if the grounding line retreat by more than \np{nn_drown}{nn\_drown} cells between 2 coupling steps, 1333 the code will be unable to fill all the new wet cells properly .1477 the code will be unable to fill all the new wet cells properly and the model is likely to blow up at the initialisation. 1334 1478 The default number is set up for the MISOMIP idealised experiments. 1335 1479 This coupling procedure is able to take into account grounding line and calving front migration. 1336 However, it is a non-conservative proc esse.1480 However, it is a non-conservative proccess. 1337 1481 This could lead to a trend in heat/salt content and volume.\\ 1338 1482 1339 1483 In order to remove the trend and keep the conservation level as close to 0 as possible, 1340 a simple conservation scheme is available with \np[=.true.]{ln_hsb}{ln\_hsb}. 1341 The heat/salt/vol. gain/loss is diagnosed, as well as the location. 1342 A correction increment is computed and apply each time step during the next \np{rn_fiscpl}{rn\_fiscpl} time steps. 1343 For safety, it is advised to set \np{rn_fiscpl}{rn\_fiscpl} equal to the coupling period (smallest increment possible). 1344 The 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). 1484 a simple conservation scheme is available with \np{ln_isfcpl_cons}{ln\_isfcpl\_cons}\forcode{ = .true.}. 1485 The heat/salt/vol. gain/loss are diagnosed, as well as the location. 1486 A correction increment is computed and applied each time step during the model run. 1487 The corrective increment are applied into the cells itself (if it is a wet cell), the neigbouring cells or the closest wet cell (if the cell is now dry). 1345 1488 1346 1489 %% ================================================================================================= … … 1390 1533 which are assumed to propagate with their larger parent and thus delay fluxing into the ocean. 1391 1534 Melt water (and other variables on the configuration grid) are written into the main \NEMO\ model output files. 1535 1536 By default, iceberg thermodynamic and dynamic are computed using ocean surface variable (sst, ssu, ssv) and the icebergs are not sensible to the bathymetry (only to land) whatever the iceberg draft. 1537 \citet{Merino_OM2016} developed an option to use vertical profiles of ocean currents and temperature instead (\np{ln_M2016}{ln\_M2016}). 1538 Full details on the sensitivity to this parameter in done in \citet{Merino_OM2016}. 1539 If \np{ln_M2016}{ln\_M2016} activated, \np{ln_icb_grd}{ln\_icb\_grd} activate (or not) an option to prevent thick icebergs to move across shallow bank (ie shallower than the iceberg draft). 1540 This option need to be used with care as it could required to either change the distribution to prevent generation of icebergs with draft larger than the bathymetry 1541 or to build a variable \forcode{maxclass} to prevent NEMO filling the icebergs classes too thick for the local bathymetry. 1392 1542 1393 1543 Extensive diagnostics can be produced. -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_STO.tex
r11693 r14644 5 5 \chapter{Stochastic Parametrization of EOS (STO)} 6 6 \label{chap:STO} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_TRA.tex
r13476 r14644 5 5 \chapter{Ocean Tracers (TRA)} 6 6 \label{chap:TRA} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 930 928 When \np{nn_geoflx}{nn\_geoflx} is set to 2, 931 929 a spatially varying geothermal heat flux is introduced which is provided in 932 the \ ifile{geothermal\_heating} NetCDF file930 the \textit{geothermal\_heating.nc} NetCDF file 933 931 (\autoref{fig:TRA_geothermal}) \citep{emile-geay.madec_OS09}. 934 932 … … 1151 1149 \citep{madec.delecluse.ea_JPO96}. 1152 1150 1153 For generating \ ifile{resto},1151 For generating \textit{resto.nc}, 1154 1152 see the documentation for the DMP tools provided with the source code under \path{./tools/DMP_TOOLS}. 1155 1153 … … 1175 1173 $\gamma$ is initialized as \np{rn_atfp}{rn\_atfp}, its default value is \forcode{10.e-3}. 1176 1174 Note that the forcing correction term in the filter is not applied in linear free surface 1177 (\ jp{ln\_linssh}\forcode{=.true.}) (see \autoref{subsec:TRA_sbc}).1175 (\np[=.true.]{ln_linssh}{ln\_linssh}) (see \autoref{subsec:TRA_sbc}). 1178 1176 Not also that in constant volume case, the time stepping is performed on $T$, 1179 1177 not on its content, $e_{3t}T$. -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_ZDF.tex
r14200 r14644 2 2 3 3 \begin{document} 4 5 %% Custom aliases6 \newcommand{\cf}{\ensuremath{C\kern-0.14em f}}7 4 8 5 \chapter{Vertical Ocean Physics (ZDF)} 9 6 \label{chap:ZDF} 10 11 \thispagestyle{plain}12 7 13 8 \chaptertoc … … 1085 1080 \label{lst:namdrg} 1086 1081 \end{listing} 1082 1087 1083 \begin{listing} 1088 1084 \nlst{namdrg_top} … … 1090 1086 \label{lst:namdrg_top} 1091 1087 \end{listing} 1088 1092 1089 \begin{listing} 1093 1090 \nlst{namdrg_bot} … … 1181 1178 These values are assigned in \mdl{zdfdrg}. 1182 1179 Note that there is support for local enhancement of these values via an externally defined 2D mask array 1183 (\np[=.true.]{ln_boost}{ln\_boost}) given in the \ ifile{bfr\_coef} input NetCDF file.1180 (\np[=.true.]{ln_boost}{ln\_boost}) given in the \textit{bfr\_coef.nc} input NetCDF file. 1184 1181 The mask values should vary from 0 to 1. 1185 1182 Locations with a non-zero mask value will have the friction coefficient increased by … … 1564 1561 by only a few extra physics choices namely: 1565 1562 1566 \begin{ verbatim}1563 \begin{forlines} 1567 1564 ln_dynldf_OFF = .false. 1568 1565 ln_dynldf_lap = .true. … … 1572 1569 nn_fct_h = 2 1573 1570 nn_fct_v = 2 1574 \end{ verbatim}1571 \end{forlines} 1575 1572 1576 1573 \noindent which were chosen to provide a slightly more stable and less noisy solution. The -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_cfgs.tex
r14200 r14644 5 5 \chapter{Configurations} 6 6 \label{chap:CFGS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 85 83 the SI3 model (ORCA-ICE) and possibly with PISCES biogeochemical model (ORCA-ICE-PISCES). 86 84 An appropriate namelist is available in \path{./cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg} for ORCA2. 87 The domain of ORCA2 configuration is defined in \ ifile{ORCA\_R2\_zps\_domcfg} file,85 The domain of ORCA2 configuration is defined in \textit{ORCA\_R2\_zps\_domcfg.nc} file, 88 86 this file is available in tar file on the \NEMO\ community zenodo platform: \\ 89 87 https://doi.org/10.5281/zenodo.2640723 … … 152 150 Each of configuration is set through the \textit{domain\_cfg} domain configuration file, 153 151 which sets the grid size and configuration name parameters. 154 The \NEMO\ System Team provides only ORCA2 domain input file "\ ifile{ORCA\_R2\_zps\_domcfg}" file152 The \NEMO\ System Team provides only ORCA2 domain input file "\textit{ORCA\_R2\_zps\_domcfg.nc}" file 155 153 (\autoref{tab:CFGS_ORCA}). 156 154 … … 158 156 \centering 159 157 \begin{tabular}{p{4cm} c c c c} 160 Horizontal Grid & \ jp{ORCA\_index} & \jp{jpiglo} & \jp{jpjglo} \\158 Horizontal Grid & \texttt{ORCA\_index} & \texttt{jpiglo} & \texttt{jpjglo} \\ 161 159 \hline \hline 162 160 % 4 \deg\ & 4 & 92 & 76 \\ … … 246 244 Its horizontal resolution (and thus the size of the domain) is determined by 247 245 setting \np{nn_GYRE}{nn\_GYRE} in \nam{usr_def}{usr\_def}: 246 248 247 \begin{align*} 249 \jp{jpiglo}= 30 \times \text{\np{nn_GYRE}{nn\_GYRE}} + 2 + 2 \times \text{\np{nn_hls}{nn\_hls}} \\250 \jp{jpjglo}= 20 \times \text{\np{nn_GYRE}{nn\_GYRE}} + 2 + 2 \times \text{\np{nn_hls}{nn\_hls}}248 jpiglo = 30 \times \text{\np{nn_GYRE}{nn\_GYRE}} + 2 + 2 \times \text{\np{nn_hls}{nn\_hls}} \\ 249 jpjglo = 20 \times \text{\np{nn_GYRE}{nn\_GYRE}} + 2 + 2 \times \text{\np{nn_hls}{nn\_hls}} 251 250 \end{align*} 252 251 253 252 Obviously, the namelist parameters have to be adjusted to the chosen resolution, 254 253 see the Configurations pages on the \NEMO\ web site (\NEMO\ Configurations). 255 In the vertical, GYRE uses the default 30 ocean levels (\ jp{jpk}\forcode{ = 31}) (\autoref{fig:DOM_zgr_e3}).254 In the vertical, GYRE uses the default 30 ocean levels (\forcode{jpk = 31}, \autoref{fig:DOM_zgr_e3}). 256 255 257 256 \begin{listing} -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_conservation.tex
r11693 r14644 5 5 \chapter{Invariants of the Primitive Equations} 6 6 \label{chap:CONS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_misc.tex
r14113 r14644 6 6 \label{chap:MISC} 7 7 8 \thispagestyle{plain}9 10 8 \chaptertoc 11 9 … … 14 12 {\footnotesize 15 13 \begin{tabularx}{\textwidth}{l||X|X} 16 Release & Author(s) & Modifications\\14 Release & Author(s) & Modifications \\ 17 15 \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 ...} 16 {\em X.X} & {\em Pierre Mathiot} & {Update of the closed sea section} \\ 17 {\em 4.0} & {\em ... } & {\em ... } \\ 18 {\em 3.6} & {\em ... } & {\em ... } \\ 19 {\em 3.4} & {\em ... } & {\em ... } \\ 20 {\em <=3.4} & {\em ... } & {\em ... } 22 21 \end{tabularx} 23 22 } … … 109 108 \end{figure} 110 109 111 \begin{figure}[!tbp]112 \centering113 \includegraphics[width=0.66\textwidth]{MISC_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 into121 the St Laurence Seaway in the area shown.}122 \label{fig:MISC_closea_mask_example}123 \end{figure}124 125 110 %% ================================================================================================= 126 111 \section[Closed seas (\textit{closea.F90})]{Closed seas (\protect\mdl{closea})} 127 112 \label{sec:MISC_closea} 113 114 \begin{listing} 115 \nlst{namclo} 116 \caption{\forcode{&namclo}} 117 \label{lst:namclo} 118 \end{listing} 128 119 129 120 Some configurations include inland seas and lakes as ocean … … 138 129 to zero and put the residual flux into the ocean. 139 130 140 Prior to \NEMO\ 4 the locations of inland seas and lakes was set via 141 hardcoded indices for various ORCA configurations. From \NEMO\ 4 onwards 142 the inland seas and lakes are defined using mask fields in the 143 domain configuration file. The options are as follows. 144 145 \begin{enumerate} 146 \item {{\bfseries No ``closea\_mask'' field is included in domain configuration 147 file.} In this case the closea module does nothing.} 148 149 \item {{\bfseries A field called closea\_mask is included in the domain 150 configuration file and ln\_closea=.false. in namelist namcfg.} In this 151 case the inland seas defined by the closea\_mask field are filled in 152 (turned to land points) at run time. That is every point in 153 closea\_mask that is nonzero is set to be a land point.} 154 155 \item {{\bfseries A field called closea\_mask is included in the domain 156 configuration file and ln\_closea=.true. in namelist namcfg.} Each 157 inland sea or group of inland seas is set to a positive integer value 158 in the closea\_mask field (see \autoref{fig:MISC_closea_mask_example} 159 for an example). The net surface flux over each inland sea or group of 131 The inland seas and lakes are defined using mask fields in the 132 domain configuration file. Special treatment of the closed sea (redistribution of net freshwater or mask those), are defined in \autoref{lst:namclo} and 133 can be trigger by \np{ln_closea}{ln\_closea}\forcode{=.true.} in namelist namcfg. 134 135 The options available are the following: 136 \begin{description} 137 \item[\np{ln_maskcs}{ln\_maskcs}\forcode{ = .true.}] All the closed seas are masked using \textit{mask\_opensea} variable. 138 \item[\np{ln_maskcs}{ln\_maskcs}\forcode{ = .false.}] The net surface flux over each inland sea or group of 160 139 inland seas is set to zero each timestep and the residual flux is 161 distributed over the global ocean (ie. all ocean points where 162 closea\_mask is zero).} 163 164 \item {{\bfseries Fields called closea\_mask and closea\_mask\_rnf are 165 included in the domain configuration file and ln\_closea=.true. in 166 namelist namcfg.} This option works as for option 3, except that if 167 the net surface flux over an inland sea is negative (net 168 precipitation) it is put into the ocean at specified runoff points. A 169 net positive surface flux (net evaporation) is still spread over the 170 global ocean. The mapping from inland seas to runoff points is defined 171 by the closea\_mask\_rnf field. Each mapping is defined by a positive 172 integer value for the inland sea(s) and the corresponding runoff 173 points. An example is given in 174 \autoref{fig:MISC_closea_mask_example}. If no mapping is provided for a 175 particular inland sea then the residual is spread over the global 176 ocean.} 177 178 \item {{\bfseries Fields called closea\_mask and closea\_mask\_emp are 179 included in the domain configuration file and ln\_closea=.true. in 180 namelist namcfg.} This option works the same as option 4 except that 181 the nonzero net surface flux is sent to the ocean at the specified 182 runoff points regardless of whether it is positive or negative. The 183 mapping from inland seas to runoff points in this case is defined by 184 the closea\_mask\_emp field.} 185 \end{enumerate} 186 187 There is a python routine to create the closea\_mask fields and append 188 them to the domain configuration file in the utils/tools/DOMAINcfg directory. 140 distributed over a target area. 141 \end{description} 142 143 When \np{ln_maskcs}{ln\_maskcs}\forcode{ = .false.}, 144 3 options are available for the redistribution (set up of these options is done in the tool DOMAINcfg): 145 \begin{description}[font=$\bullet$ ] 146 \item[ glo]: The residual flux is redistributed globally. 147 \item[ emp]: The residual flux is redistributed as emp in a river outflow. 148 \item[ rnf]: The residual flux is redistributed as rnf in a river outflow if negative. If there is a net evaporation, the residual flux is redistributed globally. 149 \end{description} 150 151 For each case, 2 masks are needed (\autoref{fig:MISC_closea_mask_example}): 152 \begin{description} 153 \item $\bullet$ one describing the 'sources' (ie the closed seas concerned by each options) called \textit{mask\_csglo}, \textit{mask\_csrnf}, \textit{mask\_csemp}. 154 \item $\bullet$ one describing each group of inland seas (the Great Lakes for example) and the target area (river outflow or world ocean) for each group of inland seas (St Laurence for the Great Lakes for example) called 155 \textit{mask\_csgrpglo}, \textit{mask\_csgrprnf}, \textit{mask\_csgrpemp}. 156 \end{description} 157 158 \begin{figure}[!tbp] 159 \centering 160 \includegraphics[width=0.66\textwidth]{MISC_closea_mask_example} 161 \caption[Mask fields for the \protect\mdl{closea} module]{ 162 Example of mask fields for the \protect\mdl{closea} module. 163 \textit{Left}: a \textit{mask\_csrnf} field; 164 \textit{Right}: a \textit{mask\_csgrprnf} field. 165 In this example, if \protect\np{ln_closea}{ln\_closea} is set to \forcode{.true.}, 166 the mean freshwater flux over each of the American Great Lakes will be set to zero, 167 and the total residual for all the lakes, if negative, will be put into 168 the St Laurence Seaway in the area shown.} 169 \label{fig:MISC_closea_mask_example} 170 \end{figure} 171 172 Closed sea not defined (because too small, issue in the bathymetry definition ...) are defined in \textit{mask\_csundef}. 173 These points can be masked using the namelist option \np{ln_mask_csundef}{ln\_mask\_csundef}\forcode{= .true.} or used to correct the bathymetry input file.\\ 174 175 The masks needed for the closed sea can be created using the DOMAINcfg tool in the utils/tools/DOMAINcfg directory. 176 See \autoref{sec:clocfg} for details on the usage of definition of the closed sea masks. 189 177 190 178 %% ================================================================================================= … … 205 193 206 194 \noindent Consider an ORCA1 207 configuration using the extended grid domain configuration file: \ ifile{eORCA1\_domcfg.nc}195 configuration using the extended grid domain configuration file: \textit{eORCA1\_domcfg.nc} 208 196 This file define a horizontal domain of 362x332. The first row with 209 197 open ocean wet points in the non-isf bathymetry for this set is row 42 (\fortran\ indexing) … … 226 214 \noindent Note that with this option, the j-size of the global domain is (extended 227 215 j-size minus \np{open_ocean_jstart}{open\_ocean\_jstart} + 1 ) and this must match the \texttt{jpjglo} value 228 for the configuration. This means an alternative version of \ ifile{eORCA1\_domcfg.nc} must216 for the configuration. This means an alternative version of \textit{eORCA1\_domcfg.nc} must 229 217 be created for when \np{ln_use_jattr}{ln\_use\_jattr} is active. The \texttt{ncap2} tool provides a 230 218 convenient way of achieving this: … … 234 222 \end{cmds} 235 223 236 The domain configuration file is unique in this respect since it also contains the value of \ jp{jpjglo}224 The domain configuration file is unique in this respect since it also contains the value of \texttt{jpjglo} 237 225 that is read and used by the model. 238 226 Any other global, 2D and 3D, netcdf, input field can be prepared for use in a reduced domain by adding the … … 374 362 375 363 When more information is required for monitoring or debugging purposes, the various 376 forms of output can be selected via the \np{sn \_cfctl} structure. As well as simple364 forms of output can be selected via the \np{sn_cfctl}{sn\_cfctl} structure. As well as simple 377 365 on-off switches this structure also allows selection of a range of processors for 378 366 individual reporting (where appropriate) and a time-increment option to restrict … … 449 437 systems so bug-hunting efforts using this facility should also utilise the \fortran: 450 438 451 \begin{forlines} 452 CALL FLUSH(numout) 453 \end{forlines} 439 \forline|CALL FLUSH(numout)| 454 440 455 441 statement after any additional write statements to ensure that file contents reflect … … 482 468 483 469 \begin{forlines} 484 sn_cfctl%l_glochk = .FALSE.! Range sanity checks are local (F) or global (T). Set T for debugging only485 sn_cfctl%l_allon = .FALSE.! IF T activate all options. If F deactivate all unless l_config is T486 sn_cfctl%l_config = .TRUE.! IF .true. then control which reports are written with the following487 sn_cfctl%l_runstat = .FALSE. ! switches and which areas produce reports with the proc integer settings.488 sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure489 sn_cfctl%l_oceout = .FALSE. ! that all areas report.490 sn_cfctl%l_layout = .FALSE. !491 sn_cfctl%l_prtctl = .FALSE. !492 sn_cfctl%l_prttrc = .FALSE. !493 sn_cfctl%l_oasout = .FALSE. !494 495 496 497 470 sn_cfctl%l_glochk = .false. ! Range sanity checks are local (F) or global (T). Set T for debugging only 471 sn_cfctl%l_allon = .false. ! IF T activate all options. If F deactivate all unless l_config is T 472 sn_cfctl%l_config = .true. ! IF .true. then control which reports are written with the following 473 sn_cfctl%l_runstat = .false. ! switches and which areas produce reports with the proc integer settings. 474 sn_cfctl%l_trcstat = .false. ! The default settings for the proc integers should ensure 475 sn_cfctl%l_oceout = .false. ! that all areas report. 476 sn_cfctl%l_layout = .false. ! 477 sn_cfctl%l_prtctl = .false. ! 478 sn_cfctl%l_prttrc = .false. ! 479 sn_cfctl%l_oasout = .false. ! 480 sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] 481 sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] 482 sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] 483 sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info 498 484 \end{forlines} 499 485 -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_model_basics.tex
r14113 r14644 5 5 \chapter{Model Basics} 6 6 \label{chap:MB} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_model_basics_zstar.tex
r14200 r14644 4 4 5 5 \chapter{ essai \zstar \sstar} 6 7 \thispagestyle{plain}8 6 9 7 \chaptertoc … … 85 83 86 84 %\nlst{nam_dynspg} 85 87 86 Options are defined through the \nam{_dynspg}{\_dynspg} namelist variables. 88 87 The surface pressure gradient term is related to the representation of the free surface (\autoref{sec:MB_hor_pg}). -
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_time_domain.tex
r11693 r14644 6 6 \label{chap:TD} 7 7 8 \thispagestyle{plain}9 10 8 \chaptertoc 11 9 … … 14 12 {\footnotesize 15 13 \begin{tabularx}{0.5\textwidth}{l||X|X} 16 Release & Author(s) & 14 Release & Author(s) & 17 15 Modifications \\ 18 16 \hline 19 {\em 4.0} & {\em J\'{e}r\^{o}me Chanut \newline Tim Graham} & 17 {\em 4.0} & {\em J\'{e}r\^{o}me Chanut \newline Tim Graham} & 20 18 {\em Review \newline Update } \\ 21 {\em 3.6} & {\em Christian \'{E}th\'{e} } & 19 {\em 3.6} & {\em Christian \'{E}th\'{e} } & 22 20 {\em Update } \\ 23 {\em $\leq$ 3.4} & {\em Gurvan Madec } & 21 {\em $\leq$ 3.4} & {\em Gurvan Madec } & 24 22 {\em First version } \\ 25 23 \end{tabularx} … … 46 44 47 45 The time stepping used in \NEMO\ is a three level scheme that can be represented as follows: 46 48 47 \begin{equation} 49 48 \label{eq:TD} 50 49 x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ \text{RHS}_x^{t - \rdt, \, t, \, t + \rdt} 51 50 \end{equation} 51 52 52 where $x$ stands for $u$, $v$, $T$ or $S$; 53 53 RHS is the \textbf{R}ight-\textbf{H}and-\textbf{S}ide of the corresponding time evolution equation; … … 99 99 first designed by \citet{robert_JMSJ66} and more comprehensively studied by \citet{asselin_MWR72}, 100 100 is a kind of laplacian diffusion in time that mixes odd and even time steps: 101 101 102 \begin{equation} 102 103 \label{eq:TD_asselin} 103 104 x_F^t = x^t + \gamma \, \lt[ x_F^{t - \rdt} - 2 x^t + x^{t + \rdt} \rt] 104 105 \end{equation} 106 105 107 where the subscript $F$ denotes filtered values and $\gamma$ is the Asselin coefficient. 106 108 $\gamma$ is initialized as \np{rn_atfp}{rn\_atfp} (namelist parameter). … … 134 136 The conditions for stability of second and fourth order horizontal diffusion schemes are 135 137 \citep{griffies_bk04}: 138 136 139 \begin{equation} 137 140 \label{eq:TD_euler_stability} … … 142 145 \end{cases} 143 146 \end{equation} 147 144 148 where $e$ is the smallest grid size in the two horizontal directions and 145 149 $A^h$ is the mixing coefficient. … … 153 157 To overcome the stability constraint, a backward (or implicit) time differencing scheme is used. 154 158 This scheme is unconditionally stable but diffusive and can be written as follows: 159 155 160 \begin{equation} 156 161 \label{eq:TD_imp} … … 170 175 where RHS is the right hand side of the equation except for the vertical diffusion term. 171 176 We rewrite \autoref{eq:TD_imp} as: 177 172 178 \begin{equation} 173 179 \label{eq:TD_imp_mat} 174 180 -c(k + 1) \; T^{t + 1}(k + 1) + d(k) \; T^{t + 1}(k) - \; c(k) \; T^{t + 1}(k - 1) \equiv b(k) 175 181 \end{equation} 182 176 183 where 184 177 185 \[ 178 186 c(k) = A_w^{vT} (k) \, / \, e_{3w} (k) \text{,} \quad … … 241 249 $Q$ is redistributed over several time step. 242 250 In the modified LF-RA environment, these two formulations have been replaced by: 251 243 252 \begin{gather} 244 253 \label{eq:TD_forcing} … … 248 257 - \gamma \, \rdt \, \lt( Q^{t + \rdt / 2} - Q^{t - \rdt / 2} \rt) 249 258 \end{gather} 259 250 260 The change in the forcing formulation given by \autoref{eq:TD_forcing} 251 261 (see \autoref{fig:TD_MLF_forcing}) has a significant effect: … … 377 387 % 378 388 \end{flalign*} 389 379 390 \begin{flalign*} 380 391 \allowdisplaybreaks … … 389 400 % 390 401 \end{flalign*} 402 391 403 \begin{flalign*} 392 404 \allowdisplaybreaks
Note: See TracChangeset
for help on using the changeset viewer.