Index: XIOS/trunk/src/interface/c_attr/icaxis_attr.cpp
===================================================================
--- XIOS/trunk/src/interface/c_attr/icaxis_attr.cpp	(revision 545)
+++ XIOS/trunk/src/interface/c_attr/icaxis_attr.cpp	(revision 546)
@@ -18,4 +18,30 @@
   typedef xios::CAxis*  axis_Ptr;
   
+  void cxios_set_axis_axis_ref(axis_Ptr axis_hdl, const char * axis_ref, int axis_ref_size)
+  {
+    std::string axis_ref_str;
+    if(!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
+     CTimer::get("XIOS").resume();
+    axis_hdl->axis_ref.setValue(axis_ref_str);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_axis_axis_ref(axis_Ptr axis_hdl, char * axis_ref, int axis_ref_size)
+  {
+     CTimer::get("XIOS").resume();
+    if(!string_copy(axis_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size))
+      ERROR("void cxios_get_axis_axis_ref(axis_Ptr axis_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short");
+     CTimer::get("XIOS").suspend();
+  }
+  
+  bool cxios_is_defined_axis_axis_ref(axis_Ptr axis_hdl )
+  {
+     CTimer::get("XIOS").resume();
+    return axis_hdl->axis_ref.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+  
+  
+  
   void cxios_set_axis_long_name(axis_Ptr axis_hdl, const char * long_name, int long_name_size)
   {
Index: XIOS/trunk/src/interface/c_attr/icaxisgroup_attr.cpp
===================================================================
--- XIOS/trunk/src/interface/c_attr/icaxisgroup_attr.cpp	(revision 545)
+++ XIOS/trunk/src/interface/c_attr/icaxisgroup_attr.cpp	(revision 546)
@@ -18,4 +18,30 @@
   typedef xios::CAxisGroup*  axisgroup_Ptr;
   
+  void cxios_set_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl, const char * axis_ref, int axis_ref_size)
+  {
+    std::string axis_ref_str;
+    if(!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
+     CTimer::get("XIOS").resume();
+    axisgroup_hdl->axis_ref.setValue(axis_ref_str);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl, char * axis_ref, int axis_ref_size)
+  {
+     CTimer::get("XIOS").resume();
+    if(!string_copy(axisgroup_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size))
+      ERROR("void cxios_get_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short");
+     CTimer::get("XIOS").suspend();
+  }
+  
+  bool cxios_is_defined_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl )
+  {
+     CTimer::get("XIOS").resume();
+    return axisgroup_hdl->axis_ref.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+  
+  
+  
   void cxios_set_axisgroup_group_ref(axisgroup_Ptr axisgroup_hdl, const char * group_ref, int group_ref_size)
   {
Index: XIOS/trunk/src/interface/c_attr/icdomain_attr.cpp
===================================================================
--- XIOS/trunk/src/interface/c_attr/icdomain_attr.cpp	(revision 545)
+++ XIOS/trunk/src/interface/c_attr/icdomain_attr.cpp	(revision 546)
@@ -270,4 +270,30 @@
   
   
+  void cxios_set_domain_domain_ref(domain_Ptr domain_hdl, const char * domain_ref, int domain_ref_size)
+  {
+    std::string domain_ref_str;
+    if(!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return;
+     CTimer::get("XIOS").resume();
+    domain_hdl->domain_ref.setValue(domain_ref_str);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_domain_domain_ref(domain_Ptr domain_hdl, char * domain_ref, int domain_ref_size)
+  {
+     CTimer::get("XIOS").resume();
+    if(!string_copy(domain_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size))
+      ERROR("void cxios_get_domain_domain_ref(domain_Ptr domain_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short");
+     CTimer::get("XIOS").suspend();
+  }
+  
+  bool cxios_is_defined_domain_domain_ref(domain_Ptr domain_hdl )
+  {
+     CTimer::get("XIOS").resume();
+    return domain_hdl->domain_ref.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+  
+  
+  
   void cxios_set_domain_i_index(domain_Ptr domain_hdl, int* i_index, int extent1, int extent2)
   {
Index: XIOS/trunk/src/interface/c_attr/icdomaingroup_attr.cpp
===================================================================
--- XIOS/trunk/src/interface/c_attr/icdomaingroup_attr.cpp	(revision 545)
+++ XIOS/trunk/src/interface/c_attr/icdomaingroup_attr.cpp	(revision 546)
@@ -270,4 +270,30 @@
   
   
+  void cxios_set_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl, const char * domain_ref, int domain_ref_size)
+  {
+    std::string domain_ref_str;
+    if(!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return;
+     CTimer::get("XIOS").resume();
+    domaingroup_hdl->domain_ref.setValue(domain_ref_str);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl, char * domain_ref, int domain_ref_size)
+  {
+     CTimer::get("XIOS").resume();
+    if(!string_copy(domaingroup_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size))
+      ERROR("void cxios_get_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short");
+     CTimer::get("XIOS").suspend();
+  }
+  
+  bool cxios_is_defined_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl )
+  {
+     CTimer::get("XIOS").resume();
+    return domaingroup_hdl->domain_ref.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+  
+  
+  
   void cxios_set_domaingroup_group_ref(domaingroup_Ptr domaingroup_hdl, const char * group_ref, int group_ref_size)
   {
Index: XIOS/trunk/src/interface/fortran_attr/axis_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/axis_interface_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/axis_interface_attr.F90	(revision 546)
@@ -10,4 +10,25 @@
     
     
+    SUBROUTINE cxios_set_axis_axis_ref(axis_hdl, axis_ref, axis_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
+    END SUBROUTINE cxios_set_axis_axis_ref
+    
+    SUBROUTINE cxios_get_axis_axis_ref(axis_hdl, axis_ref, axis_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
+    END SUBROUTINE cxios_get_axis_axis_ref
+    
+    FUNCTION cxios_is_defined_axis_axis_ref(axis_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_axis_ref
+      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl
+    END FUNCTION cxios_is_defined_axis_axis_ref
+    
+    
     SUBROUTINE cxios_set_axis_long_name(axis_hdl, long_name, long_name_size) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/trunk/src/interface/fortran_attr/axisgroup_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/axisgroup_interface_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/axisgroup_interface_attr.F90	(revision 546)
@@ -10,4 +10,25 @@
     
     
+    SUBROUTINE cxios_set_axisgroup_axis_ref(axisgroup_hdl, axis_ref, axis_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
+    END SUBROUTINE cxios_set_axisgroup_axis_ref
+    
+    SUBROUTINE cxios_get_axisgroup_axis_ref(axisgroup_hdl, axis_ref, axis_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
+    END SUBROUTINE cxios_get_axisgroup_axis_ref
+    
+    FUNCTION cxios_is_defined_axisgroup_axis_ref(axisgroup_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_axis_ref
+      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl
+    END FUNCTION cxios_is_defined_axisgroup_axis_ref
+    
+    
     SUBROUTINE cxios_set_axisgroup_group_ref(axisgroup_hdl, group_ref, group_ref_size) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/trunk/src/interface/fortran_attr/domain_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/domain_interface_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/domain_interface_attr.F90	(revision 546)
@@ -233,4 +233,25 @@
     
     
+    SUBROUTINE cxios_set_domain_domain_ref(domain_hdl, domain_ref, domain_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
+    END SUBROUTINE cxios_set_domain_domain_ref
+    
+    SUBROUTINE cxios_get_domain_domain_ref(domain_hdl, domain_ref, domain_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
+    END SUBROUTINE cxios_get_domain_domain_ref
+    
+    FUNCTION cxios_is_defined_domain_domain_ref(domain_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_domain_ref
+      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl
+    END FUNCTION cxios_is_defined_domain_domain_ref
+    
+    
     SUBROUTINE cxios_set_domain_i_index(domain_hdl, i_index, extent1, extent2) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/trunk/src/interface/fortran_attr/domaingroup_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/domaingroup_interface_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/domaingroup_interface_attr.F90	(revision 546)
@@ -233,4 +233,25 @@
     
     
+    SUBROUTINE cxios_set_domaingroup_domain_ref(domaingroup_hdl, domain_ref, domain_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
+    END SUBROUTINE cxios_set_domaingroup_domain_ref
+    
+    SUBROUTINE cxios_get_domaingroup_domain_ref(domaingroup_hdl, domain_ref, domain_ref_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
+      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
+    END SUBROUTINE cxios_get_domaingroup_domain_ref
+    
+    FUNCTION cxios_is_defined_domaingroup_domain_ref(domaingroup_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_domain_ref
+      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl
+    END FUNCTION cxios_is_defined_domaingroup_domain_ref
+    
+    
     SUBROUTINE cxios_set_domaingroup_group_ref(domaingroup_hdl, group_ref, group_ref_size) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90	(revision 546)
@@ -10,23 +10,23 @@
     
     
-    SUBROUTINE cxios_set_grid_axis_ref(grid_hdl, axis_ref, axis_ref_size) BIND(C)
+    SUBROUTINE cxios_set_grid_axisDomOrder(grid_hdl, axisDomOrder, extent1) BIND(C)
       USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder
+      INTEGER (kind = C_INT), VALUE  :: extent1
+    END SUBROUTINE cxios_set_grid_axisDomOrder
+    
+    SUBROUTINE cxios_get_grid_axisDomOrder(grid_hdl, axisDomOrder, extent1) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder
+      INTEGER (kind = C_INT), VALUE  :: extent1
+    END SUBROUTINE cxios_get_grid_axisDomOrder
+    
+    FUNCTION cxios_is_defined_grid_axisDomOrder(grid_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_axisDomOrder
       INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
-    END SUBROUTINE cxios_set_grid_axis_ref
-    
-    SUBROUTINE cxios_get_grid_axis_ref(grid_hdl, axis_ref, axis_ref_size) BIND(C)
-      USE ISO_C_BINDING
-      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
-    END SUBROUTINE cxios_get_grid_axis_ref
-    
-    FUNCTION cxios_is_defined_grid_axis_ref(grid_hdl ) BIND(C)
-      USE ISO_C_BINDING
-      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_axis_ref
-      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl
-    END FUNCTION cxios_is_defined_grid_axis_ref
+    END FUNCTION cxios_is_defined_grid_axisDomOrder
     
     
@@ -50,25 +50,4 @@
       INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl
     END FUNCTION cxios_is_defined_grid_description
-    
-    
-    SUBROUTINE cxios_set_grid_domain_ref(grid_hdl, domain_ref, domain_ref_size) BIND(C)
-      USE ISO_C_BINDING
-      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
-    END SUBROUTINE cxios_set_grid_domain_ref
-    
-    SUBROUTINE cxios_get_grid_domain_ref(grid_hdl, domain_ref, domain_ref_size) BIND(C)
-      USE ISO_C_BINDING
-      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
-    END SUBROUTINE cxios_get_grid_domain_ref
-    
-    FUNCTION cxios_is_defined_grid_domain_ref(grid_hdl ) BIND(C)
-      USE ISO_C_BINDING
-      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_domain_ref
-      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl
-    END FUNCTION cxios_is_defined_grid_domain_ref
     
     
Index: XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90	(revision 546)
@@ -10,23 +10,23 @@
     
     
-    SUBROUTINE cxios_set_gridgroup_axis_ref(gridgroup_hdl, axis_ref, axis_ref_size) BIND(C)
+    SUBROUTINE cxios_set_gridgroup_axisDomOrder(gridgroup_hdl, axisDomOrder, extent1) BIND(C)
       USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder
+      INTEGER (kind = C_INT), VALUE  :: extent1
+    END SUBROUTINE cxios_set_gridgroup_axisDomOrder
+    
+    SUBROUTINE cxios_get_gridgroup_axisDomOrder(gridgroup_hdl, axisDomOrder, extent1) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder
+      INTEGER (kind = C_INT), VALUE  :: extent1
+    END SUBROUTINE cxios_get_gridgroup_axisDomOrder
+    
+    FUNCTION cxios_is_defined_gridgroup_axisDomOrder(gridgroup_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_axisDomOrder
       INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
-    END SUBROUTINE cxios_set_gridgroup_axis_ref
-    
-    SUBROUTINE cxios_get_gridgroup_axis_ref(gridgroup_hdl, axis_ref, axis_ref_size) BIND(C)
-      USE ISO_C_BINDING
-      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size
-    END SUBROUTINE cxios_get_gridgroup_axis_ref
-    
-    FUNCTION cxios_is_defined_gridgroup_axis_ref(gridgroup_hdl ) BIND(C)
-      USE ISO_C_BINDING
-      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_axis_ref
-      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl
-    END FUNCTION cxios_is_defined_gridgroup_axis_ref
+    END FUNCTION cxios_is_defined_gridgroup_axisDomOrder
     
     
@@ -50,25 +50,4 @@
       INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl
     END FUNCTION cxios_is_defined_gridgroup_description
-    
-    
-    SUBROUTINE cxios_set_gridgroup_domain_ref(gridgroup_hdl, domain_ref, domain_ref_size) BIND(C)
-      USE ISO_C_BINDING
-      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
-    END SUBROUTINE cxios_set_gridgroup_domain_ref
-    
-    SUBROUTINE cxios_get_gridgroup_domain_ref(gridgroup_hdl, domain_ref, domain_ref_size) BIND(C)
-      USE ISO_C_BINDING
-      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl
-      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref
-      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size
-    END SUBROUTINE cxios_get_gridgroup_domain_ref
-    
-    FUNCTION cxios_is_defined_gridgroup_domain_ref(gridgroup_hdl ) BIND(C)
-      USE ISO_C_BINDING
-      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_domain_ref
-      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl
-    END FUNCTION cxios_is_defined_gridgroup_domain_ref
     
     
Index: XIOS/trunk/src/interface/fortran_attr/iaxis_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/iaxis_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/iaxis_attr.F90	(revision 546)
@@ -12,10 +12,11 @@
   
   SUBROUTINE xios(set_axis_attr)  &
-    ( axis_id, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-    , zoom_size )
+    ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+    , zoom_end, zoom_size )
     
     IMPLICIT NONE
       TYPE(txios(axis))  :: axis_hdl
       CHARACTER(LEN=*), INTENT(IN) ::axis_id
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
@@ -31,15 +32,16 @@
       CALL xios(get_axis_handle)(axis_id,axis_hdl)
       CALL xios(set_axis_attr_hdl_)   &
-      ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-      , zoom_size )
+      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+      , zoom_end, zoom_size )
     
   END SUBROUTINE xios(set_axis_attr)
   
   SUBROUTINE xios(set_axis_attr_hdl)  &
-    ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-    , zoom_size )
-    
-    IMPLICIT NONE
-      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+    ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+    , zoom_end, zoom_size )
+    
+    IMPLICIT NONE
+      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
@@ -54,15 +56,16 @@
       
       CALL xios(set_axis_attr_hdl_)  &
-      ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-      , zoom_size )
+      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+      , zoom_end, zoom_size )
     
   END SUBROUTINE xios(set_axis_attr_hdl)
   
   SUBROUTINE xios(set_axis_attr_hdl_)   &
-    ( axis_hdl, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  &
+    ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  &
     , zoom_end_, zoom_size_ )
     
     IMPLICIT NONE
       TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
@@ -76,4 +79,8 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size_
       
+      IF (PRESENT(axis_ref_)) THEN
+        CALL cxios_set_axis_axis_ref(axis_hdl%daddr, axis_ref_, len(axis_ref_))
+      ENDIF
+      
       IF (PRESENT(long_name_)) THEN
         CALL cxios_set_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_))
@@ -121,10 +128,11 @@
   
   SUBROUTINE xios(get_axis_attr)  &
-    ( axis_id, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-    , zoom_size )
+    ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+    , zoom_end, zoom_size )
     
     IMPLICIT NONE
       TYPE(txios(axis))  :: axis_hdl
       CHARACTER(LEN=*), INTENT(IN) ::axis_id
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
@@ -140,15 +148,16 @@
       CALL xios(get_axis_handle)(axis_id,axis_hdl)
       CALL xios(get_axis_attr_hdl_)   &
-      ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-      , zoom_size )
+      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+      , zoom_end, zoom_size )
     
   END SUBROUTINE xios(get_axis_attr)
   
   SUBROUTINE xios(get_axis_attr_hdl)  &
-    ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-    , zoom_size )
-    
-    IMPLICIT NONE
-      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+    ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+    , zoom_end, zoom_size )
+    
+    IMPLICIT NONE
+      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
@@ -163,15 +172,16 @@
       
       CALL xios(get_axis_attr_hdl_)  &
-      ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-      , zoom_size )
+      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+      , zoom_end, zoom_size )
     
   END SUBROUTINE xios(get_axis_attr_hdl)
   
   SUBROUTINE xios(get_axis_attr_hdl_)   &
-    ( axis_hdl, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  &
+    ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  &
     , zoom_end_, zoom_size_ )
     
     IMPLICIT NONE
       TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
@@ -185,4 +195,8 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size_
       
+      IF (PRESENT(axis_ref_)) THEN
+        CALL cxios_get_axis_axis_ref(axis_hdl%daddr, axis_ref_, len(axis_ref_))
+      ENDIF
+      
       IF (PRESENT(long_name_)) THEN
         CALL cxios_get_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_))
@@ -230,10 +244,12 @@
   
   SUBROUTINE xios(is_defined_axis_attr)  &
-    ( axis_id, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-    , zoom_size )
+    ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+    , zoom_end, zoom_size )
     
     IMPLICIT NONE
       TYPE(txios(axis))  :: axis_hdl
       CHARACTER(LEN=*), INTENT(IN) ::axis_id
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
+      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
       LOGICAL(KIND=C_BOOL) :: long_name_tmp
@@ -259,15 +275,17 @@
       CALL xios(get_axis_handle)(axis_id,axis_hdl)
       CALL xios(is_defined_axis_attr_hdl_)   &
-      ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-      , zoom_size )
+      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+      , zoom_end, zoom_size )
     
   END SUBROUTINE xios(is_defined_axis_attr)
   
   SUBROUTINE xios(is_defined_axis_attr_hdl)  &
-    ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-    , zoom_size )
-    
-    IMPLICIT NONE
-      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+    ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+    , zoom_end, zoom_size )
+    
+    IMPLICIT NONE
+      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
+      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
       LOGICAL(KIND=C_BOOL) :: long_name_tmp
@@ -292,15 +310,17 @@
       
       CALL xios(is_defined_axis_attr_hdl_)  &
-      ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  &
-      , zoom_size )
+      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
+      , zoom_end, zoom_size )
     
   END SUBROUTINE xios(is_defined_axis_attr_hdl)
   
   SUBROUTINE xios(is_defined_axis_attr_hdl_)   &
