New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12210 – NEMO

Changeset 12210


Ignore:
Timestamp:
2019-12-12T13:15:13+01:00 (4 years ago)
Author:
cetlod
Message:

dev_merge_option2 : merge in fix_sn_cfctl_ticket2328 branch

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  
    13901390&namctl        !   Control prints                                       (default: OFF) 
    13911391!----------------------------------------------------------------------- 
    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 
    13931394     sn_cfctl%l_config = .TRUE.     ! IF .true. then control which reports are written with the following 
    13941395       sn_cfctl%l_runstat = .TRUE.  ! switches and which areas produce reports with the proc integer settings. 
     
    13961397       sn_cfctl%l_oceout  = .FALSE. ! that  all areas report. 
    13971398       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. ! 
    14001402       sn_cfctl%procmin   = 0       ! Minimum area number for reporting [default:0] 
    14011403       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  
    362362 
    363363%% ================================================================================================= 
    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 
     367NEMO can produce a range of text information output either: in the main output 
     368file (ocean.output) written by the normal reporting processor (narea == 1) or various 
     369specialist output files (e.g. layout.dat, run.stat, tracer.stat etc.). Some, for example 
     370run.stat and tracer.stat, contain globally collected values for which a single file is 
     371sufficient. Others, however, contain information that could, potentially, be different 
     372for each processing region. For computational efficiency, the default volume of text 
     373information produced is reduced to just a few files from the narea=1 processor. 
     374 
     375When more information is required for monitoring or debugging purposes, the various 
     376forms of output can be selected via the \np{sn\_cfctl} structure. As well as simple 
     377on-off switches this structure also allows selection of a range of processors for 
     378individual reporting (where appropriate) and a time-increment option to restrict 
     379globally collected values to specified time-step increments. 
     380 
     381Most options within the structure are influenced by the top-level switches shown here 
     382with 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 
     389The first switch is a convenience option which can be used to switch on and off all 
     390sub-options. However, if it is false then switching off all sub-options is only done 
     391if \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 
     404Details 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 
     406carried out in \textt{stpctl.F90}. These checks detect probable numerical instabilites 
     407by searching for excessive sea surface heights or velocities and salinity values 
     408outside a sensible physical range. If breaches are detected then the default behaviour 
     409is to locate and report the local indices of the grid-point in breach. These indices 
     410are 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 
     412the various minimum and maximum values and the global indices are reported. This has 
     413some value in locating the most severe error in cases where the first detected error 
     414may not be the worst culprit. 
     415 
     416\subsubsection{Control print suboptions} 
     417 
     418The 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 
     422passive tracer metrics (respectively). Typical contents of \texttt{run.stat} include 
     423global maximums of ssh, velocity; and global minimums and maximums of temperature 
     424and salinity.  A netCDF version of \texttt{run.stat} (\texttt{run.stat.nc}) is also 
     425produced with the same time-series data and this can easily be expanded to include 
     426extra monitoring information.  \texttt{tracer.stat} contains the volume-weighted 
     427average tracer value for each passive tracer. Collecting these metrics involves 
     428global communications and will impact on model efficiency so both these options are 
     429disabled 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 
     431both of these options and setting the \texttt{sn\_cfctl%timincr} entry to an integer 
     432value greater than one. This increment determines the time-step frequency at which 
     433the global metrics are collected and reported.  This increment also applies to the 
     434time.step file which is otherwise updated every timestep. 
     435\item{One-time configuration information/progress logs} 
     436 
     437Some run-time configuration information and limited progress information is always 
     438produced by the first ocean process. This includes the \texttt{ocean.output} file 
     439which reports on all the namelist options read by the model and remains open to catch 
     440any warning or error messages generated during execution. A \texttt{layout.dat} 
     441file is also produced which details the MPI-decomposition used by the model. The 
     442suboptions: \texttt{sn\_cfctl%oceout} and \texttt{sn\_cfctl%layout} can be used 
     443to activate the creation of these files by all ocean processes.  For example, 
     444when \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 
     446named with a \_XXXX extension to their name, where XXXX is a 4-digit area number (with 
     447leading zeros, if required). This is useful as a debugging aid since all processes can 
     448report their local conditions. Note though that these files are buffered on most UNIX 
     449systems so bug-hunting efforts using this facility should also utilise the \fortran: 
     450 
     451\begin{verbatim}  
     452   CALL FLUSH(numout) 
     453\end{verbatim} 
     454 
     455statement after any additional write statements to ensure that file contents reflect 
     456the last model state. Associated with the \texttt{sn\_cfctl%oceout} option is the 
     457additional \texttt{sn\_cfctl%oasout} suboption. This does not activate its own output 
     458file but rather activates the writing of addition information regarding the OASIS 
     459configuration when coupling via oasis and the sbccpl routine. This information is 
     460written to any active \texttt{ocean.output} files. 
     461\item{Control sums of trends for debugging} 
     462 
     463NEMO includes an option for debugging reproducibility differences between 
     464a MPP and mono-processor runs.  This is somewhat dated and clearly only 
     465useful for this purpose when dealing with configurations that can be run 
     466on a single processor. The full details can be found in this report: \href{ 
     467http://forge.ipsl.jussieu.fr/nemo/attachment/wiki/Documentation/prtctl_NEMO_doc_v2.pdf}{The 
     468control print option in NEMO} The switches to activate production of the control sums 
     469of trends for either the physics or passive tracers are the \texttt{sn\_cfctl%prtctl} 
     470and \texttt{sn\_cfctl%prttrc} suboptions, respectively. Although, perhaps, of limited use for its 
     471original intention, the ability to produce these control sums of trends in specific 
     472areas provides another tool for diagnosing model behaviour.  If only the output from a 
     473select few regions is required then additional options are available to activate options 
     474for 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 
     476the minimum and maximum active areas and the increment. The default values are set 
     477such that all regions will be active. Note this subsetting can also be used to limit 
     478which additional \texttt{ocean.output} and \texttt{layout.dat} files are produced if 
     479those suboptions are active. 
     480 
    375481\end{enumerate} 
    376482 
    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 
    416500 
    417501\subinc{\input{../../global/epilogue}} 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/doc/namelists/namctl

    r10601 r12210  
    22&namctl        !   Control prints                                       (default: OFF) 
    33!----------------------------------------------------------------------- 
    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 
    56     sn_cfctl%l_config = .TRUE.     ! IF .true. then control which reports are written with the following 
    67       sn_cfctl%l_runstat = .FALSE. ! switches and which areas produce reports with the proc integer settings. 
     
    89       sn_cfctl%l_oceout  = .FALSE. ! that  all areas report. 
    910       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. ! 
    1214       sn_cfctl%procmin   = 0       ! Minimum area number for reporting [default:0] 
    1315       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  
    579579      CALL iom_put( "taum_oce", ptaum ) 
    580580 
    581       IF(ln_ctl) THEN 
     581      IF(sn_cfctl%l_prtctl) THEN 
    582582         CALL prt_ctl( tab2d_1=pwndm  , clinfo1=' abl_stp: wndm   : ' ) 
    583583         CALL prt_ctl( tab2d_1=ptaui  , clinfo1=' abl_stp: utau   : ' ) 
     
    594594               zztmp1 = 0.5_wp * ( u_abl(ji+1,jj,2,nt_a) + u_abl(ji,jj,2,nt_a) ) 
    595595               zztmp2 = 0.5_wp * ( v_abl(ji,jj+1,2,nt_a) + v_abl(ji,jj,2,nt_a) ) 
    596              
    597596               ptaui_ice(ji,jj) = 0.5_wp * (  rhoa(ji+1,jj) * pCd_du_ice(ji+1,jj)             & 
    598597                  &                      +    rhoa(ji  ,jj) * pCd_du_ice(ji  ,jj)  )          & 
     
    605604         CALL lbc_lnk_multi( 'ablmod', ptaui_ice, 'U', -1., ptauj_ice, 'V', -1. ) 
    606605         ! 
    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 : ' ) 
    609608#endif 
    610609      !                            !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icecor.F90

    r11536 r12210  
    165165      ! 
    166166      ! controls 
    167       IF( ln_ctl       )   CALL ice_prt3D   ('icecor')                                                             ! prints 
     167      IF( sn_cfctl%l_prtctl ) & 
     168         &                 CALL ice_prt3D   ('icecor')                                                             ! prints 
    168169      IF( ln_icectl .AND. kn == 2 ) & 
    169170         &                 CALL ice_prt     ( kt, iiceprt, jiceprt, 2, ' - Final state - ' )                       ! prints 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icectl.F90

    r11612 r12210  
    695695      !!                  ***  ROUTINE ice_prt3D *** 
    696696      !! 
    697       !! ** Purpose : CTL prints of ice arrays in case ln_ctl is activated  
     697      !! ** Purpose : CTL prints of ice arrays in case sn_cfctl%prtctl is activated  
    698698      !! 
    699699      !!------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/icedyn_rdgrft.F90

    r12202 r12210  
    268268 
    269269      ! controls 
    270       IF( ln_ctl       )   CALL ice_prt3D   ('icedyn_rdgrft')                                                             ! prints 
     270      IF( sn_cfctl%l_prtctl )   CALL ice_prt3D   ('icedyn_rdgrft')                                                        ! prints 
    271271      IF( ln_icectl    )   CALL ice_prt     (kt, iiceprt, jiceprt,-1, ' - ice dyn rdgrft - ')                             ! prints 
    272272      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  
    8888      ! 
    8989      ! controls 
    90       IF( ln_ctl       )   CALL ice_prt3D   ('icedyn_rhg')                                                             ! prints 
     90      IF( sn_cfctl%l_prtctl ) & 
     91         &                 CALL ice_prt3D   ('icedyn_rhg')                                                             ! prints 
    9192      IF( ln_icediachk )   CALL ice_cons_hsm(1, 'icedyn_rhg', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) ! conservation 
    9293      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  
    345345         l_full_nf_update = jter == nn_nevp   ! false: disable full North fold update (performances) for iter = 1 to nn_nevp-1 
    346346         ! 
    347 !!$         IF(ln_ctl) THEN   ! Convergence test 
     347!!$         IF(sn_cfctl%l_prtctl) THEN   ! Convergence test 
    348348!!$            DO jj = 1, jpjm1 
    349349!!$               zu_ice(:,jj) = u_ice(:,jj) ! velocity at previous time step 
     
    667667         ENDIF 
    668668 
    669 !!$         IF(ln_ctl) THEN   ! Convergence test 
     669!!$         IF(sn_cfctl%l_prtctl) THEN   ! Convergence test 
    670670!!$            DO jj = 2 , jpjm1 
    671671!!$               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  
    252252      ! controls 
    253253      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 
    255256      IF( ln_timing )   CALL timing_stop('icethd')                                        ! timing 
    256257      ! 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/ICE/iceupdate.F90

    r11536 r12210  
    286286#endif 
    287287      IF( ln_icectl                      )   CALL ice_prt       (kt, iiceprt, jiceprt, 3, 'Final state ice_update') ! prints 
    288       IF( ln_ctl                         )   CALL ice_prt3D     ('iceupdate')                                       ! prints 
     288      IF( sn_cfctl%l_prtctl              )   CALL ice_prt3D     ('iceupdate')                                       ! prints 
    289289      IF( ln_timing                      )   CALL timing_stop   ('ice_update')                                      ! timing 
    290290      ! 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/C1D/dyncor_c1d.F90

    r10068 r12210  
    9595       
    9696      ! 
    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 ) 
    9999      ! 
    100100   END SUBROUTINE dyn_cor_c1d 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/C1D/dyndmp.F90

    r12202 r12210  
    217217      ! 
    218218      !                           ! 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' ) 
    221221      ! 
    222222      ! 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DOM/daymod.F90

    r10068 r12210  
    277277      IF( nsec_week > 7*nsecd )   nsec_week = ndt05     ! New week 
    278278 
    279       IF(ln_ctl) THEN 
     279      IF(sn_cfctl%l_prtctl) THEN 
    280280         WRITE(charout,FMT="('kt =', I4,'  d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 
    281281         CALL prt_ctl_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynadv_cen2.F90

    r10068 r12210  
    139139      ENDIF 
    140140      !                                   ! 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' ) 
    143143      ! 
    144144   END SUBROUTINE dyn_adv_cen2 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynadv_ubs.F90

    r10425 r12210  
    232232      ENDIF 
    233233      !                                         ! 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' ) 
    236236      ! 
    237237   END SUBROUTINE dyn_adv_ubs 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynhpg.F90

    r12202 r12210  
    121121      ENDIF 
    122122      ! 
    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' ) 
    125125      ! 
    126126      IF( ln_timing )   CALL timing_stop('dyn_hpg') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynkeg.F90

    r11536 r12210  
    147147      ENDIF 
    148148      ! 
    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' ) 
    151151      ! 
    152152      IF( ln_timing )   CALL timing_stop('dyn_keg') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynldf.F90

    r10068 r12210  
    7777      ENDIF 
    7878      !                                          ! 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' ) 
    8181      ! 
    8282      IF( ln_timing )   CALL timing_stop('dyn_ldf') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynldf_iso.F90

    r10425 r12210  
    286286 
    287287      ! 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' ) 
    290290 
    291291 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynnxt.F90

    r12166 r12210  
    361361      ENDIF 
    362362      ! 
    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 ) 
    365365      !  
    366366      IF( ln_dynspg_ts )   DEALLOCATE( zue, zve ) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynspg.F90

    r12202 r12210  
    175175      ENDIF 
    176176      !                                      ! 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' ) 
    179179      ! 
    180180      IF( ln_timing )   CALL timing_stop('dyn_spg') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynvor.F90

    r12202 r12210  
    179179      ! 
    180180      !                       ! 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' ) 
    183183      ! 
    184184      IF( ln_timing )   CALL timing_stop('dyn_vor') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynzad.F90

    r10068 r12210  
    114114      ENDIF 
    115115      !                             ! 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' ) 
    118118      ! 
    119119      IF( ln_timing )   CALL timing_stop('dyn_zad') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/dynzdf.F90

    r12166 r12210  
    492492      ENDIF 
    493493      !                                          ! 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' ) 
    496496         ! 
    497497      IF( ln_timing )   CALL timing_stop('dyn_zdf') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/DYN/sshwzv.F90

    r12166 r12210  
    122122      !                                           !------------------------------! 
    123123      ! 
    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 ) 
    125125      ! 
    126126      IF( ln_timing )   CALL timing_stop('ssh_nxt') 
     
    269269      ENDIF 
    270270      ! 
    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 ) 
    272272      ! 
    273273      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  
    9999   !!                    output monitoring 
    100100   !!---------------------------------------------------------------------- 
    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 
    103107      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 
    107112      LOGICAL :: l_runstat = .FALSE.  !: Produce/do not produce run.stat file (T/F) 
    108113      LOGICAL :: l_trcstat = .FALSE.  !: Produce/do not produce tracer.stat file (T/F) 
    109114      LOGICAL :: l_oceout  = .FALSE.  !: Produce all ocean.outputs    (T) or just one (F) 
    110115      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) 
    113119                                      !  Optional subsetting of processor report files 
    114120                                      !  Default settings of 0/1000000/1 should ensure all areas report. 
     
    169175   CHARACTER(lc) ::   ctmp10                !: temporary character 10 
    170176   LOGICAL       ::   lwm      = .FALSE.    !: boolean : true on the 1st processor only (always) 
    171    LOGICAL       ::   lwp      = .FALSE.    !: boolean : true on the 1st processor only .OR. ln_ctl 
     177   LOGICAL       ::   lwp      = .FALSE.    !: boolean : true on the 1st processor only .OR. sn_cfctl%l_oceout=T 
    172178   LOGICAL       ::   lsp_area = .TRUE.     !: to make a control print over a specific area 
    173179   CHARACTER(lc) ::   cxios_context         !: context name used in xios 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/IOM/prtctl.F90

    r10068 r12210  
    5050      !!                debugging a new parametrization in mono or mpp.  
    5151      !! 
    52       !! ** Method  : 2 possibilities exist when setting the ln_ctl parameter to 
     52      !! ** Method  : 2 possibilities exist when setting the sn_cfctl%prtctl parameter to 
    5353      !!                .true. in the ocean namelist: 
    5454      !!              - to debug a MPI run .vs. a mono-processor one;  
     
    6464      !!                name must be explicitly typed if used. For instance if the 3D 
    6565      !!                array tn(:,:,:) must be passed through the prt_ctl subroutine,  
    66       !!                it must looks like: CALL prt_ctl(tab3d_1=tn). 
     66      !!                it must look like: CALL prt_ctl(tab3d_1=tn). 
    6767      !! 
    6868      !!                    tab2d_1 : first 2D array 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/LBC/mppini.F90

    r12202 r12210  
    171171      !!---------------------------------------------------------------------- 
    172172      ! 
    173       llwrtlay = lwp .OR. ln_ctl .OR. sn_cfctl%l_layout 
     173      llwrtlay = lwm .OR. sn_cfctl%l_layout 
    174174      ! 
    175175      !  0. read namelists parameters 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/LDF/ldfslp.F90

    r12166 r12210  
    366366      CALL lbc_lnk_multi( 'ldfslp', uslp , 'U', -1. , vslp , 'V', -1. , wslpi, 'W', -1., wslpj, 'W', -1. ) 
    367367 
    368       IF(ln_ctl) THEN 
     368      IF(sn_cfctl%l_prtctl) THEN 
    369369         CALL prt_ctl(tab3d_1=uslp , clinfo1=' slp  - u : ', tab3d_2=vslp,  clinfo2=' v : ', kdim=jpk) 
    370370         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  
    203203      paral(5) = jpiglo                                         ! global extent in x 
    204204       
    205       IF( ln_ctl ) THEN 
     205      IF( sn_cfctl%l_oasout ) THEN 
    206206         WRITE(numout,*) ' multiexchg: paral (1:5)', paral 
    207207         WRITE(numout,*) ' multiexchg: jpi, jpj =', jpi, jpj 
     
    243243                  ENDIF 
    244244#endif 
    245                   IF( ln_ctl ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_Out 
     245                  IF( sn_cfctl%l_oasout ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_Out 
    246246                  CALL oasis_def_var (ssnd(ji)%nid(jc,jm), zclname, id_part   , (/ 2, 1 /),   & 
    247247                     &                OASIS_Out          , ishape , OASIS_REAL, nerror ) 
     
    250250                     CALL oasis_abort ( ssnd(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 
    251251                  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" 
    254254               END DO 
    255255            END DO 
     
    288288                  ENDIF 
    289289#endif 
    290                   IF( ln_ctl ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_In 
     290                  IF( sn_cfctl%l_oasout ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_In 
    291291                  CALL oasis_def_var (srcv(ji)%nid(jc,jm), zclname, id_part   , (/ 2, 1 /),   & 
    292292                     &                OASIS_In           , ishape , OASIS_REAL, nerror ) 
     
    295295                     CALL oasis_abort ( srcv(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 
    296296                  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" 
    299299 
    300300               END DO 
     
    349349               CALL oasis_put ( ssnd(kid)%nid(jc,jm), kstep, pdata(nldi:nlei, nldj:nlej,jc), kinfo ) 
    350350                
    351                IF( ln_ctl ) THEN         
    352                   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.   & 
    353353                     & kinfo == OASIS_SentOut  .OR. kinfo == OASIS_ToRestOut ) THEN 
    354354                     WRITE(numout,*) '****************' 
     
    420420                  &        kinfo == OASIS_RecvOut .OR. kinfo == OASIS_FromRestOut 
    421421                
    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) 
    423423                
    424424               IF( llaction ) THEN 
     
    432432                  ENDIF 
    433433                   
    434                   IF( ln_ctl ) THEN         
     434                  IF ( sn_cfctl%l_oasout ) THEN         
    435435                     WRITE(numout,*) '****************' 
    436436                     WRITE(numout,*) 'oasis_get: Incoming ', srcv(kid)%clname 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/sbcblk.F90

    r12202 r12210  
    706706         CALL lbc_lnk_multi( 'sbcblk', utau, 'U', -1., vtau, 'V', -1. ) 
    707707 
    708          IF(ln_ctl) THEN 
     708         IF(sn_cfctl%l_prtctl) THEN 
    709709            CALL prt_ctl( tab2d_1=wndm  , clinfo1=' blk_oce_1: wndm   : ') 
    710710            CALL prt_ctl( tab2d_1=utau  , clinfo1=' blk_oce_1: utau   : ', mask1=umask,   & 
     
    721721      ENDIF 
    722722 
    723       IF(ln_ctl) THEN 
     723      IF(sn_cfctl%l_prtctl) THEN 
    724724         CALL prt_ctl( tab2d_1=pevp  , clinfo1=' blk_oce_1: pevp   : ' ) 
    725725         CALL prt_ctl( tab2d_1=psen  , clinfo1=' blk_oce_1: psen   : ' ) 
     
    786786      ENDDO 
    787787 
    788       IF(ln_ctl) THEN 
     788      IF(sn_cfctl%l_prtctl) THEN 
    789789         CALL prt_ctl( tab2d_1=zqla  , clinfo1=' blk_oce_2: zqla   : ' ) 
    790790         CALL prt_ctl( tab2d_1=zqlw  , clinfo1=' blk_oce_2: zqlw   : ', tab2d_2=qsr, clinfo2=' qsr : ' ) 
     
    830830      ENDIF 
    831831      ! 
    832       IF(ln_ctl) THEN 
     832      IF(sn_cfctl%l_prtctl) THEN 
    833833         CALL prt_ctl(tab2d_1=zqlw , clinfo1=' blk_oce_2: zqlw  : ') 
    834834         CALL prt_ctl(tab2d_1=zqla , clinfo1=' blk_oce_2: zqla  : ', tab2d_2=qsr  , clinfo2=' qsr   : ') 
     
    931931         CALL lbc_lnk_multi( 'sbcblk', putaui, 'U', -1., pvtaui, 'V', -1. ) 
    932932         ! 
    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 : ' ) 
    935935      ELSE 
    936936         zztmp1 = 11637800.0_wp 
     
    947947      ENDIF 
    948948      ! 
    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 : ') 
    950950      ! 
    951951   END SUBROUTINE blk_ice_1 
     
    11331133      ENDIF 
    11341134      ! 
    1135       IF(ln_ctl) THEN 
     1135      IF(sn_cfctl%l_prtctl) THEN 
    11361136         CALL prt_ctl(tab3d_1=qla_ice , clinfo1=' blk_ice: qla_ice  : ', tab3d_2=z_qsb   , clinfo2=' z_qsb    : ', kdim=jpl) 
    11371137         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  
    568568      CALL iom_put( "vtau", vtau )   ! j-wind stress 
    569569      ! 
    570       IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     570      IF(sn_cfctl%l_prtctl) THEN     ! print mean trends (used for debugging) 
    571571         CALL prt_ctl(tab2d_1=fr_i             , clinfo1=' fr_i     - : ', mask1=tmask ) 
    572572         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  
    297297      END SELECT 
    298298      ! 
    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 ) 
    300300      ! 
    301301      IF( ln_timing )   CALL timing_stop('eos-insitu') 
     
    464464      END SELECT 
    465465      ! 
    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 ) 
    467467      ! 
    468468      IF( ln_timing )   CALL timing_stop('eos-pot') 
     
    559559      END SELECT 
    560560      ! 
    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: ' ) 
    562562      ! 
    563563      IF( ln_timing )   CALL timing_stop('eos2d') 
     
    671671      END SELECT 
    672672      ! 
    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 ) 
    675675      ! 
    676676      IF( ln_timing )   CALL timing_stop('rab_3d') 
     
    785785      END SELECT 
    786786      ! 
    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 : ' ) 
    789789      ! 
    790790      IF( ln_timing )   CALL timing_stop('rab_2d') 
     
    929929      END DO 
    930930      ! 
    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 ) 
    932932      ! 
    933933      IF( ln_timing )   CALL timing_stop('bn2') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/traadv.F90

    r12202 r12210  
    169169      ENDIF 
    170170      !                                              ! 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' ) 
    173173      ! 
    174174      IF( ln_timing )   CALL timing_stop( 'tra_adv' ) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trabbc.F90

    r12202 r12210  
    102102      CALL iom_put ( "hfgeou" , rau0_rcp * qgh_trd0(:,:) ) 
    103103      ! 
    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' ) 
    105105      ! 
    106106      IF( ln_timing )   CALL timing_stop('tra_bbc') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trabbl.F90

    r12202 r12210  
    119119         ! 
    120120         CALL tra_bbl_dif( tsb, tsa, jpts ) 
    121          IF( ln_ctl )  & 
     121         IF( sn_cfctl%l_prtctl )  & 
    122122         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbl_ldf  - Ta: ', mask1=tmask, & 
    123123            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=           ' Sa: ', mask2=tmask, clinfo3='tra' ) 
     
    132132         ! 
    133133         CALL tra_bbl_adv( tsb, tsa, jpts ) 
    134          IF(ln_ctl)   & 
     134         IF(sn_cfctl%l_prtctl)   & 
    135135         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbl_adv  - Ta: ', mask1=tmask,   & 
    136136            &          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  
    156156      ENDIF 
    157157      !                           ! 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' ) 
    160160      ! 
    161161      IF( ln_timing )   CALL timing_stop('tra_dmp') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/traldf.F90

    r10068 r12210  
    8585      ENDIF 
    8686      !                                        !* 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' ) 
    8989      ! 
    9090      IF( ln_timing )   CALL timing_stop('tra_ldf') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/tranxt.F90

    r12169 r12210  
    181181      ! 
    182182      !                        ! 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 ) 
    185185      ! 
    186186      IF( ln_timing )   CALL timing_stop('tra_nxt') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/traqsr.F90

    r12202 r12210  
    300300      ENDIF 
    301301      !                       ! 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' ) 
    303303      ! 
    304304      IF( ln_timing )   CALL timing_stop('tra_qsr') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trasbc.F90

    r12166 r12210  
    215215      ENDIF 
    216216      ! 
    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' ) 
    219219      ! 
    220220      IF( ln_timing )   CALL timing_stop('tra_sbc') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRA/trazdf.F90

    r10425 r12210  
    9999      ENDIF 
    100100      !                                          ! 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' ) 
    103103      ! 
    104104      IF( ln_timing )   CALL timing_stop('tra_zdf') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/TRD/trdmxl.F90

    r12202 r12210  
    371371         hmxlbn(:,:) = hmxl(:,:) 
    372372 
    373          IF( ln_ctl ) THEN 
     373         IF( sn_cfctl%l_prtctl ) THEN 
    374374            WRITE(numout,*) '             we reach kt == nit000 + 1 = ', nit000+1 
    375375            CALL prt_ctl(tab2d_1=tmlbb   , clinfo1=' tmlbb   -   : ', mask1=tmask) 
     
    380380      END IF 
    381381 
    382       IF( ( ln_rstart ) .AND. ( kt == nit000 ) .AND. ( ln_ctl ) ) THEN 
     382      IF( ( ln_rstart ) .AND. ( kt == nit000 ) .AND. sn_cfctl%l_prtctl ) THEN 
    383383         IF( ln_trdmxl_instant ) THEN 
    384384            WRITE(numout,*) '             restart from kt == nit000 = ', nit000 
     
    548548         hmxlbn         (:,:)   = hmxl    (:,:) 
    549549          
    550          IF( ln_ctl ) THEN 
     550         IF( sn_cfctl%l_prtctl ) THEN 
    551551            IF( ln_trdmxl_instant ) THEN 
    552552               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  
    163163      !                                                   ! =============== 
    164164      ! 
    165       IF(ln_ctl) THEN 
     165      IF(sn_cfctl%l_prtctl) THEN 
    166166         CALL prt_ctl(tab3d_1=avt , clinfo1=' ddm  - t: ', tab3d_2=avs , clinfo2=' s: ', kdim=jpk) 
    167167      ENDIF 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfdrg.F90

    r12202 r12210  
    139139      ENDIF 
    140140      ! 
    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 ') 
    142142      ! 
    143143   END SUBROUTINE zdf_drg 
     
    213213      ENDIF 
    214214      !                                          ! 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' ) 
    217217      ! 
    218218   END SUBROUTINE zdf_drg_exp 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfgls.F90

    r12202 r12210  
    824824      p_avt(:,:,1) = 0._wp 
    825825      ! 
    826       IF(ln_ctl) THEN 
     826      IF(sn_cfctl%l_prtctl) THEN 
    827827         CALL prt_ctl( tab3d_1=en   , clinfo1=' gls  - e: ', tab3d_2=p_avt, clinfo2=' t: ', kdim=jpk) 
    828828         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  
    383383      CALL iom_put( "emix_iwm", zemx_iwm ) 
    384384       
    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) 
    386386      ! 
    387387   END SUBROUTINE zdf_iwm 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfmxl.F90

    r12166 r12210  
    138138      ENDIF 
    139139      ! 
    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 : ' ) 
    141141      ! 
    142142   END SUBROUTINE zdf_mxl 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/ZDF/zdfosm.F90

    r12202 r12210  
    16571657      ENDIF 
    16581658 
    1659       IF(ln_ctl) THEN 
     1659      IF(sn_cfctl%l_prtctl) THEN 
    16601660         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' osm  - Ta: ', mask1=tmask,   & 
    16611661         &             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  
    623623      ENDIF 
    624624      ! 
    625       IF(ln_ctl) THEN 
     625      IF(sn_cfctl%l_prtctl) THEN 
    626626         CALL prt_ctl( tab3d_1=en   , clinfo1=' tke  - e: ', tab3d_2=p_avt, clinfo2=' t: ', kdim=jpk) 
    627627         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  
    265265      INTEGER ::   ios, ilocal_comm   ! local integers 
    266266      !! 
    267       NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     267      NAMELIST/namctl/ sn_cfctl,  nn_print, nn_ictls, nn_ictle,             & 
    268268         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    269269         &             ln_timing, ln_diacfl 
     
    316316      ! 
    317317      !                             !--------------------! 
    318       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     318      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
    319319      !                             !--------------------! 
    320320      ! 
     
    324324902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
    325325      ! 
    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 
    327345      ! 
    328346      IF(lwp) THEN                      ! open listing units 
     
    356374      ENDIF 
    357375      ! 
    358       ! finalize the definition of namctl variables 
    359       IF( sn_cfctl%l_config ) THEN 
    360          ! Activate finer control of report outputs 
    361          ! optionally switch off output from selected areas (note this only 
    362          ! 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       ELSE 
    367          ! Use ln_ctl to turn on or off all options. 
    368          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    369       ENDIF 
    370       ! 
    371376      IF(lwm) WRITE( numond, namctl ) 
    372377      ! 
     
    412417                           CALL     dom_init("OPA") ! Domain 
    413418      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 
    415421       
    416       CALL diurnal_sst_bulk_init                ! diurnal sst 
     422                           CALL diurnal_sst_bulk_init       ! diurnal sst 
    417423      IF( ln_diurnal   )   CALL diurnal_sst_coolskin_init   ! cool skin    
    418424      !                             
    419       IF( ln_diurnal_only ) THEN                   ! diurnal only: a subset of the initialisation routines 
    420          CALL  istate_init                            ! ocean initial state (Dynamics and tracers) 
    421          CALL     sbc_init                            ! Forcings : surface module 
    422          CALL tra_qsr_init                            ! penetrative solar radiation qsr 
    423          IF( ln_diaobs ) THEN                         ! Observation & model comparison 
    424             CALL dia_obs_init                            ! Initialize observational data 
    425             CALL dia_obs( nit000 - 1 )                   ! Observation operator for restart 
    426          ENDIF      
    427          IF( lk_asminc )   CALL asm_inc_init          ! Assimilation increments 
    428          ! 
    429          RETURN                                       ! end of initialization 
    430       ENDIF 
     425                           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 
    431437      ! 
    432438       
     
    516522         WRITE(numout,*) '~~~~~~~~' 
    517523         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 
    519526         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    520527         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    522529         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
    523530         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 
    526534         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    527535         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     
    561569      !                             ! Parameter control 
    562570      ! 
    563       IF( ln_ctl ) THEN                 ! sub-domain area indices for the control prints 
     571      IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    564572         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    565573            isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
     
    687695      sn_cfctl%l_oceout  = setto 
    688696      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 
    691700   END SUBROUTINE nemo_set_cfctl 
    692701 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/stpctl.F90

    r11407 r12210  
    7272      ! 
    7373      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 ) 
    7575      ll_wrtruns = ll_colruns .AND. lwm 
    7676      IF( kt == nit000 .AND. lwp ) THEN 
     
    8282         !                                ! open run.stat file(s) at start whatever 
    8383         !                                ! the value of sn_cfctl%ptimincr 
    84          IF( lwm .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) ) THEN 
     84         IF( lwm .AND. ( sn_cfctl%l_runstat ) ) THEN 
    8585            CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    8686            clname = 'run.stat.nc' 
     
    147147      END IF 
    148148      !                                   !==  error handling  ==! 
    149       IF( ( ln_ctl .OR. lsomeoce ) .AND. (   &             ! have use mpp_max (because ln_ctl=.T.) or contains some ocean points 
     149      IF( ( sn_cfctl%l_glochk .OR. lsomeoce ) .AND. (   &  ! domain contains some ocean points, check for sensible ranges 
    150150         &  zmax(1) >   20._wp .OR.   &                    ! too large sea surface height ( > 20 m ) 
    151151         &  zmax(2) >   10._wp .OR.   &                    ! too large velocity ( > 10 m/s) 
     
    154154         &  zmax(4) <    0._wp .OR.   &                    ! too large sea surface salinity (keep this line for sea-ice) 
    155155         &  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) 
    157158            CALL mpp_maxloc( 'stpctl', ABS(sshn)        , ssmask(:,:)  , zzz, ih  ) 
    158159            CALL mpp_maxloc( 'stpctl', ABS(un)          , umask (:,:,:), zzz, iu  ) 
     
    160161            CALL mpp_maxloc( 'stpctl', tsn(:,:,:,jp_sal), tmask (:,:,:), zzz, is2 ) 
    161162         ELSE 
     163            ! find local min and max locations 
    162164            ih(:)  = MAXLOC( ABS( sshn(:,:)   )                              ) + (/ nimpp - 1, njmpp - 1    /) 
    163165            iu(:)  = MAXLOC( ABS( un  (:,:,:) )                              ) + (/ nimpp - 1, njmpp - 1, 0 /) 
     
    175177         CALL dia_wri_state( 'output.abort' )     ! create an output.abort file 
    176178          
    177          IF( .NOT. ln_ctl ) THEN 
     179         IF( .NOT. sn_cfctl%l_glochk ) THEN 
    178180            WRITE(ctmp8,*) 'E R R O R message from sub-domain: ', narea 
    179181            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  
    176176      CALL eos( tsn, rhd, rhop, gdept_0(:,:,:) ) ! In any case, we need rhop 
    177177      ! 
    178       IF(ln_ctl) THEN                  ! print control 
     178      IF(sn_cfctl%l_prtctl) THEN                 ! print control 
    179179         CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_tem), clinfo1=' tn      - : ', mask1=tmask,  kdim=jpk   ) 
    180180         CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_sal), clinfo1=' sn      - : ', mask1=tmask,  kdim=jpk   ) 
     
    442442      CALL eos    ( tsn, rhd, rhop, gdept_0(:,:,:) ) ! In any case, we need rhop 
    443443 
    444       IF(ln_ctl) THEN                  ! print control 
     444      IF(sn_cfctl%l_prtctl) THEN                     ! print control 
    445445         CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_tem), clinfo1=' tn      - : ', mask1=tmask,  kdim=jpk   ) 
    446446         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  
    164164      INTEGER ::   ios, ilocal_comm   ! local integers 
    165165      !! 
    166       NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     166      NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle,              & 
    167167         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    168168         &             ln_timing, ln_diacfl 
     
    201201      ! 
    202202      !                             !--------------------! 
    203       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     203      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
    204204      !                             !--------------------! 
    205205      ! 
     
    209209902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
    210210      ! 
    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 
    212230      ! 
    213231      IF(lwp) THEN                            ! open listing units 
     
    241259      ENDIF 
    242260      ! 
    243       ! finalize the definition of namctl variables 
    244       IF( sn_cfctl%l_config ) THEN 
    245          ! Activate finer control of report outputs 
    246          ! optionally switch off output from selected areas (note this only 
    247          ! 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       ELSE 
    252          ! Use ln_ctl to turn on or off all options. 
    253          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    254       ENDIF 
    255       ! 
    256261      IF(lwm) WRITE( numond, namctl ) 
    257262      ! 
     
    297302      IF( lk_c1d       )   CALL     c1d_init        ! 1D column configuration 
    298303                           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 
    300306 
    301307                           CALL  istate_init    ! ocean initial state (Dynamics and tracers) 
     
    336342      !! ** Purpose :   control print setting 
    337343      !! 
    338       !! ** Method  : - print namctl information and check some consistencies 
     344      !! ** Method  : - print namctl and namcfg information and check some consistencies 
    339345      !!---------------------------------------------------------------------- 
    340346      ! 
     
    344350         WRITE(numout,*) '~~~~~~~~' 
    345351         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 
    347354         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    348355         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    350357         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
    351358         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 
    354362         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    355363         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     
    389397      !                             ! Parameter control 
    390398      ! 
    391       IF( ln_ctl ) THEN                 ! sub-domain area indices for the control prints 
     399      IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    392400         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    393401            isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
     
    501509      sn_cfctl%l_oceout  = setto 
    502510      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 
    505514   END SUBROUTINE nemo_set_cfctl 
    506515 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAO/nemogcm.F90

    r12202 r12210  
    9191      INTEGER ::   ios, ilocal_comm   ! local integer 
    9292      ! 
    93       NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     93      NAMELIST/namctl/ sn_cfctl,  nn_print, nn_ictls, nn_ictle,             & 
    9494         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    9595         &             ln_timing, ln_diacfl 
     
    142142      ! 
    143143      !                             !--------------------! 
    144       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     144      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
    145145      !                             !--------------------! 
    146146      ! 
     
    150150902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
    151151      ! 
    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 
    153171      ! 
    154172      IF(lwp) THEN                      ! open listing units 
     
    182200      ENDIF 
    183201      ! 
    184       ! finalize the definition of namctl variables 
    185       IF( sn_cfctl%l_config ) THEN 
    186          ! Activate finer control of report outputs 
    187          ! optionally switch off output from selected areas (note this only 
    188          ! 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       ELSE 
    193          ! Use ln_ctl to turn on or off all options. 
    194          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    195       ENDIF 
    196       ! 
    197202      IF(lwm) WRITE( numond, namctl ) 
    198203      ! 
     
    237242 
    238243 
    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) 
    242248   END SUBROUTINE nemo_init 
    243249 
     
    249255      !! ** Purpose :   control print setting 
    250256      !! 
    251       !! ** Method  : - print namctl information and check some consistencies 
     257      !! ** Method  : - print namctl and namcfg information and check some consistencies 
    252258      !!---------------------------------------------------------------------- 
    253259      ! 
     
    257263         WRITE(numout,*) '~~~~~~~~' 
    258264         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 
    260267         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    261268         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    263270         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
    264271         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 
    267275         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    268276         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     
    302310      !                             ! Parameter control 
    303311      ! 
    304       IF( ln_ctl ) THEN                 ! sub-domain area indices for the control prints 
     312      IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    305313         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    306314            isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
     
    418426      sn_cfctl%l_oceout  = setto 
    419427      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 
    422431   END SUBROUTINE nemo_set_cfctl 
    423432 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/daymod.F90

    r10068 r12210  
    275275      IF( nsec_week > 7*nsecd )   nsec_week = ndt05     ! New week 
    276276 
    277       IF(ln_ctl) THEN 
     277      IF(sn_cfctl%l_prtctl) THEN 
    278278         WRITE(charout,FMT="('kt =', I4,'  d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 
    279279         CALL prt_ctl_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/nemogcm.F90

    r12202 r12210  
    185185      INTEGER ::   ios, ilocal_comm   ! local integers 
    186186      !! 
    187       NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     187      NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle,              & 
    188188         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    189189         &             ln_timing, ln_diacfl 
     
    246246      ! 
    247247      !                             !--------------------! 
    248       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     248      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
    249249      !                             !--------------------! 
    250250      ! 
     
    254254902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
    255255      ! 
    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 
    257275      ! 
    258276      IF(lwp) THEN                      ! open listing units 
     
    289307         ! 
    290308      ENDIF 
    291      ! 
    292       ! finalize the definition of namctl variables 
    293       IF( sn_cfctl%l_config ) THEN 
    294          ! Activate finer control of report outputs 
    295          ! optionally switch off output from selected areas (note this only 
    296          ! 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       ELSE 
    301          ! Use ln_ctl to turn on or off all options. 
    302          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    303       ENDIF 
    304309      ! 
    305310      IF(lwm) WRITE( numond, namctl ) 
     
    343348                           CALL eos_init        ! Equation of seawater 
    344349                           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 
    346352       
    347353                           CALL day_init        ! model calendar (using both namelist and restart infos) 
     
    371377      !! ** Purpose :   control print setting 
    372378      !! 
    373       !! ** Method  : - print namctl information and check some consistencies 
     379      !! ** Method  : - print namctl and namcfg information and check some consistencies 
    374380      !!---------------------------------------------------------------------- 
    375381      ! 
     
    379385         WRITE(numout,*) '~~~~~~~~' 
    380386         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 
    382389         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    383390         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    385392         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
    386393         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 
    389397         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    390398         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     
    424432      !                             ! Parameter control 
    425433      ! 
    426       IF( ln_ctl ) THEN                 ! sub-domain area indices for the control prints 
     434      IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    427435         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    428436            isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
     
    544552      sn_cfctl%l_oceout  = setto 
    545553      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 
    548557   END SUBROUTINE nemo_set_cfctl 
    549558 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/SAS/sbcssm.F90

    r12202 r12210  
    131131      vb (:,:,1) = ssv_m(:,:) 
    132132  
    133       IF(ln_ctl) THEN                  ! print control 
     133      IF(sn_cfctl%l_prtctl) THEN            ! print control 
    134134         CALL prt_ctl(tab2d_1=sst_m, clinfo1=' sst_m   - : ', mask1=tmask   ) 
    135135         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  
    6363      ! 
    6464      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 ) 
    6666      ll_wrtruns = ll_colruns .AND. lwm 
    6767      IF( kt == nit000 .AND. lwp ) THEN 
     
    7373         !                                ! open run.stat file(s) at start whatever 
    7474         !                                ! the value of sn_cfctl%ptimincr 
    75          IF( lwm .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) ) THEN 
     75         IF( lwm .AND. ( sn_cfctl%l_runstat ) ) THEN 
    7676            CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    7777            clname = 'run.stat.nc' 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zbio.F90

    r12202 r12210  
    367367      ENDIF 
    368368 
    369       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     369      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    370370         WRITE(charout, FMT="('bio')") 
    371371         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zexp.F90

    r10425 r12210  
    146146      ENDIF 
    147147      ! 
    148       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     148      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    149149         WRITE(charout, FMT="('exp')") 
    150150         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zopt.F90

    r12202 r12210  
    133133 
    134134 
    135       IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
     135      IF(sn_cfctl%l_prttrc) THEN      ! print mean trends (used for debugging) 
    136136         WRITE(charout, FMT="('opt')") 
    137137         CALL prt_ctl_trc_info( charout ) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P2Z/p2zsed.F90

    r12202 r12210  
    107107      ! 
    108108 
    109       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     109      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    110110         WRITE(charout, FMT="('sed')") 
    111111         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zagg.F90

    r10069 r12210  
    173173      ENDIF 
    174174      ! 
    175       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     175      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    176176         WRITE(charout, FMT="('agg')") 
    177177         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zbio.F90

    r10227 r12210  
    106106      & CALL p4z_ligand( kt, knt ) 
    107107      !                                                             ! 
    108       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     108      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    109109         WRITE(charout, FMT="('bio ')") 
    110110         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zfechem.F90

    r12202 r12210  
    220220      ENDIF 
    221221 
    222       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     222      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    223223         WRITE(charout, FMT="('fechem')") 
    224224         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zflx.F90

    r12202 r12210  
    179179      t_atm_co2_flx     =  atcco2      ! Total atmospheric pCO2 
    180180  
    181       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     181      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    182182         WRITE(charout, FMT="('flx ')") 
    183183         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zligand.F90

    r12202 r12210  
    9494      ENDIF 
    9595      ! 
    96       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     96      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    9797         WRITE(charout, FMT="('ligand1')") 
    9898         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zlys.F90

    r12202 r12210  
    129129      ENDIF 
    130130      ! 
    131       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     131      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    132132        WRITE(charout, FMT="('lys ')") 
    133133        CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zmeso.F90

    r12202 r12210  
    255255      IF (ln_ligand)  DEALLOCATE( zz2ligprod ) 
    256256      ! 
    257       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     257      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    258258        WRITE(charout, FMT="('meso')") 
    259259        CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zmicro.F90

    r12202 r12210  
    207207      IF (ln_ligand)  DEALLOCATE( zzligprod ) 
    208208      ! 
    209       IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
     209      IF(sn_cfctl%l_prttrc) THEN      ! print mean trends (used for debugging) 
    210210         WRITE(charout, FMT="('micro')") 
    211211         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zmort.F90

    r12202 r12210  
    118118      END DO 
    119119      ! 
    120        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     120       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    121121         WRITE(charout, FMT="('nano')") 
    122122         CALL prt_ctl_trc_info(charout) 
     
    193193      END DO 
    194194      ! 
    195       IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
     195      IF(sn_cfctl%l_prttrc) THEN      ! print mean trends (used for debugging) 
    196196         WRITE(charout, FMT="('diat')") 
    197197         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zpoc.F90

    r12202 r12210  
    248248      ENDIF 
    249249 
    250      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     250     IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    251251        WRITE(charout, FMT="('poc1')") 
    252252        CALL prt_ctl_trc_info(charout) 
     
    460460     ENDIF 
    461461 
    462       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     462      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    463463         WRITE(charout, FMT="('poc2')") 
    464464         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zprod.F90

    r12202 r12210  
    456456     ENDIF 
    457457 
    458      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     458     IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    459459         WRITE(charout, FMT="('prod')") 
    460460         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zrem.F90

    r12202 r12210  
    207207      END DO 
    208208 
    209        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     209       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    210210         WRITE(charout, FMT="('rem1')") 
    211211         CALL prt_ctl_trc_info(charout) 
     
    233233      END DO 
    234234 
    235        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     235       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    236236         WRITE(charout, FMT="('rem2')") 
    237237         CALL prt_ctl_trc_info(charout) 
     
    268268      END DO 
    269269 
    270       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     270      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    271271         WRITE(charout, FMT="('rem3')") 
    272272         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zsed.F90

    r12202 r12210  
    348348      ENDIF 
    349349      ! 
    350       IF(ln_ctl) THEN  ! print mean trends (USEd for debugging) 
     350      IF(sn_cfctl%l_prttrc) THEN  ! print mean trends (USEd for debugging) 
    351351         WRITE(charout, fmt="('sed ')") 
    352352         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p4zsink.F90

    r10425 r12210  
    172172      ENDIF 
    173173      ! 
    174       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     174      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    175175         WRITE(charout, FMT="('sink')") 
    176176         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zmeso.F90

    r12202 r12210  
    376376      ENDIF 
    377377      ! 
    378       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     378      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    379379        WRITE(charout, FMT="('meso')") 
    380380        CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zmicro.F90

    r12202 r12210  
    318318      ENDIF 
    319319      ! 
    320       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     320      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    321321         WRITE(charout, FMT="('micro')") 
    322322         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zmort.F90

    r12202 r12210  
    119119      END DO 
    120120      ! 
    121        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     121       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    122122         WRITE(charout, FMT="('nano')") 
    123123         CALL prt_ctl_trc_info(charout) 
     
    180180      END DO 
    181181      ! 
    182        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     182       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    183183         WRITE(charout, FMT="('pico')") 
    184184         CALL prt_ctl_trc_info(charout) 
     
    258258      END DO 
    259259      ! 
    260       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     260      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    261261         WRITE(charout, FMT="('diat')") 
    262262         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/P4Z/p5zprod.F90

    r12202 r12210  
    554554     ENDIF 
    555555 
    556       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     556      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    557557         WRITE(charout, FMT="('prod')") 
    558558         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/PISCES/SED/trcdmp_sed.F90

    r10225 r12210  
    106106      ! 
    107107      !                                          ! print mean trends (used for debugging) 
    108       IF( ln_ctl ) THEN 
     108      IF( sn_cfctl%l_prttrc ) THEN 
    109109         WRITE(charout, FMT="('dmp ')") 
    110110         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcadv.F90

    r12202 r12210  
    135135      END SELECT 
    136136      !                   
    137       IF( ln_ctl ) THEN                         !== print mean trends (used for debugging) 
     137      IF( sn_cfctl%l_prttrc ) THEN        !== print mean trends (used for debugging) 
    138138         WRITE(charout, FMT="('adv ')") 
    139139         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcbbl.F90

    r10068 r12210  
    6767         ! 
    6868         CALL tra_bbl_dif( trb, tra, jptra )   
    69          IF( ln_ctl )   THEN 
     69         IF( sn_cfctl%l_prttrc )   THEN 
    7070            WRITE(charout, FMT="(' bbl_dif')")  ;  CALL prt_ctl_trc_info(charout) 
    7171            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
     
    7878         ! 
    7979         CALL tra_bbl_adv( trb, tra, jptra )   
    80          IF( ln_ctl )   THEN 
     80         IF( sn_cfctl%l_prttrc )   THEN 
    8181            WRITE(charout, FMT="(' bbl_adv')")  ;  CALL prt_ctl_trc_info(charout) 
    8282            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  
    156156      IF( l_trdtrc )  DEALLOCATE( ztrtrd ) 
    157157      !                                          ! print mean trends (used for debugging) 
    158       IF( ln_ctl ) THEN 
     158      IF( sn_cfctl%l_prttrc ) THEN 
    159159         WRITE(charout, FMT="('dmp ')") 
    160160         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcldf.F90

    r12202 r12210  
    110110      ENDIF 
    111111      !                 
    112       IF( ln_ctl ) THEN                        ! print mean trends (used for debugging) 
     112      IF( sn_cfctl%l_prttrc ) THEN ! print mean trends (used for debugging) 
    113113         WRITE(charout, FMT="('ldf ')") 
    114114         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcnxt.F90

    r12026 r12210  
    189189      IF( l_trdtrc ) DEALLOCATE( ztrdt )  
    190190      ! 
    191       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     191      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    192192         WRITE(charout, FMT="('nxt')") 
    193193         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcrad.F90

    r12202 r12210  
    6565      IF( ln_my_trc  )   CALL trc_rad_sms( kt, trb, trn, jp_myt0, jp_myt1               )  !  MY_TRC model 
    6666      ! 
    67       IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
     67      IF(sn_cfctl%l_prttrc) THEN      ! print mean trends (used for debugging) 
    6868         WRITE(charout, FMT="('rad')") 
    6969         CALL prt_ctl_trc_info( charout ) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/TRP/trcsbc.F90

    r10788 r12210  
    191191      ENDIF 
    192192      ! 
    193       IF( ln_ctl )   THEN 
     193      IF( sn_cfctl%l_prttrc )   THEN 
    194194         WRITE(charout, FMT="('sbc ')") ;  CALL prt_ctl_trc_info(charout) 
    195195                                           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  
    6565      ENDIF 
    6666      !                                          ! print mean trends (used for debugging) 
    67       IF( ln_ctl )   THEN 
     67      IF( sn_cfctl%l_prttrc )   THEN 
    6868         WRITE(charout, FMT="('zdf ')") 
    6969         CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/prtctl_trc.F90

    r10570 r12210  
    3535   SUBROUTINE prt_ctl_trc( tab4d, mask, clinfo, ovlap, kdim, clinfo2 ) 
    3636      !!---------------------------------------------------------------------- 
    37       !!                     ***  ROUTINE prt_ctl  *** 
     37      !!                     ***  ROUTINE prt_ctl_trc  *** 
    3838      !! 
    3939      !! ** Purpose : - print sum control 3D arrays over the same area  
     
    4141      !!                debugging a new parametrization in mono or mpp.  
    4242      !! 
    43       !! ** Method  : 2 possibilities exist when setting the ln_ctl parameter to 
     43      !! ** Method  : 2 possibilities exist when setting the sn_cfctl%prttrc parameter to 
    4444      !!                .true. in the ocean namelist: 
    4545      !!              - to debug a MPI run .vs. a mono-processor one;  
     
    5454      !!              - All arguments of the above calling sequence are optional so their 
    5555      !!                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 looks 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 ). 
    5858      !!---------------------------------------------------------------------- 
    5959      REAL(wp)         , DIMENSION(:,:,:,:), INTENT(in), OPTIONAL ::   tab4d     ! 4D array 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcini.F90

    r12110 r12210  
    140140      ENDIF 
    141141      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) 
    143143         CALL prt_ctl_trc_init 
    144144         WRITE(charout, FMT="('ini ')") 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcsms.F90

    r10068 r12210  
    5555      IF( ln_my_trc  )   CALL trc_sms_my_trc ( kt )    ! MY_TRC  tracers 
    5656 
    57       IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
     57      IF(sn_cfctl%l_prttrc) THEN                       ! print mean trends (used for debugging) 
    5858         WRITE(charout, FMT="('sms ')") 
    5959         CALL prt_ctl_trc_info( charout ) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/TOP/trcstp.F90

    r10570 r12210  
    6969      ENDIF 
    7070      ! 
    71       ll_trcstat  = ( ln_ctl .OR. sn_cfctl%l_trcstat ) .AND. & 
     71      ll_trcstat  = ( sn_cfctl%l_trcstat ) .AND. & 
    7272     &              ( ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) ) 
    7373      IF( kt == nittrc000 .AND. lk_trdmxl_trc )  CALL trd_mxl_trc_init    ! trends: Mixed-layer 
     
    7777            cvol(:,:,jk) = e1e2t(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk) 
    7878         END DO 
    79          IF ( ln_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 )   & 
    8080            & .OR. iom_use( "pno3tot" ) .OR. iom_use( "ppo4tot" ) .OR. iom_use( "psiltot" )   & 
    8181            & .OR. iom_use( "palktot" ) .OR. iom_use( "pfertot" ) )                           & 
     
    8989      IF( MOD( kt , nn_dttrc ) == 0 ) THEN      ! only every nn_dttrc time step 
    9090         ! 
    91          IF(ln_ctl) THEN 
     91         IF(sn_cfctl%l_prttrc) THEN 
    9292            WRITE(charout,FMT="('kt =', I4,'  d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 
    9393            CALL prt_ctl_trc_info(charout) 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/BENCH/MY_SRC/zdfiwm.F90

    r12202 r12210  
    365365      CALL iom_put( "emix_iwm", zemx_iwm ) 
    366366       
    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) 
    368368      ! 
    369369   END SUBROUTINE zdf_iwm 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/CANAL/MY_SRC/stpctl.F90

    r10572 r12210  
    7272      ! 
    7373      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 ) 
    7575      ll_wrtruns = ll_colruns .AND. lwm 
    7676      IF( kt == nit000 .AND. lwp ) THEN 
     
    8282         !                                ! open run.stat file(s) at start whatever 
    8383         !                                ! the value of sn_cfctl%ptimincr 
    84          IF( lwm .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) ) THEN 
     84         IF( lwm .AND. ( sn_cfctl%l_prtctl .OR. sn_cfctl%l_runstat ) ) THEN 
    8585            CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    8686            clname = 'run.stat.nc' 
     
    147147      END IF 
    148148      !                                   !==  error handling  ==! 
    149       IF( ( ln_ctl .OR. lsomeoce ) .AND. (   &             ! have use mpp_max (because ln_ctl=.T.) or contains some ocean points 
     149      IF( ( sn_cfctl%l_prtctl .OR. lsomeoce ) .AND. (   &             ! have use mpp_max (because sn_cfctl%l_prtctl=.T.) or contains some ocean points 
    150150         &  zmax(1) >   50._wp .OR.   &                    ! too large sea surface height ( > 50 m ) 
    151151         &  zmax(2) >   20._wp .OR.   &                    ! too large velocity ( > 20 m/s) 
     
    154154!!$         &  zmax(4) <    0._wp .OR.   &                    ! too large sea surface salinity (keep this line for sea-ice) 
    155155         &  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_prtctl ) THEN 
    157157            CALL mpp_maxloc( 'stpctl', ABS(sshn)        , ssmask(:,:)  , zzz, ih  ) 
    158158            CALL mpp_maxloc( 'stpctl', ABS(un)          , umask (:,:,:), zzz, iu  ) 
     
    175175         CALL dia_wri_state( 'output.abort' )     ! create an output.abort file 
    176176          
    177          IF( .NOT. ln_ctl ) THEN 
     177         IF( .NOT. sn_cfctl%l_prtctl ) THEN 
    178178            WRITE(ctmp8,*) 'E R R O R message from sub-domain: ', narea 
    179179            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  
    9999      ENDIF 
    100100      !                                          ! 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,               & 
    102102         &                       tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    103103      ! 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/ISOMIP+/MY_SRC/eosbn2.F90

    r12202 r12210  
    318318      END SELECT 
    319319      ! 
    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 ) 
    321321      ! 
    322322      IF( ln_timing )   CALL timing_stop('eos-insitu') 
     
    504504      END SELECT 
    505505      ! 
    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 ) 
    507507      ! 
    508508      IF( ln_timing )   CALL timing_stop('eos-pot') 
     
    617617      END SELECT 
    618618      ! 
    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: ' ) 
    620620      ! 
    621621      IF( ln_timing )   CALL timing_stop('eos2d') 
     
    749749      END SELECT 
    750750      ! 
    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: ', & 
    752752         &                       tab3d_2=pab(:,:,:,jp_sal), clinfo2=' rab_3d_s : ', kdim=jpk ) 
    753753      ! 
     
    883883      END SELECT 
    884884      ! 
    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: ', & 
    886886         &                       tab2d_2=pab(:,:,jp_sal), clinfo2=' rab_2d_s : ' ) 
    887887      ! 
     
    10391039      END DO 
    10401040      ! 
    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 ) 
    10421042      ! 
    10431043      IF( ln_timing )   CALL timing_stop('bn2') 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/ISOMIP+/MY_SRC/isfstp.F90

    r12202 r12210  
    248248      IF ( l_isfoasis .AND. ln_isf ) THEN 
    249249         ! 
    250          CALL ctl_stop( ' ln_ctl and ice shelf not tested' ) 
     250         CALL ctl_stop( ' sn_cfctl%l_prtctl and ice shelf not tested' ) 
    251251         ! 
    252252         ! 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  
    156156      ENDIF 
    157157      !                           ! 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,   & 
    159159         &                       tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    160160      ! 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_coare3p6-noskin_cfg

    r12181 r12210  
    278278&namctl        !   Control prints                                       (default: OFF) 
    279279!----------------------------------------------------------------------- 
    280 ln_ctl = .false. 
    281280/ 
    282281!----------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_coare3p6_cfg

    r12181 r12210  
    278278&namctl        !   Control prints                                       (default: OFF) 
    279279!----------------------------------------------------------------------- 
    280 ln_ctl = .false. 
    281280/ 
    282281!----------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_ecmwf-noskin_cfg

    r12181 r12210  
    278278&namctl        !   Control prints                                       (default: OFF) 
    279279!----------------------------------------------------------------------- 
    280 ln_ctl = .false. 
    281280/ 
    282281!----------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_ecmwf_cfg

    r12181 r12210  
    278278&namctl        !   Control prints                                       (default: OFF) 
    279279!----------------------------------------------------------------------- 
    280 ln_ctl = .false. 
    281280/ 
    282281!----------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/EXPREF/namelist_ncar_cfg

    r12181 r12210  
    278278&namctl        !   Control prints                                       (default: OFF) 
    279279!----------------------------------------------------------------------- 
    280 ln_ctl = .false. 
    281280/ 
    282281!----------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/tests/STATION_ASF/MY_SRC/nemogcm.F90

    r12202 r12210  
    158158      INTEGER ::   ios, ilocal_comm   ! local integers 
    159159      !! 
    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,   & 
    161161         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    162162         &             ln_timing, ln_diacfl 
     
    197197      ! 
    198198      !                             !--------------------! 
    199       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     199      !                             ! Open listing units !  -> need sn_cfctl%l_prtctl from namctl to define lwp 
    200200      !                             !--------------------! 
    201201      ! 
     
    206206902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
    207207      ! 
    208       lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print 
     208      lwp = (narea == 1) .OR. sn_cfctl%l_prtctl    ! control of all listing output print 
    209209      ! 
    210210      IF(lwp) THEN                      ! open listing units 
     
    247247            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    248248      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. ) 
    251251      ENDIF 
    252252      ! 
     
    292292      IF( lk_c1d       )   CALL     c1d_init        ! 1D column configuration 
    293293      CALL     dom_init("OPA") ! Domain 
    294       IF( ln_ctl       )   CALL prt_ctl_init        ! Print control 
     294      IF( sn_cfctl%l_prtctl       )   CALL prt_ctl_init        ! Print control 
    295295 
    296296      CALL day_init        ! model calendar (using both namelist and restart infos) 
     
    322322         WRITE(numout,*) '~~~~~~~~' 
    323323         WRITE(numout,*) '   Namelist namctl' 
    324          WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl 
     324         WRITE(numout,*) '      run control (for debugging)     sn_cfctl%l_prtctl     = ', sn_cfctl%l_prtctl 
    325325         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    326326         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    367367      !                             ! Parameter control 
    368368      ! 
    369       IF( ln_ctl ) THEN                 ! sub-domain area indices for the control prints 
     369      IF( sn_cfctl%l_prtctl ) THEN                 ! sub-domain area indices for the control prints 
    370370         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    371371            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  
    131131      vb (:,:,1) = ssv_m(:,:) 
    132132  
    133       IF(ln_ctl) THEN                  ! print control 
     133      IF(sn_cfctl%l_prtctl) THEN                  ! print control 
    134134         CALL prt_ctl(tab2d_1=sst_m, clinfo1=' sst_m   - : ', mask1=tmask   ) 
    135135         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  
    6767      ! 
    6868      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 ) 
    7070      ll_wrtruns = ll_colruns 
    7171      IF( kt == nit000 .AND. lwp ) THEN 
     
    7777         !                                ! open run.stat file(s) at start whatever 
    7878         !                                ! the value of sn_cfctl%ptimincr 
    79          IF( ln_ctl .OR. sn_cfctl%l_runstat ) THEN 
     79         IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_runstat ) THEN 
    8080            CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    8181            clname = 'run.stat.nc' 
     
    114114      END IF 
    115115      !                                   !==  error handling  ==! 
    116       IF( ( ln_ctl .OR. lsomeoce ) .AND. (   &             ! have use mpp_max (because ln_ctl=.T.) or contains some ocean points 
     116      IF( ( sn_cfctl%l_prtctl .OR. lsomeoce ) .AND. (   &             ! have use mpp_max (because sn_cfctl%l_prtctl=.T.) or contains some ocean points 
    117117         &  zmax(1) >    5._wp .OR.   &             ! too large wind stress ( > 5 N/m^2 ) 
    118118         &  zmax(2) > 2000._wp .OR.   &             ! too large non-solar heat flux ( > 2000 W/m^2) 
     
    128128         CALL dia_wri_state( 'output.abort' )     ! create an output.abort file 
    129129 
    130          IF( .NOT. ln_ctl ) THEN 
     130         IF( .NOT. sn_cfctl%l_prtctl ) THEN 
    131131            WRITE(ctmp8,*) 'E R R O R message from sub-domain: ', narea 
    132132            CALL ctl_stop( 'STOP', ctmp1, ' ', ctmp2, ' ', ctmp6, ' ' ) 
Note: See TracChangeset for help on using the changeset viewer.