Index: XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90	(revision 711)
+++ XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90	(revision 779)
@@ -13,6 +13,6 @@
   SUBROUTINE xios(set_file_attr)  &
     ( file_id, append, compression_level, description, enabled, format, min_digits, mode, name, name_suffix  &
-    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter  &
-    , timeseries, ts_prefix, type )
+    , output_freq, output_level, par_access, record_offset, split_freq, split_freq_format, sync_freq  &
+    , time_counter, timeseries, ts_prefix, type )
 
     IMPLICIT NONE
@@ -33,4 +33,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access
+      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format
@@ -44,6 +45,6 @@
       CALL xios(set_file_attr_hdl_)   &
       ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-      , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-      , time_counter, timeseries, ts_prefix, type )
+      , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+      , sync_freq, time_counter, timeseries, ts_prefix, type )
 
   END SUBROUTINE xios(set_file_attr)
@@ -51,6 +52,6 @@
   SUBROUTINE xios(set_file_attr_hdl)  &
     ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-    , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-    , time_counter, timeseries, ts_prefix, type )
+    , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+    , sync_freq, time_counter, timeseries, ts_prefix, type )
 
     IMPLICIT NONE
@@ -70,4 +71,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access
+      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format
@@ -80,6 +82,6 @@
       CALL xios(set_file_attr_hdl_)  &
       ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-      , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-      , time_counter, timeseries, ts_prefix, type )
+      , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+      , sync_freq, time_counter, timeseries, ts_prefix, type )
 
   END SUBROUTINE xios(set_file_attr_hdl)
@@ -87,6 +89,6 @@
   SUBROUTINE xios(set_file_attr_hdl_)   &
     ( file_hdl, append_, compression_level_, description_, enabled_, format_, min_digits_, mode_  &
-    , name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_  &
-    , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ )
+    , name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_  &
+    , split_freq_format_, sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ )
 
     IMPLICIT NONE
@@ -106,4 +108,5 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access_
+      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset_
       TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format_
@@ -164,4 +167,8 @@
       ENDIF
 
+      IF (PRESENT(record_offset_)) THEN
+        CALL cxios_set_file_record_offset(file_hdl%daddr, record_offset_)
+      ENDIF
+
       IF (PRESENT(split_freq_)) THEN
         CALL cxios_set_file_split_freq(file_hdl%daddr, split_freq_)
@@ -196,6 +203,6 @@
   SUBROUTINE xios(get_file_attr)  &
     ( file_id, append, compression_level, description, enabled, format, min_digits, mode, name, name_suffix  &
-    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter  &
-    , timeseries, ts_prefix, type )
+    , output_freq, output_level, par_access, record_offset, split_freq, split_freq_format, sync_freq  &
+    , time_counter, timeseries, ts_prefix, type )
 
     IMPLICIT NONE
@@ -216,4 +223,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access
+      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format
@@ -227,6 +235,6 @@
       CALL xios(get_file_attr_hdl_)   &
       ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-      , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-      , time_counter, timeseries, ts_prefix, type )
+      , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+      , sync_freq, time_counter, timeseries, ts_prefix, type )
 
   END SUBROUTINE xios(get_file_attr)
@@ -234,6 +242,6 @@
   SUBROUTINE xios(get_file_attr_hdl)  &
     ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-    , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-    , time_counter, timeseries, ts_prefix, type )
+    , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+    , sync_freq, time_counter, timeseries, ts_prefix, type )
 
     IMPLICIT NONE
@@ -253,4 +261,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access
+      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format
@@ -263,6 +272,6 @@
       CALL xios(get_file_attr_hdl_)  &
       ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-      , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-      , time_counter, timeseries, ts_prefix, type )
+      , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+      , sync_freq, time_counter, timeseries, ts_prefix, type )
 
   END SUBROUTINE xios(get_file_attr_hdl)
@@ -270,6 +279,6 @@
   SUBROUTINE xios(get_file_attr_hdl_)   &
     ( file_hdl, append_, compression_level_, description_, enabled_, format_, min_digits_, mode_  &
-    , name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_  &
-    , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ )
+    , name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_  &
+    , split_freq_format_, sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ )
 
     IMPLICIT NONE
@@ -289,4 +298,5 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access_
+      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset_
       TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format_
@@ -347,4 +357,8 @@
       ENDIF
 
+      IF (PRESENT(record_offset_)) THEN
+        CALL cxios_get_file_record_offset(file_hdl%daddr, record_offset_)
+      ENDIF
+
       IF (PRESENT(split_freq_)) THEN
         CALL cxios_get_file_split_freq(file_hdl%daddr, split_freq_)
@@ -379,6 +393,6 @@
   SUBROUTINE xios(is_defined_file_attr)  &
     ( file_id, append, compression_level, description, enabled, format, min_digits, mode, name, name_suffix  &
-    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter  &
-    , timeseries, ts_prefix, type )
+    , output_freq, output_level, par_access, record_offset, split_freq, split_freq_format, sync_freq  &
+    , time_counter, timeseries, ts_prefix, type )
 
     IMPLICIT NONE
@@ -409,4 +423,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: par_access
       LOGICAL(KIND=C_BOOL) :: par_access_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset
+      LOGICAL(KIND=C_BOOL) :: record_offset_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq
       LOGICAL(KIND=C_BOOL) :: split_freq_tmp
@@ -427,6 +443,6 @@
       CALL xios(is_defined_file_attr_hdl_)   &
       ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-      , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-      , time_counter, timeseries, ts_prefix, type )
+      , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+      , sync_freq, time_counter, timeseries, ts_prefix, type )
 
   END SUBROUTINE xios(is_defined_file_attr)
@@ -434,6 +450,6 @@
   SUBROUTINE xios(is_defined_file_attr_hdl)  &
     ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-    , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-    , time_counter, timeseries, ts_prefix, type )
+    , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+    , sync_freq, time_counter, timeseries, ts_prefix, type )
 
     IMPLICIT NONE
@@ -463,4 +479,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: par_access
       LOGICAL(KIND=C_BOOL) :: par_access_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset
+      LOGICAL(KIND=C_BOOL) :: record_offset_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq
       LOGICAL(KIND=C_BOOL) :: split_freq_tmp
@@ -480,6 +498,6 @@
       CALL xios(is_defined_file_attr_hdl_)  &
       ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name  &
-      , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq  &
-      , time_counter, timeseries, ts_prefix, type )
+      , name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  &
+      , sync_freq, time_counter, timeseries, ts_prefix, type )
 
   END SUBROUTINE xios(is_defined_file_attr_hdl)
@@ -487,6 +505,6 @@
   SUBROUTINE xios(is_defined_file_attr_hdl_)   &
     ( file_hdl, append_, compression_level_, description_, enabled_, format_, min_digits_, mode_  &
-    , name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_  &
-    , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ )
+    , name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_  &
+    , split_freq_format_, sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ )
 
     IMPLICIT NONE
@@ -516,4 +534,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: par_access_
       LOGICAL(KIND=C_BOOL) :: par_access__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset_
+      LOGICAL(KIND=C_BOOL) :: record_offset__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_
       LOGICAL(KIND=C_BOOL) :: split_freq__tmp
@@ -591,4 +611,9 @@
       ENDIF
 
+      IF (PRESENT(record_offset_)) THEN
+        record_offset__tmp = cxios_is_defined_file_record_offset(file_hdl%daddr)
+        record_offset_ = record_offset__tmp
+      ENDIF
+
       IF (PRESENT(split_freq_)) THEN
         split_freq__tmp = cxios_is_defined_file_split_freq(file_hdl%daddr)
