Index: /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90
===================================================================
--- /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90	(revision 7972)
+++ /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90	(revision 7973)
@@ -487,5 +487,4 @@
       INTEGER :: ji, jj
       LOGICAL :: ll_int_cons
-      REAL(wp) :: zrhot, zt
       !!----------------------------------------------------------------------  
 
@@ -495,12 +494,6 @@
       ! the forward case only
 
-      zrhot = Agrif_rhot()
-
-      ! "Central" time index for interpolation:
-      IF (ln_bt_fw) THEN
-         zt = REAL(Agrif_NbStepint()+0.5_wp,wp) / zrhot
-      ELSE
-         zt = REAL(Agrif_NbStepint(),wp) / zrhot
-      ENDIF
+      ! Enforce volume conservation if no time refinement: 
+      IF ( Agrif_rhot()==1 ) ll_int_cons=.TRUE. 
 
       ! Interpolate barotropic fluxes
@@ -524,6 +517,6 @@
          ubdy_n(:) = 0.e0 ; vbdy_n(:) = 0.e0 
          ubdy_s(:) = 0.e0 ; vbdy_s(:) = 0.e0 
-         CALL Agrif_Bc_variable(unb_id,calledweight=zt, procname=interpunb)
-         CALL Agrif_Bc_variable(vnb_id,calledweight=zt, procname=interpvnb)
+         CALL Agrif_Bc_variable(unb_id, procname=interpunb)
+         CALL Agrif_Bc_variable(vnb_id, procname=interpvnb)
       ENDIF
       Agrif_UseSpecialValue = .FALSE.
@@ -1099,9 +1092,17 @@
       !!----------------------------------------------------------------------  
       IF( before ) THEN
-         DO jj=j1,j2
-            DO ji=i1,i2
-               ptab(ji,jj) = ub2_b(ji,jj) * e2u(ji,jj)
-            END DO
-         END DO
+         IF ( ln_bt_fw ) THEN
+            DO jj=j1,j2
+               DO ji=i1,i2
+                  ptab(ji,jj) = ub2_b(ji,jj) * e2u(ji,jj)
+               END DO
+            END DO
+         ELSE
+            DO jj=j1,j2
+               DO ji=i1,i2
+                  ptab(ji,jj) = un_adv(ji,jj) * e2u(ji,jj)
+               END DO
+            END DO
+         ENDIF
       ELSE
          western_side  = (nb == 1).AND.(ndir == 1)
@@ -1140,9 +1141,17 @@
       !
       IF( before ) THEN
-         DO jj=j1,j2
-            DO ji=i1,i2
-               ptab(ji,jj) = vb2_b(ji,jj) * e1v(ji,jj)
-            END DO
-         END DO
+         IF ( ln_bt_fw ) THEN
+            DO jj=j1,j2
+               DO ji=i1,i2
+                  ptab(ji,jj) = vb2_b(ji,jj) * e1v(ji,jj)
+               END DO
+            END DO
+         ELSE
+            DO jj=j1,j2
+               DO ji=i1,i2
+                  ptab(ji,jj) = vn_adv(ji,jj) * e1v(ji,jj)
+               END DO
+            END DO
+         ENDIF
       ELSE      
          western_side  = (nb == 1).AND.(ndir == 1)
Index: /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
===================================================================
--- /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90	(revision 7972)
+++ /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90	(revision 7973)
@@ -46,5 +46,5 @@
    USE iom
    USE ioipsl
-   USE dynspg_oce, ONLY: un_adv, vn_adv ! barotropic velocities     
+   USE dynspg_oce, ONLY: un_adv, vn_adv ! barotropic fluxes     
 
 #if defined key_lim2
@@ -214,5 +214,5 @@
       ENDIF
 #if defined key_dynspg_ts
-      CALL iom_put(  "ubar", un_adv(:,:)      )    ! barotropic i-current
+      CALL iom_put(  "ubar", un_adv(:,:)*hur(:,:) )! barotropic i-current
 #else
       CALL iom_put(  "ubar", un_b(:,:)        )    ! barotropic i-current
@@ -231,5 +231,5 @@
       ENDIF
 #if defined key_dynspg_ts
