Index: trunk/NEMO/OPA_SRC/DYN/dynhpg.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynhpg.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynhpg.F90	(revision 258)
@@ -21,4 +21,5 @@
    USE trdmod          ! ocean dynamics trends 
    USE trdmod_oce      ! ocean variables trends
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -172,9 +173,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl
-         u_ctl = zuap   ;   v_ctl = zvap
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
@@ -325,9 +324,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl
-         u_ctl = zuap   ;   v_ctl = zvap
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
@@ -443,9 +440,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl
-         u_ctl = zuap   ;   v_ctl = zvap
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynhpg_atsk.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynhpg_atsk.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynhpg_atsk.F90	(revision 258)
@@ -21,4 +21,5 @@
    USE trdmod          ! ocean dynamics trends 
    USE trdmod_oce      ! ocean variables trends
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -162,9 +163,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl
-         u_ctl = zuap   ;   v_ctl = zvap
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
@@ -306,9 +305,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl
-         u_ctl = zuap   ;   v_ctl = zvap
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF   
 
@@ -429,9 +426,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zuap = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zvap = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' hpg  - Ua: ', zuap-u_ctl, ' Va: ', zvap-v_ctl
-         u_ctl = zuap   ;   v_ctl = zvap
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynkeg.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynkeg.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynkeg.F90	(revision 258)
@@ -14,4 +14,5 @@
    USE trdmod          ! ocean dynamics trends 
    USE trdmod_oce      ! ocean variables trends
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -119,9 +120,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' keg  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' keg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynldf_bilap.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynldf_bilap.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynldf_bilap.F90	(revision 258)
@@ -17,4 +17,5 @@
    USE trdmod_oce      ! ocean variables trends
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -237,9 +238,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90	(revision 258)
@@ -22,4 +22,5 @@
    USE ldfslp          ! iso-neutral slopes available
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -81,5 +82,4 @@
       !! * Local declarations
       INTEGER ::   ji, jj, jk                 ! dummy loop indices
-      REAL(wp) ::   zua, zva                  ! temporary scalars
       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   &
          zwk1, zwk2                ! work array used for rotated biharmonic
@@ -138,9 +138,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynldf_iso.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynldf_iso.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynldf_iso.F90	(revision 258)
@@ -22,4 +22,5 @@
    USE ldfslp          ! iso-neutral slopes 
    USE in_out_manager  ! I/O manager
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -98,5 +99,5 @@
          zabe1, zabe2, zcof1, zcof2,   &  ! temporary scalars
          zmskt, zmskf, zbu, zbv,       &
-         zuah, zvah, zua, zva
+         zuah, zvah
       REAL(wp), DIMENSION(jpi,jpj) ::   &
          ziut, zjuf, zjvt, zivf,        & ! temporary workspace
@@ -259,9 +260,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynldf_lap.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynldf_lap.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynldf_lap.F90	(revision 258)
@@ -18,4 +18,5 @@
    USE trdmod_oce      ! ocean variables trends
    USE ldfslp          ! iso-neutral slopes 
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -136,9 +137,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' ldf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynnxt.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynnxt.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynnxt.F90	(revision 258)
@@ -14,4 +14,5 @@
    USE obcdyn          ! open boundary condition for momentum (obc_dyn routine)
    USE lbclnk          ! lateral boundary condition (or mpp link)
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -135,6 +136,8 @@
       !                                                ! ===============
 
-      IF(l_ctl)   WRITE(numout,*) ' nxt  - Un: ', SUM(un(2:nictl,2:njctl,1:jpkm1)*umask(2:nictl,2:njctl,1:jpkm1)), &
-      &                                  ' Vn: ', SUM(vn(2:nictl,2:njctl,1:jpkm1)*vmask(2:nictl,2:njctl,1:jpkm1))
+      IF(ln_ctl)   THEN
+         CALL prt_ctl(tab3d_1=un, clinfo1=' nxt  - Un: ', mask1=umask, &
+            &         tab3d_2=vn, clinfo2=' Vn: ', mask2=vmask)
+      ENDIF
 
    END SUBROUTINE dyn_nxt
