Index: NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce.F90
===================================================================
--- NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce.F90	(revision 11760)
+++ NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce.F90	(revision 11769)
@@ -24,4 +24,6 @@
    REAL(wp), PUBLIC ::   rn_sponge_tra = 2800.     !: sponge coeff. for tracers
    REAL(wp), PUBLIC ::   rn_sponge_dyn = 2800.     !: sponge coeff. for dynamics
+   REAL(wp), PUBLIC ::   rn_trelax_tra = 0.01      !: time relaxation parameter for tracers
+   REAL(wp), PUBLIC ::   rn_trelax_dyn = 0.01      !: time relaxation parameter for momentum
    LOGICAL , PUBLIC ::   ln_chk_bathy  = .FALSE.   !: check of parent bathymetry 
    !
@@ -40,6 +42,6 @@
    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: utint_stage
    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vtint_stage
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fsaht_spu, fsaht_spv !: sponge diffusivities
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fsahm_spt, fsahm_spf !: sponge viscosities
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fspu, fspv !: sponge arrays
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fspt, fspf !:   "      "
 
    ! Barotropic arrays used to store open boundary data during time-splitting loop:
@@ -82,6 +84,6 @@
       ierr(:) = 0
       !
-      ALLOCATE( fsaht_spu(jpi,jpj), fsaht_spv(jpi,jpj),     &
-         &      fsahm_spt(jpi,jpj), fsahm_spf(jpi,jpj),     &
+      ALLOCATE( fspu(jpi,jpj), fspv(jpi,jpj),    	    &
+         &      fspt(jpi,jpj), fspf(jpi,jpj),               &
          &      tabspongedone_tsn(jpi,jpj),                 &
          &      utint_stage(jpi,jpj), vtint_stage(jpi,jpj), &
Index: NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90
===================================================================
--- NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90	(revision 11760)
+++ NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90	(revision 11769)
@@ -684,5 +684,5 @@
         ! Interpolate thicknesses
         ! Warning: these are masked, hence extrapolated prior interpolation.
-        DO jk=k1,k2-1
+        DO jk=k1,k2
            DO jj=j1,j2
               DO ji=i1,i2
@@ -731,5 +731,5 @@
                N_out = 0
                DO jk=1,jpk ! jpk of child grid
-                  IF (tmask(ji,jj,jk) == 0) EXIT 
+                  IF (tmask(ji,jj,jk) == 0._wp) EXIT 
                   N_out = N_out + 1
                   h_out(jk) = e3t_a(ji,jj,jk)
@@ -945,5 +945,4 @@
                   h_out(N_out) = e3v_a(ji,jj,jk)
                END DO
-
                IF (N_in*N_out > 0) THEN
                   call reconstructandremap(tabin(1:N_in),h_in(1:N_in),va(ji,jj,1:N_out),h_out(1:N_out),N_in,N_out,1)
Index: NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_sponge.F90
===================================================================
--- NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_sponge.F90	(revision 11760)
+++ NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_sponge.F90	(revision 11769)
@@ -60,6 +60,6 @@
 #endif
       !
-      CALL iom_put("fsaht_spu", fsaht_spu(:,:))
-      CALL iom_put("fsaht_spv", fsaht_spv(:,:))
+      CALL iom_put("agrif_spu", fspu(:,:))
+      CALL iom_put("agrif_spv", fspv(:,:))
       !
    END SUBROUTINE Agrif_Sponge_Tra
@@ -90,6 +90,6 @@
 #endif
       !
-      CALL iom_put("fsahm_spt", fsahm_spt(:,:))
-      CALL iom_put("fsahm_spf", fsahm_spf(:,:))
+      CALL iom_put("agrif_spt", fspt(:,:))
+      CALL iom_put("agrif_spf", fspf(:,:))
       !
    END SUBROUTINE Agrif_Sponge_dyn
@@ -108,4 +108,15 @@
       !!----------------------------------------------------------------------
       !
+      ! Sponge 1d example with:
+      !      iraf = 3 ; nbghost = 3 ; nn_sponge_len = 2
+      !                        
+      !coarse :     U     T     U     T     U     T     U
+      !|            |           |           |           |
+      !fine :     t u t u t u t u t u t u t u t u t u t u t
+      !sponge val:0   0   0   1  5/6 4/6 3/6 2/6 1/6  0   0
+      !           |   ghost     | <-- sponge area  -- > |
+      !           |   points    |                       |
+      !                         |--> dynamical interface
+
 #if defined SPONGE || defined SPONGE_TOP
       IF (( .NOT. spongedoneT ).OR.( .NOT. spongedoneU )) THEN
@@ -163,7 +174,7 @@
          ! Store it in ztabramp
 
-         ispongearea  = 1 + nn_sponge_len * Agrif_irhox()
+         ispongearea  = nn_sponge_len * Agrif_irhox()
          z1_ispongearea = 1._wp / REAL( ispongearea )
-         jspongearea  = 1 + nn_sponge_len * Agrif_irhoy()
+         jspongearea  = nn_sponge_len * Agrif_irhoy()
          z1_jspongearea = 1._wp / REAL( jspongearea )
          
@@ -248,14 +259,14 @@
       ! Tracers
       IF( .NOT. spongedoneT ) THEN
-         fsaht_spu(:,:) = 0._wp
-         fsaht_spv(:,:) = 0._wp
+         fspu(:,:) = 0._wp
+         fspv(:,:) = 0._wp
          DO jj = 2, jpjm1
             DO ji = 2, jpim1   ! vector opt.
-               fsaht_spu(ji,jj) = 0.5_wp * rn_sponge_tra * ( ztabramp(ji,jj) + ztabramp(ji+1,jj  ) )
-               fsaht_spv(ji,jj) = 0.5_wp * rn_sponge_tra * ( ztabramp(ji,jj) + ztabramp(ji  ,jj+1) )
-            END DO
-         END DO
-         CALL lbc_lnk( 'agrif_Sponge', fsaht_spu, 'U', 1. )   ! Lateral boundary conditions
-         CALL lbc_lnk( 'agrif_Sponge', fsaht_spv, 'V', 1. )
+               fspu(ji,jj) = 0.5_wp * ( ztabramp(ji,jj) + ztabramp(ji+1,jj  ) )
+               fspv(ji,jj) = 0.5_wp * ( ztabramp(ji,jj) + ztabramp(ji  ,jj+1) )
+            END DO
+         END DO
+         CALL lbc_lnk( 'agrif_Sponge', fspu, 'U', 1. )   ! Lateral boundary conditions
+         CALL lbc_lnk( 'agrif_Sponge', fspv, 'V', 1. )
 
          spongedoneT = .TRUE.
@@ -264,15 +275,15 @@
       ! Dynamics
       IF( .NOT. spongedoneU ) THEN
-         fsahm_spt(:,:) = 0._wp
-         fsahm_spf(:,:) = 0._wp
+         fspt(:,:) = 0._wp
+         fspf(:,:) = 0._wp
          DO jj = 2, jpjm1
             DO ji = 2, jpim1   ! vector opt.
-               fsahm_spt(ji,jj) = rn_sponge_dyn * ztabramp(ji,jj)
-               fsahm_spf(ji,jj) = 0.25_wp * rn_sponge_dyn * ( ztabramp(ji  ,jj  ) + ztabramp(ji  ,jj+1) &
-                                                          &  +ztabramp(ji+1,jj+1) + ztabramp(ji+1,jj  ) )
-            END DO
-         END DO
-         CALL lbc_lnk( 'agrif_Sponge', fsahm_spt, 'T', 1. )   ! Lateral boundary conditions
-         CALL lbc_lnk( 'agrif_Sponge', fsahm_spf, 'F', 1. )
+               fspt(ji,jj) = ztabramp(ji,jj)
+               fspf(ji,jj) = 0.25_wp * ( ztabramp(ji  ,jj  ) + ztabramp(ji  ,jj+1) &
+                                     &  +ztabramp(ji+1,jj+1) + ztabramp(ji+1,jj  ) )
+            END DO
+         END DO
+         CALL lbc_lnk( 'agrif_Sponge', fspt, 'T', 1. )   ! Lateral boundary conditions
+         CALL lbc_lnk( 'agrif_Sponge', fspf, 'F', 1. )
          
          spongedoneU = .TRUE.
@@ -293,5 +304,5 @@
       INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices
       INTEGER  ::   iku, ikv
-      REAL(wp) :: ztsa, zabe1, zabe2, zbtr, zhtot
+      REAL(wp) :: ztsa, zabe1, zabe2, zbtr, zhtot, ztrelax
       REAL(wp), DIMENSION(i1:i2,j1:j2,jpk) :: ztu, ztv
       REAL(wp), DIMENSION(i1:i2,j1:j2,jpk,n1:n2) ::tsbdiff
@@ -318,5 +329,5 @@
         ! Interpolate thicknesses
         ! Warning: these are masked, hence extrapolated prior interpolation.
-        DO jk=k1,k2-1
+        DO jk=k1,k2
            DO jj=j1,j2
               DO ji=i1,i2
@@ -397,4 +408,9 @@
          ENDDO
 
+         !* set relaxation time scale
+         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_tra  / (        rdt )
+         ELSE                                          ;   ztrelax =   rn_trelax_tra  / (2._wp * rdt )
+         ENDIF
+
          DO jn = 1, jpts            
             DO jk = 1, jpkm1
@@ -402,5 +418,5 @@
                DO jj = j1,j2
                   DO ji = i1,i2-1
-                     zabe1 = fsaht_spu(ji,jj) * umask(ji,jj,jk) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk)
+                     zabe1 = rn_sponge_tra * fspu(ji,jj) * umask(ji,jj,jk) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk)
                      ztu(ji,jj,jk) = zabe1 * ( tsbdiff(ji+1,jj  ,jk,jn) - tsbdiff(ji,jj,jk,jn) ) 
                   END DO
