From 8b512a73dffe9be71551b89e9bc20d485ad05d3e Mon Sep 17 00:00:00 2001 From: Andrew Coward <acc@noc.ac.uk> Date: Tue, 15 Feb 2022 12:03:52 +0000 Subject: [PATCH] Tidy chap_DOM.tex (closea section) and chap_misc.tex (status and debugging information) --- doc/latex/NEMO/subfiles/chap_DOM.tex | 7 -- doc/latex/NEMO/subfiles/chap_misc.tex | 106 +++++++++----------------- 2 files changed, 34 insertions(+), 79 deletions(-) diff --git a/doc/latex/NEMO/subfiles/chap_DOM.tex b/doc/latex/NEMO/subfiles/chap_DOM.tex index 18e850ea..2c7404a1 100644 --- a/doc/latex/NEMO/subfiles/chap_DOM.tex +++ b/doc/latex/NEMO/subfiles/chap_DOM.tex @@ -637,13 +637,6 @@ optionally decide on the fate of any freshwater imbalance over the area. The options are explained in \autoref{sec:MISC_closea} but it should be noted here that a successful use of these options requires appropriate mask fields to be present in the domain configuration file. -Among the possibilities are: - -\begin{forlines} -int closea_mask /* non-zero values in closed sea areas for optional masking */ -int closea_mask_rnf /* non-zero values in closed sea areas with runoff locations (precip only) */ -int closea_mask_emp /* non-zero values in closed sea areas with runoff locations (total emp) */ -\end{forlines} %% ================================================================================================= \subsection{Output grid files} diff --git a/doc/latex/NEMO/subfiles/chap_misc.tex b/doc/latex/NEMO/subfiles/chap_misc.tex index c3fa532f..a5600507 100644 --- a/doc/latex/NEMO/subfiles/chap_misc.tex +++ b/doc/latex/NEMO/subfiles/chap_misc.tex @@ -337,17 +337,6 @@ non-reference configuration. Options are defined through the \nam{ctl}{ctl} namelist variables. -%% ================================================================================================= -\subsection{Vector optimisation} - -\key{vectopt\_loop} enables the internal loops to collapse. -This is very a very efficient way to increase the length of vector calculations and thus -to speed up the model on vector computers. - -% Add here also one word on NPROMA technique that has been found useless, since compiler have made significant progress during the last decade. - -% Add also one word on NEC specific optimisation (Novercheck option for example) - %% ================================================================================================= \subsection{Status and debugging information output} @@ -366,46 +355,33 @@ on-off switches this structure also allows selection of a range of processors fo individual reporting (where appropriate) and a time-increment option to restrict globally collected values to specified time-step increments. -Most options within the structure are influenced by the top-level switches shown here +Options within the structure are selected by the top-level switches shown here with their default settings: \begin{forlines} - sn_cfctl%l_allon = .FALSE. ! IF T activate all options. If F deactivate all unless l_config is T - sn_cfctl%l_config = .TRUE. ! IF .true. then control which reports are written with the following -\end{forlines} - -The first switch is a convenience option which can be used to switch on and off all -sub-options. However, if it is false then switching off all sub-options is only done -if \forcode{sn_cfctl%l\_config} is also false. Specifically, the logic is: - -\begin{forlines} - IF ( sn_cfctl%l_allon ) THEN - set all suboptions .TRUE. - and set procmin, procmax and procincr so that all regions are selected ([0,10000000,1], respectively) - ELSEIF ( sn_cfctl%l_config ) THEN - honour individual settings of the suboptions from the namelist - ELSE - set all suboptions .FALSE. - ENDIF + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. + sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. + sn_cfctl%l_layout = .FALSE. ! + sn_cfctl%l_prtctl = .FALSE. ! + sn_cfctl%l_prttrc = .FALSE. ! + sn_cfctl%l_oasout = .FALSE. ! + sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] + sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] + sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] + sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info \end{forlines} -Details of the suboptions follow but first an explanation of the stand-alone option: -\forcode{sn_cfctl%l_glochk}. This option modifies the action of the early warning checks -carried out in \texttt{stpctl.F90}. These checks detect probable numerical instabilites -by searching for excessive sea surface heights or velocities and salinity values -outside a sensible physical range. If breaches are detected then the default behaviour -is to locate and report the local indices of the grid-point in breach. These indices -are included in the error message that precedes the model shutdown. When true, -\forcode{sn_cfctl%l_glochk} modifies this action by performing a global location of -the various minimum and maximum values and the global indices are reported. This has -some value in locating the most severe error in cases where the first detected error -may not be the worst culprit. +Details of the suboptions follow: -\subsubsection{Control print suboptions} +\subsection{Control print suboptions} The options that can be individually selected fall into three categories: -\begin{enumerate} \item{Time step progress information} This category includes +\begin{enumerate} +\item{Time step progress information} + +This category includes \texttt{run.stat} and \texttt{tracer.stat} files which record certain physical and passive tracer metrics (respectively). Typical contents of \texttt{run.stat} include global maximums of ssh, velocity; and global minimums and maximums of temperature @@ -414,9 +390,9 @@ produced with the same time-series data and this can easily be expanded to inclu extra monitoring information. \texttt{tracer.stat} contains the volume-weighted average tracer value for each passive tracer. Collecting these metrics involves global communications and will impact on model efficiency so both these options are -disabled by default by setting the respective options, \forcode{sn\_cfctl%runstat} and -\forcode{sn\_cfctl%trcstat} to false. A compromise can be made by activating either or -both of these options and setting the \forcode{sn\_cfctl%timincr} entry to an integer +disabled by default by setting the respective options, \forcode{sn_cfctl%runstat} and +\forcode{sn_cfctl%trcstat} to false. A compromise can be made by activating either or +both of these options and setting the \forcode{sn_cfctl%timincr} entry to an integer value greater than one. This increment determines the time-step frequency at which the global metrics are collected and reported. This increment also applies to the time.step file which is otherwise updated every timestep. @@ -427,19 +403,20 @@ produced by the first ocean process. This includes the \texttt{ocean.output} fil which reports on all the namelist options read by the model and remains open to catch any warning or error messages generated during execution. A \texttt{layout.dat} file is also produced which details the MPI-decomposition used by the model. The -suboptions: \forcode{sn\_cfctl%oceout} and \forcode{sn\_cfctl%layout} can be used +suboptions: \forcode{sn_cfctl%oceout} and \forcode{sn_cfctl%layout} can be used to activate the creation of these files by all ocean processes. For example, -when \forcode{sn\_cfctl%oceout} is true all processors produce their own version of +when \forcode{sn_cfctl%oceout} is true all processors produce their own version of \texttt{ocean.output}. All files, beyond the the normal reporting processor (narea == 1), are -named with a \_XXXX extension to their name, where XXXX is a 4-digit area number (with -leading zeros, if required). This is useful as a debugging aid since all processes can +named with a \_XXXX extension to their name, where XXXX is a zero-padded, 4-digit area number +(more than 4 digits will be used if the processor count exceeds 9999). This is useful as +a debugging aid since all processes can report their local conditions. Note though that these files are buffered on most UNIX systems so bug-hunting efforts using this facility should also utilise the \fortran: \forline|CALL FLUSH(numout)| statement after any additional write statements to ensure that file contents reflect -the last model state. Associated with the \forcode{sn\_cfctl%oceout} option is the +the last model state. Associated with the \forcode{sn_cfctl%oceout} option is the additional \forcode{sn\_cfctl%oasout} suboption. This does not activate its own output file but rather activates the writing of addition information regarding the OASIS configuration when coupling via oasis and the sbccpl routine. This information is @@ -452,13 +429,15 @@ useful for this purpose when dealing with configurations that can be run on a single processor. The full details can be found in this report: \href{ http://forge.ipsl.jussieu.fr/nemo/attachment/wiki/Documentation/prtctl_NEMO_doc_v2.pdf}{The control print option in NEMO} The switches to activate production of the control sums -of trends for either the physics or passive tracers are the \forcode{sn\_cfctl%prtctl} -and \forcode{sn\_cfctl%prttrc} suboptions, respectively. Although, perhaps, of limited use for its +of trends for either the physics or passive tracers are the \forcode{sn_cfctl%prtctl} +and \forcode{sn_cfctl%prttrc} suboptions, respectively. Although, perhaps, of limited use for its original intention, the ability to produce these control sums of trends in specific -areas provides another tool for diagnosing model behaviour. If only the output from a +areas provides another tool for diagnosing model behaviour. + +If only the output from a select few regions is required then additional options are available to activate options -for only a simple subset of processing regions. These are: \forcode{sn\_cfctl%procmin}, -\forcode{sn\_cfctl%procmax} and \forcode{sn\_cfctl%procincr} which can be used to specify +for only a simple subset of processing regions. These are: \forcode{sn_cfctl%procmin}, +\forcode{sn_cfctl%procmax} and \forcode{sn_cfctl%procincr} which can be used to specify the minimum and maximum active areas and the increment. The default values are set such that all regions will be active. Note this subsetting can also be used to limit which additional \texttt{ocean.output} and \texttt{layout.dat} files are produced if @@ -466,23 +445,6 @@ those suboptions are active. \end{enumerate} -\begin{forlines} - sn_cfctl%l_glochk = .false. ! Range sanity checks are local (F) or global (T). Set T for debugging only - sn_cfctl%l_allon = .false. ! IF T activate all options. If F deactivate all unless l_config is T - sn_cfctl%l_config = .true. ! IF .true. then control which reports are written with the following - sn_cfctl%l_runstat = .false. ! switches and which areas produce reports with the proc integer settings. - sn_cfctl%l_trcstat = .false. ! The default settings for the proc integers should ensure - sn_cfctl%l_oceout = .false. ! that all areas report. - sn_cfctl%l_layout = .false. ! - sn_cfctl%l_prtctl = .false. ! - sn_cfctl%l_prttrc = .false. ! - sn_cfctl%l_oasout = .false. ! - sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] - sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] - sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] - sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info -\end{forlines} - \subinc{\input{../../global/epilogue}} \end{document} -- GitLab