Ignore:
Timestamp:
06/03/13 11:21:19 (11 years ago)
Author:
ymipsl
Message:

Enhancement : Add fortran interface to know if an attribute is set or not
ex : CALL xios_is_defined_field_attr("field_A",enabled=ok)

YM

File:
1 edited

Legend:

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

    r326 r432  
    2323    END SUBROUTINE cxios_get_field_axis_ref 
    2424     
     25    FUNCTION cxios_is_defined_field_axis_ref(field_hdl ) BIND(C) 
     26      USE ISO_C_BINDING 
     27      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_axis_ref 
     28      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     29    END FUNCTION cxios_is_defined_field_axis_ref 
     30     
    2531     
    2632    SUBROUTINE cxios_set_field_default_value(field_hdl, default_value) BIND(C) 
     
    3541      REAL (KIND=C_DOUBLE)             :: default_value 
    3642    END SUBROUTINE cxios_get_field_default_value 
     43     
     44    FUNCTION cxios_is_defined_field_default_value(field_hdl ) BIND(C) 
     45      USE ISO_C_BINDING 
     46      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_default_value 
     47      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     48    END FUNCTION cxios_is_defined_field_default_value 
    3749     
    3850     
     
    5163    END SUBROUTINE cxios_get_field_domain_ref 
    5264     
     65    FUNCTION cxios_is_defined_field_domain_ref(field_hdl ) BIND(C) 
     66      USE ISO_C_BINDING 
     67      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_domain_ref 
     68      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     69    END FUNCTION cxios_is_defined_field_domain_ref 
     70     
    5371     
    5472    SUBROUTINE cxios_set_field_enabled(field_hdl, enabled) BIND(C) 
     
    6381      LOGICAL (KIND=C_BOOL)             :: enabled 
    6482    END SUBROUTINE cxios_get_field_enabled 
     83     
     84    FUNCTION cxios_is_defined_field_enabled(field_hdl ) BIND(C) 
     85      USE ISO_C_BINDING 
     86      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_enabled 
     87      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     88    END FUNCTION cxios_is_defined_field_enabled 
    6589     
    6690     
     
    79103    END SUBROUTINE cxios_get_field_field_ref 
    80104     
     105    FUNCTION cxios_is_defined_field_field_ref(field_hdl ) BIND(C) 
     106      USE ISO_C_BINDING 
     107      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_field_ref 
     108      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     109    END FUNCTION cxios_is_defined_field_field_ref 
     110     
    81111     
    82112    SUBROUTINE cxios_set_field_freq_offset(field_hdl, freq_offset, freq_offset_size) BIND(C) 
     
    94124    END SUBROUTINE cxios_get_field_freq_offset 
    95125     
     126    FUNCTION cxios_is_defined_field_freq_offset(field_hdl ) BIND(C) 
     127      USE ISO_C_BINDING 
     128      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_freq_offset 
     129      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     130    END FUNCTION cxios_is_defined_field_freq_offset 
     131     
    96132     
    97133    SUBROUTINE cxios_set_field_freq_op(field_hdl, freq_op, freq_op_size) BIND(C) 
     
    109145    END SUBROUTINE cxios_get_field_freq_op 
    110146     
     147    FUNCTION cxios_is_defined_field_freq_op(field_hdl ) BIND(C) 
     148      USE ISO_C_BINDING 
     149      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_freq_op 
     150      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     151    END FUNCTION cxios_is_defined_field_freq_op 
     152     
    111153     
    112154    SUBROUTINE cxios_set_field_grid_ref(field_hdl, grid_ref, grid_ref_size) BIND(C) 
     
    124166    END SUBROUTINE cxios_get_field_grid_ref 
    125167     
     168    FUNCTION cxios_is_defined_field_grid_ref(field_hdl ) BIND(C) 
     169      USE ISO_C_BINDING 
     170      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_grid_ref 
     171      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     172    END FUNCTION cxios_is_defined_field_grid_ref 
     173     
    126174     
    127175    SUBROUTINE cxios_set_field_level(field_hdl, level) BIND(C) 
     
    136184      INTEGER (KIND=C_INT)             :: level 
    137185    END SUBROUTINE cxios_get_field_level 
     186     
     187    FUNCTION cxios_is_defined_field_level(field_hdl ) BIND(C) 
     188      USE ISO_C_BINDING 
     189      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_level 
     190      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     191    END FUNCTION cxios_is_defined_field_level 
    138192     
    139193     
     
    152206    END SUBROUTINE cxios_get_field_long_name 
    153207     
     208    FUNCTION cxios_is_defined_field_long_name(field_hdl ) BIND(C) 
     209      USE ISO_C_BINDING 
     210      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_long_name 
     211      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     212    END FUNCTION cxios_is_defined_field_long_name 
     213     
    154214     
    155215    SUBROUTINE cxios_set_field_name(field_hdl, name, name_size) BIND(C) 
     
    167227    END SUBROUTINE cxios_get_field_name 
    168228     
     229    FUNCTION cxios_is_defined_field_name(field_hdl ) BIND(C) 
     230      USE ISO_C_BINDING 
     231      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_name 
     232      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     233    END FUNCTION cxios_is_defined_field_name 
     234     
    169235     
    170236    SUBROUTINE cxios_set_field_operation(field_hdl, operation, operation_size) BIND(C) 
     
    182248    END SUBROUTINE cxios_get_field_operation 
    183249     
     250    FUNCTION cxios_is_defined_field_operation(field_hdl ) BIND(C) 
     251      USE ISO_C_BINDING 
     252      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_operation 
     253      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     254    END FUNCTION cxios_is_defined_field_operation 
     255     
    184256     
    185257    SUBROUTINE cxios_set_field_prec(field_hdl, prec) BIND(C) 
     
    194266      INTEGER (KIND=C_INT)             :: prec 
    195267    END SUBROUTINE cxios_get_field_prec 
     268     
     269    FUNCTION cxios_is_defined_field_prec(field_hdl ) BIND(C) 
     270      USE ISO_C_BINDING 
     271      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_prec 
     272      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     273    END FUNCTION cxios_is_defined_field_prec 
    196274     
    197275     
     
    210288    END SUBROUTINE cxios_get_field_standard_name 
    211289     
     290    FUNCTION cxios_is_defined_field_standard_name(field_hdl ) BIND(C) 
     291      USE ISO_C_BINDING 
     292      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_standard_name 
     293      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     294    END FUNCTION cxios_is_defined_field_standard_name 
     295     
    212296     
    213297    SUBROUTINE cxios_set_field_unit(field_hdl, unit, unit_size) BIND(C) 
     
    225309    END SUBROUTINE cxios_get_field_unit 
    226310     
     311    FUNCTION cxios_is_defined_field_unit(field_hdl ) BIND(C) 
     312      USE ISO_C_BINDING 
     313      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_unit 
     314      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     315    END FUNCTION cxios_is_defined_field_unit 
     316     
    227317     
    228318    END INTERFACE 
Note: See TracChangeset for help on using the changeset viewer.