@@ -409,5 +425,5 @@
                DO ji = i1,i2
                   DO jj = j1,j2-1
-                     zabe2 = fsaht_spv(ji,jj) * vmask(ji,jj,jk) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk)
+                     zabe2 = rn_sponge_tra * fspv(ji,jj) * vmask(ji,jj,jk) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk)
                      ztv(ji,jj,jk) = zabe2 * ( tsbdiff(ji  ,jj+1,jk,jn) - tsbdiff(ji,jj,jk,jn) )
                   END DO
@@ -433,5 +449,6 @@
                         zbtr = r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk)
                         ! horizontal diffusive trends
-                        ztsa = zbtr * (  ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji,jj-1,jk)  )
+                        ztsa = zbtr * (  ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji,jj-1,jk)  ) &
+                             &  - ztrelax * fspt(ji,jj) * tsbdiff(ji,jj,jk,jn) 
                         ! add it to the general tracer trends
                         tsa(ji,jj,jk,jn) = tsa(ji,jj,jk,jn) + ztsa
@@ -460,5 +477,5 @@
 
       ! sponge parameters 
-      REAL(wp) :: ze2u, ze1v, zua, zva, zbtr, zhtot
+      REAL(wp) :: ze2u, ze1v, zua, zva, zbtr, zhtot, ztrelax
       REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: ubdiff
       REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: rotdiff, hdivdiff
