New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14644 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_DOMAINcfg.tex – NEMO

Ignore:
Timestamp:
2021-03-26T15:33:49+01:00 (3 years ago)
Author:
sparonuz
Message:

Merge trunk -r14642:HEAD

Location:
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette_wave@13990         sette 
         11^/utils/CI/sette@14244        sette 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles

    • Property svn:ignore
      •  

        old new  
         1*.aux 
         2*.bbl 
         3*.blg 
         4*.fdb* 
         5*.fls 
         6*.idx 
         7*.ilg 
        18*.ind 
        2 *.ilg 
         9*.lo* 
         10*.out 
         11*.pdf 
         12*.pyg 
         13*.tdo 
         14*.toc 
         15*.xdv 
         16cache* 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/apdx_DOMAINcfg.tex

    r14200 r14644  
    66\label{apdx:DOMCFG} 
    77 
    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  
    128\chaptertoc 
    139 
     
    1612{\footnotesize 
    1713  \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                            } 
    2420  \end{tabularx} 
    2521} 
     
    4642 
    4743\begin{listing} 
    48 %  \nlst{namdom_domcfg} 
    4944  \begin{forlines} 
    5045!----------------------------------------------------------------------- 
     
    9186 \item [{\np{jphgr_mesh}{jphgr\_mesh}=0}]  The most general curvilinear orthogonal grids. 
    9287  The coordinates and their first derivatives with respect to $i$ and $j$ are provided 
    93   in a input file (\ifile{coordinates}), read in \rou{hgr\_read} subroutine of the domhgr module. 
     88  in a input file (\textit{coordinates.nc}), read in \rou{hgr\_read} subroutine of the domhgr module. 
    9489  This is now the only option available within \NEMO\ itself from v4.0 onwards. 
    9590\item [{\np{jphgr_mesh}{jphgr\_mesh}=1 to 5}] A few simple analytical grids are provided (see below). 
     
    156151The reference coordinate transformation $z_0(k)$ defines the arrays $gdept_0$ and 
    157152$gdepw_0$ for $t$- and $w$-points, respectively. See \autoref{sec:DOMCFG_sco} for the 
    158 S-coordinate options.  As indicated on \autoref{fig:DOM_index_vert} \jp{jpk} is the number of 
    159 $w$-levels.  $gdepw_0(1)$ is the ocean surface.  There are at most \jp{jpk}-1 $t$-points 
     153S-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 
    160155inside the ocean, the additional $t$-point at $jk = jpk$ is below the sea floor and is not 
    161156used.  The vertical location of $w$- and $t$-levels is defined from the analytic 
     
    167162 
    168163It is possible to define a simple regular vertical grid by giving zero stretching 
    169 (\np[=0]{ppacr}{ppacr}).  In that case, the parameters \jp{jpk} (number of $w$-levels) 
     164(\np[=0]{ppacr}{ppacr}).  In that case, the parameters \texttt{jpk} (number of $w$-levels) 
    170165and \np{pphmax}{pphmax} (total ocean depth in meters) fully define the grid. 
    171166 
     
    179174\end{gather} 
    180175 
    181 where $k = 1$ to \jp{jpk} for $w$-levels and $k = 1$ to $k = 1$ for $t-$levels.  Such an 
     176where $k = 1$ to \texttt{jpk} for $w$-levels and $k = 1$ to $k = 1$ for $t-$levels.  Such an 
    182177expression allows us to define a nearly uniform vertical location of levels at the ocean 
    183178top and bottom with a smooth hyperbolic tangent transition in between (\autoref{fig:DOMCFG_zgr}). 
     
    227222\end{equation} 
    228223 
    229 With the choice of the stretching $h_{cr} = 3$ and the number of levels \jp{jpk}~$= 31$, 
     224With the choice of the stretching $h_{cr} = 3$ and the number of levels \texttt{jpk}~$= 31$, 
    230225the four coefficients $h_{sur}$, $h_0$, $h_1$, and $h_{th}$ in 
    231226\autoref{eq:DOMCFG_zgr_ana_2} have been determined such that \autoref{eq:DOMCFG_zgr_coef} 
     
    245240  Values from $3$ to $10$ are usual. 
    246241\item \np{ppkth}{ppkth}~$= h_{th}$: is approximately the model level at which maximum stretching occurs 
    247   (nondimensional, usually of order 1/2 or 2/3 of \jp{jpk}) 
     242  (nondimensional, usually of order 1/2 or 2/3 of \texttt{jpk}) 
    248243\item \np{ppdzmin}{ppdzmin}: minimum thickness for the top layer (in meters). 
    249244\item \np{pphmax}{pphmax}: total depth of the ocean (meters). 
     
    251246 
    252247As an example, for the $45$ layers used in the DRAKKAR configuration those parameters are: 
    253 \jp{jpk}~$= 46$, \np{ppacr}{ppacr}~$= 9$, \np{ppkth}{ppkth}~$= 23.563$, \np{ppdzmin}{ppdzmin}~$= 6~m$, 
     248\texttt{jpk}~$= 46$, \np{ppacr}{ppacr}~$= 9$, \np{ppkth}{ppkth}~$= 23.563$, \np{ppdzmin}{ppdzmin}~$= 6~m$, 
    254249\np{pphmax}{pphmax}~$= 5750~m$. 
    255250 
     
    346341  This is meant for the "EEL-R5" configuration, a periodic or open boundary channel with a seamount. 
    347342\item [{\np[=1]{nn_bathy}{nn\_bathy}}]: read a bathymetry and ice shelf draft (if needed). 
    348   The \ifile{bathy\_meter} file (Netcdf format) provides the ocean depth (positive, in meters) at 
     343  The \textit{bathy\_meter.nc} file (Netcdf format) provides the ocean depth (positive, in meters) at 
    349344  each grid point of the model grid. 
    350345  The bathymetry is usually built by interpolating a standard bathymetry product (\eg\ ETOPO2) onto 
     
    352347  Defining the bathymetry also defines the coastline: where the bathymetry is zero, 
    353348  no wet levels are defined (all levels are masked). 
    354  
    355   The \ifile{isfdraft\_meter} file (Netcdf format) provides the ice shelf draft (positive, in meters) at 
    356   each grid point of the model grid. 
    357   This file is only needed if \np[=.true.]{ln_isfcav}{ln\_isfcav}. 
    358   Defining the ice shelf draft will also define the ice shelf edge and the grounding line position. 
    359349\end{description} 
    360350 
     
    396386bathymetry varies by less than one level thickness from one grid point to the next).  The 
    397387reference layer thicknesses $e_{3t}^0$ have been defined in the absence of bathymetry. 
    398 With partial steps, layers from 1 to \jp{jpk}-2 can have a thickness smaller than 
     388With partial steps, layers from 1 to \texttt{jpk-2} can have a thickness smaller than 
    399389$e_{3t}(jk)$. 
    400390 
    401 The model deepest layer (\jp{jpk}-1) is allowed to have either a smaller or larger 
     391The model deepest layer (\texttt{jpk-1}) is allowed to have either a smaller or larger 
    402392thickness than $e_{3t}(jpk)$: the maximum thickness allowed is $2*e_{3t}(jpk - 1)$. 
    403393 
     
    418408 
    419409\begin{listing} 
    420 %  \nlst{namzgr_sco_domcfg} 
    421410  \caption{\forcode{&namzgr_sco_domcfg}} 
    422411  \label{lst:namzgr_sco_domcfg} 
     
    592581This option is described in the Report by Levier \textit{et al.} (2007), available on the \NEMO\ web site. 
    593582 
     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 
     618First of all, the tool make sure, the ice shelf draft ($h_{isf}$) is sensible and compatible with the bathymetry. 
     619There 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 
     634Once 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} 
     637After the definition of the ice shelf draft, the tool defines the top level.  
     638The compulsory criterion is that the water column needs at least 2 wet cells in the water column at U- and V-points. 
     639To do so, if there one cell wide water column, the tools adjust the ice shelf draft to fillful the requierement.\\ 
     640 
     641The 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 
     650In case of steep slope and shallow water column, it likely that 2 cells are disconnected (bathymetry above its neigbourging ice shelf draft).  
     651The option \np{ln_isfconnect}{ln\_isfconnect} allow the tool to force the connection between these 2 cells. 
     652Some 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}). 
     653This 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} 
     656Despite 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. 
     657For exemple if you setup your ice shelf draft and bathymetry to do ocean/ice sheet coupling,  
     658you may decide to fill the whole antarctic with a bathymetry and an ice shelf draft value (ice/bedrock interface depth when grounded).  
     659If 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:  
     660one connected to the main ocean and an other one closed which can be considered as a subglacial sea be the model.\\ 
     661 
     662The namelist option \np{ln_isfsubgl}{ln\_isfsubgl} allow you to remove theses subglacial lakes. 
     663This 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 
     704The 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). 
     705The 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 
     716The 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    
    594724\subinc{\input{../../global/epilogue}} 
    595725 
Note: See TracChangeset for help on using the changeset viewer.