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 10601 for NEMO – NEMO

Changeset 10601 for NEMO


Ignore:
Timestamp:
2019-01-28T21:53:01+01:00 (5 years ago)
Author:
acc
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

Legend:

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

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

    r10075 r10601  
    22&namctl        !   Control prints                                       (default: OFF) 
    33!----------------------------------------------------------------------- 
    4    ln_ctl      = .false.   !  trends control print (expensive!) 
     4   ln_ctl = .FALSE.                 ! Toggle all report printing on/off (T/F); Ignored if sn_cfctl%l_config is T 
     5     sn_cfctl%l_config = .TRUE.     ! IF .true. then control which reports are written with the following 
     6       sn_cfctl%l_runstat = .FALSE. ! switches and which areas produce reports with the proc integer settings. 
     7       sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure 
     8       sn_cfctl%l_oceout  = .FALSE. ! that  all areas report. 
     9       sn_cfctl%l_layout  = .FALSE. ! 
     10       sn_cfctl%l_mppout  = .FALSE. ! 
     11       sn_cfctl%l_mpptop  = .FALSE. ! 
     12       sn_cfctl%procmin   = 0       ! Minimum area number for reporting [default:0] 
     13       sn_cfctl%procmax   = 1000000 ! Maximum area number for reporting [default:1000000] 
     14       sn_cfctl%procincr  = 1       ! Increment for optional subsetting of areas [default:1] 
     15       sn_cfctl%ptimincr  = 1       ! Timestep increment for writing time step progress info 
    516   nn_print    =    0      !  level of print (0 no extra print) 
    617   nn_ictls    =    0      !  start i indice of control sum (use to compare mono versus 
  • NEMO/trunk/src/OCE/IOM/in_out_manager.F90

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

    r10570 r10601  
    500500      !!---------------------------------------------------------------------- 
    501501      LOGICAL :: setto, for_all 
    502       TYPE (sn_ctl) :: sn_cfctl 
     502      TYPE(sn_ctl) :: sn_cfctl 
    503503      !!---------------------------------------------------------------------- 
    504504      IF( for_all ) THEN 
  • NEMO/trunk/src/SAO/nemogcm.F90

    r10570 r10601  
    426426      !!---------------------------------------------------------------------- 
    427427      LOGICAL :: setto, for_all 
    428       TYPE (sn_ctl) :: sn_cfctl 
     428      TYPE(sn_ctl) :: sn_cfctl 
    429429      !!---------------------------------------------------------------------- 
    430430      IF( for_all ) THEN 
  • NEMO/trunk/src/SAS/nemogcm.F90

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