Index: vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modarrays.F90
===================================================================
--- vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modarrays.F90	(revision 13144)
+++ vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modarrays.F90	(revision 13370)
@@ -133,7 +133,8 @@
 !
 !===================================================================================================
-subroutine Agrif_get_var_global_bounds( var, lubglob, nbdim )
-!---------------------------------------------------------------------------------------------------
-    type(Agrif_Variable),        intent(in)  :: var
+subroutine Agrif_get_var_global_bounds( var, lubglob, nbdim, pvar )
+!---------------------------------------------------------------------------------------------------
+    type(Agrif_Variable),          intent(in)  :: var
+    type(Agrif_Variable),optional, intent(in)  :: pvar
     integer, dimension(nbdim,2), intent(out) :: lubglob
     integer,                     intent(in)  :: nbdim
@@ -147,7 +148,15 @@
 !
 #if !defined AGRIF_MPI
-    call Agrif_get_var_bounds_array(var, lubglob(:,1), lubglob(:,2), nbdim)
+    if (present(pvar)) then
+      call Agrif_get_var_bounds_array(var, lubglob(:,1), lubglob(:,2), nbdim, pvar)
+    else
+      call Agrif_get_var_bounds_array(var, lubglob(:,1), lubglob(:,2), nbdim)
+    endif
 #else
-    call Agrif_get_var_bounds_array(var, lb, ub, nbdim)
+    if (present(pvar)) then
+      call Agrif_get_var_bounds_array(var, lb, ub, nbdim, pvar)
+    else
+      call Agrif_get_var_bounds_array(var, lb, ub, nbdim)
+    endif
 
     do i = 1,nbdim
@@ -171,13 +180,28 @@
 !> Gets the lower and the upper boundaries of a variable, for one particular direction.
 !---------------------------------------------------------------------------------------------------
-subroutine Agrif_get_var_bounds ( variable, lower, upper, index )
-!---------------------------------------------------------------------------------------------------
-    type(Agrif_Variable), intent(in)    :: variable   !< Variable for which we want to extract boundaries
+!  subroutine Agrif_get_var_bounds
+!
+!> Gets the lower and the upper boundaries of a variable, for one particular direction.
+!---------------------------------------------------------------------------------------------------
+subroutine Agrif_get_var_bounds ( variable, lower, upper, index, pvariable )
+!---------------------------------------------------------------------------------------------------
+    type(Agrif_Variable),           intent(in)    :: variable   !< Variable for which we want to extract boundaries
+    type(Agrif_Variable), optional, intent(in)    :: pvariable   !< parent Variable for which we want to extract boundaries
     integer,              intent(out)   :: lower      !< Lower bound
     integer,              intent(out)   :: upper      !< Upper bound
     integer,              intent(in)    :: index      !< Direction for wich we want to know the boundaries
 !
-    lower = variable % lb(index)
-    upper = variable % ub(index)
+
+
+    if (present(pvariable)) then
+     if (variable%root_var%interptab(index) == 'N') then
+        lower = pvariable%lb(index)
+        upper = pvariable%ub(index)
+      endif
+    else
+      lower = variable % lb(index)
+      upper = variable % ub(index)      
+    endif
+
 !---------------------------------------------------------------------------------------------------
 end subroutine Agrif_get_var_bounds
@@ -189,13 +213,25 @@
 !> Gets the lower and the upper boundaries of a table.
 !---------------------------------------------------------------------------------------------------
-subroutine Agrif_get_var_bounds_array ( variable, lower, upper, nbdim )
-!---------------------------------------------------------------------------------------------------
-    type(Agrif_Variable),      intent(in)   :: variable   !< Variable for which we want to extract boundaries
+subroutine Agrif_get_var_bounds_array ( variable, lower, upper, nbdim, pvariable )
+!---------------------------------------------------------------------------------------------------
+    type(Agrif_Variable),               intent(in)   :: variable   !< Variable for which we want to extract boundaries
+    type(Agrif_Variable), optional,     intent(in)   :: pvariable   !< Parent Variable for which we want to extract boundaries
     integer, dimension(nbdim), intent(out)  :: lower      !< Lower bounds array
     integer, dimension(nbdim), intent(out)  :: upper      !< Upper bounds array
     integer, intent(in)                     :: nbdim      !< Numer of dimensions of the variable
 !
+    integer :: nb
+
     lower = variable % lb(1:nbdim)
     upper = variable % ub(1:nbdim)
+
+    if (present(pvariable)) then
+        do nb=1,nbdim
+            if (variable%root_var%interptab(nb) == 'N') then
+                lower(nb) = pvariable%lb(nb)
+                upper(nb) = pvariable%ub(nb)
+            endif
+        enddo
+    endif
 !---------------------------------------------------------------------------------------------------
 end subroutine Agrif_get_var_bounds_array
Index: vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modbc.F90
===================================================================
--- vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modbc.F90	(revision 13144)
+++ vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modbc.F90	(revision 13370)
@@ -188,5 +188,5 @@
     END WHERE
 !
-    call Agrif_get_var_global_bounds(child,lubglob,nbdim)
+    call Agrif_get_var_global_bounds(child,lubglob,nbdim,parent)
 !
     indtruetab(1:nbdim,1,1) = max(indtab(1:nbdim,1,1), lubglob(1:nbdim,1))
@@ -229,5 +229,5 @@
 !
 #if defined AGRIF_MPI
-                call Agrif_get_var_bounds_array(child,lower,upper,nbdim)
+                call Agrif_get_var_bounds_array(child,lower,upper,nbdim,parent)
 
                 do i = 1,nbdim
Index: vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modinterp.F90
===================================================================
--- vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modinterp.F90	(revision 13144)
+++ vendors/AGRIF/dev_r12970_AGRIF_CMEMS/AGRIF_FILES/modinterp.F90	(revision 13370)
@@ -199,5 +199,5 @@
     if (.not.find_list_interp) then
 !
-        call Agrif_get_var_bounds_array(child, lowerbound, upperbound, nbdim)
+        call Agrif_get_var_bounds_array(child, lowerbound, upperbound, nbdim, parent)
         call Agrif_Childbounds(nbdim, lowerbound, upperbound,               &
                                pttab, petab, Agrif_Procrank, coords,        &
@@ -968,5 +968,5 @@
             end select
 !
-            call Agrif_get_var_bounds_array(child,lowerbound,upperbound,nbdim)
+            call Agrif_get_var_bounds_array(child,lowerbound,upperbound,nbdim,parent)
 
 #if defined AGRIF_MPI
