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

Ignore:
Timestamp:
2021-01-14T18:26:35+01:00 (3 years ago)
Author:
mathiot
Message:

ticket #2444: update doc (isf, clo, icb)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/doc/latex/NEMO/subfiles/apdx_DOMAINcfg.tex

    r14257 r14303  
    1616    Release & Author(s) & Modifications \\ 
    1717    \hline 
    18     {\em   4.0} & {\em ...} & {\em ...} \\ 
     18    {\em   next}& {\em Pierre Mathiot} & {\em add ice shelf and closed sea option description } \\ 
     19    {\em   4.0} & {\em Andrew Coward}  & {\em Created at v4.0 from materials removed from chap\_DOM that are still relevant to the \forcode{DOMAINcfg} tool and which illustrate and explain the choices to be made by the user when setting up new domains }  \\ 
    1920    {\em   3.6} & {\em ...} & {\em ...} \\ 
    2021    {\em   3.4} & {\em ...} & {\em ...} \\ 
     
    350351  Defining the bathymetry also defines the coastline: where the bathymetry is zero, 
    351352  no wet levels are defined (all levels are masked). 
    352  
    353   The \textit{isfdraft\_meter.nc} file (Netcdf format) provides the ice shelf draft (positive, in meters) at 
    354   each grid point of the model grid. 
    355   This file is only needed if \np[=.true.]{ln_isfcav}{ln\_isfcav}. 
    356   Defining the ice shelf draft will also define the ice shelf edge and the grounding line position. 
    357353\end{description} 
    358354 
     
    590586This option is described in the Report by Levier \textit{et al.} (2007), available on the \NEMO\ web site. 
    591587 
     588\section{Ice shelf cavity definition} 
     589\label{subsec:zgrisf} 
     590 
     591  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  
     592  the \textit{isfdraft\_meter} file (Netcdf format). This file need to include the \textit{isf\_draft} variable.  
     593  A positive value will mean ice shelf/ocean or ice shelf bedrock interface below the reference 0m ssh.  
     594  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}. 
     595 
     596\begin{listing} 
     597  \caption{\forcode{&namzgr_isf}} 
     598  \label{lst:namzgr_isf} 
     599  \begin{forlines} 
     600!----------------------------------------------------------------------- 
     601&namzgr_isf    !   isf cavity geometry definition                       (default: OFF) 
     602!----------------------------------------------------------------------- 
     603   rn_isfdep_min    = 10.         ! minimum isf draft tickness (if lower, isf draft set to this value) 
     604   rn_glhw_min      = 1.e-3       ! minimum water column thickness to define the grounding line 
     605   rn_isfhw_min     = 10          ! minimum water column thickness in the cavity once the grounding line defined. 
     606   ln_isfchannel    = .false.     ! remove channel (based on 2d mask build from isfdraft-bathy) 
     607   ln_isfconnect    = .false.     ! force connection under the ice shelf (based on 2d mask build from isfdraft-bathy) 
     608      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) 
     609      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) 
     610   ln_isfcheminey   = .false.     ! close cheminey 
     611   ln_isfsubgl      = .false.     ! remove subglacial lake created by the remapping process 
     612      rn_isfsubgllon   =    0.0      !  longitude of the seed to determine the open ocean 
     613      rn_isfsubgllat   =    0.0      !  latitude  of the seed to determine the open ocean 
     614/ 
     615  \end{forlines} 
     616\end{listing} 
     617 
     618   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}). 
     619 
     620   \subsection{Model ice shelf draft definition} 
     621   \label{subsec:zgrisf_isfd} 
     622 
     623   First of all, the tool make sure, the ice shelf draft ($h_{isf}$) is sensible and compatible with the bathymetry. 
     624   There are 3 compulsory steps to achieve this: 
     625 
     626   \begin{description} 
     627   \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)$.  
     628   Where $h_{isf} < MAX(e3t\_1d(1),\np{rn_isfdep_min}{rn\_isfdep\_min}$), $h_{isf}$ is set to \np{rn_isfdep_min}{rn\_isfdep\_min}. 
     629 
     630   \item{\np{rn_glhw_min}{rn\_glhw\_min}:} This parameter is used to define the grounding line position. 
     631   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).  
     632   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, ...). 
     633 
     634   \item{\np{rn_isfhw_min}{rn\_isfhw\_min}:} This parameter is the minimum water column thickness in the cavity.  
     635   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.  
     636   If for any reason, this adjustement break the minimum ice shelf draft allowed (\np{rn_isfdep_min}{rn\_isfdep\_min}), the cell is masked. 
     637   \end{description} 
     638 
     639   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}.   
     640  
     641   \subsection{Model top level definition} 
     642   After the definition of the ice shelf draft, the tool defines the top level.  
     643   The compulsory criterion is that the water column needs at least 2 wet cells in the water column at U- and V-points. 
     644   To do so, if there one cell wide water column, the tools adjust the ice shelf draft to fillful the requierement.\\ 
     645 
     646   The process is the following: 
     647   \begin{description} 
     648   \item{step 1:} The top level is defined in the same way as the bottom level is defined. 
     649   \item{step 2:} The isolated grid point in the bathymetry are filled (as it is done in a domain without ice shelf) 
     650   \item{step 3:} The tools make sure, the top level is above or equal to the bottom level 
     651   \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 
     652   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. 
     653   \end{description} 
     654 
     655   In case of steep slope and shallow water column, it likely that 2 cells are disconnected (bathymetry above its neigbourging ice shelf draft).  
     656   The option \np{ln_isfconnect}{ln\_isfconnect} allow the tool to force the connection between these 2 cells. 
     657   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}). 
     658   This will prevent the formation of subglacial lakes at the expense of long vertical pipe to connect cells at very different levels. 
     659 
     660   \subsection{Subglacial lakes} 
     661   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. 
     662   For exemple if you setup your ice shelf draft and bathymetry to do ocean/ice sheet coupling,  
     663   you may decide to fill the whole antarctic with a bathymetry and an ice shelf draft value (ice/bedrock interface depth when grounded).  
     664   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:  
     665   one connected to the main ocean and an other one closed which can be considered as a subglacial sea be the model.\\ 
     666 
     667   The namelist option \np{ln_isfsubgl}{ln\_isfsubgl} allow you to remove theses subglacial lakes. 
     668   This may be useful for esthetical reason or for stability reasons: 
     669 
     670   \begin{description} 
     671   \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.  
     672         This will lead to constant freezing until water reaches -20C.  
     673         This is one of the defitiency of the 3 equation melt formulation (for details on this formulation, see: \autoref{sec:isf}). 
     674   \item $\bullet$ In case of coupling with an ice sheet model,  
     675         the ssh in the subglacial lakes and the main ocean could be very different (ssh initial adjustement for example),  
     676         and so if for any reason both a connected at some point, the model is likely to fall over.\\ 
     677   \end{description} 
     678 
     679\section{Closed sea definition} 
     680\label{sec:clocfg} 
     681 
     682\begin{listing} 
     683  \caption{\forcode{&namclo}} 
     684  \label{lst:namdom_clo} 
     685  \begin{forlines} 
     686!----------------------------------------------------------------------- 
     687&namclo ! (closed sea : need ln_domclo = .true. in namcfg) 
     688!----------------------------------------------------------------------- 
     689   rn_lon_opnsea = -2.0     ! longitude seed of open ocean 
     690   rn_lat_opnsea = -2.0     ! latitude  seed of open ocean 
     691   nn_closea = 8           ! number of closed seas ( = 0; only the open_sea mask will be computed) 
     692   !                name   ! lon_src ! lat_src ! lon_trg ! lat_trg ! river mouth area   ! net evap/precip correction scheme ! radius tgt   ! id trg 
     693   !                       ! (degree)! (degree)! (degree)! (degree)! local/coast/global ! (glo/rnf/emp)                     !     (m)      ! 
     694   ! North American lakes 
     695   sn_lake(1) = 'superior' ,  -86.57 ,  47.30  , -66.49  , 50.45   , 'local'            , 'rnf'                             ,   550000.0 , 2     
     696   sn_lake(2) = 'michigan' ,  -87.06 ,  42.74  , -66.49  , 50.45   , 'local'            , 'rnf'                             ,   550000.0 , 2     
     697   sn_lake(3) = 'huron'    ,  -82.51 ,  44.74  , -66.49  , 50.45   , 'local'            , 'rnf'                             ,   550000.0 , 2     
     698   sn_lake(4) = 'erie'     ,  -81.13 ,  42.25  , -66.49  , 50.45   , 'local'            , 'rnf'                             ,   550000.0 , 2     
     699   sn_lake(5) = 'ontario'  ,  -77.72 ,  43.62  , -66.49  , 50.45   , 'local'            , 'rnf'                             ,   550000.0 , 2     
     700   ! African Lake 
     701   sn_lake(6) = 'victoria' ,   32.93 ,  -1.08  ,  30.44  , 31.37   , 'coast'            , 'emp'                             ,   100000.0 , 3     
     702   ! Asian Lakes 
     703   sn_lake(7) = 'caspian'  ,   50.0  ,  44.0   ,   0.0   ,  0.0    , 'global'           , 'glo'                             ,        0.0 , 1      
     704   sn_lake(8) = 'aral'     ,   60.0  ,  45.0   ,   0.0   ,  0.0    , 'global'           , 'glo'                             ,        0.0 , 1     
     705/ 
     706   \end{forlines} 
     707\end{listing} 
     708 
     709The options available to define the closed seas and how closed sea net fresh water input will be redistributed by NEMO are listed in \nam{clo}{dom_clo} (\texttt{DOMAINcfg} only). 
     710The individual definition of each closed sea is managed by \np{sn_lake}{sn\_lake}. In this fields the user needs to define:\\ 
     711   \begin{description} 
     712   \item $\bullet$    the name of the closed sea (print output purposes). 
     713   \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).\\ 
     714   \item $\bullet$    the seed location for the target area. 
     715   \item $\bullet$    the type of target area ('local','coast' or 'global'). See point 6 for definition of these cases. 
     716   \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. 
     717   \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. 
     718   \item $\bullet$    the target id. This target id is used to group multiple lakes into the same river ouflow (Great Lakes for example). 
     719   \end{description} 
     720 
     721The closed sea module defines a number of masks in the \textit{domain\_cfg} output: 
     722   \begin{description} 
     723   \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}). 
     724   \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}. 
     725   \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. 
     726   \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. 
     727   \end{description} 
     728    
    592729\subinc{\input{../../global/epilogue}} 
    593730 
Note: See TracChangeset for help on using the changeset viewer.