@@ -548,4 +565,8 @@
          ubdiff(i1:i2,j1:j2,:) = (ub(i1:i2,j1:j2,:) - tabres(i1:i2,j1:j2,:,1))*umask(i1:i2,j1:j2,:)
 #endif
+         !* set relaxation time scale
+         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_dyn  / (        rdt )
+         ELSE                                          ;   ztrelax =   rn_trelax_dyn  / (2._wp * rdt )
+         ENDIF
          !
          DO jk = 1, jpkm1                                 ! Horizontal slab
@@ -557,5 +578,5 @@
             DO jj = j1,j2
                DO ji = i1+1,i2   ! vector opt.
-                  zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * fsahm_spt(ji,jj)
+                  zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * rn_sponge_dyn * fspt(ji,jj)
                   hdivdiff(ji,jj,jk) = (  e2u(ji  ,jj)*e3u_b(ji  ,jj,jk) * ubdiff(ji  ,jj,jk) &
                                      &   -e2u(ji-1,jj)*e3u_b(ji-1,jj,jk) * ubdiff(ji-1,jj,jk) ) * zbtr
@@ -565,5 +586,5 @@
             DO jj = j1,j2-1
                DO ji = i1,i2   ! vector opt.
-                  zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * fsahm_spf(ji,jj)
+                  zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * rn_sponge_dyn * fspf(ji,jj)
                   rotdiff(ji,jj,jk) = ( -e1u(ji,jj+1) * ubdiff(ji,jj+1,jk)   &
                                     &   +e1u(ji,jj  ) * ubdiff(ji,jj  ,jk) ) * fmask(ji,jj,jk) * zbtr 
@@ -581,9 +602,9 @@
                      ! horizontal diffusive trends
                      zua = - ( ze2u - rotdiff (ji,jj-1,jk) ) / ( e2u(ji,jj) * e3u_n(ji,jj,jk) )   &