-    ( axis_hdl, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  &
+    ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  &
     , zoom_end_, zoom_size_ )
     
     IMPLICIT NONE
       TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
+      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_
       LOGICAL(KIND=C_BOOL) :: long_name__tmp
@@ -324,4 +344,9 @@
       LOGICAL(KIND=C_BOOL) :: zoom_size__tmp
       
+      IF (PRESENT(axis_ref_)) THEN
+        axis_ref__tmp=cxios_is_defined_axis_axis_ref(axis_hdl%daddr)
+        axis_ref_=axis_ref__tmp
+      ENDIF
+      
       IF (PRESENT(long_name_)) THEN
         long_name__tmp=cxios_is_defined_axis_long_name(axis_hdl%daddr)
Index: XIOS/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90	(revision 546)
@@ -12,10 +12,11 @@
   
   SUBROUTINE xios(set_axisgroup_attr)  &
-    ( axisgroup_id, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-    , zoom_end, zoom_size )
+    ( axisgroup_id, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+    , zoom_begin, zoom_end, zoom_size )
     
     IMPLICIT NONE
       TYPE(txios(axisgroup))  :: axisgroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
@@ -32,15 +33,16 @@
       CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl)
       CALL xios(set_axisgroup_attr_hdl_)   &
-      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-      , zoom_end, zoom_size )
+      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+      , zoom_begin, zoom_end, zoom_size )
     
   END SUBROUTINE xios(set_axisgroup_attr)
   
   SUBROUTINE xios(set_axisgroup_attr_hdl)  &
