Index: XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifieldgroup_attr.F90
===================================================================
--- XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 1780)
+++ XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 2338)
@@ -12,9 +12,9 @@
 
   SUBROUTINE xios(set_fieldgroup_attr)  &
-    ( fieldgroup_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, group_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 )
+    ( fieldgroup_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, group_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
@@ -64,18 +66,18 @@
       (fieldgroup_id,fieldgroup_hdl)
       CALL xios(set_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_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, group_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 )
+      ( fieldgroup_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, group_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_fieldgroup_attr)
 
   SUBROUTINE xios(set_fieldgroup_attr_hdl)  &
-    ( fieldgroup_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, group_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 )
+    ( fieldgroup_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, group_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
@@ -83,4 +85,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
@@ -122,16 +126,16 @@
 
       CALL xios(set_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_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, group_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 )
+      ( fieldgroup_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, group_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_fieldgroup_attr_hdl)
 
   SUBROUTINE xios(set_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_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_, group_ref_, indexed_output_  &
+    ( fieldgroup_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_, group_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_ )
@@ -141,4 +145,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_
@@ -189,4 +195,10 @@
       ENDIF
 
+      IF (PRESENT(build_workflow_graph_)) THEN
+        build_workflow_graph__tmp = build_workflow_graph_
+        CALL cxios_set_fieldgroup_build_workflow_graph &
+      (fieldgroup_hdl%daddr, build_workflow_graph__tmp)
+      ENDIF
+
       IF (PRESENT(cell_methods_)) THEN
         CALL cxios_set_fieldgroup_cell_methods &
@@ -353,9 +365,9 @@
 
   SUBROUTINE xios(get_fieldgroup_attr)  &
-    ( fieldgroup_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, group_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 )
+    ( fieldgroup_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, group_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
@@ -364,4 +376,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
@@ -405,18 +419,18 @@
       (fieldgroup_id,fieldgroup_hdl)
       CALL xios(get_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_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, group_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 )
+      ( fieldgroup_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, group_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_fieldgroup_attr)
 
   SUBROUTINE xios(get_fieldgroup_attr_hdl)  &
-    ( fieldgroup_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, group_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 )
+    ( fieldgroup_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, group_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
@@ -424,4 +438,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
@@ -463,16 +479,16 @@
 
       CALL xios(get_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_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, group_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 )
+      ( fieldgroup_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, group_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_fieldgroup_attr_hdl)
 
   SUBROUTINE xios(get_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_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_, group_ref_, indexed_output_  &
+    ( fieldgroup_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_, group_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_ )
@@ -482,4 +498,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_
@@ -530,4 +548,10 @@
       ENDIF
 
+      IF (PRESENT(build_workflow_graph_)) THEN
+        CALL cxios_get_fieldgroup_build_workflow_graph &
+      (fieldgroup_hdl%daddr, build_workflow_graph__tmp)
+        build_workflow_graph_ = build_workflow_graph__tmp
+      ENDIF
+
       IF (PRESENT(cell_methods_)) THEN
         CALL cxios_get_fieldgroup_cell_methods &
@@ -694,9 +718,9 @@
 
   SUBROUTINE xios(is_defined_fieldgroup_attr)  &
-    ( fieldgroup_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, group_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 )
+    ( fieldgroup_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, group_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
@@ -707,4 +731,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
@@ -773,18 +799,18 @@
       (fieldgroup_id,fieldgroup_hdl)
       CALL xios(is_defined_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_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, group_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 )
+      ( fieldgroup_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, group_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_fieldgroup_attr)
 
   SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)  &
-    ( fieldgroup_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, group_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 )
+    ( fieldgroup_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, group_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
@@ -794,4 +820,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
@@ -858,16 +886,16 @@
 
       CALL xios(is_defined_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_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, group_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 )
+      ( fieldgroup_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, group_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_fieldgroup_attr_hdl)
 
   SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_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_, group_ref_, indexed_output_  &
+    ( fieldgroup_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_, group_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_ )
@@ -879,4 +907,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
@@ -954,4 +984,10 @@
       ENDIF
 
+      IF (PRESENT(build_workflow_graph_)) THEN
+        build_workflow_graph__tmp = cxios_is_defined_fieldgroup_build_workflow_graph &
+      (fieldgroup_hdl%daddr)
+        build_workflow_graph_ = build_workflow_graph__tmp
+      ENDIF
+
       IF (PRESENT(cell_methods_)) THEN
         cell_methods__tmp = cxios_is_defined_fieldgroup_cell_methods &
