Index: XIOS3/trunk/src/interface/fortran_attr/ifile_attr.F90
===================================================================
--- XIOS3/trunk/src/interface/fortran_attr/ifile_attr.F90	(revision 2362)
+++ XIOS3/trunk/src/interface/fortran_attr/ifile_attr.F90	(revision 2616)
@@ -13,8 +13,9 @@
   SUBROUTINE xios(set_file_attr)  &
     ( file_id, append, comment, compression_level, convention, convention_str, cyclic, description  &
-    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+    , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+    , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+    , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
     IMPLICIT NONE
@@ -33,4 +34,5 @@
       LOGICAL (KIND=C_BOOL) :: enabled_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: format
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: gatherer
       INTEGER  , OPTIONAL, INTENT(IN) :: min_digits
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode
@@ -40,6 +42,10 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_gatherer
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_reader
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_writer
       LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par
       LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: reader
       INTEGER  , OPTIONAL, INTENT(IN) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset
@@ -57,6 +63,9 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
+      LOGICAL  , OPTIONAL, INTENT(IN) :: using_server2
+      LOGICAL (KIND=C_BOOL) :: using_server2_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: uuid_format
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: uuid_name
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: writer
 
       CALL xios(get_file_handle) &
@@ -64,8 +73,9 @@
       CALL xios(set_file_attr_hdl_)   &
       ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+      , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+      , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+      , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
   END SUBROUTINE xios(set_file_attr)
@@ -73,8 +83,9 @@
   SUBROUTINE xios(set_file_attr_hdl)  &
     ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+    , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+    , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+    , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
     IMPLICIT NONE
@@ -92,4 +103,5 @@
       LOGICAL (KIND=C_BOOL) :: enabled_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: format
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: gatherer
       INTEGER  , OPTIONAL, INTENT(IN) :: min_digits
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode
@@ -99,6 +111,10 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_gatherer
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_reader
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_writer
       LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par
       LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: reader
       INTEGER  , OPTIONAL, INTENT(IN) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset
@@ -116,13 +132,17 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
+      LOGICAL  , OPTIONAL, INTENT(IN) :: using_server2
+      LOGICAL (KIND=C_BOOL) :: using_server2_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: uuid_format
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: uuid_name
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: writer
 
       CALL xios(set_file_attr_hdl_)  &
       ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+      , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+      , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+      , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
   END SUBROUTINE xios(set_file_attr_hdl)
@@ -130,8 +150,9 @@
   SUBROUTINE xios(set_file_attr_hdl_)   &
     ( file_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_, description_  &
-    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
-    , read_metadata_par_, record_offset_, split_end_offset_, split_freq_, split_freq_format_, split_last_date_  &
-    , split_start_offset_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_  &
-    , time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ )
+    , enabled_, format_, gatherer_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  &
+    , par_access_, pool_gatherer_, pool_reader_, pool_writer_, read_metadata_par_, reader_, record_offset_  &
+    , split_end_offset_, split_freq_, split_freq_format_, split_last_date_, split_start_offset_  &
+    , sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_, time_units_  &
+    , timeseries_, ts_prefix_, type_, using_server2_, uuid_format_, uuid_name_, writer_ )
 
     IMPLICIT NONE
@@ -149,4 +170,5 @@
       LOGICAL (KIND=C_BOOL) :: enabled__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: format_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: gatherer_
       INTEGER  , OPTIONAL, INTENT(IN) :: min_digits_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode_
@@ -156,6 +178,10 @@
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_gatherer_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_reader_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: pool_writer_
       LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par_
       LOGICAL (KIND=C_BOOL) :: read_metadata_par__tmp
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: reader_
       INTEGER  , OPTIONAL, INTENT(IN) :: record_offset_
       TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset_
@@ -173,6 +199,9 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
+      LOGICAL  , OPTIONAL, INTENT(IN) :: using_server2_
+      LOGICAL (KIND=C_BOOL) :: using_server2__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: uuid_format_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: uuid_name_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: writer_
 
       IF (PRESENT(append_)) THEN
@@ -224,4 +253,9 @@
       ENDIF
 
