Index: XIOS/trunk/src/interface/fortran_attr/field_interface_attr.f90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/field_interface_attr.f90	(revision 449)
+++ XIOS/trunk/src/interface/fortran_attr/field_interface_attr.f90	(revision 463)
@@ -316,4 +316,42 @@
     
     
+    SUBROUTINE cxios_set_field_valid_max(field_hdl, valid_max) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      REAL (KIND=C_DOUBLE)      , VALUE :: valid_max
+    END SUBROUTINE cxios_set_field_valid_max
+    
+    SUBROUTINE cxios_get_field_valid_max(field_hdl, valid_max) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      REAL (KIND=C_DOUBLE)             :: valid_max
+    END SUBROUTINE cxios_get_field_valid_max
+    
+    FUNCTION cxios_is_defined_field_valid_max(field_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_valid_max
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+    END FUNCTION cxios_is_defined_field_valid_max
+    
+    
+    SUBROUTINE cxios_set_field_valid_min(field_hdl, valid_min) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      REAL (KIND=C_DOUBLE)      , VALUE :: valid_min
+    END SUBROUTINE cxios_set_field_valid_min
+    
+    SUBROUTINE cxios_get_field_valid_min(field_hdl, valid_min) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      REAL (KIND=C_DOUBLE)             :: valid_min
+    END SUBROUTINE cxios_get_field_valid_min
+    
+    FUNCTION cxios_is_defined_field_valid_min(field_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_valid_min
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+    END FUNCTION cxios_is_defined_field_valid_min
+    
+    
     END INTERFACE
   
Index: XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.f90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.f90	(revision 449)
+++ XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.f90	(revision 463)
@@ -337,4 +337,42 @@
     
     
+    SUBROUTINE cxios_set_fieldgroup_valid_max(fieldgroup_hdl, valid_max) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      REAL (KIND=C_DOUBLE)      , VALUE :: valid_max
+    END SUBROUTINE cxios_set_fieldgroup_valid_max
+    
+    SUBROUTINE cxios_get_fieldgroup_valid_max(fieldgroup_hdl, valid_max) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      REAL (KIND=C_DOUBLE)             :: valid_max
+    END SUBROUTINE cxios_get_fieldgroup_valid_max
+    
+    FUNCTION cxios_is_defined_fieldgroup_valid_max(fieldgroup_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_valid_max
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+    END FUNCTION cxios_is_defined_fieldgroup_valid_max
+    
+    
+    SUBROUTINE cxios_set_fieldgroup_valid_min(fieldgroup_hdl, valid_min) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      REAL (KIND=C_DOUBLE)      , VALUE :: valid_min
+    END SUBROUTINE cxios_set_fieldgroup_valid_min
+    
+    SUBROUTINE cxios_get_fieldgroup_valid_min(fieldgroup_hdl, valid_min) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      REAL (KIND=C_DOUBLE)             :: valid_min
+    END SUBROUTINE cxios_get_fieldgroup_valid_min
+    
+    FUNCTION cxios_is_defined_fieldgroup_valid_min(fieldgroup_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_valid_min
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+    END FUNCTION cxios_is_defined_fieldgroup_valid_min
+    
+    
     END INTERFACE
   
Index: XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90	(revision 449)
+++ XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90	(revision 463)
@@ -13,5 +13,5 @@
   SUBROUTINE xios(set_field_attr)  &
     ( field_id, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-    , level, long_name, name, operation, prec, standard_name, unit )
+    , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -34,9 +34,11 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
       
       CALL xios(get_field_handle)(field_id,field_hdl)
       CALL xios(set_field_attr_hdl_)   &
       ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-      , level, long_name, name, operation, prec, standard_name, unit )
+      , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(set_field_attr)
@@ -44,5 +46,5 @@
   SUBROUTINE xios(set_field_attr_hdl)  &
     ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-    , level, long_name, name, operation, prec, standard_name, unit )
+    , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -64,8 +66,10 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
       
       CALL xios(set_field_attr_hdl_)  &
       ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-      , level, long_name, name, operation, prec, standard_name, unit )
+      , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(set_field_attr_hdl)
@@ -73,5 +77,6 @@
   SUBROUTINE xios(set_field_attr_hdl_)   &
     ( field_hdl, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_  &
-    , grid_ref_, level_, long_name_, name_, operation_, prec_, standard_name_, unit_ )
+    , grid_ref_, level_, long_name_, name_, operation_, prec_, standard_name_, unit_, valid_max_  &
+    , valid_min_ )
     
     IMPLICIT NONE
@@ -93,4 +98,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max_
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min_
       
       IF (PRESENT(axis_ref_)) THEN
@@ -155,4 +162,12 @@
       ENDIF
       
