Changeset 12210 for NEMO/branches/2019
- Timestamp:
- 2019-12-12T13:15:13+01:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019
- Files:
-
- 109 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/cfgs/SHARED/namelist_ref
r12191 r12210 1390 1390 &namctl ! Control prints (default: OFF) 1391 1391 !----------------------------------------------------------------------- 1392 ln_ctl = .FALSE. ! Toggle all report printing on/off (T/F); Ignored if sn_cfctl%l_config is T 1392 sn_cfctl%l_glochk = .FALSE. ! Range sanity checks are local (F) or global (T). Set T for debugging only 1393 sn_cfctl%l_allon = .FALSE. ! IF T activate all options. If F deactivate all unless l_config is T 1393 1394 sn_cfctl%l_config = .TRUE. ! IF .true. then control which reports are written with the following 1394 1395 sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. … … 1396 1397 sn_cfctl%l_oceout = .FALSE. ! that all areas report. 1397 1398 sn_cfctl%l_layout = .FALSE. ! 1398 sn_cfctl%l_mppout = .FALSE. ! 1399 sn_cfctl%l_mpptop = .FALSE. ! 1399 sn_cfctl%l_prtctl = .FALSE. ! 1400 sn_cfctl%l_prttrc = .FALSE. ! 1401 sn_cfctl%l_oasout = .FALSE. ! 1400 1402 sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] 1401 1403 sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/doc/latex/NEMO/subfiles/chap_misc.tex
r11693 r12210 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_r12072_MERGE_OPTION2_2019/doc/namelists/namctl
r10601 r12210 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] -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ABL/ablmod.F90
r12154 r12210 579 579 CALL iom_put( "taum_oce", ptaum ) 580 580 581 IF( ln_ctl) THEN581 IF(sn_cfctl%l_prtctl) THEN 582 582 CALL prt_ctl( tab2d_1=pwndm , clinfo1=' abl_stp: wndm : ' ) 583 583 CALL prt_ctl( tab2d_1=ptaui , clinfo1=' abl_stp: utau : ' ) … … 594 594 zztmp1 = 0.5_wp * ( u_abl(ji+1,jj,2,nt_a) + u_abl(ji,jj,2,nt_a) ) 595 595 zztmp2 = 0.5_wp * ( v_abl(ji,jj+1,2,nt_a) + v_abl(ji,jj,2,nt_a) ) 596 597 596 ptaui_ice(ji,jj) = 0.5_wp * ( rhoa(ji+1,jj) * pCd_du_ice(ji+1,jj) & 598 597 & + rhoa(ji ,jj) * pCd_du_ice(ji ,jj) ) & … … 605 604 CALL lbc_lnk_multi( 'ablmod', ptaui_ice, 'U', -1., ptauj_ice, 'V', -1. ) 606 605 ! 607 IF( ln_ctl)CALL prt_ctl( tab2d_1=ptaui_ice , clinfo1=' abl_stp: putaui : ' &608 & , tab2d_2=ptauj_ice , clinfo2=' pvtaui : ' )606 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=ptaui_ice , clinfo1=' abl_stp: putaui : ' & 607 & , tab2d_2=ptauj_ice , clinfo2=' pvtaui : ' ) 609 608 #endif 610 609 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icecor.F90
r11536 r12210 165 165 ! 166 166 ! controls 167 IF( ln_ctl ) CALL ice_prt3D ('icecor') ! prints 167 IF( sn_cfctl%l_prtctl ) & 168 & CALL ice_prt3D ('icecor') ! prints 168 169 IF( ln_icectl .AND. kn == 2 ) & 169 170 & CALL ice_prt ( kt, iiceprt, jiceprt, 2, ' - Final state - ' ) ! prints -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icectl.F90
r11612 r12210 695 695 !! *** ROUTINE ice_prt3D *** 696 696 !! 697 !! ** Purpose : CTL prints of ice arrays in case ln_ctl is activated697 !! ** Purpose : CTL prints of ice arrays in case sn_cfctl%prtctl is activated 698 698 !! 699 699 !!------------------------------------------------------------------- -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icedyn_rdgrft.F90
r12202 r12210 268 268 269 269 ! controls 270 IF( ln_ctl ) CALL ice_prt3D ('icedyn_rdgrft')! prints270 IF( sn_cfctl%l_prtctl ) CALL ice_prt3D ('icedyn_rdgrft') ! prints 271 271 IF( ln_icectl ) CALL ice_prt (kt, iiceprt, jiceprt,-1, ' - ice dyn rdgrft - ') ! prints 272 272 IF( ln_icediachk ) CALL ice_cons_hsm(1, 'icedyn_rdgrft', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) ! conservation -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icedyn_rhg.F90
r12202 r12210 88 88 ! 89 89 ! controls 90 IF( ln_ctl ) CALL ice_prt3D ('icedyn_rhg') ! prints 90 IF( sn_cfctl%l_prtctl ) & 91 & CALL ice_prt3D ('icedyn_rhg') ! prints 91 92 IF( ln_icediachk ) CALL ice_cons_hsm(1, 'icedyn_rhg', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) ! conservation 92 93 IF( ln_icediachk ) CALL ice_cons2D (1, 'icedyn_rhg', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) ! conservation -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icedyn_rhg_evp.F90
r11536 r12210 345 345 l_full_nf_update = jter == nn_nevp ! false: disable full North fold update (performances) for iter = 1 to nn_nevp-1 346 346 ! 347 !!$ IF( ln_ctl) THEN ! Convergence test347 !!$ IF(sn_cfctl%l_prtctl) THEN ! Convergence test 348 348 !!$ DO jj = 1, jpjm1 349 349 !!$ zu_ice(:,jj) = u_ice(:,jj) ! velocity at previous time step … … 667 667 ENDIF 668 668 669 !!$ IF( ln_ctl) THEN ! Convergence test669 !!$ IF(sn_cfctl%l_prtctl) THEN ! Convergence test 670 670 !!$ DO jj = 2 , jpjm1 671 671 !!$ zresr(:,jj) = MAX( ABS( u_ice(:,jj) - zu_ice(:,jj) ), ABS( v_ice(:,jj) - zv_ice(:,jj) ) ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icethd.F90
r12202 r12210 252 252 ! controls 253 253 IF( ln_icectl ) CALL ice_prt (kt, iiceprt, jiceprt, 1, ' - ice thermodyn. - ') ! prints 254 IF( ln_ctl ) CALL ice_prt3D ('icethd') ! prints 254 IF( sn_cfctl%l_prtctl ) & 255 & CALL ice_prt3D ('icethd') ! prints 255 256 IF( ln_timing ) CALL timing_stop('icethd') ! timing 256 257 ! -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/iceupdate.F90
r11536 r12210 286 286 #endif 287 287 IF( ln_icectl ) CALL ice_prt (kt, iiceprt, jiceprt, 3, 'Final state ice_update') ! prints 288 IF( ln_ctl) CALL ice_prt3D ('iceupdate') ! prints288 IF( sn_cfctl%l_prtctl ) CALL ice_prt3D ('iceupdate') ! prints 289 289 IF( ln_timing ) CALL timing_stop ('ice_update') ! timing 290 290 ! -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/C1D/dyncor_c1d.F90
r10068 r12210 95 95 96 96 ! 97 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' cor - Ua: ', mask1=umask, &98 & tab3d_2=va, clinfo2=' Va: ' , mask2=vmask )97 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' cor - Ua: ', mask1=umask, & 98 & tab3d_2=va, clinfo2=' Va: ' , mask2=vmask ) 99 99 ! 100 100 END SUBROUTINE dyn_cor_c1d -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/C1D/dyndmp.F90
r12202 r12210 217 217 ! 218 218 ! ! Control print 219 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua(:,:,:), clinfo1=' dmp - Ua: ', mask1=umask, &220 & tab3d_2=va(:,:,:), clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )219 IF( sn_cfctl%l_prtctl ) CALL prt_ctl( tab3d_1=ua(:,:,:), clinfo1=' dmp - Ua: ', mask1=umask, & 220 & tab3d_2=va(:,:,:), clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 221 221 ! 222 222 ! -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DOM/daymod.F90
r10068 r12210 277 277 IF( nsec_week > 7*nsecd ) nsec_week = ndt05 ! New week 278 278 279 IF( ln_ctl) THEN279 IF(sn_cfctl%l_prtctl) THEN 280 280 WRITE(charout,FMT="('kt =', I4,' d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 281 281 CALL prt_ctl_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynadv_cen2.F90
r10068 r12210 139 139 ENDIF 140 140 ! ! Control print 141 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' cen2 adv - Ua: ', mask1=umask, &142 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )141 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' cen2 adv - Ua: ', mask1=umask, & 142 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 143 143 ! 144 144 END SUBROUTINE dyn_adv_cen2 -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynadv_ubs.F90
r10425 r12210 232 232 ENDIF 233 233 ! ! Control print 234 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' ubs2 adv - Ua: ', mask1=umask, &235 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )234 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' ubs2 adv - Ua: ', mask1=umask, & 235 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 236 236 ! 237 237 END SUBROUTINE dyn_adv_ubs -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynhpg.F90
r12202 r12210 121 121 ENDIF 122 122 ! 123 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' hpg - Ua: ', mask1=umask, &124 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )123 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' hpg - Ua: ', mask1=umask, & 124 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 125 125 ! 126 126 IF( ln_timing ) CALL timing_stop('dyn_hpg') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynkeg.F90
r11536 r12210 147 147 ENDIF 148 148 ! 149 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' keg - Ua: ', mask1=umask, &150 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )149 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' keg - Ua: ', mask1=umask, & 150 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 151 151 ! 152 152 IF( ln_timing ) CALL timing_stop('dyn_keg') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynldf.F90
r10068 r12210 77 77 ENDIF 78 78 ! ! print sum trends (used for debugging) 79 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' ldf - Ua: ', mask1=umask, &80 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )79 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' ldf - Ua: ', mask1=umask, & 80 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 81 81 ! 82 82 IF( ln_timing ) CALL timing_stop('dyn_ldf') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynldf_iso.F90
r10425 r12210 286 286 287 287 ! print sum trends (used for debugging) 288 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' ldfh - Ua: ', mask1=umask, &289 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )288 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' ldfh - Ua: ', mask1=umask, & 289 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 290 290 291 291 -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynnxt.F90
r12166 r12210 361 361 ENDIF 362 362 ! 363 IF( ln_ctl) CALL prt_ctl( tab3d_1=un, clinfo1=' nxt - Un: ', mask1=umask, &364 & tab3d_2=vn, clinfo2=' Vn: ' , mask2=vmask )363 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=un, clinfo1=' nxt - Un: ', mask1=umask, & 364 & tab3d_2=vn, clinfo2=' Vn: ' , mask2=vmask ) 365 365 ! 366 366 IF( ln_dynspg_ts ) DEALLOCATE( zue, zve ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynspg.F90
r12202 r12210 175 175 ENDIF 176 176 ! ! print mean trends (used for debugging) 177 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' spg - Ua: ', mask1=umask, &178 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )177 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' spg - Ua: ', mask1=umask, & 178 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 179 179 ! 180 180 IF( ln_timing ) CALL timing_stop('dyn_spg') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynvor.F90
r12202 r12210 179 179 ! 180 180 ! ! print sum trends (used for debugging) 181 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' vor - Ua: ', mask1=umask, &182 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )181 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' vor - Ua: ', mask1=umask, & 182 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 183 183 ! 184 184 IF( ln_timing ) CALL timing_stop('dyn_vor') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynzad.F90
r10068 r12210 114 114 ENDIF 115 115 ! ! Control print 116 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' zad - Ua: ', mask1=umask, &117 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )116 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' zad - Ua: ', mask1=umask, & 117 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 118 118 ! 119 119 IF( ln_timing ) CALL timing_stop('dyn_zad') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynzdf.F90
r12166 r12210 492 492 ENDIF 493 493 ! ! print mean trends (used for debugging) 494 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf - Ua: ', mask1=umask, &495 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )494 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf - Ua: ', mask1=umask, & 495 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 496 496 ! 497 497 IF( ln_timing ) CALL timing_stop('dyn_zdf') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/sshwzv.F90
r12166 r12210 122 122 ! !------------------------------! 123 123 ! 124 IF( ln_ctl) CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha - : ', mask1=tmask )124 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha - : ', mask1=tmask ) 125 125 ! 126 126 IF( ln_timing ) CALL timing_stop('ssh_nxt') … … 269 269 ENDIF 270 270 ! 271 IF( ln_ctl) CALL prt_ctl( tab2d_1=sshb, clinfo1=' sshb - : ', mask1=tmask )271 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=sshb, clinfo1=' sshb - : ', mask1=tmask ) 272 272 ! 273 273 IF( ln_timing ) CALL timing_stop('ssh_swp') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/IOM/in_out_manager.F90
r12202 r12210 99 99 !! output monitoring 100 100 !!---------------------------------------------------------------------- 101 LOGICAL :: ln_ctl !: run control for debugging 102 TYPE :: sn_ctl !: optional use structure for finer control over output selection 101 TYPE :: sn_ctl !: structure for control over output selection 102 LOGICAL :: l_glochk = .FALSE. !: range sanity checks are local (F) or global (T) 103 ! Use global setting for debugging only; 104 ! local breaches will still be reported 105 ! and stop the code in most cases. 106 LOGICAL :: l_allon = .FALSE. !: overall control; activate all following output options 103 107 LOGICAL :: l_config = .FALSE. !: activate/deactivate finer control 104 ! Note if l_config is True then ln_ctl is ignored. 105 ! Otherwise setting ln_ctl True is equivalent to setting 106 ! all the following logicals in this structure True 108 ! Note if l_config is True then sn_cfctl%l_allon is ignored. 109 ! Otherwise setting sn_cfctl%l_allon T/F is equivalent to 110 ! setting all the following logicals in this structure T/F 111 ! and disabling subsetting of processors 107 112 LOGICAL :: l_runstat = .FALSE. !: Produce/do not produce run.stat file (T/F) 108 113 LOGICAL :: l_trcstat = .FALSE. !: Produce/do not produce tracer.stat file (T/F) 109 114 LOGICAL :: l_oceout = .FALSE. !: Produce all ocean.outputs (T) or just one (F) 110 115 LOGICAL :: l_layout = .FALSE. !: Produce all layout.dat files (T) or just one (F) 111 LOGICAL :: l_mppout = .FALSE. !: Produce/do not produce mpp.output_XXXX files (T/F) 112 LOGICAL :: l_mpptop = .FALSE. !: Produce/do not produce mpp.top.output_XXXX files (T/F) 116 LOGICAL :: l_prtctl = .FALSE. !: Produce/do not produce mpp.output_XXXX files (T/F) 117 LOGICAL :: l_prttrc = .FALSE. !: Produce/do not produce mpp.top.output_XXXX files (T/F) 118 LOGICAL :: l_oasout = .FALSE. !: Produce/do not write oasis setup info to ocean.output (T/F) 113 119 ! Optional subsetting of processor report files 114 120 ! Default settings of 0/1000000/1 should ensure all areas report. … … 169 175 CHARACTER(lc) :: ctmp10 !: temporary character 10 170 176 LOGICAL :: lwm = .FALSE. !: boolean : true on the 1st processor only (always) 171 LOGICAL :: lwp = .FALSE. !: boolean : true on the 1st processor only .OR. ln_ctl177 LOGICAL :: lwp = .FALSE. !: boolean : true on the 1st processor only .OR. sn_cfctl%l_oceout=T 172 178 LOGICAL :: lsp_area = .TRUE. !: to make a control print over a specific area 173 179 CHARACTER(lc) :: cxios_context !: context name used in xios -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/IOM/prtctl.F90
r10068 r12210 50 50 !! debugging a new parametrization in mono or mpp. 51 51 !! 52 !! ** Method : 2 possibilities exist when setting the ln_ctl parameter to52 !! ** Method : 2 possibilities exist when setting the sn_cfctl%prtctl parameter to 53 53 !! .true. in the ocean namelist: 54 54 !! - to debug a MPI run .vs. a mono-processor one; … … 64 64 !! name must be explicitly typed if used. For instance if the 3D 65 65 !! array tn(:,:,:) must be passed through the prt_ctl subroutine, 66 !! it must look slike: CALL prt_ctl(tab3d_1=tn).66 !! it must look like: CALL prt_ctl(tab3d_1=tn). 67 67 !! 68 68 !! tab2d_1 : first 2D array -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/LBC/mppini.F90
r12202 r12210 171 171 !!---------------------------------------------------------------------- 172 172 ! 173 llwrtlay = lw p .OR. ln_ctl.OR. sn_cfctl%l_layout173 llwrtlay = lwm .OR. sn_cfctl%l_layout 174 174 ! 175 175 ! 0. read namelists parameters -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/LDF/ldfslp.F90
r12166 r12210 366 366 CALL lbc_lnk_multi( 'ldfslp', uslp , 'U', -1. , vslp , 'V', -1. , wslpi, 'W', -1., wslpj, 'W', -1. ) 367 367 368 IF( ln_ctl) THEN368 IF(sn_cfctl%l_prtctl) THEN 369 369 CALL prt_ctl(tab3d_1=uslp , clinfo1=' slp - u : ', tab3d_2=vslp, clinfo2=' v : ', kdim=jpk) 370 370 CALL prt_ctl(tab3d_1=wslpi, clinfo1=' slp - wi: ', tab3d_2=wslpj, clinfo2=' wj: ', kdim=jpk) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/cpl_oasis3.F90
r12154 r12210 203 203 paral(5) = jpiglo ! global extent in x 204 204 205 IF( ln_ctl) THEN205 IF( sn_cfctl%l_oasout ) THEN 206 206 WRITE(numout,*) ' multiexchg: paral (1:5)', paral 207 207 WRITE(numout,*) ' multiexchg: jpi, jpj =', jpi, jpj … … 243 243 ENDIF 244 244 #endif 245 IF( ln_ctl) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_Out245 IF( sn_cfctl%l_oasout ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_Out 246 246 CALL oasis_def_var (ssnd(ji)%nid(jc,jm), zclname, id_part , (/ 2, 1 /), & 247 247 & OASIS_Out , ishape , OASIS_REAL, nerror ) … … 250 250 CALL oasis_abort ( ssnd(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 251 251 ENDIF 252 IF( ln_ctl.AND. ssnd(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple"253 IF( ln_ctl.AND. ssnd(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple"252 IF( sn_cfctl%l_oasout .AND. ssnd(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 253 IF( sn_cfctl%l_oasout .AND. ssnd(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 254 254 END DO 255 255 END DO … … 288 288 ENDIF 289 289 #endif 290 IF( ln_ctl) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_In290 IF( sn_cfctl%l_oasout ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_In 291 291 CALL oasis_def_var (srcv(ji)%nid(jc,jm), zclname, id_part , (/ 2, 1 /), & 292 292 & OASIS_In , ishape , OASIS_REAL, nerror ) … … 295 295 CALL oasis_abort ( srcv(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 296 296 ENDIF 297 IF( ln_ctl.AND. srcv(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple"298 IF( ln_ctl.AND. srcv(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple"297 IF( sn_cfctl%l_oasout .AND. srcv(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 298 IF( sn_cfctl%l_oasout .AND. srcv(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 299 299 300 300 END DO … … 349 349 CALL oasis_put ( ssnd(kid)%nid(jc,jm), kstep, pdata(nldi:nlei, nldj:nlej,jc), kinfo ) 350 350 351 IF ( ln_ctl) THEN352 IF ( kinfo == OASIS_Sent .OR. kinfo == OASIS_ToRest .OR. &351 IF ( sn_cfctl%l_oasout ) THEN 352 IF ( kinfo == OASIS_Sent .OR. kinfo == OASIS_ToRest .OR. & 353 353 & kinfo == OASIS_SentOut .OR. kinfo == OASIS_ToRestOut ) THEN 354 354 WRITE(numout,*) '****************' … … 420 420 & kinfo == OASIS_RecvOut .OR. kinfo == OASIS_FromRestOut 421 421 422 IF ( ln_ctl) WRITE(numout,*) "llaction, kinfo, kstep, ivarid: " , llaction, kinfo, kstep, srcv(kid)%nid(jc,jm)422 IF ( sn_cfctl%l_oasout ) WRITE(numout,*) "llaction, kinfo, kstep, ivarid: " , llaction, kinfo, kstep, srcv(kid)%nid(jc,jm) 423 423 424 424 IF( llaction ) THEN … … 432 432 ENDIF 433 433 434 IF ( ln_ctl) THEN434 IF ( sn_cfctl%l_oasout ) THEN 435 435 WRITE(numout,*) '****************' 436 436 WRITE(numout,*) 'oasis_get: Incoming ', srcv(kid)%clname -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/sbcblk.F90
r12202 r12210 706 706 CALL lbc_lnk_multi( 'sbcblk', utau, 'U', -1., vtau, 'V', -1. ) 707 707 708 IF( ln_ctl) THEN708 IF(sn_cfctl%l_prtctl) THEN 709 709 CALL prt_ctl( tab2d_1=wndm , clinfo1=' blk_oce_1: wndm : ') 710 710 CALL prt_ctl( tab2d_1=utau , clinfo1=' blk_oce_1: utau : ', mask1=umask, & … … 721 721 ENDIF 722 722 723 IF( ln_ctl) THEN723 IF(sn_cfctl%l_prtctl) THEN 724 724 CALL prt_ctl( tab2d_1=pevp , clinfo1=' blk_oce_1: pevp : ' ) 725 725 CALL prt_ctl( tab2d_1=psen , clinfo1=' blk_oce_1: psen : ' ) … … 786 786 ENDDO 787 787 788 IF( ln_ctl) THEN788 IF(sn_cfctl%l_prtctl) THEN 789 789 CALL prt_ctl( tab2d_1=zqla , clinfo1=' blk_oce_2: zqla : ' ) 790 790 CALL prt_ctl( tab2d_1=zqlw , clinfo1=' blk_oce_2: zqlw : ', tab2d_2=qsr, clinfo2=' qsr : ' ) … … 830 830 ENDIF 831 831 ! 832 IF( ln_ctl) THEN832 IF(sn_cfctl%l_prtctl) THEN 833 833 CALL prt_ctl(tab2d_1=zqlw , clinfo1=' blk_oce_2: zqlw : ') 834 834 CALL prt_ctl(tab2d_1=zqla , clinfo1=' blk_oce_2: zqla : ', tab2d_2=qsr , clinfo2=' qsr : ') … … 931 931 CALL lbc_lnk_multi( 'sbcblk', putaui, 'U', -1., pvtaui, 'V', -1. ) 932 932 ! 933 IF( ln_ctl)CALL prt_ctl( tab2d_1=putaui , clinfo1=' blk_ice: putaui : ' &934 & , tab2d_2=pvtaui , clinfo2=' pvtaui : ' )933 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=putaui , clinfo1=' blk_ice: putaui : ' & 934 & , tab2d_2=pvtaui , clinfo2=' pvtaui : ' ) 935 935 ELSE 936 936 zztmp1 = 11637800.0_wp … … 947 947 ENDIF 948 948 ! 949 IF( ln_ctl) CALL prt_ctl(tab2d_1=wndm_ice , clinfo1=' blk_ice: wndm_ice : ')949 IF(sn_cfctl%l_prtctl) CALL prt_ctl(tab2d_1=wndm_ice , clinfo1=' blk_ice: wndm_ice : ') 950 950 ! 951 951 END SUBROUTINE blk_ice_1 … … 1133 1133 ENDIF 1134 1134 ! 1135 IF( ln_ctl) THEN1135 IF(sn_cfctl%l_prtctl) THEN 1136 1136 CALL prt_ctl(tab3d_1=qla_ice , clinfo1=' blk_ice: qla_ice : ', tab3d_2=z_qsb , clinfo2=' z_qsb : ', kdim=jpl) 1137 1137 CALL prt_ctl(tab3d_1=z_qlw , clinfo1=' blk_ice: z_qlw : ', tab3d_2=dqla_ice, clinfo2=' dqla_ice : ', kdim=jpl) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/sbcmod.F90
r12202 r12210 568 568 CALL iom_put( "vtau", vtau ) ! j-wind stress 569 569 ! 570 IF( ln_ctl) THEN! print mean trends (used for debugging)570 IF(sn_cfctl%l_prtctl) THEN ! print mean trends (used for debugging) 571 571 CALL prt_ctl(tab2d_1=fr_i , clinfo1=' fr_i - : ', mask1=tmask ) 572 572 CALL prt_ctl(tab2d_1=(emp-rnf) , clinfo1=' emp-rnf - : ', mask1=tmask ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/eosbn2.F90
r12202 r12210 297 297 END SELECT 298 298 ! 299 IF( ln_ctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-insitu : ', kdim=jpk )299 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-insitu : ', kdim=jpk ) 300 300 ! 301 301 IF( ln_timing ) CALL timing_stop('eos-insitu') … … 464 464 END SELECT 465 465 ! 466 IF( ln_ctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-pot: ', tab3d_2=prhop, clinfo2=' pot : ', kdim=jpk )466 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-pot: ', tab3d_2=prhop, clinfo2=' pot : ', kdim=jpk ) 467 467 ! 468 468 IF( ln_timing ) CALL timing_stop('eos-pot') … … 559 559 END SELECT 560 560 ! 561 IF( ln_ctl) CALL prt_ctl( tab2d_1=prd, clinfo1=' eos2d: ' )561 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prd, clinfo1=' eos2d: ' ) 562 562 ! 563 563 IF( ln_timing ) CALL timing_stop('eos2d') … … 671 671 END SELECT 672 672 ! 673 IF( ln_ctl) CALL prt_ctl( tab3d_1=pab(:,:,:,jp_tem), clinfo1=' rab_3d_t: ', &674 & tab3d_2=pab(:,:,:,jp_sal), clinfo2=' rab_3d_s : ', kdim=jpk )673 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pab(:,:,:,jp_tem), clinfo1=' rab_3d_t: ', & 674 & tab3d_2=pab(:,:,:,jp_sal), clinfo2=' rab_3d_s : ', kdim=jpk ) 675 675 ! 676 676 IF( ln_timing ) CALL timing_stop('rab_3d') … … 785 785 END SELECT 786 786 ! 787 IF( ln_ctl) CALL prt_ctl( tab2d_1=pab(:,:,jp_tem), clinfo1=' rab_2d_t: ', &788 & tab2d_2=pab(:,:,jp_sal), clinfo2=' rab_2d_s : ' )787 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=pab(:,:,jp_tem), clinfo1=' rab_2d_t: ', & 788 & tab2d_2=pab(:,:,jp_sal), clinfo2=' rab_2d_s : ' ) 789 789 ! 790 790 IF( ln_timing ) CALL timing_stop('rab_2d') … … 929 929 END DO 930 930 ! 931 IF( ln_ctl) CALL prt_ctl( tab3d_1=pn2, clinfo1=' bn2 : ', kdim=jpk )931 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pn2, clinfo1=' bn2 : ', kdim=jpk ) 932 932 ! 933 933 IF( ln_timing ) CALL timing_stop('bn2') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/traadv.F90
r12202 r12210 169 169 ENDIF 170 170 ! ! print mean trends (used for debugging) 171 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv - Ta: ', mask1=tmask, &172 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )171 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv - Ta: ', mask1=tmask, & 172 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 173 173 ! 174 174 IF( ln_timing ) CALL timing_stop( 'tra_adv' ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trabbc.F90
r12202 r12210 102 102 CALL iom_put ( "hfgeou" , rau0_rcp * qgh_trd0(:,:) ) 103 103 ! 104 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbc - Ta: ', mask1=tmask, clinfo3='tra-ta' )104 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbc - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 105 105 ! 106 106 IF( ln_timing ) CALL timing_stop('tra_bbc') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trabbl.F90
r12202 r12210 119 119 ! 120 120 CALL tra_bbl_dif( tsb, tsa, jpts ) 121 IF( ln_ctl ) &121 IF( sn_cfctl%l_prtctl ) & 122 122 CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbl_ldf - Ta: ', mask1=tmask, & 123 123 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) … … 132 132 ! 133 133 CALL tra_bbl_adv( tsb, tsa, jpts ) 134 IF( ln_ctl) &134 IF(sn_cfctl%l_prtctl) & 135 135 CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbl_adv - Ta: ', mask1=tmask, & 136 136 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/tradmp.F90
r12202 r12210 156 156 ENDIF 157 157 ! ! Control print 158 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' dmp - Ta: ', mask1=tmask, &159 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )158 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' dmp - Ta: ', mask1=tmask, & 159 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 160 160 ! 161 161 IF( ln_timing ) CALL timing_stop('tra_dmp') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/traldf.F90
r10068 r12210 85 85 ENDIF 86 86 ! !* print mean trends (used for debugging) 87 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf - Ta: ', mask1=tmask, &88 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )87 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf - Ta: ', mask1=tmask, & 88 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 89 89 ! 90 90 IF( ln_timing ) CALL timing_stop('tra_ldf') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/tranxt.F90
r12169 r12210 181 181 ! 182 182 ! ! control print 183 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsn(:,:,:,jp_tem), clinfo1=' nxt - Tn: ', mask1=tmask, &184 & tab3d_2=tsn(:,:,:,jp_sal), clinfo2= ' Sn: ', mask2=tmask )183 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsn(:,:,:,jp_tem), clinfo1=' nxt - Tn: ', mask1=tmask, & 184 & tab3d_2=tsn(:,:,:,jp_sal), clinfo2= ' Sn: ', mask2=tmask ) 185 185 ! 186 186 IF( ln_timing ) CALL timing_stop('tra_nxt') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/traqsr.F90
r12202 r12210 300 300 ENDIF 301 301 ! ! print mean trends (used for debugging) 302 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' qsr - Ta: ', mask1=tmask, clinfo3='tra-ta' )302 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' qsr - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 303 303 ! 304 304 IF( ln_timing ) CALL timing_stop('tra_qsr') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trasbc.F90
r12166 r12210 215 215 ENDIF 216 216 ! 217 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' sbc - Ta: ', mask1=tmask, &218 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )217 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' sbc - Ta: ', mask1=tmask, & 218 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 219 219 ! 220 220 IF( ln_timing ) CALL timing_stop('tra_sbc') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trazdf.F90
r10425 r12210 99 99 ENDIF 100 100 ! ! print mean trends (used for debugging) 101 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf - Ta: ', mask1=tmask, &102 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )101 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf - Ta: ', mask1=tmask, & 102 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 103 103 ! 104 104 IF( ln_timing ) CALL timing_stop('tra_zdf') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRD/trdmxl.F90
r12202 r12210 371 371 hmxlbn(:,:) = hmxl(:,:) 372 372 373 IF( ln_ctl ) THEN373 IF( sn_cfctl%l_prtctl ) THEN 374 374 WRITE(numout,*) ' we reach kt == nit000 + 1 = ', nit000+1 375 375 CALL prt_ctl(tab2d_1=tmlbb , clinfo1=' tmlbb - : ', mask1=tmask) … … 380 380 END IF 381 381 382 IF( ( ln_rstart ) .AND. ( kt == nit000 ) .AND. ( ln_ctl )) THEN382 IF( ( ln_rstart ) .AND. ( kt == nit000 ) .AND. sn_cfctl%l_prtctl ) THEN 383 383 IF( ln_trdmxl_instant ) THEN 384 384 WRITE(numout,*) ' restart from kt == nit000 = ', nit000 … … 548 548 hmxlbn (:,:) = hmxl (:,:) 549 549 550 IF( ln_ctl ) THEN550 IF( sn_cfctl%l_prtctl ) THEN 551 551 IF( ln_trdmxl_instant ) THEN 552 552 CALL prt_ctl(tab2d_1=tmlbb , clinfo1=' tmlbb - : ', mask1=tmask) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfddm.F90
r10068 r12210 163 163 ! ! =============== 164 164 ! 165 IF( ln_ctl) THEN165 IF(sn_cfctl%l_prtctl) THEN 166 166 CALL prt_ctl(tab3d_1=avt , clinfo1=' ddm - t: ', tab3d_2=avs , clinfo2=' s: ', kdim=jpk) 167 167 ENDIF -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfdrg.F90
r12202 r12210 139 139 ENDIF 140 140 ! 141 IF( ln_ctl) CALL prt_ctl( tab2d_1=pCdU, clinfo1=' Cd*U ')141 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=pCdU, clinfo1=' Cd*U ') 142 142 ! 143 143 END SUBROUTINE zdf_drg … … 213 213 ENDIF 214 214 ! ! print mean trends (used for debugging) 215 IF( ln_ctl) CALL prt_ctl( tab3d_1=pua, clinfo1=' bfr - Ua: ', mask1=umask, &216 & tab3d_2=pva, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )215 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pua, clinfo1=' bfr - Ua: ', mask1=umask, & 216 & tab3d_2=pva, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 217 217 ! 218 218 END SUBROUTINE zdf_drg_exp -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfgls.F90
r12202 r12210 824 824 p_avt(:,:,1) = 0._wp 825 825 ! 826 IF( ln_ctl) THEN826 IF(sn_cfctl%l_prtctl) THEN 827 827 CALL prt_ctl( tab3d_1=en , clinfo1=' gls - e: ', tab3d_2=p_avt, clinfo2=' t: ', kdim=jpk) 828 828 CALL prt_ctl( tab3d_1=p_avm, clinfo1=' gls - m: ', kdim=jpk ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfiwm.F90
r12202 r12210 383 383 CALL iom_put( "emix_iwm", zemx_iwm ) 384 384 385 IF( ln_ctl) CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', kdim=jpk)385 IF(sn_cfctl%l_prtctl) CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', kdim=jpk) 386 386 ! 387 387 END SUBROUTINE zdf_iwm -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfmxl.F90
r12166 r12210 138 138 ENDIF 139 139 ! 140 IF( ln_ctl) CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ' )140 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ' ) 141 141 ! 142 142 END SUBROUTINE zdf_mxl -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfosm.F90
r12202 r12210 1657 1657 ENDIF 1658 1658 1659 IF( ln_ctl) THEN1659 IF(sn_cfctl%l_prtctl) THEN 1660 1660 CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' osm - Ta: ', mask1=tmask, & 1661 1661 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdftke.F90
r12202 r12210 623 623 ENDIF 624 624 ! 625 IF( ln_ctl) THEN625 IF(sn_cfctl%l_prtctl) THEN 626 626 CALL prt_ctl( tab3d_1=en , clinfo1=' tke - e: ', tab3d_2=p_avt, clinfo2=' t: ', kdim=jpk) 627 627 CALL prt_ctl( tab3d_1=p_avm, clinfo1=' tke - m: ', kdim=jpk ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/nemogcm.F90
r12202 r12210 265 265 INTEGER :: ios, ilocal_comm ! local integers 266 266 !! 267 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle,&267 NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle, & 268 268 & nn_isplt , nn_jsplt, nn_jctls, nn_jctle, & 269 269 & ln_timing, ln_diacfl … … 316 316 ! 317 317 ! !--------------------! 318 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp318 ! ! Open listing units ! -> need sn_cfctl from namctl to define lwp 319 319 ! !--------------------! 320 320 ! … … 324 324 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 325 325 ! 326 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 326 ! finalize the definition of namctl variables 327 IF( sn_cfctl%l_allon ) THEN 328 ! Turn on all options. 329 CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 330 ! Ensure all processors are active 331 sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 332 ELSEIF( sn_cfctl%l_config ) THEN 333 ! Activate finer control of report outputs 334 ! optionally switch off output from selected areas (note this only 335 ! applies to output which does not involve global communications) 336 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 337 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 338 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 339 ELSE 340 ! turn off all options. 341 CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 342 ENDIF 343 ! 344 lwp = (narea == 1) .OR. sn_cfctl%l_oceout ! control of all listing output print 327 345 ! 328 346 IF(lwp) THEN ! open listing units … … 356 374 ENDIF 357 375 ! 358 ! finalize the definition of namctl variables359 IF( sn_cfctl%l_config ) THEN360 ! Activate finer control of report outputs361 ! optionally switch off output from selected areas (note this only362 ! applies to output which does not involve global communications)363 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. &364 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) &365 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )366 ELSE367 ! Use ln_ctl to turn on or off all options.368 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )369 ENDIF370 !371 376 IF(lwm) WRITE( numond, namctl ) 372 377 ! … … 412 417 CALL dom_init("OPA") ! Domain 413 418 IF( ln_crs ) CALL crs_init ! coarsened grid: domain initialization 414 IF( ln_ctl ) CALL prt_ctl_init ! Print control 419 IF( sn_cfctl%l_prtctl ) & 420 & CALL prt_ctl_init ! Print control 415 421 416 CALL diurnal_sst_bulk_init! diurnal sst422 CALL diurnal_sst_bulk_init ! diurnal sst 417 423 IF( ln_diurnal ) CALL diurnal_sst_coolskin_init ! cool skin 418 424 ! 419 IF( ln_diurnal_only ) THEN! diurnal only: a subset of the initialisation routines420 CALL istate_init! ocean initial state (Dynamics and tracers)421 CALL sbc_init! Forcings : surface module422 CALL tra_qsr_init! penetrative solar radiation qsr423 IF( ln_diaobs ) THEN! Observation & model comparison424 CALL dia_obs_init! Initialize observational data425 CALL dia_obs( nit000 - 1 )! Observation operator for restart426 ENDIF427 IF( lk_asminc ) CALL asm_inc_init! Assimilation increments428 !429 RETURN ! end ofinitialization430 ENDIF425 IF( ln_diurnal_only ) THEN ! diurnal only: a subset of the initialisation routines 426 CALL istate_init ! ocean initial state (Dynamics and tracers) 427 CALL sbc_init ! Forcings : surface module 428 CALL tra_qsr_init ! penetrative solar radiation qsr 429 IF( ln_diaobs ) THEN ! Observation & model comparison 430 CALL dia_obs_init ! Initialize observational data 431 CALL dia_obs( nit000 - 1 ) ! Observation operator for restart 432 ENDIF 433 IF( lk_asminc ) CALL asm_inc_init ! Assimilation increments 434 ! 435 RETURN ! end of diurnal_only initialization 436 ENDIF 431 437 ! 432 438 … … 516 522 WRITE(numout,*) '~~~~~~~~' 517 523 WRITE(numout,*) ' Namelist namctl' 518 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl 524 WRITE(numout,*) ' sn_cfctl%l_glochk = ', sn_cfctl%l_glochk 525 WRITE(numout,*) ' sn_cfctl%l_allon = ', sn_cfctl%l_allon 519 526 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config 520 527 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat … … 522 529 WRITE(numout,*) ' sn_cfctl%l_oceout = ', sn_cfctl%l_oceout 523 530 WRITE(numout,*) ' sn_cfctl%l_layout = ', sn_cfctl%l_layout 524 WRITE(numout,*) ' sn_cfctl%l_mppout = ', sn_cfctl%l_mppout 525 WRITE(numout,*) ' sn_cfctl%l_mpptop = ', sn_cfctl%l_mpptop 531 WRITE(numout,*) ' sn_cfctl%l_prtctl = ', sn_cfctl%l_prtctl 532 WRITE(numout,*) ' sn_cfctl%l_prttrc = ', sn_cfctl%l_prttrc 533 WRITE(numout,*) ' sn_cfctl%l_oasout = ', sn_cfctl%l_oasout 526 534 WRITE(numout,*) ' sn_cfctl%procmin = ', sn_cfctl%procmin 527 535 WRITE(numout,*) ' sn_cfctl%procmax = ', sn_cfctl%procmax … … 561 569 ! ! Parameter control 562 570 ! 563 IF( ln_ctl ) THEN! sub-domain area indices for the control prints571 IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN ! sub-domain area indices for the control prints 564 572 IF( lk_mpp .AND. jpnij > 1 ) THEN 565 573 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain … … 687 695 sn_cfctl%l_oceout = setto 688 696 sn_cfctl%l_layout = setto 689 sn_cfctl%l_mppout = setto 690 sn_cfctl%l_mpptop = setto 697 sn_cfctl%l_prtctl = setto 698 sn_cfctl%l_prttrc = setto 699 sn_cfctl%l_oasout = setto 691 700 END SUBROUTINE nemo_set_cfctl 692 701 -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/stpctl.F90
r11407 r12210 72 72 ! 73 73 ll_wrtstp = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 74 ll_colruns = ll_wrtstp .AND. ( ln_ctl .OR.sn_cfctl%l_runstat )74 ll_colruns = ll_wrtstp .AND. ( sn_cfctl%l_runstat ) 75 75 ll_wrtruns = ll_colruns .AND. lwm 76 76 IF( kt == nit000 .AND. lwp ) THEN … … 82 82 ! ! open run.stat file(s) at start whatever 83 83 ! ! the value of sn_cfctl%ptimincr 84 IF( lwm .AND. ( ln_ctl .OR.sn_cfctl%l_runstat ) ) THEN84 IF( lwm .AND. ( sn_cfctl%l_runstat ) ) THEN 85 85 CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 86 86 clname = 'run.stat.nc' … … 147 147 END IF 148 148 ! !== error handling ==! 149 IF( ( ln_ctl .OR. lsomeoce ) .AND. ( & ! have use mpp_max (because ln_ctl=.T.) or contains some ocean points149 IF( ( sn_cfctl%l_glochk .OR. lsomeoce ) .AND. ( & ! domain contains some ocean points, check for sensible ranges 150 150 & zmax(1) > 20._wp .OR. & ! too large sea surface height ( > 20 m ) 151 151 & zmax(2) > 10._wp .OR. & ! too large velocity ( > 10 m/s) … … 154 154 & zmax(4) < 0._wp .OR. & ! too large sea surface salinity (keep this line for sea-ice) 155 155 & ISNAN( zmax(1) + zmax(2) + zmax(3) ) ) ) THEN ! NaN encounter in the tests 156 IF( lk_mpp .AND. ln_ctl ) THEN 156 IF( lk_mpp .AND. sn_cfctl%l_glochk ) THEN 157 ! have use mpp_max (because sn_cfctl%l_glochk=.T. and distributed) 157 158 CALL mpp_maxloc( 'stpctl', ABS(sshn) , ssmask(:,:) , zzz, ih ) 158 159 CALL mpp_maxloc( 'stpctl', ABS(un) , umask (:,:,:), zzz, iu ) … … 160 161 CALL mpp_maxloc( 'stpctl', tsn(:,:,:,jp_sal), tmask (:,:,:), zzz, is2 ) 161 162 ELSE 163 ! find local min and max locations 162 164 ih(:) = MAXLOC( ABS( sshn(:,:) ) ) + (/ nimpp - 1, njmpp - 1 /) 163 165 iu(:) = MAXLOC( ABS( un (:,:,:) ) ) + (/ nimpp - 1, njmpp - 1, 0 /) … … 175 177 CALL dia_wri_state( 'output.abort' ) ! create an output.abort file 176 178 177 IF( .NOT. ln_ctl) THEN179 IF( .NOT. sn_cfctl%l_glochk ) THEN 178 180 WRITE(ctmp8,*) 'E R R O R message from sub-domain: ', narea 179 181 CALL ctl_stop( 'STOP', ctmp1, ' ', ctmp8, ' ', ctmp2, ctmp3, ctmp4, ctmp5, ctmp6 ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OFF/dtadyn.F90
r12202 r12210 176 176 CALL eos( tsn, rhd, rhop, gdept_0(:,:,:) ) ! In any case, we need rhop 177 177 ! 178 IF( ln_ctl) THEN! print control178 IF(sn_cfctl%l_prtctl) THEN ! print control 179 179 CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_tem), clinfo1=' tn - : ', mask1=tmask, kdim=jpk ) 180 180 CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_sal), clinfo1=' sn - : ', mask1=tmask, kdim=jpk ) … … 442 442 CALL eos ( tsn, rhd, rhop, gdept_0(:,:,:) ) ! In any case, we need rhop 443 443 444 IF( ln_ctl) THEN! print control444 IF(sn_cfctl%l_prtctl) THEN ! print control 445 445 CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_tem), clinfo1=' tn - : ', mask1=tmask, kdim=jpk ) 446 446 CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_sal), clinfo1=' sn - : ', mask1=tmask, kdim=jpk ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OFF/nemogcm.F90
r12202 r12210 164 164 INTEGER :: ios, ilocal_comm ! local integers 165 165 !! 166 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle,&166 NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle, & 167 167 & nn_isplt , nn_jsplt, nn_jctls, nn_jctle, & 168 168 & ln_timing, ln_diacfl … … 201 201 ! 202 202 ! !--------------------! 203 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp203 ! ! Open listing units ! -> need sn_cfctl from namctl to define lwp 204 204 ! !--------------------! 205 205 ! … … 209 209 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 210 210 ! 211 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 211 ! finalize the definition of namctl variables 212 IF( sn_cfctl%l_allon ) THEN 213 ! Turn on all options. 214 CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 215 ! Ensure all processors are active 216 sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 217 ELSEIF( sn_cfctl%l_config ) THEN 218 ! Activate finer control of report outputs 219 ! optionally switch off output from selected areas (note this only 220 ! applies to output which does not involve global communications) 221 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 222 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 223 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 224 ELSE 225 ! turn off all options. 226 CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 227 ENDIF 228 ! 229 lwp = (narea == 1) .OR. sn_cfctl%l_oceout ! control of all listing output print 212 230 ! 213 231 IF(lwp) THEN ! open listing units … … 241 259 ENDIF 242 260 ! 243 ! finalize the definition of namctl variables244 IF( sn_cfctl%l_config ) THEN245 ! Activate finer control of report outputs246 ! optionally switch off output from selected areas (note this only247 ! applies to output which does not involve global communications)248 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. &249 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) &250 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )251 ELSE252 ! Use ln_ctl to turn on or off all options.253 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )254 ENDIF255 !256 261 IF(lwm) WRITE( numond, namctl ) 257 262 ! … … 297 302 IF( lk_c1d ) CALL c1d_init ! 1D column configuration 298 303 CALL dom_init("OPA") ! Domain 299 IF( ln_ctl ) CALL prt_ctl_init ! Print control 304 IF( sn_cfctl%l_prtctl ) & 305 & CALL prt_ctl_init ! Print control 300 306 301 307 CALL istate_init ! ocean initial state (Dynamics and tracers) … … 336 342 !! ** Purpose : control print setting 337 343 !! 338 !! ** Method : - print namctl information and check some consistencies344 !! ** Method : - print namctl and namcfg information and check some consistencies 339 345 !!---------------------------------------------------------------------- 340 346 ! … … 344 350 WRITE(numout,*) '~~~~~~~~' 345 351 WRITE(numout,*) ' Namelist namctl' 346 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl 352 WRITE(numout,*) ' sn_cfctl%l_glochk = ', sn_cfctl%l_glochk 353 WRITE(numout,*) ' sn_cfctl%l_allon = ', sn_cfctl%l_allon 347 354 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config 348 355 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat … … 350 357 WRITE(numout,*) ' sn_cfctl%l_oceout = ', sn_cfctl%l_oceout 351 358 WRITE(numout,*) ' sn_cfctl%l_layout = ', sn_cfctl%l_layout 352 WRITE(numout,*) ' sn_cfctl%l_mppout = ', sn_cfctl%l_mppout 353 WRITE(numout,*) ' sn_cfctl%l_mpptop = ', sn_cfctl%l_mpptop 359 WRITE(numout,*) ' sn_cfctl%l_prtctl = ', sn_cfctl%l_prtctl 360 WRITE(numout,*) ' sn_cfctl%l_prttrc = ', sn_cfctl%l_prttrc 361 WRITE(numout,*) ' sn_cfctl%l_oasout = ', sn_cfctl%l_oasout 354 362 WRITE(numout,*) ' sn_cfctl%procmin = ', sn_cfctl%procmin 355 363 WRITE(numout,*) ' sn_cfctl%procmax = ', sn_cfctl%procmax … … 389 397 ! ! Parameter control 390 398 ! 391 IF( ln_ctl ) THEN! sub-domain area indices for the control prints399 IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN ! sub-domain area indices for the control prints 392 400 IF( lk_mpp .AND. jpnij > 1 ) THEN 393 401 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain … … 501 509 sn_cfctl%l_oceout = setto 502 510 sn_cfctl%l_layout = setto 503 sn_cfctl%l_mppout = setto 504 sn_cfctl%l_mpptop = setto 511 sn_cfctl%l_prtctl = setto 512 sn_cfctl%l_prttrc = setto 513 sn_cfctl%l_oasout = setto 505 514 END SUBROUTINE nemo_set_cfctl 506 515 -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAO/nemogcm.F90
r12202 r12210 91 91 INTEGER :: ios, ilocal_comm ! local integer 92 92 ! 93 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle,&93 NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle, & 94 94 & nn_isplt , nn_jsplt, nn_jctls, nn_jctle, & 95 95 & ln_timing, ln_diacfl … … 142 142 ! 143 143 ! !--------------------! 144 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp144 ! ! Open listing units ! -> need sn_cfctl from namctl to define lwp 145 145 ! !--------------------! 146 146 ! … … 150 150 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 151 151 ! 152 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 152 ! finalize the definition of namctl variables 153 IF( sn_cfctl%l_allon ) THEN 154 ! Turn on all options. 155 CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 156 ! Ensure all processors are active 157 sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 158 ELSEIF( sn_cfctl%l_config ) THEN 159 ! Activate finer control of report outputs 160 ! optionally switch off output from selected areas (note this only 161 ! applies to output which does not involve global communications) 162 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 163 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 164 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 165 ELSE 166 ! turn off all options. 167 CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 168 ENDIF 169 ! 170 lwp = (narea == 1) .OR. sn_cfctl%l_oceout ! control of all listing output print 153 171 ! 154 172 IF(lwp) THEN ! open listing units … … 182 200 ENDIF 183 201 ! 184 ! finalize the definition of namctl variables185 IF( sn_cfctl%l_config ) THEN186 ! Activate finer control of report outputs187 ! optionally switch off output from selected areas (note this only188 ! applies to output which does not involve global communications)189 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. &190 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) &191 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )192 ELSE193 ! Use ln_ctl to turn on or off all options.194 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )195 ENDIF196 !197 202 IF(lwm) WRITE( numond, namctl ) 198 203 ! … … 237 242 238 243 239 IF( ln_ctl ) CALL prt_ctl_init ! Print control 240 241 CALL istate_init ! ocean initial state (Dynamics and tracers) 244 IF( sn_cfctl%l_prtctl ) & 245 & CALL prt_ctl_init ! Print control 246 247 CALL istate_init ! ocean initial state (Dynamics and tracers) 242 248 END SUBROUTINE nemo_init 243 249 … … 249 255 !! ** Purpose : control print setting 250 256 !! 251 !! ** Method : - print namctl information and check some consistencies257 !! ** Method : - print namctl and namcfg information and check some consistencies 252 258 !!---------------------------------------------------------------------- 253 259 ! … … 257 263 WRITE(numout,*) '~~~~~~~~' 258 264 WRITE(numout,*) ' Namelist namctl' 259 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl 265 WRITE(numout,*) ' sn_cfctl%l_glochk = ', sn_cfctl%l_glochk 266 WRITE(numout,*) ' sn_cfctl%l_allon = ', sn_cfctl%l_allon 260 267 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config 261 268 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat … … 263 270 WRITE(numout,*) ' sn_cfctl%l_oceout = ', sn_cfctl%l_oceout 264 271 WRITE(numout,*) ' sn_cfctl%l_layout = ', sn_cfctl%l_layout 265 WRITE(numout,*) ' sn_cfctl%l_mppout = ', sn_cfctl%l_mppout 266 WRITE(numout,*) ' sn_cfctl%l_mpptop = ', sn_cfctl%l_mpptop 272 WRITE(numout,*) ' sn_cfctl%l_prtctl = ', sn_cfctl%l_prtctl 273 WRITE(numout,*) ' sn_cfctl%l_prttrc = ', sn_cfctl%l_prttrc 274 WRITE(numout,*) ' sn_cfctl%l_oasout = ', sn_cfctl%l_oasout 267 275 WRITE(numout,*) ' sn_cfctl%procmin = ', sn_cfctl%procmin 268 276 WRITE(numout,*) ' sn_cfctl%procmax = ', sn_cfctl%procmax … … 302 310 ! ! Parameter control 303 311 ! 304 IF( ln_ctl ) THEN! sub-domain area indices for the control prints312 IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN ! sub-domain area indices for the control prints 305 313 IF( lk_mpp .AND. jpnij > 1 ) THEN 306 314 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain … … 418 426 sn_cfctl%l_oceout = setto 419 427 sn_cfctl%l_layout = setto 420 sn_cfctl%l_mppout = setto 421 sn_cfctl%l_mpptop = setto 428 sn_cfctl%l_prtctl = setto 429 sn_cfctl%l_prttrc = setto 430 sn_cfctl%l_oasout = setto 422 431 END SUBROUTINE nemo_set_cfctl 423 432 -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/daymod.F90
r10068 r12210 275 275 IF( nsec_week > 7*nsecd ) nsec_week = ndt05 ! New week 276 276 277 IF( ln_ctl) THEN277 IF(sn_cfctl%l_prtctl) THEN 278 278 WRITE(charout,FMT="('kt =', I4,' d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 279 279 CALL prt_ctl_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/nemogcm.F90
r12202 r12210 185 185 INTEGER :: ios, ilocal_comm ! local integers 186 186 !! 187 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle,&187 NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle, & 188 188 & nn_isplt , nn_jsplt, nn_jctls, nn_jctle, & 189 189 & ln_timing, ln_diacfl … … 246 246 ! 247 247 ! !--------------------! 248 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp248 ! ! Open listing units ! -> need sn_cfctl from namctl to define lwp 249 249 ! !--------------------! 250 250 ! … … 254 254 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 255 255 ! 256 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 256 ! finalize the definition of namctl variables 257 IF( sn_cfctl%l_allon ) THEN 258 ! Turn on all options. 259 CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 260 ! Ensure all processors are active 261 sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 262 ELSEIF( sn_cfctl%l_config ) THEN 263 ! Activate finer control of report outputs 264 ! optionally switch off output from selected areas (note this only 265 ! applies to output which does not involve global communications) 266 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 267 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 268 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 269 ELSE 270 ! turn off all options. 271 CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 272 ENDIF 273 ! 274 lwp = (narea == 1) .OR. sn_cfctl%l_oceout ! control of all listing output print 257 275 ! 258 276 IF(lwp) THEN ! open listing units … … 289 307 ! 290 308 ENDIF 291 !292 ! finalize the definition of namctl variables293 IF( sn_cfctl%l_config ) THEN294 ! Activate finer control of report outputs295 ! optionally switch off output from selected areas (note this only296 ! applies to output which does not involve global communications)297 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. &298 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) &299 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )300 ELSE301 ! Use ln_ctl to turn on or off all options.302 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )303 ENDIF304 309 ! 305 310 IF(lwm) WRITE( numond, namctl ) … … 343 348 CALL eos_init ! Equation of seawater 344 349 CALL dom_init('SAS') ! Domain 345 IF( ln_ctl ) CALL prt_ctl_init ! Print control 350 IF( sn_cfctl%l_prtctl ) & 351 & CALL prt_ctl_init ! Print control 346 352 347 353 CALL day_init ! model calendar (using both namelist and restart infos) … … 371 377 !! ** Purpose : control print setting 372 378 !! 373 !! ** Method : - print namctl information and check some consistencies379 !! ** Method : - print namctl and namcfg information and check some consistencies 374 380 !!---------------------------------------------------------------------- 375 381 ! … … 379 385 WRITE(numout,*) '~~~~~~~~' 380 386 WRITE(numout,*) ' Namelist namctl' 381 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl 387 WRITE(numout,*) ' sn_cfctl%l_glochk = ', sn_cfctl%l_glochk 388 WRITE(numout,*) ' sn_cfctl%l_allon = ', sn_cfctl%l_allon 382 389 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config 383 390 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat … … 385 392 WRITE(numout,*) ' sn_cfctl%l_oceout = ', sn_cfctl%l_oceout 386 393 WRITE(numout,*) ' sn_cfctl%l_layout = ', sn_cfctl%l_layout 387 WRITE(numout,*) ' sn_cfctl%l_mppout = ', sn_cfctl%l_mppout 388 WRITE(numout,*) ' sn_cfctl%l_mpptop = ', sn_cfctl%l_mpptop 394 WRITE(numout,*) ' sn_cfctl%l_prtctl = ', sn_cfctl%l_prtctl 395 WRITE(numout,*) ' sn_cfctl%l_prttrc = ', sn_cfctl%l_prttrc 396 WRITE(numout,*) ' sn_cfctl%l_oasout = ', sn_cfctl%l_oasout 389 397 WRITE(numout,*) ' sn_cfctl%procmin = ', sn_cfctl%procmin 390 398 WRITE(numout,*) ' sn_cfctl%procmax = ', sn_cfctl%procmax … … 424 432 ! ! Parameter control 425 433 ! 426 IF( ln_ctl ) THEN! sub-domain area indices for the control prints434 IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN ! sub-domain area indices for the control prints 427 435 IF( lk_mpp .AND. jpnij > 1 ) THEN 428 436 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain … … 544 552 sn_cfctl%l_oceout = setto 545 553 sn_cfctl%l_layout = setto 546 sn_cfctl%l_mppout = setto 547 sn_cfctl%l_mpptop = setto 554 sn_cfctl%l_prtctl = setto 555 sn_cfctl%l_prttrc = setto 556 sn_cfctl%l_oasout = setto 548 557 END SUBROUTINE nemo_set_cfctl 549 558 -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/sbcssm.F90
r12202 r12210 131 131 vb (:,:,1) = ssv_m(:,:) 132 132 133 IF( ln_ctl) THEN! print control133 IF(sn_cfctl%l_prtctl) THEN ! print control 134 134 CALL prt_ctl(tab2d_1=sst_m, clinfo1=' sst_m - : ', mask1=tmask ) 135 135 CALL prt_ctl(tab2d_1=sss_m, clinfo1=' sss_m - : ', mask1=tmask ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/stpctl.F90
r10603 r12210 63 63 ! 64 64 ll_wrtstp = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 65 ll_colruns = ll_wrtstp .AND. ( ln_ctl .OR.sn_cfctl%l_runstat )65 ll_colruns = ll_wrtstp .AND. ( sn_cfctl%l_runstat ) 66 66 ll_wrtruns = ll_colruns .AND. lwm 67 67 IF( kt == nit000 .AND. lwp ) THEN … … 73 73 ! ! open run.stat file(s) at start whatever 74 74 ! ! the value of sn_cfctl%ptimincr 75 IF( lwm .AND. ( ln_ctl .OR.sn_cfctl%l_runstat ) ) THEN75 IF( lwm .AND. ( sn_cfctl%l_runstat ) ) THEN 76 76 CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 77 77 clname = 'run.stat.nc' -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zbio.F90
r12202 r12210 367 367 ENDIF 368 368 369 IF( ln_ctl) THEN ! print mean trends (used for debugging)369 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 370 370 WRITE(charout, FMT="('bio')") 371 371 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zexp.F90
r10425 r12210 146 146 ENDIF 147 147 ! 148 IF( ln_ctl) THEN ! print mean trends (used for debugging)148 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 149 149 WRITE(charout, FMT="('exp')") 150 150 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zopt.F90
r12202 r12210 133 133 134 134 135 IF( ln_ctl) THEN ! print mean trends (used for debugging)135 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 136 136 WRITE(charout, FMT="('opt')") 137 137 CALL prt_ctl_trc_info( charout ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zsed.F90
r12202 r12210 107 107 ! 108 108 109 IF( ln_ctl) THEN ! print mean trends (used for debugging)109 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 110 110 WRITE(charout, FMT="('sed')") 111 111 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zagg.F90
r10069 r12210 173 173 ENDIF 174 174 ! 175 IF( ln_ctl) THEN ! print mean trends (used for debugging)175 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 176 176 WRITE(charout, FMT="('agg')") 177 177 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zbio.F90
r10227 r12210 106 106 & CALL p4z_ligand( kt, knt ) 107 107 ! ! 108 IF( ln_ctl) THEN ! print mean trends (used for debugging)108 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 109 109 WRITE(charout, FMT="('bio ')") 110 110 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zfechem.F90
r12202 r12210 220 220 ENDIF 221 221 222 IF( ln_ctl) THEN ! print mean trends (used for debugging)222 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 223 223 WRITE(charout, FMT="('fechem')") 224 224 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zflx.F90
r12202 r12210 179 179 t_atm_co2_flx = atcco2 ! Total atmospheric pCO2 180 180 181 IF( ln_ctl) THEN ! print mean trends (used for debugging)181 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 182 182 WRITE(charout, FMT="('flx ')") 183 183 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zligand.F90
r12202 r12210 94 94 ENDIF 95 95 ! 96 IF( ln_ctl) THEN ! print mean trends (used for debugging)96 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 97 97 WRITE(charout, FMT="('ligand1')") 98 98 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zlys.F90
r12202 r12210 129 129 ENDIF 130 130 ! 131 IF( ln_ctl) THEN ! print mean trends (used for debugging)131 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 132 132 WRITE(charout, FMT="('lys ')") 133 133 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zmeso.F90
r12202 r12210 255 255 IF (ln_ligand) DEALLOCATE( zz2ligprod ) 256 256 ! 257 IF( ln_ctl) THEN ! print mean trends (used for debugging)257 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 258 258 WRITE(charout, FMT="('meso')") 259 259 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zmicro.F90
r12202 r12210 207 207 IF (ln_ligand) DEALLOCATE( zzligprod ) 208 208 ! 209 IF( ln_ctl) THEN ! print mean trends (used for debugging)209 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 210 210 WRITE(charout, FMT="('micro')") 211 211 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zmort.F90
r12202 r12210 118 118 END DO 119 119 ! 120 IF( ln_ctl) THEN ! print mean trends (used for debugging)120 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 121 121 WRITE(charout, FMT="('nano')") 122 122 CALL prt_ctl_trc_info(charout) … … 193 193 END DO 194 194 ! 195 IF( ln_ctl) THEN ! print mean trends (used for debugging)195 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 196 196 WRITE(charout, FMT="('diat')") 197 197 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zpoc.F90
r12202 r12210 248 248 ENDIF 249 249 250 IF( ln_ctl) THEN ! print mean trends (used for debugging)250 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 251 251 WRITE(charout, FMT="('poc1')") 252 252 CALL prt_ctl_trc_info(charout) … … 460 460 ENDIF 461 461 462 IF( ln_ctl) THEN ! print mean trends (used for debugging)462 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 463 463 WRITE(charout, FMT="('poc2')") 464 464 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zprod.F90
r12202 r12210 456 456 ENDIF 457 457 458 IF( ln_ctl) THEN ! print mean trends (used for debugging)458 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 459 459 WRITE(charout, FMT="('prod')") 460 460 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zrem.F90
r12202 r12210 207 207 END DO 208 208 209 IF( ln_ctl) THEN ! print mean trends (used for debugging)209 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 210 210 WRITE(charout, FMT="('rem1')") 211 211 CALL prt_ctl_trc_info(charout) … … 233 233 END DO 234 234 235 IF( ln_ctl) THEN ! print mean trends (used for debugging)235 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 236 236 WRITE(charout, FMT="('rem2')") 237 237 CALL prt_ctl_trc_info(charout) … … 268 268 END DO 269 269 270 IF( ln_ctl) THEN ! print mean trends (used for debugging)270 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 271 271 WRITE(charout, FMT="('rem3')") 272 272 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zsed.F90
r12202 r12210 348 348 ENDIF 349 349 ! 350 IF( ln_ctl) THEN ! print mean trends (USEd for debugging)350 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (USEd for debugging) 351 351 WRITE(charout, fmt="('sed ')") 352 352 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zsink.F90
r10425 r12210 172 172 ENDIF 173 173 ! 174 IF( ln_ctl) THEN ! print mean trends (used for debugging)174 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 175 175 WRITE(charout, FMT="('sink')") 176 176 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zmeso.F90
r12202 r12210 376 376 ENDIF 377 377 ! 378 IF( ln_ctl) THEN ! print mean trends (used for debugging)378 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 379 379 WRITE(charout, FMT="('meso')") 380 380 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zmicro.F90
r12202 r12210 318 318 ENDIF 319 319 ! 320 IF( ln_ctl) THEN ! print mean trends (used for debugging)320 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 321 321 WRITE(charout, FMT="('micro')") 322 322 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zmort.F90
r12202 r12210 119 119 END DO 120 120 ! 121 IF( ln_ctl) THEN ! print mean trends (used for debugging)121 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 122 122 WRITE(charout, FMT="('nano')") 123 123 CALL prt_ctl_trc_info(charout) … … 180 180 END DO 181 181 ! 182 IF( ln_ctl) THEN ! print mean trends (used for debugging)182 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 183 183 WRITE(charout, FMT="('pico')") 184 184 CALL prt_ctl_trc_info(charout) … … 258 258 END DO 259 259 ! 260 IF( ln_ctl) THEN ! print mean trends (used for debugging)260 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 261 261 WRITE(charout, FMT="('diat')") 262 262 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zprod.F90
r12202 r12210 554 554 ENDIF 555 555 556 IF( ln_ctl) THEN ! print mean trends (used for debugging)556 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 557 557 WRITE(charout, FMT="('prod')") 558 558 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/SED/trcdmp_sed.F90
r10225 r12210 106 106 ! 107 107 ! ! print mean trends (used for debugging) 108 IF( ln_ctl) THEN108 IF( sn_cfctl%l_prttrc ) THEN 109 109 WRITE(charout, FMT="('dmp ')") 110 110 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcadv.F90
r12202 r12210 135 135 END SELECT 136 136 ! 137 IF( ln_ctl ) THEN!== print mean trends (used for debugging)137 IF( sn_cfctl%l_prttrc ) THEN !== print mean trends (used for debugging) 138 138 WRITE(charout, FMT="('adv ')") 139 139 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcbbl.F90
r10068 r12210 67 67 ! 68 68 CALL tra_bbl_dif( trb, tra, jptra ) 69 IF( ln_ctl) THEN69 IF( sn_cfctl%l_prttrc ) THEN 70 70 WRITE(charout, FMT="(' bbl_dif')") ; CALL prt_ctl_trc_info(charout) 71 71 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) … … 78 78 ! 79 79 CALL tra_bbl_adv( trb, tra, jptra ) 80 IF( ln_ctl) THEN80 IF( sn_cfctl%l_prttrc ) THEN 81 81 WRITE(charout, FMT="(' bbl_adv')") ; CALL prt_ctl_trc_info(charout) 82 82 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcdmp.F90
r12202 r12210 156 156 IF( l_trdtrc ) DEALLOCATE( ztrtrd ) 157 157 ! ! print mean trends (used for debugging) 158 IF( ln_ctl) THEN158 IF( sn_cfctl%l_prttrc ) THEN 159 159 WRITE(charout, FMT="('dmp ')") 160 160 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcldf.F90
r12202 r12210 110 110 ENDIF 111 111 ! 112 IF( ln_ctl ) THEN! print mean trends (used for debugging)112 IF( sn_cfctl%l_prttrc ) THEN ! print mean trends (used for debugging) 113 113 WRITE(charout, FMT="('ldf ')") 114 114 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcnxt.F90
r12026 r12210 189 189 IF( l_trdtrc ) DEALLOCATE( ztrdt ) 190 190 ! 191 IF( ln_ctl) THEN ! print mean trends (used for debugging)191 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 192 192 WRITE(charout, FMT="('nxt')") 193 193 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcrad.F90
r12202 r12210 65 65 IF( ln_my_trc ) CALL trc_rad_sms( kt, trb, trn, jp_myt0, jp_myt1 ) ! MY_TRC model 66 66 ! 67 IF( ln_ctl) THEN ! print mean trends (used for debugging)67 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 68 68 WRITE(charout, FMT="('rad')") 69 69 CALL prt_ctl_trc_info( charout ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcsbc.F90
r10788 r12210 191 191 ENDIF 192 192 ! 193 IF( ln_ctl) THEN193 IF( sn_cfctl%l_prttrc ) THEN 194 194 WRITE(charout, FMT="('sbc ')") ; CALL prt_ctl_trc_info(charout) 195 195 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trczdf.F90
r10068 r12210 65 65 ENDIF 66 66 ! ! print mean trends (used for debugging) 67 IF( ln_ctl) THEN67 IF( sn_cfctl%l_prttrc ) THEN 68 68 WRITE(charout, FMT="('zdf ')") 69 69 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/prtctl_trc.F90
r10570 r12210 35 35 SUBROUTINE prt_ctl_trc( tab4d, mask, clinfo, ovlap, kdim, clinfo2 ) 36 36 !!---------------------------------------------------------------------- 37 !! *** ROUTINE prt_ctl ***37 !! *** ROUTINE prt_ctl_trc *** 38 38 !! 39 39 !! ** Purpose : - print sum control 3D arrays over the same area … … 41 41 !! debugging a new parametrization in mono or mpp. 42 42 !! 43 !! ** Method : 2 possibilities exist when setting the ln_ctlparameter to43 !! ** Method : 2 possibilities exist when setting the sn_cfctl%prttrc parameter to 44 44 !! .true. in the ocean namelist: 45 45 !! - to debug a MPI run .vs. a mono-processor one; … … 54 54 !! - All arguments of the above calling sequence are optional so their 55 55 !! name must be explicitly typed if used. For instance if the mask 56 !! array tmask(:,:,:) must be passed through the prt_ctl subroutine,57 !! it must look s like: CALL prt_ctl( mask=tmask ).56 !! array tmask(:,:,:) must be passed through the prt_ctl_trc subroutine, 57 !! it must look like: CALL prt_ctl_trc( mask=tmask ). 58 58 !!---------------------------------------------------------------------- 59 59 REAL(wp) , DIMENSION(:,:,:,:), INTENT(in), OPTIONAL :: tab4d ! 4D array -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcini.F90
r12110 r12210 140 140 ENDIF 141 141 IF(lwp) WRITE(numout,*) 142 IF( ln_ctl) THEN ! print mean trends (used for debugging)142 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 143 143 CALL prt_ctl_trc_init 144 144 WRITE(charout, FMT="('ini ')") -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcsms.F90
r10068 r12210 55 55 IF( ln_my_trc ) CALL trc_sms_my_trc ( kt ) ! MY_TRC tracers 56 56 57 IF( ln_ctl) THEN! print mean trends (used for debugging)57 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 58 58 WRITE(charout, FMT="('sms ')") 59 59 CALL prt_ctl_trc_info( charout ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcstp.F90
r10570 r12210 69 69 ENDIF 70 70 ! 71 ll_trcstat = ( ln_ctl .OR.sn_cfctl%l_trcstat ) .AND. &71 ll_trcstat = ( sn_cfctl%l_trcstat ) .AND. & 72 72 & ( ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) ) 73 73 IF( kt == nittrc000 .AND. lk_trdmxl_trc ) CALL trd_mxl_trc_init ! trends: Mixed-layer … … 77 77 cvol(:,:,jk) = e1e2t(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk) 78 78 END DO 79 IF ( l n_ctl .OR. kt == nitrst .OR. ( ln_check_mass .AND. kt == nitend )&79 IF ( ll_trcstat .OR. kt == nitrst .OR. ( ln_check_mass .AND. kt == nitend ) & 80 80 & .OR. iom_use( "pno3tot" ) .OR. iom_use( "ppo4tot" ) .OR. iom_use( "psiltot" ) & 81 81 & .OR. iom_use( "palktot" ) .OR. iom_use( "pfertot" ) ) & … … 89 89 IF( MOD( kt , nn_dttrc ) == 0 ) THEN ! only every nn_dttrc time step 90 90 ! 91 IF( ln_ctl) THEN91 IF(sn_cfctl%l_prttrc) THEN 92 92 WRITE(charout,FMT="('kt =', I4,' d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 93 93 CALL prt_ctl_trc_info(charout) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/BENCH/MY_SRC/zdfiwm.F90
r12202 r12210 365 365 CALL iom_put( "emix_iwm", zemx_iwm ) 366 366 367 IF( ln_ctl) CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', kdim=jpk)367 IF(sn_cfctl%l_prtctl) CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', kdim=jpk) 368 368 ! 369 369 END SUBROUTINE zdf_iwm -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/CANAL/MY_SRC/stpctl.F90
r10572 r12210 72 72 ! 73 73 ll_wrtstp = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 74 ll_colruns = ll_wrtstp .AND. ( ln_ctl .OR. sn_cfctl%l_runstat )74 ll_colruns = ll_wrtstp .AND. ( sn_cfctl%l_prtctl .OR. sn_cfctl%l_runstat ) 75 75 ll_wrtruns = ll_colruns .AND. lwm 76 76 IF( kt == nit000 .AND. lwp ) THEN … … 82 82 ! ! open run.stat file(s) at start whatever 83 83 ! ! the value of sn_cfctl%ptimincr 84 IF( lwm .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) ) THEN84 IF( lwm .AND. ( sn_cfctl%l_prtctl .OR. sn_cfctl%l_runstat ) ) THEN 85 85 CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 86 86 clname = 'run.stat.nc' … … 147 147 END IF 148 148 ! !== error handling ==! 149 IF( ( ln_ctl .OR. lsomeoce ) .AND. ( & ! have use mpp_max (because ln_ctl=.T.) or contains some ocean points149 IF( ( sn_cfctl%l_prtctl .OR. lsomeoce ) .AND. ( & ! have use mpp_max (because sn_cfctl%l_prtctl=.T.) or contains some ocean points 150 150 & zmax(1) > 50._wp .OR. & ! too large sea surface height ( > 50 m ) 151 151 & zmax(2) > 20._wp .OR. & ! too large velocity ( > 20 m/s) … … 154 154 !!$ & zmax(4) < 0._wp .OR. & ! too large sea surface salinity (keep this line for sea-ice) 155 155 & ISNAN( zmax(1) + zmax(2) + zmax(3) ) ) ) THEN ! NaN encounter in the tests 156 IF( lk_mpp .AND. ln_ctl ) THEN156 IF( lk_mpp .AND. sn_cfctl%l_prtctl ) THEN 157 157 CALL mpp_maxloc( 'stpctl', ABS(sshn) , ssmask(:,:) , zzz, ih ) 158 158 CALL mpp_maxloc( 'stpctl', ABS(un) , umask (:,:,:), zzz, iu ) … … 175 175 CALL dia_wri_state( 'output.abort' ) ! create an output.abort file 176 176 177 IF( .NOT. ln_ctl ) THEN177 IF( .NOT. sn_cfctl%l_prtctl ) THEN 178 178 WRITE(ctmp8,*) 'E R R O R message from sub-domain: ', narea 179 179 CALL ctl_stop( 'STOP', ctmp1, ' ', ctmp8, ' ', ctmp2, ctmp3, ctmp4, ctmp5, ctmp6 ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/CANAL/MY_SRC/trazdf.F90
r10572 r12210 99 99 ENDIF 100 100 ! ! print mean trends (used for debugging) 101 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf - Ta: ', mask1=tmask, &101 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf - Ta: ', mask1=tmask, & 102 102 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 103 103 ! -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/ISOMIP+/MY_SRC/eosbn2.F90
r12202 r12210 318 318 END SELECT 319 319 ! 320 IF( ln_ctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-insitu : ', kdim=jpk )320 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-insitu : ', kdim=jpk ) 321 321 ! 322 322 IF( ln_timing ) CALL timing_stop('eos-insitu') … … 504 504 END SELECT 505 505 ! 506 IF( ln_ctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-pot: ', tab3d_2=prhop, clinfo2=' pot : ', kdim=jpk )506 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-pot: ', tab3d_2=prhop, clinfo2=' pot : ', kdim=jpk ) 507 507 ! 508 508 IF( ln_timing ) CALL timing_stop('eos-pot') … … 617 617 END SELECT 618 618 ! 619 IF( ln_ctl) CALL prt_ctl( tab2d_1=prd, clinfo1=' eos2d: ' )619 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prd, clinfo1=' eos2d: ' ) 620 620 ! 621 621 IF( ln_timing ) CALL timing_stop('eos2d') … … 749 749 END SELECT 750 750 ! 751 IF( ln_ctl) CALL prt_ctl( tab3d_1=pab(:,:,:,jp_tem), clinfo1=' rab_3d_t: ', &751 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pab(:,:,:,jp_tem), clinfo1=' rab_3d_t: ', & 752 752 & tab3d_2=pab(:,:,:,jp_sal), clinfo2=' rab_3d_s : ', kdim=jpk ) 753 753 ! … … 883 883 END SELECT 884 884 ! 885 IF( ln_ctl) CALL prt_ctl( tab2d_1=pab(:,:,jp_tem), clinfo1=' rab_2d_t: ', &885 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=pab(:,:,jp_tem), clinfo1=' rab_2d_t: ', & 886 886 & tab2d_2=pab(:,:,jp_sal), clinfo2=' rab_2d_s : ' ) 887 887 ! … … 1039 1039 END DO 1040 1040 ! 1041 IF( ln_ctl) CALL prt_ctl( tab3d_1=pn2, clinfo1=' bn2 : ', kdim=jpk )1041 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pn2, clinfo1=' bn2 : ', kdim=jpk ) 1042 1042 ! 1043 1043 IF( ln_timing ) CALL timing_stop('bn2') -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/ISOMIP+/MY_SRC/isfstp.F90
r12202 r12210 248 248 IF ( l_isfoasis .AND. ln_isf ) THEN 249 249 ! 250 CALL ctl_stop( ' ln_ctl and ice shelf not tested' )250 CALL ctl_stop( ' sn_cfctl%l_prtctl and ice shelf not tested' ) 251 251 ! 252 252 ! NEMO coupled to ATMO model with isf cavity need oasis method for melt computation -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/ISOMIP+/MY_SRC/tradmp.F90
r12202 r12210 156 156 ENDIF 157 157 ! ! Control print 158 IF( ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' dmp - Ta: ', mask1=tmask, &158 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' dmp - Ta: ', mask1=tmask, & 159 159 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 160 160 ! -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_coare3p6-noskin_cfg
r12181 r12210 278 278 &namctl ! Control prints (default: OFF) 279 279 !----------------------------------------------------------------------- 280 ln_ctl = .false.281 280 / 282 281 !----------------------------------------------------------------------- -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_coare3p6_cfg
r12181 r12210 278 278 &namctl ! Control prints (default: OFF) 279 279 !----------------------------------------------------------------------- 280 ln_ctl = .false.281 280 / 282 281 !----------------------------------------------------------------------- -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_ecmwf-noskin_cfg
r12181 r12210 278 278 &namctl ! Control prints (default: OFF) 279 279 !----------------------------------------------------------------------- 280 ln_ctl = .false.281 280 / 282 281 !----------------------------------------------------------------------- -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_ecmwf_cfg
r12181 r12210 278 278 &namctl ! Control prints (default: OFF) 279 279 !----------------------------------------------------------------------- 280 ln_ctl = .false.281 280 / 282 281 !----------------------------------------------------------------------- -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_ncar_cfg
r12181 r12210 278 278 &namctl ! Control prints (default: OFF) 279 279 !----------------------------------------------------------------------- 280 ln_ctl = .false.281 280 / 282 281 !----------------------------------------------------------------------- -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/MY_SRC/nemogcm.F90
r12202 r12210 158 158 INTEGER :: ios, ilocal_comm ! local integers 159 159 !! 160 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle, &160 NAMELIST/namctl/ sn_cfctl%l_prtctl , sn_cfctl, nn_print, nn_ictls, nn_ictle, & 161 161 & nn_isplt , nn_jsplt, nn_jctls, nn_jctle, & 162 162 & ln_timing, ln_diacfl … … 197 197 ! 198 198 ! !--------------------! 199 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp199 ! ! Open listing units ! -> need sn_cfctl%l_prtctl from namctl to define lwp 200 200 ! !--------------------! 201 201 ! … … 206 206 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 207 207 ! 208 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print208 lwp = (narea == 1) .OR. sn_cfctl%l_prtctl ! control of all listing output print 209 209 ! 210 210 IF(lwp) THEN ! open listing units … … 247 247 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 248 248 ELSE 249 ! Use ln_ctl to turn on or off all options.250 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )249 ! Use sn_cfctl%l_prtctl to turn on or off all options. 250 CALL nemo_set_cfctl( sn_cfctl, sn_cfctl%l_prtctl, .TRUE. ) 251 251 ENDIF 252 252 ! … … 292 292 IF( lk_c1d ) CALL c1d_init ! 1D column configuration 293 293 CALL dom_init("OPA") ! Domain 294 IF( ln_ctl ) CALL prt_ctl_init ! Print control294 IF( sn_cfctl%l_prtctl ) CALL prt_ctl_init ! Print control 295 295 296 296 CALL day_init ! model calendar (using both namelist and restart infos) … … 322 322 WRITE(numout,*) '~~~~~~~~' 323 323 WRITE(numout,*) ' Namelist namctl' 324 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl324 WRITE(numout,*) ' run control (for debugging) sn_cfctl%l_prtctl = ', sn_cfctl%l_prtctl 325 325 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config 326 326 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat … … 367 367 ! ! Parameter control 368 368 ! 369 IF( ln_ctl ) THEN ! sub-domain area indices for the control prints369 IF( sn_cfctl%l_prtctl ) THEN ! sub-domain area indices for the control prints 370 370 IF( lk_mpp .AND. jpnij > 1 ) THEN 371 371 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/MY_SRC/sbcssm.F90
r12202 r12210 131 131 vb (:,:,1) = ssv_m(:,:) 132 132 133 IF( ln_ctl) THEN ! print control133 IF(sn_cfctl%l_prtctl) THEN ! print control 134 134 CALL prt_ctl(tab2d_1=sst_m, clinfo1=' sst_m - : ', mask1=tmask ) 135 135 CALL prt_ctl(tab2d_1=sss_m, clinfo1=' sss_m - : ', mask1=tmask ) -
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/MY_SRC/stpctl.F90
r11930 r12210 67 67 ! 68 68 ll_wrtstp = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 69 ll_colruns = ll_wrtstp .AND. ( ln_ctl .OR. sn_cfctl%l_runstat )69 ll_colruns = ll_wrtstp .AND. ( sn_cfctl%l_prtctl .OR. sn_cfctl%l_runstat ) 70 70 ll_wrtruns = ll_colruns 71 71 IF( kt == nit000 .AND. lwp ) THEN … … 77 77 ! ! open run.stat file(s) at start whatever 78 78 ! ! the value of sn_cfctl%ptimincr 79 IF( ln_ctl .OR. sn_cfctl%l_runstat ) THEN79 IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_runstat ) THEN 80 80 CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 81 81 clname = 'run.stat.nc' … … 114 114 END IF 115 115 ! !== error handling ==! 116 IF( ( ln_ctl .OR. lsomeoce ) .AND. ( & ! have use mpp_max (because ln_ctl=.T.) or contains some ocean points116 IF( ( sn_cfctl%l_prtctl .OR. lsomeoce ) .AND. ( & ! have use mpp_max (because sn_cfctl%l_prtctl=.T.) or contains some ocean points 117 117 & zmax(1) > 5._wp .OR. & ! too large wind stress ( > 5 N/m^2 ) 118 118 & zmax(2) > 2000._wp .OR. & ! too large non-solar heat flux ( > 2000 W/m^2) … … 128 128 CALL dia_wri_state( 'output.abort' ) ! create an output.abort file 129 129 130 IF( .NOT. ln_ctl ) THEN130 IF( .NOT. sn_cfctl%l_prtctl ) THEN 131 131 WRITE(ctmp8,*) 'E R R O R message from sub-domain: ', narea 132 132 CALL ctl_stop( 'STOP', ctmp1, ' ', ctmp2, ' ', ctmp6, ' ' )
Note: See TracChangeset
for help on using the changeset viewer.