-                           + ( hdivdiff(ji+1,jj,jk) - ze1v ) * r1_e1u(ji,jj)
+                         & + ( hdivdiff(ji+1,jj,jk) - ze1v ) * r1_e1u(ji,jj) & 
+                         & - ztrelax  * fspu(ji,jj) * ubdiff(ji,jj,jk)
 
                      ! add it to the general momentum trends
-                     ua(ji,jj,jk) = ua(ji,jj,jk) + zua
-
+                     ua(ji,jj,jk) = ua(ji,jj,jk) + zua                                 
                   END DO
                ENDIF
@@ -633,5 +654,5 @@
       !
       INTEGER  ::   ji, jj, jk, imax
-      REAL(wp) ::   ze2u, ze1v, zua, zva, zbtr, zhtot
+      REAL(wp) ::   ze2u, ze1v, zua, zva, zbtr, zhtot, ztrelax
       REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: vbdiff
       REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: rotdiff, hdivdiff
@@ -720,4 +741,8 @@
          vbdiff(i1:i2,j1:j2,:) = (vb(i1:i2,j1:j2,:) - tabres(i1:i2,j1:j2,:,1))*vmask(i1:i2,j1:j2,:)
 # endif
+         !* set relaxation time scale
+         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_dyn  / (        rdt )
+         ELSE                                          ;   ztrelax =   rn_trelax_dyn  / (2._wp * rdt )
+         ENDIF
          !
          DO jk = 1, jpkm1                                 ! Horizontal slab
@@ -729,5 +754,5 @@
             DO jj = j1+1,j2
                DO ji = i1,i2   ! vector opt.
-                  zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * fsahm_spt(ji,jj)
+                  zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * rn_sponge_dyn * fspt(ji,jj)
                   hdivdiff(ji,jj,jk) = ( e1v(ji,jj  ) * e3v_b(ji,jj  ,jk) * vbdiff(ji,jj  ,jk)  &
                                      &  -e1v(ji,jj-1) * e3v_b(ji,jj-1,jk) * vbdiff(ji,jj-1,jk)  ) * zbtr
@@ -736,5 +761,5 @@
             DO jj = j1,j2
                DO ji = i1,i2-1   ! vector opt.
-                  zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * fsahm_spf(ji,jj)
+                  zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * rn_sponge_dyn * fspf(ji,jj)
                   rotdiff(ji,jj,jk) = ( e2v(ji+1,jj) * vbdiff(ji+1,jj,jk) & 
                                     &  -e2v(ji  ,jj) * vbdiff(ji  ,jj,jk)  ) * fmask(ji,jj,jk) * zbtr
@@ -769,5 +794,6 @@
                      va(ji,jj,jk) = va(ji,jj,jk)                                                                  &
                         &  + ( rotdiff (ji,jj  ,jk) - rotdiff (ji-1,jj,jk) ) / ( e1v(ji,jj) * e3v_n(ji,jj,jk) )   &
-                        &  + ( hdivdiff(ji,jj+1,jk) - hdivdiff(ji  ,jj,jk) ) * r1_e2v(ji,jj)
+                        &  + ( hdivdiff(ji,jj+1,jk) - hdivdiff(ji  ,jj,jk) ) * r1_e2v(ji,jj)                      &
+                        &  - ztrelax * fspv(ji,jj) * vbdiff(ji,jj,jk)
                   END DO
                ENDIF
Index: NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_sponge.F90
===================================================================
--- NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_sponge.F90	(revision 11760)
+++ NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_sponge.F90	(revision 11769)
@@ -67,5 +67,5 @@
       !
       INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices
-      REAL(wp) ::   zabe1, zabe2
+      REAL(wp) ::   zabe1, zabe2, ztrelax
       REAL(wp), DIMENSION(i1:i2,j1:j2)               ::   ztu, ztv
       REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,1:jptra) ::   trbdiff
@@ -136,10 +136,15 @@
          ENDDO
 
+         !* set relaxation time scale
+         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_tra  / (        rdt )
+         ELSE                                          ;   ztrelax =   rn_trelax_tra  / (2._wp * rdt )
+         ENDIF
+
          DO jn = 1, jptra
             DO jk = 1, jpkm1
                DO jj = j1,j2-1
                   DO ji = i1,i2-1
