Index: /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OCE/LBC/mppini.F90
===================================================================
--- /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OCE/LBC/mppini.F90	(revision 11865)
+++ /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OCE/LBC/mppini.F90	(revision 11866)
@@ -171,5 +171,5 @@
       !!----------------------------------------------------------------------
       !
-      llwrtlay = lwp .OR. ln_ctl .OR. sn_cfctl%l_layout
+      llwrtlay = lwm .OR. ln_ctl .OR. sn_cfctl%l_layout
       !
       !  0. read namelists parameters
Index: /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OCE/nemogcm.F90
===================================================================
--- /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OCE/nemogcm.F90	(revision 11865)
+++ /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OCE/nemogcm.F90	(revision 11866)
@@ -324,5 +324,18 @@
 902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' )
       !
-      lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print
+      ! finalize the definition of namctl variables
+      IF( sn_cfctl%l_config ) THEN
+         ! Activate finer control of report outputs
+         ! optionally switch off output from selected areas (note this only
+         ! applies to output which does not involve global communications)
+         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. &
+           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    &
+           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )
+      ELSE
+         ! Use ln_ctl to turn on or off all options.
+         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )
+      ENDIF
+      !
+      lwp = (narea == 1) .OR. ln_ctl .OR. sn_cfctl%l_oceout    ! control of all listing output print
       !
       IF(lwp) THEN                      ! open listing units
@@ -356,17 +369,4 @@
       ENDIF
       !
-      ! finalize the definition of namctl variables
-      IF( sn_cfctl%l_config ) THEN
-         ! Activate finer control of report outputs
-         ! optionally switch off output from selected areas (note this only
-         ! applies to output which does not involve global communications)
-         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. &
-           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    &
-           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )
-      ELSE
-         ! Use ln_ctl to turn on or off all options.
-         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )
-      ENDIF
-      !
       IF(lwm) WRITE( numond, namctl )
       !
@@ -414,5 +414,6 @@
                            CALL     dom_init("OPA") ! Domain
       IF( ln_crs       )   CALL     crs_init        ! coarsened grid: domain initialization 
-      IF( ln_ctl       )   CALL prt_ctl_init        ! Print control
+      IF( ln_ctl .OR. sn_cfctl%l_mppout )   &
+         &                 CALL prt_ctl_init        ! Print control
       
       CALL diurnal_sst_bulk_init                ! diurnal sst
Index: /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OFF/nemogcm.F90
===================================================================
--- /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OFF/nemogcm.F90	(revision 11865)
+++ /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OFF/nemogcm.F90	(revision 11866)
@@ -209,36 +209,4 @@
 902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' )
       !