-    ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-    , zoom_end, zoom_size )
-    
-    IMPLICIT NONE
-      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+    ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+    , zoom_begin, zoom_end, zoom_size )
+    
+    IMPLICIT NONE
+      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
@@ -56,15 +58,16 @@
       
       CALL xios(set_axisgroup_attr_hdl_)  &
-      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-      , zoom_end, zoom_size )
+      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+      , zoom_begin, zoom_end, zoom_size )
     
   END SUBROUTINE xios(set_axisgroup_attr_hdl)
   
   SUBROUTINE xios(set_axisgroup_attr_hdl_)   &
-    ( axisgroup_hdl, group_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_  &
-    , zoom_begin_, zoom_end_, zoom_size_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+    ( axisgroup_hdl, axis_ref_, group_ref_, long_name_, name_, positive_, size_, standard_name_  &
+    , unit_, value_, zoom_begin_, zoom_end_, zoom_size_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
@@ -79,4 +82,8 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size_
       
+      IF (PRESENT(axis_ref_)) THEN
+        CALL cxios_set_axisgroup_axis_ref(axisgroup_hdl%daddr, axis_ref_, len(axis_ref_))
+      ENDIF
+      
       IF (PRESENT(group_ref_)) THEN
         CALL cxios_set_axisgroup_group_ref(axisgroup_hdl%daddr, group_ref_, len(group_ref_))
@@ -128,10 +135,11 @@
   
   SUBROUTINE xios(get_axisgroup_attr)  &
-    ( axisgroup_id, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-    , zoom_end, zoom_size )
+    ( axisgroup_id, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+    , zoom_begin, zoom_end, zoom_size )
     
     IMPLICIT NONE
       TYPE(txios(axisgroup))  :: axisgroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
@@ -148,15 +156,16 @@
       CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl)
       CALL xios(get_axisgroup_attr_hdl_)   &
-      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-      , zoom_end, zoom_size )
+      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+      , zoom_begin, zoom_end, zoom_size )
     
   END SUBROUTINE xios(get_axisgroup_attr)
   
   SUBROUTINE xios(get_axisgroup_attr_hdl)  &