+      IF (PRESENT(gatherer_)) THEN
+        CALL cxios_set_file_gatherer &
+      (file_hdl%daddr, gatherer_, len(gatherer_))
+      ENDIF
+
       IF (PRESENT(min_digits_)) THEN
         CALL cxios_set_file_min_digits &
@@ -257,4 +291,19 @@
         CALL cxios_set_file_par_access &
       (file_hdl%daddr, par_access_, len(par_access_))
+      ENDIF
+
+      IF (PRESENT(pool_gatherer_)) THEN
+        CALL cxios_set_file_pool_gatherer &
+      (file_hdl%daddr, pool_gatherer_, len(pool_gatherer_))
+      ENDIF
+
+      IF (PRESENT(pool_reader_)) THEN
+        CALL cxios_set_file_pool_reader &
+      (file_hdl%daddr, pool_reader_, len(pool_reader_))
+      ENDIF
+
+      IF (PRESENT(pool_writer_)) THEN
+        CALL cxios_set_file_pool_writer &
+      (file_hdl%daddr, pool_writer_, len(pool_writer_))
       ENDIF
 
@@ -265,4 +314,9 @@
       ENDIF
 
+      IF (PRESENT(reader_)) THEN
+        CALL cxios_set_file_reader &
+      (file_hdl%daddr, reader_, len(reader_))
+      ENDIF
+
       IF (PRESENT(record_offset_)) THEN
         CALL cxios_set_file_record_offset &
@@ -340,4 +394,10 @@
       ENDIF
 
+      IF (PRESENT(using_server2_)) THEN
+        using_server2__tmp = using_server2_
+        CALL cxios_set_file_using_server2 &
+      (file_hdl%daddr, using_server2__tmp)
+      ENDIF
+
       IF (PRESENT(uuid_format_)) THEN
         CALL cxios_set_file_uuid_format &
@@ -350,12 +410,18 @@
       ENDIF
 
+      IF (PRESENT(writer_)) THEN
+        CALL cxios_set_file_writer &
+      (file_hdl%daddr, writer_, len(writer_))
+      ENDIF
+
   END SUBROUTINE xios(set_file_attr_hdl_)
 
   SUBROUTINE xios(get_file_attr)  &
     ( file_id, append, comment, compression_level, convention, convention_str, cyclic, description  &
-    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+    , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+    , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+    , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
     IMPLICIT NONE
@@ -374,4 +440,5 @@
       LOGICAL (KIND=C_BOOL) :: enabled_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: format
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: gatherer
       INTEGER  , OPTIONAL, INTENT(OUT) :: min_digits
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode
@@ -381,6 +448,10 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_gatherer
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_reader
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_writer
       LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par
       LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: reader
       INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset
@@ -398,6 +469,9 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: using_server2
+      LOGICAL (KIND=C_BOOL) :: using_server2_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: uuid_format
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: uuid_name
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: writer
 
       CALL xios(get_file_handle) &
@@ -405,8 +479,9 @@
       CALL xios(get_file_attr_hdl_)   &
       ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+      , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+      , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+      , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
   END SUBROUTINE xios(get_file_attr)
@@ -414,8 +489,9 @@
   SUBROUTINE xios(get_file_attr_hdl)  &
     ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+    , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+    , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+    , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
     IMPLICIT NONE
@@ -433,4 +509,5 @@
       LOGICAL (KIND=C_BOOL) :: enabled_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: format
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: gatherer
       INTEGER  , OPTIONAL, INTENT(OUT) :: min_digits
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode
@@ -440,6 +517,10 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_gatherer
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_reader
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_writer
       LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par
       LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: reader
       INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset
       TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset
@@ -457,13 +538,17 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: using_server2
+      LOGICAL (KIND=C_BOOL) :: using_server2_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: uuid_format
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: uuid_name
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: writer
 
       CALL xios(get_file_attr_hdl_)  &
       ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+      , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+      , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+      , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
   END SUBROUTINE xios(get_file_attr_hdl)
@@ -471,8 +556,9 @@
   SUBROUTINE xios(get_file_attr_hdl_)   &
     ( file_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_, description_  &
-    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
-    , read_metadata_par_, record_offset_, split_end_offset_, split_freq_, split_freq_format_, split_last_date_  &
-    , split_start_offset_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_  &
-    , time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ )
+    , enabled_, format_, gatherer_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  &
+    , par_access_, pool_gatherer_, pool_reader_, pool_writer_, read_metadata_par_, reader_, record_offset_  &
+    , split_end_offset_, split_freq_, split_freq_format_, split_last_date_, split_start_offset_  &
+    , sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_, time_units_  &
+    , timeseries_, ts_prefix_, type_, using_server2_, uuid_format_, uuid_name_, writer_ )
 
     IMPLICIT NONE
