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

    r325 r432  
    88 
    99USE icontext_attr, ONLY : xios(set_context_attr), xios(set_context_attr_hdl), & 
    10                           xios(get_context_attr), xios(get_context_attr_hdl) 
     10                          xios(get_context_attr), xios(get_context_attr_hdl), & 
     11                          xios(is_defined_context_attr), xios(is_defined_context_attr_hdl) 
    1112                                                
    1213USE idata, ONLY : xios(initialize),xios(init_server), xios(finalize), xios(context_initialize),  & 
     
    2324 
    2425USE idomain_attr, ONLY :  xios(set_domain_attr), xios(set_domain_attr_hdl),  & 
    25                           xios(get_domain_attr), xios(get_domain_attr_hdl) 
     26                          xios(get_domain_attr), xios(get_domain_attr_hdl), & 
     27                          xios(is_defined_domain_attr), xios(is_defined_domain_attr_hdl) 
    2628 
    2729USE idomaingroup_attr, ONLY : xios(set_domaingroup_attr), xios(set_domaingroup_attr_hdl),  &  
    28                               xios(get_domaingroup_attr), xios(get_domaingroup_attr_hdl)  
     30                              xios(get_domaingroup_attr), xios(get_domaingroup_attr_hdl), &  
     31                              xios(is_defined_domaingroup_attr), xios(is_defined_domaingroup_attr_hdl)  
    2932                     
    3033USE ifield, ONLY : txios(field), txios(fieldgroup), xios(get_field_handle),  & 
     
    3336 
    3437USE ifield_attr, ONLY : xios(set_field_attr),xios(set_field_attr_hdl),    & 
    35                         xios(get_field_attr),xios(get_field_attr_hdl) 
     38                        xios(get_field_attr),xios(get_field_attr_hdl), & 
     39                        xios(is_defined_field_attr),xios(is_defined_field_attr_hdl) 
    3640   
    3741USE ifieldgroup_attr, ONLY : xios(set_fieldgroup_attr), xios(set_fieldgroup_attr_hdl),  & 
    38                              xios(get_fieldgroup_attr), xios(get_fieldgroup_attr_hdl) 
     42                             xios(get_fieldgroup_attr), xios(get_fieldgroup_attr_hdl), & 
     43                             xios(is_defined_fieldgroup_attr), xios(is_defined_fieldgroup_attr_hdl) 
    3944 
    4045USE ifile, ONLY : txios(file), txios(filegroup), xios(get_file_handle),    &  
     
    4247 
    4348USE ifile_attr, ONLY : xios(set_file_attr),xios(set_file_attr_hdl), & 
    44                        xios(get_file_attr),xios(get_file_attr_hdl) 
     49                       xios(get_file_attr),xios(get_file_attr_hdl), & 
     50                       xios(is_defined_file_attr),xios(is_defined_file_attr_hdl) 
    4551 
    4652USE ifilegroup_attr, ONLY : xios(set_filegroup_attr), xios(set_filegroup_attr_hdl), & 
    47                             xios(get_filegroup_attr), xios(get_filegroup_attr_hdl) 
     53                            xios(get_filegroup_attr), xios(get_filegroup_attr_hdl), & 
     54                            xios(is_defined_filegroup_attr), xios(is_defined_filegroup_attr_hdl) 
    4855                   
    4956USE igrid, ONLY : txios(grid), txios(gridgroup), xios(get_grid_handle),     & 
     
    5158 
    5259USE igrid_attr, ONLY : xios(set_grid_attr_hdl), xios(set_grid_attr), & 
    53                        xios(get_grid_attr_hdl), xios(get_grid_attr) 
     60                       xios(get_grid_attr_hdl), xios(get_grid_attr), & 
     61                       xios(is_defined_grid_attr_hdl), xios(is_defined_grid_attr) 
    5462 
    5563USE igridgroup_attr, ONLY : xios(set_gridgroup_attr), xios(set_gridgroup_attr_hdl),  & 
    56                             xios(get_gridgroup_attr), xios(get_gridgroup_attr_hdl) 
     64                            xios(get_gridgroup_attr), xios(get_gridgroup_attr_hdl), & 
     65                            xios(is_defined_gridgroup_attr), xios(is_defined_gridgroup_attr_hdl) 
    5766 
    5867USE iaxis, ONLY : txios(axis), txios(axisgroup), xios(get_axis_handle),     & 
     
    6069 
    6170USE iaxis_attr, ONLY :  xios(set_axis_attr), xios(set_axis_attr_hdl), & 
    62                         xios(get_axis_attr), xios(get_axis_attr_hdl) 
     71                        xios(get_axis_attr), xios(get_axis_attr_hdl), & 
     72                        xios(is_defined_axis_attr), xios(is_defined_axis_attr_hdl) 
    6373 
    6474USE iaxisgroup_attr, ONLY : xios(set_axisgroup_attr), xios(set_axisgroup_attr_hdl), & 
    65                             xios(get_axisgroup_attr), xios(get_axisgroup_attr_hdl) 
     75                            xios(get_axisgroup_attr), xios(get_axisgroup_attr_hdl), & 
     76                            xios(is_defined_axisgroup_attr), xios(is_defined_axisgroup_attr_hdl) 
    6677 
    6778USE ixml_tree, ONLY : xios(add_axis), xios(add_file), xios(add_grid), xios(add_field), xios(add_domain),          & 
     
    8697                   xios(get_axisgroup_attr_hdl), xios(get_context_attr_hdl) 
    8798END INTERFACE xios(get_attr) 
     99 
     100INTERFACE xios(is_defined_attr) 
     101  MODULE PROCEDURE xios(is_defined_domaingroup_attr_hdl), xios(is_defined_domain_attr_hdl), xios(is_defined_fieldgroup_attr_hdl), & 
     102                   xios(is_defined_field_attr_hdl), xios(is_defined_file_attr_hdl), xios(is_defined_filegroup_attr_hdl),          & 
     103                   xios(is_defined_grid_attr_hdl), xios(is_defined_gridgroup_attr_hdl), xios(is_defined_axis_attr_hdl) ,          & 
     104                   xios(is_defined_axisgroup_attr_hdl), xios(is_defined_context_attr_hdl) 
     105END INTERFACE xios(is_defined_attr) 
    88106 
    89107INTERFACE xios(get_handle) 
     
    123141          xios(get_axisgroup_attr), xios(get_context_attr) 
    124142 
     143PUBLIC :: xios(is_defined_attr), xios(is_defined_domain_attr), xios(is_defined_domaingroup_attr), xios(is_defined_fieldgroup_attr), & 
     144          xios(is_defined_field_attr), xios(is_defined_file_attr), xios(is_defined_filegroup_attr),          & 
     145          xios(is_defined_grid_attr), xios(is_defined_gridgroup_attr), xios(is_defined_axis_attr) ,          & 
     146          xios(is_defined_axisgroup_attr), xios(is_defined_context_attr) 
     147 
    125148 PUBLIC :: xios(get_handle)  
    126149 PUBLIC :: xios(add_child)  
Note: See TracChangeset for help on using the changeset viewer.