-      lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print
-      !
-      IF(lwp) THEN                            ! open listing units
-         !
-         IF( .NOT. lwm )   &           ! alreay opened for narea == 1
-            &     CALL ctl_opn(     numout,        'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea )
-         !
-         WRITE(numout,*)
-         WRITE(numout,*) '   CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC'
-         WRITE(numout,*) '                       NEMO team'
-         WRITE(numout,*) '                   Off-line TOP Model'
-         WRITE(numout,*) '                NEMO version 4.0  (2019) '
-         WRITE(numout,*)
-         WRITE(numout,*) "           ._      ._      ._      ._      ._    "
-         WRITE(numout,*) "       _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ "
-         WRITE(numout,*)
-         WRITE(numout,*) "           o         _,           _,             "
-         WRITE(numout,*) "            o      .' (        .-' /             "
-         WRITE(numout,*) "           o     _/..._'.    .'   /              "
-         WRITE(numout,*) "      (    o .-'`      ` '-./  _.'               "
-         WRITE(numout,*) "       )    ( o)           ;= <_         (       "
-         WRITE(numout,*) "      (      '-.,\\__ __.-;`\   '.        )      "
-         WRITE(numout,*) "       )  )       \) |`\ \)  '.   \      (   (   "
-         WRITE(numout,*) "      (  (           \_/       '-._\      )   )  "
-         WRITE(numout,*) "       )  )                        `     (   (   "
-         WRITE(numout,*) "     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "
-         WRITE(numout,*)
-         !
-         WRITE(numout,cform_aaa)                                        ! Flag AAAAAAA
-         !
-      ENDIF
-      !
       ! finalize the definition of namctl variables
       IF( sn_cfctl%l_config ) THEN
@@ -254,4 +222,36 @@
       ENDIF
       !
+      lwp = (narea == 1) .OR. ln_ctl .OR. sn_cfctl%l_oceout    ! control of all listing output print
+      !
+      IF(lwp) THEN                            ! open listing units
+         !
+         IF( .NOT. lwm )   &           ! alreay opened for narea == 1
+            &     CALL ctl_opn(     numout,        'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea )
+         !
+         WRITE(numout,*)
+         WRITE(numout,*) '   CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC'
+         WRITE(numout,*) '                       NEMO team'
+         WRITE(numout,*) '                   Off-line TOP Model'
+         WRITE(numout,*) '                NEMO version 4.0  (2019) '
+         WRITE(numout,*)
+         WRITE(numout,*) "           ._      ._      ._      ._      ._    "
+         WRITE(numout,*) "       _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ "
+         WRITE(numout,*)
+         WRITE(numout,*) "           o         _,           _,             "
+         WRITE(numout,*) "            o      .' (        .-' /             "
+         WRITE(numout,*) "           o     _/..._'.    .'   /              "
+         WRITE(numout,*) "      (    o .-'`      ` '-./  _.'               "
+         WRITE(numout,*) "       )    ( o)           ;= <_         (       "
+         WRITE(numout,*) "      (      '-.,\\__ __.-;`\   '.        )      "
+         WRITE(numout,*) "       )  )       \) |`\ \)  '.   \      (   (   "
+         WRITE(numout,*) "      (  (           \_/       '-._\      )   )  "
+         WRITE(numout,*) "       )  )                        `     (   (   "
+         WRITE(numout,*) "     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "
+         WRITE(numout,*)
+         !
+         WRITE(numout,cform_aaa)                                        ! Flag AAAAAAA
+         !
+      ENDIF
+      !
       IF(lwm) WRITE( numond, namctl )
       !
@@ -299,5 +299,6 @@
       IF( lk_c1d       )   CALL     c1d_init        ! 1D column configuration
                            CALL     dom_init("OPA") ! Domain
-      IF( ln_ctl       )   CALL prt_ctl_init        ! Print control
+      IF( ln_ctl .OR. sn_cfctl%l_mppout )   &
+         &                 CALL prt_ctl_init        ! Print control
 
                            CALL  istate_init    ! ocean initial state (Dynamics and tracers)
Index: /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAO/nemogcm.F90
===================================================================
--- /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAO/nemogcm.F90	(revision 11865)
+++ /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAO/nemogcm.F90	(revision 11866)
@@ -152,36 +152,4 @@
 902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' )
       !
-      lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print
-      !
-      IF(lwp) THEN                      ! open listing units
-         !
-         IF( .NOT. lwm )   &            ! alreay opened for narea == 1
-            &            CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea )
-         !
-         WRITE(numout,*)
-         WRITE(numout,*) '   CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC'
-         WRITE(numout,*) '                       NEMO team'
-         WRITE(numout,*) '            Stand Alone Observation operator'
-         WRITE(numout,*) '                NEMO version 4.0  (2019) '
-         WRITE(numout,*)
-         WRITE(numout,*) "           ._      ._      ._      ._      ._    "
-         WRITE(numout,*) "       _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ "
-         WRITE(numout,*)
-         WRITE(numout,*) "           o         _,           _,             "
-         WRITE(numout,*) "            o      .' (        .-' /             "
-         WRITE(numout,*) "           o     _/..._'.    .'   /              "
-         WRITE(numout,*) "      (    o .-'`      ` '-./  _.'               "
-         WRITE(numout,*) "       )    ( o)           ;= <_         (       "
-         WRITE(numout,*) "      (      '-.,\\__ __.-;`\   '.        )      "
-         WRITE(numout,*) "       )  )       \) |`\ \)  '.   \      (   (   "
-         WRITE(numout,*) "      (  (           \_/       '-._\      )   )  "
-         WRITE(numout,*) "       )  ) jgs                     `    (   (   "
-         WRITE(numout,*) "     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "
-         WRITE(numout,*)
-         !
-         WRITE(numout,cform_aaa)                                        ! Flag AAAAAAA
-         !
-      ENDIF
-      !
       ! finalize the definition of namctl variables
       IF( sn_cfctl%l_config ) THEN
@@ -197,4 +165,36 @@
       ENDIF
       !
+      lwp = (narea == 1) .OR. ln_ctl .OR. sn_cfctl%l_oceout    ! control of all listing output print
+      !
+      IF(lwp) THEN                      ! open listing units
+         !
+         IF( .NOT. lwm )   &            ! alreay opened for narea == 1
+            &            CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea )
+         !
+         WRITE(numout,*)
+         WRITE(numout,*) '   CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC'
+         WRITE(numout,*) '                       NEMO team'
+         WRITE(numout,*) '            Stand Alone Observation operator'
+         WRITE(numout,*) '                NEMO version 4.0  (2019) '
+         WRITE(numout,*)
+         WRITE(numout,*) "           ._      ._      ._      ._      ._    "
+         WRITE(numout,*) "       _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ "
+         WRITE(numout,*)
+         WRITE(numout,*) "           o         _,           _,             "
+         WRITE(numout,*) "            o      .' (        .-' /             "
+         WRITE(numout,*) "           o     _/..._'.    .'   /              "
+         WRITE(numout,*) "      (    o .-'`      ` '-./  _.'               "
+         WRITE(numout,*) "       )    ( o)           ;= <_         (       "
+         WRITE(numout,*) "      (      '-.,\\__ __.-;`\   '.        )      "
+         WRITE(numout,*) "       )  )       \) |`\ \)  '.   \      (   (   "
+         WRITE(numout,*) "      (  (           \_/       '-._\      )   )  "
+         WRITE(numout,*) "       )  ) jgs                     `    (   (   "
+         WRITE(numout,*) "     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "
+         WRITE(numout,*)
+         !
+         WRITE(numout,cform_aaa)                                        ! Flag AAAAAAA
+         !
+      ENDIF
+      !
       IF(lwm) WRITE( numond, namctl )
       !
