Index: XIOS/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90	(revision 501)
+++ 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)