-                     zabe1 = fsaht_spu(ji,jj) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk)
-                     zabe2 = fsaht_spv(ji,jj) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk)
+                     zabe1 = rn_sponge_tra * fspu(ji,jj) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk)
+                     zabe2 = rn_sponge_tra * fspv(ji,jj) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk)
                      ztu(ji,jj) = zabe1 * ( trbdiff(ji+1,jj  ,jk,jn) - trbdiff(ji,jj,jk,jn) )
                      ztv(ji,jj) = zabe2 * ( trbdiff(ji  ,jj+1,jk,jn) - trbdiff(ji,jj,jk,jn) )
@@ -152,5 +157,6 @@
                         tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn) + (  ztu(ji,jj) - ztu(ji-1,jj  )     &
                            &                                   + ztv(ji,jj) - ztv(ji  ,jj-1)  )  &
-                           &                                * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk)
+                           &                                * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk)  &
+                           &                                - ztrelax * fspt(ji,jj) * trbdiff(ji,jj,jk,jn)
                      ENDIF
                   END DO
Index: NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_user.F90
===================================================================
--- NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_user.F90	(revision 11760)
+++ NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_user.F90	(revision 11769)
@@ -383,7 +383,7 @@
       CALL Agrif_Set_bc( vn_interp_id, (/0,ind1-1/) )
 
-      CALL Agrif_Set_bc( tsn_sponge_id, (/-nn_sponge_len*Agrif_irhox()-1,0/) )  ! if west and rhox=3 and sponge=2 and ghost=1: columns 2 to 9 
-      CALL Agrif_Set_bc(  un_sponge_id, (/-nn_sponge_len*Agrif_irhox()-1,0/) )
-      CALL Agrif_Set_bc(  vn_sponge_id, (/-nn_sponge_len*Agrif_irhox()-1,0/) )
+      CALL Agrif_Set_bc( tsn_sponge_id, (/-nn_sponge_len*Agrif_irhox(),0/) )  ! if west and rhox=3 and sponge=2 and ghost=1: columns 2 to 9 
+      CALL Agrif_Set_bc(  un_sponge_id, (/-nn_sponge_len*Agrif_irhox(),0/) )
+      CALL Agrif_Set_bc(  vn_sponge_id, (/-nn_sponge_len*Agrif_irhox(),0/) )
 
       CALL Agrif_Set_bc(        sshn_id, (/0,ind1-1/) )
@@ -398,6 +398,6 @@
 # if defined key_vertical
       ! extend the interpolation zone by 1 more point than necessary:
-      CALL Agrif_Set_bc(  mbkt_id, (/-nn_sponge_len*Agrif_irhox()-2,ind1/) )
-      CALL Agrif_Set_bc(  ht0_id,  (/-nn_sponge_len*Agrif_irhox()-2,ind1/) )
+      CALL Agrif_Set_bc(  mbkt_id, (/-nn_sponge_len*Agrif_irhox()-1,ind1/) )
+      CALL Agrif_Set_bc(  ht0_id,  (/-nn_sponge_len*Agrif_irhox()-1,ind1/) )
 # endif
 
@@ -691,5 +691,6 @@
       !
       INTEGER  ::   ios                 ! Local integer output status for namelist read
-      NAMELIST/namagrif/ ln_agrif_2way, rn_sponge_tra, rn_sponge_dyn, ln_spc_dyn, ln_chk_bathy
+      NAMELIST/namagrif/ ln_agrif_2way, rn_sponge_tra, rn_sponge_dyn, rn_trelax_tra, rn_trelax_dyn, &
+                       & ln_spc_dyn, ln_chk_bathy
       !!--------------------------------------------------------------------------------------
       !
@@ -710,4 +711,6 @@
          WRITE(numout,*) '      sponge coefficient for tracers    rn_sponge_tra = ', rn_sponge_tra, ' m^2/s'
          WRITE(numout,*) '      sponge coefficient for dynamics   rn_sponge_tra = ', rn_sponge_dyn, ' m^2/s'
+         WRITE(numout,*) '      time relaxation for tracers       rn_trelax_tra = ', rn_trelax_tra, ' ad.'
+         WRITE(numout,*) '      time relaxation for dynamics      rn_trelax_dyn = ', rn_trelax_dyn, ' ad.'
          WRITE(numout,*) '      use special values for dynamics   ln_spc_dyn    = ', ln_spc_dyn
          WRITE(numout,*) '      check bathymetry                  ln_chk_bathy  = ', ln_chk_bathy