-    ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-    , zoom_end, zoom_size )
-    
-    IMPLICIT NONE
-      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+    ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+    , zoom_begin, zoom_end, zoom_size )
+    
+    IMPLICIT NONE
+      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
@@ -172,15 +181,16 @@
       
       CALL xios(get_axisgroup_attr_hdl_)  &
-      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-      , zoom_end, zoom_size )
+      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+      , zoom_begin, zoom_end, zoom_size )
     
   END SUBROUTINE xios(get_axisgroup_attr_hdl)
   
   SUBROUTINE xios(get_axisgroup_attr_hdl_)   &
-    ( axisgroup_hdl, group_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_  &
-    , zoom_begin_, zoom_end_, zoom_size_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+    ( axisgroup_hdl, axis_ref_, group_ref_, long_name_, name_, positive_, size_, standard_name_  &
+    , unit_, value_, zoom_begin_, zoom_end_, zoom_size_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
@@ -195,4 +205,8 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size_
       
+      IF (PRESENT(axis_ref_)) THEN
+        CALL cxios_get_axisgroup_axis_ref(axisgroup_hdl%daddr, axis_ref_, len(axis_ref_))
+      ENDIF
+      
       IF (PRESENT(group_ref_)) THEN
         CALL cxios_get_axisgroup_group_ref(axisgroup_hdl%daddr, group_ref_, len(group_ref_))
@@ -244,10 +258,12 @@
   
   SUBROUTINE xios(is_defined_axisgroup_attr)  &
-    ( axisgroup_id, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-    , zoom_end, zoom_size )
+    ( axisgroup_id, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+    , zoom_begin, zoom_end, zoom_size )
     
     IMPLICIT NONE
       TYPE(txios(axisgroup))  :: axisgroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
+      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL(KIND=C_BOOL) :: group_ref_tmp
@@ -275,15 +291,17 @@
       CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl)
       CALL xios(is_defined_axisgroup_attr_hdl_)   &
-      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-      , zoom_end, zoom_size )
+      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+      , zoom_begin, zoom_end, zoom_size )
     
   END SUBROUTINE xios(is_defined_axisgroup_attr)
   
   SUBROUTINE xios(is_defined_axisgroup_attr_hdl)  &
-    ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-    , zoom_end, zoom_size )
-    
-    IMPLICIT NONE
-      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+    ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+    , zoom_begin, zoom_end, zoom_size )
+    
+    IMPLICIT NONE
+      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
+      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL(KIND=C_BOOL) :: group_ref_tmp
@@ -310,15 +328,17 @@
       
       CALL xios(is_defined_axisgroup_attr_hdl_)  &
-      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  &
-      , zoom_end, zoom_size )
+      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  &
+      , zoom_begin, zoom_end, zoom_size )
     
   END SUBROUTINE xios(is_defined_axisgroup_attr_hdl)
   
   SUBROUTINE xios(is_defined_axisgroup_attr_hdl_)   &