@@ -241,5 +241,6 @@
 
 
-      IF( ln_ctl       )   CALL prt_ctl_init    ! Print control
+      IF( ln_ctl .OR. sn_cfctl%l_mppout )   &
+         &                 CALL prt_ctl_init        ! Print control
 
                            CALL istate_init     ! ocean initial state (Dynamics and tracers)
Index: /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS/nemogcm.F90
===================================================================
--- /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS/nemogcm.F90	(revision 11865)
+++ /NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS/nemogcm.F90	(revision 11866)
@@ -256,5 +256,18 @@
 902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' )
       !
-      lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print
+      ! finalize the definition of namctl variables
+      IF( sn_cfctl%l_config ) THEN
+         ! Activate finer control of report outputs
+         ! optionally switch off output from selected areas (note this only
+         ! applies to output which does not involve global communications)
+         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. &
+           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    &
+           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )
+      ELSE
+         ! Use ln_ctl to turn on or off all options.
+         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )
+      ENDIF
+      !
+      lwp = (narea == 1) .OR. ln_ctl .OR. sn_cfctl%l_oceout    ! control of all listing output print
       !
       IF(lwp) THEN                      ! open listing units
@@ -291,17 +304,4 @@
          !
       ENDIF
-     !
-      ! finalize the definition of namctl variables
-      IF( sn_cfctl%l_config ) THEN
-         ! Activate finer control of report outputs
-         ! optionally switch off output from selected areas (note this only
-         ! applies to output which does not involve global communications)
-         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. &
-           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    &
-           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )
-      ELSE
-         ! Use ln_ctl to turn on or off all options.
-         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )
-      ENDIF
       !
       IF(lwm) WRITE( numond, namctl )
@@ -347,5 +347,6 @@
                            CALL eos_init        ! Equation of seawater
                            CALL dom_init('SAS') ! Domain
-      IF( ln_ctl      )    CALL prt_ctl_init    ! Print control
+      IF( ln_ctl .OR. sn_cfctl%l_mppout )   &
+         &                 CALL prt_ctl_init        ! Print control
       
                            CALL day_init        ! model calendar (using both namelist and restart infos)