Index: trunk/NEMO/OPA_SRC/DYN/dynspg_fsc.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynspg_fsc.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynspg_fsc.F90	(revision 258)
@@ -33,4 +33,5 @@
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
    USE cla_dynspg      ! cross land advection
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -337,7 +338,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         WRITE(numout,*) ' spg  - Ua: ', SUM( ua(2:nictl,2:njctl,1:jpkm1)*umask(2:nictl,2:njctl,1:jpkm1) ),   &
-            &                   ' Va: ', SUM( va(2:nictl,2:njctl,1:jpkm1)*vmask(2:nictl,2:njctl,1:jpkm1) )
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' spg  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask)
       ENDIF
 
@@ -370,6 +371,6 @@
 
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         WRITE(numout,*) ' spg - ssh:', SUM( sshn(2:nictl,2:njctl)*tmask(2:nictl,2:njctl,1) )
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab2d_1=sshn, clinfo1=' spg  - ssh: ', mask1=tmask)
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynspg_fsc_atsk.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynspg_fsc_atsk.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynspg_fsc_atsk.F90	(revision 258)
@@ -37,4 +37,5 @@
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
    USE cla_dynspg      ! cross land advection
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -354,7 +355,7 @@
          END DO
 
-         IF(l_ctl) THEN         ! print sum trends (used for debugging)
-            WRITE(numout,*) ' spg  - Ua: ', SUM( ua(2:nictl,2:njctl,1:jpkm1)*umask(2:nictl,2:njctl,1:jpkm1) ),   &
-               &                   ' Va: ', SUM( va(2:nictl,2:njctl,1:jpkm1)*vmask(2:nictl,2:njctl,1:jpkm1) )
+         IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+            CALL prt_ctl(tab3d_1=ua, clinfo1=' spg  - Ua: ', mask1=umask, &
+               &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask)
          ENDIF
 
@@ -398,6 +399,6 @@
       CALL lbc_lnk( sshn, 'T', 1. )
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         WRITE(numout,*) ' spg - ssh:', SUM( sshn(2:nictl,2:njctl)*tmask(2:nictl,2:njctl,1) )
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab2d_1=sshn, clinfo1=' spg  - ssh: ', mask1=tmask)
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynvor.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynvor.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynvor.F90	(revision 258)
@@ -20,4 +20,5 @@
    USE trdmod_oce      ! ocean variables trends
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -188,9 +189,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' vor  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
@@ -342,9 +341,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' vor  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
@@ -499,9 +496,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' vor  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
@@ -662,9 +657,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:jpim1,2:jpjm1,1:jpkm1) * umask(2:jpim1,2:jpjm1,1:jpkm1) )
-         zva = SUM( va(2:jpim1,2:jpjm1,1:jpkm1) * vmask(2:jpim1,2:jpjm1,1:jpkm1) )
-         WRITE(numout,*) ' vor  een - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynzad.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynzad.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynzad.F90	(revision 258)
@@ -15,4 +15,5 @@
    USE trdmod_oce      ! ocean variables trends
    USE flxrnf          ! ocean runoffs
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -142,9 +143,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' zad  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' zad  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
@@ -255,9 +254,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' zad  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' zad  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynzdf_exp.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynzdf_exp.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynzdf_exp.F90	(revision 258)
@@ -18,4 +18,5 @@
    USE trdmod          ! ocean dynamics trends 
    USE trdmod_oce      ! ocean variables trends
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -197,9 +198,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynzdf_imp.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynzdf_imp.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynzdf_imp.F90	(revision 258)
@@ -22,4 +22,5 @@
    USE trdmod          ! ocean dynamics trends 
    USE trdmod_oce      ! ocean variables trends
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -79,5 +80,5 @@
          ikbu, ikbum1, ikbv, ikbvm1      ! temporary integers
       REAL(wp) ::   &
