Ignore:
Timestamp:
02/03/14 14:16:20 (10 years ago)
Author:
ymipsl
Message:

Enhancement : user defined global and field attribute can be output in the netcdfcf file.
A variable child element inclosed into a file element will be output as a global file attribute.
A variable child element inclosed into a field element will be output as a field attribute.

+ variable fortran interface added

YM

Location:
XIOS/trunk/src/interface/fortran_attr
Files:
4 added
4 edited

Legend:

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

    r464 r472  
    6868     
    6969     
     70    SUBROUTINE cxios_set_field_detect_missing_value(field_hdl, detect_missing_value) BIND(C) 
     71      USE ISO_C_BINDING 
     72      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     73      LOGICAL (KIND=C_BOOL)      , VALUE :: detect_missing_value 
     74    END SUBROUTINE cxios_set_field_detect_missing_value 
     75     
     76    SUBROUTINE cxios_get_field_detect_missing_value(field_hdl, detect_missing_value) BIND(C) 
     77      USE ISO_C_BINDING 
     78      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     79      LOGICAL (KIND=C_BOOL)             :: detect_missing_value 
     80    END SUBROUTINE cxios_get_field_detect_missing_value 
     81     
     82    FUNCTION cxios_is_defined_field_detect_missing_value(field_hdl ) BIND(C) 
     83      USE ISO_C_BINDING 
     84      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_detect_missing_value 
     85      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     86    END FUNCTION cxios_is_defined_field_detect_missing_value 
     87     
     88     
    7089    SUBROUTINE cxios_set_field_domain_ref(field_hdl, domain_ref, domain_ref_size) BIND(C) 
    7190      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.f90

    r464 r472  
    6868     
    6969     
     70    SUBROUTINE cxios_set_fieldgroup_detect_missing_value(fieldgroup_hdl, detect_missing_value) BIND(C) 
     71      USE ISO_C_BINDING 
     72      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     73      LOGICAL (KIND=C_BOOL)      , VALUE :: detect_missing_value 
     74    END SUBROUTINE cxios_set_fieldgroup_detect_missing_value 
     75     
     76    SUBROUTINE cxios_get_fieldgroup_detect_missing_value(fieldgroup_hdl, detect_missing_value) BIND(C) 
     77      USE ISO_C_BINDING 
     78      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     79      LOGICAL (KIND=C_BOOL)             :: detect_missing_value 
     80    END SUBROUTINE cxios_get_fieldgroup_detect_missing_value 
     81     
     82    FUNCTION cxios_is_defined_fieldgroup_detect_missing_value(fieldgroup_hdl ) BIND(C) 
     83      USE ISO_C_BINDING 
     84      LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_detect_missing_value 
     85      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     86    END FUNCTION cxios_is_defined_fieldgroup_detect_missing_value 
     87     
     88     
    7089    SUBROUTINE cxios_set_fieldgroup_domain_ref(fieldgroup_hdl, domain_ref, domain_ref_size) BIND(C) 
    7190      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90

    r464 r472  
    1212   
    1313  SUBROUTINE xios(set_field_attr)  & 
    14     ( field_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    15     , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    16     , valid_max, valid_min ) 
     14    ( field_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled, field_ref  & 
     15    , freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
     16    , unit, valid_max, valid_min ) 
    1717     
    1818    IMPLICIT NONE 
     
    2222      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    2323      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     24      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value 
     25      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    2426      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    2527      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled 
     
    4244      CALL xios(get_field_handle)(field_id,field_hdl) 
    4345      CALL xios(set_field_attr_hdl_)   & 
    44       ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    45       , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    46       , valid_max, valid_min ) 
     46      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     47      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     48      , standard_name, unit, valid_max, valid_min ) 
    4749     
    4850  END SUBROUTINE xios(set_field_attr) 
    4951   
    5052  SUBROUTINE xios(set_field_attr_hdl)  & 
    51     ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    52     , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    53     , valid_max, valid_min ) 
     53    ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     54    , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     55    , standard_name, unit, valid_max, valid_min ) 
    5456     
    5557    IMPLICIT NONE 
     
    5860      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    5961      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     62      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value 
     63      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    6064      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    6165      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled 
     
    7781       
    7882      CALL xios(set_field_attr_hdl_)  & 
    79       ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    80       , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    81       , valid_max, valid_min ) 
     83      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     84      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     85      , standard_name, unit, valid_max, valid_min ) 
    8286     
    8387  END SUBROUTINE xios(set_field_attr_hdl) 
    8488   
    8589  SUBROUTINE xios(set_field_attr_hdl_)   & 
    86     ( field_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  & 
    87     , freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_, scale_factor_, standard_name_  & 
    88     , unit_, valid_max_, valid_min_ ) 
     90    ( field_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_, enabled_  & 
     91    , field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_  & 
     92    , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
    8993     
    9094    IMPLICIT NONE 
     
    9397      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
    9498      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_ 
     99      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value_ 
     100      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp 
    95101      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    96102      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled_ 
     
    123129      ENDIF 
    124130       
     131      IF (PRESENT(detect_missing_value_)) THEN 
     132        detect_missing_value__tmp=detect_missing_value_ 
     133        CALL cxios_set_field_detect_missing_value(field_hdl%daddr, detect_missing_value__tmp) 
     134      ENDIF 
     135       
    125136      IF (PRESENT(domain_ref_)) THEN 
    126137        CALL cxios_set_field_domain_ref(field_hdl%daddr, domain_ref_, len(domain_ref_)) 
     
    193204   
    194205  SUBROUTINE xios(get_field_attr)  & 
    195     ( field_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    196     , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    197     , valid_max, valid_min ) 
     206    ( field_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled, field_ref  & 
     207    , freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
     208    , unit, valid_max, valid_min ) 
    198209     
    199210    IMPLICIT NONE 
     
    203214      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    204215      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     216      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value 
     217      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    205218      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    206219      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled 
     
    223236      CALL xios(get_field_handle)(field_id,field_hdl) 
    224237      CALL xios(get_field_attr_hdl_)   & 
    225       ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    226       , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    227       , valid_max, valid_min ) 
     238      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     239      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     240      , standard_name, unit, valid_max, valid_min ) 
    228241     
    229242  END SUBROUTINE xios(get_field_attr) 
    230243   
    231244  SUBROUTINE xios(get_field_attr_hdl)  & 
    232     ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    233     , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    234     , valid_max, valid_min ) 
     245    ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     246    , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     247    , standard_name, unit, valid_max, valid_min ) 
    235248     
    236249    IMPLICIT NONE 
     
    239252      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    240253      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     254      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value 
     255      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    241256      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    242257      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled 
     
    258273       
    259274      CALL xios(get_field_attr_hdl_)  & 
    260       ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    261       , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    262       , valid_max, valid_min ) 
     275      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     276      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     277      , standard_name, unit, valid_max, valid_min ) 
    263278     
    264279  END SUBROUTINE xios(get_field_attr_hdl) 
    265280   
    266281  SUBROUTINE xios(get_field_attr_hdl_)   & 
    267     ( field_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  & 
    268     , freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_, scale_factor_, standard_name_  & 
    269     , unit_, valid_max_, valid_min_ ) 
     282    ( field_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_, enabled_  & 
     283    , field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_  & 
     284    , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
    270285     
    271286    IMPLICIT NONE 
     
    274289      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
    275290      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_ 
     291      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value_ 
     292      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp 
    276293      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    277294      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled_ 
     
    304321      ENDIF 
    305322       
     323      IF (PRESENT(detect_missing_value_)) THEN 
     324        CALL cxios_get_field_detect_missing_value(field_hdl%daddr, detect_missing_value__tmp) 
     325        detect_missing_value_=detect_missing_value__tmp 
     326      ENDIF 
     327       
    306328      IF (PRESENT(domain_ref_)) THEN 
    307329        CALL cxios_get_field_domain_ref(field_hdl%daddr, domain_ref_, len(domain_ref_)) 
     
    374396   
    375397  SUBROUTINE xios(is_defined_field_attr)  & 
    376     ( field_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    377     , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    378     , valid_max, valid_min ) 
     398    ( field_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled, field_ref  & 
     399    , freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
     400    , unit, valid_max, valid_min ) 
    379401     
    380402    IMPLICIT NONE 
     
    387409      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value 
    388410      LOGICAL(KIND=C_BOOL) :: default_value_tmp 
     411      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 
     412      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp 
    389413      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    390414      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    422446      CALL xios(get_field_handle)(field_id,field_hdl) 
    423447      CALL xios(is_defined_field_attr_hdl_)   & 
    424       ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    425       , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    426       , valid_max, valid_min ) 
     448      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     449      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     450      , standard_name, unit, valid_max, valid_min ) 
    427451     
    428452  END SUBROUTINE xios(is_defined_field_attr) 
    429453   
    430454  SUBROUTINE xios(is_defined_field_attr_hdl)  & 
    431     ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    432     , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    433     , valid_max, valid_min ) 
     455    ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     456    , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     457    , standard_name, unit, valid_max, valid_min ) 
    434458     
    435459    IMPLICIT NONE 
     
    441465      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value 
    442466      LOGICAL(KIND=C_BOOL) :: default_value_tmp 
     467      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 
     468      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp 
    443469      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    444470      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    475501       
    476502      CALL xios(is_defined_field_attr_hdl_)  & 
    477       ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    478       , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  & 
    479       , valid_max, valid_min ) 
     503      ( field_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     504      , field_ref, freq_offset, freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor  & 
     505      , standard_name, unit, valid_max, valid_min ) 
    480506     
    481507  END SUBROUTINE xios(is_defined_field_attr_hdl) 
    482508   
    483509  SUBROUTINE xios(is_defined_field_attr_hdl_)   & 
    484     ( field_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  & 
    485     , freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_, scale_factor_, standard_name_  & 
    486     , unit_, valid_max_, valid_min_ ) 
     510    ( field_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_, enabled_  & 
     511    , field_ref_, freq_offset_, freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_  & 
     512    , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
    487513     
    488514    IMPLICIT NONE 
     
    494520      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value_ 
    495521      LOGICAL(KIND=C_BOOL) :: default_value__tmp 
     522      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value_ 
     523      LOGICAL(KIND=C_BOOL) :: detect_missing_value__tmp 
    496524      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
    497525      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
     
    542570      ENDIF 
    543571       
     572      IF (PRESENT(detect_missing_value_)) THEN 
     573        detect_missing_value__tmp=cxios_is_defined_field_detect_missing_value(field_hdl%daddr) 
     574        detect_missing_value_=detect_missing_value__tmp 
     575      ENDIF 
     576       
    544577      IF (PRESENT(domain_ref_)) THEN 
    545578        domain_ref__tmp=cxios_is_defined_field_domain_ref(field_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90

    r464 r472  
    1212   
    1313  SUBROUTINE xios(set_fieldgroup_attr)  & 
    14     ( fieldgroup_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    15     , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    16     , unit, valid_max, valid_min ) 
     14    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     15    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     16    , scale_factor, standard_name, unit, valid_max, valid_min ) 
    1717     
    1818    IMPLICIT NONE 
     
    2222      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    2323      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     24      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value 
     25      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    2426      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    2527      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled 
     
    4345      CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl) 
    4446      CALL xios(set_fieldgroup_attr_hdl_)   & 
    45       ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    46       , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    47       , unit, valid_max, valid_min ) 
     47      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     48      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     49      , scale_factor, standard_name, unit, valid_max, valid_min ) 
    4850     
    4951  END SUBROUTINE xios(set_fieldgroup_attr) 
    5052   
    5153  SUBROUTINE xios(set_fieldgroup_attr_hdl)  & 
    52     ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    53     , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    54     , unit, valid_max, valid_min ) 
     54    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     55    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     56    , scale_factor, standard_name, unit, valid_max, valid_min ) 
    5557     
    5658    IMPLICIT NONE 
     
    5961      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    6062      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     63      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value 
     64      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    6165      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    6266      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled 
     
    7983       
    8084      CALL xios(set_fieldgroup_attr_hdl_)  & 
    81       ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    82       , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    83       , unit, valid_max, valid_min ) 
     85      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     86      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     87      , scale_factor, standard_name, unit, valid_max, valid_min ) 
    8488     
    8589  END SUBROUTINE xios(set_fieldgroup_attr_hdl) 
    8690   
    8791  SUBROUTINE xios(set_fieldgroup_attr_hdl_)   & 
    88     ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_  & 
    89     , freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_, operation_, prec_  & 
    90     , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
     92    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  & 
     93    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  & 
     94    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
    9195     
    9296    IMPLICIT NONE 
     
    9599      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
    96100      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_ 
     101      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value_ 
     102      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp 
    97103      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    98104      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled_ 
     
    126132      ENDIF 
    127133       
     134      IF (PRESENT(detect_missing_value_)) THEN 
     135        detect_missing_value__tmp=detect_missing_value_ 
     136        CALL cxios_set_fieldgroup_detect_missing_value(fieldgroup_hdl%daddr, detect_missing_value__tmp) 
     137      ENDIF 
     138       
    128139      IF (PRESENT(domain_ref_)) THEN 
    129140        CALL cxios_set_fieldgroup_domain_ref(fieldgroup_hdl%daddr, domain_ref_, len(domain_ref_)) 
     
    200211   
    201212  SUBROUTINE xios(get_fieldgroup_attr)  & 
    202     ( fieldgroup_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    203     , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    204     , unit, valid_max, valid_min ) 
     213    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     214    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     215    , scale_factor, standard_name, unit, valid_max, valid_min ) 
    205216     
    206217    IMPLICIT NONE 
     
    210221      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    211222      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     223      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value 
     224      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    212225      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    213226      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled 
     
    231244      CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl) 
    232245      CALL xios(get_fieldgroup_attr_hdl_)   & 
    233       ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    234       , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    235       , unit, valid_max, valid_min ) 
     246      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     247      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     248      , scale_factor, standard_name, unit, valid_max, valid_min ) 
    236249     
    237250  END SUBROUTINE xios(get_fieldgroup_attr) 
    238251   
    239252  SUBROUTINE xios(get_fieldgroup_attr_hdl)  & 
    240     ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    241     , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    242     , unit, valid_max, valid_min ) 
     253    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     254    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     255    , scale_factor, standard_name, unit, valid_max, valid_min ) 
    243256     
    244257    IMPLICIT NONE 
     
    247260      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    248261      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     262      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value 
     263      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    249264      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    250265      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled 
     
    267282       
    268283      CALL xios(get_fieldgroup_attr_hdl_)  & 
    269       ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    270       , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    271       , unit, valid_max, valid_min ) 
     284      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     285      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     286      , scale_factor, standard_name, unit, valid_max, valid_min ) 
    272287     
    273288  END SUBROUTINE xios(get_fieldgroup_attr_hdl) 
    274289   
    275290  SUBROUTINE xios(get_fieldgroup_attr_hdl_)   & 
    276     ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_  & 
    277     , freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_, operation_, prec_  & 
    278     , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
     291    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  & 
     292    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  & 
     293    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
    279294     
    280295    IMPLICIT NONE 
     
    283298      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
    284299      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_ 
     300      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value_ 
     301      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp 
    285302      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    286303      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled_ 
     
    314331      ENDIF 
    315332       
     333      IF (PRESENT(detect_missing_value_)) THEN 
     334        CALL cxios_get_fieldgroup_detect_missing_value(fieldgroup_hdl%daddr, detect_missing_value__tmp) 
     335        detect_missing_value_=detect_missing_value__tmp 
     336      ENDIF 
     337       
    316338      IF (PRESENT(domain_ref_)) THEN 
    317339        CALL cxios_get_fieldgroup_domain_ref(fieldgroup_hdl%daddr, domain_ref_, len(domain_ref_)) 
     
    388410   
    389411  SUBROUTINE xios(is_defined_fieldgroup_attr)  & 
    390     ( fieldgroup_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    391     , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    392     , unit, valid_max, valid_min ) 
     412    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     413    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     414    , scale_factor, standard_name, unit, valid_max, valid_min ) 
    393415     
    394416    IMPLICIT NONE 
     
    401423      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value 
    402424      LOGICAL(KIND=C_BOOL) :: default_value_tmp 
     425      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 
     426      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp 
    403427      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    404428      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    438462      CALL xios(get_fieldgroup_handle)(fieldgroup_id,fieldgroup_hdl) 
    439463      CALL xios(is_defined_fieldgroup_attr_hdl_)   & 
    440       ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    441       , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    442       , unit, valid_max, valid_min ) 
     464      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     465      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     466      , scale_factor, standard_name, unit, valid_max, valid_min ) 
    443467     
    444468  END SUBROUTINE xios(is_defined_fieldgroup_attr) 
    445469   
    446470  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)  & 
    447     ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    448     , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    449     , unit, valid_max, valid_min ) 
     471    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     472    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     473    , scale_factor, standard_name, unit, valid_max, valid_min ) 
    450474     
    451475    IMPLICIT NONE 
     
    457481      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value 
    458482      LOGICAL(KIND=C_BOOL) :: default_value_tmp 
     483      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 
     484      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp 
    459485      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    460486      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    493519       
    494520      CALL xios(is_defined_fieldgroup_attr_hdl_)  & 
    495       ( fieldgroup_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  & 
    496       , freq_op, grid_ref, group_ref, level, long_name, name, operation, prec, scale_factor, standard_name  & 
    497       , unit, valid_max, valid_min ) 
     521      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
     522      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
     523      , scale_factor, standard_name, unit, valid_max, valid_min ) 
    498524     
    499525  END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) 
    500526   
    501527  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_)   & 
    502     ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_  & 
    503     , freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_, operation_, prec_  & 
    504     , scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
     528    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  & 
     529    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  & 
     530    , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
    505531     
    506532    IMPLICIT NONE 
     
    512538      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value_ 
    513539      LOGICAL(KIND=C_BOOL) :: default_value__tmp 
     540      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value_ 
     541      LOGICAL(KIND=C_BOOL) :: detect_missing_value__tmp 
    514542      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
    515543      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
     
    562590      ENDIF 
    563591       
     592      IF (PRESENT(detect_missing_value_)) THEN 
     593        detect_missing_value__tmp=cxios_is_defined_fieldgroup_detect_missing_value(fieldgroup_hdl%daddr) 
     594        detect_missing_value_=detect_missing_value__tmp 
     595      ENDIF 
     596       
    564597      IF (PRESENT(domain_ref_)) THEN 
    565598        domain_ref__tmp=cxios_is_defined_fieldgroup_domain_ref(fieldgroup_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.