Index: XIOS/dev/dev_olga/src/interface/fortran_attr/iscalargroup_attr.F90
===================================================================
--- XIOS/dev/dev_olga/src/interface/fortran_attr/iscalargroup_attr.F90	(revision 983)
+++ XIOS/dev/dev_olga/src/interface/fortran_attr/iscalargroup_attr.F90	(revision 1158)
@@ -12,5 +12,5 @@
 
   SUBROUTINE xios(set_scalargroup_attr)  &
-    ( scalargroup_id, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+    ( scalargroup_id, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -20,4 +20,5 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
+      INTEGER  , OPTIONAL, INTENT(IN) :: prec
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
@@ -28,10 +29,12 @@
       (scalargroup_id,scalargroup_hdl)
       CALL xios(set_scalargroup_attr_hdl_)   &
-      ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+       )
 
   END SUBROUTINE xios(set_scalargroup_attr)
 
   SUBROUTINE xios(set_scalargroup_attr_hdl)  &
-    ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+    ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+     )
 
     IMPLICIT NONE
@@ -40,4 +43,5 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
+      INTEGER  , OPTIONAL, INTENT(IN) :: prec
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
@@ -46,11 +50,12 @@
 
       CALL xios(set_scalargroup_attr_hdl_)  &
-      ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+       )
 
   END SUBROUTINE xios(set_scalargroup_attr_hdl)
 
   SUBROUTINE xios(set_scalargroup_attr_hdl_)   &
-    ( scalargroup_hdl, group_ref_, long_name_, name_, scalar_ref_, standard_name_, unit_, value_  &
-     )
+    ( scalargroup_hdl, group_ref_, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_  &
+    , value_ )
 
     IMPLICIT NONE
@@ -59,4 +64,5 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
+      INTEGER  , OPTIONAL, INTENT(IN) :: prec_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
@@ -79,4 +85,9 @@
       ENDIF
 
+      IF (PRESENT(prec_)) THEN
+        CALL cxios_set_scalargroup_prec &
+      (scalargroup_hdl%daddr, prec_)
+      ENDIF
+
       IF (PRESENT(scalar_ref_)) THEN
         CALL cxios_set_scalargroup_scalar_ref &
@@ -102,5 +113,5 @@
 
   SUBROUTINE xios(get_scalargroup_attr)  &
-    ( scalargroup_id, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+    ( scalargroup_id, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -110,4 +121,5 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
+      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
@@ -118,10 +130,12 @@
       (scalargroup_id,scalargroup_hdl)
       CALL xios(get_scalargroup_attr_hdl_)   &
-      ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+       )
 
   END SUBROUTINE xios(get_scalargroup_attr)
 
   SUBROUTINE xios(get_scalargroup_attr_hdl)  &
-    ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+    ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+     )
 
     IMPLICIT NONE
@@ -130,4 +144,5 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
+      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
@@ -136,11 +151,12 @@
 
       CALL xios(get_scalargroup_attr_hdl_)  &
-      ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+       )
 
   END SUBROUTINE xios(get_scalargroup_attr_hdl)
 
   SUBROUTINE xios(get_scalargroup_attr_hdl_)   &
-    ( scalargroup_hdl, group_ref_, long_name_, name_, scalar_ref_, standard_name_, unit_, value_  &
-     )
+    ( scalargroup_hdl, group_ref_, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_  &
+    , value_ )
 
     IMPLICIT NONE
@@ -149,4 +165,5 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
+      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
@@ -169,4 +186,9 @@
       ENDIF
 
+      IF (PRESENT(prec_)) THEN
+        CALL cxios_get_scalargroup_prec &
+      (scalargroup_hdl%daddr, prec_)
+      ENDIF
+
       IF (PRESENT(scalar_ref_)) THEN
         CALL cxios_get_scalargroup_scalar_ref &
@@ -192,5 +214,5 @@
 
   SUBROUTINE xios(is_defined_scalargroup_attr)  &
-    ( scalargroup_id, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+    ( scalargroup_id, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value )
 
     IMPLICIT NONE
@@ -203,4 +225,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: name
       LOGICAL(KIND=C_BOOL) :: name_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
+      LOGICAL(KIND=C_BOOL) :: prec_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref
       LOGICAL(KIND=C_BOOL) :: scalar_ref_tmp
@@ -215,10 +239,12 @@
       (scalargroup_id,scalargroup_hdl)
       CALL xios(is_defined_scalargroup_attr_hdl_)   &
-      ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+       )
 
   END SUBROUTINE xios(is_defined_scalargroup_attr)
 
   SUBROUTINE xios(is_defined_scalargroup_attr_hdl)  &
-    ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+    ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+     )
 
     IMPLICIT NONE
@@ -230,4 +256,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: name
       LOGICAL(KIND=C_BOOL) :: name_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
+      LOGICAL(KIND=C_BOOL) :: prec_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref
       LOGICAL(KIND=C_BOOL) :: scalar_ref_tmp
@@ -240,11 +268,12 @@
 
       CALL xios(is_defined_scalargroup_attr_hdl_)  &
-      ( scalargroup_hdl, group_ref, long_name, name, scalar_ref, standard_name, unit, value )
+      ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  &
+       )
 
   END SUBROUTINE xios(is_defined_scalargroup_attr_hdl)
 
   SUBROUTINE xios(is_defined_scalargroup_attr_hdl_)   &
-    ( scalargroup_hdl, group_ref_, long_name_, name_, scalar_ref_, standard_name_, unit_, value_  &
-     )
+    ( scalargroup_hdl, group_ref_, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_  &
+    , value_ )
 
     IMPLICIT NONE
@@ -256,4 +285,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: name_
       LOGICAL(KIND=C_BOOL) :: name__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_
+      LOGICAL(KIND=C_BOOL) :: prec__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref_
       LOGICAL(KIND=C_BOOL) :: scalar_ref__tmp
@@ -283,4 +314,10 @@
       ENDIF
 
+      IF (PRESENT(prec_)) THEN
+        prec__tmp = cxios_is_defined_scalargroup_prec &
+      (scalargroup_hdl%daddr)
+        prec_ = prec__tmp
+      ENDIF
+
       IF (PRESENT(scalar_ref_)) THEN
         scalar_ref__tmp = cxios_is_defined_scalargroup_scalar_ref &
