Index: XIOS/branchs/xios-1.0/src/interface/c_attr/icfield_attr.cpp
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/c_attr/icfield_attr.cpp	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/c_attr/icfield_attr.cpp	(revision 608)
@@ -68,4 +68,27 @@
   
   
+  void cxios_set_field_compression_level(field_Ptr field_hdl, int compression_level)
+  {
+     CTimer::get("XIOS").resume();
+    field_hdl->compression_level.setValue(compression_level);
+    field_hdl->sendAttributToServer(field_hdl->compression_level);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_field_compression_level(field_Ptr field_hdl, int* compression_level)
+  {
+    *compression_level = field_hdl->compression_level.getInheritedValue();
+  }
+  
+  bool cxios_is_defined_field_compression_level(field_Ptr field_hdl )
+  {
+    CTimer::get("XIOS").resume();
+    bool isDefined = field_hdl->compression_level.hasInheritedValue();
+    CTimer::get("XIOS").suspend();
+    return isDefined;
+  }
+  
+  
+  
   void cxios_set_field_default_value(field_Ptr field_hdl, double default_value)
   {
Index: XIOS/branchs/xios-1.0/src/interface/c_attr/icfieldgroup_attr.cpp
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/c_attr/icfieldgroup_attr.cpp	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/c_attr/icfieldgroup_attr.cpp	(revision 608)
@@ -68,4 +68,27 @@
   
   
+  void cxios_set_fieldgroup_compression_level(fieldgroup_Ptr fieldgroup_hdl, int compression_level)
+  {
+     CTimer::get("XIOS").resume();
+    fieldgroup_hdl->compression_level.setValue(compression_level);
+    fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->compression_level);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_fieldgroup_compression_level(fieldgroup_Ptr fieldgroup_hdl, int* compression_level)
+  {
+    *compression_level = fieldgroup_hdl->compression_level.getInheritedValue();
+  }
+  
+  bool cxios_is_defined_fieldgroup_compression_level(fieldgroup_Ptr fieldgroup_hdl )
+  {
+    CTimer::get("XIOS").resume();
+    bool isDefined = fieldgroup_hdl->compression_level.hasInheritedValue();
+    CTimer::get("XIOS").suspend();
+    return isDefined;
+  }
+  
+  
+  
   void cxios_set_fieldgroup_default_value(fieldgroup_Ptr fieldgroup_hdl, double default_value)
   {
Index: XIOS/branchs/xios-1.0/src/interface/c_attr/icfile_attr.cpp
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/c_attr/icfile_attr.cpp	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/c_attr/icfile_attr.cpp	(revision 608)
@@ -17,4 +17,27 @@
   typedef xios::CFile*  file_Ptr;
   
+  void cxios_set_file_compression_level(file_Ptr file_hdl, int compression_level)
+  {
+     CTimer::get("XIOS").resume();
+    file_hdl->compression_level.setValue(compression_level);
+    file_hdl->sendAttributToServer(file_hdl->compression_level);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_file_compression_level(file_Ptr file_hdl, int* compression_level)
+  {
+    *compression_level = file_hdl->compression_level.getInheritedValue();
+  }
+  
+  bool cxios_is_defined_file_compression_level(file_Ptr file_hdl )
+  {
+    CTimer::get("XIOS").resume();
+    bool isDefined = file_hdl->compression_level.hasInheritedValue();
+    CTimer::get("XIOS").suspend();
+    return isDefined;
+  }
+  
+  
+  
   void cxios_set_file_description(file_Ptr file_hdl, const char * description, int description_size)
   {
Index: XIOS/branchs/xios-1.0/src/interface/c_attr/icfilegroup_attr.cpp
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/c_attr/icfilegroup_attr.cpp	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/c_attr/icfilegroup_attr.cpp	(revision 608)
@@ -17,4 +17,27 @@
   typedef xios::CFileGroup*  filegroup_Ptr;
   
+  void cxios_set_filegroup_compression_level(filegroup_Ptr filegroup_hdl, int compression_level)
+  {
+     CTimer::get("XIOS").resume();
+    filegroup_hdl->compression_level.setValue(compression_level);
+    filegroup_hdl->sendAttributToServer(filegroup_hdl->compression_level);
+     CTimer::get("XIOS").suspend();
+  }
+  
+  void cxios_get_filegroup_compression_level(filegroup_Ptr filegroup_hdl, int* compression_level)
+  {
+    *compression_level = filegroup_hdl->compression_level.getInheritedValue();
+  }
+  
+  bool cxios_is_defined_filegroup_compression_level(filegroup_Ptr filegroup_hdl )
+  {
+    CTimer::get("XIOS").resume();
+    bool isDefined = filegroup_hdl->compression_level.hasInheritedValue();
+    CTimer::get("XIOS").suspend();
+    return isDefined;
+  }
+  
+  
+  
   void cxios_set_filegroup_description(filegroup_Ptr filegroup_hdl, const char * description, int description_size)
   {
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/field_interface_attr.f90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/field_interface_attr.f90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/field_interface_attr.f90	(revision 608)
@@ -49,4 +49,23 @@
     
     
+    SUBROUTINE cxios_set_field_compression_level(field_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      INTEGER (KIND=C_INT)      , VALUE :: compression_level
+    END SUBROUTINE cxios_set_field_compression_level
+    
+    SUBROUTINE cxios_get_field_compression_level(field_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+      INTEGER (KIND=C_INT)             :: compression_level
+    END SUBROUTINE cxios_get_field_compression_level
+    
+    FUNCTION cxios_is_defined_field_compression_level(field_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_compression_level
+      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl
+    END FUNCTION cxios_is_defined_field_compression_level
+    
+    
     SUBROUTINE cxios_set_field_default_value(field_hdl, default_value) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/fieldgroup_interface_attr.f90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/fieldgroup_interface_attr.f90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/fieldgroup_interface_attr.f90	(revision 608)
@@ -49,4 +49,23 @@
     
     
+    SUBROUTINE cxios_set_fieldgroup_compression_level(fieldgroup_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      INTEGER (KIND=C_INT)      , VALUE :: compression_level
+    END SUBROUTINE cxios_set_fieldgroup_compression_level
+    
+    SUBROUTINE cxios_get_fieldgroup_compression_level(fieldgroup_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+      INTEGER (KIND=C_INT)             :: compression_level
+    END SUBROUTINE cxios_get_fieldgroup_compression_level
+    
+    FUNCTION cxios_is_defined_fieldgroup_compression_level(fieldgroup_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_compression_level
+      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl
+    END FUNCTION cxios_is_defined_fieldgroup_compression_level
+    
+    
     SUBROUTINE cxios_set_fieldgroup_default_value(fieldgroup_hdl, default_value) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/file_interface_attr.f90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/file_interface_attr.f90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/file_interface_attr.f90	(revision 608)
@@ -9,4 +9,23 @@
     
     
+    SUBROUTINE cxios_set_file_compression_level(file_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      INTEGER (KIND=C_INT)      , VALUE :: compression_level
+    END SUBROUTINE cxios_set_file_compression_level
+    
+    SUBROUTINE cxios_get_file_compression_level(file_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      INTEGER (KIND=C_INT)             :: compression_level
+    END SUBROUTINE cxios_get_file_compression_level
+    
+    FUNCTION cxios_is_defined_file_compression_level(file_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_compression_level
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+    END FUNCTION cxios_is_defined_file_compression_level
+    
+    
     SUBROUTINE cxios_set_file_description(file_hdl, description, description_size) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/filegroup_interface_attr.f90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/filegroup_interface_attr.f90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/filegroup_interface_attr.f90	(revision 608)
@@ -9,4 +9,23 @@
     
     
+    SUBROUTINE cxios_set_filegroup_compression_level(filegroup_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      INTEGER (KIND=C_INT)      , VALUE :: compression_level
+    END SUBROUTINE cxios_set_filegroup_compression_level
+    
+    SUBROUTINE cxios_get_filegroup_compression_level(filegroup_hdl, compression_level) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      INTEGER (KIND=C_INT)             :: compression_level
+    END SUBROUTINE cxios_get_filegroup_compression_level
+    
+    FUNCTION cxios_is_defined_filegroup_compression_level(filegroup_hdl ) BIND(C)
+      USE ISO_C_BINDING
+      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_compression_level
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+    END FUNCTION cxios_is_defined_filegroup_compression_level
+    
+    
     SUBROUTINE cxios_set_filegroup_description(filegroup_hdl, description, description_size) BIND(C)
       USE ISO_C_BINDING
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifield_attr.F90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifield_attr.F90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifield_attr.F90	(revision 608)
@@ -12,7 +12,7 @@
   
   SUBROUTINE xios(set_field_attr)  &
-    ( field_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled, field_ref  &
-    , freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name  &
-    , unit, valid_max, valid_min )
+    ( field_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+    , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+    , scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -21,4 +21,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
       LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value
@@ -44,14 +45,14 @@
       CALL xios(get_field_handle)(field_id,field_hdl)
       CALL xios(set_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-      , standard_name, unit, valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+      , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+      , scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(set_field_attr)
   
   SUBROUTINE xios(set_field_attr_hdl)  &
-    ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-    , standard_name, unit, valid_max, valid_min )
+    ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+    , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+    , scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -59,4 +60,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
       LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value
@@ -81,14 +83,14 @@
       
       CALL xios(set_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-      , standard_name, unit, valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+      , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+      , scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(set_field_attr_hdl)
   
   SUBROUTINE xios(set_field_attr_hdl_)   &
-    ( field_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_, enabled_  &
-    , field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_  &
-    , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
+    ( field_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  &
+    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_  &
+    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -96,4 +98,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_
       LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value_
@@ -125,4 +128,8 @@
       ENDIF
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_set_field_compression_level(field_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(default_value_)) THEN
         CALL cxios_set_field_default_value(field_hdl%daddr, default_value_)
@@ -204,7 +211,7 @@
   
   SUBROUTINE xios(get_field_attr)  &
-    ( field_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled, field_ref  &
-    , freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name  &
-    , unit, valid_max, valid_min )
+    ( field_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+    , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+    , scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -213,4 +220,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value
@@ -236,14 +244,14 @@
       CALL xios(get_field_handle)(field_id,field_hdl)
       CALL xios(get_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-      , standard_name, unit, valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+      , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+      , scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(get_field_attr)
   
   SUBROUTINE xios(get_field_attr_hdl)  &
-    ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-    , standard_name, unit, valid_max, valid_min )
+    ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+    , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+    , scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -251,4 +259,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value
@@ -273,14 +282,14 @@
       
       CALL xios(get_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-      , standard_name, unit, valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+      , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+      , scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(get_field_attr_hdl)
   
   SUBROUTINE xios(get_field_attr_hdl_)   &
-    ( field_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_, enabled_  &
-    , field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_  &
-    , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
+    ( field_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  &
+    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_  &
+    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -288,4 +297,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value_
@@ -317,4 +327,8 @@
       ENDIF
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_get_field_compression_level(field_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(default_value_)) THEN
         CALL cxios_get_field_default_value(field_hdl%daddr, default_value_)
@@ -396,7 +410,7 @@
   
   SUBROUTINE xios(is_defined_field_attr)  &
-    ( field_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled, field_ref  &
-    , freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name  &
-    , unit, valid_max, valid_min )
+    ( field_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+    , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+    , scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -407,4 +421,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL(KIND=C_BOOL) :: default_value_tmp
@@ -446,14 +462,14 @@
       CALL xios(get_field_handle)(field_id,field_hdl)
       CALL xios(is_defined_field_attr_hdl_)   &
-      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-      , standard_name, unit, valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+      , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+      , scale_factor, standard_name, 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, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-    , standard_name, unit, valid_max, valid_min )
+    ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+    , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+    , scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -463,4 +479,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL(KIND=C_BOOL) :: default_value_tmp
@@ -501,14 +519,14 @@
       
       CALL xios(is_defined_field_attr_hdl_)  &
-      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  &
-      , standard_name, unit, valid_max, valid_min )
+      ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref  &
+      , enabled, field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec  &
+      , scale_factor, standard_name, 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_, default_value_, detect_missing_value_, domain_ref_, enabled_  &
-    , field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_  &
-    , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
+    ( field_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  &
+    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_  &
+    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -518,4 +536,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
       LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_
+      LOGICAL(KIND=C_BOOL) :: compression_level__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: default_value_
       LOGICAL(KIND=C_BOOL) :: default_value__tmp
@@ -565,4 +585,9 @@
       ENDIF
       
+      IF (PRESENT(compression_level_)) THEN
+        compression_level__tmp=cxios_is_defined_field_compression_level(field_hdl%daddr)
+        compression_level_=compression_level__tmp
+      ENDIF
+      
       IF (PRESENT(default_value_)) THEN
         default_value__tmp=cxios_is_defined_field_default_value(field_hdl%daddr)
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifieldgroup_attr.F90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifieldgroup_attr.F90	(revision 608)
@@ -12,7 +12,7 @@
   
   SUBROUTINE xios(set_fieldgroup_attr)  &
-    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-    , scale_factor, standard_name, unit, valid_max, valid_min )
+    ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+    , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -21,4 +21,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
       LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value
@@ -45,14 +46,14 @@
       CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl)
       CALL xios(set_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-      , scale_factor, standard_name, unit, valid_max, valid_min )
+      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+      , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(set_fieldgroup_attr)
   
   SUBROUTINE xios(set_fieldgroup_attr_hdl)  &
-    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-    , scale_factor, standard_name, unit, valid_max, valid_min )
+    ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+    , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -60,4 +61,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
       LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value
@@ -83,14 +85,14 @@
       
       CALL xios(set_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-      , scale_factor, standard_name, unit, valid_max, valid_min )
+      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+      , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(set_fieldgroup_attr_hdl)
   
   SUBROUTINE xios(set_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  &
-    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  &
-    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
+    ( fieldgroup_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  &
+    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_  &
+    , name_, operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -98,4 +100,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_
       LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value_
@@ -128,4 +131,8 @@
       ENDIF
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_set_fieldgroup_compression_level(fieldgroup_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(default_value_)) THEN
         CALL cxios_set_fieldgroup_default_value(fieldgroup_hdl%daddr, default_value_)
@@ -211,7 +218,7 @@
   
   SUBROUTINE xios(get_fieldgroup_attr)  &
-    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-    , scale_factor, standard_name, unit, valid_max, valid_min )
+    ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+    , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -220,4 +227,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value
@@ -244,14 +252,14 @@
       CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl)
       CALL xios(get_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-      , scale_factor, standard_name, unit, valid_max, valid_min )
+      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+      , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(get_fieldgroup_attr)
   
   SUBROUTINE xios(get_fieldgroup_attr_hdl)  &
-    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-    , scale_factor, standard_name, unit, valid_max, valid_min )
+    ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+    , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -259,4 +267,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value
@@ -282,14 +291,14 @@
       
       CALL xios(get_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-      , scale_factor, standard_name, unit, valid_max, valid_min )
+      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+      , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
   END SUBROUTINE xios(get_fieldgroup_attr_hdl)
   
   SUBROUTINE xios(get_fieldgroup_attr_hdl_)   &
-    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  &
-    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  &
-    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
+    ( fieldgroup_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  &
+    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_  &
+    , name_, operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -297,4 +306,5 @@
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value_
@@ -327,4 +337,8 @@
       ENDIF
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_get_fieldgroup_compression_level(fieldgroup_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(default_value_)) THEN
         CALL cxios_get_fieldgroup_default_value(fieldgroup_hdl%daddr, default_value_)
@@ -410,7 +424,7 @@
   
   SUBROUTINE xios(is_defined_fieldgroup_attr)  &
-    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-    , scale_factor, standard_name, unit, valid_max, valid_min )
+    ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+    , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -421,4 +435,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL(KIND=C_BOOL) :: default_value_tmp
@@ -462,14 +478,14 @@
       CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl)
       CALL xios(is_defined_fieldgroup_attr_hdl_)   &
-      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-      , scale_factor, standard_name, unit, valid_max, valid_min )
+      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+      , name, operation, prec, scale_factor, standard_name, 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, default_value, detect_missing_value, domain_ref, enabled  &
-    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-    , scale_factor, standard_name, unit, valid_max, valid_min )
+    ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+    , name, operation, prec, scale_factor, standard_name, unit, valid_max, valid_min )
     
     IMPLICIT NONE
@@ -479,4 +495,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
       LOGICAL(KIND=C_BOOL) :: default_value_tmp
@@ -519,14 +537,14 @@
       
       CALL xios(is_defined_fieldgroup_attr_hdl_)  &
-      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  &
-      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  &
-      , scale_factor, standard_name, unit, valid_max, valid_min )
+      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  &
+      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name  &
+      , name, operation, prec, scale_factor, standard_name, 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_, default_value_, detect_missing_value_, domain_ref_  &
-    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  &
-    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
+    ( fieldgroup_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  &
+    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_  &
+    , name_, operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ )
     
     IMPLICIT NONE
@@ -536,4 +554,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
       LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_
+      LOGICAL(KIND=C_BOOL) :: compression_level__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: default_value_
       LOGICAL(KIND=C_BOOL) :: default_value__tmp
@@ -585,4 +605,9 @@
       ENDIF
       
+      IF (PRESENT(compression_level_)) THEN
+        compression_level__tmp=cxios_is_defined_fieldgroup_compression_level(fieldgroup_hdl%daddr)
+        compression_level_=compression_level__tmp
+      ENDIF
+      
       IF (PRESENT(default_value_)) THEN
         default_value__tmp=cxios_is_defined_fieldgroup_default_value(fieldgroup_hdl%daddr)
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifile_attr.F90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifile_attr.F90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifile_attr.F90	(revision 608)
@@ -12,10 +12,11 @@
   
   SUBROUTINE xios(set_file_attr)  &
-    ( file_id, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-    , split_freq, split_freq_format, sync_freq, type )
+    ( file_id, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
     IMPLICIT NONE
       TYPE(txios(file))  :: file_hdl
       CHARACTER(LEN=*), INTENT(IN) ::file_id
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
       LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
@@ -34,15 +35,16 @@
       CALL xios(get_file_handle)(file_id,file_hdl)
       CALL xios(set_file_attr_hdl_)   &
-      ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-      , split_freq, split_freq_format, sync_freq, type )
+      ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(set_file_attr)
   
   SUBROUTINE xios(set_file_attr_hdl)  &
-    ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-    , split_freq, split_freq_format, sync_freq, type )
-    
-    IMPLICIT NONE
-      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+    ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    
+    IMPLICIT NONE
+      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
       LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
@@ -60,15 +62,16 @@
       
       CALL xios(set_file_attr_hdl_)  &
-      ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-      , split_freq, split_freq_format, sync_freq, type )
+      ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(set_file_attr_hdl)
   
   SUBROUTINE xios(set_file_attr_hdl_)   &
-    ( file_hdl, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_, output_level_  &
-    , par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+    ( file_hdl, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_  &
+    , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
       LOGICAL  , OPTIONAL, INTENT(IN) :: enabled_
@@ -85,4 +88,8 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_set_file_compression_level(file_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(description_)) THEN
         CALL cxios_set_file_description(file_hdl%daddr, description_, len(description_))
@@ -139,10 +146,11 @@
   
   SUBROUTINE xios(get_file_attr)  &
-    ( file_id, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-    , split_freq, split_freq_format, sync_freq, type )
+    ( file_id, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
     IMPLICIT NONE
       TYPE(txios(file))  :: file_hdl
       CHARACTER(LEN=*), INTENT(IN) ::file_id
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
       LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
@@ -161,15 +169,16 @@
       CALL xios(get_file_handle)(file_id,file_hdl)
       CALL xios(get_file_attr_hdl_)   &
-      ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-      , split_freq, split_freq_format, sync_freq, type )
+      ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(get_file_attr)
   
   SUBROUTINE xios(get_file_attr_hdl)  &
-    ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-    , split_freq, split_freq_format, sync_freq, type )
-    
-    IMPLICIT NONE
-      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+    ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    
+    IMPLICIT NONE
+      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
       LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
@@ -187,15 +196,16 @@
       
       CALL xios(get_file_attr_hdl_)  &
-      ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-      , split_freq, split_freq_format, sync_freq, type )
+      ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(get_file_attr_hdl)
   
   SUBROUTINE xios(get_file_attr_hdl_)   &
-    ( file_hdl, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_, output_level_  &
-    , par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+    ( file_hdl, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_  &
+    , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled_
@@ -212,4 +222,8 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_get_file_compression_level(file_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(description_)) THEN
         CALL cxios_get_file_description(file_hdl%daddr, description_, len(description_))
@@ -266,10 +280,12 @@
   
   SUBROUTINE xios(is_defined_file_attr)  &
-    ( file_id, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-    , split_freq, split_freq_format, sync_freq, type )
+    ( file_id, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
     IMPLICIT NONE
       TYPE(txios(file))  :: file_hdl
       CHARACTER(LEN=*), INTENT(IN) ::file_id
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
@@ -299,15 +315,17 @@
       CALL xios(get_file_handle)(file_id,file_hdl)
       CALL xios(is_defined_file_attr_hdl_)   &
-      ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-      , split_freq, split_freq_format, sync_freq, type )
+      ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(is_defined_file_attr)
   
   SUBROUTINE xios(is_defined_file_attr_hdl)  &
-    ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-    , split_freq, split_freq_format, sync_freq, type )
-    
-    IMPLICIT NONE
-      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+    ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    
+    IMPLICIT NONE
+      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
@@ -336,15 +354,17 @@
       
       CALL xios(is_defined_file_attr_hdl_)  &
-      ( file_hdl, description, enabled, min_digits, name, name_suffix, output_freq, output_level, par_access  &
-      , split_freq, split_freq_format, sync_freq, type )
+      ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  &
+      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(is_defined_file_attr_hdl)
   
   SUBROUTINE xios(is_defined_file_attr_hdl_)   &
-    ( file_hdl, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_, output_level_  &
-    , par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+    ( file_hdl, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_  &
+    , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(file)) , INTENT(IN) :: file_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_
+      LOGICAL(KIND=C_BOOL) :: compression_level__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description_
       LOGICAL(KIND=C_BOOL) :: description__tmp
@@ -372,4 +392,9 @@
       LOGICAL(KIND=C_BOOL) :: type__tmp
       
+      IF (PRESENT(compression_level_)) THEN
+        compression_level__tmp=cxios_is_defined_file_compression_level(file_hdl%daddr)
+        compression_level_=compression_level__tmp
+      ENDIF
+      
       IF (PRESENT(description_)) THEN
         description__tmp=cxios_is_defined_file_description(file_hdl%daddr)
Index: XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifilegroup_attr.F90
===================================================================
--- XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifilegroup_attr.F90	(revision 607)
+++ XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifilegroup_attr.F90	(revision 608)
@@ -12,10 +12,11 @@
   
   SUBROUTINE xios(set_filegroup_attr)  &
-    ( filegroup_id, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    ( filegroup_id, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
     IMPLICIT NONE
       TYPE(txios(filegroup))  :: filegroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::filegroup_id
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
       LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
@@ -35,15 +36,16 @@
       CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl)
       CALL xios(set_filegroup_attr_hdl_)   &
-      ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+      ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+      , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(set_filegroup_attr)
   
   SUBROUTINE xios(set_filegroup_attr_hdl)  &
-    ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
-    
-    IMPLICIT NONE
-      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+    ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    
+    IMPLICIT NONE
+      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
       LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
@@ -62,15 +64,17 @@
       
       CALL xios(set_filegroup_attr_hdl_)  &
-      ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+      ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+      , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(set_filegroup_attr_hdl)
   
   SUBROUTINE xios(set_filegroup_attr_hdl_)   &
-    ( filegroup_hdl, description_, enabled_, group_ref_, min_digits_, name_, name_suffix_, output_freq_  &
-    , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+    ( filegroup_hdl, compression_level_, description_, enabled_, group_ref_, min_digits_, name_  &
+    , name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_  &
+    , type_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
       LOGICAL  , OPTIONAL, INTENT(IN) :: enabled_
@@ -88,4 +92,8 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_set_filegroup_compression_level(filegroup_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(description_)) THEN
         CALL cxios_set_filegroup_description(filegroup_hdl%daddr, description_, len(description_))
@@ -146,10 +154,11 @@
   
   SUBROUTINE xios(get_filegroup_attr)  &
-    ( filegroup_id, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    ( filegroup_id, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
     IMPLICIT NONE
       TYPE(txios(filegroup))  :: filegroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::filegroup_id
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
       LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
@@ -169,15 +178,16 @@
       CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl)
       CALL xios(get_filegroup_attr_hdl_)   &
-      ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+      ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+      , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(get_filegroup_attr)
   
   SUBROUTINE xios(get_filegroup_attr_hdl)  &
-    ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
-    
-    IMPLICIT NONE
-      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+    ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    
+    IMPLICIT NONE
+      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
       LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
@@ -196,15 +206,17 @@
       
       CALL xios(get_filegroup_attr_hdl_)  &
-      ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+      ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+      , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(get_filegroup_attr_hdl)
   
   SUBROUTINE xios(get_filegroup_attr_hdl_)   &
-    ( filegroup_hdl, description_, enabled_, group_ref_, min_digits_, name_, name_suffix_, output_freq_  &
-    , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+    ( filegroup_hdl, compression_level_, description_, enabled_, group_ref_, min_digits_, name_  &
+    , name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_  &
+    , type_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
       LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled_
@@ -222,4 +234,8 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
       
+      IF (PRESENT(compression_level_)) THEN
+        CALL cxios_get_filegroup_compression_level(filegroup_hdl%daddr, compression_level_)
+      ENDIF
+      
       IF (PRESENT(description_)) THEN
         CALL cxios_get_filegroup_description(filegroup_hdl%daddr, description_, len(description_))
@@ -280,10 +296,12 @@
   
   SUBROUTINE xios(is_defined_filegroup_attr)  &
-    ( filegroup_id, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    ( filegroup_id, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
     IMPLICIT NONE
       TYPE(txios(filegroup))  :: filegroup_hdl
       CHARACTER(LEN=*), INTENT(IN) ::filegroup_id
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
@@ -315,15 +333,17 @@
       CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl)
       CALL xios(is_defined_filegroup_attr_hdl_)   &
-      ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+      ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+      , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(is_defined_filegroup_attr)
   
   SUBROUTINE xios(is_defined_filegroup_attr_hdl)  &
-    ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-    , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
-    
-    IMPLICIT NONE
-      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+    ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+    , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+    
+    IMPLICIT NONE
+      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
+      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description
       LOGICAL(KIND=C_BOOL) :: description_tmp
@@ -354,15 +374,18 @@
       
       CALL xios(is_defined_filegroup_attr_hdl_)  &
-      ( filegroup_hdl, description, enabled, group_ref, min_digits, name, name_suffix, output_freq  &
-      , output_level, par_access, split_freq, split_freq_format, sync_freq, type )
+      ( filegroup_hdl, compression_level, description, enabled, group_ref, min_digits, name, name_suffix  &
+      , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, type )
     
   END SUBROUTINE xios(is_defined_filegroup_attr_hdl)
   
   SUBROUTINE xios(is_defined_filegroup_attr_hdl_)   &
-    ( filegroup_hdl, description_, enabled_, group_ref_, min_digits_, name_, name_suffix_, output_freq_  &
-    , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, type_ )
-    
-    IMPLICIT NONE
-      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+    ( filegroup_hdl, compression_level_, description_, enabled_, group_ref_, min_digits_, name_  &
+    , name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_  &
+    , type_ )
+    
+    IMPLICIT NONE
+      TYPE(txios(filegroup)) , INTENT(IN) :: filegroup_hdl
+      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_
+      LOGICAL(KIND=C_BOOL) :: compression_level__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: description_
       LOGICAL(KIND=C_BOOL) :: description__tmp
@@ -392,4 +415,9 @@
       LOGICAL(KIND=C_BOOL) :: type__tmp
       
+      IF (PRESENT(compression_level_)) THEN
+        compression_level__tmp=cxios_is_defined_filegroup_compression_level(filegroup_hdl%daddr)
+        compression_level_=compression_level__tmp
+      ENDIF
+      
       IF (PRESENT(description_)) THEN
         description__tmp=cxios_is_defined_filegroup_description(filegroup_hdl%daddr)
