Index: XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifield_attr.F90
===================================================================
--- XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifield_attr.F90	(revision 1780)
+++ XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifield_attr.F90	(revision 2338)
@@ -12,9 +12,9 @@
 
   SUBROUTINE xios(set_field_attr)  &
-    ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-    , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-    , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-    , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-    , valid_max, valid_min )
+    ( field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+    , unit, valid_max, valid_min )
 
     IMPLICIT NONE
@@ -23,4 +23,6 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph
+      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
@@ -63,18 +65,18 @@
       (field_id,field_hdl)
       CALL xios(set_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-      , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-      , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-      , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-      , valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+      , unit, valid_max, valid_min )
 
   END SUBROUTINE xios(set_field_attr)
 
   SUBROUTINE xios(set_field_attr_hdl)  &
-    ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-    , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-    , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-    , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-    , valid_max, valid_min )
+    ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+    , unit, valid_max, valid_min )
 
     IMPLICIT NONE
@@ -82,4 +84,6 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph
+      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
@@ -120,18 +124,18 @@
 
       CALL xios(set_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-      , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-      , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-      , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-      , valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+      , unit, valid_max, valid_min )
 
   END SUBROUTINE xios(set_field_attr_hdl)
 
   SUBROUTINE xios(set_field_attr_hdl_)   &
-    ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, comment_  &
-    , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  &
-    , freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_  &
-    , operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_  &
-    , unit_, valid_max_, valid_min_ )
+    ( field_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  &
+    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  &
+    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_  &
+    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  &
+    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ )
 
     IMPLICIT NONE
@@ -139,4 +143,6 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
+      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph_
+      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode_
@@ -186,4 +192,10 @@
       ENDIF
 
+      IF (PRESENT(build_workflow_graph_)) THEN
+        build_workflow_graph__tmp = build_workflow_graph_
+        CALL cxios_set_field_build_workflow_graph &
+      (field_hdl%daddr, build_workflow_graph__tmp)
+      ENDIF
+
       IF (PRESENT(cell_methods_)) THEN
         CALL cxios_set_field_cell_methods &
@@ -345,9 +357,9 @@
 
   SUBROUTINE xios(get_field_attr)  &
-    ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-    , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-    , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-    , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-    , valid_max, valid_min )
+    ( field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+    , unit, valid_max, valid_min )
 
     IMPLICIT NONE
@@ -356,4 +368,6 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph
+      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
@@ -396,18 +410,18 @@
       (field_id,field_hdl)
       CALL xios(get_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-      , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-      , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-      , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-      , valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+      , unit, valid_max, valid_min )
 
   END SUBROUTINE xios(get_field_attr)
 
   SUBROUTINE xios(get_field_attr_hdl)  &
-    ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-    , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-    , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-    , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-    , valid_max, valid_min )
+    ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+    , unit, valid_max, valid_min )
 
     IMPLICIT NONE
@@ -415,4 +429,6 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph
+      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
@@ -453,18 +469,18 @@
 
       CALL xios(get_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-      , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-      , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-      , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-      , valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+      , unit, valid_max, valid_min )
 
   END SUBROUTINE xios(get_field_attr_hdl)
 
   SUBROUTINE xios(get_field_attr_hdl_)   &
-    ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, comment_  &
-    , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  &
-    , freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_  &
-    , operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_  &
-    , unit_, valid_max_, valid_min_ )
+    ( field_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  &
+    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  &
+    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_  &
+    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  &
+    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ )
 
     IMPLICIT NONE
@@ -472,4 +488,6 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph_
+      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode_
@@ -519,4 +537,10 @@
       ENDIF
 
+      IF (PRESENT(build_workflow_graph_)) THEN
+        CALL cxios_get_field_build_workflow_graph &
+      (field_hdl%daddr, build_workflow_graph__tmp)
+        build_workflow_graph_ = build_workflow_graph__tmp
+      ENDIF
+
       IF (PRESENT(cell_methods_)) THEN
         CALL cxios_get_field_cell_methods &
@@ -678,9 +702,9 @@
 
   SUBROUTINE xios(is_defined_field_attr)  &
-    ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-    , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-    , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-    , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-    , valid_max, valid_min )
+    ( field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+    , unit, valid_max, valid_min )
 
     IMPLICIT NONE
@@ -691,4 +715,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph
+      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods
       LOGICAL(KIND=C_BOOL) :: cell_methods_tmp
@@ -755,18 +781,18 @@
       (field_id,field_hdl)
       CALL xios(is_defined_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-      , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-      , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-      , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-      , valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+      , unit, valid_max, valid_min )
 
   END SUBROUTINE xios(is_defined_field_attr)
 
   SUBROUTINE xios(is_defined_field_attr_hdl)  &
-    ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-    , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-    , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-    , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-    , valid_max, valid_min )
+    ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+    , unit, valid_max, valid_min )
 
     IMPLICIT NONE
@@ -776,4 +802,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph
+      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods
       LOGICAL(KIND=C_BOOL) :: cell_methods_tmp
@@ -838,18 +866,18 @@
 
       CALL xios(is_defined_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  &
-      , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  &
-      , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  &
-      , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  &
-      , valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  &
+      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  &
+      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  &
+      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  &
+      , unit, valid_max, valid_min )
 
   END SUBROUTINE xios(is_defined_field_attr_hdl)
 
   SUBROUTINE xios(is_defined_field_attr_hdl_)   &
-    ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, comment_  &
-    , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  &
-    , freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_  &
-    , operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_  &
-    , unit_, valid_max_, valid_min_ )
+    ( field_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  &
+    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  &
+    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_  &
+    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  &
+    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ )
 
     IMPLICIT NONE
@@ -859,4 +887,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
       LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph_
+      LOGICAL(KIND=C_BOOL) :: build_workflow_graph__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_
       LOGICAL(KIND=C_BOOL) :: cell_methods__tmp
@@ -932,4 +962,10 @@
       ENDIF
 
+      IF (PRESENT(build_workflow_graph_)) THEN
+        build_workflow_graph__tmp = cxios_is_defined_field_build_workflow_graph &
+      (field_hdl%daddr)
+        build_workflow_graph_ = build_workflow_graph__tmp
+      ENDIF
+
       IF (PRESENT(cell_methods_)) THEN
         cell_methods__tmp = cxios_is_defined_field_cell_methods &
