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/iaxisgroup_attr.F90

    r415 r432  
    243243  END SUBROUTINE xios(get_axisgroup_attr_hdl_) 
    244244   
     245  SUBROUTINE xios(is_defined_axisgroup_attr)  & 
     246    ( axisgroup_id, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     247    , zoom_end, zoom_size ) 
     248     
     249    IMPLICIT NONE 
     250      TYPE(txios(axisgroup))  :: axisgroup_hdl 
     251      CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id 
     252      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
     253      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     254      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
     255      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     256      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
     257      LOGICAL(KIND=C_BOOL) :: name_tmp 
     258      LOGICAL, OPTIONAL, INTENT(OUT) :: positive 
     259      LOGICAL(KIND=C_BOOL) :: positive_tmp 
     260      LOGICAL, OPTIONAL, INTENT(OUT) :: size 
     261      LOGICAL(KIND=C_BOOL) :: size_tmp 
     262      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
     263      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     264      LOGICAL, OPTIONAL, INTENT(OUT) :: unit 
     265      LOGICAL(KIND=C_BOOL) :: unit_tmp 
     266      LOGICAL, OPTIONAL, INTENT(OUT) :: value 
     267      LOGICAL(KIND=C_BOOL) :: value_tmp 
     268      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_begin 
     269      LOGICAL(KIND=C_BOOL) :: zoom_begin_tmp 
     270      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_end 
     271      LOGICAL(KIND=C_BOOL) :: zoom_end_tmp 
     272      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_size 
     273      LOGICAL(KIND=C_BOOL) :: zoom_size_tmp 
     274       
     275      CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 
     276      CALL xios(is_defined_axisgroup_attr_hdl_)   & 
     277      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     278      , zoom_end, zoom_size ) 
     279     
     280  END SUBROUTINE xios(is_defined_axisgroup_attr) 
     281   
     282  SUBROUTINE xios(is_defined_axisgroup_attr_hdl)  & 
     283    ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     284    , zoom_end, zoom_size ) 
     285     
     286    IMPLICIT NONE 
     287      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     288      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
     289      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     290      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
     291      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     292      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
     293      LOGICAL(KIND=C_BOOL) :: name_tmp 
     294      LOGICAL, OPTIONAL, INTENT(OUT) :: positive 
     295      LOGICAL(KIND=C_BOOL) :: positive_tmp 
     296      LOGICAL, OPTIONAL, INTENT(OUT) :: size 
     297      LOGICAL(KIND=C_BOOL) :: size_tmp 
     298      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
     299      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     300      LOGICAL, OPTIONAL, INTENT(OUT) :: unit 
     301      LOGICAL(KIND=C_BOOL) :: unit_tmp 
     302      LOGICAL, OPTIONAL, INTENT(OUT) :: value 
     303      LOGICAL(KIND=C_BOOL) :: value_tmp 
     304      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_begin 
     305      LOGICAL(KIND=C_BOOL) :: zoom_begin_tmp 
     306      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_end 
     307      LOGICAL(KIND=C_BOOL) :: zoom_end_tmp 
     308      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_size 
     309      LOGICAL(KIND=C_BOOL) :: zoom_size_tmp 
     310       
     311      CALL xios(is_defined_axisgroup_attr_hdl_)  & 
     312      ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     313      , zoom_end, zoom_size ) 
     314     
     315  END SUBROUTINE xios(is_defined_axisgroup_attr_hdl) 
     316   
     317  SUBROUTINE xios(is_defined_axisgroup_attr_hdl_)   & 
     318    ( axisgroup_hdl, group_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_  & 
     319    , zoom_begin_, zoom_end_, zoom_size_ ) 
     320     
     321    IMPLICIT NONE 
     322      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     323      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 
     324      LOGICAL(KIND=C_BOOL) :: group_ref__tmp 
     325      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
     326      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
     327      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
     328      LOGICAL(KIND=C_BOOL) :: name__tmp 
     329      LOGICAL, OPTIONAL, INTENT(OUT) :: positive_ 
     330      LOGICAL(KIND=C_BOOL) :: positive__tmp 
     331      LOGICAL, OPTIONAL, INTENT(OUT) :: size_ 
     332      LOGICAL(KIND=C_BOOL) :: size__tmp 
     333      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_ 
     334      LOGICAL(KIND=C_BOOL) :: standard_name__tmp 
     335      LOGICAL, OPTIONAL, INTENT(OUT) :: unit_ 
     336      LOGICAL(KIND=C_BOOL) :: unit__tmp 
     337      LOGICAL, OPTIONAL, INTENT(OUT) :: value_ 
     338      LOGICAL(KIND=C_BOOL) :: value__tmp 
     339      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_begin_ 
     340      LOGICAL(KIND=C_BOOL) :: zoom_begin__tmp 
     341      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_end_ 
     342      LOGICAL(KIND=C_BOOL) :: zoom_end__tmp 
     343      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_size_ 
     344      LOGICAL(KIND=C_BOOL) :: zoom_size__tmp 
     345       
     346      IF (PRESENT(group_ref_)) THEN 
     347        group_ref__tmp=cxios_is_defined_axisgroup_group_ref(axisgroup_hdl%daddr) 
     348        group_ref_=group_ref__tmp 
     349      ENDIF 
     350       
     351      IF (PRESENT(long_name_)) THEN 
     352        long_name__tmp=cxios_is_defined_axisgroup_long_name(axisgroup_hdl%daddr) 
     353        long_name_=long_name__tmp 
     354      ENDIF 
     355       
     356      IF (PRESENT(name_)) THEN 
     357        name__tmp=cxios_is_defined_axisgroup_name(axisgroup_hdl%daddr) 
     358        name_=name__tmp 
     359      ENDIF 
     360       
     361      IF (PRESENT(positive_)) THEN 
     362        positive__tmp=cxios_is_defined_axisgroup_positive(axisgroup_hdl%daddr) 
     363        positive_=positive__tmp 
     364      ENDIF 
     365       
     366      IF (PRESENT(size_)) THEN 
     367        size__tmp=cxios_is_defined_axisgroup_size(axisgroup_hdl%daddr) 
     368        size_=size__tmp 
     369      ENDIF 
     370       
     371      IF (PRESENT(standard_name_)) THEN 
     372        standard_name__tmp=cxios_is_defined_axisgroup_standard_name(axisgroup_hdl%daddr) 
     373        standard_name_=standard_name__tmp 
     374      ENDIF 
     375       
     376      IF (PRESENT(unit_)) THEN 
     377        unit__tmp=cxios_is_defined_axisgroup_unit(axisgroup_hdl%daddr) 
     378        unit_=unit__tmp 
     379      ENDIF 
     380       
     381      IF (PRESENT(value_)) THEN 
     382        value__tmp=cxios_is_defined_axisgroup_value(axisgroup_hdl%daddr) 
     383        value_=value__tmp 
     384      ENDIF 
     385       
     386      IF (PRESENT(zoom_begin_)) THEN 
     387        zoom_begin__tmp=cxios_is_defined_axisgroup_zoom_begin(axisgroup_hdl%daddr) 
     388        zoom_begin_=zoom_begin__tmp 
     389      ENDIF 
     390       
     391      IF (PRESENT(zoom_end_)) THEN 
     392        zoom_end__tmp=cxios_is_defined_axisgroup_zoom_end(axisgroup_hdl%daddr) 
     393        zoom_end_=zoom_end__tmp 
     394      ENDIF 
     395       
     396      IF (PRESENT(zoom_size_)) THEN 
     397        zoom_size__tmp=cxios_is_defined_axisgroup_zoom_size(axisgroup_hdl%daddr) 
     398        zoom_size_=zoom_size__tmp 
     399      ENDIF 
     400       
     401       
     402     
     403  END SUBROUTINE xios(is_defined_axisgroup_attr_hdl_) 
     404   
    245405END MODULE iaxisgroup_attr 
Note: See TracChangeset for help on using the changeset viewer.