Changeset 14789 for NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles
- Timestamp:
- 2021-05-05T13:18:04+02:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU
- Files:
-
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev _r12970_AGRIF_CMEMSext/AGRIF5 ^/vendors/AGRIF/dev@HEAD ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 ^/vendors/PPR@HEAD ext/PPR 8 9 9 10 # SETTE 10 ^/utils/CI/sette@1 3559sette11 ^/utils/CI/sette@14244 sette
-
- Property svn:externals
-
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/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/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/apdx_DOMAINcfg.tex
r11693 r14789 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} 44 \begin{forlines} 45 !----------------------------------------------------------------------- 46 &namdom ! space and time domain (bathymetry, mesh, timestep) 47 !----------------------------------------------------------------------- 48 nn_bathy = 1 ! compute analyticaly (=0) or read (=1) the bathymetry file 49 ! or compute (2) from external bathymetry 50 nn_interp = 1 ! type of interpolation (nn_bathy =2) 51 cn_topo = 'bathymetry_ORCA12_V3.3.nc' ! external topo file (nn_bathy =2) 52 cn_bath = 'Bathymetry' ! topo name in file (nn_bathy =2) 53 cn_lon = 'nav_lon' ! lon name in file (nn_bathy =2) 54 cn_lat = 'nav_lat' ! lat name in file (nn_bathy =2) 55 rn_scale = 1 56 rn_bathy = 0. ! value of the bathymetry. if (=0) bottom flat at jpkm1 57 jphgr_msh = 0 ! type of horizontal mesh 58 ppglam0 = 999999.0 ! longitude of first raw and column T-point (jphgr_msh = 1) 59 ppgphi0 = 999999.0 ! latitude of first raw and column T-point (jphgr_msh = 1) 60 ppe1_deg = 999999.0 ! zonal grid-spacing (degrees) 61 ppe2_deg = 999999.0 ! meridional grid-spacing (degrees) 62 ppe1_m = 999999.0 ! zonal grid-spacing (degrees) 63 ppe2_m = 999999.0 ! meridional grid-spacing (degrees) 64 ppsur = -4762.96143546300 ! ORCA r4, r2 and r05 coefficients 65 ppa0 = 255.58049070440 ! (default coefficients) 66 ppa1 = 245.58132232490 ! 67 ppkth = 21.43336197938 ! 68 ppacr = 3.0 ! 69 ppdzmin = 999999. ! Minimum vertical spacing 70 pphmax = 999999. ! Maximum depth 71 ldbletanh = .FALSE. ! Use/do not use double tanf function for vertical coordinates 72 ppa2 = 999999. ! Double tanh function parameters 73 ppkth2 = 999999. ! 74 ppacr2 = 999999. ! 75 / 76 \end{forlines} 49 77 \caption{\forcode{&namdom_domcfg}} 50 78 \label{lst:namdom_domcfg} … … 58 86 \item [{\np{jphgr_mesh}{jphgr\_mesh}=0}] The most general curvilinear orthogonal grids. 59 87 The coordinates and their first derivatives with respect to $i$ and $j$ are provided 60 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. 61 89 This is now the only option available within \NEMO\ itself from v4.0 onwards. 62 90 \item [{\np{jphgr_mesh}{jphgr\_mesh}=1 to 5}] A few simple analytical grids are provided (see below). … … 123 151 The reference coordinate transformation $z_0(k)$ defines the arrays $gdept_0$ and 124 152 $gdepw_0$ for $t$- and $w$-points, respectively. See \autoref{sec:DOMCFG_sco} for the 125 S-coordinate options. As indicated on \autoref{fig:DOM_index_vert} \ jp{jpk} is the number of126 $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 127 155 inside the ocean, the additional $t$-point at $jk = jpk$ is below the sea floor and is not 128 156 used. The vertical location of $w$- and $t$-levels is defined from the analytic … … 134 162 135 163 It is possible to define a simple regular vertical grid by giving zero stretching 136 (\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) 137 165 and \np{pphmax}{pphmax} (total ocean depth in meters) fully define the grid. 138 166 … … 146 174 \end{gather} 147 175 148 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 149 177 expression allows us to define a nearly uniform vertical location of levels at the ocean 150 178 top and bottom with a smooth hyperbolic tangent transition in between (\autoref{fig:DOMCFG_zgr}). … … 194 222 \end{equation} 195 223 196 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$, 197 225 the four coefficients $h_{sur}$, $h_0$, $h_1$, and $h_{th}$ in 198 226 \autoref{eq:DOMCFG_zgr_ana_2} have been determined such that \autoref{eq:DOMCFG_zgr_coef} … … 212 240 Values from $3$ to $10$ are usual. 213 241 \item \np{ppkth}{ppkth}~$= h_{th}$: is approximately the model level at which maximum stretching occurs 214 (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}) 215 243 \item \np{ppdzmin}{ppdzmin}: minimum thickness for the top layer (in meters). 216 244 \item \np{pphmax}{pphmax}: total depth of the ocean (meters). … … 218 246 219 247 As an example, for the $45$ layers used in the DRAKKAR configuration those parameters are: 220 \ 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$, 221 249 \np{pphmax}{pphmax}~$= 5750~m$. 222 250 … … 313 341 This is meant for the "EEL-R5" configuration, a periodic or open boundary channel with a seamount. 314 342 \item [{\np[=1]{nn_bathy}{nn\_bathy}}]: read a bathymetry and ice shelf draft (if needed). 315 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 316 344 each grid point of the model grid. 317 345 The bathymetry is usually built by interpolating a standard bathymetry product (\eg\ ETOPO2) onto … … 319 347 Defining the bathymetry also defines the coastline: where the bathymetry is zero, 320 348 no wet levels are defined (all levels are masked). 321 322 The \ifile{isfdraft\_meter} file (Netcdf format) provides the ice shelf draft (positive, in meters) at323 each grid point of the model grid.324 This file is only needed if \np[=.true.]{ln_isfcav}{ln\_isfcav}.325 Defining the ice shelf draft will also define the ice shelf edge and the grounding line position.326 349 \end{description} 327 350 … … 363 386 bathymetry varies by less than one level thickness from one grid point to the next). The 364 387 reference layer thicknesses $e_{3t}^0$ have been defined in the absence of bathymetry. 365 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 366 389 $e_{3t}(jk)$. 367 390 368 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 369 392 thickness than $e_{3t}(jpk)$: the maximum thickness allowed is $2*e_{3t}(jpk - 1)$. 370 393 … … 383 406 \subsubsection[$S$-coordinate (\forcode{ln_sco})]{$S$-coordinate (\protect\np{ln_sco}{ln\_sco})} 384 407 \label{sec:DOMCFG_sco} 408 385 409 \begin{listing} 386 \nlst{namzgr_sco_domcfg}387 410 \caption{\forcode{&namzgr_sco_domcfg}} 388 411 \label{lst:namzgr_sco_domcfg} 412 \begin{forlines} 413 !----------------------------------------------------------------------- 414 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate (default: OFF) 415 !----------------------------------------------------------------------- 416 ln_s_sh94 = .false. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 417 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 418 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 419 ! stretching coefficients for all functions 420 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 421 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 422 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 423 !!!!!!! Envelop bathymetry 424 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 425 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 426 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 427 rn_bb = 0.8 ! stretching with SH94 s-sigma 428 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 429 rn_alpha = 4.4 ! stretching with SF12 s-sigma 430 rn_efold = 0.0 ! efold length scale for transition to stretched coord 431 rn_zs = 1.0 ! depth of surface grid box 432 ! bottom cell depth (Zb) is a linear function of water depth Zb = H*a + b 433 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 434 rn_zb_b = -0.2 ! offset for calculating Zb 435 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 436 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 437 / 438 \end{forlines} 389 439 \end{listing} 390 Options are defined in \nam{zgr_sco}{zgr\_sco} (\texttt{DOMAINcfg} only). 440 441 Options are defined in \forcode{&zgr_sco} (\texttt{DOMAINcfg} only). 391 442 In $s$-coordinate (\np[=.true.]{ln_sco}{ln\_sco}), the depth and thickness of the model levels are defined from 392 443 the product of a depth field and either a stretching function or its derivative, respectively: … … 530 581 This option is described in the Report by Levier \textit{et al.} (2007), available on the \NEMO\ web site. 531 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 532 724 \subinc{\input{../../global/epilogue}} 533 725 -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/apdx_algos.tex
r11693 r14789 5 5 \chapter{Note on some algorithms} 6 6 \label{apdx:ALGOS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/apdx_diff_opers.tex
r11693 r14789 5 5 \chapter{Diffusive Operators} 6 6 \label{apdx:DIFFOPERS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/apdx_invariants.tex
r11693 r14789 5 5 \chapter{Discrete Invariants of the Equations} 6 6 \label{apdx:INVARIANTS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/apdx_s_coord.tex
r11693 r14789 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/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/apdx_triads.tex
r11693 r14789 1 1 \documentclass[../main/NEMO_manual]{subfiles} 2 3 %% Local cmds4 \newcommand{\rML}[1][i]{\ensuremath{_{\mathrm{ML}\,#1}}}5 \newcommand{\rMLt}[1][i]{\tilde{r}_{\mathrm{ML}\,#1}}6 %% Move to ../../global/new_cmds.tex to avoid error with \listoffigures7 %\newcommand{\triad}[6][]{\ensuremath{{}_{#2}^{#3}{\mathbb{#4}_{#1}}_{#5}^{\,#6}}8 \newcommand{\triadd}[5]{\ensuremath{{}_{#1}^{#2}{\mathbb{#3}}_{#4}^{\,#5}}}9 \newcommand{\triadt}[5]{\ensuremath{{}_{#1}^{#2}{\tilde{\mathbb{#3}}}_{#4}^{\,#5}}}10 \newcommand{\rtriad}[2][]{\ensuremath{\triad[#1]{i}{k}{#2}{i_p}{k_p}}}11 \newcommand{\rtriadt}[1]{\ensuremath{\triadt{i}{k}{#1}{i_p}{k_p}}}12 2 13 3 \begin{document} … … 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/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_ASM.tex
r11693 r14789 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/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_DIA.tex
r12377 r14789 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 … … 119 117 \subsection{XIOS: Reading and writing restart file} 120 118 121 XIOS may be used to read single file restart produced by \NEMO. Currently only the variables written to 122 file \forcode{numror} can be handled by XIOS. To activate restart reading using XIOS, set \np[=.true. ]{ln_xios_read}{ln\_xios\_read} 119 XIOS may be used to read single file restart produced by \NEMO. The variables written to 120 file \forcode{numror} (OCE), \forcode{numrir} (SI3), \forcode{numrtr} (TOP), \forcode{numrsr} (SED) can be handled by XIOS. 121 To activate restart reading using XIOS, set \np[=.true. ]{ln_xios_read}{ln\_xios\_read} 123 122 in \textit{namelist\_cfg}. This setting will be ignored when multiple restart files are present, and default \NEMO 124 123 functionality will be used for reading. There is no need to change iodef.xml file to use XIOS to read … … 142 141 have to be rebuild before continuing the run. This option aims to reduce number of restart files generated by \NEMO\ only, 143 142 and may be useful when there is a need to change number of processors used to run simulation. 144 145 If an additional variable must be written to a restart file, the following steps are needed:146 \begin{enumerate}147 \item Add variable name to a list of restart variables (in subroutine \rou{iom\_set\_rst\_vars,} \mdl{iom}) and148 define correct grid for the variable (\forcode{grid_N_3D} - 3D variable, \forcode{grid_N} - 2D variable, \forcode{grid_vector} -149 1D variable, \forcode{grid_scalar} - scalar),150 \item Add variable to the list of fields written by restart. This can be done either in subroutine151 \rou{iom\_set\_rstw\_core} (\mdl{iom}) or by calling \rou{iom\_set\_rstw\_active} (\mdl{iom}) with the name of a variable152 as an argument. This convention follows approach for writing restart using iom, where variables are153 written either by \rou{rst\_write} or by calling \rou{iom\_rstput} from individual routines.154 \end{enumerate}155 143 156 144 An older versions of XIOS do not support reading functionality. It's recommended to use at least XIOS2@1451. … … 676 664 \end{forlines} 677 665 678 \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} 679 667 680 668 %% ================================================================================================= … … 1952 1940 When \np[=.true.]{ln_subbas}{ln\_subbas}, transports and stream function are computed for the Atlantic, Indian, 1953 1941 Pacific and Indo-Pacific Oceans (defined north of 30\deg{S}) as well as for the World Ocean. 1954 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, 1955 1943 the Indo-Pacific mask been deduced from the sum of the Indian and Pacific mask (\autoref{fig:DIA_mask_subasins}). 1956 1944 1957 1945 \begin{listing} 1958 \nlst{namptr}1946 % \nlst{namptr} 1959 1947 \caption{\forcode{&namptr}} 1960 1948 \label{lst:namptr} -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_DIU.tex
r11693 r14789 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/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_DOM.tex
r11693 r14789 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/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_DYN.tex
r11693 r14789 5 5 \chapter{Ocean Dynamics (DYN)} 6 6 \label{chap:DYN} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 657 655 Note that expression \autoref{eq:DYN_hpg_sco} is commonly used when the variable volume formulation is activated 658 656 (\texttt{vvl?}) because in that case, even with a flat bottom, 659 the coordinate surfaces are not horizontal but follow the free surface \citep{levier.treguier.ea_ rpt07}.657 the coordinate surfaces are not horizontal but follow the free surface \citep{levier.treguier.ea_trpt07}. 660 658 The pressure jacobian scheme (\np[=.true.]{ln_dynhpg_prj}{ln\_dynhpg\_prj}) is available as 661 659 an improved option to \np[=.true.]{ln_dynhpg_sco}{ln\_dynhpg\_sco} when \texttt{vvl?} is active. … … 763 761 which imposes a very small time step when an explicit time stepping is used. 764 762 Two methods are proposed to allow a longer time step for the three-dimensional equations: 765 the filtered free surface, which is a modification of the continuous equations (see \autoref{eq:MB_flt?}),763 the filtered free surface, which is a modification of the continuous equations \iffalse (see \autoref{eq:MB_flt?}) \fi 766 764 and the split-explicit free surface described below. 767 765 The extra term introduced in the filtered method is calculated implicitly, … … 913 911 external gravity waves in idealized or weakly non-linear cases. 914 912 Although the damping is lower than for the filtered free surface, 915 it is still significant as shown by \citet{levier.treguier.ea_ rpt07} in the case of an analytical barotropic Kelvin wave.913 it is still significant as shown by \citet{levier.treguier.ea_trpt07} in the case of an analytical barotropic Kelvin wave. 916 914 917 915 \cmtgm{ %%% copy from griffies Book … … 1245 1243 the atmospheric pressure is taken into account when computing the surface pressure gradient. 1246 1244 1247 (2) When \np[=.true.]{ln_tide_pot}{ln\_tide\_pot} and \np[=.true.]{ln_tide}{ln\_tide} (see \autoref{sec:SBC_ tide}),1245 (2) When \np[=.true.]{ln_tide_pot}{ln\_tide\_pot} and \np[=.true.]{ln_tide}{ln\_tide} (see \autoref{sec:SBC_TDE}), 1248 1246 the tidal potential is taken into account when computing the surface pressure gradient. 1249 1247 -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_LBC.tex
r11693 r14789 5 5 \chapter{Lateral Boundary Condition (LBC)} 6 6 \label{chap:LBC} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 16 14 Release & Author(s) & Modifications \\ 17 15 \hline 16 {\em next} & {\em Simon M{\" u}ller} & {\em Minor update of \autoref{subsec:LBC_bdy_tides}} \\[2mm] 18 17 {\em 4.0} & {\em ...} & {\em ...} \\ 19 18 {\em 3.6} & {\em ...} & {\em ...} \\ … … 160 159 161 160 %% ================================================================================================= 162 \section [Model domain boundary condition (\forcode{jperio})]{Model domain boundary condition (\protect\jp{jperio})}161 \section{Model domain boundary condition} 163 162 \label{sec:LBC_jperio} 164 163 … … 169 168 170 169 %% ================================================================================================= 171 \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})} 172 171 \label{subsec:LBC_jperio012} 173 172 174 173 The choice of closed or cyclic model domain boundary condition is made by 175 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}. 176 175 Each time such a boundary condition is needed, it is set by a call to routine \mdl{lbclnk}. 177 176 The computation of momentum and tracer trends proceeds from $i=2$ to $i=jpi-1$ and from $j=2$ to $j=jpj-1$, … … 182 181 \begin{description} 183 182 184 \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: 185 184 first and last rows and columns are set to zero. 186 185 187 \item [For cyclic east-west boundary (\ jp{jperio}\forcode{=1})], first and last rows are set to zero (closed) whilst the first column is set 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 188 187 the value of the last-but-one column and the last column to the value of the second one 189 188 (\autoref{fig:LBC_jperio}-a). 190 189 Whatever flows out of the eastern (western) end of the basin enters the western (eastern) end. 191 190 192 \item [For cyclic north-south boundary (\ jp{jperio}\forcode{=2})], first and last columns are set to zero (closed) whilst the first row is set 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 193 192 the value of the last-but-one row and the last row to the value of the second one 194 193 (\autoref{fig:LBC_jperio}-a). 195 194 Whatever flows out of the northern (southern) end of the basin enters the southern (northern) end. 196 195 197 \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. 198 197 199 198 \end{description} … … 208 207 209 208 %% ================================================================================================= 210 \subsection [North-fold (\forcode{=3,6})]{North-fold (\protect\jp{jperio}\forcode{=3,6})}209 \subsection{North-fold (\forcode{l_NFold = .true.})} 211 210 \label{subsec:LBC_north_fold} 212 211 … … 221 220 \includegraphics[width=0.66\textwidth]{LBC_North_Fold_T} 222 221 \caption[North fold boundary in ORCA 2\deg, 1/4\deg and 1/12\deg]{ 223 North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($ jperio=4$),222 North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($c\_NFtype='T'$), 224 223 as used in ORCA 2\deg, 1/4\deg and 1/12\deg. 225 224 Pink shaded area corresponds to the inner domain mask (see text).} … … 287 286 Each processor is independent and without message passing or synchronous process, programs run alone and access just its own local memory. 288 287 For this reason, 289 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}. 290 289 These dimensions include the internal domain and the overlapping rows. 291 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}, 292 291 and must be kept to one until further notice). 293 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}. 294 293 The relationship between the whole domain and a sub-domain is: 295 294 \begin{gather*} … … 298 297 \end{gather*} 299 298 300 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. 301 300 302 301 An element of $T_{l}$, a local array (subdomain) corresponds to an element of $T_{g}$, … … 308 307 with $1 \leq i \leq jpi$, $1 \leq j \leq jpj $ , and $1 \leq k \leq jpk$. 309 308 310 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).\\ 311 310 312 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: … … 357 356 358 357 The BDY module was modelled on the OBC module (see \NEMO\ 3.4) and shares many features and 359 a similar coding structure \citep{chanut_ rpt05}.358 a similar coding structure \citep{chanut_trpt05}. 360 359 The specification of the location of the open boundary is completely flexible and 361 360 allows any type of setup, from regular boundaries to irregular contour (it includes the possibility to set an open boundary able to follow an isobath). … … 371 370 The number of boundary sets is defined by \np{nb_bdy}{nb\_bdy}. 372 371 Each boundary set can be either defined as a series of straight line segments directly in the namelist 373 (\np[=.false.]{ln_coords_file}{ln\_coords\_file}, and a namelist block \ nam{bdy_index}{bdy\_index} must be included for each set) or read in from a file (\np[=.true.]{ln_coords_file}{ln\_coords\_file}, and a ``\ifile{coordinates.bdy}'' file must be provided).374 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. 375 374 In the example above, there are two boundary sets, the first of which is defined via a file and 376 375 the second is defined in the namelist. … … 568 567 \autoref{fig:LBC_bdy_geom} shows an example of an irregular boundary. 569 568 570 The boundary geometry for each set may be defined in a namelist nambdy\_indexor571 by reading in a ``\ ifile{coordinates.bdy}'' file.572 The nambdy\_indexnamelist defines a series of straight-line segments for north, east, south and west boundaries.573 One nambdy\_indexnamelist block is needed for each boundary condition defined by indexes.569 The boundary geometry for each set may be defined in a namelist \forcode{&nambdy_index} or 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. 574 573 For the northern boundary, \texttt{nbdysegn} gives the number of segments, 575 \ jp{jpjnob} gives the $j$ index for each segment and \jp{jpindt} and576 \ 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. 577 576 These segments define a list of $T$ grid points along the outermost row of the boundary ($nbr\,=\, 1$). 578 577 The code deduces the $U$ and $V$ points and also the points for $nbr\,>\, 1$ if \np[>1]{nn_rimwidth}{nn\_rimwidth}. 579 578 580 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. 581 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. 582 581 The file should contain the index arrays for each of the $T$, $U$ and $V$ grids. … … 632 631 \centering 633 632 \includegraphics[width=0.66\textwidth]{LBC_nc_header} 634 \caption[Header for a \ protect\ifile{coordinates.bdy} file]{635 Example of the header for a \ protect\ifile{coordinates.bdy} file}633 \caption[Header for a \textit{coordinates.bdy.nc} file]{ 634 Example of the header for a \textit{coordinates.bdy.nc} file} 636 635 \label{fig:LBC_nc_header} 637 636 \end{figure} … … 665 664 666 665 Tidal forcing at open boundaries requires the activation of surface 667 tides (i.e., in \nam{_tide}{\_tide}, \np{ln_tide}{ln\_tide} needs to be set to 668 \forcode{.true.} and the required constituents need to be activated by 669 including their names in the \np{clname}{clname} array; see 670 \autoref{sec:SBC_tide}). Specific options related to the reading in of 666 tides (i.e., in \nam{_tide}{\_tide}, \np[=.true.]{ln_tide}{ln\_tide} with the active tidal 667 constituents listed in the \np{sn_tide_cnames}{sn\_tide\_cnames} array; see 668 \autoref{sec:SBC_TDE}). The specific options related to the reading in of 671 669 the complex harmonic amplitudes of elevation (SSH) and barotropic 672 velocity (u,v) atopen boundaries are defined through the673 \nam{bdy_tide}{bdy\_tide} namelist parameters.\ \670 velocity components (u,v) at the open boundaries are defined through the 671 \nam{bdy_tide}{bdy\_tide} namelist parameters.\par 674 672 675 673 The tidal harmonic data at open boundaries can be specified in two 676 674 different ways, either on a two-dimensional grid covering the entire 677 675 model domain or along open boundary segments; these two variants can 678 be selected by setting \np{ln_bdytide_2ddta }{ln\_bdytide\_2ddta } to \forcode{.true.} or 679 \forcode{.false.}, respectively. In either case, the real and 680 imaginary parts of SSH and the two barotropic velocity components for 681 each activated tidal constituent \textit{tcname} have to be provided 682 separately: when two-dimensional data is used, variables 683 \textit{tcname\_z1} and \textit{tcname\_z2} for real and imaginary SSH, 684 respectively, are expected in input file \np{filtide}{filtide} with suffix 685 \ifile{\_grid\_T}, variables \textit{tcname\_u1} and 686 \textit{tcname\_u2} for real and imaginary u, respectively, are 687 expected in input file \np{filtide}{filtide} with suffix \ifile{\_grid\_U}, and 688 \textit{tcname\_v1} and \textit{tcname\_v2} for real and imaginary v, 689 respectively, are expected in input file \np{filtide}{filtide} with suffix 690 \ifile{\_grid\_V}; when data along open boundary segments is used, 691 variables \textit{z1} and \textit{z2} (real and imaginary part of SSH) 692 are expected to be available from file \np{filtide}{filtide} with suffix 693 \ifile{tcname\_grid\_T}, variables \textit{u1} and \textit{u2} (real 694 and imaginary part of u) are expected to be available from file 695 \np{filtide}{filtide} with suffix \ifile{tcname\_grid\_U}, and variables 696 \textit{v1} and \textit{v2} (real and imaginary part of v) are 697 expected to be available from file \np{filtide}{filtide} with suffix 698 \ifile{tcname\_grid\_V}. If \np{ln_bdytide_conj}{ln\_bdytide\_conj} is set to 699 \forcode{.true.}, the data is expected to be in complex conjugate 700 form. 676 be selected by setting \np[=.true.]{ln_bdytide_2ddta}{ln\_bdytide\_2ddta} or 677 \np[=.false.]{ln_bdytide_2ddta}{ln\_bdytide\_2ddta}, respectively. In either 678 case, the real and imaginary parts of SSH, u, and v amplitudes associated with 679 each activated tidal constituent \texttt{<constituent>} have to be provided 680 separately as fields in input files with names based on 681 \np[=<input>]{filtide}{filtide}: when two-dimensional data is used, variables 682 \texttt{<constituent>\_z1} and \texttt{<constituent>\_z2} for the real and imaginary parts of 683 SSH, respectively, are expected to be available in file 684 \textit{<input>\_grid\_T.nc}, variables \texttt{<constituent>\_u1} and 685 \texttt{<constituent>\_u2} for the real and imaginary parts of u, respectively, in file 686 \textit{<input>\_grid\_U.nc}, and \texttt{<constituent>\_v1} and 687 \texttt{<constituent>\_v2} for the real and imaginary parts of v, respectively, in file 688 \textit{<input>\_grid\_V.nc}; when data along open boundary segments is used, 689 variables \texttt{z1} and \texttt{z2} (real and imaginary part of SSH) are 690 expected to be available in file \textit{<input><constituent>\_grid\_T.nc}, 691 variables \texttt{u1} and \texttt{u2} (real and imaginary part of u) in file 692 \textit{<input><constituent>\_grid\_U.nc}, and variables \texttt{v1} and \texttt{v2} 693 (real and imaginary part of v) in file 694 \textit{<input><constituent>\_grid\_V.nc}.\par 701 695 702 696 Note that the barotropic velocity components are assumed to be defined -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_LDF.tex
r11693 r14789 5 5 \chapter{Lateral Ocean Physics (LDF)} 6 6 \label{chap:LDF} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 418 416 \subsection[Deformation rate dependent viscosities (\forcode{nn_ahm_ijk_t=32})]{Deformation rate dependent viscosities (\protect\np[=32]{nn_ahm_ijk_t}{nn\_ahm\_ijk\_t})} 419 417 420 This option refers to the \citep{smagorinsky_MW 63} scheme which is here implemented for momentum only. Smagorinsky chose as a418 This option refers to the \citep{smagorinsky_MWR63} scheme which is here implemented for momentum only. Smagorinsky chose as a 421 419 characteristic time scale $T_{smag}$ the deformation rate and for the lengthscale $L_{smag}$ the maximum wavenumber possible on the horizontal grid, e.g.: 422 420 … … 540 538 \end{listing} 541 539 542 If \np[=.true.]{ln_mle}{ln\_mle} in \nam{tra_mle}{tra\_mle} namelist, a parameterization of the mixing due to unresolved mixed layer instabilities is activated (\citet{fox kemper.ferrari_JPO08}). Additional transport is computed in \rou{ldf\_mle\_trp} and added to the eulerian transport in \rou{tra\_adv} as done for eddy induced advection.540 If \np[=.true.]{ln_mle}{ln\_mle} in \nam{tra_mle}{tra\_mle} namelist, a parameterization of the mixing due to unresolved mixed layer instabilities is activated (\citet{fox-kemper.ferrari.ea_JPO08}). Additional transport is computed in \rou{ldf\_mle\_trp} and added to the eulerian transport in \rou{tra\_adv} as done for eddy induced advection. 543 541 544 542 \colorbox{yellow}{TBC} -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_OBS.tex
r11708 r14789 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). … … 892 890 \subsubsection{Running} 893 891 894 The simplest way to use the executable is to edit and append the \ textbf{sao.nml} namelist to892 The simplest way to use the executable is to edit and append the \nam{sao}{sao} namelist to 895 893 a full \NEMO\ namelist and then to run the executable as if it were nemo.exe. 896 894 … … 914 912 For example, to read the second time counter from a single file the namelist would be. 915 913 916 \begin{forlines} 914 \begin{listing} 915 \begin{forlines} 917 916 !---------------------------------------------------------------------- 918 917 ! namsao Standalone obs_oper namelist … … 924 923 nn_sao_idx = 2 925 924 / 926 \end{forlines} 925 \end{forlines} 926 \caption{\forcode{&namsao}} 927 \label{lst:namsao} 928 \end{listing} 927 929 928 930 %% ================================================================================================= … … 1119 1121 To plot some data run IDL and then: 1120 1122 1121 \begin{ minted}{idl}1123 \begin{verbatim} 1122 1124 IDL> dataplot, "filename" 1123 \end{ minted}1125 \end{verbatim} 1124 1126 1125 1127 To read multiple files into dataplot, … … 1127 1129 the easiest method is to use the spawn command to generate a list of files which can then be passed to dataplot. 1128 1130 1129 \begin{ minted}{idl}1131 \begin{verbatim} 1130 1132 IDL> spawn, 'ls profb*.nc', files 1131 1133 IDL> dataplot, files 1132 \end{ minted}1134 \end{verbatim} 1133 1135 1134 1136 \autoref{fig:OBS_dataplotmain} shows the main window which is launched when dataplot starts. -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_SBC.tex
r13165 r14789 1 1 \documentclass[../main/NEMO_manual]{subfiles} 2 \usepackage{fontspec}3 \usepackage{fontawesome}4 2 5 3 \begin{document} 6 4 7 \chapter{Surface Boundary Condition (SBC, SAS, ISF, ICB )}5 \chapter{Surface Boundary Condition (SBC, SAS, ISF, ICB, TDE)} 8 6 \label{chap:SBC} 9 10 \thispagestyle{plain}11 7 12 8 \chaptertoc … … 18 14 Release & Author(s) & Modifications \\ 19 15 \hline 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] 20 18 {\em 4.0} & {\em ...} & {\em ...} \\ 21 19 {\em 3.6} & {\em ...} & {\em ...} \\ … … 75 73 (\np[=0..3]{nn_ice}{nn\_ice}), 76 74 \item the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np[=.true.]{ln_rnf}{ln\_rnf}), 77 \item the addition of ice-shelf melting as lateral inflow (parameterisation) or78 as fluxes applied at the land-ice ocean interface (\np[=.true.]{ln_isf}{ln\_isf}),79 75 \item the addition of a freshwater flux adjustment in order to avoid a mean sea-level drift 80 76 (\np[=0..2]{nn_fwb}{nn\_fwb}), … … 100 96 One of these is modification by icebergs (see \autoref{sec:SBC_ICB_icebergs}), 101 97 which act as drifting sources of fresh water. 102 Another example of modification is that due to the ice shelf melting/freezing (see \autoref{sec:SBC_isf}),103 which provides additional sources of fresh water.104 98 105 99 %% ================================================================================================= … … 525 519 See \autoref{subsec:SBC_ssr} for its specification. 526 520 527 528 529 530 531 532 533 %% ================================================================================================= 534 \pagebreak 535 \newpage 521 %% ================================================================================================= 536 522 \section[Bulk formulation (\textit{sbcblk.F90})]{Bulk formulation (\protect\mdl{sbcblk})} 537 523 \label{sec:SBC_blk} … … 557 543 558 544 Note: all the NEMO Fortran routines involved in the present section have been 559 560 the \href{https://brodeau.github.io/aerobulk/}{\texttt{AeroBulk}} open-source project561 \citep{brodeau.barnier.ea_JPO1 7}.545 initially developed (and are still developed in parallel) in 546 the \href{https://brodeau.github.io/aerobulk}{\texttt{AeroBulk}} open-source project 547 \citep{brodeau.barnier.ea_JPO16}. 562 548 563 549 %%% Bulk formulae are this: 564 \subsection{Bulk formulae}\label{subsec:SBC_blkform} 565 % 550 \subsection{Bulk formulae} 551 \label{subsec:SBC_blkform} 552 566 553 In NEMO, the set of equations that relate each component of the surface fluxes 567 554 to the near-surface atmosphere and sea surface states writes 568 % 569 \begin{subequations}\label{eq_bulk} 555 556 \begin{subequations} 557 \label{eq:SBC_bulk} 570 558 \label{eq:SBC_bulk_form} 571 \begin{eqnarray} 572 \mathbf{\tau} &=& \rho~ C_D ~ \mathbf{U}_z ~ U_B \\ 573 Q_H &=& \rho~C_H~C_P~\big[ \theta_z - T_s \big] ~ U_B \\ 574 E &=& \rho~C_E ~\big[ q_s - q_z \big] ~ U_B \\ 575 Q_L &=& -L_v \, E \\ 576 % 577 Q_{sr} &=& (1 - a) Q_{sw\downarrow} \\ 578 Q_{ir} &=& \delta (Q_{lw\downarrow} -\sigma T_s^4) 579 \end{eqnarray} 559 \begin{align} 560 \mathbf{\tau} &= \rho~ C_D ~ \mathbf{U}_z ~ U_B \\ 561 Q_H &= \rho~C_H~C_P~\big[ \theta_z - T_s \big] ~ U_B \\ 562 E &= \rho~C_E ~\big[ q_s - q_z \big] ~ U_B \\ 563 Q_L &= -L_v \, E \\ 564 Q_{sr} &= (1 - a) Q_{sw\downarrow} \\ 565 Q_{ir} &= \delta (Q_{lw\downarrow} -\sigma T_s^4) 566 \end{align} 580 567 \end{subequations} 581 % 568 582 569 with 583 570 \[ \theta_z \simeq T_z+\gamma z \] 584 571 \[ q_s \simeq 0.98\,q_{sat}(T_s,p_a ) \] 585 %586 572 from which, the the non-solar heat flux is \[ Q_{ns} = Q_L + Q_H + Q_{ir} \] 587 %588 573 where $\mathbf{\tau}$ is the wind stress vector, $Q_H$ the sensible heat flux, 589 574 $E$ the evaporation, $Q_L$ the latent heat flux, and $Q_{ir}$ the net longwave 590 575 flux. 591 %592 576 $Q_{sw\downarrow}$ and $Q_{lw\downarrow}$ are the surface downwelling shortwave 593 577 and longwave radiative fluxes, respectively. 594 %595 578 Note: a positive sign for $\mathbf{\tau}$, $Q_H$, $Q_L$, $Q_{sr}$ or $Q_{ir}$ 596 579 implies a gain of the relevant quantity for the ocean, while a positive $E$ 597 580 implies a freshwater loss for the ocean. 598 %599 581 $\rho$ is the density of air. $C_D$, $C_H$ and $C_E$ are the bulk transfer 600 582 coefficients for momentum, sensible heat, and moisture, respectively. 601 %602 583 $C_P$ is the heat capacity of moist air, and $L_v$ is the latent heat of 603 584 vaporization of water. 604 %605 585 $\theta_z$, $T_z$ and $q_z$ are the potential temperature, absolute temperature, 606 586 and specific humidity of air at height $z$ above the sea surface, 607 587 respectively. $\gamma z$ is a temperature correction term which accounts for the 608 588 adiabatic lapse rate and approximates the potential temperature at height 609 $z$ \citep{josey.gulev.ea_2013}. 610 % 589 $z$ \citep{josey.gulev.ea_OCC13}. 611 590 $\mathbf{U}_z$ is the wind speed vector at height $z$ above the sea surface 612 (possibly referenced to the surface current $\mathbf{u_0}$, 613 section \ref{s_res1}.\ref{ss_current}). 614 % 591 (possibly referenced to the surface current $\mathbf{u_0}$).%, 592 %\autoref{s_res1}.\autoref{ss_current}). %% Undefined references 615 593 The bulk scalar wind speed, namely $U_B$, is the scalar wind speed, 616 594 $|\mathbf{U}_z|$, with the potential inclusion of a gustiness contribution. 617 %618 595 $a$ and $\delta$ are the albedo and emissivity of the sea surface, respectively.\\ 619 %620 596 %$p_a$ is the mean sea-level pressure (SLP). 621 %622 597 $T_s$ is the sea surface temperature. $q_s$ is the saturation specific humidity 623 598 of air at temperature $T_s$; it includes a 2\% reduction to account for the 624 presence of salt in seawater \citep{sverdrup.johnson.ea_ 1942,kraus.businger_QJRMS96}.599 presence of salt in seawater \citep{sverdrup.johnson.ea_bk42,kraus.businger_QJRMS96}. 625 600 Depending on the bulk parametrization used, $T_s$ can either be the temperature 626 601 at the air-sea interface (skin temperature, hereafter SSST) or at typically a 627 602 few tens of centimeters below the surface (bulk sea surface temperature, 628 603 hereafter SST). 629 %630 604 The SSST differs from the SST due to the contributions of two effects of 631 605 opposite sign, the \emph{cool skin} and \emph{warm layer} (hereafter CS and WL, 632 respectively, see section\,\ref{subsec:SBC_skin}). 633 % 606 respectively, see \autoref{subsec:SBC_skin}). 634 607 Technically, when the ECMWF or COARE* bulk parametrizations are selected 635 608 (\np[=.true.]{ln_ECMWF}{ln\_ECMWF} or \np[=.true.]{ln_COARE*}{ln\_COARE\*}), … … 639 612 640 613 For more details on all these aspects the reader is invited to refer 641 to \citet{brodeau.barnier.ea_JPO17}. 642 643 644 645 \subsection{Bulk parametrizations}\label{subsec:SBC_blk_ocean} 614 to \citet{brodeau.barnier.ea_JPO16}. 615 616 \subsection{Bulk parametrizations} 617 \label{subsec:SBC_blk_ocean} 646 618 %%%\label{subsec:SBC_param} 647 619 … … 653 625 height (from \np{rn_zqt}{rn\_zqt} to \np{rn_zu}{rn\_zu}). 654 626 655 656 657 627 For the open ocean, four bulk parametrization algorithms are available in NEMO: 628 658 629 \begin{itemize} 659 \item NCAR, formerly known as CORE, \citep{large.yeager_ rpt04,large.yeager_CD09}630 \item NCAR, formerly known as CORE, \citep{large.yeager_trpt04,large.yeager_CD09} 660 631 \item COARE 3.0 \citep{fairall.bradley.ea_JC03} 661 632 \item COARE 3.6 \citep{edson.jampana.ea_JPO13} … … 663 634 \end{itemize} 664 635 665 666 636 With respect to version 3, the principal advances in version 3.6 of the COARE 667 637 bulk parametrization are built around improvements in the representation of the 668 638 effects of waves on 669 fluxes \citep{edson.jampana.ea_JPO13,brodeau.barnier.ea_JPO1 7}. This includes639 fluxes \citep{edson.jampana.ea_JPO13,brodeau.barnier.ea_JPO16}. This includes 670 640 improved relationships of surface roughness, and whitecap fraction on wave 671 641 parameters. It is therefore recommended to chose version 3.6 over 3. 672 642 673 674 675 676 \subsection{Cool-skin and warm-layer parametrizations}\label{subsec:SBC_skin} 677 %\subsection[Cool-skin and warm-layer parameterizations 678 %(\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})} 679 %\label{subsec:SBC_skin} 680 % 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})} 645 \label{subsec:SBC_skin} 646 681 647 As opposed to the NCAR bulk parametrization, more advanced bulk 682 648 parametrizations such as COARE3.x and ECMWF are meant to be used with the skin 683 649 temperature $T_s$ rather than the bulk SST (which, in NEMO is the temperature at 684 the first T-point level, see section\,\ref{subsec:SBC_blkform}).685 % 650 the first T-point level, see \autoref{subsec:SBC_blkform}). 651 686 652 As such, the relevant cool-skin and warm-layer parametrization must be 687 653 activated through \np[=T]{ln_skin_cs}{ln\_skin\_cs} … … 692 658 693 659 For the cool-skin scheme parametrization COARE and ECMWF algorithms share the same 694 basis: \citet{fairall.bradley.ea_JGR 96}. With some minor updates based695 on \citet{zeng.beljaars_GRL05} for ECMWF , and \citet{fairall.ea_19} for COARE660 basis: \citet{fairall.bradley.ea_JGRO96}. With some minor updates based 661 on \citet{zeng.beljaars_GRL05} for ECMWF \iffalse, and \citet{fairall.ea_19?} for COARE \fi 696 662 3.6. 697 663 … … 700 666 turbulence input from Langmuir circulation). 701 667 702 Importantly, COARE warm-layer scheme \ citep{fairall.ea_19}includes a prognostic668 Importantly, COARE warm-layer scheme \iffalse \citep{fairall.ea_19?} \fi includes a prognostic 703 669 equation for the thickness of the warm-layer, while it is considered as constant 704 670 in the ECWMF algorithm. 705 706 671 707 672 \subsection{Appropriate use of each bulk parametrization} … … 713 678 temperature is the bulk SST. Hence the following namelist parameters must be 714 679 set: 715 % 716 \begin{ verbatim}680 681 \begin{forlines} 717 682 ... 718 683 ln_NCAR = .true. … … 725 690 ... 726 691 ln_humi_sph = .true. ! humidity "sn_humi" is specific humidity [kg/kg] 727 \end{verbatim} 728 692 \end{forlines} 729 693 730 694 \subsubsection{ECMWF} 731 % 695 732 696 With an atmospheric forcing based on a reanalysis of the ECMWF, such as the 733 697 Drakkar Forcing Set \citep{brodeau.barnier.ea_OM10}, we strongly recommend to … … 736 700 humidity are provided at the 2\,m height, and given that the humidity is 737 701 distributed as the dew-point temperature, the namelist must be tuned as follows: 738 % 739 \begin{ verbatim}702 703 \begin{forlines} 740 704 ... 741 705 ln_ECMWF = .true. … … 749 713 ln_humi_dpt = .true. ! humidity "sn_humi" is dew-point temperature [K] 750 714 ... 751 \end{ verbatim}752 % 715 \end{forlines} 716 753 717 Note: when \np{ln_ECMWF}{ln\_ECMWF} is selected, the selection 754 718 of \np{ln_skin_cs}{ln\_skin\_cs} and \np{ln_skin_wl}{ln\_skin\_wl} implicitly … … 756 720 respectively (found in \textit{sbcblk\_skin\_ecmwf.F90}). 757 721 758 759 722 \subsubsection{COARE 3.x} 760 % 723 761 724 Since the ECMWF parametrization is largely based on the COARE* parametrization, 762 725 the two algorithms are very similar in terms of structure and closure 763 726 approach. As such, the namelist tuning for COARE 3.x is identical to that of 764 727 ECMWF: 765 % 766 \begin{ verbatim}728 729 \begin{forlines} 767 730 ... 768 731 ln_COARE3p6 = .true. … … 771 734 ln_skin_wl = .true. ! use the warm-layer parameterization 772 735 ... 773 \end{ verbatim}736 \end{forlines} 774 737 775 738 Note: when \np[=T]{ln_COARE3p0}{ln\_COARE3p0} is selected, the selection … … 778 741 respectively (found in \textit{sbcblk\_skin\_coare.F90}). 779 742 780 781 743 %lulu 782 783 784 744 785 745 % In a typical bulk algorithm, the BTCs under neutral stability conditions are … … 791 751 % and $q_z$. 792 752 793 794 795 753 \subsection{Prescribed near-surface atmospheric state} 796 754 … … 799 757 different bulk formulae are used for the turbulent fluxes computation over the 800 758 ocean and over sea-ice surface. 801 %802 759 803 760 %The choice is made by setting to true one of the following namelist … … 861 818 the namsbc\_blk namelist (see \autoref{subsec:SBC_fldread}). 862 819 863 864 820 \subsubsection{Air humidity} 865 821 … … 867 823 [kg/kg], relative humidity [\%], or dew-point temperature [K] (LINK to namelist 868 824 parameters)... 869 870 871 ~\\872 873 874 875 876 877 878 879 880 881 825 882 826 %% ================================================================================================= … … 888 832 %their neutral transfer coefficients relationships with neutral wind. 889 833 %\begin{itemize} 890 %\item NCAR (\np[=.true.]{ln_NCAR}{ln\_NCAR}): The NCAR bulk formulae have been developed by \citet{large.yeager_ rpt04}.834 %\item NCAR (\np[=.true.]{ln_NCAR}{ln\_NCAR}): The NCAR bulk formulae have been developed by \citet{large.yeager_trpt04}. 891 835 % They have been designed to handle the NCAR forcing, a mixture of NCEP reanalysis and satellite data. 892 836 % They use an inertial dissipative method to compute the turbulent transfer coefficients 893 837 % (momentum, sensible heat and evaporation) from the 10m wind speed, air temperature and specific humidity. 894 % This \citet{large.yeager_ rpt04} dataset is available through838 % This \citet{large.yeager_trpt04} dataset is available through 895 839 % the \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/NCAR.html}{GFDL web site}. 896 840 % Note that substituting ERA40 to NCEP reanalysis fields does not require changes in the bulk formulea themself. … … 907 851 \label{subsec:SBC_blk_ice} 908 852 909 910 853 \texttt{\#out\_of\_place:} 911 854 For sea-ice, three possibilities can be selected: 912 855 a constant transfer coefficient (1.4e-3; default 913 value), \citet{lupkes.gryanik.ea_JGR 12} (\np{ln_Cd_L12}{ln\_Cd\_L12}),856 value), \citet{lupkes.gryanik.ea_JGRA12} (\np{ln_Cd_L12}{ln\_Cd\_L12}), 914 857 and \citet{lupkes.gryanik_JGR15} (\np{ln_Cd_L15}{ln\_Cd\_L15}) parameterizations 915 858 \texttt{\#out\_of\_place.} 916 859 917 918 919 920 860 Surface turbulent fluxes between sea-ice and the atmosphere can be computed in three different ways: 921 861 922 862 \begin{itemize} 923 \item Constant value (\ np[ Cd_ice=1.4e-3 ]{constant value}{constant\ value}):863 \item Constant value (\forcode{Cd_ice=1.4e-3}): 924 864 default constant value used for momentum and heat neutral transfer coefficients 925 \item \citet{lupkes.gryanik.ea_JGR 12} (\np[=.true.]{ln_Cd_L12}{ln\_Cd\_L12}):865 \item \citet{lupkes.gryanik.ea_JGRA12} (\np[=.true.]{ln_Cd_L12}{ln\_Cd\_L12}): 926 866 This scheme adds a dependency on edges at leads, melt ponds and flows 927 867 of the constant neutral air-ice drag. After some approximations, … … 1013 953 1014 954 %% ================================================================================================= 1015 \section [Surface tides (\textit{sbctide.F90})]{Surface tides (\protect\mdl{sbctide})}1016 \label{sec:SBC_ tide}955 \section{Surface tides (TDE)} 956 \label{sec:SBC_TDE} 1017 957 1018 958 \begin{listing} … … 1022 962 \end{listing} 1023 963 1024 The tidal forcing, generated by the gravity forces of the Earth-Moon and Earth-Sun sytems, 1025 is activated if \np{ln_tide}{ln\_tide} and \np{ln_tide_pot}{ln\_tide\_pot} are both set to \forcode{.true.} in \nam{_tide}{\_tide}. 1026 This translates as an additional barotropic force in the momentum \autoref{eq:MB_PE_dyn} such that: 964 \subsection{Tidal constituents} 965 Ocean model component TDE provides the common functionality for tidal forcing 966 and tidal analysis in the model framework. This includes the computation of the gravitational 967 surface forcing, as well as support for lateral forcing at open boundaries (see 968 \autoref{subsec:LBC_bdy_tides}) and tidal harmonic analysis \iffalse (see 969 \autoref{subsec:DIA_diamlr?} and \autoref{subsec:DIA_diadetide?}) \fi . The module is 970 activated with \np[=.true.]{ln_tide}{ln\_tide} in namelist 971 \nam{_tide}{\_tide}. It provides the same 34 tidal constituents that are 972 included in the 973 \href{https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes.html}{FES2014 974 ocean tide model}: Mf, Mm, Ssa, Mtm, Msf, Msqm, Sa, K1, O1, P1, Q1, J1, S1, 975 M2, S2, N2, K2, nu2, mu2, 2N2, L2, T2, eps2, lam2, R2, M3, MKS2, MN4, MS4, M4, 976 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 978 set to \forcode{0}, in which case the 19 tidal constituents (M2, N2, 2N2, S2, 979 K2, K1, O1, Q1, P1, M4, Mf, Mm, Msqm, Mtm, S1, MU2, NU2, L2, and T2; see file 980 \textit{tide.h90}) and associated parameters that have been available in NEMO version 981 4.0 and earlier are available}. Constituents to be included in the tidal forcing 982 (surface and lateral boundaries) are selected by enumerating their respective 983 names in namelist array \np{sn_tide_cnames}{sn\_tide\_cnames}.\par 984 985 \subsection{Surface tidal forcing} 986 Surface tidal forcing can be represented in the model through an additional 987 barotropic force in the momentum equation (\autoref{eq:MB_PE_dyn}) such that: 1027 988 \[ 1028 % \label{eq:SBC_PE_dyn_tides} 1029 \frac{\partial {\mathrm {\mathbf U}}_h }{\partial t}= ... 1030 +g\nabla (\Pi_{eq} + \Pi_{sal}) 989 \frac{\partial {\mathrm {\mathbf U}}_h }{\partial t} = \ldots +g\nabla (\gamma 990 \Pi_{eq} + \Pi_{sal}) 1031 991 \] 1032 where $\Pi_{eq}$ stands for the equilibrium tidal forcing and 1033 $\Pi_{sal}$ is a self-attraction and loading term (SAL). 1034 1035 The equilibrium tidal forcing is expressed as a sum over a subset of 1036 constituents chosen from the set of available tidal constituents 1037 defined in file \hf{SBC/tide} (this comprises the tidal 1038 constituents \textit{M2, N2, 2N2, S2, K2, K1, O1, Q1, P1, M4, Mf, Mm, 1039 Msqm, Mtm, S1, MU2, NU2, L2}, and \textit{T2}). Individual 1040 constituents are selected by including their names in the array 1041 \np{clname}{clname} in \nam{_tide}{\_tide} (e.g., \np{clname}{clname}\forcode{(1)='M2', } 1042 \np{clname}{clname}\forcode{(2)='S2'} to select solely the tidal consituents \textit{M2} 1043 and \textit{S2}). Optionally, when \np{ln_tide_ramp}{ln\_tide\_ramp} is set to 1044 \forcode{.true.}, the equilibrium tidal forcing can be ramped up 1045 linearly from zero during the initial \np{rdttideramp}{rdttideramp} days of the 1046 model run. 992 where $\gamma \Pi_{eq}$ stands for the equilibrium tidal forcing scaled by a spatially 993 uniform tilt factor $\gamma$, and $\Pi_{sal}$ is an optional 994 self-attraction and loading term (SAL). These additional terms are enabled when, 995 in addition to \np[=.true.]{ln_tide}{ln\_tide}), 996 \np[=.true.]{ln_tide_pot}{ln\_tide\_pot}.\par 997 998 The equilibrium tidal forcing is expressed as a sum over the subset of 999 constituents listed in \np{sn_tide_cnames}{sn\_tide\_cnames} of 1000 \nam{_tide} (e.g., 1001 \begin{forlines} 1002 sn_tide_cnames(1) = 'M2' 1003 sn_tide_cnames(2) = 'K1' 1004 sn_tide_cnames(3) = 'S2' 1005 sn_tide_cnames(4) = 'O1' 1006 \end{forlines} 1007 to select the four tidal constituents of strongest equilibrium tidal 1008 potential). The tidal tilt factor $\gamma = 1 + k - h$ includes the 1009 Love numbers $k$ and $h$ \citep{love_PRSL09}; this factor is 1010 configurable using \np{rn_tide_gamma}{rn\_tide\_gamma} (default value 0.7). Optionally, 1011 when \np[=.true.]{ln_tide_ramp}{ln\_tide\_ramp}, the equilibrium tidal 1012 forcing can be ramped up linearly from zero during the initial 1013 \np{rn_tide_ramp_dt}{rn\_tide\_ramp\_dt} days of the model run.\par 1047 1014 1048 1015 The SAL term should in principle be computed online as it depends on 1049 1016 the model tidal prediction itself (see \citet{arbic.garner.ea_DSR04} for a 1050 discussion about the practical implementation of this term). 1051 Nevertheless, the complex calculations involved would make this 1052 computationally too expensive. Here, two options are available: 1053 $\Pi_{sal}$ generated by an external model can be read in 1054 (\np[=.true.]{ln_read_load}{ln\_read\_load}), or a ``scalar approximation'' can be 1055 used (\np[=.true.]{ln_scal_load}{ln\_scal\_load}). In the latter case 1017 discussion about the practical implementation of this term). The complex 1018 calculations involved in such computations, however, are computationally very 1019 expensive. Here, two mutually exclusive simpler variants are available: 1020 amplitudes generated by an external model for oscillatory $\Pi_{sal}$ 1021 contributions from each of the selected tidal constituents can be read in 1022 (\np[=.true.]{ln_read_load}{ln\_read\_load}) from the file specified in 1023 \np{cn_tide_load}{cn\_tide\_load} (the variable names are comprised of the 1024 tidal-constituent name and suffixes \forcode{_z1} and \forcode{_z2} for the two 1025 orthogonal components, respectively); alternatively, a ``scalar approximation'' 1026 can be used (\np[=.true.]{ln_scal_load}{ln\_scal\_load}), where 1056 1027 \[ 1057 1028 \Pi_{sal} = \beta \eta, 1058 1029 \] 1059 where $\beta$ (\np{rn_scal_load}{rn\_scal\_load} with a default value of 0.094) is a 1060 spatially constant scalar, often chosen to minimize tidal prediction 1061 errors. Setting both \np{ln_read_load}{ln\_read\_load} and \np{ln_scal_load}{ln\_scal\_load} to 1062 \forcode{.false.} removes the SAL contribution. 1030 with a spatially uniform coefficient $\beta$, which can be configured 1031 via \np{rn_scal_load}{rn\_scal\_load} (default value 0.094) and is 1032 often tuned to minimize tidal prediction errors.\par 1033 1034 For diagnostic purposes, the forcing potential of the individual tidal 1035 constituents (incl. load ptential, if activated) and the total forcing 1036 potential (incl. load potential, if activated) can be made available 1037 as diagnostic output by setting 1038 \np[=.true.]{ln_tide_dia}{ln\_tide\_dia} (fields 1039 \forcode{tide_pot_<constituent>} and \forcode{tide_pot}).\par 1063 1040 1064 1041 %% ================================================================================================= … … 1201 1178 1202 1179 %% ================================================================================================= 1203 \section[Ice shelf melting (\textit{sbcisf.F90})]{Ice shelf melting (\protect\mdl{sbcisf})}1180 \section[Ice Shelf (ISF)]{Interaction with ice shelves (ISF)} 1204 1181 \label{sec:SBC_isf} 1205 1182 1206 1183 \begin{listing} 1207 \nlst{nam sbc_isf}1208 \caption{\forcode{&nam sbc_isf}}1209 \label{lst:nam sbc_isf}1184 \nlst{namisf} 1185 \caption{\forcode{&namisf}} 1186 \label{lst:namisf} 1210 1187 \end{listing} 1211 1188 1212 The namelist variable in \nam{sbc}{sbc}, \np{nn_isf}{nn\_isf}, controls the ice shelf representation. 1213 Description and result of sensitivity test to \np{nn_isf}{nn\_isf} are presented in \citet{mathiot.jenkins.ea_GMD17}. 1214 The different options are illustrated in \autoref{fig:SBC_isf}. 1215 1189 The namelist variable in \nam{isf}{isf}, \np{ln_isf}{ln\_isf}, controls the ice shelf interactions: 1216 1190 \begin{description} 1217 \item [{\np[=1]{nn_isf}{nn\_isf}}]: The ice shelf cavity is represented (\np[=.true.]{ln_isfcav}{ln\_isfcav} needed). 1218 The fwf and heat flux are depending of the local water properties. 1219 1220 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} 1221 1328 1222 1329 \begin{description} 1223 \item [{\np[=1]{nn_isfblk}{nn\_isfblk}}]: The melt rate is based on a balance between the upward ocean heat flux and 1224 the latent heat flux at the ice shelf base. A complete description is available in \citet{hunter_rpt06}. 1225 \item [{\np[=2]{nn_isfblk}{nn\_isfblk}}]: The melt rate and the heat flux are based on a 3 equations formulation 1226 (a heat flux budget at the ice base, a salt flux budget at the ice base and a linearised freezing point temperature equation). 1227 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 1228 1353 \end{description} 1229 1354 1230 Temperature and salinity used to compute the melt are the average temperature in the top boundary layer \citet{losch_JGR08}. 1231 Its thickness is defined by \np{rn_hisf_tbl}{rn\_hisf\_tbl}. 1232 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. 1233 Then, the fluxes are spread over the same thickness (ie over one or several cells). 1234 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. 1235 This can lead to super-cool temperature in the top cell under melting condition. 1236 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.\\ 1237 1238 Each melt bulk formula depends on a exchange coeficient ($\Gamma^{T,S}$) between the ocean and the ice. 1239 There are 3 different ways to compute the exchange coeficient: 1240 \begin{description} 1241 \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}. 1242 \begin{gather*} 1243 % \label{eq:SBC_isf_gamma_iso} 1244 \gamma^{T} = rn\_gammat0 \\ 1245 \gamma^{S} = rn\_gammas0 1246 \end{gather*} 1247 This is the recommended formulation for ISOMIP. 1248 \item [{\np[=1]{nn_gammablk}{nn\_gammablk}}]: The salt and heat exchange coefficients are velocity dependent and defined as 1249 \begin{gather*} 1250 \gamma^{T} = rn\_gammat0 \times u_{*} \\ 1251 \gamma^{S} = rn\_gammas0 \times u_{*} 1252 \end{gather*} 1253 where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_hisf_tbl}{rn\_hisf\_tbl} meters). 1254 See \citet{jenkins.nicholls.ea_JPO10} for all the details on this formulation. It is the recommended formulation for realistic application. 1255 \item [{\np[=2]{nn_gammablk}{nn\_gammablk}}]: The salt and heat exchange coefficients are velocity and stability dependent and defined as: 1256 \[ 1257 \gamma^{T,S} = \frac{u_{*}}{\Gamma_{Turb} + \Gamma^{T,S}_{Mole}} 1258 \] 1259 where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn_hisf_tbl}{rn\_hisf\_tbl} meters), 1260 $\Gamma_{Turb}$ the contribution of the ocean stability and 1261 $\Gamma^{T,S}_{Mole}$ the contribution of the molecular diffusion. 1262 See \citet{holland.jenkins_JPO99} for all the details on this formulation. 1263 This formulation has not been extensively tested in \NEMO\ (not recommended). 1264 \end{description} 1265 \item [{\np[=2]{nn_isf}{nn\_isf}}]: The ice shelf cavity is not represented. 1266 The fwf and heat flux are computed using the \citet{beckmann.goosse_OM03} parameterisation of isf melting. 1267 The fluxes are distributed along the ice shelf edge between the depth of the average grounding line (GL) 1268 (\np{sn_depmax_isf}{sn\_depmax\_isf}) and the base of the ice shelf along the calving front 1269 (\np{sn_depmin_isf}{sn\_depmin\_isf}) as in (\np[=3]{nn_isf}{nn\_isf}). 1270 The effective melting length (\np{sn_Leff_isf}{sn\_Leff\_isf}) is read from a file. 1271 \item [{\np[=3]{nn_isf}{nn\_isf}}]: The ice shelf cavity is not represented. 1272 The fwf (\np{sn_rnfisf}{sn\_rnfisf}) is prescribed and distributed along the ice shelf edge between 1273 the depth of the average grounding line (GL) (\np{sn_depmax_isf}{sn\_depmax\_isf}) and 1274 the base of the ice shelf along the calving front (\np{sn_depmin_isf}{sn\_depmin\_isf}). 1275 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 1276 \item [{\np[=4]{nn_isf}{nn\_isf}}]: The ice shelf cavity is opened (\np[=.true.]{ln_isfcav}{ln\_isfcav} needed). 1277 However, the fwf is not computed but specified from file \np{sn_fwfisf}{sn\_fwfisf}). 1278 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 1279 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}) 1280 \end{description} 1281 1282 $\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 1283 1356 the water mass properties, ocean velocities and depth. 1284 Th is flux is thus highly dependent of the model resolution (horizontal and vertical),1285 realism of the water masses onto the shelf ...\\1286 1287 $\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. 1288 1361 You have total control of the fwf forcing. 1289 1362 This can be useful if the water masses on the shelf are not realistic or 1290 1363 the resolution (horizontal/vertical) are too coarse to have realistic melting or 1291 for studies where you need to control your heat and fw input.\\ 1292 1293 The ice shelf melt is implemented as a volume flux as for the runoff. 1294 The fw addition due to the ice shelf melting is, at each relevant depth level, added to 1295 the horizontal divergence (\textit{hdivn}) in the subroutine \rou{sbc\_isf\_div}, called from \mdl{divhor}. 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}. 1296 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}. 1297 1374 1298 1375 \begin{figure}[!t] 1299 1376 \centering 1300 \includegraphics[width=0.66\textwidth]{SBC_isf }1377 \includegraphics[width=0.66\textwidth]{SBC_isf_v4.2} 1301 1378 \caption[Ice shelf location and fresh water flux definition]{ 1302 1379 Illustration of the location where the fwf is injected and 1303 whether or not the fwf is interacti f or not depending of \protect\np{nn_isf}{nn\_isf}.}1304 \label{fig: SBC_isf}1380 whether or not the fwf is interactive or not.} 1381 \label{fig:ISF} 1305 1382 \end{figure} 1306 1383 1307 %% ================================================================================================= 1308 \section{Ice sheet coupling} 1309 \label{sec:SBC_iscpl} 1310 1311 \begin{listing} 1312 \nlst{namsbc_iscpl} 1313 \caption{\forcode{&namsbc_iscpl}} 1314 \label{lst:namsbc_iscpl} 1315 \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} 1316 1427 1317 1428 Ice sheet/ocean coupling is done through file exchange at the restart step. 1318 At each restart step :1319 1320 \begin{ enumerate}1321 \item the ice sheet model send a new bathymetry and ice shelf draft netcdf file.1322 \item a new domcfg.nc file is built using the DOMAINcfg tools.1323 \item \NEMO\run for a specific period and output the average melt rate over the period.1324 \item the ice sheet model run using the melt rate outputed in step 4.1325 \item go back to 1.1326 \end{ enumerate}1327 1328 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 1329 1440 potentially some new wet/dry cells due to the ice sheet dynamics/thermodynamics. 1330 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: 1331 1442 1332 1443 \begin{description} 1333 \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 1334 ($bt_b=bt_n$). 1335 \item [Enlarge a cell]: See case "Thin a cell down" 1336 \item [Dry a cell]: mask, T/S, U/V and ssh are set to 0. 1337 Furthermore, U/V into the water column are modified to satisfy ($bt_b=bt_n$). 1338 \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. 1339 If no neighbours, T/S is extrapolated from old top cell value. 1340 If no neighbours along i,j and k (both previous test failed), T/S/U/V/ssh and mask are set to 0. 1341 \item [Dry a column]: mask, T/S, U/V are set to 0 everywhere in the column and ssh set to 0. 1342 \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. 1343 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. 1344 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.\\ 1345 1471 1346 1472 Furthermore, as the before and now fields are not compatible (modification of the geometry), … … 1349 1475 The horizontal extrapolation to fill new cell with realistic value is called \np{nn_drown}{nn\_drown} times. 1350 1476 It means that if the grounding line retreat by more than \np{nn_drown}{nn\_drown} cells between 2 coupling steps, 1351 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. 1352 1478 The default number is set up for the MISOMIP idealised experiments. 1353 1479 This coupling procedure is able to take into account grounding line and calving front migration. 1354 However, it is a non-conservative proc esse.1480 However, it is a non-conservative proccess. 1355 1481 This could lead to a trend in heat/salt content and volume.\\ 1356 1482 1357 1483 In order to remove the trend and keep the conservation level as close to 0 as possible, 1358 a simple conservation scheme is available with \np[=.true.]{ln_hsb}{ln\_hsb}. 1359 The heat/salt/vol. gain/loss is diagnosed, as well as the location. 1360 A correction increment is computed and apply each time step during the next \np{rn_fiscpl}{rn\_fiscpl} time steps. 1361 For safety, it is advised to set \np{rn_fiscpl}{rn\_fiscpl} equal to the coupling period (smallest increment possible). 1362 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). 1363 1488 1364 1489 %% ================================================================================================= … … 1409 1534 Melt water (and other variables on the configuration grid) are written into the main \NEMO\ model output files. 1410 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. 1542 1411 1543 Extensive diagnostics can be produced. 1412 1544 Separate output files are maintained for human-readable iceberg information. … … 1465 1597 Then using the routine \rou{sbcblk\_algo\_ncar} and starting from the neutral drag coefficent provided, 1466 1598 the drag coefficient is computed according to the stable/unstable conditions of the 1467 air-sea interface following \citet{large.yeager_ rpt04}.1599 air-sea interface following \citet{large.yeager_trpt04}. 1468 1600 1469 1601 %% ================================================================================================= … … 1576 1708 1577 1709 The surface stress felt by the ocean is the atmospheric stress minus the net stress going 1578 into the waves \citep{janssen.breivik.ea_ rpt13}. Therefore, when waves are growing, momentum and energy is spent and is not1710 into the waves \citep{janssen.breivik.ea_trpt13}. Therefore, when waves are growing, momentum and energy is spent and is not 1579 1711 available for forcing the mean circulation, while in the opposite case of a decaying sea 1580 1712 state, more momentum is available for forcing the ocean. … … 1795 1927 \label{subsec:SBC_fwb} 1796 1928 1797 For global ocean simulation, it can be useful to introduce a control of the mean sea level in order to 1798 prevent unrealistic drift of the sea surface height due to inaccuracy in the freshwater fluxes. 1799 In \NEMO, two way of controlling the freshwater budget are proposed: 1929 \begin{listing} 1930 \nlst{namsbc_fwb} 1931 \caption{\forcode{&namsbc_fwb}} 1932 \label{lst:namsbc_fwb} 1933 \end{listing} 1934 1935 For global ocean simulations, it can be useful to introduce a control of the 1936 mean sea level in order to prevent unrealistic drifting of the sea surface 1937 height due to unbalanced freshwater fluxes. In \NEMO, two options for 1938 controlling the freshwater budget are proposed. 1800 1939 1801 1940 \begin{description} 1802 \item [{\np[=0]{nn_fwb}{nn\_fwb}} ] no control at all.1803 The mean sea level isfree to drift, and will certainly do so.1804 \item [{\np[=1]{nn_fwb}{nn\_fwb}} ] global mean \textit{emp}set to zero at each model time step.1941 \item [{\np[=0]{nn_fwb}{nn\_fwb}}:] No control at all; the mean sea level is 1942 free to drift, and will certainly do so. 1943 \item [{\np[=1]{nn_fwb}{nn\_fwb}}:] The global mean \textit{emp} is set to zero at each model time step. 1805 1944 %GS: comment below still relevant ? 1806 1945 %Note that with a sea-ice model, this technique only controls the mean sea level with linear free surface and no mass flux between ocean and ice (as it is implemented in the current ice-ocean coupling). 1807 \item [{\np[=2]{nn_fwb}{nn\_fwb}}] freshwater budget is adjusted from the previous year annual mean budget which 1808 is read in the \textit{EMPave\_old.dat} file. 1809 As the model uses the Boussinesq approximation, the annual mean fresh water budget is simply evaluated from 1810 the change in the mean sea level at January the first and saved in the \textit{EMPav.dat} file. 1946 \item [{\np[=2]{nn_fwb}{nn\_fwb}}:] \textit{emp} is adjusted by adding a 1947 spatially uniform, annual-mean freshwater flux that balances the freshwater 1948 budget at the end of the previous year; as the model uses the Boussinesq 1949 approximation, the freshwater budget can be evaluated from the change in the 1950 mean sea level and in the ice and snow mass after the end of each simulation 1951 year; at the start of the model run, an initial adjustment flux can be set 1952 using parameter \np{rn_rwb0}{rn\_fwb0} in namelist \nam{sbc_fwb}{sbc\_fwb}. 1811 1953 \end{description} 1812 1954 -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_STO.tex
r11693 r14789 5 5 \chapter{Stochastic Parametrization of EOS (STO)} 6 6 \label{chap:STO} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_TRA.tex
r13476 r14789 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/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_ZDF.tex
r13461 r14789 1 1 \documentclass[../main/NEMO_manual]{subfiles} 2 3 %% Custom aliases4 \newcommand{\cf}{\ensuremath{C\kern-0.14em f}}5 2 6 3 \begin{document} … … 8 5 \chapter{Vertical Ocean Physics (ZDF)} 9 6 \label{chap:ZDF} 10 11 \thispagestyle{plain}12 7 13 8 \chaptertoc … … 198 193 $\bar{e}_o = e_{bb} |\tau| / \rho_o$, with $e_{bb}$ the \np{rn_ebb}{rn\_ebb} namelist parameter. 199 194 The default value of $e_{bb}$ is 3.75. \citep{gaspar.gregoris.ea_JGR90}), however a much larger value can be used when 200 taking into account the surface wave breaking (see below Eq.\autoref{eq:ZDF_Esbc}).195 taking into account the surface wave breaking (see below \autoref{eq:ZDF_Esbc}). 201 196 The bottom value of TKE is assumed to be equal to the value of the level just above. 202 197 The time integration of the $\bar{e}$ equation may formally lead to negative values because … … 532 527 the TKE case described in \autoref{subsec:ZDF_tke_ene} \citep{burchard_OM02}. 533 528 Evaluation of the 4 GLS turbulent closure schemes can be found in \citet{warner.sherwood.ea_OM05} in ROMS model and 534 in \citet{reffray. guillaume.ea_GMD15} for the \NEMO\ model.529 in \citet{reffray.bourdalle-badie.ea_GMD15} for the \NEMO\ model. 535 530 536 531 % ------------------------------------------------------------------------------------------------------------- … … 594 589 Obsolete namelist parameters include: 595 590 \begin{description} 596 597 598 599 600 601 602 591 \item \protect\np{ln_use_osm_la}\np{ln\_use\_osm\_la} With \protect\np[=0]{nn_osm_wave}{nn\_osm\_wave}, 592 \protect\np{rn_osm_dstokes} {rn\_osm\_dstokes} is always used to specify the Stokes 593 penetration depth. 594 \item \protect\np{nn_ave} {nn\_ave} Choice of averaging method for KPP-style Ri \# 595 mixing. Not taken account of. 596 \item \protect\np{rn_osm_hbl0} {rn\_osm\_hbl0} Depth of initial boundary layer is now set 597 by a density criterion similar to that used in calculating \emph{hmlp} (output as \texttt{mldr10\_1}) in \mdl{zdfmxl}. 603 598 \end{description} 604 599 … … 608 603 classical shear turbulence. Instead they are in a regime known as 609 604 `Langmuir turbulence', dominated by an 610 interaction between the currents and the Stokes drift of the surface waves \citep[e.g.][]{mcwilliams. ea_JFM97}.605 interaction between the currents and the Stokes drift of the surface waves \citep[e.g.][]{mcwilliams.sullivan.ea_JFM97}. 611 606 This regime is characterised by strong vertical turbulent motion, and appears when the surface Stokes drift $u_{s0}$ is much greater than the friction velocity $u_{\ast}$. More specifically Langmuir turbulence is thought to be crucial where the turbulent Langmuir number $\mathrm{La}_{t}=(u_{\ast}/u_{s0}) > 0.4$. 612 607 … … 617 612 The OSMOSIS turbulent closure scheme is a similarity-scale scheme in 618 613 the same spirit as the K-profile 619 parameterization (KPP) scheme of \citet{large. ea_RG97}.614 parameterization (KPP) scheme of \citet{large.mcwilliams.ea_RG94}. 620 615 A specified shape of diffusivity, scaled by the (OSBL) depth 621 616 $h_{\mathrm{BL}}$ and a turbulent velocity scale, is imposed throughout the … … 628 623 as in KPP, it is set by a prognostic equation that is informed by 629 624 energy budget considerations reminiscent of the classical mixed layer 630 models of \citet{kraus.turner_ tellus67}.625 models of \citet{kraus.turner_T67}. 631 626 The model also includes an explicit parametrization of the structure 632 627 of the pycnocline (the stratified region at the bottom of the OSBL). 633 628 634 629 Presently, mixing below the OSBL is handled by the Richardson 635 number-dependent mixing scheme used in \citet{large. ea_RG97}.636 637 Convective parameterizations such as described in \ ref{sec:ZDF_conv}630 number-dependent mixing scheme used in \citet{large.mcwilliams.ea_RG94}. 631 632 Convective parameterizations such as described in \autoref{sec:ZDF_conv} 638 633 below should not be used with the OSMOSIS-OBL model: instabilities 639 634 within the OSBL are part of the model, while instabilities below the … … 641 636 642 637 \subsubsection{Depth and velocity scales} 643 The model supposes a boundary layer of thickness $h_{\mathrm{bl}}$ enclosing a well-mixed layer of thickness $h_{\mathrm{ml}}$ and a relatively thin pycnocline at the base of thickness $\Delta h$; Fig.~\ref{fig:OSBL_structure} shows typical (a) buoyancy structure and (b) turbulent buoyancy flux profile for the unstable boundary layer (losing buoyancy at the surface; e.g.\ cooling).638 The model supposes a boundary layer of thickness $h_{\mathrm{bl}}$ enclosing a well-mixed layer of thickness $h_{\mathrm{ml}}$ and a relatively thin pycnocline at the base of thickness $\Delta h$; \autoref{fig:OSBL_structure} shows typical (a) buoyancy structure and (b) turbulent buoyancy flux profile for the unstable boundary layer (losing buoyancy at the surface; e.g.\ cooling). 644 639 \begin{figure}[!t] 645 640 \begin{center} 646 641 %\includegraphics[width=0.7\textwidth]{ZDF_OSM_structure_of_OSBL} 647 642 \caption{ 648 \protect\label{fig: 643 \protect\label{fig:OSBL_structure} 649 644 The structure of the entraining boundary layer. (a) Mean buoyancy profile. (b) Profile of the buoyancy flux. 650 645 } … … 654 649 655 650 Consideration of the power input by wind acting on the Stokes drift suggests that the Langmuir turbulence has velocity scale: 656 \begin{equation}\label{eq:w_La} 657 w_{*L}= \left(u_*^2 u_{s\,0}\right)^{1/3}; 651 \begin{equation} 652 \label{eq:ZDF_w_La} 653 w_{*L}= \left(u_*^2 u_{s\,0}\right)^{1/3}; 658 654 \end{equation} 659 655 but at times the Stokes drift may be weak due to e.g.\ ice cover, short fetch, misalignment with the surface stress, etc.\ so a composite velocity scale is assumed for the stable (warming) boundary layer: 660 \begin{equation}\label{eq:composite-nu} 656 \begin{equation} 657 \label{eq:ZDF_composite-nu} 661 658 \nu_{\ast}= \left\{ u_*^3 \left[1-\exp(-.5 \mathrm{La}_t^2)\right]+w_{*L}^3\right\}^{1/3}. 662 659 \end{equation} 663 660 For the unstable boundary layer this is merged with the standard convective velocity scale $w_{*C}=\left(\overline{w^\prime b^\prime}_0 \,h_\mathrm{ml}\right)^{1/3}$, where $\overline{w^\prime b^\prime}_0$ is the upwards surface buoyancy flux, to give: 664 \begin{equation}\label{eq:vel-scale-unstable} 665 \omega_* = \left(\nu_*^3 + 0.5 w_{*C}^3\right)^{1/3}. 661 \begin{equation} 662 \label{eq:ZDF_vel-scale-unstable} 663 \omega_* = \left(\nu_*^3 + 0.5 w_{*C}^3\right)^{1/3}. 666 664 \end{equation} 667 665 668 666 \subsubsection{The flux gradient model} 669 667 The flux-gradient relationships used in the OSMOSIS scheme take the form: 670 % 671 \begin{equation}\label{eq:flux-grad-gen} 672 \overline{w^\prime\chi^\prime}=-K\frac{\partial\overline{\chi}}{\partial z} + N_{\chi,s} +N_{\chi,b} +N_{\chi,t}, 673 \end{equation} 674 % 668 669 \begin{equation} 670 \label{eq:ZDF_flux-grad-gen} 671 \overline{w^\prime\chi^\prime}=-K\frac{\partial\overline{\chi}}{\partial z} + N_{\chi,s} +N_{\chi,b} +N_{\chi,t}, 672 \end{equation} 673 675 674 where $\chi$ is a general variable and $N_{\chi,s}, N_{\chi,b} \mathrm{and} N_{\chi,t}$ are the non-gradient terms, and represent the effects of the different terms in the turbulent flux-budget on the transport of $\chi$. $N_{\chi,s}$ represents the effects that the Stokes shear has on the transport of $\chi$, $N_{\chi,b}$ the effect of buoyancy, and $N_{\chi,t}$ the effect of the turbulent transport. The same general form for the flux-gradient relationship is used to parametrize the transports of momentum, heat and salinity. 676 675 677 676 In terms of the non-dimensionalized depth variables 678 % 679 \begin{equation}\label{eq:sigma} 680 \sigma_{\mathrm{ml}}= -z/h_{\mathrm{ml}}; \;\sigma_{\mathrm{bl}}= -z/h_{\mathrm{bl}}, 681 \end{equation} 682 % 677 678 \begin{equation} 679 \label{eq:ZDF_sigma} 680 \sigma_{\mathrm{ml}}= -z/h_{\mathrm{ml}}; \;\sigma_{\mathrm{bl}}= -z/h_{\mathrm{bl}}, 681 \end{equation} 682 683 683 in unstable conditions the eddy diffusivity ($K_d$) and eddy viscosity ($K_\nu$) profiles are parametrized as: 684 % 685 \begin{align}\label{eq:diff-unstable} 686 K_d=&0.8\, \omega_*\, h_{\mathrm{ml}} \, \sigma_{\mathrm{ml}} \left(1-\beta_d \sigma_{\mathrm{ml}}\right)^{3/2} 687 \\\label{eq:visc-unstable} 688 K_\nu =& 0.3\, \omega_* \,h_{\mathrm{ml}}\, \sigma_{\mathrm{ml}} \left(1-\beta_\nu \sigma_{\mathrm{ml}}\right)\left(1-\tfrac{1}{2}\sigma_{\mathrm{ml}}^2\right) 684 685 \begin{align} 686 \label{eq:ZDF_diff-unstable} 687 K_d=&0.8\, \omega_*\, h_{\mathrm{ml}} \, \sigma_{\mathrm{ml}} \left(1-\beta_d \sigma_{\mathrm{ml}}\right)^{3/2} 688 \\ 689 \label{eq:ZDF_visc-unstable} 690 K_\nu =& 0.3\, \omega_* \,h_{\mathrm{ml}}\, \sigma_{\mathrm{ml}} \left(1-\beta_\nu \sigma_{\mathrm{ml}}\right)\left(1-\tfrac{1}{2}\sigma_{\mathrm{ml}}^2\right) 689 691 \end{align} 690 % 691 where $\beta_d$ and $\beta_\nu$ are parameters that are determined by matching Eqs \ref{eq:diff-unstable} and \ref{eq:visc-unstable} to the eddy diffusivity and viscosity at the base of the well-mixed layer, given by 692 % 693 \begin{equation}\label{eq:diff-wml-base} 694 K_{d,\mathrm{ml}}=K_{\nu,\mathrm{ml}}=\,0.16\,\omega_* \Delta h. 695 \end{equation} 696 % 692 693 where $\beta_d$ and $\beta_\nu$ are parameters that are determined by matching \autoref{eq:ZDF_diff-unstable} and \autoref{eq:ZDF_visc-unstable} to the eddy diffusivity and viscosity at the base of the well-mixed layer, given by 694 695 \begin{equation} 696 \label{eq:ZDF_diff-wml-base} 697 K_{d,\mathrm{ml}}=K_{\nu,\mathrm{ml}}=\,0.16\,\omega_* \Delta h. 698 \end{equation} 699 697 700 For stable conditions the eddy diffusivity/viscosity profiles are given by: 698 % 699 \begin{align}\label{diff-stable} 700 K_d= & 0.75\,\, \nu_*\, h_{\mathrm{ml}}\,\, \exp\left[-2.8 \left(h_{\mathrm{bl}}/L_L\right)^2\right]\sigma_{\mathrm{ml}} \left(1-\sigma_{\mathrm{ml}}\right)^{3/2} \\\label{eq:visc-stable} 701 K_\nu = & 0.375\,\, \nu_*\, h_{\mathrm{ml}} \,\, \exp\left[-2.8 \left(h_{\mathrm{bl}}/L_L\right)^2\right] \sigma_{\mathrm{ml}} \left(1-\sigma_{\mathrm{ml}}\right)\left(1-\tfrac{1}{2}\sigma_{\mathrm{ml}}^2\right). 701 702 \begin{align} 703 \label{eq:ZDF_diff-stable} 704 K_d= & 0.75\,\, \nu_*\, h_{\mathrm{ml}}\,\, \exp\left[-2.8 705 \left(h_{\mathrm{bl}}/L_L\right)^2\right]\sigma_{\mathrm{ml}} 706 \left(1-\sigma_{\mathrm{ml}}\right)^{3/2} \\ 707 \label{eq:ZDF_visc-stable} 708 K_\nu = & 0.375\,\, \nu_*\, h_{\mathrm{ml}} \,\, \exp\left[-2.8 \left(h_{\mathrm{bl}}/L_L\right)^2\right] \sigma_{\mathrm{ml}} \left(1-\sigma_{\mathrm{ml}}\right)\left(1-\tfrac{1}{2}\sigma_{\mathrm{ml}}^2\right). 702 709 \end{align} 703 % 710 704 711 The shape of the eddy viscosity and diffusivity profiles is the same as the shape in the unstable OSBL. The eddy diffusivity/viscosity depends on the stability parameter $h_{\mathrm{bl}}/{L_L}$ where $ L_L$ is analogous to the Obukhov length, but for Langmuir turbulence: 705 \begin{equation}\label{eq:L_L} 712 \begin{equation} 713 \label{eq:ZDF_L_L} 706 714 L_L=-w_{*L}^3/\left<\overline{w^\prime b^\prime}\right>_L, 707 715 \end{equation} 708 716 with the mean turbulent buoyancy flux averaged over the boundary layer given in terms of its surface value $\overline{w^\prime b^\prime}_0$ and (downwards) )solar irradiance $I(z)$ by 709 \begin{equation} \label{eq:stable-av-buoy-flux} 710 \left<\overline{w^\prime b^\prime}\right>_L = \tfrac{1}{2} {\overline{w^\prime b^\prime}}_0-g\alpha_E\left[\tfrac{1}{2}(I(0)+I(-h))-\left<I\right>\right]. 711 \end{equation} 712 % 717 \begin{equation} 718 \label{eq:ZDF_stable-av-buoy-flux} 719 \left<\overline{w^\prime b^\prime}\right>_L = \tfrac{1}{2} {\overline{w^\prime b^\prime}}_0-g\alpha_E\left[\tfrac{1}{2}(I(0)+I(-h))-\left<I\right>\right]. 720 \end{equation} 721 713 722 In unstable conditions the eddy diffusivity and viscosity depend on stability through the velocity scale $\omega_*$, which depends on the two velocity scales $\nu_*$ and $w_{*C}$. 714 723 715 Details of the non-gradient terms in \ eqref{eq:flux-grad-gen} and of the fluxes within the pycnocline $-h_{\mathrm{bl}}<z<h_{\mathrm{ml}}$ can be found in Grant (2019).724 Details of the non-gradient terms in \autoref{eq:ZDF_flux-grad-gen} and of the fluxes within the pycnocline $-h_{\mathrm{bl}}<z<h_{\mathrm{ml}}$ can be found in Grant (2019). 716 725 717 726 \subsubsection{Evolution of the boundary layer depth} 718 727 719 The prognostic equation for the depth of the neutral/unstable boundary layer is given by \citep{grant+etal18}, 720 721 \begin{equation} \label{eq:dhdt-unstable} 728 The prognostic equation for the depth of the neutral/unstable boundary layer is given by \iffalse \citep{grant+etal18?}, \fi 729 730 \begin{equation} 731 \label{eq:ZDF_dhdt-unstable} 722 732 %\frac{\partial h_\mathrm{bl}}{\partial t} + \mathbf{U}_b\cdot\nabla h_\mathrm{bl}= W_b - \frac{{\overline{w^\prime b^\prime}}_\mathrm{ent}}{\Delta B_\mathrm{bl}} 723 \frac{\partial h_\mathrm{bl}}{\partial t} = W_b - \frac{{\overline{w^\prime b^\prime}}_\mathrm{ent}}{\Delta B_\mathrm{bl}}733 \frac{\partial h_\mathrm{bl}}{\partial t} = W_b - \frac{{\overline{w^\prime b^\prime}}_\mathrm{ent}}{\Delta B_\mathrm{bl}} 724 734 \end{equation} 725 735 where $h_\mathrm{bl}$ is the horizontally-varying depth of the OSBL, … … 732 742 equation for the case when the pycnocline has a finite thickness, 733 743 based on the potential energy budget of the OSBL, is the leading term 734 \ citep{grant+etal18}of a generalization of that used in mixed-layer735 models e.g.\ \citet{kraus.turner_ tellus67}, in which the thickness of the pycnocline is taken to be zero.744 \iffalse \citep{grant+etal18?} \fi of a generalization of that used in mixed-layer 745 models e.g.\ \citet{kraus.turner_T67}, in which the thickness of the pycnocline is taken to be zero. 736 746 737 747 The entrainment flux for the combination of convective and Langmuir turbulence is given by 738 \begin{equation} \label{eq:entrain-flux} 748 \begin{equation} 749 \label{eq:ZDF_entrain-flux} 739 750 {\overline{w^\prime b^\prime}}_\mathrm{ent} = -\alpha_{\mathrm{B}} {\overline{w^\prime b^\prime}}_0 - \alpha_{\mathrm{S}} \frac{u_*^3}{h_{\mathrm{ml}}} 740 751 + G\left(\delta/h_{\mathrm{ml}} \right)\left[\alpha_{\mathrm{S}}e^{-1.5\, \mathrm{La}_t}-\alpha_{\mathrm{L}} \frac{w_{\mathrm{*L}}^3}{h_{\mathrm{ml}}}\right] … … 744 755 For the stable boundary layer, the equation for the depth of the OSBL is: 745 756 746 \begin{equation}\label{eq:dhdt-stable} 757 \begin{equation} 758 \label{eq:ZDF_dhdt-stable} 747 759 \max\left(\Delta B_{bl},\frac{w_{*L}^2}{h_\mathrm{bl}}\right)\frac{\partial h_\mathrm{bl}}{\partial t} = \left(0.06 + 0.52\,\frac{ h_\mathrm{bl}}{L_L}\right) \frac{w_{*L}^3}{h_\mathrm{bl}} +\left<\overline{w^\prime b^\prime}\right>_L. 748 760 \end{equation} 749 761 750 Equation. \ref{eq:dhdt-unstable} always leads to the depth of the entraining OSBL increasing (ignoring the effect of the mean vertical motion), but the change in the thickness of the stable OSBL given by Eq. \ref{eq:dhdt-stable} can be positive or negative, depending on the magnitudes of $\left<\overline{w^\prime b^\prime}\right>_L$ and $h_\mathrm{bl}/L_L$. The rate at which the depth of the OSBL can decrease is limited by choosing an effective buoyancy $w_{*L}^2/h_\mathrm{bl}$, in place of $\Delta B_{bl}$ which will be $\approx 0$ for the collapsing OSBL.762 \autoref{eq:ZDF_dhdt-unstable} always leads to the depth of the entraining OSBL increasing (ignoring the effect of the mean vertical motion), but the change in the thickness of the stable OSBL given by \autoref{eq:ZDF_dhdt-stable} can be positive or negative, depending on the magnitudes of $\left<\overline{w^\prime b^\prime}\right>_L$ and $h_\mathrm{bl}/L_L$. The rate at which the depth of the OSBL can decrease is limited by choosing an effective buoyancy $w_{*L}^2/h_\mathrm{bl}$, in place of $\Delta B_{bl}$ which will be $\approx 0$ for the collapsing OSBL. 751 763 752 764 … … 1068 1080 \label{lst:namdrg} 1069 1081 \end{listing} 1082 1070 1083 \begin{listing} 1071 1084 \nlst{namdrg_top} … … 1073 1086 \label{lst:namdrg_top} 1074 1087 \end{listing} 1088 1075 1089 \begin{listing} 1076 1090 \nlst{namdrg_bot} … … 1160 1174 \] 1161 1175 When \np[=.true.]{ln_lin}{ln\_lin}, the value of $r$ used is \np{rn_Uc0}{rn\_Uc0}*\np{rn_Cd0}{rn\_Cd0}. 1162 Setting \np[=.true.]{ln_drg_OFF}{ln\_ OFF} (and \forcode{ln_lin=.true.}) is equivalent to setting $r=0$ and leads to a free-slip boundary condition.1176 Setting \np[=.true.]{ln_drg_OFF}{ln\_drg\_OFF} (and \forcode{ln_lin=.true.}) is equivalent to setting $r=0$ and leads to a free-slip boundary condition. 1163 1177 1164 1178 These values are assigned in \mdl{zdfdrg}. 1165 1179 Note that there is support for local enhancement of these values via an externally defined 2D mask array 1166 (\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. 1167 1181 The mask values should vary from 0 to 1. 1168 1182 Locations with a non-zero mask value will have the friction coefficient increased by … … 1547 1561 by only a few extra physics choices namely: 1548 1562 1549 \begin{ verbatim}1563 \begin{forlines} 1550 1564 ln_dynldf_OFF = .false. 1551 1565 ln_dynldf_lap = .true. … … 1555 1569 nn_fct_h = 2 1556 1570 nn_fct_v = 2 1557 \end{ verbatim}1571 \end{forlines} 1558 1572 1559 1573 \noindent which were chosen to provide a slightly more stable and less noisy solution. The -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_cfgs.tex
r11693 r14789 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 \\ … … 198 196 (see \autoref{tab:CFGS_ORCA} and \autoref{fig:DOM_zgr_e3}). 199 197 The bottom topography and the coastlines are derived from the global atlas of Smith and Sandwell (1997). 200 The default forcing uses the boundary forcing from \citet{large.yeager_ rpt04} (see \autoref{subsec:SBC_blk_ocean}),198 The default forcing uses the boundary forcing from \citet{large.yeager_trpt04} (see \autoref{subsec:SBC_blk_ocean}), 201 199 which was developed for the purpose of running global coupled ocean-ice simulations without 202 200 an interactive atmosphere. 203 This \citet{large.yeager_ rpt04} dataset is available through201 This \citet{large.yeager_trpt04} dataset is available through 204 202 the \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/CORE.html}{GFDL web site}. 205 The "normal year" of \citet{large.yeager_ rpt04} has been chosen of the \NEMO\ distribution since release v3.3.203 The "normal year" of \citet{large.yeager_trpt04} has been chosen of the \NEMO\ distribution since release v3.3. 206 204 207 205 ORCA\_R2 pre-defined configuration can also be run with multiply online nested zooms (\ie\ with AGRIF, \key{agrif} defined). … … 243 241 Through \np[=.false.]{ln_read_cfg}{ln\_read\_cfg} in \nam{cfg}{cfg} namelist defined in 244 242 the reference configuration \path{./cfgs/GYRE_PISCES/EXPREF/namelist_cfg} 245 analytical definition of grid in GYRE is done in usrdef\_hrg, usrdef\_zgrroutines.243 analytical definition of grid in GYRE is done in mdl{usrdef\_hrg}, \mdl{usrdef\_zgr} routines. 246 244 Its horizontal resolution (and thus the size of the domain) is determined by 247 setting \np{nn_GYRE}{nn\_GYRE} in \nam{usr_def}{usr\_def}: \\ 248 249 \jp{jpiglo} $= 30 \times$ \np{nn_GYRE}{nn\_GYRE} + 2 \\ 250 251 \jp{jpjglo} $= 20 \times$ \np{nn_GYRE}{nn\_GYRE} + 2 \\ 245 setting \np{nn_GYRE}{nn\_GYRE} in \nam{usr_def}{usr\_def}: 246 247 \begin{align*} 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}} 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}). 255 256 \begin{listing} 257 \begin{forlines} 258 !----------------------------------------------------------------------- 259 &namusr_def ! GYRE user defined namelist 260 !----------------------------------------------------------------------- 261 nn_GYRE = 1 ! GYRE resolution [1/degrees] 262 ln_bench = .false. ! ! =T benchmark with gyre: the gridsize is kept constant 263 jpkglo = 31 ! number of model levels 264 / 265 \end{forlines} 266 \caption{\forcode{&namusr_def}} 267 \label{lst:namusr_def} 268 \end{listing} 256 269 257 270 The GYRE configuration is also used in benchmark test as it is very simple to increase its resolution and -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_conservation.tex
r11693 r14789 5 5 \chapter{Invariants of the Primitive Equations} 6 6 \label{chap:CONS} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_misc.tex
r12377 r14789 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 … … 382 370 with their default settings: 383 371 384 \begin{ verbatim}372 \begin{forlines} 385 373 sn_cfctl%l_allon = .FALSE. ! IF T activate all options. If F deactivate all unless l_config is T 386 374 sn_cfctl%l_config = .TRUE. ! IF .true. then control which reports are written with the following 387 \end{ verbatim}375 \end{forlines} 388 376 389 377 The first switch is a convenience option which can be used to switch on and off all 390 378 sub-options. However, if it is false then switching off all sub-options is only done 391 if \ texttt{sn_cfctl%l\_config} is also false. Specifically, the logic is:392 393 \begin{ verbatim}379 if \forcode{sn_cfctl%l\_config} is also false. Specifically, the logic is: 380 381 \begin{forlines} 394 382 IF ( sn_cfctl%l_allon ) THEN 395 383 set all suboptions .TRUE. … … 400 388 set all suboptions .FALSE. 401 389 ENDIF 402 \end{ verbatim}390 \end{forlines} 403 391 404 392 Details of the suboptions follow but first an explanation of the stand-alone option: 405 \ texttt{sn_cfctl%l_glochk}. This option modifies the action of the early warning checks406 carried out in \textt {stpctl.F90}. These checks detect probable numerical instabilites393 \forcode{sn_cfctl%l_glochk}. This option modifies the action of the early warning checks 394 carried out in \texttt{stpctl.F90}. These checks detect probable numerical instabilites 407 395 by searching for excessive sea surface heights or velocities and salinity values 408 396 outside a sensible physical range. If breaches are detected then the default behaviour 409 397 is to locate and report the local indices of the grid-point in breach. These indices 410 398 are included in the error message that precedes the model shutdown. When true, 411 \ texttt{sn_cfctl%l_glochk} modifies this action by performing a global location of399 \forcode{sn_cfctl%l_glochk} modifies this action by performing a global location of 412 400 the various minimum and maximum values and the global indices are reported. This has 413 401 some value in locating the most severe error in cases where the first detected error … … 427 415 average tracer value for each passive tracer. Collecting these metrics involves 428 416 global communications and will impact on model efficiency so both these options are 429 disabled by default by setting the respective options, \ texttt{sn\_cfctl%runstat} and430 \ texttt{sn\_cfctl%trcstat} to false. A compromise can be made by activating either or431 both of these options and setting the \ texttt{sn\_cfctl%timincr} entry to an integer417 disabled by default by setting the respective options, \forcode{sn\_cfctl%runstat} and 418 \forcode{sn\_cfctl%trcstat} to false. A compromise can be made by activating either or 419 both of these options and setting the \forcode{sn\_cfctl%timincr} entry to an integer 432 420 value greater than one. This increment determines the time-step frequency at which 433 421 the global metrics are collected and reported. This increment also applies to the … … 440 428 any warning or error messages generated during execution. A \texttt{layout.dat} 441 429 file is also produced which details the MPI-decomposition used by the model. The 442 suboptions: \ texttt{sn\_cfctl%oceout} and \texttt{sn\_cfctl%layout} can be used430 suboptions: \forcode{sn\_cfctl%oceout} and \forcode{sn\_cfctl%layout} can be used 443 431 to activate the creation of these files by all ocean processes. For example, 444 when \ texttt{sn\_cfctl%oceout} is true all processors produce their own version of432 when \forcode{sn\_cfctl%oceout} is true all processors produce their own version of 445 433 \texttt{ocean.output}. All files, beyond the the normal reporting processor (narea == 1), are 446 434 named with a \_XXXX extension to their name, where XXXX is a 4-digit area number (with … … 449 437 systems so bug-hunting efforts using this facility should also utilise the \fortran: 450 438 451 \begin{verbatim} 452 CALL FLUSH(numout) 453 \end{verbatim} 439 \forline|CALL FLUSH(numout)| 454 440 455 441 statement after any additional write statements to ensure that file contents reflect 456 the last model state. Associated with the \ texttt{sn\_cfctl%oceout} option is the457 additional \ texttt{sn\_cfctl%oasout} suboption. This does not activate its own output442 the last model state. Associated with the \forcode{sn\_cfctl%oceout} option is the 443 additional \forcode{sn\_cfctl%oasout} suboption. This does not activate its own output 458 444 file but rather activates the writing of addition information regarding the OASIS 459 445 configuration when coupling via oasis and the sbccpl routine. This information is … … 467 453 http://forge.ipsl.jussieu.fr/nemo/attachment/wiki/Documentation/prtctl_NEMO_doc_v2.pdf}{The 468 454 control print option in NEMO} The switches to activate production of the control sums 469 of trends for either the physics or passive tracers are the \ texttt{sn\_cfctl%prtctl}470 and \ texttt{sn\_cfctl%prttrc} suboptions, respectively. Although, perhaps, of limited use for its455 of trends for either the physics or passive tracers are the \forcode{sn\_cfctl%prtctl} 456 and \forcode{sn\_cfctl%prttrc} suboptions, respectively. Although, perhaps, of limited use for its 471 457 original intention, the ability to produce these control sums of trends in specific 472 458 areas provides another tool for diagnosing model behaviour. If only the output from a 473 459 select few regions is required then additional options are available to activate options 474 for only a simple subset of processing regions. These are: \ texttt{sn\_cfctl%procmin},475 \ texttt{sn\_cfctl%procmax} and \texttt{sn\_cfctl%procincr} which can be used to specify460 for only a simple subset of processing regions. These are: \forcode{sn\_cfctl%procmin}, 461 \forcode{sn\_cfctl%procmax} and \forcode{sn\_cfctl%procincr} which can be used to specify 476 462 the minimum and maximum active areas and the increment. The default values are set 477 463 such that all regions will be active. Note this subsetting can also be used to limit … … 481 467 \end{enumerate} 482 468 483 484 sn_cfctl%l_glochk = .FALSE. ! Range sanity checks are local (F) or global (T). Set T for debugging only 485 sn_cfctl%l_allon = .FALSE. ! IF T activate all options. If F deactivate all unless l_config is T 486 sn_cfctl%l_config = .TRUE. ! IF .true. then control which reports are written with the following 487 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 ensure 489 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 sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] 495 sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] 496 sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] 497 sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info 498 499 469 \begin{forlines} 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 484 \end{forlines} 500 485 501 486 \subinc{\input{../../global/epilogue}} -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_model_basics.tex
r11693 r14789 5 5 \chapter{Model Basics} 6 6 \label{chap:MB} 7 8 \thispagestyle{plain}9 7 10 8 \chaptertoc … … 706 704 In this case, the free surface equation is nonlinear, 707 705 and the variations of volume are fully taken into account. 708 These coordinates systems is presented in a report \citep{levier.treguier.ea_ rpt07} available on706 These coordinates systems is presented in a report \citep{levier.treguier.ea_trpt07} available on 709 707 the \NEMO\ web site. 710 708 … … 841 839 This problem can be at least partially overcome by mixing $s$-coordinate and 842 840 step-like representation of bottom topography 843 \citep{gerdes_JGR93 *a,gerdes_JGR93*b,madec.delecluse.ea_JPO96}.841 \citep{gerdes_JGR93,gerdes_JGR93*a,madec.delecluse.ea_JPO96}. 844 842 However, the definition of the model domain vertical coordinate becomes then a non-trivial thing for 845 843 a realistic bottom topography: -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_model_basics_zstar.tex
r11693 r14789 4 4 5 5 \chapter{ essai \zstar \sstar} 6 7 \thispagestyle{plain}8 6 9 7 \chaptertoc … … 30 28 31 29 In that case, the free surface equation is nonlinear, and the variations of volume are fully taken into account. 32 These coordinates systems is presented in a report \citep{levier.treguier.ea_ rpt07} available on the \NEMO\ web site.30 These coordinates systems is presented in a report \citep{levier.treguier.ea_trpt07} available on the \NEMO\ web site. 33 31 34 32 \colorbox{yellow}{ end of to be updated} … … 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}). … … 95 94 which imposes a very small time step when an explicit time stepping is used. 96 95 Two methods are proposed to allow a longer time step for the three-dimensional equations: 97 the filtered free surface, which is a modification of the continuous equations %(see \autoref{eq:MB_flt?}),96 the filtered free surface, which is a modification of the continuous equations \iffalse (see \autoref{eq:MB_flt?}) \fi , 98 97 and the split-explicit free surface described below. 99 98 The extra term introduced in the filtered method is calculated implicitly, … … 170 169 171 170 The split-explicit formulation has a damping effect on external gravity waves, 172 which is weaker than the filtered free surface but still significant as shown by \citet{levier.treguier.ea_ rpt07} in171 which is weaker than the filtered free surface but still significant as shown by \citet{levier.treguier.ea_trpt07} in 173 172 the case of an analytical barotropic Kelvin wave. 174 173 … … 306 305 307 306 In the non-linear free surface formulation, the variations of volume are fully taken into account. 308 This option is presented in a report \citep{levier.treguier.ea_ rpt07} available on the \NEMO\ web site.307 This option is presented in a report \citep{levier.treguier.ea_trpt07} available on the \NEMO\ web site. 309 308 The three time-stepping methods (explicit, split-explicit and filtered) are the same as in 310 309 \autoref{?:DYN_spg_linear?} except that the ocean depth is now time-dependent. -
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_time_domain.tex
r11693 r14789 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.