# Changeset 10601

Ignore:
Timestamp:
2019-01-28T21:53:01+01:00 (15 months ago)
Message:

Remove some redundant variables from in_out_manager.F90. Update namctl and text in manual. Make whitespace correction to OFF, SAO and SAS versions of nemogcm.F90

Location:
NEMO/trunk
Files:
6 edited

Unmodified
Removed
• ## NEMO/trunk/doc/latex/NEMO/subfiles/chap_misc.tex

 r10462 %-------------------------------------------------------------------------------------------------------------- \gmcomment{why not make these bullets into subsections?} Options are defined through the  \ngn{namctl} namelist variables. $\bullet$ Vector optimisation: \subsection{Vector optimisation} \key{vectopt\_loop} enables the internal loops to collapse. % Add also one word on NEC specific optimisation (Novercheck option for example) $\bullet$ Control print %: describe here 4 things: 1- \np{ln\_ctl}: compute and print the trends averaged over the interior domain in all TRA, DYN, LDF and \subsection{Control print} The \np{ln\_ctl} switch was originally used as a debugging option in two modes: \begin{enumerate} \item{\np{ln\_ctl}: compute and print the trends averaged over the interior domain in all TRA, DYN, LDF and ZDF modules. This option is very helpful when diagnosing the origin of an undesired change in model results. 2- also \np{ln\_ctl} but using the nictl and njctl namelist parameters to check the source of differences between mono and multi processor runs. %%gm   to be removed both here and in the code 3- last digit comparison (\np{nn\_bit\_cmp}). In an MPP simulation, the computation of a sum over the whole domain is performed as the summation over all processors of each of their sums over their interior domains. This double sum never gives exactly the same result as a single sum over the whole domain, due to truncation differences. The "bit comparison" option has been introduced in order to be able to check that mono-processor and multi-processor runs give exactly the same results. % THIS is to be updated with the mpp_sum_glo  introduced in v3.3 % nn_bit_cmp  today only check that the nn_cla = 0 (no cross land advection) %%gm end $\bullet$  Benchmark (\np{nn\_bench}). This option defines a benchmark run based on a GYRE configuration (see \autoref{sec:CFG_gyre}) in which the resolution remains the same whatever the domain size. This allows a very large model domain to be used, just by changing the domain size (\jp{jpiglo}, \jp{jpjglo}) and without adjusting either the time-step or the physical parameterisations. This option is very helpful when diagnosing the origin of an undesired change in model results. } \item{also \np{ln\_ctl} but using the nictl and njctl namelist parameters to check the source of differences between mono and multi processor runs.} \end{enumerate} However, in recent versions it has also been used to force all processors to assume the reporting role. Thus when \np{ln\_ctl} is true all processors produce their own versions of files such as: ocean.output, layout.dat, etc.  All such 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). Other reporting files such as run.stat (and its netCDF counterpart: run.stat.nc) and tracer.stat contain global information and are only ever produced by the reporting master (narea == 1). For version 4.0 a start has been made to return \np{ln\_ctl} to its original function by introducing a new control structure which allows finer control over which files are produced. This feature is still evolving but it does already allow the user to: select individually the production of run.stat and tracer.stat files and to toggle the production of other files on processors other than the reporting master. These other reporters can be a simple subset of processors as defined by a minimum, maximum and incremental processor number. Note, that production of the run.stat and tracer.stat files require global communications. For run.stat, these are global min and max operations to find metrics such as the gloabl maximum velocity. For tracer.stat these are global sums of tracer fields. To improve model performance these operations are disabled by default and, where necessary, any use of the global values have been replaced with local calculations. For example, checks on the CFL criterion are now done on the local domain and only reported if a breach is detected. Experienced users may wish to still monitor this information as a check on model progress. If so, the best compromise will be to activate the files with: \begin{verbatim} sn_cfctl%l_config = .TRUE. sn_cfctl%l_runstat = .TRUE. sn_cfctl%l_trcstat = .TRUE. \end{verbatim} and to use the new time increment setting to ensure the values are collected and reported at a suitably long interval. For example: \begin{verbatim} sn_cfctl%ptimincr  = 25 \end{verbatim} will carry out the global communications and write the information every 25 timesteps. This increment also applies to the time.step file which is otherwise updated every timestep. % ================================================================
• ## NEMO/trunk/doc/namelists/namctl

 r10075 &namctl        !   Control prints                                       (default: OFF) !----------------------------------------------------------------------- ln_ctl      = .false.   !  trends control print (expensive!) ln_ctl = .FALSE.                 ! Toggle all report printing on/off (T/F); Ignored if sn_cfctl%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_mppout  = .FALSE. ! sn_cfctl%l_mpptop  = .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 nn_print    =    0      !  level of print (0 no extra print) nn_ictls    =    0      !  start i indice of control sum (use to compare mono versus
• ## NEMO/trunk/src/OCE/IOM/in_out_manager.F90

 r10588 INTEGER ::   nn_isplt         !: number of processors following i INTEGER ::   nn_jsplt         !: number of processors following j INTEGER ::   nn_bench         !: benchmark parameter (0/1) INTEGER ::   nn_bit_cmp = 0   !: bit reproducibility  (0/1) ! INTEGER ::   nprint, nictls, nictle, njctls, njctle, isplt, jsplt    !: OLD namelist names
• ## NEMO/trunk/src/OFF/nemogcm.F90

 r10570 !!---------------------------------------------------------------------- LOGICAL :: setto, for_all TYPE (sn_ctl) :: sn_cfctl TYPE(sn_ctl) :: sn_cfctl !!---------------------------------------------------------------------- IF( for_all ) THEN
• ## NEMO/trunk/src/SAO/nemogcm.F90

 r10570 !!---------------------------------------------------------------------- LOGICAL :: setto, for_all TYPE (sn_ctl) :: sn_cfctl TYPE(sn_ctl) :: sn_cfctl !!---------------------------------------------------------------------- IF( for_all ) THEN
• ## NEMO/trunk/src/SAS/nemogcm.F90

 r10570 !!---------------------------------------------------------------------- LOGICAL :: setto, for_all TYPE (sn_ctl) :: sn_cfctl TYPE(sn_ctl) :: sn_cfctl !!---------------------------------------------------------------------- IF( for_all ) THEN
Note: See TracChangeset for help on using the changeset viewer.