Changeset 12236 for NEMO/branches/2019/dev_r11943_MERGE_2019/doc
- Timestamp:
- 2019-12-13T10:19:48+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11943_MERGE_2019/doc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/doc/latex/NEMO/subfiles/chap_misc.tex
r11693 r12236 362 362 363 363 %% ================================================================================================= 364 \subsection{Control print} 365 366 The \np{ln_ctl}{ln\_ctl} switch was originally used as a debugging option in two modes: 367 368 \begin{enumerate} 369 \item {\np{ln_ctl}{ln\_ctl}: compute and print the trends averaged over the interior domain in all TRA, DYN, LDF and 370 ZDF modules. 371 This option is very helpful when diagnosing the origin of an undesired change in model results. } 372 373 \item {also \np{ln_ctl}{ln\_ctl} but using the nictl and njctl namelist parameters to check the source of differences between 374 mono and multi processor runs.} 364 \subsection{Status and debugging information output} 365 366 367 NEMO can produce a range of text information output either: in the main output 368 file (ocean.output) written by the normal reporting processor (narea == 1) or various 369 specialist output files (e.g. layout.dat, run.stat, tracer.stat etc.). Some, for example 370 run.stat and tracer.stat, contain globally collected values for which a single file is 371 sufficient. Others, however, contain information that could, potentially, be different 372 for each processing region. For computational efficiency, the default volume of text 373 information produced is reduced to just a few files from the narea=1 processor. 374 375 When 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 377 on-off switches this structure also allows selection of a range of processors for 378 individual reporting (where appropriate) and a time-increment option to restrict 379 globally collected values to specified time-step increments. 380 381 Most options within the structure are influenced by the top-level switches shown here 382 with their default settings: 383 384 \begin{verbatim} 385 sn_cfctl%l_allon = .FALSE. ! IF T activate all options. If F deactivate all unless l_config is T 386 sn_cfctl%l_config = .TRUE. ! IF .true. then control which reports are written with the following 387 \end{verbatim} 388 389 The first switch is a convenience option which can be used to switch on and off all 390 sub-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} 394 IF ( sn_cfctl%l_allon ) THEN 395 set all suboptions .TRUE. 396 and set procmin, procmax and procincr so that all regions are selected ([0,10000000,1], respectively) 397 ELSEIF ( sn_cfctl%l_config ) THEN 398 honour individual settings of the suboptions from the namelist 399 ELSE 400 set all suboptions .FALSE. 401 ENDIF 402 \end{verbatim} 403 404 Details 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 407 by searching for excessive sea surface heights or velocities and salinity values 408 outside a sensible physical range. If breaches are detected then the default behaviour 409 is to locate and report the local indices of the grid-point in breach. These indices 410 are 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 412 the various minimum and maximum values and the global indices are reported. This has 413 some value in locating the most severe error in cases where the first detected error 414 may not be the worst culprit. 415 416 \subsubsection{Control print suboptions} 417 418 The options that can be individually selected fall into three categories: 419 420 \begin{enumerate} \item{Time step progress information} This category includes 421 \texttt{run.stat} and \texttt{tracer.stat} files which record certain physical and 422 passive tracer metrics (respectively). Typical contents of \texttt{run.stat} include 423 global maximums of ssh, velocity; and global minimums and maximums of temperature 424 and salinity. A netCDF version of \texttt{run.stat} (\texttt{run.stat.nc}) is also 425 produced with the same time-series data and this can easily be expanded to include 426 extra monitoring information. \texttt{tracer.stat} contains the volume-weighted 427 average tracer value for each passive tracer. Collecting these metrics involves 428 global 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 432 value greater than one. This increment determines the time-step frequency at which 433 the global metrics are collected and reported. This increment also applies to the 434 time.step file which is otherwise updated every timestep. 435 \item{One-time configuration information/progress logs} 436 437 Some run-time configuration information and limited progress information is always 438 produced by the first ocean process. This includes the \texttt{ocean.output} file 439 which reports on all the namelist options read by the model and remains open to catch 440 any warning or error messages generated during execution. A \texttt{layout.dat} 441 file 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 443 to 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 445 \texttt{ocean.output}. All files, beyond the the normal reporting processor (narea == 1), are 446 named with a \_XXXX extension to their name, where XXXX is a 4-digit area number (with 447 leading zeros, if required). This is useful as a debugging aid since all processes can 448 report their local conditions. Note though that these files are buffered on most UNIX 449 systems so bug-hunting efforts using this facility should also utilise the \fortran: 450 451 \begin{verbatim} 452 CALL FLUSH(numout) 453 \end{verbatim} 454 455 statement 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 458 file but rather activates the writing of addition information regarding the OASIS 459 configuration when coupling via oasis and the sbccpl routine. This information is 460 written to any active \texttt{ocean.output} files. 461 \item{Control sums of trends for debugging} 462 463 NEMO includes an option for debugging reproducibility differences between 464 a MPP and mono-processor runs. This is somewhat dated and clearly only 465 useful for this purpose when dealing with configurations that can be run 466 on a single processor. The full details can be found in this report: \href{ 467 http://forge.ipsl.jussieu.fr/nemo/attachment/wiki/Documentation/prtctl_NEMO_doc_v2.pdf}{The 468 control 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 471 original intention, the ability to produce these control sums of trends in specific 472 areas provides another tool for diagnosing model behaviour. If only the output from a 473 select 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 476 the minimum and maximum active areas and the increment. The default values are set 477 such that all regions will be active. Note this subsetting can also be used to limit 478 which additional \texttt{ocean.output} and \texttt{layout.dat} files are produced if 479 those suboptions are active. 480 375 481 \end{enumerate} 376 482 377 However, in recent versions it has also been used to force all processors to assume the 378 reporting role. Thus when \np{ln_ctl}{ln\_ctl} is true all processors produce their own versions 379 of files such as: ocean.output, layout.dat, etc. All such files, beyond the the normal 380 reporting processor (narea == 1), are named with a \_XXXX extension to their name, where 381 XXXX is a 4-digit area number (with leading zeros, if required). Other reporting files 382 such as run.stat (and its netCDF counterpart: run.stat.nc) and tracer.stat contain global 383 information and are only ever produced by the reporting master (narea == 1). For version 384 4.0 a start has been made to return \np{ln_ctl}{ln\_ctl} to its original function by introducing 385 a new control structure which allows finer control over which files are produced. This 386 feature is still evolving but it does already allow the user to: select individually the 387 production of run.stat and tracer.stat files and to toggle the production of other files 388 on processors other than the reporting master. These other reporters can be a simple 389 subset of processors as defined by a minimum, maximum and incremental processor number. 390 391 Note, that production of the run.stat and tracer.stat files require global communications. 392 For run.stat, these are global min and max operations to find metrics such as the gloabl 393 maximum velocity. For tracer.stat these are global sums of tracer fields. To improve model 394 performance these operations are disabled by default and, where necessary, any use of the 395 global values have been replaced with local calculations. For example, checks on the CFL 396 criterion are now done on the local domain and only reported if a breach is detected. 397 398 Experienced users may wish to still monitor this information as a check on model progress. 399 If so, the best compromise will be to activate the files with: 400 401 \begin{verbatim} 402 sn_cfctl%l_config = .TRUE. 403 sn_cfctl%l_runstat = .TRUE. 404 sn_cfctl%l_trcstat = .TRUE. 405 \end{verbatim} 406 407 and to use the new time increment setting to ensure the values are collected and reported 408 at a suitably long interval. For example: 409 410 \begin{verbatim} 411 sn_cfctl%ptimincr = 25 412 \end{verbatim} 413 414 will carry out the global communications and write the information every 25 timesteps. This 415 increment also applies to the time.step file which is otherwise updated every timestep. 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 416 500 417 501 \subinc{\input{../../global/epilogue}} -
NEMO/branches/2019/dev_r11943_MERGE_2019/doc/namelists/namctl
r10601 r12236 2 2 &namctl ! Control prints (default: OFF) 3 3 !----------------------------------------------------------------------- 4 ln_ctl = .FALSE. ! Toggle all report printing on/off (T/F); Ignored if sn_cfctl%l_config is T 4 sn_cfctl%l_glochk = .FALSE. ! Range sanity checks are local (F) or global (T). Set T for debugging only 5 sn_cfctl%l_allon = .FALSE. ! IF T activate all options. If F deactivate all unless l_config is T 5 6 sn_cfctl%l_config = .TRUE. ! IF .true. then control which reports are written with the following 6 7 sn_cfctl%l_runstat = .FALSE. ! switches and which areas produce reports with the proc integer settings. … … 8 9 sn_cfctl%l_oceout = .FALSE. ! that all areas report. 9 10 sn_cfctl%l_layout = .FALSE. ! 10 sn_cfctl%l_mppout = .FALSE. ! 11 sn_cfctl%l_mpptop = .FALSE. ! 11 sn_cfctl%l_prtctl = .FALSE. ! 12 sn_cfctl%l_prttrc = .FALSE. ! 13 sn_cfctl%l_oasout = .FALSE. ! 12 14 sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] 13 15 sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000]
Note: See TracChangeset
for help on using the changeset viewer.