Index: XIOS/dev/dev_oa/src/config/domain_attribute.conf
===================================================================
--- XIOS/dev/dev_oa/src/config/domain_attribute.conf	(revision 1963)
+++ XIOS/dev/dev_oa/src/config/domain_attribute.conf	(revision 1965)
@@ -72,2 +72,4 @@
 DECLARE_ARRAY(int, 1, tile_data_ibegin, false)
 DECLARE_ARRAY(int, 1, tile_data_jbegin, false)
+DECLARE_ARRAY(int, 1, tile_data_ni, false)
+DECLARE_ARRAY(int, 1, tile_data_nj, false)
Index: XIOS/dev/dev_oa/src/interface/c_attr/icdomain_attr.cpp
===================================================================
--- XIOS/dev/dev_oa/src/interface/c_attr/icdomain_attr.cpp	(revision 1963)
+++ XIOS/dev/dev_oa/src/interface/c_attr/icdomain_attr.cpp	(revision 1965)
@@ -1073,4 +1073,54 @@
 
 
+  void cxios_set_domain_tile_data_ni(domain_Ptr domain_hdl, int* tile_data_ni, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_ni, shape(extent[0]), neverDeleteData);
+    domain_hdl->tile_data_ni.reference(tmp.copy());
+     CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_domain_tile_data_ni(domain_Ptr domain_hdl, int* tile_data_ni, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_ni, shape(extent[0]), neverDeleteData);
+    tmp=domain_hdl->tile_data_ni.getInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_domain_tile_data_ni(domain_Ptr domain_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = domain_hdl->tile_data_ni.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
+  void cxios_set_domain_tile_data_nj(domain_Ptr domain_hdl, int* tile_data_nj, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_nj, shape(extent[0]), neverDeleteData);
+    domain_hdl->tile_data_nj.reference(tmp.copy());
+     CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_domain_tile_data_nj(domain_Ptr domain_hdl, int* tile_data_nj, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_nj, shape(extent[0]), neverDeleteData);
+    tmp=domain_hdl->tile_data_nj.getInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_domain_tile_data_nj(domain_Ptr domain_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = domain_hdl->tile_data_nj.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
   void cxios_set_domain_tile_ibegin(domain_Ptr domain_hdl, int* tile_ibegin, int* extent)
   {
Index: XIOS/dev/dev_oa/src/interface/c_attr/icdomaingroup_attr.cpp
===================================================================
--- XIOS/dev/dev_oa/src/interface/c_attr/icdomaingroup_attr.cpp	(revision 1963)
+++ XIOS/dev/dev_oa/src/interface/c_attr/icdomaingroup_attr.cpp	(revision 1965)
@@ -1099,4 +1099,54 @@
 
 
+  void cxios_set_domaingroup_tile_data_ni(domaingroup_Ptr domaingroup_hdl, int* tile_data_ni, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_ni, shape(extent[0]), neverDeleteData);
+    domaingroup_hdl->tile_data_ni.reference(tmp.copy());
+     CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_domaingroup_tile_data_ni(domaingroup_Ptr domaingroup_hdl, int* tile_data_ni, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_ni, shape(extent[0]), neverDeleteData);
+    tmp=domaingroup_hdl->tile_data_ni.getInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_domaingroup_tile_data_ni(domaingroup_Ptr domaingroup_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = domaingroup_hdl->tile_data_ni.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
+  void cxios_set_domaingroup_tile_data_nj(domaingroup_Ptr domaingroup_hdl, int* tile_data_nj, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_nj, shape(extent[0]), neverDeleteData);
+    domaingroup_hdl->tile_data_nj.reference(tmp.copy());
+     CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_domaingroup_tile_data_nj(domaingroup_Ptr domaingroup_hdl, int* tile_data_nj, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(tile_data_nj, shape(extent[0]), neverDeleteData);
+    tmp=domaingroup_hdl->tile_data_nj.getInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_domaingroup_tile_data_nj(domaingroup_Ptr domaingroup_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = domaingroup_hdl->tile_data_nj.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
   void cxios_set_domaingroup_tile_ibegin(domaingroup_Ptr domaingroup_hdl, int* tile_ibegin, int* extent)
   {
Index: XIOS/dev/dev_oa/src/interface/fortran_attr/domain_interface_attr.F90
===================================================================
--- XIOS/dev/dev_oa/src/interface/fortran_attr/domain_interface_attr.F90	(revision 1963)
+++ XIOS/dev/dev_oa/src/interface/fortran_attr/domain_interface_attr.F90	(revision 1965)
@@ -883,4 +883,46 @@
 
 
+    SUBROUTINE cxios_set_domain_tile_data_ni(domain_hdl, tile_data_ni, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_ni
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_set_domain_tile_data_ni
+
+    SUBROUTINE cxios_get_domain_tile_data_ni(domain_hdl, tile_data_ni, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_ni
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_get_domain_tile_data_ni
+
+    FUNCTION cxios_is_defined_domain_tile_data_ni(domain_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_tile_data_ni
+      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
+    END FUNCTION cxios_is_defined_domain_tile_data_ni
+
+
+    SUBROUTINE cxios_set_domain_tile_data_nj(domain_hdl, tile_data_nj, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_nj
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_set_domain_tile_data_nj
+
+    SUBROUTINE cxios_get_domain_tile_data_nj(domain_hdl, tile_data_nj, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_nj
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_get_domain_tile_data_nj
+
+    FUNCTION cxios_is_defined_domain_tile_data_nj(domain_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_tile_data_nj
+      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
+    END FUNCTION cxios_is_defined_domain_tile_data_nj
+
+
     SUBROUTINE cxios_set_domain_tile_ibegin(domain_hdl, tile_ibegin, extent) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/dev/dev_oa/src/interface/fortran_attr/domaingroup_interface_attr.F90
===================================================================
--- XIOS/dev/dev_oa/src/interface/fortran_attr/domaingroup_interface_attr.F90	(revision 1963)
+++ XIOS/dev/dev_oa/src/interface/fortran_attr/domaingroup_interface_attr.F90	(revision 1965)
@@ -904,4 +904,46 @@
 
 
+    SUBROUTINE cxios_set_domaingroup_tile_data_ni(domaingroup_hdl, tile_data_ni, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_ni
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_set_domaingroup_tile_data_ni
+
+    SUBROUTINE cxios_get_domaingroup_tile_data_ni(domaingroup_hdl, tile_data_ni, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_ni
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_get_domaingroup_tile_data_ni
+
+    FUNCTION cxios_is_defined_domaingroup_tile_data_ni(domaingroup_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_tile_data_ni
+      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
+    END FUNCTION cxios_is_defined_domaingroup_tile_data_ni
+
+
+    SUBROUTINE cxios_set_domaingroup_tile_data_nj(domaingroup_hdl, tile_data_nj, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_nj
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_set_domaingroup_tile_data_nj
+
+    SUBROUTINE cxios_get_domaingroup_tile_data_nj(domaingroup_hdl, tile_data_nj, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: tile_data_nj
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_get_domaingroup_tile_data_nj
+
+    FUNCTION cxios_is_defined_domaingroup_tile_data_nj(domaingroup_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_tile_data_nj
+      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
+    END FUNCTION cxios_is_defined_domaingroup_tile_data_nj
+
+
     SUBROUTINE cxios_set_domaingroup_tile_ibegin(domaingroup_hdl, tile_ibegin, extent) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/dev/dev_oa/src/interface/fortran_attr/idomain_attr.F90
===================================================================
--- XIOS/dev/dev_oa/src/interface/fortran_attr/idomain_attr.F90	(revision 1963)
+++ XIOS/dev/dev_oa/src/interface/fortran_attr/idomain_attr.F90	(revision 1965)
@@ -17,5 +17,5 @@
     , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
     , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-    , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
     IMPLICIT NONE
@@ -67,4 +67,6 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_jbegin(:)
@@ -81,5 +83,5 @@
       , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
       , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-      , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
   END SUBROUTINE xios(set_domain_attr)
@@ -91,5 +93,5 @@
     , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
     , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-    , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
     IMPLICIT NONE
@@ -140,4 +142,6 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_jbegin(:)
@@ -152,5 +156,5 @@
       , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
       , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-      , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
   END SUBROUTINE xios(set_domain_attr_hdl)
@@ -162,6 +166,6 @@
     , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  &
     , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, ntiles_, nvertex_, prec_, radius_, standard_name_  &
-    , tile_data_ibegin_, tile_data_jbegin_, tile_ibegin_, tile_jbegin_, tile_ni_, tile_nj_, type_  &
-     )
+    , tile_data_ibegin_, tile_data_jbegin_, tile_data_ni_, tile_data_nj_, tile_ibegin_, tile_jbegin_  &
+    , tile_ni_, tile_nj_, type_ )
 
     IMPLICIT NONE
@@ -212,4 +216,6 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_jbegin_(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ni_(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_nj_(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_jbegin_(:)
@@ -435,4 +441,14 @@
         CALL cxios_set_domain_tile_data_jbegin &
       (domain_hdl%daddr, tile_data_jbegin_, SHAPE(tile_data_jbegin_))
+      ENDIF
+
+      IF (PRESENT(tile_data_ni_)) THEN
+        CALL cxios_set_domain_tile_data_ni &
+      (domain_hdl%daddr, tile_data_ni_, SHAPE(tile_data_ni_))
+      ENDIF
+
+      IF (PRESENT(tile_data_nj_)) THEN
+        CALL cxios_set_domain_tile_data_nj &
+      (domain_hdl%daddr, tile_data_nj_, SHAPE(tile_data_nj_))
       ENDIF
 
@@ -470,5 +486,5 @@
     , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
     , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-    , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
     IMPLICIT NONE
@@ -520,4 +536,6 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_jbegin(:)
@@ -534,5 +552,5 @@
       , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
       , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-      , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
   END SUBROUTINE xios(get_domain_attr)
@@ -544,5 +562,5 @@
     , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
     , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-    , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
     IMPLICIT NONE
@@ -593,4 +611,6 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_jbegin(:)
@@ -605,5 +625,5 @@
       , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
       , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-      , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
   END SUBROUTINE xios(get_domain_attr_hdl)
@@ -615,6 +635,6 @@
     , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  &
     , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, ntiles_, nvertex_, prec_, radius_, standard_name_  &
-    , tile_data_ibegin_, tile_data_jbegin_, tile_ibegin_, tile_jbegin_, tile_ni_, tile_nj_, type_  &
-     )
+    , tile_data_ibegin_, tile_data_jbegin_, tile_data_ni_, tile_data_nj_, tile_ibegin_, tile_jbegin_  &
+    , tile_ni_, tile_nj_, type_ )
 
     IMPLICIT NONE
@@ -665,4 +685,6 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_jbegin_(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ni_(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_nj_(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_jbegin_(:)
@@ -888,4 +910,14 @@
         CALL cxios_get_domain_tile_data_jbegin &
       (domain_hdl%daddr, tile_data_jbegin_, SHAPE(tile_data_jbegin_))
+      ENDIF
+
+      IF (PRESENT(tile_data_ni_)) THEN
+        CALL cxios_get_domain_tile_data_ni &
+      (domain_hdl%daddr, tile_data_ni_, SHAPE(tile_data_ni_))
+      ENDIF
+
+      IF (PRESENT(tile_data_nj_)) THEN
+        CALL cxios_get_domain_tile_data_nj &
+      (domain_hdl%daddr, tile_data_nj_, SHAPE(tile_data_nj_))
       ENDIF
 
@@ -923,5 +955,5 @@
     , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
     , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-    , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
     IMPLICIT NONE
@@ -1014,4 +1046,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_jbegin
       LOGICAL(KIND=C_BOOL) :: tile_data_jbegin_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_ni
+      LOGICAL(KIND=C_BOOL) :: tile_data_ni_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_nj
+      LOGICAL(KIND=C_BOOL) :: tile_data_nj_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_ibegin
       LOGICAL(KIND=C_BOOL) :: tile_ibegin_tmp
@@ -1033,5 +1069,5 @@
       , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
       , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-      , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
   END SUBROUTINE xios(is_defined_domain_attr)
@@ -1043,5 +1079,5 @@
     , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
     , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-    , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
     IMPLICIT NONE
@@ -1133,4 +1169,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_jbegin
       LOGICAL(KIND=C_BOOL) :: tile_data_jbegin_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_ni
+      LOGICAL(KIND=C_BOOL) :: tile_data_ni_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_nj
+      LOGICAL(KIND=C_BOOL) :: tile_data_nj_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_ibegin
       LOGICAL(KIND=C_BOOL) :: tile_ibegin_tmp
@@ -1150,5 +1190,5 @@
       , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  &
       , nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin, tile_data_jbegin  &
-      , tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
 
   END SUBROUTINE xios(is_defined_domain_attr_hdl)
@@ -1160,6 +1200,6 @@
     , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  &
     , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, ntiles_, nvertex_, prec_, radius_, standard_name_  &
-    , tile_data_ibegin_, tile_data_jbegin_, tile_ibegin_, tile_jbegin_, tile_ni_, tile_nj_, type_  &
-     )
+    , tile_data_ibegin_, tile_data_jbegin_, tile_data_ni_, tile_data_nj_, tile_ibegin_, tile_jbegin_  &
+    , tile_ni_, tile_nj_, type_ )
 
     IMPLICIT NONE
@@ -1251,4 +1291,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_jbegin_
       LOGICAL(KIND=C_BOOL) :: tile_data_jbegin__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_ni_
+      LOGICAL(KIND=C_BOOL) :: tile_data_ni__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_nj_
+      LOGICAL(KIND=C_BOOL) :: tile_data_nj__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_ibegin_
       LOGICAL(KIND=C_BOOL) :: tile_ibegin__tmp
@@ -1520,4 +1564,16 @@
       ENDIF
 
+      IF (PRESENT(tile_data_ni_)) THEN
+        tile_data_ni__tmp = cxios_is_defined_domain_tile_data_ni &
+      (domain_hdl%daddr)
+        tile_data_ni_ = tile_data_ni__tmp
+      ENDIF
+
+      IF (PRESENT(tile_data_nj_)) THEN
+        tile_data_nj__tmp = cxios_is_defined_domain_tile_data_nj &
+      (domain_hdl%daddr)
+        tile_data_nj_ = tile_data_nj__tmp
+      ENDIF
+
       IF (PRESENT(tile_ibegin_)) THEN
         tile_ibegin__tmp = cxios_is_defined_domain_tile_ibegin &
Index: XIOS/dev/dev_oa/src/interface/fortran_attr/idomaingroup_attr.F90
===================================================================
--- XIOS/dev/dev_oa/src/interface/fortran_attr/idomaingroup_attr.F90	(revision 1963)
+++ XIOS/dev/dev_oa/src/interface/fortran_attr/idomaingroup_attr.F90	(revision 1965)
@@ -17,5 +17,6 @@
     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
     , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-    , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+     )
 
     IMPLICIT NONE
@@ -68,4 +69,6 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_jbegin(:)
@@ -82,5 +85,6 @@
       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
       , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-      , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+       )
 
   END SUBROUTINE xios(set_domaingroup_attr)
@@ -92,5 +96,6 @@
     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
     , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-    , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+     )
 
     IMPLICIT NONE
@@ -142,4 +147,6 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_jbegin(:)
@@ -154,5 +161,6 @@
       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
       , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-      , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+       )
 
   END SUBROUTINE xios(set_domaingroup_attr_hdl)
@@ -164,6 +172,6 @@
     , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  &
     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, ntiles_, nvertex_, prec_, radius_, standard_name_  &
-    , tile_data_ibegin_, tile_data_jbegin_, tile_ibegin_, tile_jbegin_, tile_ni_, tile_nj_, type_  &
-     )
+    , tile_data_ibegin_, tile_data_jbegin_, tile_data_ni_, tile_data_nj_, tile_ibegin_, tile_jbegin_  &
+    , tile_ni_, tile_nj_, type_ )
 
     IMPLICIT NONE
@@ -215,4 +223,6 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_jbegin_(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_ni_(:)
+      INTEGER  , OPTIONAL, INTENT(IN) :: tile_data_nj_(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: tile_jbegin_(:)
@@ -443,4 +453,14 @@
         CALL cxios_set_domaingroup_tile_data_jbegin &
       (domaingroup_hdl%daddr, tile_data_jbegin_, SHAPE(tile_data_jbegin_))
+      ENDIF
+
+      IF (PRESENT(tile_data_ni_)) THEN
+        CALL cxios_set_domaingroup_tile_data_ni &
+      (domaingroup_hdl%daddr, tile_data_ni_, SHAPE(tile_data_ni_))
+      ENDIF
+
+      IF (PRESENT(tile_data_nj_)) THEN
+        CALL cxios_set_domaingroup_tile_data_nj &
+      (domaingroup_hdl%daddr, tile_data_nj_, SHAPE(tile_data_nj_))
       ENDIF
 
@@ -478,5 +498,6 @@
     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
     , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-    , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+     )
 
     IMPLICIT NONE
@@ -529,4 +550,6 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_jbegin(:)
@@ -543,5 +566,6 @@
       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
       , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-      , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+       )
 
   END SUBROUTINE xios(get_domaingroup_attr)
@@ -553,5 +577,6 @@
     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
     , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-    , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+     )
 
     IMPLICIT NONE
@@ -603,4 +628,6 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_jbegin(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ni(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_nj(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_ibegin(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_jbegin(:)
@@ -615,5 +642,6 @@
       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
       , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-      , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+       )
 
   END SUBROUTINE xios(get_domaingroup_attr_hdl)
@@ -625,6 +653,6 @@
     , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  &
     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, ntiles_, nvertex_, prec_, radius_, standard_name_  &
-    , tile_data_ibegin_, tile_data_jbegin_, tile_ibegin_, tile_jbegin_, tile_ni_, tile_nj_, type_  &
-     )
+    , tile_data_ibegin_, tile_data_jbegin_, tile_data_ni_, tile_data_nj_, tile_ibegin_, tile_jbegin_  &
+    , tile_ni_, tile_nj_, type_ )
 
     IMPLICIT NONE
@@ -676,4 +704,6 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_jbegin_(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_ni_(:)
+      INTEGER  , OPTIONAL, INTENT(OUT) :: tile_data_nj_(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_ibegin_(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: tile_jbegin_(:)
@@ -904,4 +934,14 @@
         CALL cxios_get_domaingroup_tile_data_jbegin &
       (domaingroup_hdl%daddr, tile_data_jbegin_, SHAPE(tile_data_jbegin_))
+      ENDIF
+
+      IF (PRESENT(tile_data_ni_)) THEN
+        CALL cxios_get_domaingroup_tile_data_ni &
+      (domaingroup_hdl%daddr, tile_data_ni_, SHAPE(tile_data_ni_))
+      ENDIF
+
+      IF (PRESENT(tile_data_nj_)) THEN
+        CALL cxios_get_domaingroup_tile_data_nj &
+      (domaingroup_hdl%daddr, tile_data_nj_, SHAPE(tile_data_nj_))
       ENDIF
 
@@ -939,5 +979,6 @@
     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
     , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-    , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+     )
 
     IMPLICIT NONE
@@ -1032,4 +1073,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_jbegin
       LOGICAL(KIND=C_BOOL) :: tile_data_jbegin_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_ni
+      LOGICAL(KIND=C_BOOL) :: tile_data_ni_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_nj
+      LOGICAL(KIND=C_BOOL) :: tile_data_nj_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_ibegin
       LOGICAL(KIND=C_BOOL) :: tile_ibegin_tmp
@@ -1051,5 +1096,6 @@
       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
       , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-      , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+       )
 
   END SUBROUTINE xios(is_defined_domaingroup_attr)
@@ -1061,5 +1107,6 @@
     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
     , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-    , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+    , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+     )
 
     IMPLICIT NONE
@@ -1153,4 +1200,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_jbegin
       LOGICAL(KIND=C_BOOL) :: tile_data_jbegin_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_ni
+      LOGICAL(KIND=C_BOOL) :: tile_data_ni_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_nj
+      LOGICAL(KIND=C_BOOL) :: tile_data_nj_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_ibegin
       LOGICAL(KIND=C_BOOL) :: tile_ibegin_tmp
@@ -1170,5 +1221,6 @@
       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  &
       , name, ni, ni_glo, nj, nj_glo, ntiles, nvertex, prec, radius, standard_name, tile_data_ibegin  &
-      , tile_data_jbegin, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type )
+      , tile_data_jbegin, tile_data_ni, tile_data_nj, tile_ibegin, tile_jbegin, tile_ni, tile_nj, type  &
+       )
 
   END SUBROUTINE xios(is_defined_domaingroup_attr_hdl)
@@ -1180,6 +1232,6 @@
     , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  &
     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, ntiles_, nvertex_, prec_, radius_, standard_name_  &
-    , tile_data_ibegin_, tile_data_jbegin_, tile_ibegin_, tile_jbegin_, tile_ni_, tile_nj_, type_  &
-     )
+    , tile_data_ibegin_, tile_data_jbegin_, tile_data_ni_, tile_data_nj_, tile_ibegin_, tile_jbegin_  &
+    , tile_ni_, tile_nj_, type_ )
 
     IMPLICIT NONE
@@ -1273,4 +1325,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_jbegin_
       LOGICAL(KIND=C_BOOL) :: tile_data_jbegin__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_ni_
+      LOGICAL(KIND=C_BOOL) :: tile_data_ni__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: tile_data_nj_
+      LOGICAL(KIND=C_BOOL) :: tile_data_nj__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: tile_ibegin_
       LOGICAL(KIND=C_BOOL) :: tile_ibegin__tmp
@@ -1548,4 +1604,16 @@
       ENDIF
 
+      IF (PRESENT(tile_data_ni_)) THEN
+        tile_data_ni__tmp = cxios_is_defined_domaingroup_tile_data_ni &
+      (domaingroup_hdl%daddr)
+        tile_data_ni_ = tile_data_ni__tmp
+      ENDIF
+
+      IF (PRESENT(tile_data_nj_)) THEN
+        tile_data_nj__tmp = cxios_is_defined_domaingroup_tile_data_nj &
+      (domaingroup_hdl%daddr)
+        tile_data_nj_ = tile_data_nj__tmp
+      ENDIF
+
       IF (PRESENT(tile_ibegin_)) THEN
         tile_ibegin__tmp = cxios_is_defined_domaingroup_tile_ibegin &
