Index: /XIOS/trunk/src/interface/c_attr/icfile_attr.cpp
===================================================================
--- /XIOS/trunk/src/interface/c_attr/icfile_attr.cpp	(revision 1169)
+++ /XIOS/trunk/src/interface/c_attr/icfile_attr.cpp	(revision 1170)
@@ -90,4 +90,30 @@
 
 
+  void cxios_set_file_convention_str(file_Ptr file_hdl, const char * convention_str, int convention_str_size)
+  {
+    std::string convention_str_str;
+    if (!cstr2string(convention_str, convention_str_size, convention_str_str)) return;
+    CTimer::get("XIOS").resume();
+    file_hdl->convention_str.setValue(convention_str_str);
+    CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_file_convention_str(file_Ptr file_hdl, char * convention_str, int convention_str_size)
+  {
+    CTimer::get("XIOS").resume();
+    if (!string_copy(file_hdl->convention_str.getInheritedValue(), convention_str, convention_str_size))
+      ERROR("void cxios_get_file_convention_str(file_Ptr file_hdl, char * convention_str, int convention_str_size)", << "Input string is too short");
+    CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_file_convention_str(file_Ptr file_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = file_hdl->convention_str.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
   void cxios_set_file_cyclic(file_Ptr file_hdl, bool cyclic)
   {
Index: /XIOS/trunk/src/interface/c_attr/icfilegroup_attr.cpp
===================================================================
--- /XIOS/trunk/src/interface/c_attr/icfilegroup_attr.cpp	(revision 1169)
+++ /XIOS/trunk/src/interface/c_attr/icfilegroup_attr.cpp	(revision 1170)
@@ -90,4 +90,30 @@
 
 
+  void cxios_set_filegroup_convention_str(filegroup_Ptr filegroup_hdl, const char * convention_str, int convention_str_size)
+  {
+    std::string convention_str_str;
+    if (!cstr2string(convention_str, convention_str_size, convention_str_str)) return;
+    CTimer::get("XIOS").resume();
+    filegroup_hdl->convention_str.setValue(convention_str_str);
+    CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_filegroup_convention_str(filegroup_Ptr filegroup_hdl, char * convention_str, int convention_str_size)
+  {
+    CTimer::get("XIOS").resume();
+    if (!string_copy(filegroup_hdl->convention_str.getInheritedValue(), convention_str, convention_str_size))
+      ERROR("void cxios_get_filegroup_convention_str(filegroup_Ptr filegroup_hdl, char * convention_str, int convention_str_size)", << "Input string is too short");
+    CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_filegroup_convention_str(filegroup_Ptr filegroup_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = filegroup_hdl->convention_str.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
   void cxios_set_filegroup_cyclic(filegroup_Ptr filegroup_hdl, bool cyclic)
   {
Index: /XIOS/trunk/src/interface/c_attr/icinterpolate_domain_attr.cpp
===================================================================
--- /XIOS/trunk/src/interface/c_attr/icinterpolate_domain_attr.cpp	(revision 1169)
+++ /XIOS/trunk/src/interface/c_attr/icinterpolate_domain_attr.cpp	(revision 1170)
@@ -62,4 +62,27 @@
      CTimer::get("XIOS").resume();
      bool isDefined = interpolate_domain_hdl->order.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
+  void cxios_set_interpolate_domain_quantity(interpolate_domain_Ptr interpolate_domain_hdl, bool quantity)
+  {
+    CTimer::get("XIOS").resume();
+    interpolate_domain_hdl->quantity.setValue(quantity);
+    CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_interpolate_domain_quantity(interpolate_domain_Ptr interpolate_domain_hdl, bool* quantity)
+  {
+    CTimer::get("XIOS").resume();
+    *quantity = interpolate_domain_hdl->quantity.getInheritedValue();
+    CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_interpolate_domain_quantity(interpolate_domain_Ptr interpolate_domain_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = interpolate_domain_hdl->quantity.hasInheritedValue();
      CTimer::get("XIOS").suspend();
      return isDefined;
Index: /XIOS/trunk/src/interface/c_attr/iczoom_axis_attr.cpp
===================================================================
--- /XIOS/trunk/src/interface/c_attr/iczoom_axis_attr.cpp	(revision 1169)
+++ /XIOS/trunk/src/interface/c_attr/iczoom_axis_attr.cpp	(revision 1170)
@@ -41,4 +41,29 @@
 
 
+  void cxios_set_zoom_axis_index(zoom_axis_Ptr zoom_axis_hdl, int* index, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData);
+    zoom_axis_hdl->index.reference(tmp.copy());
+     CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_zoom_axis_index(zoom_axis_Ptr zoom_axis_hdl, int* index, int* extent)
+  {
+    CTimer::get("XIOS").resume();
+    CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData);
+    tmp=zoom_axis_hdl->index.getInheritedValue();
+     CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_zoom_axis_index(zoom_axis_Ptr zoom_axis_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = zoom_axis_hdl->index.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
   void cxios_set_zoom_axis_n(zoom_axis_Ptr zoom_axis_hdl, int n)
   {
Index: /XIOS/trunk/src/interface/fortran_attr/file_interface_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/file_interface_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/file_interface_attr.F90	(revision 1170)
@@ -69,4 +69,25 @@
 
 
+    SUBROUTINE cxios_set_file_convention_str(file_hdl, convention_str, convention_str_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention_str
+      INTEGER  (kind = C_INT)     , VALUE        :: convention_str_size
+    END SUBROUTINE cxios_set_file_convention_str
+
+    SUBROUTINE cxios_get_file_convention_str(file_hdl, convention_str, convention_str_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention_str
+      INTEGER  (kind = C_INT)     , VALUE        :: convention_str_size
+    END SUBROUTINE cxios_get_file_convention_str
+
+    FUNCTION cxios_is_defined_file_convention_str(file_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_convention_str
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+    END FUNCTION cxios_is_defined_file_convention_str
+
+
     SUBROUTINE cxios_set_file_cyclic(file_hdl, cyclic) BIND(C)
       USE ISO_C_BINDING
Index: /XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90	(revision 1170)
@@ -69,4 +69,25 @@
 
 
+    SUBROUTINE cxios_set_filegroup_convention_str(filegroup_hdl, convention_str, convention_str_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention_str
+      INTEGER  (kind = C_INT)     , VALUE        :: convention_str_size
+    END SUBROUTINE cxios_set_filegroup_convention_str
+
+    SUBROUTINE cxios_get_filegroup_convention_str(filegroup_hdl, convention_str, convention_str_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention_str
+      INTEGER  (kind = C_INT)     , VALUE        :: convention_str_size
+    END SUBROUTINE cxios_get_filegroup_convention_str
+
+    FUNCTION cxios_is_defined_filegroup_convention_str(filegroup_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_convention_str
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+    END FUNCTION cxios_is_defined_filegroup_convention_str
+
+
     SUBROUTINE cxios_set_filegroup_cyclic(filegroup_hdl, cyclic) BIND(C)
       USE ISO_C_BINDING
Index: /XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90	(revision 1170)
@@ -12,8 +12,8 @@
 
   SUBROUTINE xios(set_file_attr)  &
-    ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-    , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( file_id, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
     IMPLICIT NONE
@@ -24,4 +24,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -55,16 +56,16 @@
       (file_id,file_hdl)
       CALL xios(set_file_attr_hdl_)   &
-      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-      , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+      , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
   END SUBROUTINE xios(set_file_attr)
 
   SUBROUTINE xios(set_file_attr_hdl)  &
-    ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-    , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
     IMPLICIT NONE
@@ -74,4 +75,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -103,16 +105,17 @@
 
       CALL xios(set_file_attr_hdl_)  &
-      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-      , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+      , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
   END SUBROUTINE xios(set_file_attr_hdl)
 
   SUBROUTINE xios(set_file_attr_hdl_)   &
-    ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  &
-    , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  &
-    , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_  &
-    , time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ )
+    ( file_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  &
+    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
+    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
+    , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  &
+    , uuid_name_ )
 
     IMPLICIT NONE
@@ -122,4 +125,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_str_
       LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic_
       LOGICAL (KIND=C_BOOL) :: cyclic__tmp
@@ -166,4 +170,9 @@
       ENDIF
 
+      IF (PRESENT(convention_str_)) THEN
+        CALL cxios_set_file_convention_str &
+      (file_hdl%daddr, convention_str_, len(convention_str_))
+      ENDIF
+
       IF (PRESENT(cyclic_)) THEN
         cyclic__tmp = cyclic_
@@ -296,8 +305,8 @@
 
   SUBROUTINE xios(get_file_attr)  &
-    ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-    , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( file_id, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
     IMPLICIT NONE
@@ -308,4 +317,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -339,16 +349,16 @@
       (file_id,file_hdl)
       CALL xios(get_file_attr_hdl_)   &
-      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-      , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+      , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
   END SUBROUTINE xios(get_file_attr)
 
   SUBROUTINE xios(get_file_attr_hdl)  &
-    ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-    , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
     IMPLICIT NONE
@@ -358,4 +368,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -387,16 +398,17 @@
 
       CALL xios(get_file_attr_hdl_)  &
-      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-      , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+      , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
   END SUBROUTINE xios(get_file_attr_hdl)
 
   SUBROUTINE xios(get_file_attr_hdl_)   &
-    ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  &
-    , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  &
-    , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_  &
-    , time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ )
+    ( file_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  &
+    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
+    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
+    , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  &
+    , uuid_name_ )
 
     IMPLICIT NONE
@@ -406,4 +418,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_str_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic_
       LOGICAL (KIND=C_BOOL) :: cyclic__tmp
@@ -450,4 +463,9 @@
       ENDIF
 
+      IF (PRESENT(convention_str_)) THEN
+        CALL cxios_get_file_convention_str &
+      (file_hdl%daddr, convention_str_, len(convention_str_))
+      ENDIF
+
       IF (PRESENT(cyclic_)) THEN
         CALL cxios_get_file_cyclic &
@@ -580,8 +598,8 @@
 
   SUBROUTINE xios(is_defined_file_attr)  &
-    ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-    , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( file_id, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
     IMPLICIT NONE
@@ -594,4 +612,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: convention
       LOGICAL(KIND=C_BOOL) :: convention_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_str
+      LOGICAL(KIND=C_BOOL) :: convention_str_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL(KIND=C_BOOL) :: cyclic_tmp
@@ -648,16 +668,16 @@
       (file_id,file_hdl)
       CALL xios(is_defined_file_attr_hdl_)   &
-      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-      , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+      , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
   END SUBROUTINE xios(is_defined_file_attr)
 
   SUBROUTINE xios(is_defined_file_attr_hdl)  &
-    ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-    , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
     IMPLICIT NONE
@@ -669,4 +689,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: convention
       LOGICAL(KIND=C_BOOL) :: convention_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_str
+      LOGICAL(KIND=C_BOOL) :: convention_str_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL(KIND=C_BOOL) :: cyclic_tmp
@@ -721,16 +743,17 @@
 
       CALL xios(is_defined_file_attr_hdl_)  &
-      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  &
-      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  &
-      , split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+      , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
+      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
   END SUBROUTINE xios(is_defined_file_attr_hdl)
 
   SUBROUTINE xios(is_defined_file_attr_hdl_)   &
-    ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  &
-    , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  &
-    , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_  &
-    , time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ )
+    ( file_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  &
+    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
+    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
+    , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  &
+    , uuid_name_ )
 
     IMPLICIT NONE
@@ -742,4 +765,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: convention_
       LOGICAL(KIND=C_BOOL) :: convention__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_str_
+      LOGICAL(KIND=C_BOOL) :: convention_str__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic_
       LOGICAL(KIND=C_BOOL) :: cyclic__tmp
@@ -811,4 +836,10 @@
       ENDIF
 
+      IF (PRESENT(convention_str_)) THEN
+        convention_str__tmp = cxios_is_defined_file_convention_str &
+      (file_hdl%daddr)
+        convention_str_ = convention_str__tmp
+      ENDIF
+
       IF (PRESENT(cyclic_)) THEN
         cyclic__tmp = cxios_is_defined_file_cyclic &
Index: /XIOS/trunk/src/interface/fortran_attr/ifilegroup_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/ifilegroup_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/ifilegroup_attr.F90	(revision 1170)
@@ -12,7 +12,7 @@
 
   SUBROUTINE xios(set_filegroup_attr)  &
-    ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format  &
-    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    ( filegroup_id, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
+    , record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
@@ -24,4 +24,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -56,16 +57,18 @@
       (filegroup_id,filegroup_hdl)
       CALL xios(set_filegroup_attr_hdl_)   &
-      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+      , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+       )
 
   END SUBROUTINE xios(set_filegroup_attr)
 
   SUBROUTINE xios(set_filegroup_attr_hdl)  &
-    ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+    , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+     )
 
     IMPLICIT NONE
@@ -75,4 +78,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -105,15 +109,16 @@
 
       CALL xios(set_filegroup_attr_hdl_)  &
-      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+      , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+       )
 
   END SUBROUTINE xios(set_filegroup_attr_hdl)
 
   SUBROUTINE xios(set_filegroup_attr_hdl_)   &
-    ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  &
-    , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
-    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
+    ( filegroup_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  &
+    , enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  &
+    , par_access_, record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
     , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  &
     , uuid_name_ )
@@ -125,4 +130,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_str_
       LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic_
       LOGICAL (KIND=C_BOOL) :: cyclic__tmp
@@ -170,4 +176,9 @@
       ENDIF
 
+      IF (PRESENT(convention_str_)) THEN
+        CALL cxios_set_filegroup_convention_str &
+      (filegroup_hdl%daddr, convention_str_, len(convention_str_))
+      ENDIF
+
       IF (PRESENT(cyclic_)) THEN
         cyclic__tmp = cyclic_
@@ -305,7 +316,7 @@
 
   SUBROUTINE xios(get_filegroup_attr)  &
-    ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format  &
-    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    ( filegroup_id, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
+    , record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
@@ -317,4 +328,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -349,16 +361,18 @@
       (filegroup_id,filegroup_hdl)
       CALL xios(get_filegroup_attr_hdl_)   &
-      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+      , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+       )
 
   END SUBROUTINE xios(get_filegroup_attr)
 
   SUBROUTINE xios(get_filegroup_attr_hdl)  &
-    ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+    , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+     )
 
     IMPLICIT NONE
@@ -368,4 +382,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_str
       LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL (KIND=C_BOOL) :: cyclic_tmp
@@ -398,15 +413,16 @@
 
       CALL xios(get_filegroup_attr_hdl_)  &
-      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+      , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+       )
 
   END SUBROUTINE xios(get_filegroup_attr_hdl)
 
   SUBROUTINE xios(get_filegroup_attr_hdl_)   &
-    ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  &
-    , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
-    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
+    ( filegroup_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  &
+    , enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  &
+    , par_access_, record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
     , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  &
     , uuid_name_ )
@@ -418,4 +434,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_str_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic_
       LOGICAL (KIND=C_BOOL) :: cyclic__tmp
@@ -463,4 +480,9 @@
       ENDIF
 
+      IF (PRESENT(convention_str_)) THEN
+        CALL cxios_get_filegroup_convention_str &
+      (filegroup_hdl%daddr, convention_str_, len(convention_str_))
+      ENDIF
+
       IF (PRESENT(cyclic_)) THEN
         CALL cxios_get_filegroup_cyclic &
@@ -598,7 +620,7 @@
 
   SUBROUTINE xios(is_defined_filegroup_attr)  &
-    ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format  &
-    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
+    ( filegroup_id, append, compression_level, convention, convention_str, cyclic, description, enabled  &
+    , format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
+    , record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
 
@@ -612,4 +634,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: convention
       LOGICAL(KIND=C_BOOL) :: convention_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_str
+      LOGICAL(KIND=C_BOOL) :: convention_str_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL(KIND=C_BOOL) :: cyclic_tmp
@@ -668,16 +692,18 @@
       (filegroup_id,filegroup_hdl)
       CALL xios(is_defined_filegroup_attr_hdl_)   &
-      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+      , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+       )
 
   END SUBROUTINE xios(is_defined_filegroup_attr)
 
   SUBROUTINE xios(is_defined_filegroup_attr_hdl)  &
-    ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+    , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+     )
 
     IMPLICIT NONE
@@ -689,4 +715,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: convention
       LOGICAL(KIND=C_BOOL) :: convention_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_str
+      LOGICAL(KIND=C_BOOL) :: convention_str_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic
       LOGICAL(KIND=C_BOOL) :: cyclic_tmp
@@ -743,15 +771,16 @@
 
       CALL xios(is_defined_filegroup_attr_hdl_)  &
-      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  &
-      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  &
-      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  &
-      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  &
+      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  &
+      , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  &
+       )
 
   END SUBROUTINE xios(is_defined_filegroup_attr_hdl)
 
   SUBROUTINE xios(is_defined_filegroup_attr_hdl_)   &
-    ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  &
-    , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
-    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
+    ( filegroup_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  &
+    , enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  &
+    , par_access_, record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  &
     , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  &
     , uuid_name_ )
@@ -765,4 +794,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: convention_
       LOGICAL(KIND=C_BOOL) :: convention__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_str_
+      LOGICAL(KIND=C_BOOL) :: convention_str__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic_
       LOGICAL(KIND=C_BOOL) :: cyclic__tmp
@@ -836,4 +867,10 @@
       ENDIF
 
+      IF (PRESENT(convention_str_)) THEN
+        convention_str__tmp = cxios_is_defined_filegroup_convention_str &
+      (filegroup_hdl%daddr)
+        convention_str_ = convention_str__tmp
+      ENDIF
+
       IF (PRESENT(cyclic_)) THEN
         cyclic__tmp = cxios_is_defined_filegroup_cyclic &
Index: /XIOS/trunk/src/interface/fortran_attr/iinterpolate_domain_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/iinterpolate_domain_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/iinterpolate_domain_attr.F90	(revision 1170)
@@ -12,5 +12,5 @@
 
   SUBROUTINE xios(set_interpolate_domain_attr)  &
-    ( interpolate_domain_id, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight )
 
     IMPLICIT NONE
@@ -19,4 +19,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode
       INTEGER  , OPTIONAL, INTENT(IN) :: order
+      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -28,10 +30,12 @@
       (interpolate_domain_id,interpolate_domain_hdl)
       CALL xios(set_interpolate_domain_attr_hdl_)   &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(set_interpolate_domain_attr)
 
   SUBROUTINE xios(set_interpolate_domain_attr_hdl)  &
-    ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+     )
 
     IMPLICIT NONE
@@ -39,4 +43,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode
       INTEGER  , OPTIONAL, INTENT(IN) :: order
+      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -46,10 +52,12 @@
 
       CALL xios(set_interpolate_domain_attr_hdl_)  &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(set_interpolate_domain_attr_hdl)
 
   SUBROUTINE xios(set_interpolate_domain_attr_hdl_)   &
-    ( interpolate_domain_hdl, mode_, order_, renormalize_, weight_filename_, write_weight_ )
+    ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  &
+     )
 
     IMPLICIT NONE
@@ -57,4 +65,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode_
       INTEGER  , OPTIONAL, INTENT(IN) :: order_
+      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity_
+      LOGICAL (KIND=C_BOOL) :: quantity__tmp
       LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize_
       LOGICAL (KIND=C_BOOL) :: renormalize__tmp
@@ -73,4 +83,10 @@
       ENDIF
 
+      IF (PRESENT(quantity_)) THEN
+        quantity__tmp = quantity_
+        CALL cxios_set_interpolate_domain_quantity &
+      (interpolate_domain_hdl%daddr, quantity__tmp)
+      ENDIF
+
       IF (PRESENT(renormalize_)) THEN
         renormalize__tmp = renormalize_
@@ -93,5 +109,5 @@
 
   SUBROUTINE xios(get_interpolate_domain_attr)  &
-    ( interpolate_domain_id, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight )
 
     IMPLICIT NONE
@@ -100,4 +116,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode
       INTEGER  , OPTIONAL, INTENT(OUT) :: order
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -109,10 +127,12 @@
       (interpolate_domain_id,interpolate_domain_hdl)
       CALL xios(get_interpolate_domain_attr_hdl_)   &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(get_interpolate_domain_attr)
 
   SUBROUTINE xios(get_interpolate_domain_attr_hdl)  &
-    ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+     )
 
     IMPLICIT NONE
@@ -120,4 +140,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode
       INTEGER  , OPTIONAL, INTENT(OUT) :: order
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -127,10 +149,12 @@
 
       CALL xios(get_interpolate_domain_attr_hdl_)  &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(get_interpolate_domain_attr_hdl)
 
   SUBROUTINE xios(get_interpolate_domain_attr_hdl_)   &
-    ( interpolate_domain_hdl, mode_, order_, renormalize_, weight_filename_, write_weight_ )
+    ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  &
+     )
 
     IMPLICIT NONE
@@ -138,4 +162,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode_
       INTEGER  , OPTIONAL, INTENT(OUT) :: order_
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity_
+      LOGICAL (KIND=C_BOOL) :: quantity__tmp
       LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize_
       LOGICAL (KIND=C_BOOL) :: renormalize__tmp
@@ -154,4 +180,10 @@
       ENDIF
 
+      IF (PRESENT(quantity_)) THEN
+        CALL cxios_get_interpolate_domain_quantity &
+      (interpolate_domain_hdl%daddr, quantity__tmp)
+        quantity_ = quantity__tmp
+      ENDIF
+
       IF (PRESENT(renormalize_)) THEN
         CALL cxios_get_interpolate_domain_renormalize &
@@ -174,5 +206,5 @@
 
   SUBROUTINE xios(is_defined_interpolate_domain_attr)  &
-    ( interpolate_domain_id, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight )
 
     IMPLICIT NONE
@@ -183,4 +215,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: order
       LOGICAL(KIND=C_BOOL) :: order_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL(KIND=C_BOOL) :: quantity_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL(KIND=C_BOOL) :: renormalize_tmp
@@ -193,10 +227,12 @@
       (interpolate_domain_id,interpolate_domain_hdl)
       CALL xios(is_defined_interpolate_domain_attr_hdl_)   &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(is_defined_interpolate_domain_attr)
 
   SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl)  &
-    ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+     )
 
     IMPLICIT NONE
@@ -206,4 +242,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: order
       LOGICAL(KIND=C_BOOL) :: order_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL(KIND=C_BOOL) :: quantity_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL(KIND=C_BOOL) :: renormalize_tmp
@@ -214,10 +252,12 @@
 
       CALL xios(is_defined_interpolate_domain_attr_hdl_)  &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl)
 
   SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl_)   &
-    ( interpolate_domain_hdl, mode_, order_, renormalize_, weight_filename_, write_weight_ )
+    ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  &
+     )
 
     IMPLICIT NONE
@@ -227,4 +267,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: order_
       LOGICAL(KIND=C_BOOL) :: order__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity_
+      LOGICAL(KIND=C_BOOL) :: quantity__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize_
       LOGICAL(KIND=C_BOOL) :: renormalize__tmp
@@ -246,4 +288,10 @@
       ENDIF
 
+      IF (PRESENT(quantity_)) THEN
+        quantity__tmp = cxios_is_defined_interpolate_domain_quantity &
+      (interpolate_domain_hdl%daddr)
+        quantity_ = quantity__tmp
+      ENDIF
+
       IF (PRESENT(renormalize_)) THEN
         renormalize__tmp = cxios_is_defined_interpolate_domain_renormalize &
Index: /XIOS/trunk/src/interface/fortran_attr/interpolate_domain_interface_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/interpolate_domain_interface_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/interpolate_domain_interface_attr.F90	(revision 1170)
@@ -48,4 +48,23 @@
       INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl
     END FUNCTION cxios_is_defined_interpolate_domain_order
+
+
+    SUBROUTINE cxios_set_interpolate_domain_quantity(interpolate_domain_hdl, quantity) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl
+      LOGICAL (KIND=C_BOOL)      , VALUE :: quantity
+    END SUBROUTINE cxios_set_interpolate_domain_quantity
+
+    SUBROUTINE cxios_get_interpolate_domain_quantity(interpolate_domain_hdl, quantity) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl
+      LOGICAL (KIND=C_BOOL)             :: quantity
+    END SUBROUTINE cxios_get_interpolate_domain_quantity
+
+    FUNCTION cxios_is_defined_interpolate_domain_quantity(interpolate_domain_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_domain_quantity
+      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl
+    END FUNCTION cxios_is_defined_interpolate_domain_quantity
 
 
Index: /XIOS/trunk/src/interface/fortran_attr/izoom_axis_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/izoom_axis_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/izoom_axis_attr.F90	(revision 1170)
@@ -12,5 +12,5 @@
 
   SUBROUTINE xios(set_zoom_axis_attr)  &
-    ( zoom_axis_id, begin, n )
+    ( zoom_axis_id, begin, index, n )
 
     IMPLICIT NONE
@@ -18,4 +18,5 @@
       CHARACTER(LEN=*), INTENT(IN) ::zoom_axis_id
       INTEGER  , OPTIONAL, INTENT(IN) :: begin
+      INTEGER  , OPTIONAL, INTENT(IN) :: index(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: n
 
@@ -23,27 +24,29 @@
       (zoom_axis_id,zoom_axis_hdl)
       CALL xios(set_zoom_axis_attr_hdl_)   &
-      ( zoom_axis_hdl, begin, n )
+      ( zoom_axis_hdl, begin, index, n )
 
   END SUBROUTINE xios(set_zoom_axis_attr)
 
   SUBROUTINE xios(set_zoom_axis_attr_hdl)  &
-    ( zoom_axis_hdl, begin, n )
+    ( zoom_axis_hdl, begin, index, n )
 
     IMPLICIT NONE
       TYPE(txios(zoom_axis)) , INTENT(IN) :: zoom_axis_hdl
       INTEGER  , OPTIONAL, INTENT(IN) :: begin
+      INTEGER  , OPTIONAL, INTENT(IN) :: index(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: n
 
       CALL xios(set_zoom_axis_attr_hdl_)  &
-      ( zoom_axis_hdl, begin, n )
+      ( zoom_axis_hdl, begin, index, n )
 
   END SUBROUTINE xios(set_zoom_axis_attr_hdl)
 
   SUBROUTINE xios(set_zoom_axis_attr_hdl_)   &
-    ( zoom_axis_hdl, begin_, n_ )
+    ( zoom_axis_hdl, begin_, index_, n_ )
 
     IMPLICIT NONE
       TYPE(txios(zoom_axis)) , INTENT(IN) :: zoom_axis_hdl
       INTEGER  , OPTIONAL, INTENT(IN) :: begin_
+      INTEGER  , OPTIONAL, INTENT(IN) :: index_(:)
       INTEGER  , OPTIONAL, INTENT(IN) :: n_
 
@@ -51,4 +54,9 @@
         CALL cxios_set_zoom_axis_begin &
       (zoom_axis_hdl%daddr, begin_)
+      ENDIF
+
+      IF (PRESENT(index_)) THEN
+        CALL cxios_set_zoom_axis_index &
+      (zoom_axis_hdl%daddr, index_, SHAPE(index_))
       ENDIF
 
@@ -61,5 +69,5 @@
 
   SUBROUTINE xios(get_zoom_axis_attr)  &
-    ( zoom_axis_id, begin, n )
+    ( zoom_axis_id, begin, index, n )
 
     IMPLICIT NONE
@@ -67,4 +75,5 @@
       CHARACTER(LEN=*), INTENT(IN) ::zoom_axis_id
       INTEGER  , OPTIONAL, INTENT(OUT) :: begin
+      INTEGER  , OPTIONAL, INTENT(OUT) :: index(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: n
 
@@ -72,27 +81,29 @@
       (zoom_axis_id,zoom_axis_hdl)
       CALL xios(get_zoom_axis_attr_hdl_)   &
-      ( zoom_axis_hdl, begin, n )
+      ( zoom_axis_hdl, begin, index, n )
 
   END SUBROUTINE xios(get_zoom_axis_attr)
 
   SUBROUTINE xios(get_zoom_axis_attr_hdl)  &
-    ( zoom_axis_hdl, begin, n )
+    ( zoom_axis_hdl, begin, index, n )
 
     IMPLICIT NONE
       TYPE(txios(zoom_axis)) , INTENT(IN) :: zoom_axis_hdl
       INTEGER  , OPTIONAL, INTENT(OUT) :: begin
+      INTEGER  , OPTIONAL, INTENT(OUT) :: index(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: n
 
       CALL xios(get_zoom_axis_attr_hdl_)  &
-      ( zoom_axis_hdl, begin, n )
+      ( zoom_axis_hdl, begin, index, n )
 
   END SUBROUTINE xios(get_zoom_axis_attr_hdl)
 
   SUBROUTINE xios(get_zoom_axis_attr_hdl_)   &
-    ( zoom_axis_hdl, begin_, n_ )
+    ( zoom_axis_hdl, begin_, index_, n_ )
 
     IMPLICIT NONE
       TYPE(txios(zoom_axis)) , INTENT(IN) :: zoom_axis_hdl
       INTEGER  , OPTIONAL, INTENT(OUT) :: begin_
+      INTEGER  , OPTIONAL, INTENT(OUT) :: index_(:)
       INTEGER  , OPTIONAL, INTENT(OUT) :: n_
 
@@ -100,4 +111,9 @@
         CALL cxios_get_zoom_axis_begin &
       (zoom_axis_hdl%daddr, begin_)
+      ENDIF
+
+      IF (PRESENT(index_)) THEN
+        CALL cxios_get_zoom_axis_index &
+      (zoom_axis_hdl%daddr, index_, SHAPE(index_))
       ENDIF
 
@@ -110,5 +126,5 @@
 
   SUBROUTINE xios(is_defined_zoom_axis_attr)  &
-    ( zoom_axis_id, begin, n )
+    ( zoom_axis_id, begin, index, n )
 
     IMPLICIT NONE
@@ -117,4 +133,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: begin
       LOGICAL(KIND=C_BOOL) :: begin_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: index
+      LOGICAL(KIND=C_BOOL) :: index_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: n
       LOGICAL(KIND=C_BOOL) :: n_tmp
@@ -123,10 +141,10 @@
       (zoom_axis_id,zoom_axis_hdl)
       CALL xios(is_defined_zoom_axis_attr_hdl_)   &
-      ( zoom_axis_hdl, begin, n )
+      ( zoom_axis_hdl, begin, index, n )
 
   END SUBROUTINE xios(is_defined_zoom_axis_attr)
 
   SUBROUTINE xios(is_defined_zoom_axis_attr_hdl)  &
-    ( zoom_axis_hdl, begin, n )
+    ( zoom_axis_hdl, begin, index, n )
 
     IMPLICIT NONE
@@ -134,14 +152,16 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: begin
       LOGICAL(KIND=C_BOOL) :: begin_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: index
+      LOGICAL(KIND=C_BOOL) :: index_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: n
       LOGICAL(KIND=C_BOOL) :: n_tmp
 
       CALL xios(is_defined_zoom_axis_attr_hdl_)  &
-      ( zoom_axis_hdl, begin, n )
+      ( zoom_axis_hdl, begin, index, n )
 
   END SUBROUTINE xios(is_defined_zoom_axis_attr_hdl)
 
   SUBROUTINE xios(is_defined_zoom_axis_attr_hdl_)   &
-    ( zoom_axis_hdl, begin_, n_ )
+    ( zoom_axis_hdl, begin_, index_, n_ )
 
     IMPLICIT NONE
@@ -149,4 +169,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: begin_
       LOGICAL(KIND=C_BOOL) :: begin__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: index_
+      LOGICAL(KIND=C_BOOL) :: index__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: n_
       LOGICAL(KIND=C_BOOL) :: n__tmp
@@ -156,4 +178,10 @@
       (zoom_axis_hdl%daddr)
         begin_ = begin__tmp
+      ENDIF
+
+      IF (PRESENT(index_)) THEN
+        index__tmp = cxios_is_defined_zoom_axis_index &
+      (zoom_axis_hdl%daddr)
+        index_ = index__tmp
       ENDIF
 
Index: /XIOS/trunk/src/interface/fortran_attr/zoom_axis_interface_attr.F90
===================================================================
--- /XIOS/trunk/src/interface/fortran_attr/zoom_axis_interface_attr.F90	(revision 1169)
+++ /XIOS/trunk/src/interface/fortran_attr/zoom_axis_interface_attr.F90	(revision 1170)
@@ -29,4 +29,25 @@
 
 
+    SUBROUTINE cxios_set_zoom_axis_index(zoom_axis_hdl, index, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: zoom_axis_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: index
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_set_zoom_axis_index
+
+    SUBROUTINE cxios_get_zoom_axis_index(zoom_axis_hdl, index, extent) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE       :: zoom_axis_hdl
+      INTEGER (KIND=C_INT)     , DIMENSION(*) :: index
+      INTEGER (kind = C_INT), DIMENSION(*)     :: extent
+    END SUBROUTINE cxios_get_zoom_axis_index
+
+    FUNCTION cxios_is_defined_zoom_axis_index(zoom_axis_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_zoom_axis_index
+      INTEGER (kind = C_INTPTR_T), VALUE :: zoom_axis_hdl
+    END FUNCTION cxios_is_defined_zoom_axis_index
+
+
     SUBROUTINE cxios_set_zoom_axis_n(zoom_axis_hdl, n) BIND(C)
       USE ISO_C_BINDING