-      CALL iom_put(  "vbar", vn_adv(:,:)      )    ! barotropic j-current
+      CALL iom_put(  "vbar", vn_adv(:,:)*hvr(:,:) )! barotropic j-current
 #else
       CALL iom_put(  "vbar", vn_b(:,:)        )    ! barotropic j-current
Index: /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
===================================================================
--- /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90	(revision 7972)
+++ /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90	(revision 7973)
@@ -177,6 +177,6 @@
          ! so that asselin contribution is removed at the same time 
          DO jk = 1, jpkm1
-            un(:,:,jk) = ( un(:,:,jk) - un_adv(:,:) + un_b(:,:) )*umask(:,:,jk)
-            vn(:,:,jk) = ( vn(:,:,jk) - vn_adv(:,:) + vn_b(:,:) )*vmask(:,:,jk)
+            un(:,:,jk) = ( un(:,:,jk) - un_adv(:,:)*hur(:,:) + un_b(:,:) )*umask(:,:,jk)
+            vn(:,:,jk) = ( vn(:,:,jk) - vn_adv(:,:)*hvr(:,:) + vn_b(:,:) )*vmask(:,:,jk)
          END DO  
       ENDIF
Index: /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_oce.F90
===================================================================
--- /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_oce.F90	(revision 7972)
+++ /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_oce.F90	(revision 7973)
@@ -38,5 +38,5 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hu_e  , hv_e     ! now ocean depth ( = Ho+sshn_e )
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hur_e , hvr_e    ! inverse of hu_e and hv_e
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   un_adv, vn_adv   ! Advection vel. at "now" barocl. step
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   un_adv, vn_adv   ! Advection fluxes at "now" barocl. step
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ub2_b,  vb2_b    ! Half step fluxes (ln_bt_fw=T)
 #if defined key_agrif
Index: /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
===================================================================
--- /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90	(revision 7972)
+++ /branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90	(revision 7973)
@@ -125,5 +125,5 @@
       !!      -Update the filtered free surface at step "n+1"      : ssha
       !!      -Update filtered barotropic velocities at step "n+1" : ua_b, va_b
-      !!      -Compute barotropic advective velocities at step "n" : un_adv, vn_adv
+      !!      -Compute barotropic advective fluxes at step "n"     : un_adv, vn_adv
       !!      These are used to advect tracers and are compliant with discrete
       !!      continuity equation taken at the baroclinic time steps. This 
@@ -863,9 +863,9 @@
       ! Set advection velocity correction:
       IF (((kt==nit000).AND.(neuler==0)).OR.(.NOT.ln_bt_fw)) THEN     
-         un_adv(:,:) = zu_sum(:,:)*hur(:,:)
-         vn_adv(:,:) = zv_sum(:,:)*hvr(:,:)
+         un_adv(:,:) = zu_sum(:,:)
+         vn_adv(:,:) = zv_sum(:,:)
       ELSE
-         un_adv(:,:) = z1_2 * ( ub2_b(:,:) + zu_sum(:,:)) * hur(:,:)
-         vn_adv(:,:) = z1_2 * ( vb2_b(:,:) + zv_sum(:,:)) * hvr(:,:)
+         un_adv(:,:) = z1_2 * ( ub2_b(:,:) + zu_sum(:,:))
+         vn_adv(:,:) = z1_2 * ( vb2_b(:,:) + zv_sum(:,:))
       END IF
 
@@ -893,6 +893,6 @@
       DO jk = 1, jpkm1
          ! Correct velocities:
-         un(:,:,jk) = ( un(:,:,jk) + un_adv(:,:) - un_b(:,:) )*umask(:,:,jk)
-         vn(:,:,jk) = ( vn(:,:,jk) + vn_adv(:,:) - vn_b(:,:) )*vmask(:,:,jk)
+         un(:,:,jk) = ( un(:,:,jk) + un_adv(:,:)*hur(:,:) - un_b(:,:) )*umask(:,:,jk)
+         vn(:,:,jk) = ( vn(:,:,jk) + vn_adv(:,:)*hvr(:,:) - vn_b(:,:) )*vmask(:,:,jk)
          !
       END DO
