Index: XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iscalargroup_attr.F90
===================================================================
--- XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iscalargroup_attr.F90	(revision 1780)
+++ XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iscalargroup_attr.F90	(revision 1941)
@@ -12,6 +12,6 @@
 
   SUBROUTINE xios(set_scalargroup_attr)  &
-    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-    , positive, prec, scalar_ref, standard_name, unit, value )
+    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+    , name, positive, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -25,4 +25,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
+      LOGICAL  , OPTIONAL, INTENT(IN) :: mask
+      LOGICAL (KIND=C_BOOL) :: mask_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive
@@ -36,12 +38,12 @@
       (scalargroup_id,scalargroup_hdl)
       CALL xios(set_scalargroup_attr_hdl_)   &
-      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-      , positive, prec, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+      , name, positive, prec, scalar_ref, standard_name, unit, value )
 
   END SUBROUTINE xios(set_scalargroup_attr)
 
   SUBROUTINE xios(set_scalargroup_attr_hdl)  &
-    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-    , positive, prec, scalar_ref, standard_name, unit, value )
+    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+    , name, positive, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -54,4 +56,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
+      LOGICAL  , OPTIONAL, INTENT(IN) :: mask
+      LOGICAL (KIND=C_BOOL) :: mask_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive
@@ -63,6 +67,6 @@
 
       CALL xios(set_scalargroup_attr_hdl_)  &
-      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-      , positive, prec, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+      , name, positive, prec, scalar_ref, standard_name, unit, value )
 
   END SUBROUTINE xios(set_scalargroup_attr_hdl)
@@ -70,5 +74,5 @@
   SUBROUTINE xios(set_scalargroup_attr_hdl_)   &
     ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  &
-    , name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ )
+    , mask_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ )
 
     IMPLICIT NONE
@@ -81,4 +85,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
+      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_
+      LOGICAL (KIND=C_BOOL) :: mask__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive_
@@ -124,4 +130,10 @@
       ENDIF
 
+      IF (PRESENT(mask_)) THEN
+        mask__tmp = mask_
+        CALL cxios_set_scalargroup_mask &
+      (scalargroup_hdl%daddr, mask__tmp)
+      ENDIF
+
       IF (PRESENT(name_)) THEN
         CALL cxios_set_scalargroup_name &
@@ -162,6 +174,6 @@
 
   SUBROUTINE xios(get_scalargroup_attr)  &
-    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-    , positive, prec, scalar_ref, standard_name, unit, value )
+    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+    , name, positive, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -175,4 +187,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask
+      LOGICAL (KIND=C_BOOL) :: mask_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive
@@ -186,12 +200,12 @@
       (scalargroup_id,scalargroup_hdl)
       CALL xios(get_scalargroup_attr_hdl_)   &
-      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-      , positive, prec, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+      , name, positive, prec, scalar_ref, standard_name, unit, value )
 
   END SUBROUTINE xios(get_scalargroup_attr)
 
   SUBROUTINE xios(get_scalargroup_attr_hdl)  &
-    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-    , positive, prec, scalar_ref, standard_name, unit, value )
+    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+    , name, positive, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -204,4 +218,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask
+      LOGICAL (KIND=C_BOOL) :: mask_tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive
@@ -213,6 +229,6 @@
 
       CALL xios(get_scalargroup_attr_hdl_)  &
-      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-      , positive, prec, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+      , name, positive, prec, scalar_ref, standard_name, unit, value )
 
   END SUBROUTINE xios(get_scalargroup_attr_hdl)
@@ -220,5 +236,5 @@
   SUBROUTINE xios(get_scalargroup_attr_hdl_)   &
     ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  &
-    , name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ )
+    , mask_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ )
 
     IMPLICIT NONE
@@ -231,4 +247,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_
+      LOGICAL (KIND=C_BOOL) :: mask__tmp
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive_
@@ -274,4 +292,10 @@
       ENDIF
 
+      IF (PRESENT(mask_)) THEN
+        CALL cxios_get_scalargroup_mask &
+      (scalargroup_hdl%daddr, mask__tmp)
+        mask_ = mask__tmp
+      ENDIF
+
       IF (PRESENT(name_)) THEN
         CALL cxios_get_scalargroup_name &
@@ -312,6 +336,6 @@
 
   SUBROUTINE xios(is_defined_scalargroup_attr)  &
-    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-    , positive, prec, scalar_ref, standard_name, unit, value )
+    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+    , name, positive, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -332,4 +356,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
       LOGICAL(KIND=C_BOOL) :: long_name_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: mask
+      LOGICAL(KIND=C_BOOL) :: mask_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: name
       LOGICAL(KIND=C_BOOL) :: name_tmp
@@ -350,12 +376,12 @@
       (scalargroup_id,scalargroup_hdl)
       CALL xios(is_defined_scalargroup_attr_hdl_)   &
-      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-      , positive, prec, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+      , name, positive, prec, scalar_ref, standard_name, unit, value )
 
   END SUBROUTINE xios(is_defined_scalargroup_attr)
 
   SUBROUTINE xios(is_defined_scalargroup_attr_hdl)  &
-    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-    , positive, prec, scalar_ref, standard_name, unit, value )
+    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+    , name, positive, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -375,4 +401,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
       LOGICAL(KIND=C_BOOL) :: long_name_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: mask
+      LOGICAL(KIND=C_BOOL) :: mask_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: name
       LOGICAL(KIND=C_BOOL) :: name_tmp
@@ -391,6 +419,6 @@
 
       CALL xios(is_defined_scalargroup_attr_hdl_)  &
-      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  &
-      , positive, prec, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  &
+      , name, positive, prec, scalar_ref, standard_name, unit, value )
 
   END SUBROUTINE xios(is_defined_scalargroup_attr_hdl)
@@ -398,5 +426,5 @@
   SUBROUTINE xios(is_defined_scalargroup_attr_hdl_)   &
     ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  &
-    , name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ )
+    , mask_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ )
 
     IMPLICIT NONE
@@ -416,4 +444,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_
       LOGICAL(KIND=C_BOOL) :: long_name__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_
+      LOGICAL(KIND=C_BOOL) :: mask__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: name_
       LOGICAL(KIND=C_BOOL) :: name__tmp
@@ -473,4 +503,10 @@
       ENDIF
 
+      IF (PRESENT(mask_)) THEN
+        mask__tmp = cxios_is_defined_scalargroup_mask &
+      (scalargroup_hdl%daddr)
+        mask_ = mask__tmp
+      ENDIF
+
       IF (PRESENT(name_)) THEN
         name__tmp = cxios_is_defined_scalargroup_name &