-    ( axisgroup_hdl, group_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_  &
-    , zoom_begin_, zoom_end_, zoom_size_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+    ( axisgroup_hdl, axis_ref_, group_ref_, long_name_, name_, positive_, size_, standard_name_  &
+    , unit_, value_, zoom_begin_, zoom_end_, zoom_size_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
+      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_
       LOGICAL(KIND=C_BOOL) :: group_ref__tmp
@@ -344,4 +364,9 @@
       LOGICAL(KIND=C_BOOL) :: zoom_size__tmp
       
+      IF (PRESENT(axis_ref_)) THEN
+        axis_ref__tmp=cxios_is_defined_axisgroup_axis_ref(axisgroup_hdl%daddr)
+        axis_ref_=axis_ref__tmp
+      ENDIF
+      
       IF (PRESENT(group_ref_)) THEN
         group_ref__tmp=cxios_is_defined_axisgroup_group_ref(axisgroup_hdl%daddr)
Index: XIOS/trunk/src/interface/fortran_attr/idomain_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/idomain_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/idomain_attr.F90	(revision 546)
@@ -13,6 +13,6 @@
   SUBROUTINE xios(set_domain_attr)  &
     ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-    , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-    , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
     , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
     , zoom_nj_loc )
@@ -32,4 +32,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:)
       INTEGER  , OPTIONAL, INTENT(IN) :: ibegin
@@ -63,6 +64,6 @@
       CALL xios(set_domain_attr_hdl_)   &
       ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-      , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-      , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
       , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
       , zoom_nj_loc )
@@ -72,6 +73,6 @@
   SUBROUTINE xios(set_domain_attr_hdl)  &
     ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-    , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-    , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
     , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
     , zoom_nj_loc )
@@ -90,4 +91,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:)
       INTEGER  , OPTIONAL, INTENT(IN) :: ibegin
@@ -120,6 +122,6 @@
       CALL xios(set_domain_attr_hdl_)  &
       ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-      , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-      , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
       , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
       , zoom_nj_loc )
@@ -129,8 +131,8 @@
   SUBROUTINE xios(set_domain_attr_hdl_)   &
     ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  &
-    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, i_index_, ibegin_, iend_  &
-    , j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  &
-    , nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  &
-    , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
+    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  &
+    , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  &
+    , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  &
+    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
     
     IMPLICIT NONE
@@ -147,4 +149,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
       INTEGER  , OPTIONAL, INTENT(IN) :: i_index_(:,:)
       INTEGER  , OPTIONAL, INTENT(IN) :: ibegin_
@@ -219,4 +222,8 @@
       ENDIF
       
+      IF (PRESENT(domain_ref_)) THEN
+        CALL cxios_set_domain_domain_ref(domain_hdl%daddr, domain_ref_, len(domain_ref_))
+      ENDIF
+      
       IF (PRESENT(i_index_)) THEN
         CALL cxios_set_domain_i_index(domain_hdl%daddr, i_index_,size(i_index_,1),size(i_index_,2))
@@ -331,6 +338,6 @@
   SUBROUTINE xios(get_domain_attr)  &
     ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-    , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-    , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
     , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
     , zoom_nj_loc )
@@ -350,4 +357,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin
@@ -381,6 +389,6 @@
       CALL xios(get_domain_attr_hdl_)   &
       ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-      , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-      , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
       , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
       , zoom_nj_loc )
@@ -390,6 +398,6 @@
   SUBROUTINE xios(get_domain_attr_hdl)  &
     ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-    , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-    , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
     , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
     , zoom_nj_loc )
@@ -408,4 +416,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin
@@ -438,6 +447,6 @@
       CALL xios(get_domain_attr_hdl_)  &
       ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-      , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-      , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
       , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
       , zoom_nj_loc )
@@ -447,8 +456,8 @@
   SUBROUTINE xios(get_domain_attr_hdl_)   &
     ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  &
-    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, i_index_, ibegin_, iend_  &
-    , j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  &
-    , nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  &
-    , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
+    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  &
+    , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  &
+    , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  &
+    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
     
     IMPLICIT NONE
@@ -465,4 +474,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
       INTEGER  , OPTIONAL, INTENT(OUT) :: i_index_(:,:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin_
@@ -537,4 +547,8 @@
       ENDIF
       
+      IF (PRESENT(domain_ref_)) THEN
+        CALL cxios_get_domain_domain_ref(domain_hdl%daddr, domain_ref_, len(domain_ref_))
+      ENDIF
+      
       IF (PRESENT(i_index_)) THEN
         CALL cxios_get_domain_i_index(domain_hdl%daddr, i_index_,size(i_index_,1),size(i_index_,2))
@@ -649,6 +663,6 @@
   SUBROUTINE xios(is_defined_domain_attr)  &
     ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-    , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-    , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
     , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
     , zoom_nj_loc )
@@ -679,4 +693,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref
       LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
+      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: i_index
       LOGICAL(KIND=C_BOOL) :: i_index_tmp
@@ -735,6 +751,6 @@
       CALL xios(is_defined_domain_attr_hdl_)   &
       ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-      , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-      , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
       , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
       , zoom_nj_loc )
@@ -744,6 +760,6 @@
   SUBROUTINE xios(is_defined_domain_attr_hdl)  &
     ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-    , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-    , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
     , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
     , zoom_nj_loc )
@@ -773,4 +789,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref
       LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
+      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: i_index
       LOGICAL(KIND=C_BOOL) :: i_index_tmp
@@ -828,6 +846,6 @@
       CALL xios(is_defined_domain_attr_hdl_)  &
       ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  &
-      , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  &
-      , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
+      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  &
+      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  &
       , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  &
       , zoom_nj_loc )
@@ -837,8 +855,8 @@
   SUBROUTINE xios(is_defined_domain_attr_hdl_)   &
     ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  &
-    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, i_index_, ibegin_, iend_  &
-    , j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  &
-    , nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  &
-    , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
+    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  &
+    , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  &
+    , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  &
+    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
     
     IMPLICIT NONE
@@ -866,4 +884,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref_
       LOGICAL(KIND=C_BOOL) :: domain_group_ref__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
+      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: i_index_
       LOGICAL(KIND=C_BOOL) :: i_index__tmp
@@ -974,4 +994,9 @@
       ENDIF
       
+      IF (PRESENT(domain_ref_)) THEN
+        domain_ref__tmp=cxios_is_defined_domain_domain_ref(domain_hdl%daddr)
+        domain_ref_=domain_ref__tmp
+      ENDIF
+      
       IF (PRESENT(i_index_)) THEN
         i_index__tmp=cxios_is_defined_domain_i_index(domain_hdl%daddr)
Index: XIOS/trunk/src/interface/fortran_attr/idomaingroup_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/idomaingroup_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/idomaingroup_attr.F90	(revision 546)
@@ -13,8 +13,8 @@
   SUBROUTINE xios(set_domaingroup_attr)  &
     ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-    , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-    , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-    , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
     IMPLICIT NONE
