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/domaingroup_interface_attr.f90

    r326 r432  
    2121    END SUBROUTINE cxios_get_domaingroup_data_dim 
    2222     
     23    FUNCTION cxios_is_defined_domaingroup_data_dim(domaingroup_hdl ) BIND(C) 
     24      USE ISO_C_BINDING 
     25      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_dim 
     26      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     27    END FUNCTION cxios_is_defined_domaingroup_data_dim 
     28     
    2329     
    2430    SUBROUTINE cxios_set_domaingroup_data_i_index(domaingroup_hdl, data_i_index, extent1) BIND(C) 
     
    3541      INTEGER (kind = C_INT), VALUE  :: extent1 
    3642    END SUBROUTINE cxios_get_domaingroup_data_i_index 
     43     
     44    FUNCTION cxios_is_defined_domaingroup_data_i_index(domaingroup_hdl ) BIND(C) 
     45      USE ISO_C_BINDING 
     46      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_i_index 
     47      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     48    END FUNCTION cxios_is_defined_domaingroup_data_i_index 
    3749     
    3850     
     
    4961    END SUBROUTINE cxios_get_domaingroup_data_ibegin 
    5062     
     63    FUNCTION cxios_is_defined_domaingroup_data_ibegin(domaingroup_hdl ) BIND(C) 
     64      USE ISO_C_BINDING 
     65      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_ibegin 
     66      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     67    END FUNCTION cxios_is_defined_domaingroup_data_ibegin 
     68     
    5169     
    5270    SUBROUTINE cxios_set_domaingroup_data_j_index(domaingroup_hdl, data_j_index, extent1) BIND(C) 
     
    6381      INTEGER (kind = C_INT), VALUE  :: extent1 
    6482    END SUBROUTINE cxios_get_domaingroup_data_j_index 
     83     
     84    FUNCTION cxios_is_defined_domaingroup_data_j_index(domaingroup_hdl ) BIND(C) 
     85      USE ISO_C_BINDING 
     86      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_j_index 
     87      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     88    END FUNCTION cxios_is_defined_domaingroup_data_j_index 
    6589     
    6690     
     
    77101    END SUBROUTINE cxios_get_domaingroup_data_jbegin 
    78102     
     103    FUNCTION cxios_is_defined_domaingroup_data_jbegin(domaingroup_hdl ) BIND(C) 
     104      USE ISO_C_BINDING 
     105      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_jbegin 
     106      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     107    END FUNCTION cxios_is_defined_domaingroup_data_jbegin 
     108     
    79109     
    80110    SUBROUTINE cxios_set_domaingroup_data_n_index(domaingroup_hdl, data_n_index) BIND(C) 
     
    90120    END SUBROUTINE cxios_get_domaingroup_data_n_index 
    91121     
     122    FUNCTION cxios_is_defined_domaingroup_data_n_index(domaingroup_hdl ) BIND(C) 
     123      USE ISO_C_BINDING 
     124      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_n_index 
     125      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     126    END FUNCTION cxios_is_defined_domaingroup_data_n_index 
     127     
    92128     
    93129    SUBROUTINE cxios_set_domaingroup_data_ni(domaingroup_hdl, data_ni) BIND(C) 
     
    103139    END SUBROUTINE cxios_get_domaingroup_data_ni 
    104140     
     141    FUNCTION cxios_is_defined_domaingroup_data_ni(domaingroup_hdl ) BIND(C) 
     142      USE ISO_C_BINDING 
     143      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_ni 
     144      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     145    END FUNCTION cxios_is_defined_domaingroup_data_ni 
     146     
    105147     
    106148    SUBROUTINE cxios_set_domaingroup_data_nj(domaingroup_hdl, data_nj) BIND(C) 
     
    115157      INTEGER (KIND=C_INT)             :: data_nj 
    116158    END SUBROUTINE cxios_get_domaingroup_data_nj 
     159     
     160    FUNCTION cxios_is_defined_domaingroup_data_nj(domaingroup_hdl ) BIND(C) 
     161      USE ISO_C_BINDING 
     162      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_data_nj 
     163      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     164    END FUNCTION cxios_is_defined_domaingroup_data_nj 
    117165     
    118166     
     
    131179    END SUBROUTINE cxios_get_domaingroup_domain_group_ref 
    132180     
     181    FUNCTION cxios_is_defined_domaingroup_domain_group_ref(domaingroup_hdl ) BIND(C) 
     182      USE ISO_C_BINDING 
     183      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_domain_group_ref 
     184      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     185    END FUNCTION cxios_is_defined_domaingroup_domain_group_ref 
     186     
    133187     
    134188    SUBROUTINE cxios_set_domaingroup_group_ref(domaingroup_hdl, group_ref, group_ref_size) BIND(C) 
     
    146200    END SUBROUTINE cxios_get_domaingroup_group_ref 
    147201     
     202    FUNCTION cxios_is_defined_domaingroup_group_ref(domaingroup_hdl ) BIND(C) 
     203      USE ISO_C_BINDING 
     204      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_group_ref 
     205      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     206    END FUNCTION cxios_is_defined_domaingroup_group_ref 
     207     
    148208     
    149209    SUBROUTINE cxios_set_domaingroup_ibegin(domaingroup_hdl, ibegin) BIND(C) 
     
    159219    END SUBROUTINE cxios_get_domaingroup_ibegin 
    160220     
     221    FUNCTION cxios_is_defined_domaingroup_ibegin(domaingroup_hdl ) BIND(C) 
     222      USE ISO_C_BINDING 
     223      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_ibegin 
     224      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     225    END FUNCTION cxios_is_defined_domaingroup_ibegin 
     226     
    161227     
    162228    SUBROUTINE cxios_set_domaingroup_iend(domaingroup_hdl, iend) BIND(C) 
     
    172238    END SUBROUTINE cxios_get_domaingroup_iend 
    173239     
     240    FUNCTION cxios_is_defined_domaingroup_iend(domaingroup_hdl ) BIND(C) 
     241      USE ISO_C_BINDING 
     242      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_iend 
     243      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     244    END FUNCTION cxios_is_defined_domaingroup_iend 
     245     
    174246     
    175247    SUBROUTINE cxios_set_domaingroup_jbegin(domaingroup_hdl, jbegin) BIND(C) 
     
    185257    END SUBROUTINE cxios_get_domaingroup_jbegin 
    186258     
     259    FUNCTION cxios_is_defined_domaingroup_jbegin(domaingroup_hdl ) BIND(C) 
     260      USE ISO_C_BINDING 
     261      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_jbegin 
     262      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     263    END FUNCTION cxios_is_defined_domaingroup_jbegin 
     264     
    187265     
    188266    SUBROUTINE cxios_set_domaingroup_jend(domaingroup_hdl, jend) BIND(C) 
     
    198276    END SUBROUTINE cxios_get_domaingroup_jend 
    199277     
     278    FUNCTION cxios_is_defined_domaingroup_jend(domaingroup_hdl ) BIND(C) 
     279      USE ISO_C_BINDING 
     280      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_jend 
     281      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     282    END FUNCTION cxios_is_defined_domaingroup_jend 
     283     
    200284     
    201285    SUBROUTINE cxios_set_domaingroup_latvalue(domaingroup_hdl, latvalue, extent1) BIND(C) 
     
    212296      INTEGER (kind = C_INT), VALUE  :: extent1 
    213297    END SUBROUTINE cxios_get_domaingroup_latvalue 
     298     
     299    FUNCTION cxios_is_defined_domaingroup_latvalue(domaingroup_hdl ) BIND(C) 
     300      USE ISO_C_BINDING 
     301      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_latvalue 
     302      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     303    END FUNCTION cxios_is_defined_domaingroup_latvalue 
    214304     
    215305     
     
    228318    END SUBROUTINE cxios_get_domaingroup_long_name 
    229319     
     320    FUNCTION cxios_is_defined_domaingroup_long_name(domaingroup_hdl ) BIND(C) 
     321      USE ISO_C_BINDING 
     322      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_long_name 
     323      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     324    END FUNCTION cxios_is_defined_domaingroup_long_name 
     325     
    230326     
    231327    SUBROUTINE cxios_set_domaingroup_lonvalue(domaingroup_hdl, lonvalue, extent1) BIND(C) 
     
    242338      INTEGER (kind = C_INT), VALUE  :: extent1 
    243339    END SUBROUTINE cxios_get_domaingroup_lonvalue 
     340     
     341    FUNCTION cxios_is_defined_domaingroup_lonvalue(domaingroup_hdl ) BIND(C) 
     342      USE ISO_C_BINDING 
     343      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_lonvalue 
     344      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     345    END FUNCTION cxios_is_defined_domaingroup_lonvalue 
    244346     
    245347     
     
    259361      INTEGER (kind = C_INT), VALUE  :: extent2 
    260362    END SUBROUTINE cxios_get_domaingroup_mask 
     363     
     364    FUNCTION cxios_is_defined_domaingroup_mask(domaingroup_hdl ) BIND(C) 
     365      USE ISO_C_BINDING 
     366      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_mask 
     367      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     368    END FUNCTION cxios_is_defined_domaingroup_mask 
    261369     
    262370     
     
    275383    END SUBROUTINE cxios_get_domaingroup_name 
    276384     
     385    FUNCTION cxios_is_defined_domaingroup_name(domaingroup_hdl ) BIND(C) 
     386      USE ISO_C_BINDING 
     387      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_name 
     388      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     389    END FUNCTION cxios_is_defined_domaingroup_name 
     390     
    277391     
    278392    SUBROUTINE cxios_set_domaingroup_ni(domaingroup_hdl, ni) BIND(C) 
     
    288402    END SUBROUTINE cxios_get_domaingroup_ni 
    289403     
     404    FUNCTION cxios_is_defined_domaingroup_ni(domaingroup_hdl ) BIND(C) 
     405      USE ISO_C_BINDING 
     406      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_ni 
     407      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     408    END FUNCTION cxios_is_defined_domaingroup_ni 
     409     
    290410     
    291411    SUBROUTINE cxios_set_domaingroup_ni_glo(domaingroup_hdl, ni_glo) BIND(C) 
     
    301421    END SUBROUTINE cxios_get_domaingroup_ni_glo 
    302422     
     423    FUNCTION cxios_is_defined_domaingroup_ni_glo(domaingroup_hdl ) BIND(C) 
     424      USE ISO_C_BINDING 
     425      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_ni_glo 
     426      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     427    END FUNCTION cxios_is_defined_domaingroup_ni_glo 
     428     
    303429     
    304430    SUBROUTINE cxios_set_domaingroup_nj(domaingroup_hdl, nj) BIND(C) 
     
    314440    END SUBROUTINE cxios_get_domaingroup_nj 
    315441     
     442    FUNCTION cxios_is_defined_domaingroup_nj(domaingroup_hdl ) BIND(C) 
     443      USE ISO_C_BINDING 
     444      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_nj 
     445      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     446    END FUNCTION cxios_is_defined_domaingroup_nj 
     447     
    316448     
    317449    SUBROUTINE cxios_set_domaingroup_nj_glo(domaingroup_hdl, nj_glo) BIND(C) 
     
    326458      INTEGER (KIND=C_INT)             :: nj_glo 
    327459    END SUBROUTINE cxios_get_domaingroup_nj_glo 
     460     
     461    FUNCTION cxios_is_defined_domaingroup_nj_glo(domaingroup_hdl ) BIND(C) 
     462      USE ISO_C_BINDING 
     463      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_nj_glo 
     464      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     465    END FUNCTION cxios_is_defined_domaingroup_nj_glo 
    328466     
    329467     
     
    342480    END SUBROUTINE cxios_get_domaingroup_standard_name 
    343481     
     482    FUNCTION cxios_is_defined_domaingroup_standard_name(domaingroup_hdl ) BIND(C) 
     483      USE ISO_C_BINDING 
     484      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_standard_name 
     485      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     486    END FUNCTION cxios_is_defined_domaingroup_standard_name 
     487     
    344488     
    345489    SUBROUTINE cxios_set_domaingroup_zoom_ibegin(domaingroup_hdl, zoom_ibegin) BIND(C) 
     
    355499    END SUBROUTINE cxios_get_domaingroup_zoom_ibegin 
    356500     
     501    FUNCTION cxios_is_defined_domaingroup_zoom_ibegin(domaingroup_hdl ) BIND(C) 
     502      USE ISO_C_BINDING 
     503      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ibegin 
     504      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     505    END FUNCTION cxios_is_defined_domaingroup_zoom_ibegin 
     506     
    357507     
    358508    SUBROUTINE cxios_set_domaingroup_zoom_ibegin_loc(domaingroup_hdl, zoom_ibegin_loc) BIND(C) 
     
    368518    END SUBROUTINE cxios_get_domaingroup_zoom_ibegin_loc 
    369519     
     520    FUNCTION cxios_is_defined_domaingroup_zoom_ibegin_loc(domaingroup_hdl ) BIND(C) 
     521      USE ISO_C_BINDING 
     522      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ibegin_loc 
     523      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     524    END FUNCTION cxios_is_defined_domaingroup_zoom_ibegin_loc 
     525     
    370526     
    371527    SUBROUTINE cxios_set_domaingroup_zoom_jbegin(domaingroup_hdl, zoom_jbegin) BIND(C) 
     
    381537    END SUBROUTINE cxios_get_domaingroup_zoom_jbegin 
    382538     
     539    FUNCTION cxios_is_defined_domaingroup_zoom_jbegin(domaingroup_hdl ) BIND(C) 
     540      USE ISO_C_BINDING 
     541      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_jbegin 
     542      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     543    END FUNCTION cxios_is_defined_domaingroup_zoom_jbegin 
     544     
    383545     
    384546    SUBROUTINE cxios_set_domaingroup_zoom_jbegin_loc(domaingroup_hdl, zoom_jbegin_loc) BIND(C) 
     
    394556    END SUBROUTINE cxios_get_domaingroup_zoom_jbegin_loc 
    395557     
     558    FUNCTION cxios_is_defined_domaingroup_zoom_jbegin_loc(domaingroup_hdl ) BIND(C) 
     559      USE ISO_C_BINDING 
     560      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_jbegin_loc 
     561      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     562    END FUNCTION cxios_is_defined_domaingroup_zoom_jbegin_loc 
     563     
    396564     
    397565    SUBROUTINE cxios_set_domaingroup_zoom_ni(domaingroup_hdl, zoom_ni) BIND(C) 
     
    407575    END SUBROUTINE cxios_get_domaingroup_zoom_ni 
    408576     
     577    FUNCTION cxios_is_defined_domaingroup_zoom_ni(domaingroup_hdl ) BIND(C) 
     578      USE ISO_C_BINDING 
     579      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ni 
     580      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     581    END FUNCTION cxios_is_defined_domaingroup_zoom_ni 
     582     
    409583     
    410584    SUBROUTINE cxios_set_domaingroup_zoom_ni_loc(domaingroup_hdl, zoom_ni_loc) BIND(C) 
     
    420594    END SUBROUTINE cxios_get_domaingroup_zoom_ni_loc 
    421595     
     596    FUNCTION cxios_is_defined_domaingroup_zoom_ni_loc(domaingroup_hdl ) BIND(C) 
     597      USE ISO_C_BINDING 
     598      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ni_loc 
     599      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     600    END FUNCTION cxios_is_defined_domaingroup_zoom_ni_loc 
     601     
    422602     
    423603    SUBROUTINE cxios_set_domaingroup_zoom_nj(domaingroup_hdl, zoom_nj) BIND(C) 
     
    433613    END SUBROUTINE cxios_get_domaingroup_zoom_nj 
    434614     
     615    FUNCTION cxios_is_defined_domaingroup_zoom_nj(domaingroup_hdl ) BIND(C) 
     616      USE ISO_C_BINDING 
     617      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_nj 
     618      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     619    END FUNCTION cxios_is_defined_domaingroup_zoom_nj 
     620     
    435621     
    436622    SUBROUTINE cxios_set_domaingroup_zoom_nj_loc(domaingroup_hdl, zoom_nj_loc) BIND(C) 
     
    445631      INTEGER (KIND=C_INT)             :: zoom_nj_loc 
    446632    END SUBROUTINE cxios_get_domaingroup_zoom_nj_loc 
     633     
     634    FUNCTION cxios_is_defined_domaingroup_zoom_nj_loc(domaingroup_hdl ) BIND(C) 
     635      USE ISO_C_BINDING 
     636      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_nj_loc 
     637      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     638    END FUNCTION cxios_is_defined_domaingroup_zoom_nj_loc 
    447639     
    448640     
Note: See TracChangeset for help on using the changeset viewer.