@@ -490,4 +576,5 @@
       LOGICAL (KIND=C_BOOL) :: enabled__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: format_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: gatherer_
       INTEGER  , OPTIONAL, INTENT(OUT) :: min_digits_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode_
@@ -497,6 +584,10 @@
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_gatherer_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_reader_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: pool_writer_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par_
       LOGICAL (KIND=C_BOOL) :: read_metadata_par__tmp
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: reader_
       INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset_
       TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset_
@@ -514,6 +605,9 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: using_server2_
+      LOGICAL (KIND=C_BOOL) :: using_server2__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: uuid_format_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: uuid_name_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: writer_
 
       IF (PRESENT(append_)) THEN
@@ -565,4 +659,9 @@
       ENDIF
 
+      IF (PRESENT(gatherer_)) THEN
+        CALL cxios_get_file_gatherer &
+      (file_hdl%daddr, gatherer_, len(gatherer_))
+      ENDIF
+
       IF (PRESENT(min_digits_)) THEN
         CALL cxios_get_file_min_digits &
@@ -598,4 +697,19 @@
         CALL cxios_get_file_par_access &
       (file_hdl%daddr, par_access_, len(par_access_))
+      ENDIF
+
+      IF (PRESENT(pool_gatherer_)) THEN
+        CALL cxios_get_file_pool_gatherer &
+      (file_hdl%daddr, pool_gatherer_, len(pool_gatherer_))
+      ENDIF
+
+      IF (PRESENT(pool_reader_)) THEN
+        CALL cxios_get_file_pool_reader &
+      (file_hdl%daddr, pool_reader_, len(pool_reader_))
+      ENDIF
+
+      IF (PRESENT(pool_writer_)) THEN
+        CALL cxios_get_file_pool_writer &
+      (file_hdl%daddr, pool_writer_, len(pool_writer_))
       ENDIF
 
@@ -606,4 +720,9 @@
       ENDIF
 
+      IF (PRESENT(reader_)) THEN
+        CALL cxios_get_file_reader &
+      (file_hdl%daddr, reader_, len(reader_))
+      ENDIF
+
       IF (PRESENT(record_offset_)) THEN
         CALL cxios_get_file_record_offset &
@@ -681,4 +800,10 @@
       ENDIF
 
+      IF (PRESENT(using_server2_)) THEN
+        CALL cxios_get_file_using_server2 &
+      (file_hdl%daddr, using_server2__tmp)
+        using_server2_ = using_server2__tmp
+      ENDIF
+
       IF (PRESENT(uuid_format_)) THEN
         CALL cxios_get_file_uuid_format &
@@ -691,12 +816,18 @@
       ENDIF
 
