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 258 for trunk – NEMO

Changeset 258 for trunk


Ignore:
Timestamp:
2005-09-02T17:48:36+02:00 (19 years ago)
Author:
opalod
Message:

nemo_v1_update_004 : CT : Integration of the control print option for debugging work

Location:
trunk
Files:
1 added
67 edited

Legend:

Unmodified
Added
Removed
  • trunk/CONFIG/GYRE/EXP00/namelist

    r255 r258  
    2626!  nrunoff    = 0 no, 1 runoff, 2 runoff+river mouth ups adv 
    2727!  ln_ctl     trend control print (expensive!) 
    28 !  nictl      max i indice to make the control SUM (very usefull to compare mono- 
    29 !  njctl      max j indice to make the control SUM (-versus multi processor runs) 
     28!  nictls     start i indice to make the control SUM (very usefull to compare mono- 
     29!  nictle     end   i indice to make the control SUM (-versus multi processor runs) 
     30!  njctls     start j indice to make the control SUM (very usefull to compare mono- 
     31!  njctle     end   j indice to make the control SUM (-versus multi processor runs) 
     32!  isplt      number of processors following i 
     33!  jsplt      number of processors following j 
    3034!  nbench     Bench parameter (0/1): CAUTION it must be zero except for bench 
    3135!             for which we don't care about physical meaning of the results 
     
    4852   nwrite     =      60  
    4953   nrunoff    =       0 
    50    ln_ctl     =  .true. 
    51    nictl      =      10 
    52    njctl      =      10 
     54   ln_ctl     =  .false. 
     55   nictls     =       0 
     56   nictle     =       0 
     57   njctls     =       0 
     58   njctle     =       0 
     59   isplt      =       1 
     60   jsplt      =       1 
    5361   nbench     =       0 
    5462/ 
  • trunk/CONFIG/ORCA2_LIM/EXP00/namelist

    r255 r258  
    2626!  nrunoff    = 0 no, 1 runoff, 2 runoff+river mouth ups adv 
    2727!  ln_ctl     trend control print (expensive!) 
    28 !  nictl      max i indice to make the control SUM (very usefull to compare mono- 
    29 !  njctl      max j indice to make the control SUM (-versus multi processor runs) 
     28!  nictls     start i indice to make the control SUM (very usefull to compare mono- 
     29!  nictle     end   i indice to make the control SUM (-versus multi processor runs) 
     30!  njctls     start j indice to make the control SUM (very usefull to compare mono- 
     31!  njctle     end   j indice to make the control SUM (-versus multi processor runs) 
     32!  isplt      number of processors following i 
     33!  jsplt      number of processors following j 
    3034!  nbench     Bench parameter (0/1): CAUTION it must be zero except for bench 
    3135!             for which we don't care about physical meaning of the results 
     
    4852   nwrite     =    5475  
    4953   nrunoff    =       2 
    50    ln_ctl     =  .true. 
    51    nictl      =      10 
    52    njctl      =      10 
     54   ln_ctl     =  .false. 
     55   nictls     =       0 
     56   nictle     =       0 
     57   njctls     =       0 
     58   njctle     =       0 
     59   isplt      =       1 
     60   jsplt      =       1 
    5361   nbench     =       0 
    5462/ 
  • trunk/NEMO/LIM_SRC/icestp.F90

    r247 r258  
    3131   USE limwri 
    3232   USE limrst 
     33   USE prtctl          ! Print control 
    3334 
    3435   IMPLICIT NONE 
     
    186187          
    187188 
    188          IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    189             WRITE(numout,*) 'Ice Forcings ' 
    190             WRITE(numout,*) ' qsr_oce  : ', SUM( qsr_oce (2:nictl,2:njctl) ), ' qsr_ice  : ', SUM( qsr_ice (2:nictl,2:njctl) ) 
    191             WRITE(numout,*) ' qnsr_oce : ', SUM( qnsr_oce(2:nictl,2:njctl) ), ' qnsr_ice : ', SUM( qnsr_ice(2:nictl,2:njctl) ) 
    192             WRITE(numout,*) ' evap     : ', SUM( evap    (2:nictl,2:njctl) ) 
    193             WRITE(numout,*) ' precip   : ', SUM( tprecip(2:nictl,2:njctl)  ), ' Snow     : ', SUM( sprecip (2:nictl,2:njctl) ) 
    194             WRITE(numout,*) ' u-stress : ', SUM( gtaux  (2:nictl,2:njctl)  ), ' v-stress : ', SUM( gtauy  (2:nictl,2:njctl) ) 
    195             WRITE(numout,*) ' sst      : ', SUM( sst_io (2:nictl,2:njctl)  ), ' sss      : ', SUM( sss_io (2:nictl,2:njctl) ) 
    196             WRITE(numout,*) ' u_io     : ', SUM( u_io   (2:nictl,2:njctl)  ), ' v_io     : ', SUM( v_io   (2:nictl,2:njctl) ) 
    197             WRITE(numout,*) ' hsnif  1 : ', SUM( hsnif  (2:nictl,2:njctl)  ), ' hicnif   : ', SUM( hicif  (2:nictl,2:njctl) ) 
    198             WRITE(numout,*) ' frld   1 : ', SUM( frld   (2:nictl,2:njctl)  ), ' sist     : ', SUM( sist   (2:nictl,2:njctl) ) 
     189         IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     190            CALL prt_ctl_info('Ice Forcings ') 
     191            CALL prt_ctl(tab2d_1=qsr_oce ,clinfo1=' qsr_oce  : ', tab2d_2=qsr_ice , clinfo2=' qsr_ice   : ') 
     192            CALL prt_ctl(tab2d_1=qnsr_oce,clinfo1=' qnsr_oce : ', tab2d_2=qnsr_ice, clinfo2=' qnsr_ice  : ') 
     193            CALL prt_ctl(tab2d_1=evap    ,clinfo1=' evap     : ') 
     194            CALL prt_ctl(tab2d_1=tprecip ,clinfo1=' precip   : ', tab2d_2=sprecip , clinfo2=' Snow      : ') 
     195            CALL prt_ctl(tab2d_1=gtaux   ,clinfo1=' u-stress : ', tab2d_2=gtauy   , clinfo2=' v-stress  : ') 
     196            CALL prt_ctl(tab2d_1=sst_io  ,clinfo1=' sst      : ', tab2d_2=sss_io  , clinfo2=' sss       : ') 
     197            CALL prt_ctl(tab2d_1=u_io    ,clinfo1=' u_io     : ', tab2d_2=v_io    , clinfo2=' v_io      : ') 
     198            CALL prt_ctl(tab2d_1=hsnif   ,clinfo1=' hsnif  1 : ', tab2d_2=hicif   , clinfo2=' hicif     : ') 
     199            CALL prt_ctl(tab2d_1=frld    ,clinfo1=' frld   1 : ', tab2d_2=sist    , clinfo2=' sist      : ') 
    199200         ENDIF 
    200201 
     
    205206         CALL lim_dyn                                                ! Ice dynamics !   ( rheology/dynamics ) 
    206207         !                                                           !--------------! 
    207          IF(l_ctl) THEN 
    208             WRITE(numout,*) ' hsnif  2 : ', SUM( hsnif  (2:nictl,2:njctl) ), ' hicnif   : ', SUM( hicif  (2:nictl,2:njctl) ) 
    209             WRITE(numout,*) ' frld   2 : ', SUM( frld   (2:nictl,2:njctl) ), ' sist     : ', SUM( sist   (2:nictl,2:njctl) ) 
     208         IF(ln_ctl) THEN 
     209            CALL prt_ctl(tab2d_1=hsnif ,clinfo1=' hsnif  2 : ', tab2d_2=hicif , clinfo2=' hicif     : ') 
     210            CALL prt_ctl(tab2d_1=frld  ,clinfo1=' frld   2 : ', tab2d_2=sist  , clinfo2=' sist      : ') 
    210211         ENDIF 
    211212 
     
    214215         CALL lim_trp                                                ! Ice transport !  ( Advection/diffusion ) 
    215216         !                                                           !---------------! 
    216          IF(l_ctl) THEN 
    217             WRITE(numout,*) ' hsnif  3 : ', SUM( hsnif  (2:nictl,2:njctl) ), ' hicnif   : ', SUM( hicif  (2:nictl,2:njctl) ) 
    218             WRITE(numout,*) ' frld   3 : ', SUM( frld   (2:nictl,2:njctl) ), ' sist     : ', SUM( sist   (2:nictl,2:njctl) ) 
     217         IF(ln_ctl) THEN 
     218            CALL prt_ctl(tab2d_1=hsnif ,clinfo1=' hsnif  3 : ', tab2d_2=hicif , clinfo2=' hicif     : ') 
     219            CALL prt_ctl(tab2d_1=frld  ,clinfo1=' frld   3 : ', tab2d_2=sist  , clinfo2=' sist      : ') 
    219220         ENDIF 
    220221 
     
    223224         CALL lim_thd                                                ! Ice thermodynamics ! 
    224225         !                                                           !--------------------! 
    225          IF(l_ctl) THEN 
    226             WRITE(numout,*) ' hsnif  4 : ', SUM( hsnif  (2:nictl,2:njctl) ), ' hicnif   : ', SUM( hicif  (2:nictl,2:njctl) ) 
    227             WRITE(numout,*) ' frld   4 : ', SUM( frld   (2:nictl,2:njctl) ), ' sist     : ', SUM( sist   (2:nictl,2:njctl) ) 
     226         IF(ln_ctl) THEN 
     227            CALL prt_ctl(tab2d_1=hsnif ,clinfo1=' hsnif  4 : ', tab2d_2=hicif , clinfo2=' hicif     : ') 
     228            CALL prt_ctl(tab2d_1=frld  ,clinfo1=' frld   4 : ', tab2d_2=sist  , clinfo2=' sist      : ') 
    228229         ENDIF 
    229230 
  • trunk/NEMO/LIM_SRC/limadv.F90

    r247 r258  
    1717   USE in_out_manager  ! I/O manager 
    1818   USE lbclnk 
     19   USE prtctl          ! Print control 
    1920 
    2021   IMPLICIT NONE 
     
    224225      CALL lbc_lnk( psxy, 'T', 1. ) 
    225226 
    226       IF(l_ctl) THEN 
    227          WRITE(numout,*) ' lim_adv_x: psm  ', SUM( psm (2:nictl,2:njctl) ), ' ps0  ', SUM( ps0 (2:nictl,2:njctl) ) 
    228          WRITE(numout,*) ' lim_adv_x: psx  ', SUM( psx (2:nictl,2:njctl) ), ' psxx ', SUM( psxx(2:nictl,2:njctl) ) 
    229          WRITE(numout,*) ' lim_adv_x: psy  ', SUM( psy (2:nictl,2:njctl) ), ' psyy ', SUM( psyy(2:nictl,2:njctl) ) 
    230          WRITE(numout,*) ' lim_adv_x: psxy ', SUM( psxy(2:nictl,2:njctl) ) 
     227      IF(ln_ctl)  THEN 
     228         CALL prt_ctl(tab2d_1=psm  , clinfo1=' lim_adv_x: psm  :', tab2d_2=ps0 , clinfo2=' ps0  : ') 
     229         CALL prt_ctl(tab2d_1=psx  , clinfo1=' lim_adv_x: psx  :', tab2d_2=psxx, clinfo2=' psxx : ') 
     230         CALL prt_ctl(tab2d_1=psy  , clinfo1=' lim_adv_x: psy  :', tab2d_2=psyy, clinfo2=' psyy : ') 
     231         CALL prt_ctl(tab2d_1=psxy , clinfo1=' lim_adv_x: psxy :') 
    231232      ENDIF 
    232233 
     
    424425      CALL lbc_lnk( psxy, 'T', 1. ) 
    425426 
    426       IF(l_ctl) THEN 
    427          WRITE(numout,*) ' lim_adv_y: psm  ', SUM( psm (2:nictl,2:njctl) ), ' ps0  ', SUM( ps0 (2:nictl,2:njctl) ) 
    428          WRITE(numout,*) ' lim_adv_y: psx  ', SUM( psx (2:nictl,2:njctl) ), ' psxx ', SUM( psxx(2:nictl,2:njctl) ) 
    429          WRITE(numout,*) ' lim_adv_y: psy  ', SUM( psy (2:nictl,2:njctl) ), ' psyy ', SUM( psyy(2:nictl,2:njctl) ) 
    430          WRITE(numout,*) ' lim_adv_y: psxy ', SUM( psxy(2:nictl,2:njctl) ) 
     427      IF(ln_ctl) THEN 
     428         CALL prt_ctl(tab2d_1=psm  , clinfo1=' lim_adv_y: psm  :', tab2d_2=ps0 , clinfo2=' ps0  : ') 
     429         CALL prt_ctl(tab2d_1=psx  , clinfo1=' lim_adv_y: psx  :', tab2d_2=psxx, clinfo2=' psxx : ') 
     430         CALL prt_ctl(tab2d_1=psy  , clinfo1=' lim_adv_y: psy  :', tab2d_2=psyy, clinfo2=' psyy : ') 
     431         CALL prt_ctl(tab2d_1=psxy , clinfo1=' lim_adv_y: psxy :') 
    431432      ENDIF 
    432433 
  • trunk/NEMO/LIM_SRC/limdyn.F90

    r247 r258  
    2323   USE lbclnk 
    2424   USE lib_mpp 
     25   USE prtctl          ! Print control 
    2526 
    2627   IMPLICIT NONE 
     
    9293            i_j1 = 1    
    9394            i_jpj = jpj 
    94             IF(l_ctl)   WRITE(numout,*) 'lim_dyn :    i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
     95            IF(ln_ctl)    THEN 
     96               CALL prt_ctl_info('lim_dyn  :    i_j1 = ', ivar1=i_j1, clinfo2=' ij_jpj = ', ivar2=i_jpj) 
     97            ENDIF 
    9598            CALL lim_rhg( i_j1, i_jpj ) 
    9699 
     
    113116               END DO 
    114117               i_j1 = MAX( 1, i_j1-1 ) 
    115                IF(l_ctl)   WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
     118               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    116119     
    117120               CALL lim_rhg( i_j1, i_jpj ) 
     
    124127               END DO 
    125128               i_jpj = MIN( jpj, i_jpj+2 ) 
    126                IF(l_ctl)   WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
     129               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    127130     
    128131               CALL lim_rhg( i_j1, i_jpj ) 
     
    143146               i_jpj = MIN( jpj, i_jpj+2) 
    144147     
    145                IF(l_ctl)   WRITE(numout,*) 'lim_dyn : one hemisphere: i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
     148               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : one hemisphere: i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    146149     
    147150               CALL lim_rhg( i_j1, i_jpj ) 
     
    154157         v_ice(:,1) = 0.e0 
    155158 
    156          IF(l_ctl) THEN  
    157             WRITE(numout,*) ' lim_dyn  : u_oce ', SUM( u_oce(2:nictl,2:njctl) ), ' v_oce ', SUM( v_oce(2:nictl,2:njctl) ) 
    158             WRITE(numout,*) ' lim_dyn  : u_ice ', SUM( u_ice(2:nictl,2:njctl) ), ' v_ice ', SUM( v_ice(2:nictl,2:njctl) ) 
     159         IF(ln_ctl)  THEN  
     160            CALL prt_ctl(tab2d_1=u_oce , clinfo1=' lim_dyn  : u_oce :', tab2d_2=v_oce , clinfo2=' v_oce :') 
     161            CALL prt_ctl(tab2d_1=u_ice , clinfo1=' lim_dyn  : u_ice :', tab2d_2=v_ice , clinfo2=' v_ice :') 
    159162         ENDIF 
    160163          
     
    244247      CALL lbc_lnk( tio_v, 'I', -1. )   ! I-point (i.e. ice U-V point) 
    245248 
    246       IF(l_ctl) THEN  
    247          WRITE(numout,*) ' lim_dyn  : tio_u ', SUM( tio_u(2:nictl,2:njctl) ), ' tio_v ', SUM( tio_v(2:nictl,2:njctl) ) 
    248          WRITE(numout,*) ' lim_dyn  : ust2s ', SUM( ust2s(2:nictl,2:njctl) ) 
     249      IF(ln_ctl) THEN  
     250            CALL prt_ctl(tab2d_1=tio_u , clinfo1=' lim_dyn  : tio_u :', tab2d_2=tio_v , clinfo2=' tio_v :') 
     251            CALL prt_ctl(tab2d_1=ust2s , clinfo1=' lim_dyn  : ust2s :') 
    249252      ENDIF 
    250253 
  • trunk/NEMO/LIM_SRC/limflx.F90

    r247 r258  
    1111   !!---------------------------------------------------------------------- 
    1212   !! * Modules used 
    13    USE par_oce 
    14    USE phycst 
    15    USE ocfzpt 
    16    USE ice_oce 
    17    USE flx_oce 
    18    USE ice 
    19    USE flxblk 
    20    USE lbclnk 
    21    USE in_out_manager 
    22    USE albedo 
     13   USE par_oce          ! ocean parameters 
     14   USE phycst           ! physical constants 
     15   USE ocfzpt           ! surface ocean freezing point 
     16   USE ice_oce          ! sea-ice variable 
     17   USE flx_oce          ! sea-ice/ocean forcings variables 
     18   USE ice              ! LIM sea-ice variables 
     19   USE flxblk           ! bulk formulea 
     20   USE lbclnk           ! ocean lateral boundary condition 
     21   USE in_out_manager   ! I/O manager 
     22   USE albedo           ! albedo parameters 
     23   USE prtctl           ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    195196#endif 
    196197 
    197       IF(l_ctl) THEN 
    198          WRITE(numout,*) ' lim_flx  ' 
    199          WRITE(numout,*) ' fsolar ', SUM( fsolar(2:nictl,2:njctl) ), ' fnsolar', SUM( fnsolar(2:nictl,2:njctl) ) 
    200          WRITE(numout,*) ' fmass  ', SUM( fmass (2:nictl,2:njctl) ), ' fsalt  ', SUM( fsalt  (2:nictl,2:njctl) ) 
    201          WRITE(numout,*) ' ftaux  ', SUM( ftaux (2:nictl,2:njctl) ), ' ftauy  ', SUM( ftauy  (2:nictl,2:njctl) ) 
    202          WRITE(numout,*) ' freeze ', SUM( freeze(2:nictl,2:njctl) ), ' tn_ice ', SUM( tn_ice (2:nictl,2:njctl) ) 
     198      IF(ln_ctl) THEN 
     199         CALL prt_ctl(tab2d_1=fsolar, clinfo1=' lim_flx: fsolar : ', tab2d_2=fnsolar, clinfo2=' fnsolar : ') 
     200         CALL prt_ctl(tab2d_1=fmass , clinfo1=' lim_flx: fmass  : ', tab2d_2=fsalt  , clinfo2=' fsalt   : ') 
     201         CALL prt_ctl(tab2d_1=ftaux , clinfo1=' lim_flx: ftaux  : ', tab2d_2=ftauy  , clinfo2=' ftauy   : ') 
     202         CALL prt_ctl(tab2d_1=freeze, clinfo1=' lim_flx: freeze : ', tab2d_2=tn_ice , clinfo2=' tn_ice  : ') 
    203203      ENDIF  
    204204    
  • trunk/NEMO/LIM_SRC/limhdf.F90

    r247 r258  
    1818   USE lbclnk 
    1919   USE lib_mpp 
     20   USE prtctl          ! Print control 
    2021 
    2122   IMPLICIT NONE 
     
    6768      INTEGER ::  & 
    6869         its, iter            ! temporary integers 
     70      CHARACTER (len=55) :: charout 
    6971      REAL(wp) ::  & 
    7072         zalfa, zrlxint, zconv, zeps   ! temporary scalars 
     
    168170 
    169171      ptab(:,:) = ptab(:,:) 
    170  
    171       IF(l_ctl)   WRITE(numout,*) ' lim_hdf  : ', SUM( ptab(2:nictl,2:njctl)-ptab0(2:nictl,2:njctl) ), & 
    172       &                                        ' zconv= ', zconv, ' iter= ', iter 
     172      IF(ln_ctl)   THEN 
     173         zrlx(:,:) = ptab(:,:) - ptab0(:,:) 
     174         WRITE(charout,FMT="(' lim_hdf  : zconv =',D23.16, ' iter =',I4,2X)") zconv, iter 
     175         CALL prt_ctl(tab2d_1=zrlx, clinfo1=charout) 
     176      ENDIF 
    173177 
    174178   END SUBROUTINE lim_hdf 
  • trunk/NEMO/LIM_SRC/limrhg.F90

    r247 r258  
    1919   USE lib_mpp 
    2020   USE in_out_manager  ! I/O manager 
     21   USE prtctl          ! Print control 
    2122 
    2223   IMPLICIT NONE 
     
    6465         iim1, ijm1, iip1 , ijp1   , & ! temporary integers 
    6566         iter, jter                    !    "          " 
     67 
     68      CHARACTER (len=50) :: charout 
    6669 
    6770      REAL(wp) :: & 
     
    632635      !                                                   ! ==================== ! 
    633636 
    634       IF(l_ctl) THEN 
    635          WRITE(numout,*) ' lim_rhg  : res= ', zresm, 'iter= ', jter,' u_ice ', SUM( u_ice(2:nictl,2:njctl) ) , & 
    636          &                                                          ' v_ice ', SUM( v_ice(2:nictl,2:njctl) ) 
     637      IF(ln_ctl) THEN 
     638         WRITE(charout,FMT="('lim_rhg  : res =',D23.16, ' iter =',I4)") zresm, jter 
     639         CALL prt_ctl_info(charout) 
     640         CALL prt_ctl(tab2d_1=u_ice, clinfo1=' lim_rhg  : u_ice :', tab2d_2=v_ice, clinfo2=' v_ice :') 
    637641      ENDIF 
    638642 
  • trunk/NEMO/LIM_SRC/limthd.F90

    r247 r258  
    2525   USE limthd_lac 
    2626   USE limtab 
     27   USE prtctl          ! Print control 
    2728       
    2829   IMPLICIT NONE 
     
    7879         nbpb  ,               &   ! nb of icy pts for thermo. cal. 
    7980         nbpac                     ! nb of pts for lateral accretion  
     81      CHARACTER (len=22) :: charout 
    8082      REAL(wp) ::  & 
    8183         zfric_umin = 5e-03 ,  &   ! lower bound for the friction velocity 
     
    9294         zhicifp            ,  &   ! ice thickness for outputs 
    9395         zqlbsbq                   ! link with lead energy budget qldif 
     96      REAL(wp), DIMENSION(jpi,jpj,2) :: & 
     97         zmsk                      ! working array 
    9498      !!------------------------------------------------------------------- 
    9599 
     
    112116      rdmicif(:,:) = 0.e0   ! variation of ice mass per unit area 
    113117      hicifp (:,:) = 0.e0   ! daily thermodynamic ice production.  
     118      zmsk (:,:,:) = 0.e0 
    114119 
    115120      DO jj = 1, jpj 
     
    118123         END DO 
    119124      END DO 
    120       IF(l_ctl)   WRITE(numout,*) 'lim_thd  : ', SUM( hsnif(2:nictl,2:njctl) ) , ' hsnif' 
    121        
     125 
     126      IF(ln_ctl)   CALL prt_ctl(tab2d_1=hsnif     , clinfo1=' lim_thd: hsnif   : ') 
    122127       
    123128      !-----------------------------------! 
     
    150155         END DO 
    151156      END DO 
    152       IF(l_ctl) THEN 
    153          WRITE(numout,*) 'lim_thd: hicif : ', SUM( hicif (2:nictl,2:njctl) ) 
    154          WRITE(numout,*) 'lim_thd: hsnif : ', SUM( hsnif (2:nictl,2:njctl) ) 
    155          WRITE(numout,*) 'lim_thd: dmgwi : ', SUM( dmgwi (2:nictl,2:njctl) ) 
    156          WRITE(numout,*) 'lim_thd: qstoif: ', SUM( qstoif(2:nictl,2:njctl) ) 
    157          WRITE(numout,*) 'lim_thd: frld  : ', SUM( frld  (2:nictl,2:njctl) ) 
     157 
     158      IF(ln_ctl) THEN 
     159         CALL prt_ctl(tab2d_1=hicif  , clinfo1=' lim_thd: hicif   : ') 
     160         CALL prt_ctl(tab2d_1=hsnif  , clinfo1=' lim_thd: hsnif   : ') 
     161         CALL prt_ctl(tab2d_1=dmgwi  , clinfo1=' lim_thd: dmgwi   : ') 
     162         CALL prt_ctl(tab2d_1=qstoif , clinfo1=' lim_thd: qstoif  : ') 
     163         CALL prt_ctl(tab2d_1=frld   , clinfo1=' lim_thd: frld    : ') 
    158164      ENDIF 
    159165 
     
    221227         END DO 
    222228      END DO 
    223       IF(l_ctl) THEN 
    224          WRITE(numout,*) 'lim_thd: pfrld ' , SUM( pfrld  (2:nictl,2:njctl) ), ' thcm    ', SUM( thcm   (2:nictl,2:njctl) ) 
    225          WRITE(numout,*) 'lim_thd: fdtcn ' , SUM( fdtcn  (2:nictl,2:njctl) ), ' qdtcn   ', SUM( qdtcn  (2:nictl,2:njctl) ) 
    226          WRITE(numout,*) 'lim_thd: qldif ' , SUM( qldif  (2:nictl,2:njctl) ), ' zqlbsbq ', SUM( zqlbsbq(2:nictl,2:njctl) ) 
    227          WRITE(numout,*) 'lim_thd: qcmif ' , SUM( qcmif  (2:nictl,2:njctl) ), ' fbif    ', SUM( fbif   (2:nictl,2:njctl) ) 
    228          WRITE(numout,*) 'lim_thd: qcmif  ', SUM( qcmif  (2:nictl,2:njctl)*tms(2:nictl,2:njctl) ) 
    229          WRITE(numout,*) 'lim_thd: zhicifp', SUM( zhicifp(2:nictl,2:njctl) ) 
    230          WRITE(numout,*) 'limthd : nbpb = ', nbpb 
     229 
     230      IF(ln_ctl) THEN 
     231         CALL prt_ctl(tab2d_1=pfrld, clinfo1=' lim_thd: pfrld   : ', tab2d_2=thcm   , clinfo2='  thcm    : ') 
     232         CALL prt_ctl(tab2d_1=fdtcn, clinfo1=' lim_thd: fdtcn   : ', tab2d_2=qdtcn  , clinfo2='  qdtcn   : ') 
     233         CALL prt_ctl(tab2d_1=qldif, clinfo1=' lim_thd: qldif   : ', tab2d_2=zqlbsbq, clinfo2='  zqlbsbq : ') 
     234         CALL prt_ctl(tab2d_1=qcmif, clinfo1=' lim_thd: qcmif   : ', tab2d_2=fbif   , clinfo2='  fbif    : ') 
     235         zmsk(:,:,1) = tms(:,:) 
     236         CALL prt_ctl(tab2d_1=qcmif  , clinfo1=' lim_thd: qcmif   : ', mask1=zmsk) 
     237         CALL prt_ctl(tab2d_1=zhicifp, clinfo1=' lim_thd: zhicifp : ') 
     238         WRITE(charout, FMT="('lim_thd: nbpb = ',I4)") nbpb 
     239         CALL prt_ctl_info(charout) 
    231240      ENDIF 
    232241       
     
    327336      END DO 
    328337       
    329       IF(l_ctl) THEN 
    330          WRITE(numout,*) 'lim_thd : phicif ', SUM( phicif(2:nictl,2:njctl) ), ' hicif ', SUM( hicif(2:nictl,2:njctl) ) 
    331          WRITE(numout,*) 'lim_thd : nbpac = ', nbpac 
     338      IF(ln_ctl) THEN 
     339         CALL prt_ctl(tab2d_1=phicif, clinfo1=' lim_thd: phicif  : ', tab2d_2=hicif, clinfo2=' hicif : ') 
     340         WRITE(charout, FMT="('lim_thd: nbpac = ',I4)") nbpac 
     341         CALL prt_ctl_info(charout) 
    332342      ENDIF 
    333343 
     
    381391      END DO 
    382392 
    383       IF(l_ctl) THEN 
    384          WRITE(numout,*) ' lim_thd  end  ' 
    385          WRITE(numout,*) '  hicif ', SUM( hicif (2:nictl,2:njctl)   ), '  hsnif ', SUM( hsnif (2:nictl,2:njctl)   ) 
    386          WRITE(numout,*) '  frld  ', SUM( frld  (2:nictl,2:njctl)   ), '  hicifp', SUM( hicifp(2:nictl,2:njctl)   ) 
    387          WRITE(numout,*) '  phicif', SUM( phicif(2:nictl,2:njctl)   ), '  pfrld ', SUM( pfrld (2:nictl,2:njctl)   ) 
    388          WRITE(numout,*) '  sist  ', SUM( sist  (2:nictl,2:njctl)   ), '  tbif 1', SUM( tbif  (2:nictl,2:njctl,1) ) 
    389          WRITE(numout,*) '  tbif 2', SUM( tbif  (2:nictl,2:njctl,2) ), '  tbif 3', SUM( tbif  (2:nictl,2:njctl,3) ) 
    390          WRITE(numout,*) '  fdtcn ', SUM( fdtcn (2:nictl,2:njctl)   ), '  qdtcn ', SUM( qdtcn (2:nictl,2:njctl)   ) 
    391          WRITE(numout,*) '  qstoif', SUM( qstoif(2:nictl,2:njctl)   ), '  fsbbq ', SUM( fsbbq (2:nictl,2:njctl)   ) 
     393      IF(ln_ctl) THEN 
     394         CALL prt_ctl_info(' lim_thd  end  ') 
     395         CALL prt_ctl(tab2d_1=hicif , clinfo1=' lim_thd: hicif   : ', tab2d_2=hsnif , clinfo2=' hsnif  : ') 
     396         CALL prt_ctl(tab2d_1=frld  , clinfo1=' lim_thd: frld    : ', tab2d_2=hicifp, clinfo2=' hicifp : ') 
     397         CALL prt_ctl(tab2d_1=phicif, clinfo1=' lim_thd: phicif  : ', tab2d_2=pfrld , clinfo2=' pfrld  : ') 
     398         CALL prt_ctl(tab2d_1=sist  , clinfo1=' lim_thd: sist    : ') 
     399         CALL prt_ctl(tab2d_1=tbif(:,:,1), clinfo1=' lim_thd: tbif 1  : ') 
     400         CALL prt_ctl(tab2d_1=tbif(:,:,2), clinfo1=' lim_thd: tbif 2  : ') 
     401         CALL prt_ctl(tab2d_1=tbif(:,:,3), clinfo1=' lim_thd: tbif 3  : ') 
     402         CALL prt_ctl(tab2d_1=fdtcn , clinfo1=' lim_thd: fdtcn   : ', tab2d_2=qdtcn , clinfo2=' qdtcn  : ') 
     403         CALL prt_ctl(tab2d_1=qstoif, clinfo1=' lim_thd: qstoif  : ', tab2d_2=fsbbq , clinfo2=' fsbbq  : ') 
    392404      ENDIF 
    393405 
  • trunk/NEMO/LIM_SRC/limwri.F90

    r247 r258  
    136136      !----------------------------------------------------------------------- 
    137137 
    138       IF(lwp .AND. L_ctl) THEN 
     138      IF(lwp) THEN 
    139139         WRITE(numout,*) 
    140140         WRITE(numout,*) 'lim_wri : write ice outputs in NetCDF files at time : ', nyear, nmonth, nday, numit 
  • trunk/NEMO/OPA_SRC/DOM/dom_oce.F90

    r247 r258  
    6666   INTEGER, PUBLIC, DIMENSION(jpnij) ::   &  !: 
    6767      nimppt, njmppt,  &  !: i-, j-indexes for each processor 
     68      ibonit, ibonjt,  &  !: i-, j- processor neighbour existence 
    6869      nlcit, nlcjt,    &  !: dimensions of every subdomain 
    6970      nldit, nldjt,    &  !: first, last indoor index for each i-domain 
  • trunk/NEMO/OPA_SRC/DOM/domain.F90

    r247 r258  
    156156      !! * Modules used 
    157157      USE ioipsl 
    158       NAMELIST/namrun/ no    , cexper   , ln_rstart , nrstdt , nit000,         & 
    159          &             nitend, ndate0   , nleapy   , ninist , nstock,          & 
    160          &             nprint, nwrite   , nrunoff  , ln_ctl , nictl , njctl,   & 
    161          &             nbench 
     158      NAMELIST/namrun/ no    , cexper   , ln_rstart , nrstdt , nit000,          & 
     159         &             nitend, ndate0   , nleapy   , ninist , nstock,           & 
     160         &             nprint, nwrite   , nrunoff  , ln_ctl , nictls, nictle,   & 
     161         &             njctls, njctle   , nbench   , isplt  , jsplt 
     162 
    162163      NAMELIST/namdom/ ntopo , e3zps_min, e3zps_rat, ngrid  , nmsh  ,   & 
    163164         &             nacc  , atfp     , rdt      , rdtmin , rdtmax,   & 
     
    192193         WRITE(numout,*) '           runoff option                   nrunoff   = ', nrunoff 
    193194         WRITE(numout,*) '           run control (for debugging)     ln_ctl    = ', ln_ctl 
    194          WRITE(numout,*) '           Max i indice for SUM control    nictl     = ', nictl 
    195          WRITE(numout,*) '           Max j indice for SUM control    njctl     = ', njctl 
     195         WRITE(numout,*) '           Start i indice for SUM control  nictls    = ', nictls 
     196         WRITE(numout,*) '           End i indice for SUM control    nictle    = ', nictle 
     197         WRITE(numout,*) '           Start j indice for SUM control  njctls    = ', njctls 
     198         WRITE(numout,*) '           End j indice for SUM control    njctle    = ', njctle 
     199         WRITE(numout,*) '           number of proc. following i     isplt     = ', isplt 
     200         WRITE(numout,*) '           number of proc. following j     jsplt     = ', jsplt 
    196201         WRITE(numout,*) '           benchmark parameter (0/1)       nbench    = ', nbench 
    197202      ENDIF 
    198203 
    199       l_ctl = ln_ctl .AND. lwp       ! trend control print on the 1st processor only 
    200  
    201204      ndastp = ndate0                ! Assign initial date to current date 
    202205 
     206! ... Control the sub-domain area indices for the print control 
     207      IF(ln_ctl)   THEN 
     208         IF( lk_mpp ) THEN 
     209            ! the domain is forced to the real splitted domain in MPI 
     210            isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj 
     211         ELSE 
     212            IF( isplt == 1 .AND. jsplt == 1  ) THEN 
     213               IF(lwp) WRITE(numout,cform_war) 
     214               IF(lwp) WRITE(numout,*)'          - isplt & jsplt are equal to 1' 
     215               IF(lwp) WRITE(numout,*)'          - the print control will be done over the whole domain' 
     216               IF(lwp) WRITE(numout,*) 
     217            ENDIF 
     218 
     219            ! compute the total number of processors ijsplt 
     220            ijsplt = isplt*jsplt 
     221         ENDIF 
     222 
     223         IF(lwp) WRITE(numout,*)'          - The total number of processors over which the' 
     224         IF(lwp) WRITE(numout,*)'            print control will be done is ijsplt : ', ijsplt 
     225 
     226         ! Control the indices used for the SUM control 
     227         IF( nictls+nictle+njctls+njctle == 0 )   THEN 
     228            ! the print control is done over the default area 
     229            lsp_area = .FALSE. 
     230         ELSE 
     231            ! the print control is done over a specific  area 
     232            lsp_area = .TRUE. 
     233            IF( nictls < 1 .OR. nictls > jpiglo )   THEN 
     234               IF(lwp) WRITE(numout,cform_war) 
     235               IF(lwp) WRITE(numout,*)'          - nictls must be 1<=nictls>=jpiglo, it is forced to 1' 
     236               IF(lwp) WRITE(numout,*) 
     237               nwarn = nwarn + 1 
     238               nictls = 1 
     239            ENDIF 
     240 
     241            IF( nictle < 1 .OR. nictle > jpiglo )   THEN 
     242               IF(lwp) WRITE(numout,cform_war) 
     243               IF(lwp) WRITE(numout,*)'          - nictle must be 1<=nictle>=jpiglo, it is forced to jpiglo' 
     244               IF(lwp) WRITE(numout,*) 
     245               nwarn = nwarn + 1 
     246               nictle = jpjglo 
     247            ENDIF 
     248 
     249            IF( njctls < 1 .OR. njctls > jpjglo )   THEN 
     250               IF(lwp) WRITE(numout,cform_war) 
     251               IF(lwp) WRITE(numout,*)'          - njctls must be 1<=njctls>=jpjglo, it is forced to 1' 
     252               IF(lwp) WRITE(numout,*) 
     253               nwarn = nwarn + 1 
     254               njctls = 1 
     255            ENDIF 
     256 
     257            IF( njctle < 1 .OR. njctle > jpjglo )   THEN 
     258               IF(lwp) WRITE(numout,cform_war) 
     259               IF(lwp) WRITE(numout,*)'          - njctle must be 1<=njctle>= jpjglo, it is forced to jpjglo' 
     260               IF(lwp) WRITE(numout,*) 
     261               nwarn = nwarn + 1 
     262               njctle = jpjglo 
     263            ENDIF 
     264 
     265         ENDIF          ! IF( nictls+nictle+njctls+njctle == 0 ) 
     266       ENDIF            ! IF(ln_ctl) 
    203267 
    204268! ... Control of output frequency 
     
    247311         WRITE(numout,*) '           nb of seconds per year   raass = ', raass, ' s' 
    248312         WRITE(numout,*) '           nb of seconds per month  rmoss = ', rmoss, ' s' 
    249       ENDIF 
    250  
    251 ! ... Control the Max i and j indices used for the SUM control (i.e. when ln_ctl=.true.) 
    252       IF ( nictl > jpim1 ) THEN 
    253           IF(lwp) THEN 
    254              WRITE(numout,cform_war) 
    255              WRITE(numout,*) '           nictl = ', nictl, ' must be <= to jpim1 ' 
    256              WRITE(numout,*) '           nictl forced to be equal to jpim1 ' 
    257           ENDIF 
    258           nwarn = nwarn + 1 
    259           nictl = jpim1 
    260       ENDIF 
    261  
    262       IF ( njctl > jpjm1 ) THEN 
    263           IF(lwp) THEN 
    264              WRITE(numout,cform_war) 
    265              WRITE(numout,*) '           njctl = ', njctl, ' must be <= to jpjm1 ' 
    266              WRITE(numout,*) '           njctl forced to be equal to jpjm1 ' 
    267           ENDIF 
    268           nwarn = nwarn + 1 
    269           njctl = jpjm1 
    270313      ENDIF 
    271314 
  • trunk/NEMO/OPA_SRC/DYN/dynhpg.F90

    r247 r258  
    2121   USE trdmod          ! ocean dynamics trends  
    2222   USE trdmod_oce      ! ocean variables trends 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    172173      ENDIF 
    173174 
    174       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    175          zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    176          zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    177          WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl 
    178          u_ctl = zuap   ;   v_ctl = zvap 
     175      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     176         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, & 
     177            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    179178      ENDIF 
    180179 
     
    325324      ENDIF 
    326325 
    327       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    328          zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    329          zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    330          WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl 
    331          u_ctl = zuap   ;   v_ctl = zvap 
     326      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     327         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, & 
     328            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    332329      ENDIF 
    333330 
     
    443440      ENDIF 
    444441 
    445       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    446          zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    447          zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    448          WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl 
    449          u_ctl = zuap   ;   v_ctl = zvap 
     442      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     443         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, & 
     444            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    450445      ENDIF 
    451446 
  • trunk/NEMO/OPA_SRC/DYN/dynhpg_atsk.F90

    r247 r258  
    2121   USE trdmod          ! ocean dynamics trends  
    2222   USE trdmod_oce      ! ocean variables trends 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    162163      ENDIF 
    163164 
    164       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    165          zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    166          zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    167          WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl 
    168          u_ctl = zuap   ;   v_ctl = zvap 
     165      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     166         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, & 
     167            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    169168      ENDIF 
    170169 
     
    306305      ENDIF 
    307306 
    308       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    309          zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    310          zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    311          WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl 
    312          u_ctl = zuap   ;   v_ctl = zvap 
     307      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     308         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, & 
     309            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    313310      ENDIF    
    314311 
     
    429426      ENDIF 
    430427 
    431       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    432          zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    433          zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    434          WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl 
    435          u_ctl = zuap   ;   v_ctl = zvap 
     428      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     429         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, & 
     430            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    436431      ENDIF 
    437432 
  • trunk/NEMO/OPA_SRC/DYN/dynkeg.F90

    r247 r258  
    1414   USE trdmod          ! ocean dynamics trends  
    1515   USE trdmod_oce      ! ocean variables trends 
     16   USE prtctl          ! Print control 
    1617 
    1718   IMPLICIT NONE 
     
    119120      ENDIF 
    120121 
    121       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    122          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    123          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    124          WRITE(numout,*) ' keg  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    125          u_ctl = zua   ;   v_ctl = zva 
     122      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     123         CALL prt_ctl(tab3d_1=ua, clinfo1=' keg  - Ua: ', mask1=umask, & 
     124            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    126125      ENDIF 
    127126 
  • trunk/NEMO/OPA_SRC/DYN/dynldf_bilap.F90

    r247 r258  
    1717   USE trdmod_oce      ! ocean variables trends 
    1818   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     19   USE prtctl          ! Print control 
    1920 
    2021   IMPLICIT NONE 
     
    237238      ENDIF 
    238239 
    239       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    240          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    241          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    242          WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    243          u_ctl = zua   ;   v_ctl = zva 
     240      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     241         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, & 
     242            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    244243      ENDIF 
    245244 
  • trunk/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90

    r247 r258  
    2222   USE ldfslp          ! iso-neutral slopes available 
    2323   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     24   USE prtctl          ! Print control 
    2425 
    2526   IMPLICIT NONE 
     
    8182      !! * Local declarations 
    8283      INTEGER ::   ji, jj, jk                 ! dummy loop indices 
    83       REAL(wp) ::   zua, zva                  ! temporary scalars 
    8484      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
    8585         zwk1, zwk2                ! work array used for rotated biharmonic 
     
    138138      ENDIF 
    139139 
    140       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    141          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    142          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    143          WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    144          u_ctl = zua   ;   v_ctl = zva 
     140      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     141         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, & 
     142            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    145143      ENDIF 
    146144 
  • trunk/NEMO/OPA_SRC/DYN/dynldf_iso.F90

    r247 r258  
    2222   USE ldfslp          ! iso-neutral slopes  
    2323   USE in_out_manager  ! I/O manager 
     24   USE prtctl          ! Print control 
    2425 
    2526   IMPLICIT NONE 
     
    9899         zabe1, zabe2, zcof1, zcof2,   &  ! temporary scalars 
    99100         zmskt, zmskf, zbu, zbv,       & 
    100          zuah, zvah, zua, zva 
     101         zuah, zvah 
    101102      REAL(wp), DIMENSION(jpi,jpj) ::   & 
    102103         ziut, zjuf, zjvt, zivf,        & ! temporary workspace 
     
    259260      ENDIF 
    260261 
    261       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    262          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    263          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    264          WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    265          u_ctl = zua   ;   v_ctl = zva 
     262      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     263         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, & 
     264            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    266265      ENDIF 
    267266 
  • trunk/NEMO/OPA_SRC/DYN/dynldf_lap.F90

    r247 r258  
    1818   USE trdmod_oce      ! ocean variables trends 
    1919   USE ldfslp          ! iso-neutral slopes  
     20   USE prtctl          ! Print control 
    2021 
    2122   IMPLICIT NONE 
     
    136137      ENDIF 
    137138 
    138       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    139          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    140          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    141          WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    142          u_ctl = zua   ;   v_ctl = zva 
     139      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     140         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, & 
     141            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    143142      ENDIF 
    144143 
  • trunk/NEMO/OPA_SRC/DYN/dynnxt.F90

    r247 r258  
    1414   USE obcdyn          ! open boundary condition for momentum (obc_dyn routine) 
    1515   USE lbclnk          ! lateral boundary condition (or mpp link) 
     16   USE prtctl          ! Print control 
    1617 
    1718   IMPLICIT NONE 
     
    135136      !                                                ! =============== 
    136137 
    137       IF(l_ctl)   WRITE(numout,*) ' nxt  - Un: ', SUM(un(2:nictl,2:njctl,1:jpkm1)*umask(2:nictl,2:njctl,1:jpkm1)), & 
    138       &                                  ' Vn: ', SUM(vn(2:nictl,2:njctl,1:jpkm1)*vmask(2:nictl,2:njctl,1:jpkm1)) 
     138      IF(ln_ctl)   THEN 
     139         CALL prt_ctl(tab3d_1=un, clinfo1=' nxt  - Un: ', mask1=umask, & 
     140            &         tab3d_2=vn, clinfo2=' Vn: ', mask2=vmask) 
     141      ENDIF 
    139142 
    140143   END SUBROUTINE dyn_nxt 
  • trunk/NEMO/OPA_SRC/DYN/dynspg_fsc.F90

    r247 r258  
    3333   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3434   USE cla_dynspg      ! cross land advection 
     35   USE prtctl          ! Print control 
    3536 
    3637   IMPLICIT NONE 
     
    337338      ENDIF 
    338339 
    339       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    340          WRITE(numout,*) ' spg  - Ua: ', SUM( ua(2:nictl,2:njctl,1:jpkm1)*umask(2:nictl,2:njctl,1:jpkm1) ),  & 
    341             &                   ' Va: ', SUM( va(2:nictl,2:njctl,1:jpkm1)*vmask(2:nictl,2:njctl,1:jpkm1) ) 
     340      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     341         CALL prt_ctl(tab3d_1=ua, clinfo1=' spg  - Ua: ', mask1=umask, & 
     342            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask) 
    342343      ENDIF 
    343344 
     
    370371 
    371372 
    372       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    373          WRITE(numout,*) ' spg - ssh:', SUM( sshn(2:nictl,2:njctl)*tmask(2:nictl,2:njctl,1) ) 
     373      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     374         CALL prt_ctl(tab2d_1=sshn, clinfo1=' spg  - ssh: ', mask1=tmask) 
    374375      ENDIF 
    375376 
  • trunk/NEMO/OPA_SRC/DYN/dynspg_fsc_atsk.F90

    r247 r258  
    3737   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3838   USE cla_dynspg      ! cross land advection 
     39   USE prtctl          ! Print control 
    3940 
    4041   IMPLICIT NONE 
     
    354355         END DO 
    355356 
    356          IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    357             WRITE(numout,*) ' spg  - Ua: ', SUM( ua(2:nictl,2:njctl,1:jpkm1)*umask(2:nictl,2:njctl,1:jpkm1) ),  & 
    358                &                   ' Va: ', SUM( va(2:nictl,2:njctl,1:jpkm1)*vmask(2:nictl,2:njctl,1:jpkm1) ) 
     357         IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     358            CALL prt_ctl(tab3d_1=ua, clinfo1=' spg  - Ua: ', mask1=umask, & 
     359               &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask) 
    359360         ENDIF 
    360361 
     
    398399      CALL lbc_lnk( sshn, 'T', 1. ) 
    399400 
    400       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    401          WRITE(numout,*) ' spg - ssh:', SUM( sshn(2:nictl,2:njctl)*tmask(2:nictl,2:njctl,1) ) 
     401      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     402         CALL prt_ctl(tab2d_1=sshn, clinfo1=' spg  - ssh: ', mask1=tmask) 
    402403      ENDIF 
    403404 
  • trunk/NEMO/OPA_SRC/DYN/dynvor.F90

    r247 r258  
    2020   USE trdmod_oce      ! ocean variables trends 
    2121   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     22   USE prtctl          ! Print control 
    2223 
    2324   IMPLICIT NONE 
     
    188189      ENDIF 
    189190 
    190       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    191          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    192          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    193          WRITE(numout,*) ' vor  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    194          u_ctl = zua   ;   v_ctl = zva 
     191      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     192         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, & 
     193            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    195194      ENDIF 
    196195 
     
    342341      ENDIF 
    343342 
    344       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    345          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    346          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    347          WRITE(numout,*) ' vor  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    348          u_ctl = zua   ;   v_ctl = zva 
     343      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     344         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, & 
     345            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    349346      ENDIF 
    350347 
     
    499496      ENDIF 
    500497 
    501       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    502          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    503          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    504          WRITE(numout,*) ' vor  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    505          u_ctl = zua   ;   v_ctl = zva 
     498      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     499         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, & 
     500            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    506501      ENDIF 
    507502 
     
    662657      ENDIF 
    663658 
    664       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    665          zua = SUM( ua(2:jpim1,2:jpjm1,1:jpkm1) * umask(2:jpim1,2:jpjm1,1:jpkm1) ) 
    666          zva = SUM( va(2:jpim1,2:jpjm1,1:jpkm1) * vmask(2:jpim1,2:jpjm1,1:jpkm1) ) 
    667          WRITE(numout,*) ' vor  een - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    668          u_ctl = zua   ;   v_ctl = zva 
     659      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     660         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, & 
     661            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    669662      ENDIF 
    670663 
  • trunk/NEMO/OPA_SRC/DYN/dynzad.F90

    r247 r258  
    1515   USE trdmod_oce      ! ocean variables trends 
    1616   USE flxrnf          ! ocean runoffs 
     17   USE prtctl          ! Print control 
    1718 
    1819   IMPLICIT NONE 
     
    142143      ENDIF 
    143144 
    144       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    145          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    146          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    147          WRITE(numout,*) ' zad  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    148          u_ctl = zua   ;   v_ctl = zva 
     145      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     146         CALL prt_ctl(tab3d_1=ua, clinfo1=' zad  - Ua: ', mask1=umask, & 
     147            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    149148      ENDIF 
    150149 
     
    255254      ENDIF 
    256255 
    257       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    258          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    259          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    260          WRITE(numout,*) ' zad  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    261          u_ctl = zua   ;   v_ctl = zva 
     256      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     257         CALL prt_ctl(tab3d_1=ua, clinfo1=' zad  - Ua: ', mask1=umask, & 
     258            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    262259      ENDIF 
    263260 
  • trunk/NEMO/OPA_SRC/DYN/dynzdf_exp.F90

    r247 r258  
    1818   USE trdmod          ! ocean dynamics trends  
    1919   USE trdmod_oce      ! ocean variables trends 
     20   USE prtctl          ! Print control 
    2021 
    2122   IMPLICIT NONE 
     
    197198      ENDIF 
    198199 
    199       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    200          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    201          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    202          WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    203          u_ctl = zua   ;   v_ctl = zva 
     200      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     201         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, & 
     202            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    204203      ENDIF 
    205204 
  • trunk/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r247 r258  
    2222   USE trdmod          ! ocean dynamics trends  
    2323   USE trdmod_oce      ! ocean variables trends 
     24   USE prtctl          ! Print control 
    2425 
    2526   IMPLICIT NONE 
     
    7980         ikbu, ikbum1, ikbv, ikbvm1      ! temporary integers 
    8081      REAL(wp) ::   & 
    81          zrau0r, z2dt, zua, zva,      &  ! temporary scalars 
     82         zrau0r, z2dt,                &  ! temporary scalars 
    8283         z2dtf, zcoef, zzws, zrhs        !    "         " 
    8384      REAL(wp), DIMENSION(jpi,jpj) ::   & 
     
    355356      ENDIF 
    356357 
    357       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    358          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    359          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    360          WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    361          u_ctl = zua   ;   v_ctl = zva 
     358      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     359         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, & 
     360            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    362361      ENDIF 
    363362 
  • trunk/NEMO/OPA_SRC/DYN/dynzdf_imp_atsk.F90

    r247 r258  
    1919   USE trdmod          ! ocean dynamics trends  
    2020   USE trdmod_oce      ! ocean variables trends 
     21   USE prtctl          ! Print control 
    2122 
    2223   IMPLICIT NONE 
     
    7475         ikbu, ikbum1, ikbv, ikbvm1      !    "         "       
    7576      REAL(wp) ::   & 
    76          zrau0r, z2dt, zua, zva,       & !temporary scalars 
     77         zrau0r, z2dt,                 & !temporary scalars 
    7778         z2dtf, zcoef, zzws 
    7879      REAL(wp), DIMENSION(jpi,jpk) ::  & 
     
    338339      ENDIF 
    339340 
    340       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    341          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    342          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    343          WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    344          u_ctl = zua   ;   v_ctl = zva 
     341      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     342         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, & 
     343            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    345344      ENDIF 
    346345 
  • trunk/NEMO/OPA_SRC/DYN/dynzdf_iso.F90

    r247 r258  
    2121   USE trdmod          ! ocean dynamics trends  
    2222   USE trdmod_oce      ! ocean variables trends 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    110111      REAL(wp) ::   & 
    111112         zrau0r, z2dt,                       & ! temporary scalars 
    112          z2dtf, zua, zva, zcoef, zzws 
     113         z2dtf, zcoef, zzws 
    113114      REAL(wp) ::   & 
    114115         zcoef0, zcoef3, zcoef4, zbu, zbv, zmkt, zmkf,   & 
     
    406407      ENDIF 
    407408 
    408       IF(l_ctl) THEN         ! print sum trends (used for debugging) 
    409          zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) ) 
    410          zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) ) 
    411          WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl 
    412          u_ctl = zua   ;   v_ctl = zva 
     409      IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
     410         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, & 
     411            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    413412      ENDIF 
    414413 
  • trunk/NEMO/OPA_SRC/DYN/wzvmod.F90

    r247 r258  
    1212   USE dom_oce         ! ocean space and time domain variables  
    1313   USE in_out_manager  ! I/O manager 
     14   USE prtctl          ! Print control 
    1415 
    1516   IMPLICIT NONE 
     
    8081      !                                                ! =============== 
    8182 
    82       IF(l_ctl) THEN                ! print mean trends (used for debugging) 
    83          WRITE(numout,*) ' w**2 -   : ', SUM( wn(2:nictl,2:njctl,1:jpkm1) * wn   (2:nictl,2:njctl,1:jpkm1) ) 
    84       ENDIF 
     83      IF(ln_ctl)   CALL prt_ctl(tab3d_1=wn, clinfo1=' w**2 -   : ', mask1=wn) 
    8584 
    8685   END SUBROUTINE wzv 
     
    131130      END DO 
    132131 
    133       IF(l_ctl) THEN                ! print mean trends (used for debugging) 
    134          WRITE(numout,*) ' w**2 -   : ', SUM( wn(2:nictl,2:njctl,1:jpkm1) * wn   (2:nictl,2:njctl,1:jpkm1) ) 
    135       ENDIF 
     132      IF(ln_ctl)   CALL prt_ctl(tab3d_1=wn, clinfo1=' w**2 -   : ', mask1=wn) 
    136133 
    137134   END SUBROUTINE wzv 
  • trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90

    r247 r258  
    2222   USE in_out_manager  ! I/O manager 
    2323   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     24   USE prtctl          ! Print control 
    2425 
    2526   IMPLICIT NONE 
     
    162163      CALL lbc_lnk( aeiv, 'V', 1. ) 
    163164 
    164       IF(l_ctl)   WRITE(numout,*) ' eiv  - u: ', SUM( aeiu(1:nictl+1,1:njctl+1) ), ' v: ', SUM( aeiv(1:nictl+1,1:njctl+1) ) 
    165  
    166  
     165      IF(ln_ctl)   THEN 
     166         CALL prt_ctl(tab2d_1=aeiu, clinfo1=' eiv  - u: ', ovlap=1) 
     167         CALL prt_ctl(tab2d_1=aeiv, clinfo1=' eiv  - v: ', ovlap=1) 
     168      ENDIF 
     169       
    167170      ! ORCA R05: add a space variation on aht (=aeiv except at the equator and river mouth) 
    168171      IF( cp_cfg == "orca" .AND. jp_cfg == 05 ) THEN 
     
    178181            END DO 
    179182         END DO 
    180          IF(l_ctl) THEN 
    181             WRITE(numout,*)' aht  - u: ', SUM( ahtu(1:nictl+1,1:njctl+1) ) 
    182             WRITE(numout,*)'      - v: ', SUM( ahtv(1:nictl+1,1:njctl+1) ) 
    183             WRITE(numout,*)'      - w: ', SUM( ahtw(1:nictl+1,1:njctl+1) ) 
     183         IF(ln_ctl) THEN 
     184            CALL prt_ctl(tab2d_1=ahtu, clinfo1=' aht  - u: ', ovlap=1) 
     185            CALL prt_ctl(tab2d_1=ahtv, clinfo1=' aht  - v: ', ovlap=1) 
     186            CALL prt_ctl(tab2d_1=ahtw, clinfo1=' aht  - w: ', ovlap=1) 
    184187         ENDIF 
    185188      ENDIF 
     
    327330      CALL lbc_lnk( aeiv, 'V', 1. ) 
    328331 
    329       IF(l_ctl)   WRITE(numout,*) ' eiv  - u: ', SUM( aeiu(1:nictl+1,1:njctl+1) ), ' v: ', SUM( aeiv(1:nictl+1,1:njctl+1) ) 
     332      IF(ln_ctl)   THEN 
     333         CALL prt_ctl(tab2d_1=aeiu, clinfo1=' eiv  - u: ', ovlap=1) 
     334         CALL prt_ctl(tab2d_1=aeiv, clinfo1=' eiv  - v: ', ovlap=1) 
     335      ENDIF 
    330336 
    331337      ! ORCA R05: add a space variation on aht (=aeiv except at the equator and river mouth) 
     
    342348            END DO 
    343349         END DO 
    344          IF(l_ctl) THEN 
    345             WRITE(numout,*) ' aht  - u: ', SUM( ahtu(1:nictl+1,1:njctl+1) ) 
    346             WRITE(numout,*) '      - v: ', SUM( ahtv(1:nictl+1,1:njctl+1) ) 
    347             WRITE(numout,*) '      - w: ', SUM( ahtw(1:nictl+1,1:njctl+1) ) 
     350         IF(ln_ctl) THEN 
     351            CALL prt_ctl(tab2d_1=ahtu, clinfo1=' aht  - u: ', ovlap=1) 
     352            CALL prt_ctl(tab2d_1=ahtv, clinfo1=' aht  - v: ', ovlap=1) 
     353            CALL prt_ctl(tab2d_1=ahtw, clinfo1=' aht  - w: ', ovlap=1) 
    348354         ENDIF 
    349355      ENDIF 
  • trunk/NEMO/OPA_SRC/LDF/ldfslp.F90

    r247 r258  
    2121   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2222   USE in_out_manager  ! I/O manager 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    480481      CALL lbc_lnk( wslpj, 'W', -1. ) 
    481482 
    482       IF(l_ctl) THEN 
    483          WRITE(numout,*) ' slp  - u : ', SUM( uslp (1:nictl,1:njctl,:) ), ' v : ', SUM( vslp (1:nictl,1:njctl,:) ) 
    484          WRITE(numout,*) '      - wi: ', SUM( wslpi(1:nictl,1:njctl,:) ), ' wj: ', SUM( wslpj(1:nictl,1:njctl,:) ) 
     483      IF(ln_ctl) THEN 
     484         CALL prt_ctl(tab3d_1=uslp , clinfo1=' slp  - u : ', tab3d_2=vslp,  clinfo2=' v : ', kdim=jpk) 
     485         CALL prt_ctl(tab3d_1=wslpi, clinfo1=' slp  - wi: ', tab3d_2=wslpj, clinfo2=' wj: ', kdim=jpk) 
    485486      ENDIF 
    486487 
  • trunk/NEMO/OPA_SRC/SBC/bulk.F90

    r247 r258  
    2121   USE phycst          ! physical constants 
    2222   USE in_out_manager  ! I/O manager 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    9798 
    9899# if ! defined key_ice_lim 
    99          IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    100             WRITE(numout,*) ' Forcings ' 
    101             WRITE(numout,*) ' qsr_oce  : ', SUM( qsr_oce (1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    102             WRITE(numout,*) ' qsr_ice  : ', SUM( qsr_ice (1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    103             WRITE(numout,*) ' qnsr_oce : ', SUM( qnsr_oce(1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    104             WRITE(numout,*) ' qnsr_ice : ', SUM( qnsr_ice(1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    105             WRITE(numout,*) ' evap     : ', SUM( evap    (1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    106             WRITE(numout,*) ' precip   : ', SUM( tprecip (1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) / rday 
    107             WRITE(numout,*) ' Snow     : ', SUM( sprecip (1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) / rday 
    108             WRITE(numout,*) ' u-stress : ', SUM( taux    (1:nictl+1,1:njctl+1) * umask(1:nictl+1,1:njctl+1,1) ) 
    109             WRITE(numout,*) ' v-stress : ', SUM( tauy    (1:nictl+1,1:njctl+1) * vmask(1:nictl+1,1:njctl+1,1) ) 
    110             WRITE(numout,*) ' sst      : ', SUM( zsst    (1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    111             WRITE(numout,*) ' sss      : ', SUM( zsss    (1:nictl+1,1:njctl+1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    112             WRITE(numout,*) 
     100         IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     101            CALL prt_ctl_info(' Forcings ') 
     102            CALL prt_ctl(tab2d_1=qsr_oce , clinfo1=' qsr_oce   : ', mask1=tmask, ovlap=1) 
     103            CALL prt_ctl(tab2d_1=qsr_ice , clinfo1=' qsr_ice   : ', mask1=tmask, ovlap=1) 
     104            CALL prt_ctl(tab2d_1=qnsr_oce, clinfo1=' qnsr_oce  : ', mask1=tmask, ovlap=1) 
     105            CALL prt_ctl(tab2d_1=qnsr_ice, clinfo1=' qnsr_ice  : ', mask1=tmask, ovlap=1) 
     106            CALL prt_ctl(tab2d_1=evap    , clinfo1=' evap      : ', mask1=tmask, ovlap=1) 
     107            CALL prt_ctl(tab2d_1=tprecip , clinfo1=' precip    : ', mask1=tmask, ovlap=1) 
     108            CALL prt_ctl(tab2d_1=sprecip , clinfo1=' Snow      : ', mask1=tmask, ovlap=1) 
     109            CALL prt_ctl(tab2d_1=taux    , clinfo1=' u-stress  : ', mask1=tmask, ovlap=1) 
     110            CALL prt_ctl(tab2d_1=tauy    , clinfo1=' v-stress  : ', mask1=tmask, ovlap=1) 
     111            CALL prt_ctl(tab2d_1=zsst    , clinfo1=' sst       : ', mask1=tmask, ovlap=1) 
     112            CALL prt_ctl(tab2d_1=zsss    , clinfo1=' sss       : ', mask1=tmask, ovlap=1) 
    113113         ENDIF 
    114114# endif    
  • trunk/NEMO/OPA_SRC/SBC/flxblk.F90

    r247 r258  
    2424   USE lbclnk 
    2525   USE albedo 
     26   USE prtctl          ! Print control 
    2627 
    2728   IMPLICIT NONE 
     
    319320 
    320321      iday   = INT( zxday ) 
    321       IF(l_ctl)   WRITE(numout,*) ' declin : iday ', iday, ' nfbulk= ', nfbulk 
     322 
     323      IF(ln_ctl) CALL prt_ctl_info('declin : iday ', ivar1=iday, clinfo2=' nfbulk= ', ivar2=nfbulk) 
     324 
    322325      !   computation of the solar declination, his sine and his cosine 
    323326      CALL flx_blk_declin( indaet, iday, zdecl ) 
  • trunk/NEMO/OPA_SRC/SBC/ocesbc.F90

    r247 r258  
    1313   USE dom_oce        ! ocean space domain variables 
    1414   USE cpl_oce        ! coupled ocean-atmosphere variables 
    15    USE ice_oce 
    16    USE blk_oce 
    17    USE flx_oce 
     15   USE ice_oce        ! sea-ice variable 
     16   USE blk_oce        ! bulk variables 
     17   USE flx_oce        ! sea-ice/ocean forcings variables 
    1818   USE phycst         ! Define parameters for the routines 
    19    USE taumod 
    20    USE flxmod 
    21    USE flxrnf 
     19   USE taumod         ! surface stress forcing 
     20   USE flxmod         ! thermohaline fluxes 
     21   USE flxrnf         ! runoffs forcing 
    2222   USE tradmp         ! damping salinity trend 
    23    USE dtatem 
    24    USE dtasal 
    25    USE ocfzpt 
    26    USE lbclnk 
    27    USE lib_mpp 
     23   USE dtatem         ! ocean temperature data 
     24   USE dtasal         ! ocean salinity data 
     25   USE ocfzpt         ! surface ocean freezing point 
     26   USE lbclnk         ! ocean lateral boundary condition 
     27   USE lib_mpp        ! distribued memory computing library 
    2828   USE in_out_manager ! I/O manager 
     29   USE prtctl         ! Print control 
    2930 
    3031   IMPLICIT NONE 
     
    301302      !!---------------------------------------------------------------------- 
    302303      !! * Modules used 
    303       USE cpl_oce  
     304      USE cpl_oce       ! coupled ocean-atmosphere variables 
    304305 
    305306      !! * Arguments 
     
    400401      !!---------------------------------------------------------------------- 
    401402      !! * Modules used 
    402       USE daymod 
     403      USE daymod                 ! calendar 
    403404#if ! defined key_dtasst 
    404       USE dtasst, ONLY : rclice 
     405      USE dtasst, ONLY : rclice  ! sea surface temperature data 
    405406#endif 
    406407#if defined key_flx_bulk_monthly || defined key_flx_bulk_daily 
    407       USE blk_oce 
     408      USE blk_oce                ! bulk variables 
    408409#endif 
    409410#if defined key_flx_forced_daily 
    410       USE flx_oce 
     411      USE flx_oce                ! sea-ice/ocean forcings variables 
    411412#endif 
    412413 
     
    769770      REAL(wp), DIMENSION(jpi,jpj)  :: zsss, zfreeze 
    770771      REAL(wp) ::   zerp, ztrp, zsrp 
     772      CHARACTER (len=71) :: charout 
    771773#if defined key_dynspg_fsc 
    772774      REAL(wp) ::   zwei 
     
    852854      IF( lk_mpp )   CALL mpp_sum( aplus  )   ! sums over the global domain 
    853855      IF( lk_mpp )   CALL mpp_sum( aminus ) 
    854       IF(l_ctl)   WRITE(numout,*) ' oce_sbc_dmp : a+ = ', aplus, ' a- = ', aminus 
     856 
     857      IF(ln_ctl)   THEN 
     858         WRITE(charout,FMT="('oce_sbc_dmp : a+ = ',D23.16, ' a- = ',D23.16)") aplus, aminus 
     859         CALL prt_ctl_info(charout) 
     860      ENDIF 
    855861 
    856862      zadefi = MIN( aplus, aminus ) 
  • trunk/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r247 r258  
    2424   USE dynspg_fsc      !  
    2525   USE dynspg_fsc_atsk !  
     26   USE prtctl          ! Print control 
    2627 
    2728   IMPLICIT NONE 
     
    299300      ENDIF 
    300301 
    301       IF(l_ctl) THEN 
    302          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    303          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    304          WRITE(numout,*) ' had  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    305          t_ctl = zta   ;   s_ctl = zsa 
     302      IF(ln_ctl)   THEN 
     303          CALL prt_ctl(tab3d_1=ta, clinfo1=' centered2 had  - Ta: ', mask1=tmask, & 
     304             &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    306305      ENDIF 
    307306 
     
    400399      ENDIF 
    401400 
    402       IF(l_ctl) THEN 
    403          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    404          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    405          WRITE(numout,*) ' zad  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl, ' centered2' 
    406          t_ctl = zta   ;   s_ctl = zsa 
     401      IF(ln_ctl)   THEN 
     402          CALL prt_ctl(tab3d_1=ta, clinfo1=' centered2 zad  - Ta: ', mask1=tmask, & 
     403             &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    407404      ENDIF 
    408405 
  • trunk/NEMO/OPA_SRC/TRA/traadv_cen2_atsk.h90

    r247 r258  
    252252      ENDIF 
    253253 
    254       IF(l_ctl) THEN 
    255          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    256          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    257          WRITE(numout,*) ' had  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    258          t_ctl = zta   ;   s_ctl = zsa 
     254      IF(ln_ctl)   THEN 
     255          CALL prt_ctl(tab3d_1=ta, clinfo1=' centered2 had  - Ta: ', mask1=tmask, & 
     256             &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    259257      ENDIF 
    260258 
     
    350348      ENDIF 
    351349 
    352       IF(l_ctl) THEN 
    353          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    354          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    355          WRITE(numout,*) ' zad  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl, ' centered2 autotsk' 
    356          t_ctl = zta   ;   s_ctl = zsa 
     350      IF(ln_ctl)   THEN 
     351          CALL prt_ctl(tab3d_1=ta, clinfo1=' centered2 zad  - Ta: ', mask1=tmask, & 
     352             &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    357353      ENDIF 
    358354 
  • trunk/NEMO/OPA_SRC/TRA/traadv_muscl.F90

    r247 r258  
    2121   USE lbclnk          ! ocean lateral boundary condition (or mpp link)  
    2222   USE diaptr          ! poleward transport diagnostics 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    279280      ENDIF 
    280281 
    281       IF(l_ctl) THEN 
    282          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    283          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    284          WRITE(numout,*) ' had  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl, ' muscl' 
    285          t_ctl = zta   ;   s_ctl = zsa 
     282      IF(ln_ctl) THEN 
     283         CALL prt_ctl(tab3d_1=ta, clinfo1=' muscl had  - Ta: ', mask1=tmask ,  & 
     284            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra' ) 
    286285      ENDIF 
    287286 
     
    412411      ENDIF 
    413412 
    414       IF(l_ctl) THEN 
    415          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    416          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    417          WRITE(numout,*) ' zad  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl, ' muscl' 
    418          t_ctl = zta   ;   s_ctl = zsa 
     413      IF(ln_ctl) THEN 
     414         CALL prt_ctl(tab3d_1=ta, clinfo1=' muscl zad  - Ta: ', mask1=tmask ,  & 
     415            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    419416      ENDIF 
    420417 
  • trunk/NEMO/OPA_SRC/TRA/traadv_muscl2.F90

    r247 r258  
    2121   USE lbclnk          ! ocean lateral boundary condition (or mpp link)  
    2222   USE diaptr          ! poleward transport diagnostics 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    340341      ENDIF 
    341342 
    342       IF(l_ctl) THEN 
    343          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    344          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    345          WRITE(numout,*) ' had  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl, ' muscl' 
    346          t_ctl = zta   ;   s_ctl = zsa 
     343      IF(ln_ctl) THEN 
     344         CALL prt_ctl(tab3d_1=ta, clinfo1=' muscl2 had  - Ta: ', mask1=tmask, & 
     345            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    347346      ENDIF 
    348347 
     
    486485      ENDIF 
    487486 
    488       IF(l_ctl) THEN 
    489          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    490          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    491          WRITE(numout,*) ' zad  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl, ' muscl2' 
    492          t_ctl = zta   ;   s_ctl = zsa 
     487      IF(ln_ctl) THEN 
     488         CALL prt_ctl(tab3d_1=ta, clinfo1=' muscl2 zad  - Ta: ', mask1=tmask, & 
     489            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
     490 
    493491      ENDIF 
    494492 
  • trunk/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r247 r258  
    2323   USE lbclnk          ! ocean lateral boundary condition (or mpp link)  
    2424   USE diaptr          ! poleward transport diagnostics 
     25   USE prtctl          ! Print control 
    2526 
    2627 
     
    8687      !! * Local declarations 
    8788      INTEGER  ::   ji, jj, jk              ! dummy loop indices 
    88       REAL(wp) ::   zta, zsa,            &  ! temporary scalar 
     89      REAL(wp) ::                        &  ! temporary scalar 
    8990         ztai, ztaj, ztak,               &  !    "         "    
    9091         zsai, zsaj, zsak                   !    "         "    
     
    343344      ENDIF 
    344345 
    345       IF(l_ctl) THEN 
    346          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    347          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    348          WRITE(numout,*) ' zad  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl, ' tvd' 
    349          t_ctl = zta   ;   s_ctl = zsa 
     346      IF(ln_ctl) THEN 
     347         CALL prt_ctl(tab3d_1=ta, clinfo1=' tvd adv  - Ta: ', mask1=tmask, & 
     348            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    350349      ENDIF 
    351350 
  • trunk/NEMO/OPA_SRC/TRA/trabbc.F90

    r247 r258  
    1616   USE phycst          ! physical constants 
    1717   USE in_out_manager  ! I/O manager 
     18   USE prtctl          ! Print control 
    1819 
    1920   IMPLICIT NONE 
     
    8384      INTEGER ::   ji, jj              ! dummy loop indices 
    8485#endif 
    85       REAL(wp) ::   zta                ! temporary scalar 
    8686      !!---------------------------------------------------------------------- 
    8787 
     
    107107#endif 
    108108 
    109       IF(l_ctl) THEN 
    110          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    111          WRITE(numout,*) ' bbc  - Ta: ', zta-t_ctl 
    112          t_ctl = zta 
     109      IF(ln_ctl) THEN 
     110         CALL prt_ctl(tab3d_1=ta, clinfo1=' bbc  - Ta: ', mask1=tmask, clinfo3='tra-ta') 
    113111      ENDIF 
    114112 
  • trunk/NEMO/OPA_SRC/TRA/trabbl.F90

    r247 r258  
    2020   USE trdmod_oce      ! ocean variables trends 
    2121   USE in_out_manager  ! I/O manager 
     22   USE prtctl          ! Print control 
    2223 
    2324   IMPLICIT NONE 
     
    370371      ENDIF 
    371372 
    372       IF(l_ctl) THEN 
    373          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    374          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    375          WRITE(numout,*) ' bbl  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    376          t_ctl = zta   ;   s_ctl = zsa 
     373      IF(ln_ctl) THEN 
     374         CALL prt_ctl(tab3d_1=ta, clinfo1=' bbl  - Ta: ', mask1=tmask, & 
     375            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    377376      ENDIF 
    378377 
  • trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90

    r247 r258  
    451451      ENDIF 
    452452 
    453       IF(l_ctl) THEN 
    454          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    455          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    456          WRITE(numout,*) ' bbl  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    457          t_ctl = zta   ;   s_ctl = zsa 
     453      IF(ln_ctl) THEN 
     454         CALL prt_ctl(tab3d_1=ta, clinfo1=' bbl  - Ta: ', mask1=tmask, & 
     455            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    458456      ENDIF 
    459457 
  • trunk/NEMO/OPA_SRC/TRA/tradmp.F90

    r247 r258  
    2626   USE zdfmxl          ! mixed layer depth 
    2727   USE lib_mpp         ! distribued memory computing 
     28   USE prtctl          ! Print control 
    2829 
    2930   IMPLICIT NONE 
     
    184185      ENDIF 
    185186 
    186       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    187          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    188          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    189          WRITE(numout,*) ' dmp  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    190          t_ctl = zta   ;   s_ctl = zsa 
     187      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     188         CALL prt_ctl(tab3d_1=ta, clinfo1=' dmp  - Ta: ', mask1=tmask, & 
     189            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    191190      ENDIF 
    192191 
  • trunk/NEMO/OPA_SRC/TRA/traldf_bilap.F90

    r247 r258  
    1919   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2020   USE diaptr          ! poleward transport diagnostics 
     21   USE prtctl          ! Print control 
    2122 
    2223   IMPLICIT NONE 
     
    231232      ENDIF 
    232233 
    233       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    234          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    235          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    236          WRITE(numout,*) ' ldf  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    237          t_ctl = zta   ;   s_ctl = zsa 
     234      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     235         CALL prt_ctl(tab3d_1=ta, clinfo1=' ldf  - Ta: ', mask1=tmask, & 
     236            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    238237      ENDIF 
    239238 
  • trunk/NEMO/OPA_SRC/TRA/traldf_bilapg.F90

    r247 r258  
    2222   USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
    2323   USE diaptr          ! poleward transport diagnostics  
     24   USE prtctl          ! Print control 
    2425 
    2526   IMPLICIT NONE 
     
    8081      !! * Local declarations 
    8182      INTEGER ::   ji, jj, jk                 ! dummy loop indices 
    82       REAL(wp) ::   zta, zsa                  ! temporary scalars  
    8383      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
    8484         wk3, wk4                ! work array used for rotated biharmonic 
     
    134134      ENDIF 
    135135 
    136       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    137          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    138          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    139          WRITE(numout,*) ' ldf  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    140          t_ctl = zta   ;   s_ctl = zsa 
     136      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     137         CALL prt_ctl(tab3d_1=ta, clinfo1=' ldf  - Ta: ', mask1=tmask, & 
     138            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    141139      ENDIF 
    142140 
  • trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r247 r258  
    2121   USE ldfslp          ! iso-neutral slopes 
    2222   USE diaptr          ! poleward transport diagnostics 
     23   USE prtctl          ! Print control 
    2324 
    2425   IMPLICIT NONE 
     
    254255      ENDIF 
    255256 
    256       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    257          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    258          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    259          WRITE(numout,*) ' ldf  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    260          t_ctl = zta   ;   s_ctl = zsa 
     257      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     258         CALL prt_ctl(tab3d_1=ta, clinfo1=' ldf  - Ta: ', mask1=tmask, & 
     259            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    261260      ENDIF 
    262261 
  • trunk/NEMO/OPA_SRC/TRA/traldf_iso_zps.F90

    r247 r258  
    2121   USE ldfslp          ! iso-neutral slopes 
    2222   USE diaptr          ! poleward transport diagnostics 
     23   USE prtctl          ! Print control 
    2324 
    2425 
     
    279280      ENDIF 
    280281 
    281       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    282          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    283          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    284          WRITE(numout,*) ' ldf  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    285          t_ctl = zta   ;   s_ctl = zsa 
     282      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     283         CALL prt_ctl(tab3d_1=ta, clinfo1=' ldf  - Ta: ', mask1=tmask, & 
     284            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    286285      ENDIF 
    287286 
  • trunk/NEMO/OPA_SRC/TRA/traldf_lap.F90

    r247 r258  
    1717   USE in_out_manager  ! I/O manager 
    1818   USE diaptr          ! poleward transport diagnostics 
     19   USE prtctl          ! Print control 
    1920 
    2021 
     
    157158      ENDIF 
    158159 
    159       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    160          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    161          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    162          WRITE(numout,*) ' ldf  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    163          t_ctl = zta   ;   s_ctl = zsa 
     160      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     161         CALL prt_ctl(tab3d_1=ta, clinfo1=' ldf  - Ta: ', mask1=tmask, & 
     162            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    164163      ENDIF 
    165164 
  • trunk/NEMO/OPA_SRC/TRA/tranxt.F90

    r247 r258  
    1515   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    1616   USE obctra          ! open boundary condition (obc_tra routine) 
     17   USE prtctl          ! Print control 
    1718 
    1819   IMPLICIT NONE 
     
    165166      !                                                ! =============== 
    166167 
    167       IF(l_ctl) THEN         ! print mean field (used for debugging) 
    168          WRITE(numout,*) ' nxt  - Tn: ', SUM(tn(2:nictl,2:njctl,1:jpkm1)*tmask(2:nictl,2:njctl,1:jpkm1)), & 
    169          &                      ' Sn: ', SUM(sn(2:nictl,2:njctl,1:jpkm1)*tmask(2:nictl,2:njctl,1:jpkm1))  
     168      IF(ln_ctl) THEN         ! print mean field (used for debugging) 
     169         CALL prt_ctl(tab3d_1=tn, clinfo1=' nxt  - Tn: ', mask1=tmask, & 
     170            &         tab3d_2=sn, clinfo2=' Sn: ', mask2=tmask) 
    170171      ENDIF 
    171172 
  • trunk/NEMO/OPA_SRC/TRA/traqsr.F90

    r247 r258  
    1515   USE trdmod_oce      ! ocean variables trends 
    1616   USE in_out_manager  ! I/O manager 
    17  
    1817   USE trc_oce         ! share SMS/Ocean variables 
    19  
    2018   USE ocesbc          ! thermohaline fluxes 
    2119   USE phycst          ! physical constants 
     20   USE prtctl          ! Print control 
    2221 
    2322   IMPLICIT NONE 
     
    235234 
    236235 
    237       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    238          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    239          WRITE(numout,*) ' qsr  - Ta: ', zta-t_ctl 
    240          t_ctl = zta  
     236      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     237         CALL prt_ctl(tab3d_1=ta, clinfo1=' qsr  - Ta: ', mask1=tmask, clinfo3='tra-ta') 
    241238      ENDIF 
    242239 
  • trunk/NEMO/OPA_SRC/TRA/trasbc.F90

    r247 r258  
    1717   USE trdmod_oce      ! ocean variables trends 
    1818   USE in_out_manager  ! I/O manager 
     19   USE prtctl          ! Print control 
    1920 
    2021   IMPLICIT NONE 
     
    138139      ENDIF 
    139140       
    140       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    141          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    142          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    143          WRITE(numout,*) ' sbc  - Ta: ', zta, ' Sa: ', zsa 
    144          t_ctl = zta   ;   s_ctl = zsa 
     141      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     142         CALL prt_ctl(tab3d_1=ta, clinfo1=' sbc  - Ta: ', mask1=tmask, & 
     143            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    145144      ENDIF 
    146145 
  • trunk/NEMO/OPA_SRC/TRA/trazdf_exp.F90

    r247 r258  
    1818   USE zdfddm          ! ocean vertical physics: double diffusion 
    1919   USE in_out_manager  ! I/O manager 
     20   USE prtctl          ! Print control 
    2021 
    2122   IMPLICIT NONE 
     
    180181      ENDIF 
    181182 
    182       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    183          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    184          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    185          WRITE(numout,*) ' zdf  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    186          t_ctl = zta   ;   s_ctl = zsa 
     183      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     184         CALL prt_ctl(tab3d_1=ta, clinfo1=' zdf  - Ta: ', mask1=tmask, & 
     185            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    187186      ENDIF 
    188187 
  • trunk/NEMO/OPA_SRC/TRA/trazdf_imp.F90

    r255 r258  
    1919   USE trdmod_oce      ! ocean variables trends 
    2020   USE in_out_manager  ! I/O manager 
     21   USE prtctl          ! Print control 
    2122 
    2223 
     
    8485      INTEGER ::   ji, jj, jk                 ! dummy loop indices 
    8586      INTEGER ::   ikst, ikenm2, ikstp1 
    86       REAL(wp)  ::   zta, zsa                 ! temporary scalars 
    8787      REAL(wp), DIMENSION(jpi,jpk) ::   & 
    8888         zwd, zws, zwi,          &  ! ??? 
     
    243243      ENDIF 
    244244 
    245       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    246          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    247          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    248          WRITE(numout,*) ' zdf  - Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    249          t_ctl = zta   ;   s_ctl = zsa 
     245      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     246         CALL prt_ctl(tab3d_1=ta, clinfo1=' zdf  - Ta: ', mask1=tmask, & 
     247            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    250248      ENDIF 
    251249 
  • trunk/NEMO/OPA_SRC/TRA/trazdf_iso.F90

    r255 r258  
    2424   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2525   USE zdfkpp          ! KPP parameterisation 
     26   USE prtctl          ! Print control 
    2627 
    2728   IMPLICIT NONE 
     
    408409      ENDIF 
    409410 
    410       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    411          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    412          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    413          WRITE(numout,*) ' zdf 1- Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    414          t_ctl = zta   ;   s_ctl = zsa 
     411      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     412         CALL prt_ctl(tab3d_1=ta, clinfo1=' zdf 1- Ta: ', mask1=tmask, & 
     413            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    415414      ENDIF 
    416415 
     
    578577      ENDIF 
    579578 
    580       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    581          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    582          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    583          WRITE(numout,*) ' zdf 2- Ta: ', zta, ' Sa: ', zsa 
     579      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     580         CALL prt_ctl(tab3d_1=ta, clinfo1=' zdf 2- Ta: ', mask1=tmask, & 
     581            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask) 
    584582      ENDIF 
    585583 
  • trunk/NEMO/OPA_SRC/TRA/trazdf_iso_vopt.F90

    r255 r258  
    2727   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2828   USE zdfkpp          ! KPP parameterisation 
     29   USE prtctl          ! Print control 
    2930 
    3031   IMPLICIT NONE 
     
    7071      !! * Arguments 
    7172      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
    72       !! * Local variables 
    73       REAL(wp) :: zta, zsa               ! temporary scalars 
    7473 
    7574      IF( kt == nit000 ) THEN 
     
    9190      CALL tra_zdf_iso( kt ) 
    9291 
    93       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    94          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    95          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    96          WRITE(numout,*) ' zdf 1- Ta: ', zta-t_ctl, ' Sa: ', zsa-s_ctl 
    97          t_ctl = zta   ;   s_ctl = zsa 
     92      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     93         CALL prt_ctl(tab3d_1=ta, clinfo1=' zdf 1- Ta: ', mask1=tmask, & 
     94            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask, clinfo3='tra') 
    9895      ENDIF 
    9996 
     
    103100      CALL tra_zdf_zdf( kt ) 
    104101 
    105       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    106          zta = SUM( ta(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    107          zsa = SUM( sa(2:nictl,2:njctl,1:jpkm1) * tmask(2:nictl,2:njctl,1:jpkm1) ) 
    108          WRITE(numout,*) ' zdf 2- Ta: ', zta, ' Sa: ', zsa 
     102      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     103         CALL prt_ctl(tab3d_1=ta, clinfo1=' zdf 2- Ta: ', mask1=tmask, & 
     104            &         tab3d_2=sa, clinfo2=' Sa: ', mask2=tmask) 
    109105      ENDIF 
    110106 
  • trunk/NEMO/OPA_SRC/ZDF/zdfbfr.F90

    r247 r258  
    1717   USE in_out_manager  ! I/O manager 
    1818   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     19   USE prtctl          ! Print control 
    1920 
    2021   IMPLICIT NONE 
     
    170171      CALL lbc_lnk( avmv, 'V', 1. ) 
    171172 
    172       IF(l_ctl)   WRITE(numout,*) ' bfr  u : ', SUM( avmu(1:nictl+1,1:njctl+1,:) ), ' v : ', SUM( avmv(1:nictl+1,1:njctl+1,:) ) 
     173      IF(ln_ctl)   THEN 
     174         CALL prt_ctl(tab3d_1=avmu, clinfo1=' bfr  - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 
     175      ENDIF 
    173176 
    174177   END SUBROUTINE zdf_bfr 
  • trunk/NEMO/OPA_SRC/ZDF/zdfddm.F90

    r247 r258  
    1717   USE in_out_manager  ! I/O manager 
    1818   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     19   USE prtctl          ! Print control 
    1920 
    2021   IMPLICIT NONE 
     
    201202      CALL lbc_lnk( avmv, 'V', 1. ) 
    202203 
    203       IF(l_ctl) THEN 
    204          WRITE(numout,*) ' ddm  t : ', SUM( avt (1:nictl+1,1:njctl+1,:) ), ' s : ', SUM( avs (1:nictl+1,1:njctl+1,:) ) 
    205          WRITE(numout,*) '      u : ', SUM( avmu(1:nictl+1,1:njctl+1,:) ), ' v : ', SUM( avmv(1:nictl+1,1:njctl+1,:) ) 
     204      IF(ln_ctl) THEN 
     205         CALL prt_ctl(tab3d_1=avt , clinfo1=' ddm  - t: ', tab3d_2=avs , clinfo2=' s: ', ovlap=1, kdim=jpk) 
     206         CALL prt_ctl(tab3d_1=avmu, clinfo1=' ddm  - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 
    206207      ENDIF 
    207208       
  • trunk/NEMO/OPA_SRC/ZDF/zdfkpp.F90

    r255 r258  
    2323   USE ocesbc          ! thermohaline fluxes 
    2424   USE zdfddm          ! double diffusion mixing 
     25   USE prtctl          ! Print control 
    2526 
    2627   IMPLICIT NONE 
     
    145146   !!---------------------------------------------------------------------- 
    146147   !!   OPA 9.0 , LOCEAN-IPSL   (2005) 
    147    !! $Header$ 
    148    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     148   !! $Header$  
     149   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    149150   !!---------------------------------------------------------------------- 
    150151 
     
    12471248         CALL lbc_lnk( avmu(:,:,:), 'U', 1. )   ;    CALL lbc_lnk( avmv(:,:,:), 'V', 1. )   
    12481249  
     1250         IF(ln_ctl) THEN 
     1251#if defined key_zdfddm 
     1252            CALL prt_ctl(tab3d_1=avt  , clinfo1=' kpp  - t: ', tab3d_2=avs , clinfo2=' s: ', & 
     1253               &         ovlap=1, kdim=jpk) 
     1254#else 
     1255            CALL prt_ctl(tab3d_1=avt  , clinfo1=' kpp  - t: ', ovlap=1, kdim=jpk) 
     1256#endif 
     1257            CALL prt_ctl(tab3d_1=avmu  , clinfo1='       u: ', tab3d_2=avmv , clinfo2=' v: ', & 
     1258               &         ovlap=1, kdim=jpk) 
     1259         ENDIF 
     1260 
    12491261   END SUBROUTINE zdf_kpp 
    12501262 
     
    12681280      !!     9.0  ! 05-01 (C. Ethe) F90 : free form 
    12691281      !!---------------------------------------------------------------------- 
    1270       !! * Module used 
    12711282      !! * local declarations 
    12721283 
  • trunk/NEMO/OPA_SRC/ZDF/zdfmxl.F90

    r247 r258  
    1313   USE zdf_oce         ! ocean vertical physics 
    1414   USE in_out_manager  ! I/O manager 
     15   USE prtctl          ! Print control 
    1516 
    1617   IMPLICIT NONE 
     
    134135      !                                                ! =============== 
    135136 
    136       IF(l_ctl)   WRITE(numout,*) ' nmln : ', SUM( nmln(1:nictl+1,1:njctl+1) ), ' hmld: ', SUM( hmld(1:nictl+1,1:njctl+1) ) 
     137      IF(ln_ctl)   THEN 
     138         CALL prt_ctl(tab2d_1=FLOAT(nmln), clinfo1=' nmln : ', tab2d_2=hmld, clinfo2=' hmld : ', ovlap=1) 
     139      ENDIF 
     140       
    137141 
    138142   END SUBROUTINE zdf_mxl 
     
    235239      END DO 
    236240 
    237       IF(l_ctl)   WRITE(numout,*) ' nmln : ', SUM( nmln(1:nictl+1,1:njctl+1) ), ' hmld: ', SUM( hmld(1:nictl+1,1:njctl+1) ) 
     241      IF(ln_ctl)   THEN 
     242         CALL prt_ctl(tab2d_1=FLOAT(nmln), clinfo1=' nmln : ', tab2d_2=hmld, clinfo2=' hmld : ', ovlap=1) 
     243      ENDIF 
    238244 
    239245   END SUBROUTINE zdf_mxl 
  • trunk/NEMO/OPA_SRC/ZDF/zdftke.F90

    r253 r258  
    2020   USE phycst          ! physical constants 
    2121   USE taumod          ! surface stress 
     22   USE prtctl          ! Print control 
    2223 
    2324   IMPLICIT NONE 
     
    614615      CALL lbc_lnk( avt, 'W', 1. ) 
    615616 
    616       IF(l_ctl) THEN 
    617          WRITE(numout,*) ' tke  e : ', SUM( en  (1:nictl+1,1:njctl+1,:) ), ' t : ', SUM( avt (1:nictl+1,1:njctl+1,:) ) 
    618          WRITE(numout,*) '      u : ', SUM( avmu(1:nictl+1,1:njctl+1,:) ), ' v : ', SUM( avmv(1:nictl+1,1:njctl+1,:) ) 
     617      IF(ln_ctl) THEN 
     618         CALL prt_ctl(tab3d_1=en  , clinfo1=' tke  - e: ', tab3d_2=avt , clinfo2=' t: ', ovlap=1, kdim=jpk) 
     619         CALL prt_ctl(tab3d_1=avmu, clinfo1=' tke  - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 
    619620      ENDIF 
    620621 
  • trunk/NEMO/OPA_SRC/ZDF/zdftke_atsk.h90

    r247 r258  
    478478      CALL lbc_lnk( avt, 'W', 1. ) 
    479479 
    480       IF(l_ctl) THEN 
    481          WRITE(numout,*) ' tke  e : ', SUM( en  (1:nictl+1,1:njctl+1,:) ), ' t : ', SUM( avt (1:nictl+1,1:njctl+1,:) ) 
    482          WRITE(numout,*) '      u : ', SUM( avmu(1:nictl+1,1:njctl+1,:) ), ' v : ', SUM( avmv(1:nictl+1,1:njctl+1,:) ) 
     480      IF(ln_ctl) THEN 
     481         CALL prt_ctl(tab3d_1=en  , clinfo1=' tke  - e: ', tab3d_2=avt , clinfo2=' t: ', ovlap=1, kdim=jpk) 
     482         CALL prt_ctl(tab3d_1=avmu, clinfo1=' tke  - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 
    483483      ENDIF 
    484484 
  • trunk/NEMO/OPA_SRC/daymod.F90

    r247 r258  
    1212   USE phycst          ! physical constants 
    1313   USE in_out_manager  ! I/O manager 
     14   USE prtctl          ! Print control 
    1415 
    1516   IMPLICIT NONE 
     
    6970      INTEGER  ::   iend, iday0, iday1   ! temporary integers 
    7071      REAL(wp) :: zadatrjn, zadatrjb     ! adatrj at timestep kt-1 and kt-2  
     72      CHARACTER (len=25) :: charout 
    7173      !!---------------------------------------------------------------------- 
    7274 
     
    153155      ENDIF 
    154156 
    155       IF(l_ctl) WRITE(numout,*)' kt =', kt, 'd/m/y =', nday, nmonth, nyear 
     157      IF(ln_ctl) THEN 
     158         WRITE(charout,FMT="('kt =', I4,'  d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 
     159         CALL prt_ctl_info(charout) 
     160      ENDIF 
    156161 
    157162   END SUBROUTINE day 
  • trunk/NEMO/OPA_SRC/eosbn2.F90

    r247 r258  
    2020   USE in_out_manager  ! I/O manager 
    2121   USE zdfddm          ! vertical physics: double diffusion 
     22   USE prtctl          ! Print control 
    2223 
    2324   IMPLICIT NONE 
     
    224225      END SELECT 
    225226 
    226       IF(l_ctl)   WRITE(numout,*) ' eos  : ', SUM( prd(1:nictl+1,1:njctl+1,:) ) 
     227      IF(ln_ctl)   THEN 
     228         CALL prt_ctl(tab3d_1=prd, clinfo1=' eos  : ', ovlap=1, kdim=jpk) 
     229      ENDIF 
    227230 
    228231   END SUBROUTINE eos_insitu 
     
    410413      END SELECT 
    411414 
    412       IF(l_ctl)   WRITE(numout,*) ' eos-p: ', SUM( prd(1:nictl+1,1:njctl+1,:) ), ' pot : ', SUM( prhop(1:nictl+1,1:njctl+1,:) ) 
     415      IF(ln_ctl)   THEN 
     416         CALL prt_ctl(tab3d_1=prd, clinfo1=' eos-p: ', tab3d_2=prhop, clinfo2=' pot : ', ovlap=1, kdim=jpk) 
     417      ENDIF 
    413418 
    414419   END SUBROUTINE eos_insitu_pot 
     
    587592      END SELECT 
    588593 
    589       IF(l_ctl)   WRITE(numout,*) ' eos2d: ', SUM( prd(1:nictl,1:njctl) ) 
     594      IF(ln_ctl)   CALL prt_ctl(tab2d_1=prd, clinfo1=' eos2d: ') 
    590595 
    591596   END SUBROUTINE eos_insitu_2d 
     
    762767      END SELECT 
    763768 
    764       IF(l_ctl)   WRITE(numout,*) ' bn2  : ', SUM( pn2 (1:nictl+1,1:njctl+1,:) ) 
     769      IF(ln_ctl)   THEN 
     770         CALL prt_ctl(tab3d_1=pn2, clinfo1=' bn2  : ', ovlap=1, kdim=jpk) 
    765771#if defined key_zdfddm 
    766       IF(l_ctl)   WRITE(numout,*) ' rrau : ', SUM( rrau(1:nictl+1,1:njctl+1,:) ) 
     772         CALL prt_ctl(tab3d_1=rrau, clinfo1=' rrau : ', ovlap=1, kdim=jpk) 
    767773#endif 
     774      ENDIF 
    768775 
    769776   END SUBROUTINE eos_bn2 
  • trunk/NEMO/OPA_SRC/in_out_manager.F90

    r247 r258  
    5252   LOGICAL ::   &               !: 
    5353      lwp                ,   &  !: boolean : true on the 1st processor only 
    54       l_ctl                     !: = ln_ctl.AND.lwp (print control on the 1st proc) 
     54      lsp_area = .TRUE.         !: to make a control print over a specific area 
    5555 
    5656   INTEGER ::                &  !: 
     
    5858      nprint =    0 ,        &  !: level of print (0 no print) 
    5959      nwrite =   10 ,        &  !: restart file frequency 
    60       nictl  = jpim1,        &  !: max i indice for the SUM control 
    61       njctl  = jpjm1            !: max j indice for the SUM control 
     60      nictls =    0 ,        &  !: Start i indice for the SUM control 
     61      nictle =    0 ,        &  !: End   i indice for the SUM control 
     62      njctls =    0 ,        &  !: Start j indice for the SUM control 
     63      njctle =    0 ,        &  !: End   j indice for the SUM control 
     64      isplt  =    1 ,        &  !: number of processors following i 
     65      jsplt  =    1 ,        &  !: number of processors following j 
     66      ijsplt =    1             !: nb of local domain = nb of processors 
     67 
    6268   !!---------------------------------------------------------------------- 
    6369   !! logical units 
  • trunk/NEMO/OPA_SRC/mppini.F90

    r247 r258  
    136136         inum                               ! temporary logical unit 
    137137 
    138       INTEGER, DIMENSION(jpnij) ::       & 
    139          ibonit, ibonjt                     ! temporary workspace 
    140138      INTEGER, DIMENSION(jpni,jpnj) ::   & 
    141139         iimppt, ijmppt, ilcit, ilcjt       ! temporary workspace 
  • trunk/NEMO/OPA_SRC/opa.F90

    r253 r258  
    4646 
    4747   USE step            ! OPA time-stepping                  (stp     routine) 
     48   USE prtctl          ! Print control                 (prt_ctl_init routine) 
    4849   USE ini1d           ! re-initialization of u-v mask for the 1D configuration 
    4950   USE dyncor1d        ! Coriolis factor at T-point 
     
    126127      lwp   = narea == 1 
    127128 
    128       IF( lk_mpp )   THEN 
    129 !! #############################  MPI debug  ###########################  !! 
    130 !!  To allow each processor to write its own mpp.output_XXX file, decomment  
    131 !!  the 5 following lines, else the output will be done only by the first 
    132 !!  processor in the ocean.output file: 
    133 !!  this one        numout = 80 
    134 !!  this one        numout = numout + narea 
    135 !!  this one        lwp    = .TRUE. 
    136 !!  this one        WRITE(file_out,FMT="('mpp.output_',I3.3)") narea-1 
    137 !!  this one        OPEN( UNIT=numout, FILE=TRIM(file_out),FORM='FORMATTED' ) 
    138 !! #############################  MPI debug  ###########################  !! 
    139       ENDIF 
    140  
    141129      IF(lwp) THEN 
    142130         WRITE(numout,*) 
     
    168156       
    169157      CALL dom_init                         ! Domain 
     158 
     159      IF( ln_ctl )      CALL prt_ctl_init   ! Print control 
    170160 
    171161      IF( lk_cfg_1d )   CALL fcorio_1d      ! redefine Coriolis at T-point 
  • trunk/NEMO/OPA_SRC/step.F90

    r255 r258  
    117117   USE restart         ! ocean restart                    (rst_wri routine) 
    118118   USE cpl             ! exchanges in coupled mode        (cpl_stp routine) 
     119   USE prtctl          ! Print control                    (prt_ctl routine) 
    119120 
    120121   IMPLICIT NONE 
     
    212213      ENDIF 
    213214 
    214       IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    215          WRITE(numout,*) ' emp  -   : ', SUM( emp   (1:nictl+1,1:njctl+1)   * tmask(1:nictl+1,1:njctl+1,1) ) 
    216          WRITE(numout,*) ' emps -   : ', SUM( emps  (1:nictl+1,1:njctl+1)   * tmask(1:nictl+1,1:njctl+1,1) ) 
    217          WRITE(numout,*) ' qt   -   : ', SUM( qt    (1:nictl+1,1:njctl+1)   * tmask(1:nictl+1,1:njctl+1,1) ) 
    218          WRITE(numout,*) ' qsr  -   : ', SUM( qsr   (1:nictl+1,1:njctl+1)   * tmask(1:nictl+1,1:njctl+1,1) ) 
    219          WRITE(numout,*) ' runoff   : ', SUM( runoff(1:nictl+1,1:njctl+1)   * tmask(1:nictl+1,1:njctl+1,1) ) 
    220          WRITE(numout,*) ' tmask    : ', SUM( tmask (1:nictl+1,1:njctl+1,:) ) 
    221          WRITE(numout,*) ' sst  -   : ', SUM( tn    (1:nictl+1,1:njctl+1,1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    222          WRITE(numout,*) ' sss  -   : ', SUM( sn    (1:nictl+1,1:njctl+1,1) * tmask(1:nictl+1,1:njctl+1,1) ) 
    223          WRITE(numout,*) ' tau  - x : ', SUM( taux  (1:nictl+1,1:njctl+1) ), ' - y : ', SUM( tauy(1:nictl+1,1:njctl+1) ) 
     215      IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
     216         CALL prt_ctl(tab2d_1=emp    , clinfo1=' emp  -   : ', mask1=tmask, ovlap=1) 
     217         CALL prt_ctl(tab2d_1=emps   , clinfo1=' emps -   : ', mask1=tmask, ovlap=1) 
     218         CALL prt_ctl(tab2d_1=qt     , clinfo1=' qt   -   : ', mask1=tmask, ovlap=1) 
     219         CALL prt_ctl(tab2d_1=qsr    , clinfo1=' qsr  -   : ', mask1=tmask, ovlap=1) 
     220         CALL prt_ctl(tab2d_1=runoff , clinfo1=' runoff   : ', mask1=tmask, ovlap=1) 
     221         CALL prt_ctl(tab3d_1=tmask  , clinfo1=' tmask    : ', mask1=tmask, ovlap=1, kdim=jpk) 
     222         CALL prt_ctl(tab3d_1=tn     , clinfo1=' sst  -   : ', mask1=tmask, ovlap=1, kdim=1) 
     223         CALL prt_ctl(tab3d_1=sn     , clinfo1=' sss  -   : ', mask1=tmask, ovlap=1, kdim=1) 
     224         CALL prt_ctl(tab2d_1=taux   , clinfo1=' tau  - x : ', tab2d_2=tauy, clinfo2='      - y : ', ovlap=1) 
    224225      ENDIF 
    225226 
Note: See TracChangeset for help on using the changeset viewer.