Index: /trunk/NEMO/OPA_SRC/TRA/traadv_muscl.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/traadv_muscl.F90	(revision 66)
+++ /trunk/NEMO/OPA_SRC/TRA/traadv_muscl.F90	(revision 67)
@@ -12,5 +12,5 @@
    USE oce             ! ocean dynamics and active tracers
    USE dom_oce         ! ocean space and time domain
-   USE trdtra_oce     ! ocean active tracer trends
+   USE trdtra_oce      ! ocean active tracer trends
    USE in_out_manager  ! I/O manager
    USE dynspg_fsc      ! surface pressure gradient 
@@ -18,5 +18,6 @@
    USE trabbl          ! tracers: bottom boundary layer
    USE lib_mpp
-   USE lbclnk
+   USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
+   USE ptr             ! poleward transport diagnostics
 
    IMPLICIT NONE
@@ -270,8 +271,8 @@
                   & - e1v(ji,jj-1) * vn(ji,jj-1,jk)
 #   endif
-               ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) + tn(ji,jj,jk) * zfui  )
-               ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) + tn(ji,jj,jk) * zfvj  )
-               zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) + sn(ji,jj,jk) * zfui  )
-               zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) + sn(ji,jj,jk) * zfvj  )
+               ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) - tn(ji,jj,jk) * zfui  )
+               ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) - tn(ji,jj,jk) * zfvj  )
+               zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) - sn(ji,jj,jk) * zfui  )
+               zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) - sn(ji,jj,jk) * zfvj  )
                ! save i- and j- advective trends computed as Uh gradh(T)
                ttrdh(ji,jj,jk,1) = ztai
@@ -288,6 +289,6 @@
       IF( MOD( kt, nf_ptr ) == 0 ) THEN
 # if defined key_s_coord || defined key_partial_steps
-         pht_adv(:,:) = prt_vj( zt2(:,:,:) )
-         pst_adv(:,:) = prt_vj( zs2(:,:,:) )
+         pht_adv(:) = prt_vj( zt2(:,:,:) )
+         pst_adv(:) = prt_vj( zs2(:,:,:) )
 # else
          DO jk = 1, jpkm1
@@ -299,6 +300,6 @@
             END DO
          END DO
-         pht_adv(:,:) = prt_vj( zt2(:,:,:) )
-         pst_adv(:,:) = prt_vj( zs2(:,:,:) )
+         pht_adv(:) = prt_vj( zt2(:,:,:) )
+         pst_adv(:) = prt_vj( zs2(:,:,:) )
 # endif
       ENDIF
Index: /trunk/NEMO/OPA_SRC/TRA/traadv_muscl2.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/traadv_muscl2.F90	(revision 66)
+++ /trunk/NEMO/OPA_SRC/TRA/traadv_muscl2.F90	(revision 67)
@@ -18,5 +18,7 @@
    USE trabbl          ! tracers: bottom boudary layer
    USE lib_mpp
-   USE lbclnk
+   USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
+   USE ptr             ! poleward transport diagnostics
+
 
    IMPLICIT NONE
@@ -330,8 +332,8 @@
                   & - e1v(ji,jj-1) * vn(ji,jj-1,jk)
 #   endif
-               ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) + tn(ji,jj,jk) * zfui  )
-               ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) + tn(ji,jj,jk) * zfvj  )
-               zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) + sn(ji,jj,jk) * zfui  )
-               zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) + sn(ji,jj,jk) * zfvj  )
+               ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) - tn(ji,jj,jk) * zfui  )
+               ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) - tn(ji,jj,jk) * zfvj  )
+               zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) - sn(ji,jj,jk) * zfui  )
+               zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) - sn(ji,jj,jk) * zfvj  )
                ! save i- and j- advective trends computed as Uh gradh(T)
                ttrdh(ji,jj,jk,1) = ztai
@@ -348,6 +350,6 @@
       IF( MOD( kt, nf_ptr ) == 0 ) THEN
 # if defined key_s_coord || defined key_partial_steps
-         pht_adv(:,:) = prt_vj( zt2(:,:,:) )
-         pst_adv(:,:) = prt_vj( zs2(:,:,:) )
+         pht_adv(:) = prt_vj( zt2(:,:,:) )
+         pst_adv(:) = prt_vj( zs2(:,:,:) )
 # else
          DO jk = 1, jpkm1
@@ -359,6 +361,6 @@
             END DO
          END DO
