Ignore:
Timestamp:
01/21/14 15:28:59 (10 years ago)
Author:
ymipsl
Message:

Enhancement : Add scale_factor and add_offset attribute to field output
Operation (field-add_offset)/scale_factor would be computed before output write.
If field attribute prec=2 the field would be rounded to nearest integer value and output as short int (2 bytes).

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/fortran_attr/field_interface_attr.f90

    r463 r464  
    99     
    1010     
     11    SUBROUTINE cxios_set_field_add_offset(field_hdl, add_offset) BIND(C) 
     12      USE ISO_C_BINDING 
     13      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     14      REAL (KIND=C_DOUBLE)      , VALUE :: add_offset 
     15    END SUBROUTINE cxios_set_field_add_offset 
     16     
     17    SUBROUTINE cxios_get_field_add_offset(field_hdl, add_offset) BIND(C) 
     18      USE ISO_C_BINDING 
     19      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     20      REAL (KIND=C_DOUBLE)             :: add_offset 
     21    END SUBROUTINE cxios_get_field_add_offset 
     22     
     23    FUNCTION cxios_is_defined_field_add_offset(field_hdl ) BIND(C) 
     24      USE ISO_C_BINDING 
     25      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_add_offset 
     26      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     27    END FUNCTION cxios_is_defined_field_add_offset 
     28     
     29     
    1130    SUBROUTINE cxios_set_field_axis_ref(field_hdl, axis_ref, axis_ref_size) BIND(C) 
    1231      USE ISO_C_BINDING 
     
    274293     
    275294     
     295    SUBROUTINE cxios_set_field_scale_factor(field_hdl, scale_factor) BIND(C) 
     296      USE ISO_C_BINDING 
     297      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     298      REAL (KIND=C_DOUBLE)      , VALUE :: scale_factor 
     299    END SUBROUTINE cxios_set_field_scale_factor 
     300     
     301    SUBROUTINE cxios_get_field_scale_factor(field_hdl, scale_factor) BIND(C) 
     302      USE ISO_C_BINDING 
     303      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     304      REAL (KIND=C_DOUBLE)             :: scale_factor 
     305    END SUBROUTINE cxios_get_field_scale_factor 
     306     
     307    FUNCTION cxios_is_defined_field_scale_factor(field_hdl ) BIND(C) 
     308      USE ISO_C_BINDING 
     309      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_scale_factor 
     310      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     311    END FUNCTION cxios_is_defined_field_scale_factor 
     312     
     313     
    276314    SUBROUTINE cxios_set_field_standard_name(field_hdl, standard_name, standard_name_size) BIND(C) 
    277315      USE ISO_C_BINDING 
Note: See TracChangeset for help on using the changeset viewer.