@@ -32,4 +32,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
       INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:)
@@ -64,8 +65,8 @@
       CALL xios(set_domaingroup_attr_hdl_)   &
       ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-      , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-      , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-      , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
   END SUBROUTINE xios(set_domaingroup_attr)
@@ -73,8 +74,8 @@
   SUBROUTINE xios(set_domaingroup_attr_hdl)  &
     ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-    , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-    , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-    , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
     IMPLICIT NONE
@@ -91,4 +92,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
       INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:)
@@ -122,8 +124,8 @@
       CALL xios(set_domaingroup_attr_hdl_)  &
       ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-      , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-      , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-      , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
   END SUBROUTINE xios(set_domaingroup_attr_hdl)
@@ -131,8 +133,8 @@
   SUBROUTINE xios(set_domaingroup_attr_hdl_)   &
     ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  &
-    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, i_index_, ibegin_  &
-    , iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_  &
-    , nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  &
-    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
+    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  &
+    , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_  &
+    , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_  &
+    , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
     
     IMPLICIT NONE
@@ -149,4 +151,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
       INTEGER  , OPTIONAL, INTENT(IN) :: i_index_(:,:)
@@ -222,4 +225,8 @@
       ENDIF
       
+      IF (PRESENT(domain_ref_)) THEN
+        CALL cxios_set_domaingroup_domain_ref(domaingroup_hdl%daddr, domain_ref_, len(domain_ref_))
+      ENDIF
+      
       IF (PRESENT(group_ref_)) THEN
         CALL cxios_set_domaingroup_group_ref(domaingroup_hdl%daddr, group_ref_, len(group_ref_))
@@ -338,8 +345,8 @@
   SUBROUTINE xios(get_domaingroup_attr)  &
     ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-    , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-    , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-    , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
     IMPLICIT NONE
@@ -357,4 +364,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
       INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:)
@@ -389,8 +397,8 @@
       CALL xios(get_domaingroup_attr_hdl_)   &
       ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-      , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-      , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-      , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
   END SUBROUTINE xios(get_domaingroup_attr)
@@ -398,8 +406,8 @@
   SUBROUTINE xios(get_domaingroup_attr_hdl)  &
     ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-    , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-    , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-    , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
     IMPLICIT NONE
@@ -416,4 +424,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
       INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:)
@@ -447,8 +456,8 @@
       CALL xios(get_domaingroup_attr_hdl_)  &
       ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-      , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-      , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-      , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
   END SUBROUTINE xios(get_domaingroup_attr_hdl)
@@ -456,8 +465,8 @@
   SUBROUTINE xios(get_domaingroup_attr_hdl_)   &
     ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  &
-    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, i_index_, ibegin_  &
-    , iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_  &
-    , nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  &
-    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
+    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  &
+    , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_  &
+    , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_  &
+    , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
     
     IMPLICIT NONE
@@ -474,4 +483,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
       INTEGER  , OPTIONAL, INTENT(OUT) :: i_index_(:,:)
@@ -547,4 +557,8 @@
       ENDIF
       
+      IF (PRESENT(domain_ref_)) THEN
+        CALL cxios_get_domaingroup_domain_ref(domaingroup_hdl%daddr, domain_ref_, len(domain_ref_))
+      ENDIF
+      
       IF (PRESENT(group_ref_)) THEN
         CALL cxios_get_domaingroup_group_ref(domaingroup_hdl%daddr, group_ref_, len(group_ref_))
@@ -663,8 +677,8 @@
   SUBROUTINE xios(is_defined_domaingroup_attr)  &
     ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-    , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-    , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-    , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
     IMPLICIT NONE
@@ -693,4 +707,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref
       LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
+      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL(KIND=C_BOOL) :: group_ref_tmp
@@ -751,8 +767,8 @@
       CALL xios(is_defined_domaingroup_attr_hdl_)   &
       ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-      , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-      , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-      , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
   END SUBROUTINE xios(is_defined_domaingroup_attr)
@@ -760,8 +776,8 @@
   SUBROUTINE xios(is_defined_domaingroup_attr_hdl)  &
     ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-    , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-    , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-    , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
     IMPLICIT NONE
@@ -789,4 +805,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref
       LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
+      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL(KIND=C_BOOL) :: group_ref_tmp
@@ -846,8 +864,8 @@
       CALL xios(is_defined_domaingroup_attr_hdl_)  &
       ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  &
-      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  &
-      , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  &
-      , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  &
-      , zoom_ni_loc, zoom_nj, zoom_nj_loc )
+      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  &
+      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  &
+      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  &
+      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc )
     
   END SUBROUTINE xios(is_defined_domaingroup_attr_hdl)
@@ -855,8 +873,8 @@
   SUBROUTINE xios(is_defined_domaingroup_attr_hdl_)   &
     ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  &
-    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, i_index_, ibegin_  &
-    , iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_  &
-    , nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  &
-    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
+    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  &
+    , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_  &
+    , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_  &
+    , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ )
     
     IMPLICIT NONE
@@ -884,4 +902,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref_
       LOGICAL(KIND=C_BOOL) :: domain_group_ref__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
+      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_
       LOGICAL(KIND=C_BOOL) :: group_ref__tmp
@@ -994,4 +1014,9 @@
       ENDIF
       
+      IF (PRESENT(domain_ref_)) THEN
+        domain_ref__tmp=cxios_is_defined_domaingroup_domain_ref(domaingroup_hdl%daddr)
+        domain_ref_=domain_ref__tmp
+      ENDIF
+      
       IF (PRESENT(group_ref_)) THEN
         group_ref__tmp=cxios_is_defined_domaingroup_group_ref(domaingroup_hdl%daddr)
Index: XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90	(revision 546)
@@ -12,12 +12,11 @@
   
   SUBROUTINE xios(set_grid_attr)  &
-    ( grid_id, axis_ref, description, domain_ref, mask, name )
+    ( grid_id, axisDomOrder, description, mask, name )
     
     IMPLICIT NONE
       TYPE(txios(grid))  :: grid_hdl
       CHARACTER(LEN=*), INTENT(IN) ::grid_id
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
@@ -26,16 +25,15 @@
       CALL xios(get_grid_handle)(grid_id,grid_hdl)
       CALL xios(set_grid_attr_hdl_)   &
