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

    r326 r432  
    2121    END SUBROUTINE cxios_get_domain_data_dim 
    2222     
     23    FUNCTION cxios_is_defined_domain_data_dim(domain_hdl ) BIND(C) 
     24      USE ISO_C_BINDING 
     25      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_dim 
     26      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     27    END FUNCTION cxios_is_defined_domain_data_dim 
     28     
    2329     
    2430    SUBROUTINE cxios_set_domain_data_i_index(domain_hdl, data_i_index, extent1) BIND(C) 
     
    3541      INTEGER (kind = C_INT), VALUE  :: extent1 
    3642    END SUBROUTINE cxios_get_domain_data_i_index 
     43     
     44    FUNCTION cxios_is_defined_domain_data_i_index(domain_hdl ) BIND(C) 
     45      USE ISO_C_BINDING 
     46      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_i_index 
     47      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     48    END FUNCTION cxios_is_defined_domain_data_i_index 
    3749     
    3850     
     
    4961    END SUBROUTINE cxios_get_domain_data_ibegin 
    5062     
     63    FUNCTION cxios_is_defined_domain_data_ibegin(domain_hdl ) BIND(C) 
     64      USE ISO_C_BINDING 
     65      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_ibegin 
     66      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     67    END FUNCTION cxios_is_defined_domain_data_ibegin 
     68     
    5169     
    5270    SUBROUTINE cxios_set_domain_data_j_index(domain_hdl, data_j_index, extent1) BIND(C) 
     
    6381      INTEGER (kind = C_INT), VALUE  :: extent1 
    6482    END SUBROUTINE cxios_get_domain_data_j_index 
     83     
     84    FUNCTION cxios_is_defined_domain_data_j_index(domain_hdl ) BIND(C) 
     85      USE ISO_C_BINDING 
     86      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_j_index 
     87      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     88    END FUNCTION cxios_is_defined_domain_data_j_index 
    6589     
    6690     
     
    77101    END SUBROUTINE cxios_get_domain_data_jbegin 
    78102     
     103    FUNCTION cxios_is_defined_domain_data_jbegin(domain_hdl ) BIND(C) 
     104      USE ISO_C_BINDING 
     105      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_jbegin 
     106      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     107    END FUNCTION cxios_is_defined_domain_data_jbegin 
     108     
    79109     
    80110    SUBROUTINE cxios_set_domain_data_n_index(domain_hdl, data_n_index) BIND(C) 
     
    90120    END SUBROUTINE cxios_get_domain_data_n_index 
    91121     
     122    FUNCTION cxios_is_defined_domain_data_n_index(domain_hdl ) BIND(C) 
     123      USE ISO_C_BINDING 
     124      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_n_index 
     125      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     126    END FUNCTION cxios_is_defined_domain_data_n_index 
     127     
    92128     
    93129    SUBROUTINE cxios_set_domain_data_ni(domain_hdl, data_ni) BIND(C) 
     
    103139    END SUBROUTINE cxios_get_domain_data_ni 
    104140     
     141    FUNCTION cxios_is_defined_domain_data_ni(domain_hdl ) BIND(C) 
     142      USE ISO_C_BINDING 
     143      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_ni 
     144      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     145    END FUNCTION cxios_is_defined_domain_data_ni 
     146     
    105147     
    106148    SUBROUTINE cxios_set_domain_data_nj(domain_hdl, data_nj) BIND(C) 
     
    115157      INTEGER (KIND=C_INT)             :: data_nj 
    116158    END SUBROUTINE cxios_get_domain_data_nj 
     159     
     160    FUNCTION cxios_is_defined_domain_data_nj(domain_hdl ) BIND(C) 
     161      USE ISO_C_BINDING 
     162      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_data_nj 
     163      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     164    END FUNCTION cxios_is_defined_domain_data_nj 
    117165     
    118166     
     
    131179    END SUBROUTINE cxios_get_domain_domain_group_ref 
    132180     
     181    FUNCTION cxios_is_defined_domain_domain_group_ref(domain_hdl ) BIND(C) 
     182      USE ISO_C_BINDING 
     183      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_domain_group_ref 
     184      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     185    END FUNCTION cxios_is_defined_domain_domain_group_ref 
     186     
    133187     
    134188    SUBROUTINE cxios_set_domain_ibegin(domain_hdl, ibegin) BIND(C) 
     
    144198    END SUBROUTINE cxios_get_domain_ibegin 
    145199     
     200    FUNCTION cxios_is_defined_domain_ibegin(domain_hdl ) BIND(C) 
     201      USE ISO_C_BINDING 
     202      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_ibegin 
     203      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     204    END FUNCTION cxios_is_defined_domain_ibegin 
     205     
    146206     
    147207    SUBROUTINE cxios_set_domain_iend(domain_hdl, iend) BIND(C) 
     
    157217    END SUBROUTINE cxios_get_domain_iend 
    158218     
     219    FUNCTION cxios_is_defined_domain_iend(domain_hdl ) BIND(C) 
     220      USE ISO_C_BINDING 
     221      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_iend 
     222      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     223    END FUNCTION cxios_is_defined_domain_iend 
     224     
    159225     
    160226    SUBROUTINE cxios_set_domain_jbegin(domain_hdl, jbegin) BIND(C) 
     
    170236    END SUBROUTINE cxios_get_domain_jbegin 
    171237     
     238    FUNCTION cxios_is_defined_domain_jbegin(domain_hdl ) BIND(C) 
     239      USE ISO_C_BINDING 
     240      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_jbegin 
     241      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     242    END FUNCTION cxios_is_defined_domain_jbegin 
     243     
    172244     
    173245    SUBROUTINE cxios_set_domain_jend(domain_hdl, jend) BIND(C) 
     
    183255    END SUBROUTINE cxios_get_domain_jend 
    184256     
     257    FUNCTION cxios_is_defined_domain_jend(domain_hdl ) BIND(C) 
     258      USE ISO_C_BINDING 
     259      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_jend 
     260      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     261    END FUNCTION cxios_is_defined_domain_jend 
     262     
    185263     
    186264    SUBROUTINE cxios_set_domain_latvalue(domain_hdl, latvalue, extent1) BIND(C) 
     
    197275      INTEGER (kind = C_INT), VALUE  :: extent1 
    198276    END SUBROUTINE cxios_get_domain_latvalue 
     277     
     278    FUNCTION cxios_is_defined_domain_latvalue(domain_hdl ) BIND(C) 
     279      USE ISO_C_BINDING 
     280      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_latvalue 
     281      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     282    END FUNCTION cxios_is_defined_domain_latvalue 
    199283     
    200284     
     
    213297    END SUBROUTINE cxios_get_domain_long_name 
    214298     
     299    FUNCTION cxios_is_defined_domain_long_name(domain_hdl ) BIND(C) 
     300      USE ISO_C_BINDING 
     301      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_long_name 
     302      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     303    END FUNCTION cxios_is_defined_domain_long_name 
     304     
    215305     
    216306    SUBROUTINE cxios_set_domain_lonvalue(domain_hdl, lonvalue, extent1) BIND(C) 
     
    227317      INTEGER (kind = C_INT), VALUE  :: extent1 
    228318    END SUBROUTINE cxios_get_domain_lonvalue 
     319     
     320    FUNCTION cxios_is_defined_domain_lonvalue(domain_hdl ) BIND(C) 
     321      USE ISO_C_BINDING 
     322      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_lonvalue 
     323      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     324    END FUNCTION cxios_is_defined_domain_lonvalue 
    229325     
    230326     
     
    244340      INTEGER (kind = C_INT), VALUE  :: extent2 
    245341    END SUBROUTINE cxios_get_domain_mask 
     342     
     343    FUNCTION cxios_is_defined_domain_mask(domain_hdl ) BIND(C) 
     344      USE ISO_C_BINDING 
     345      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_mask 
     346      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     347    END FUNCTION cxios_is_defined_domain_mask 
    246348     
    247349     
     
    260362    END SUBROUTINE cxios_get_domain_name 
    261363     
     364    FUNCTION cxios_is_defined_domain_name(domain_hdl ) BIND(C) 
     365      USE ISO_C_BINDING 
     366      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_name 
     367      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     368    END FUNCTION cxios_is_defined_domain_name 
     369     
    262370     
    263371    SUBROUTINE cxios_set_domain_ni(domain_hdl, ni) BIND(C) 
     
    273381    END SUBROUTINE cxios_get_domain_ni 
    274382     
     383    FUNCTION cxios_is_defined_domain_ni(domain_hdl ) BIND(C) 
     384      USE ISO_C_BINDING 
     385      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_ni 
     386      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     387    END FUNCTION cxios_is_defined_domain_ni 
     388     
    275389     
    276390    SUBROUTINE cxios_set_domain_ni_glo(domain_hdl, ni_glo) BIND(C) 
     
    286400    END SUBROUTINE cxios_get_domain_ni_glo 
    287401     
     402    FUNCTION cxios_is_defined_domain_ni_glo(domain_hdl ) BIND(C) 
     403      USE ISO_C_BINDING 
     404      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_ni_glo 
     405      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     406    END FUNCTION cxios_is_defined_domain_ni_glo 
     407     
    288408     
    289409    SUBROUTINE cxios_set_domain_nj(domain_hdl, nj) BIND(C) 
     
    299419    END SUBROUTINE cxios_get_domain_nj 
    300420     
     421    FUNCTION cxios_is_defined_domain_nj(domain_hdl ) BIND(C) 
     422      USE ISO_C_BINDING 
     423      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_nj 
     424      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     425    END FUNCTION cxios_is_defined_domain_nj 
     426     
    301427     
    302428    SUBROUTINE cxios_set_domain_nj_glo(domain_hdl, nj_glo) BIND(C) 
     
    311437      INTEGER (KIND=C_INT)             :: nj_glo 
    312438    END SUBROUTINE cxios_get_domain_nj_glo 
     439     
     440    FUNCTION cxios_is_defined_domain_nj_glo(domain_hdl ) BIND(C) 
     441      USE ISO_C_BINDING 
     442      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_nj_glo 
     443      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     444    END FUNCTION cxios_is_defined_domain_nj_glo 
    313445     
    314446     
     
    327459    END SUBROUTINE cxios_get_domain_standard_name 
    328460     
     461    FUNCTION cxios_is_defined_domain_standard_name(domain_hdl ) BIND(C) 
     462      USE ISO_C_BINDING 
     463      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_standard_name 
     464      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     465    END FUNCTION cxios_is_defined_domain_standard_name 
     466     
    329467     
    330468    SUBROUTINE cxios_set_domain_zoom_ibegin(domain_hdl, zoom_ibegin) BIND(C) 
     
    340478    END SUBROUTINE cxios_get_domain_zoom_ibegin 
    341479     
     480    FUNCTION cxios_is_defined_domain_zoom_ibegin(domain_hdl ) BIND(C) 
     481      USE ISO_C_BINDING 
     482      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ibegin 
     483      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     484    END FUNCTION cxios_is_defined_domain_zoom_ibegin 
     485     
    342486     
    343487    SUBROUTINE cxios_set_domain_zoom_ibegin_loc(domain_hdl, zoom_ibegin_loc) BIND(C) 
     
    353497    END SUBROUTINE cxios_get_domain_zoom_ibegin_loc 
    354498     
     499    FUNCTION cxios_is_defined_domain_zoom_ibegin_loc(domain_hdl ) BIND(C) 
     500      USE ISO_C_BINDING 
     501      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ibegin_loc 
     502      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     503    END FUNCTION cxios_is_defined_domain_zoom_ibegin_loc 
     504     
    355505     
    356506    SUBROUTINE cxios_set_domain_zoom_jbegin(domain_hdl, zoom_jbegin) BIND(C) 
     
    366516    END SUBROUTINE cxios_get_domain_zoom_jbegin 
    367517     
     518    FUNCTION cxios_is_defined_domain_zoom_jbegin(domain_hdl ) BIND(C) 
     519      USE ISO_C_BINDING 
     520      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_jbegin 
     521      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     522    END FUNCTION cxios_is_defined_domain_zoom_jbegin 
     523     
    368524     
    369525    SUBROUTINE cxios_set_domain_zoom_jbegin_loc(domain_hdl, zoom_jbegin_loc) BIND(C) 
     
    379535    END SUBROUTINE cxios_get_domain_zoom_jbegin_loc 
    380536     
     537    FUNCTION cxios_is_defined_domain_zoom_jbegin_loc(domain_hdl ) BIND(C) 
     538      USE ISO_C_BINDING 
     539      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_jbegin_loc 
     540      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     541    END FUNCTION cxios_is_defined_domain_zoom_jbegin_loc 
     542     
    381543     
    382544    SUBROUTINE cxios_set_domain_zoom_ni(domain_hdl, zoom_ni) BIND(C) 
     
    392554    END SUBROUTINE cxios_get_domain_zoom_ni 
    393555     
     556    FUNCTION cxios_is_defined_domain_zoom_ni(domain_hdl ) BIND(C) 
     557      USE ISO_C_BINDING 
     558      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ni 
     559      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     560    END FUNCTION cxios_is_defined_domain_zoom_ni 
     561     
    394562     
    395563    SUBROUTINE cxios_set_domain_zoom_ni_loc(domain_hdl, zoom_ni_loc) BIND(C) 
     
    405573    END SUBROUTINE cxios_get_domain_zoom_ni_loc 
    406574     
     575    FUNCTION cxios_is_defined_domain_zoom_ni_loc(domain_hdl ) BIND(C) 
     576      USE ISO_C_BINDING 
     577      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ni_loc 
     578      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     579    END FUNCTION cxios_is_defined_domain_zoom_ni_loc 
     580     
    407581     
    408582    SUBROUTINE cxios_set_domain_zoom_nj(domain_hdl, zoom_nj) BIND(C) 
     
    418592    END SUBROUTINE cxios_get_domain_zoom_nj 
    419593     
     594    FUNCTION cxios_is_defined_domain_zoom_nj(domain_hdl ) BIND(C) 
     595      USE ISO_C_BINDING 
     596      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_nj 
     597      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     598    END FUNCTION cxios_is_defined_domain_zoom_nj 
     599     
    420600     
    421601    SUBROUTINE cxios_set_domain_zoom_nj_loc(domain_hdl, zoom_nj_loc) BIND(C) 
     
    430610      INTEGER (KIND=C_INT)             :: zoom_nj_loc 
    431611    END SUBROUTINE cxios_get_domain_zoom_nj_loc 
     612     
     613    FUNCTION cxios_is_defined_domain_zoom_nj_loc(domain_hdl ) BIND(C) 
     614      USE ISO_C_BINDING 
     615      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_nj_loc 
     616      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     617    END FUNCTION cxios_is_defined_domain_zoom_nj_loc 
    432618     
    433619     
Note: See TracChangeset for help on using the changeset viewer.