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

    r369 r432  
    149149  END SUBROUTINE xios(get_context_attr_hdl_) 
    150150   
     151  SUBROUTINE xios(is_defined_context_attr)  & 
     152    ( context_id, calendar_type, output_dir, start_date, time_origin, timestep ) 
     153     
     154    IMPLICIT NONE 
     155      TYPE(txios(context))  :: context_hdl 
     156      CHARACTER(LEN=*), INTENT(IN) ::context_id 
     157      LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type 
     158      LOGICAL(KIND=C_BOOL) :: calendar_type_tmp 
     159      LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir 
     160      LOGICAL(KIND=C_BOOL) :: output_dir_tmp 
     161      LOGICAL, OPTIONAL, INTENT(OUT) :: start_date 
     162      LOGICAL(KIND=C_BOOL) :: start_date_tmp 
     163      LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin 
     164      LOGICAL(KIND=C_BOOL) :: time_origin_tmp 
     165      LOGICAL, OPTIONAL, INTENT(OUT) :: timestep 
     166      LOGICAL(KIND=C_BOOL) :: timestep_tmp 
     167       
     168      CALL xios(get_context_handle)(context_id,context_hdl) 
     169      CALL xios(is_defined_context_attr_hdl_)   & 
     170      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
     171     
     172  END SUBROUTINE xios(is_defined_context_attr) 
     173   
     174  SUBROUTINE xios(is_defined_context_attr_hdl)  & 
     175    ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
     176     
     177    IMPLICIT NONE 
     178      TYPE(txios(context)) , INTENT(IN) :: context_hdl 
     179      LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type 
     180      LOGICAL(KIND=C_BOOL) :: calendar_type_tmp 
     181      LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir 
     182      LOGICAL(KIND=C_BOOL) :: output_dir_tmp 
     183      LOGICAL, OPTIONAL, INTENT(OUT) :: start_date 
     184      LOGICAL(KIND=C_BOOL) :: start_date_tmp 
     185      LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin 
     186      LOGICAL(KIND=C_BOOL) :: time_origin_tmp 
     187      LOGICAL, OPTIONAL, INTENT(OUT) :: timestep 
     188      LOGICAL(KIND=C_BOOL) :: timestep_tmp 
     189       
     190      CALL xios(is_defined_context_attr_hdl_)  & 
     191      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
     192     
     193  END SUBROUTINE xios(is_defined_context_attr_hdl) 
     194   
     195  SUBROUTINE xios(is_defined_context_attr_hdl_)   & 
     196    ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ ) 
     197     
     198    IMPLICIT NONE 
     199      TYPE(txios(context)) , INTENT(IN) :: context_hdl 
     200      LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type_ 
     201      LOGICAL(KIND=C_BOOL) :: calendar_type__tmp 
     202      LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir_ 
     203      LOGICAL(KIND=C_BOOL) :: output_dir__tmp 
     204      LOGICAL, OPTIONAL, INTENT(OUT) :: start_date_ 
     205      LOGICAL(KIND=C_BOOL) :: start_date__tmp 
     206      LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin_ 
     207      LOGICAL(KIND=C_BOOL) :: time_origin__tmp 
     208      LOGICAL, OPTIONAL, INTENT(OUT) :: timestep_ 
     209      LOGICAL(KIND=C_BOOL) :: timestep__tmp 
     210       
     211      IF (PRESENT(calendar_type_)) THEN 
     212        calendar_type__tmp=cxios_is_defined_context_calendar_type(context_hdl%daddr) 
     213        calendar_type_=calendar_type__tmp 
     214      ENDIF 
     215       
     216      IF (PRESENT(output_dir_)) THEN 
     217        output_dir__tmp=cxios_is_defined_context_output_dir(context_hdl%daddr) 
     218        output_dir_=output_dir__tmp 
     219      ENDIF 
     220       
     221      IF (PRESENT(start_date_)) THEN 
     222        start_date__tmp=cxios_is_defined_context_start_date(context_hdl%daddr) 
     223        start_date_=start_date__tmp 
     224      ENDIF 
     225       
     226      IF (PRESENT(time_origin_)) THEN 
     227        time_origin__tmp=cxios_is_defined_context_time_origin(context_hdl%daddr) 
     228        time_origin_=time_origin__tmp 
     229      ENDIF 
     230       
     231      IF (PRESENT(timestep_)) THEN 
     232        timestep__tmp=cxios_is_defined_context_timestep(context_hdl%daddr) 
     233        timestep_=timestep__tmp 
     234      ENDIF 
     235       
     236       
     237     
     238  END SUBROUTINE xios(is_defined_context_attr_hdl_) 
     239   
    151240END MODULE icontext_attr 
Note: See TracChangeset for help on using the changeset viewer.