+      IF (PRESENT(valid_max_)) THEN
+        CALL cxios_set_field_valid_max(field_hdl%daddr, valid_max_)
+      ENDIF
+      
+      IF (PRESENT(valid_min_)) THEN
+        CALL cxios_set_field_valid_min(field_hdl%daddr, valid_min_)
+      ENDIF
+      
       
     
@@ -161,5 +176,5 @@
   SUBROUTINE xios(get_field_attr)  &
     ( field_id, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-    , level, long_name, name, operation, prec, standard_name, unit )
+    , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -182,9 +197,11 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
       
       CALL xios(get_field_handle)(field_id,field_hdl)
       CALL xios(get_field_attr_hdl_)   &
       ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-      , level, long_name, name, operation, prec, standard_name, unit )
+      , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(get_field_attr)
@@ -192,5 +209,5 @@
   SUBROUTINE xios(get_field_attr_hdl)  &
     ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-    , level, long_name, name, operation, prec, standard_name, unit )
+    , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -212,8 +229,10 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
       
       CALL xios(get_field_attr_hdl_)  &
       ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-      , level, long_name, name, operation, prec, standard_name, unit )
+      , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(get_field_attr_hdl)
@@ -221,5 +240,6 @@
   SUBROUTINE xios(get_field_attr_hdl_)   &
     ( field_hdl, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_  &
-    , grid_ref_, level_, long_name_, name_, operation_, prec_, standard_name_, unit_ )
+    , grid_ref_, level_, long_name_, name_, operation_, prec_, standard_name_, unit_, valid_max_  &
+    , valid_min_ )
     
     IMPLICIT NONE
@@ -241,4 +261,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max_
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min_
       
       IF (PRESENT(axis_ref_)) THEN
@@ -303,4 +325,12 @@
       ENDIF
       
+      IF (PRESENT(valid_max_)) THEN
+        CALL cxios_get_field_valid_max(field_hdl%daddr, valid_max_)
+      ENDIF
+      
+      IF (PRESENT(valid_min_)) THEN
+        CALL cxios_get_field_valid_min(field_hdl%daddr, valid_min_)
+      ENDIF
+      
       
     
@@ -309,5 +339,5 @@
   SUBROUTINE xios(is_defined_field_attr)  &
     ( field_id, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-    , level, long_name, name, operation, prec, standard_name, unit )
+    , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -344,9 +374,13 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: unit
       LOGICAL(KIND=C_BOOL) :: unit_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
+      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
+      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
       
       CALL xios(get_field_handle)(field_id,field_hdl)
       CALL xios(is_defined_field_attr_hdl_)   &
       ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-      , level, long_name, name, operation, prec, standard_name, unit )
+      , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(is_defined_field_attr)
@@ -354,5 +388,5 @@
   SUBROUTINE xios(is_defined_field_attr_hdl)  &
     ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-    , level, long_name, name, operation, prec, standard_name, unit )
+    , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -388,8 +422,12 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: unit
       LOGICAL(KIND=C_BOOL) :: unit_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
+      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
+      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
       
       CALL xios(is_defined_field_attr_hdl_)  &
       ( field_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref  &
-      , level, long_name, name, operation, prec, standard_name, unit )
+      , level, long_name, name, operation, prec, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(is_defined_field_attr_hdl)
@@ -397,5 +435,6 @@
   SUBROUTINE xios(is_defined_field_attr_hdl_)   &
     ( field_hdl, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_  &
-    , grid_ref_, level_, long_name_, name_, operation_, prec_, standard_name_, unit_ )
+    , grid_ref_, level_, long_name_, name_, operation_, prec_, standard_name_, unit_, valid_max_  &
+    , valid_min_ )
     
     IMPLICIT NONE
@@ -431,4 +470,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: unit_
       LOGICAL(KIND=C_BOOL) :: unit__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max_
+      LOGICAL(KIND=C_BOOL) :: valid_max__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min_
+      LOGICAL(KIND=C_BOOL) :: valid_min__tmp
       
       IF (PRESENT(axis_ref_)) THEN
@@ -507,4 +550,14 @@
       ENDIF
       
+      IF (PRESENT(valid_max_)) THEN
+        valid_max__tmp=cxios_is_defined_field_valid_max(field_hdl%daddr)
+        valid_max_=valid_max__tmp
+      ENDIF
+      
+      IF (PRESENT(valid_min_)) THEN
+        valid_min__tmp=cxios_is_defined_field_valid_min(field_hdl%daddr)
+        valid_min_=valid_min__tmp
+      ENDIF
+      
       
     
Index: XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90
===================================================================
--- XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 449)
+++ XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 463)
@@ -13,5 +13,6 @@
   SUBROUTINE xios(set_fieldgroup_attr)  &
     ( fieldgroup_id, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+    , valid_min )
     
     IMPLICIT NONE
@@ -35,9 +36,12 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
       
       CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl)
       CALL xios(set_fieldgroup_attr_hdl_)   &
       ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+      , valid_min )
     
   END SUBROUTINE xios(set_fieldgroup_attr)
@@ -45,5 +49,6 @@
   SUBROUTINE xios(set_fieldgroup_attr_hdl)  &
     ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+    , valid_min )
     
     IMPLICIT NONE
