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 14789 for NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_misc.tex – NEMO

Ignore:
Timestamp:
2021-05-05T13:18:04+02:00 (3 years ago)
Author:
mcastril
Message:

[2021/HPC-11_mcastril_HPDAonline_DiagGPU] Update externals

Location:
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
         5^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8^/vendors/PPR@HEAD            ext/PPR 
        89 
        910# SETTE 
        10 ^/utils/CI/sette@13559        sette 
         11^/utils/CI/sette@14244        sette 
  • 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 
        18*.ind 
        2 *.ilg 
         9*.lo* 
         10*.out 
         11*.pdf 
         12*.pyg 
         13*.tdo 
         14*.toc 
         15*.xdv 
         16cache* 
  • NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/doc/latex/NEMO/subfiles/chap_misc.tex

    r12377 r14789  
    66\label{chap:MISC} 
    77 
    8 \thispagestyle{plain} 
    9  
    108\chaptertoc 
    119 
     
    1412{\footnotesize 
    1513  \begin{tabularx}{\textwidth}{l||X|X} 
    16     Release & Author(s) & Modifications \\ 
     14    Release     & Author(s)            & Modifications                      \\ 
    1715    \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 ...                         } 
    2221  \end{tabularx} 
    2322} 
     
    109108\end{figure} 
    110109 
    111 \begin{figure}[!tbp] 
    112   \centering 
    113   \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 into 
    121     the St Laurence Seaway in the area shown.} 
    122   \label{fig:MISC_closea_mask_example} 
    123 \end{figure} 
    124  
    125110%% ================================================================================================= 
    126111\section[Closed seas (\textit{closea.F90})]{Closed seas (\protect\mdl{closea})} 
    127112\label{sec:MISC_closea} 
     113 
     114\begin{listing} 
     115  \nlst{namclo} 
     116  \caption{\forcode{&namclo}} 
     117  \label{lst:namclo} 
     118\end{listing} 
    128119 
    129120Some configurations include inland seas and lakes as ocean 
     
    138129to zero and put the residual flux into the ocean. 
    139130 
    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 
     131The inland seas and lakes are defined using mask fields in the 
     132domain configuration file. Special treatment of the closed sea (redistribution of net freshwater or mask those), are defined in \autoref{lst:namclo} and 
     133can be trigger by \np{ln_closea}{ln\_closea}\forcode{=.true.} in namelist namcfg. 
     134 
     135The 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 
    160139inland 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. 
     140distributed over a target area. 
     141\end{description} 
     142 
     143When \np{ln_maskcs}{ln\_maskcs}\forcode{ = .false.},  
     1443 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 
     151For 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 
     172Closed sea not defined (because too small, issue in the bathymetry definition ...) are defined in \textit{mask\_csundef}. 
     173These 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 
     175The masks needed for the closed sea can be created using the DOMAINcfg tool in the utils/tools/DOMAINcfg directory. 
     176See \autoref{sec:clocfg} for details on the usage of definition of the closed sea masks. 
    189177 
    190178%% ================================================================================================= 
     
    205193 
    206194\noindent Consider an ORCA1 
    207 configuration using the extended grid domain configuration file: \ifile{eORCA1\_domcfg.nc} 
     195configuration using the extended grid domain configuration file: \textit{eORCA1\_domcfg.nc} 
    208196This file define a horizontal domain of 362x332.  The first row with 
    209197open ocean wet points in the non-isf bathymetry for this set is row 42 (\fortran\ indexing) 
     
    226214\noindent Note that with this option, the j-size of the global domain is (extended 
    227215j-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} must 
     216for the configuration. This means an alternative version of \textit{eORCA1\_domcfg.nc} must 
    229217be created for when \np{ln_use_jattr}{ln\_use\_jattr} is active. The \texttt{ncap2} tool provides a 
    230218convenient way of achieving this: 
     
    234222\end{cmds} 
    235223 
    236 The domain configuration file is unique in this respect since it also contains the value of \jp{jpjglo} 
     224The domain configuration file is unique in this respect since it also contains the value of \texttt{jpjglo} 
    237225that is read and used by the model. 
    238226Any other global, 2D and 3D, netcdf, input field can be prepared for use in a reduced domain by adding the 
     
    374362 
    375363When 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 simple 
     364forms of output can be selected via the \np{sn_cfctl}{sn\_cfctl} structure. As well as simple 
    377365on-off switches this structure also allows selection of a range of processors for 
    378366individual reporting (where appropriate) and a time-increment option to restrict 
     
    382370with their default settings: 
    383371 
    384 \begin{verbatim} 
     372\begin{forlines} 
    385373   sn_cfctl%l_allon  = .FALSE.    ! IF T activate all options. If F deactivate all unless l_config is T 
    386374     sn_cfctl%l_config = .TRUE.     ! IF .true. then control which reports are written with the following 
    387 \end{verbatim} 
     375\end{forlines} 
    388376 
    389377The first switch is a convenience option which can be used to switch on and off all 
    390378sub-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} 
     379if \forcode{sn_cfctl%l\_config} is also false. Specifically, the logic is: 
     380 
     381\begin{forlines} 
    394382  IF ( sn_cfctl%l_allon ) THEN 
    395383    set all suboptions .TRUE. 
     
    400388    set all suboptions .FALSE. 
    401389  ENDIF 
    402 \end{verbatim} 
     390\end{forlines} 
    403391 
    404392Details 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 checks 
    406 carried out in \textt{stpctl.F90}. These checks detect probable numerical instabilites 
     393\forcode{sn_cfctl%l_glochk}.  This option modifies the action of the early warning checks 
     394carried out in \texttt{stpctl.F90}. These checks detect probable numerical instabilites 
    407395by searching for excessive sea surface heights or velocities and salinity values 
    408396outside a sensible physical range. If breaches are detected then the default behaviour 
    409397is to locate and report the local indices of the grid-point in breach. These indices 
    410398are 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 of 
     399\forcode{sn_cfctl%l_glochk} modifies this action by performing a global location of 
    412400the various minimum and maximum values and the global indices are reported. This has 
    413401some value in locating the most severe error in cases where the first detected error 
     
    427415average tracer value for each passive tracer. Collecting these metrics involves 
    428416global 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} and 
    430 \texttt{sn\_cfctl%trcstat} to false. A compromise can be made by activating either or 
    431 both of these options and setting the \texttt{sn\_cfctl%timincr} entry to an integer 
     417disabled 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 
     419both of these options and setting the \forcode{sn\_cfctl%timincr} entry to an integer 
    432420value greater than one. This increment determines the time-step frequency at which 
    433421the global metrics are collected and reported.  This increment also applies to the 
     
    440428any warning or error messages generated during execution. A \texttt{layout.dat} 
    441429file 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 used 
     430suboptions: \forcode{sn\_cfctl%oceout} and \forcode{sn\_cfctl%layout} can be used 
    443431to 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 of 
     432when \forcode{sn\_cfctl%oceout} is true all processors produce their own version of 
    445433\texttt{ocean.output}.  All files, beyond the the normal reporting processor (narea == 1), are 
    446434named with a \_XXXX extension to their name, where XXXX is a 4-digit area number (with 
     
    449437systems so bug-hunting efforts using this facility should also utilise the \fortran: 
    450438 
    451 \begin{verbatim}  
    452    CALL FLUSH(numout) 
    453 \end{verbatim} 
     439\forline|CALL FLUSH(numout)| 
    454440 
    455441statement 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 the 
    457 additional \texttt{sn\_cfctl%oasout} suboption. This does not activate its own output 
     442the last model state. Associated with the \forcode{sn\_cfctl%oceout} option is the 
     443additional \forcode{sn\_cfctl%oasout} suboption. This does not activate its own output 
    458444file but rather activates the writing of addition information regarding the OASIS 
    459445configuration when coupling via oasis and the sbccpl routine. This information is 
     
    467453http://forge.ipsl.jussieu.fr/nemo/attachment/wiki/Documentation/prtctl_NEMO_doc_v2.pdf}{The 
    468454control 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 its 
     455of trends for either the physics or passive tracers are the \forcode{sn\_cfctl%prtctl} 
     456and \forcode{sn\_cfctl%prttrc} suboptions, respectively. Although, perhaps, of limited use for its 
    471457original intention, the ability to produce these control sums of trends in specific 
    472458areas provides another tool for diagnosing model behaviour.  If only the output from a 
    473459select 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 specify 
     460for 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 
    476462the minimum and maximum active areas and the increment. The default values are set 
    477463such that all regions will be active. Note this subsetting can also be used to limit 
     
    481467\end{enumerate} 
    482468 
    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} 
    500485 
    501486\subinc{\input{../../global/epilogue}} 
Note: See TracChangeset for help on using the changeset viewer.