+      IF (PRESENT(writer_)) THEN
+        CALL cxios_get_file_writer &
+      (file_hdl%daddr, writer_, len(writer_))
+      ENDIF
+
   END SUBROUTINE xios(get_file_attr_hdl_)
 
   SUBROUTINE xios(is_defined_file_attr)  &
     ( file_id, append, comment, compression_level, convention, convention_str, cyclic, description  &
-    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+    , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+    , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+    , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
     IMPLICIT NONE
@@ -721,4 +852,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: format
       LOGICAL(KIND=C_BOOL) :: format_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: gatherer
+      LOGICAL(KIND=C_BOOL) :: gatherer_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: min_digits
       LOGICAL(KIND=C_BOOL) :: min_digits_tmp
@@ -735,6 +868,14 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: par_access
       LOGICAL(KIND=C_BOOL) :: par_access_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_gatherer
+      LOGICAL(KIND=C_BOOL) :: pool_gatherer_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_reader
+      LOGICAL(KIND=C_BOOL) :: pool_reader_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_writer
+      LOGICAL(KIND=C_BOOL) :: pool_writer_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par
       LOGICAL(KIND=C_BOOL) :: read_metadata_par_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: reader
+      LOGICAL(KIND=C_BOOL) :: reader_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset
       LOGICAL(KIND=C_BOOL) :: record_offset_tmp
@@ -767,8 +908,12 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: type
       LOGICAL(KIND=C_BOOL) :: type_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: using_server2
+      LOGICAL(KIND=C_BOOL) :: using_server2_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: uuid_format
       LOGICAL(KIND=C_BOOL) :: uuid_format_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: uuid_name
       LOGICAL(KIND=C_BOOL) :: uuid_name_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: writer
+      LOGICAL(KIND=C_BOOL) :: writer_tmp
 
       CALL xios(get_file_handle) &
@@ -776,8 +921,9 @@
       CALL xios(is_defined_file_attr_hdl_)   &
       ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+      , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+      , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+      , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
   END SUBROUTINE xios(is_defined_file_attr)
@@ -785,8 +931,9 @@
   SUBROUTINE xios(is_defined_file_attr_hdl)  &
     ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+    , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+    , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+    , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+    , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+    , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
     IMPLICIT NONE
@@ -810,4 +957,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: format
       LOGICAL(KIND=C_BOOL) :: format_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: gatherer
+      LOGICAL(KIND=C_BOOL) :: gatherer_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: min_digits
       LOGICAL(KIND=C_BOOL) :: min_digits_tmp
@@ -824,6 +973,14 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: par_access
       LOGICAL(KIND=C_BOOL) :: par_access_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_gatherer
+      LOGICAL(KIND=C_BOOL) :: pool_gatherer_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_reader
+      LOGICAL(KIND=C_BOOL) :: pool_reader_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_writer
+      LOGICAL(KIND=C_BOOL) :: pool_writer_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par
       LOGICAL(KIND=C_BOOL) :: read_metadata_par_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: reader
+      LOGICAL(KIND=C_BOOL) :: reader_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset
       LOGICAL(KIND=C_BOOL) :: record_offset_tmp
@@ -856,15 +1013,20 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: type
       LOGICAL(KIND=C_BOOL) :: type_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: using_server2
+      LOGICAL(KIND=C_BOOL) :: using_server2_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: uuid_format
       LOGICAL(KIND=C_BOOL) :: uuid_format_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: uuid_name
       LOGICAL(KIND=C_BOOL) :: uuid_name_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: writer
+      LOGICAL(KIND=C_BOOL) :: writer_tmp
 
       CALL xios(is_defined_file_attr_hdl_)  &
       ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  &
-      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  &
-      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  &
-      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  &
-      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name )
+      , enabled, format, gatherer, min_digits, mode, name, name_suffix, output_freq, output_level  &
+      , par_access, pool_gatherer, pool_reader, pool_writer, read_metadata_par, reader, record_offset  &
+      , split_end_offset, split_freq, split_freq_format, split_last_date, split_start_offset, sync_freq  &
+      , time_counter, time_counter_name, time_stamp_format, time_stamp_name, time_units, timeseries  &
+      , ts_prefix, type, using_server2, uuid_format, uuid_name, writer )
 
   END SUBROUTINE xios(is_defined_file_attr_hdl)
@@ -872,8 +1034,9 @@
   SUBROUTINE xios(is_defined_file_attr_hdl_)   &
     ( file_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_, description_  &
-    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  &
-    , read_metadata_par_, record_offset_, split_end_offset_, split_freq_, split_freq_format_, split_last_date_  &
-    , split_start_offset_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_  &
-    , time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ )
+    , enabled_, format_, gatherer_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  &
+    , par_access_, pool_gatherer_, pool_reader_, pool_writer_, read_metadata_par_, reader_, record_offset_  &
+    , split_end_offset_, split_freq_, split_freq_format_, split_last_date_, split_start_offset_  &
+    , sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_, time_units_  &
+    , timeseries_, ts_prefix_, type_, using_server2_, uuid_format_, uuid_name_, writer_ )
 
     IMPLICIT NONE