-         zrau0r, z2dt, zua, zva,      &  ! temporary scalars
+         zrau0r, z2dt,                &  ! temporary scalars
          z2dtf, zcoef, zzws, zrhs        !    "         "
       REAL(wp), DIMENSION(jpi,jpj) ::   &
@@ -355,9 +356,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynzdf_imp_atsk.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynzdf_imp_atsk.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynzdf_imp_atsk.F90	(revision 258)
@@ -19,4 +19,5 @@
    USE trdmod          ! ocean dynamics trends 
    USE trdmod_oce      ! ocean variables trends
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -74,5 +75,5 @@
          ikbu, ikbum1, ikbv, ikbvm1      !    "         "      
       REAL(wp) ::   &
-         zrau0r, z2dt, zua, zva,       & !temporary scalars
+         zrau0r, z2dt,                 & !temporary scalars
          z2dtf, zcoef, zzws
       REAL(wp), DIMENSION(jpi,jpk) ::  &
@@ -338,9 +339,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/dynzdf_iso.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/dynzdf_iso.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/dynzdf_iso.F90	(revision 258)
@@ -21,4 +21,5 @@
    USE trdmod          ! ocean dynamics trends 
    USE trdmod_oce      ! ocean variables trends
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -110,5 +111,5 @@
       REAL(wp) ::   &
          zrau0r, z2dt,                       & ! temporary scalars
-         z2dtf, zua, zva, zcoef, zzws
+         z2dtf, zcoef, zzws
       REAL(wp) ::   &
          zcoef0, zcoef3, zcoef4, zbu, zbv, zmkt, zmkf,   &
@@ -406,9 +407,7 @@
       ENDIF
 
-      IF(l_ctl) THEN         ! print sum trends (used for debugging)
-         zua = SUM( ua(2:nictl,2:njctl,1:jpkm1) * umask(2:nictl,2:njctl,1:jpkm1) )
-         zva = SUM( va(2:nictl,2:njctl,1:jpkm1) * vmask(2:nictl,2:njctl,1:jpkm1) )
-         WRITE(numout,*) ' zdf  - Ua: ', zua-u_ctl, ' Va: ', zva-v_ctl
-         u_ctl = zua   ;   v_ctl = zva
+      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
+         CALL prt_ctl(tab3d_1=ua, clinfo1=' zdf  - Ua: ', mask1=umask, &
+            &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn')
       ENDIF
 
Index: trunk/NEMO/OPA_SRC/DYN/wzvmod.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/wzvmod.F90	(revision 247)
+++ trunk/NEMO/OPA_SRC/DYN/wzvmod.F90	(revision 258)
@@ -12,4 +12,5 @@
    USE dom_oce         ! ocean space and time domain variables 
    USE in_out_manager  ! I/O manager
+   USE prtctl          ! Print control
 
    IMPLICIT NONE
@@ -80,7 +81,5 @@
       !                                                ! ===============
 
-      IF(l_ctl) THEN                ! print mean trends (used for debugging)
-         WRITE(numout,*) ' w**2 -   : ', SUM( wn(2:nictl,2:njctl,1:jpkm1) * wn   (2:nictl,2:njctl,1:jpkm1) )
-      ENDIF
+      IF(ln_ctl)   CALL prt_ctl(tab3d_1=wn, clinfo1=' w**2 -   : ', mask1=wn)
 
    END SUBROUTINE wzv
@@ -131,7 +130,5 @@
       END DO
 
-      IF(l_ctl) THEN                ! print mean trends (used for debugging)
-         WRITE(numout,*) ' w**2 -   : ', SUM( wn(2:nictl,2:njctl,1:jpkm1) * wn   (2:nictl,2:njctl,1:jpkm1) )
-      ENDIF
+      IF(ln_ctl)   CALL prt_ctl(tab3d_1=wn, clinfo1=' w**2 -   : ', mask1=wn)
 
    END SUBROUTINE wzv
