Changeset 10601
- Timestamp:
- 2019-01-28T21:53:01+01:00 (4 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/doc/latex/NEMO/subfiles/chap_misc.tex
r10462 r10601 328 328 %-------------------------------------------------------------------------------------------------------------- 329 329 330 \gmcomment{why not make these bullets into subsections?}331 330 Options are defined through the \ngn{namctl} namelist variables. 332 331 333 $\bullet$ Vector optimisation: 332 \subsection{Vector optimisation} 334 333 335 334 \key{vectopt\_loop} enables the internal loops to collapse. … … 341 340 % Add also one word on NEC specific optimisation (Novercheck option for example) 342 341 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 344 The \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 346 348 ZDF 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. 349 This 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 352 mono and multi processor runs.} 353 \end{enumerate} 354 355 However, in recent versions it has also been used to force all processors to assume the 356 reporting role. Thus when \np{ln\_ctl} is true all processors produce their own versions 357 of files such as: ocean.output, layout.dat, etc. All such files, beyond the the normal 358 reporting processor (narea == 1), are named with a \_XXXX extension to their name, where 359 XXXX is a 4-digit area number (with leading zeros, if required). Other reporting files 360 such as run.stat (and its netCDF counterpart: run.stat.nc) and tracer.stat contain global 361 information and are only ever produced by the reporting master (narea == 1). For version 362 4.0 a start has been made to return \np{ln\_ctl} to its original function by introducing 363 a new control structure which allows finer control over which files are produced. This 364 feature is still evolving but it does already allow the user to: select individually the 365 production of run.stat and tracer.stat files and to toggle the production of other files 366 on processors other than the reporting master. These other reporters can be a simple 367 subset of processors as defined by a minimum, maximum and incremental processor number. 368 369 Note, that production of the run.stat and tracer.stat files require global communications. 370 For run.stat, these are global min and max operations to find metrics such as the gloabl 371 maximum velocity. For tracer.stat these are global sums of tracer fields. To improve model 372 performance these operations are disabled by default and, where necessary, any use of the 373 global values have been replaced with local calculations. For example, checks on the CFL 374 criterion are now done on the local domain and only reported if a breach is detected. 375 376 Experienced users may wish to still monitor this information as a check on model progress. 377 If 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 385 and to use the new time increment setting to ensure the values are collected and reported 386 at a suitably long interval. For example: 387 388 \begin{verbatim} 389 sn_cfctl%ptimincr = 25 390 \end{verbatim} 391 392 will carry out the global communications and write the information every 25 timesteps. This 393 increment also applies to the time.step file which is otherwise updated every timestep. 369 394 370 395 % ================================================================ -
NEMO/trunk/doc/namelists/namctl
r10075 r10601 2 2 &namctl ! Control prints (default: OFF) 3 3 !----------------------------------------------------------------------- 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 5 16 nn_print = 0 ! level of print (0 no extra print) 6 17 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 129 129 INTEGER :: nn_isplt !: number of processors following i 130 130 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)133 131 ! 134 132 INTEGER :: nprint, nictls, nictle, njctls, njctle, isplt, jsplt !: OLD namelist names -
NEMO/trunk/src/OFF/nemogcm.F90
r10570 r10601 500 500 !!---------------------------------------------------------------------- 501 501 LOGICAL :: setto, for_all 502 TYPE 502 TYPE(sn_ctl) :: sn_cfctl 503 503 !!---------------------------------------------------------------------- 504 504 IF( for_all ) THEN -
NEMO/trunk/src/SAO/nemogcm.F90
r10570 r10601 426 426 !!---------------------------------------------------------------------- 427 427 LOGICAL :: setto, for_all 428 TYPE 428 TYPE(sn_ctl) :: sn_cfctl 429 429 !!---------------------------------------------------------------------- 430 430 IF( for_all ) THEN -
NEMO/trunk/src/SAS/nemogcm.F90
r10570 r10601 544 544 !!---------------------------------------------------------------------- 545 545 LOGICAL :: setto, for_all 546 TYPE 546 TYPE(sn_ctl) :: sn_cfctl 547 547 !!---------------------------------------------------------------------- 548 548 IF( for_all ) THEN
Note: See TracChangeset
for help on using the changeset viewer.