@@ -897,4 +1060,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: format_
       LOGICAL(KIND=C_BOOL) :: format__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: gatherer_
+      LOGICAL(KIND=C_BOOL) :: gatherer__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: min_digits_
       LOGICAL(KIND=C_BOOL) :: min_digits__tmp
@@ -911,6 +1076,14 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: par_access_
       LOGICAL(KIND=C_BOOL) :: par_access__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_gatherer_
+      LOGICAL(KIND=C_BOOL) :: pool_gatherer__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_reader_
+      LOGICAL(KIND=C_BOOL) :: pool_reader__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: pool_writer_
+      LOGICAL(KIND=C_BOOL) :: pool_writer__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par_
       LOGICAL(KIND=C_BOOL) :: read_metadata_par__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: reader_
+      LOGICAL(KIND=C_BOOL) :: reader__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset_
       LOGICAL(KIND=C_BOOL) :: record_offset__tmp
@@ -943,8 +1116,12 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: type_
       LOGICAL(KIND=C_BOOL) :: type__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: using_server2_
+      LOGICAL(KIND=C_BOOL) :: using_server2__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: uuid_format_
       LOGICAL(KIND=C_BOOL) :: uuid_format__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: uuid_name_
       LOGICAL(KIND=C_BOOL) :: uuid_name__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: writer_
+      LOGICAL(KIND=C_BOOL) :: writer__tmp
 
       IF (PRESENT(append_)) THEN
@@ -1002,4 +1179,10 @@
       ENDIF
 
+      IF (PRESENT(gatherer_)) THEN
+        gatherer__tmp = cxios_is_defined_file_gatherer &
+      (file_hdl%daddr)
+        gatherer_ = gatherer__tmp
+      ENDIF
+
       IF (PRESENT(min_digits_)) THEN
         min_digits__tmp = cxios_is_defined_file_min_digits &
@@ -1044,4 +1227,22 @@
       ENDIF
 
+      IF (PRESENT(pool_gatherer_)) THEN
+        pool_gatherer__tmp = cxios_is_defined_file_pool_gatherer &
+      (file_hdl%daddr)
+        pool_gatherer_ = pool_gatherer__tmp
+      ENDIF
+
+      IF (PRESENT(pool_reader_)) THEN
+        pool_reader__tmp = cxios_is_defined_file_pool_reader &
+      (file_hdl%daddr)
+        pool_reader_ = pool_reader__tmp
+      ENDIF
+
+      IF (PRESENT(pool_writer_)) THEN
+        pool_writer__tmp = cxios_is_defined_file_pool_writer &
+      (file_hdl%daddr)
+        pool_writer_ = pool_writer__tmp
+      ENDIF
+
       IF (PRESENT(read_metadata_par_)) THEN
         read_metadata_par__tmp = cxios_is_defined_file_read_metadata_par &
@@ -1050,4 +1251,10 @@
       ENDIF
 
+      IF (PRESENT(reader_)) THEN
+        reader__tmp = cxios_is_defined_file_reader &
+      (file_hdl%daddr)
+        reader_ = reader__tmp
+      ENDIF
+
       IF (PRESENT(record_offset_)) THEN
         record_offset__tmp = cxios_is_defined_file_record_offset &
@@ -1140,4 +1347,10 @@
       ENDIF
 
+      IF (PRESENT(using_server2_)) THEN
+        using_server2__tmp = cxios_is_defined_file_using_server2 &
+      (file_hdl%daddr)
+        using_server2_ = using_server2__tmp
+      ENDIF
+
       IF (PRESENT(uuid_format_)) THEN
         uuid_format__tmp = cxios_is_defined_file_uuid_format &
@@ -1152,4 +1365,10 @@
       ENDIF
 
+      IF (PRESENT(writer_)) THEN
+        writer__tmp = cxios_is_defined_file_writer &
+      (file_hdl%daddr)
+        writer_ = writer__tmp
+      ENDIF
+
   END SUBROUTINE xios(is_defined_file_attr_hdl_)
 
