Index: XIOS/trunk/src/config/field_attribute.conf
===================================================================
--- XIOS/trunk/src/config/field_attribute.conf	(revision 1171)
+++ XIOS/trunk/src/config/field_attribute.conf	(revision 1181)
@@ -16,4 +16,5 @@
 DECLARE_ATTRIBUTE(bool,      read_access)
 DECLARE_ATTRIBUTE(bool,      indexed_output)
+DECLARE_ATTRIBUTE(bool,      check_if_active)
 
 DECLARE_ATTRIBUTE(StdString, domain_ref)
Index: XIOS/trunk/src/interface/c_attr/icfield_attr.cpp
===================================================================
--- XIOS/trunk/src/interface/c_attr/icfield_attr.cpp	(revision 1171)
+++ XIOS/trunk/src/interface/c_attr/icfield_attr.cpp	(revision 1181)
@@ -119,4 +119,27 @@
 
 
+  void cxios_set_field_check_if_active(field_Ptr field_hdl, bool check_if_active)
+  {
+    CTimer::get("XIOS").resume();
+    field_hdl->check_if_active.setValue(check_if_active);
+    CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_field_check_if_active(field_Ptr field_hdl, bool* check_if_active)
+  {
+    CTimer::get("XIOS").resume();
+    *check_if_active = field_hdl->check_if_active.getInheritedValue();
+    CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_field_check_if_active(field_Ptr field_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = field_hdl->check_if_active.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
   void cxios_set_field_compression_level(field_Ptr field_hdl, int compression_level)
   {
Index: XIOS/trunk/src/interface/c_attr/icfieldgroup_attr.cpp
===================================================================
--- XIOS/trunk/src/interface/c_attr/icfieldgroup_attr.cpp	(revision 1171)
+++ XIOS/trunk/src/interface/c_attr/icfieldgroup_attr.cpp	(revision 1181)
@@ -119,4 +119,27 @@
 
 
+  void cxios_set_fieldgroup_check_if_active(fieldgroup_Ptr fieldgroup_hdl, bool check_if_active)
+  {
+    CTimer::get("XIOS").resume();
+    fieldgroup_hdl->check_if_active.setValue(check_if_active);
+    CTimer::get("XIOS").suspend();
+  }
+
+  void cxios_get_fieldgroup_check_if_active(fieldgroup_Ptr fieldgroup_hdl, bool* check_if_active)
+  {
+    CTimer::get("XIOS").resume();
+    *check_if_active = fieldgroup_hdl->check_if_active.getInheritedValue();
+    CTimer::get("XIOS").suspend();
+  }
+
+  bool cxios_is_defined_fieldgroup_check_if_active(fieldgroup_Ptr fieldgroup_hdl)
+  {
+     CTimer::get("XIOS").resume();
+     bool isDefined = fieldgroup_hdl->check_if_active.hasInheritedValue();
+     CTimer::get("XIOS").suspend();
+     return isDefined;
+  }
+
+
   void cxios_set_fieldgroup_compression_level(fieldgroup_Ptr fieldgroup_hdl, int compression_level)
   {
Index: XIOS/trunk/src/interface/fortran_attr/field_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/field_interface_attr.F90	(revision 1171)
+++ XIOS/trunk/src/interface/fortran_attr/field_interface_attr.F90	(revision 1181)
@@ -92,4 +92,23 @@
 
 
+    SUBROUTINE cxios_set_field_check_if_active(field_hdl, check_if_active) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      LOGICAL (KIND=C_BOOL)      , VALUE :: check_if_active
+    END SUBROUTINE cxios_set_field_check_if_active
+
+    SUBROUTINE cxios_get_field_check_if_active(field_hdl, check_if_active) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      LOGICAL (KIND=C_BOOL)             :: check_if_active
+    END SUBROUTINE cxios_get_field_check_if_active
+
+    FUNCTION cxios_is_defined_field_check_if_active(field_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_check_if_active
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+    END FUNCTION cxios_is_defined_field_check_if_active
+
+
     SUBROUTINE cxios_set_field_compression_level(field_hdl, compression_level) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.F90	(revision 1171)
+++ XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.F90	(revision 1181)
@@ -92,4 +92,23 @@
 
 
+    SUBROUTINE cxios_set_fieldgroup_check_if_active(fieldgroup_hdl, check_if_active) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      LOGICAL (KIND=C_BOOL)      , VALUE :: check_if_active
+    END SUBROUTINE cxios_set_fieldgroup_check_if_active
+
+    SUBROUTINE cxios_get_fieldgroup_check_if_active(fieldgroup_hdl, check_if_active) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      LOGICAL (KIND=C_BOOL)             :: check_if_active
+    END SUBROUTINE cxios_get_fieldgroup_check_if_active
+
+    FUNCTION cxios_is_defined_fieldgroup_check_if_active(fieldgroup_hdl) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_check_if_active
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+    END FUNCTION cxios_is_defined_fieldgroup_check_if_active
+
+
     SUBROUTINE cxios_set_fieldgroup_compression_level(fieldgroup_hdl, compression_level) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90	(revision 1171)
+++ XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90	(revision 1181)
@@ -12,8 +12,9 @@
 
   SUBROUTINE xios(set_field_attr)  &
-    ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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
@@ -24,4 +25,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
@@ -59,16 +62,18 @@
       (field_id,field_hdl)
       CALL xios(set_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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, 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, cell_methods, cell_methods_mode, check_if_active, 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
@@ -78,4 +83,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
@@ -111,17 +118,18 @@
 
       CALL xios(set_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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_, 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_, cell_methods_, cell_methods_mode_, check_if_active_, 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
@@ -131,4 +139,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode_
+      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active_
+      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_
@@ -183,4 +193,10 @@
       ENDIF
 
+      IF (PRESENT(check_if_active_)) THEN
+        check_if_active__tmp = check_if_active_
+        CALL cxios_set_field_check_if_active &
+      (field_hdl%daddr, check_if_active__tmp)
+      ENDIF
+
       IF (PRESENT(compression_level_)) THEN
         CALL cxios_set_field_compression_level &
@@ -321,8 +337,9 @@
 
   SUBROUTINE xios(get_field_attr)  &
-    ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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
@@ -333,4 +350,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
@@ -368,16 +387,18 @@
       (field_id,field_hdl)
       CALL xios(get_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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, 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, cell_methods, cell_methods_mode, check_if_active, 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
@@ -387,4 +408,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
@@ -420,17 +443,18 @@
 
       CALL xios(get_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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_, 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_, cell_methods_, cell_methods_mode_, check_if_active_, 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
@@ -440,4 +464,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode_
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active_
+      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_
@@ -492,4 +518,10 @@
       ENDIF
 
+      IF (PRESENT(check_if_active_)) THEN
+        CALL cxios_get_field_check_if_active &
+      (field_hdl%daddr, check_if_active__tmp)
+        check_if_active_ = check_if_active__tmp
+      ENDIF
+
       IF (PRESENT(compression_level_)) THEN
         CALL cxios_get_field_compression_level &
@@ -630,8 +662,9 @@
 
   SUBROUTINE xios(is_defined_field_attr)  &
-    ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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
@@ -646,4 +679,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode
       LOGICAL(KIND=C_BOOL) :: cell_methods_mode_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
       LOGICAL(KIND=C_BOOL) :: compression_level_tmp
@@ -702,16 +737,18 @@
       (field_id,field_hdl)
       CALL xios(is_defined_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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, 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, cell_methods, cell_methods_mode, check_if_active, 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
@@ -725,4 +762,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode
       LOGICAL(KIND=C_BOOL) :: cell_methods_mode_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
       LOGICAL(KIND=C_BOOL) :: compression_level_tmp
@@ -779,17 +818,18 @@
 
       CALL xios(is_defined_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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, cell_methods, cell_methods_mode, check_if_active, 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_, 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_, cell_methods_, cell_methods_mode_, check_if_active_, 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
@@ -803,4 +843,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode_
       LOGICAL(KIND=C_BOOL) :: cell_methods_mode__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active_
+      LOGICAL(KIND=C_BOOL) :: check_if_active__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_
       LOGICAL(KIND=C_BOOL) :: compression_level__tmp
@@ -880,4 +922,10 @@
       ENDIF
 
+      IF (PRESENT(check_if_active_)) THEN
+        check_if_active__tmp = cxios_is_defined_field_check_if_active &
+      (field_hdl%daddr)
+        check_if_active_ = check_if_active__tmp
+      ENDIF
+
       IF (PRESENT(compression_level_)) THEN
         compression_level__tmp = cxios_is_defined_field_compression_level &
Index: XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 1171)
+++ XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 1181)
@@ -12,7 +12,7 @@
 
   SUBROUTINE xios(set_fieldgroup_attr)  &
-    ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+    ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
      )
@@ -25,4 +25,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
@@ -61,7 +63,7 @@
       (fieldgroup_id,fieldgroup_hdl)
       CALL xios(set_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
        )
@@ -70,7 +72,7 @@
 
   SUBROUTINE xios(set_fieldgroup_attr_hdl)  &
-    ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+    ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
      )
@@ -82,4 +84,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
@@ -116,7 +120,7 @@
 
       CALL xios(set_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
        )
@@ -125,9 +129,9 @@
 
   SUBROUTINE xios(set_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, 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_, cell_methods_, cell_methods_mode_, check_if_active_  &
+    , 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
@@ -137,4 +141,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode_
+      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active_
+      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp
       INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_
@@ -190,4 +196,10 @@
       ENDIF
 
+      IF (PRESENT(check_if_active_)) THEN
+        check_if_active__tmp = check_if_active_
+        CALL cxios_set_fieldgroup_check_if_active &
+      (fieldgroup_hdl%daddr, check_if_active__tmp)
+      ENDIF
+
       IF (PRESENT(compression_level_)) THEN
         CALL cxios_set_fieldgroup_compression_level &
@@ -333,7 +345,7 @@
 
   SUBROUTINE xios(get_fieldgroup_attr)  &
-    ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+    ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
      )
@@ -346,4 +358,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
@@ -382,7 +396,7 @@
       (fieldgroup_id,fieldgroup_hdl)
       CALL xios(get_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
        )
@@ -391,7 +405,7 @@
 
   SUBROUTINE xios(get_fieldgroup_attr_hdl)  &
-    ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+    ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
      )
@@ -403,4 +417,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
@@ -437,7 +453,7 @@
 
       CALL xios(get_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
        )
@@ -446,9 +462,9 @@
 
   SUBROUTINE xios(get_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, 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_, cell_methods_, cell_methods_mode_, check_if_active_  &
+    , 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
@@ -458,4 +474,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode_
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active_
+      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp
       INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_
@@ -511,4 +529,10 @@
       ENDIF
 
+      IF (PRESENT(check_if_active_)) THEN
+        CALL cxios_get_fieldgroup_check_if_active &
+      (fieldgroup_hdl%daddr, check_if_active__tmp)
+        check_if_active_ = check_if_active__tmp
+      ENDIF
+
       IF (PRESENT(compression_level_)) THEN
         CALL cxios_get_fieldgroup_compression_level &
@@ -654,7 +678,7 @@
 
   SUBROUTINE xios(is_defined_fieldgroup_attr)  &
-    ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+    ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
      )
@@ -671,4 +695,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode
       LOGICAL(KIND=C_BOOL) :: cell_methods_mode_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
       LOGICAL(KIND=C_BOOL) :: compression_level_tmp
@@ -729,7 +755,7 @@
       (fieldgroup_id,fieldgroup_hdl)
       CALL xios(is_defined_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
        )
@@ -738,7 +764,7 @@
 
   SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)  &
-    ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+    ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
      )
@@ -754,4 +780,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode
       LOGICAL(KIND=C_BOOL) :: cell_methods_mode_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active
+      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
       LOGICAL(KIND=C_BOOL) :: compression_level_tmp
@@ -810,7 +838,7 @@
 
       CALL xios(is_defined_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, 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  &
+      ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, 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  &
        )
@@ -819,9 +847,9 @@
 
   SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, 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_, cell_methods_, cell_methods_mode_, check_if_active_  &
+    , 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
@@ -835,4 +863,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode_
       LOGICAL(KIND=C_BOOL) :: cell_methods_mode__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active_
+      LOGICAL(KIND=C_BOOL) :: check_if_active__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_
       LOGICAL(KIND=C_BOOL) :: compression_level__tmp
@@ -914,4 +944,10 @@
       ENDIF
 
+      IF (PRESENT(check_if_active_)) THEN
+        check_if_active__tmp = cxios_is_defined_fieldgroup_check_if_active &
+      (fieldgroup_hdl%daddr)
+        check_if_active_ = check_if_active__tmp
+      ENDIF
+
       IF (PRESENT(compression_level_)) THEN
         compression_level__tmp = cxios_is_defined_fieldgroup_compression_level &
Index: XIOS/trunk/src/node/field.cpp
===================================================================
--- XIOS/trunk/src/node/field.cpp	(revision 1171)
+++ XIOS/trunk/src/node/field.cpp	(revision 1181)
@@ -825,4 +825,5 @@
        else // The data might be passed from the model
        {
+          if (check_if_active.isEmpty()) check_if_active = false;
           bool ignoreMissingValue = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true);
           double defaultValue  = ignoreMissingValue ? default_value : (!default_value.isEmpty() ? default_value : 0.0);
@@ -916,4 +917,5 @@
          if (!clientSourceFilter)
          {
+           if (check_if_active.isEmpty()) check_if_active = false;
            bool ignoreMissingValue = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true);
            double defaultValue  = ignoreMissingValue ? default_value : (!default_value.isEmpty() ? default_value : 0.0); 
Index: XIOS/trunk/src/node/field_impl.hpp
===================================================================
--- XIOS/trunk/src/node/field_impl.hpp	(revision 1171)
+++ XIOS/trunk/src/node/field_impl.hpp	(revision 1181)
@@ -19,5 +19,8 @@
   {
     if (clientSourceFilter)
-      clientSourceFilter->streamData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data);
+    {
+      if (!check_if_active || isActive(true))
+        clientSourceFilter->streamData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data);
+    }
     else if (instantDataFilter)
       ERROR("void CField::setData(const CArray<double, N>& _data)",