@@ -66,8 +71,11 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
       
       CALL xios(set_fieldgroup_attr_hdl_)  &
       ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+      , valid_min )
     
   END SUBROUTINE xios(set_fieldgroup_attr_hdl)
@@ -76,5 +84,5 @@
     ( fieldgroup_hdl, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  &
     , freq_op_, grid_ref_, group_ref_, level_, long_name_, name_, operation_, prec_, standard_name_  &
-    , unit_ )
+    , unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -97,4 +105,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max_
+      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min_
       
       IF (PRESENT(axis_ref_)) THEN
@@ -163,4 +173,12 @@
       ENDIF
       
+      IF (PRESENT(valid_max_)) THEN
+        CALL cxios_set_fieldgroup_valid_max(fieldgroup_hdl%daddr, valid_max_)
+      ENDIF
+      
+      IF (PRESENT(valid_min_)) THEN
+        CALL cxios_set_fieldgroup_valid_min(fieldgroup_hdl%daddr, valid_min_)
+      ENDIF
+      
       
     
@@ -169,5 +187,6 @@
   SUBROUTINE xios(get_fieldgroup_attr)  &
     ( fieldgroup_id, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+    , valid_min )
     
     IMPLICIT NONE
@@ -191,9 +210,12 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
       
       CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl)
       CALL xios(get_fieldgroup_attr_hdl_)   &
       ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+      , valid_min )
     
   END SUBROUTINE xios(get_fieldgroup_attr)
@@ -201,5 +223,6 @@
   SUBROUTINE xios(get_fieldgroup_attr_hdl)  &
     ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+    , valid_min )
     
     IMPLICIT NONE
@@ -222,8 +245,11 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
       
       CALL xios(get_fieldgroup_attr_hdl_)  &
       ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+      , valid_min )
     
   END SUBROUTINE xios(get_fieldgroup_attr_hdl)
@@ -232,5 +258,5 @@
     ( fieldgroup_hdl, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  &
     , freq_op_, grid_ref_, group_ref_, level_, long_name_, name_, operation_, prec_, standard_name_  &
-    , unit_ )
+    , unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -253,4 +279,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max_
+      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min_
       
       IF (PRESENT(axis_ref_)) THEN
@@ -319,4 +347,12 @@
       ENDIF
       
+      IF (PRESENT(valid_max_)) THEN
+        CALL cxios_get_fieldgroup_valid_max(fieldgroup_hdl%daddr, valid_max_)
+      ENDIF
+      
+      IF (PRESENT(valid_min_)) THEN
+        CALL cxios_get_fieldgroup_valid_min(fieldgroup_hdl%daddr, valid_min_)
+      ENDIF
+      
       
     
@@ -325,5 +361,6 @@
   SUBROUTINE xios(is_defined_fieldgroup_attr)  &
     ( fieldgroup_id, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+    , valid_min )
     
     IMPLICIT NONE
@@ -362,9 +399,14 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: unit
       LOGICAL(KIND=C_BOOL) :: unit_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
+      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
+      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
       
       CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl)
       CALL xios(is_defined_fieldgroup_attr_hdl_)   &
       ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+      , valid_min )
     
   END SUBROUTINE xios(is_defined_fieldgroup_attr)
@@ -372,5 +414,6 @@
   SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)  &
     ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+    , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+    , valid_min )
     
     IMPLICIT NONE
@@ -408,8 +451,13 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: unit
       LOGICAL(KIND=C_BOOL) :: unit_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
+      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
+      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
       
       CALL xios(is_defined_fieldgroup_attr_hdl_)  &
       ( fieldgroup_hdl, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset, freq_op  &
-      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit )
+      , grid_ref, group_ref, level, long_name, name, operation, prec, standard_name, unit, valid_max  &
+      , valid_min )
     
   END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)
@@ -418,5 +466,5 @@
     ( fieldgroup_hdl, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  &
     , freq_op_, grid_ref_, group_ref_, level_, long_name_, name_, operation_, prec_, standard_name_  &
-    , unit_ )
+    , unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -454,4 +502,8 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: unit_
       LOGICAL(KIND=C_BOOL) :: unit__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max_
+      LOGICAL(KIND=C_BOOL) :: valid_max__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min_
+      LOGICAL(KIND=C_BOOL) :: valid_min__tmp
       
       IF (PRESENT(axis_ref_)) THEN
@@ -535,4 +587,14 @@
       ENDIF
       
+      IF (PRESENT(valid_max_)) THEN
+        valid_max__tmp=cxios_is_defined_fieldgroup_valid_max(fieldgroup_hdl%daddr)
+        valid_max_=valid_max__tmp
+      ENDIF
+      
+      IF (PRESENT(valid_min_)) THEN
+        valid_min__tmp=cxios_is_defined_fieldgroup_valid_min(fieldgroup_hdl%daddr)
+        valid_min_=valid_min__tmp
+      ENDIF
+      
       
     