-      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
+      ( grid_hdl, axisDomOrder, description, mask, name )
     
   END SUBROUTINE xios(set_grid_attr)
   
   SUBROUTINE xios(set_grid_attr_hdl)  &
-    ( grid_hdl, axis_ref, description, domain_ref, mask, name )
-    
-    IMPLICIT NONE
-      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+    ( grid_hdl, axisDomOrder, description, mask, name )
+    
+    IMPLICIT NONE
+      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
@@ -43,30 +41,25 @@
       
       CALL xios(set_grid_attr_hdl_)  &
-      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
+      ( grid_hdl, axisDomOrder, description, mask, name )
     
   END SUBROUTINE xios(set_grid_attr_hdl)
   
   SUBROUTINE xios(set_grid_attr_hdl_)   &
-    ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
+    ( grid_hdl, axisDomOrder_, description_, mask_, name_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder_(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
       LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:,:)
       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
       
-      IF (PRESENT(axis_ref_)) THEN
-        CALL cxios_set_grid_axis_ref(grid_hdl%daddr, axis_ref_, len(axis_ref_))
+      IF (PRESENT(axisDomOrder_)) THEN
+        CALL cxios_set_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1))
       ENDIF
       
       IF (PRESENT(description_)) THEN
         CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_))
-      ENDIF
-      
-      IF (PRESENT(domain_ref_)) THEN
-        CALL cxios_set_grid_domain_ref(grid_hdl%daddr, domain_ref_, len(domain_ref_))
       ENDIF
       
@@ -86,12 +79,11 @@
   
   SUBROUTINE xios(get_grid_attr)  &
-    ( grid_id, axis_ref, description, domain_ref, mask, name )
+    ( grid_id, axisDomOrder, description, mask, name )
     
     IMPLICIT NONE
       TYPE(txios(grid))  :: grid_hdl
       CHARACTER(LEN=*), INTENT(IN) ::grid_id
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
@@ -100,16 +92,15 @@
       CALL xios(get_grid_handle)(grid_id,grid_hdl)
       CALL xios(get_grid_attr_hdl_)   &
-      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
+      ( grid_hdl, axisDomOrder, description, mask, name )
     
   END SUBROUTINE xios(get_grid_attr)
   
   SUBROUTINE xios(get_grid_attr_hdl)  &
-    ( grid_hdl, axis_ref, description, domain_ref, mask, name )
-    
-    IMPLICIT NONE
-      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+    ( grid_hdl, axisDomOrder, description, mask, name )
+    
+    IMPLICIT NONE
+      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
@@ -117,30 +108,25 @@
       
       CALL xios(get_grid_attr_hdl_)  &
-      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
+      ( grid_hdl, axisDomOrder, description, mask, name )
     
   END SUBROUTINE xios(get_grid_attr_hdl)
   
   SUBROUTINE xios(get_grid_attr_hdl_)   &
-    ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
+    ( grid_hdl, axisDomOrder_, description_, mask_, name_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder_(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:,:)
       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
       
-      IF (PRESENT(axis_ref_)) THEN
-        CALL cxios_get_grid_axis_ref(grid_hdl%daddr, axis_ref_, len(axis_ref_))
+      IF (PRESENT(axisDomOrder_)) THEN
+        CALL cxios_get_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1))
       ENDIF
       
       IF (PRESENT(description_)) THEN
         CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_))
-      ENDIF
-      
-      IF (PRESENT(domain_ref_)) THEN
-        CALL cxios_get_grid_domain_ref(grid_hdl%daddr, domain_ref_, len(domain_ref_))
       ENDIF
       
@@ -160,15 +146,13 @@
   
   SUBROUTINE xios(is_defined_grid_attr)  &
-    ( grid_id, axis_ref, description, domain_ref, mask, name )
+    ( grid_id, axisDomOrder, description, mask, name )
     
     IMPLICIT NONE
       TYPE(txios(grid))  :: grid_hdl
       CHARACTER(LEN=*), INTENT(IN) ::grid_id
-      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
-      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder
+      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
-      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
-      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: mask
       LOGICAL(KIND=C_BOOL) :: mask_tmp
@@ -178,19 +162,17 @@
       CALL xios(get_grid_handle)(grid_id,grid_hdl)
       CALL xios(is_defined_grid_attr_hdl_)   &
-      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
+      ( grid_hdl, axisDomOrder, description, mask, name )
     
   END SUBROUTINE xios(is_defined_grid_attr)
   
   SUBROUTINE xios(is_defined_grid_attr_hdl)  &
-    ( grid_hdl, axis_ref, description, domain_ref, mask, name )
-    
-    IMPLICIT NONE
-      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
-      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
-      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+    ( grid_hdl, axisDomOrder, description, mask, name )
+    
+    IMPLICIT NONE
+      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder
+      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
-      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
-      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: mask
       LOGICAL(KIND=C_BOOL) :: mask_tmp
@@ -199,19 +181,17 @@
       
       CALL xios(is_defined_grid_attr_hdl_)  &
-      ( grid_hdl, axis_ref, description, domain_ref, mask, name )
+      ( grid_hdl, axisDomOrder, description, mask, name )
     
   END SUBROUTINE xios(is_defined_grid_attr_hdl)
   
   SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
-    ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
-      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
-      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
+    ( grid_hdl, axisDomOrder_, description_, mask_, name_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder_
+      LOGICAL(KIND=C_BOOL) :: axisDomOrder__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description_
       LOGICAL(KIND=C_BOOL) :: description__tmp
-      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
-      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: mask_
       LOGICAL(KIND=C_BOOL) :: mask__tmp
@@ -219,7 +199,7 @@
       LOGICAL(KIND=C_BOOL) :: name__tmp
       
-      IF (PRESENT(axis_ref_)) THEN
-        axis_ref__tmp=cxios_is_defined_grid_axis_ref(grid_hdl%daddr)
-        axis_ref_=axis_ref__tmp
+      IF (PRESENT(axisDomOrder_)) THEN
+        axisDomOrder__tmp=cxios_is_defined_grid_axisDomOrder(grid_hdl%daddr)
+        axisDomOrder_=axisDomOrder__tmp
       ENDIF
       
@@ -229,9 +209,4 @@
       ENDIF
       
-      IF (PRESENT(domain_ref_)) THEN
-        domain_ref__tmp=cxios_is_defined_grid_domain_ref(grid_hdl%daddr)
-        domain_ref_=domain_ref__tmp
-      ENDIF
-      
       IF (PRESENT(mask_)) THEN
         mask__tmp=cxios_is_defined_grid_mask(grid_hdl%daddr)
Index: XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90	(revision 545)
+++ XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90	(revision 546)
@@ -12,12 +12,11 @@
   
   SUBROUTINE xios(set_gridgroup_attr)  &
-    ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name )
+    ( gridgroup_id, axisDomOrder, description, group_ref, mask, name )
     
     IMPLICIT NONE
       TYPE(txios(gridgroup))  :: gridgroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