-         pht_adv(:,:) = prt_vj( zt2(:,:,:) )
-         pst_adv(:,:) = prt_vj( zs2(:,:,:) )
+         pht_adv(:) = prt_vj( zt2(:,:,:) )
+         pst_adv(:) = prt_vj( zs2(:,:,:) )
 # endif
       ENDIF
Index: /trunk/NEMO/OPA_SRC/TRA/trazdf_iso_vopt.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trazdf_iso_vopt.F90	(revision 66)
+++ /trunk/NEMO/OPA_SRC/TRA/trazdf_iso_vopt.F90	(revision 67)
@@ -80,5 +80,5 @@
       CALL tra_zdf_iso
 
-      IF( l_ctl .AND. lwp ) THEN         ! print mean trends (used for debugging)
+      IF(l_ctl) THEN         ! print mean trends (used for debugging)
          zta = SUM( ta(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) )
          zsa = SUM( sa(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) )
@@ -92,11 +92,9 @@
       CALL tra_zdf_zdf( kt )
 
-      IF( l_ctl .AND. lwp ) THEN         ! print mean trends (used for debugging)
+      IF(l_ctl) THEN         ! print mean trends (used for debugging)
          zta = SUM( ta(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) )
          zsa = SUM( sa(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) )
          WRITE(numout,*) ' zdf 1- Ta: ', zta, ' Sa: ', zsa
       ENDIF
-
-
 
    END SUBROUTINE tra_zdf_iso_vopt
@@ -169,4 +167,5 @@
 #  if defined key_trdtra   ||   defined key_trdmld
       REAL(wp) ::    zta, zsa                !temporary scalars
+      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ztrd
 #  endif
       !!---------------------------------------------------------------------
@@ -242,4 +241,9 @@
       ! II.1. Vertical diffusion on t
       ! ---------------------------
+
+#  if defined key_trdtra || defined key_trdmld
+      ! save the temperature trend
+      ztrd(:,:,:) = ta(:,:,:)
+#  endif
 
       !! Matrix inversion from the first level
@@ -312,5 +316,5 @@
                DO ji = fs_2, fs_jpim1   ! vector opt.
                   zta = ( ta(ji,jj,jk) - tb(ji,jj,jk) ) / r2dt(jk)
-                  ttrd(ji,jj,jk,4) = zta - ta(ji,jj,jk) + ttrd(ji,jj,jk,4)
+                  ttrd(ji,jj,jk,4) = zta - ztrd(ji,jj,jk) + ttrd(ji,jj,jk,4)
                END DO
             END DO
@@ -321,5 +325,5 @@
                DO ji = fs_2, fs_jpim1   ! vector opt.
                   zta = ( ta(ji,jj,jk) - tb(ji,jj,jk) ) / r2dt(jk)
-                  ttrd(ji,jj,jk,4) = zta - ta(ji,jj,jk)
+                  ttrd(ji,jj,jk,4) = zta - ztrd(ji,jj,jk)
                END DO
             END DO
@@ -330,5 +334,10 @@
 
       ! II.2 Vertical diffusion on salinity
-      ! ---------------------------========
+      ! -----------------------------------
+
+#  if defined key_trdtra || defined key_trdmld
+      ! save the salinity trend
+      ztrd(:,:,:) = sa(:,:,:)
+#  endif
 
 #if defined key_zdfddm
@@ -426,5 +435,5 @@
                DO ji = fs_2, fs_jpim1   ! vector opt.
                   zsa = ( sa(ji,jj,jk) - sb(ji,jj,jk) ) / r2dt(jk)
-                  strd(ji,jj,jk,4) = zsa - sa(ji,jj,jk) + strd(ji,jj,jk,4)
+                  strd(ji,jj,jk,4) = zsa - ztrd(ji,jj,jk) + strd(ji,jj,jk,4)
                END DO
             END DO
@@ -435,5 +444,5 @@
                DO ji = fs_2, fs_jpim1   ! vector opt.
                   zsa = ( sa(ji,jj,jk) - sb(ji,jj,jk) ) / r2dt(jk)
-                  strd(ji,jj,jk,4) = zsa - sa(ji,jj,jk)
+                  strd(ji,jj,jk,4) = zsa - ztrd(ji,jj,jk)
                END DO
             END DO
@@ -511,7 +520,7 @@
          zcoeg3,                 &  !    "         "
          zuwki, zvwki,           &  !    "         "
-         zuwk, zsav,             &  !    "         "
-#endif
-         zvwk, ztav
+         zuwk, zvwk,             &  !    "         "
+#endif
+         ztav, zsav
       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   &
          zwz, zwt, ztfw, zsfw       ! temporary workspace arrays