@@ -27,16 +26,15 @@
       CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
       CALL xios(set_gridgroup_attr_hdl_)   &
-      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
+      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
     
   END SUBROUTINE xios(set_gridgroup_attr)
   
   SUBROUTINE xios(set_gridgroup_attr_hdl)  &
-    ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
-    
-    IMPLICIT NONE
-      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+    ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
+    
+    IMPLICIT NONE
+      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
@@ -45,16 +43,15 @@
       
       CALL xios(set_gridgroup_attr_hdl_)  &
-      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
+      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
     
   END SUBROUTINE xios(set_gridgroup_attr_hdl)
   
   SUBROUTINE xios(set_gridgroup_attr_hdl_)   &
-    ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
+    ( gridgroup_hdl, axisDomOrder_, description_, group_ref_, mask_, name_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder_(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
-      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
       LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:,:)
@@ -62,14 +59,10 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
       
-      IF (PRESENT(axis_ref_)) THEN
-        CALL cxios_set_gridgroup_axis_ref(gridgroup_hdl%daddr, axis_ref_, len(axis_ref_))
+      IF (PRESENT(axisDomOrder_)) THEN
+        CALL cxios_set_gridgroup_axisDomOrder(gridgroup_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1))
       ENDIF
       
       IF (PRESENT(description_)) THEN
         CALL cxios_set_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_))
-      ENDIF
-      
-      IF (PRESENT(domain_ref_)) THEN
-        CALL cxios_set_gridgroup_domain_ref(gridgroup_hdl%daddr, domain_ref_, len(domain_ref_))
       ENDIF
       
@@ -93,12 +86,11 @@
   
   SUBROUTINE xios(get_gridgroup_attr)  &
-    ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name )
+    ( gridgroup_id, axisDomOrder, description, group_ref, mask, name )
     
     IMPLICIT NONE
       TYPE(txios(gridgroup))  :: gridgroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
@@ -108,16 +100,15 @@
       CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
       CALL xios(get_gridgroup_attr_hdl_)   &
-      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
+      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
     
   END SUBROUTINE xios(get_gridgroup_attr)
   
   SUBROUTINE xios(get_gridgroup_attr_hdl)  &
-    ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
-    
-    IMPLICIT NONE
-      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+    ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
+    
+    IMPLICIT NONE
+      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
@@ -126,16 +117,15 @@
       
       CALL xios(get_gridgroup_attr_hdl_)  &
-      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
+      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
     
   END SUBROUTINE xios(get_gridgroup_attr_hdl)
   
   SUBROUTINE xios(get_gridgroup_attr_hdl_)   &
-    ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
+    ( gridgroup_hdl, axisDomOrder_, description_, group_ref_, mask_, name_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder_(:)
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
-      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:,:)
@@ -143,14 +133,10 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
       
-      IF (PRESENT(axis_ref_)) THEN
-        CALL cxios_get_gridgroup_axis_ref(gridgroup_hdl%daddr, axis_ref_, len(axis_ref_))
+      IF (PRESENT(axisDomOrder_)) THEN
+        CALL cxios_get_gridgroup_axisDomOrder(gridgroup_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1))
       ENDIF
       
       IF (PRESENT(description_)) THEN
         CALL cxios_get_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_))
-      ENDIF
-      
-      IF (PRESENT(domain_ref_)) THEN
-        CALL cxios_get_gridgroup_domain_ref(gridgroup_hdl%daddr, domain_ref_, len(domain_ref_))
       ENDIF
       
@@ -174,15 +160,13 @@
   
   SUBROUTINE xios(is_defined_gridgroup_attr)  &
-    ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name )
+    ( gridgroup_id, axisDomOrder, description, group_ref, mask, name )
     
     IMPLICIT NONE
       TYPE(txios(gridgroup))  :: gridgroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
-      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
-      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder
+      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
-      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
-      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL(KIND=C_BOOL) :: group_ref_tmp
@@ -194,19 +178,17 @@
       CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
       CALL xios(is_defined_gridgroup_attr_hdl_)   &
-      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
+      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
     
   END SUBROUTINE xios(is_defined_gridgroup_attr)
   
   SUBROUTINE xios(is_defined_gridgroup_attr_hdl)  &
-    ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
-    
-    IMPLICIT NONE
-      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
-      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
-      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+    ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
+    
+    IMPLICIT NONE
+      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder
+      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
-      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
-      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
       LOGICAL(KIND=C_BOOL) :: group_ref_tmp
@@ -217,19 +199,17 @@
       
       CALL xios(is_defined_gridgroup_attr_hdl_)  &
-      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
+      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name )
     
   END SUBROUTINE xios(is_defined_gridgroup_attr_hdl)
   
   SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)   &
-    ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
-      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
-      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
+    ( gridgroup_hdl, axisDomOrder_, description_, group_ref_, mask_, name_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder_
+      LOGICAL(KIND=C_BOOL) :: axisDomOrder__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description_
       LOGICAL(KIND=C_BOOL) :: description__tmp
-      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
-      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_
       LOGICAL(KIND=C_BOOL) :: group_ref__tmp
@@ -239,7 +219,7 @@
       LOGICAL(KIND=C_BOOL) :: name__tmp
       
-      IF (PRESENT(axis_ref_)) THEN
-        axis_ref__tmp=cxios_is_defined_gridgroup_axis_ref(gridgroup_hdl%daddr)
-        axis_ref_=axis_ref__tmp
+      IF (PRESENT(axisDomOrder_)) THEN
+        axisDomOrder__tmp=cxios_is_defined_gridgroup_axisDomOrder(gridgroup_hdl%daddr)
+        axisDomOrder_=axisDomOrder__tmp
       ENDIF
       
@@ -249,9 +229,4 @@
       ENDIF
       
-      IF (PRESENT(domain_ref_)) THEN
-        domain_ref__tmp=cxios_is_defined_gridgroup_domain_ref(gridgroup_hdl%daddr)
-        domain_ref_=domain_ref__tmp
-      ENDIF
-      
       IF (PRESENT(group_ref_)) THEN
         group_ref__tmp=cxios_is_defined_gridgroup_group_ref(gridgroup_hdl%daddr)
