Changeset 2338


Ignore:
Timestamp:
06/28/22 11:44:19 (2 years ago)
Author:
jderouillat
Message:

Added extract_domain interface. Updated all interfaces, normalize some private attributes names of domain

Location:
XIOS/dev/dev_ym/XIOS_COUPLING/src
Files:
6 added
23 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/config/domain_attribute_private.conf

    r2312 r2338  
    1010DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lat_end, false) 
    1111 
    12 DECLARE_ATTRIBUTE(bool             , hasLatInReadFile, false) 
    13 DECLARE_ATTRIBUTE(bool             , hasLonInReadFile, false) 
    14 DECLARE_ATTRIBUTE(bool             , hasBoundsLatInReadFile, false) 
    15 DECLARE_ATTRIBUTE(bool             , hasBoundsLonInReadFile, false) 
     12DECLARE_ATTRIBUTE_PRIVATE(bool             , has_lat_in_read_file, false) 
     13DECLARE_ATTRIBUTE_PRIVATE(bool             , has_lon_in_read_file, false) 
     14DECLARE_ATTRIBUTE_PRIVATE(bool             , has_bounds_lat_in_read_file, false) 
     15DECLARE_ATTRIBUTE_PRIVATE(bool             , has_bounds_lon_in_read_file, false) 
    1616//  Array contain whole value (non distributed) of longitude and latitude read from a file 
    1717DECLARE_ARRAY_PRIVATE(double, 1, lonvalue_rectilinear_read_from_file, false) 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/generate_fortran_interface.cpp

    r1626 r2338  
    259259  file.close(); 
    260260 
     261  file.open((path+"extract_domain_interface_attr.F90").c_str()); 
     262  extractDomain.generateFortran2003Interface(file); 
     263  file.close(); 
     264 
     265  file.open((path+"icextract_domain_attr.cpp").c_str()); 
     266  extractDomain.generateCInterface(file); 
     267  file.close(); 
     268 
     269  file.open((path+"iextract_domain_attr.F90").c_str()); 
     270  extractDomain.generateFortranInterface(file); 
     271  file.close(); 
     272 
    261273  file.open((path+"interpolate_domain_interface_attr.F90").c_str()); 
    262274  interpolateDomain.generateFortran2003Interface(file); 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c_attr/icfield_attr.cpp

    r1626 r2338  
    6666 
    6767 
     68  void cxios_set_field_build_workflow_graph(field_Ptr field_hdl, bool build_workflow_graph) 
     69  { 
     70    CTimer::get("XIOS").resume(); 
     71    field_hdl->build_workflow_graph.setValue(build_workflow_graph); 
     72    CTimer::get("XIOS").suspend(); 
     73  } 
     74 
     75  void cxios_get_field_build_workflow_graph(field_Ptr field_hdl, bool* build_workflow_graph) 
     76  { 
     77    CTimer::get("XIOS").resume(); 
     78    *build_workflow_graph = field_hdl->build_workflow_graph.getInheritedValue(); 
     79    CTimer::get("XIOS").suspend(); 
     80  } 
     81 
     82  bool cxios_is_defined_field_build_workflow_graph(field_Ptr field_hdl) 
     83  { 
     84     CTimer::get("XIOS").resume(); 
     85     bool isDefined = field_hdl->build_workflow_graph.hasInheritedValue(); 
     86     CTimer::get("XIOS").suspend(); 
     87     return isDefined; 
     88  } 
     89 
     90 
    6891  void cxios_set_field_cell_methods(field_Ptr field_hdl, const char * cell_methods, int cell_methods_size) 
    6992  { 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c_attr/icfieldgroup_attr.cpp

    r1626 r2338  
    6666 
    6767 
     68  void cxios_set_fieldgroup_build_workflow_graph(fieldgroup_Ptr fieldgroup_hdl, bool build_workflow_graph) 
     69  { 
     70    CTimer::get("XIOS").resume(); 
     71    fieldgroup_hdl->build_workflow_graph.setValue(build_workflow_graph); 
     72    CTimer::get("XIOS").suspend(); 
     73  } 
     74 
     75  void cxios_get_fieldgroup_build_workflow_graph(fieldgroup_Ptr fieldgroup_hdl, bool* build_workflow_graph) 
     76  { 
     77    CTimer::get("XIOS").resume(); 
     78    *build_workflow_graph = fieldgroup_hdl->build_workflow_graph.getInheritedValue(); 
     79    CTimer::get("XIOS").suspend(); 
     80  } 
     81 
     82  bool cxios_is_defined_fieldgroup_build_workflow_graph(fieldgroup_Ptr fieldgroup_hdl) 
     83  { 
     84     CTimer::get("XIOS").resume(); 
     85     bool isDefined = fieldgroup_hdl->build_workflow_graph.hasInheritedValue(); 
     86     CTimer::get("XIOS").suspend(); 
     87     return isDefined; 
     88  } 
     89 
     90 
    6891  void cxios_set_fieldgroup_cell_methods(fieldgroup_Ptr fieldgroup_hdl, const char * cell_methods, int cell_methods_size) 
    6992  { 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c_attr/icinterpolate_axis_attr.cpp

    r1626 r2338  
    3838     CTimer::get("XIOS").resume(); 
    3939     bool isDefined = interpolate_axis_hdl->coordinate.hasInheritedValue(); 
     40     CTimer::get("XIOS").suspend(); 
     41     return isDefined; 
     42  } 
     43 
     44 
     45  void cxios_set_interpolate_axis_coordinate_dst(interpolate_axis_Ptr interpolate_axis_hdl, const char * coordinate_dst, int coordinate_dst_size) 
     46  { 
     47    std::string coordinate_dst_str; 
     48    if (!cstr2string(coordinate_dst, coordinate_dst_size, coordinate_dst_str)) return; 
     49    CTimer::get("XIOS").resume(); 
     50    interpolate_axis_hdl->coordinate_dst.setValue(coordinate_dst_str); 
     51    CTimer::get("XIOS").suspend(); 
     52  } 
     53 
     54  void cxios_get_interpolate_axis_coordinate_dst(interpolate_axis_Ptr interpolate_axis_hdl, char * coordinate_dst, int coordinate_dst_size) 
     55  { 
     56    CTimer::get("XIOS").resume(); 
     57    if (!string_copy(interpolate_axis_hdl->coordinate_dst.getInheritedValue(), coordinate_dst, coordinate_dst_size)) 
     58      ERROR("void cxios_get_interpolate_axis_coordinate_dst(interpolate_axis_Ptr interpolate_axis_hdl, char * coordinate_dst, int coordinate_dst_size)", << "Input string is too short"); 
     59    CTimer::get("XIOS").suspend(); 
     60  } 
     61 
     62  bool cxios_is_defined_interpolate_axis_coordinate_dst(interpolate_axis_Ptr interpolate_axis_hdl) 
     63  { 
     64     CTimer::get("XIOS").resume(); 
     65     bool isDefined = interpolate_axis_hdl->coordinate_dst.hasInheritedValue(); 
     66     CTimer::get("XIOS").suspend(); 
     67     return isDefined; 
     68  } 
     69 
     70 
     71  void cxios_set_interpolate_axis_coordinate_src(interpolate_axis_Ptr interpolate_axis_hdl, const char * coordinate_src, int coordinate_src_size) 
     72  { 
     73    std::string coordinate_src_str; 
     74    if (!cstr2string(coordinate_src, coordinate_src_size, coordinate_src_str)) return; 
     75    CTimer::get("XIOS").resume(); 
     76    interpolate_axis_hdl->coordinate_src.setValue(coordinate_src_str); 
     77    CTimer::get("XIOS").suspend(); 
     78  } 
     79 
     80  void cxios_get_interpolate_axis_coordinate_src(interpolate_axis_Ptr interpolate_axis_hdl, char * coordinate_src, int coordinate_src_size) 
     81  { 
     82    CTimer::get("XIOS").resume(); 
     83    if (!string_copy(interpolate_axis_hdl->coordinate_src.getInheritedValue(), coordinate_src, coordinate_src_size)) 
     84      ERROR("void cxios_get_interpolate_axis_coordinate_src(interpolate_axis_Ptr interpolate_axis_hdl, char * coordinate_src, int coordinate_src_size)", << "Input string is too short"); 
     85    CTimer::get("XIOS").suspend(); 
     86  } 
     87 
     88  bool cxios_is_defined_interpolate_axis_coordinate_src(interpolate_axis_Ptr interpolate_axis_hdl) 
     89  { 
     90     CTimer::get("XIOS").resume(); 
     91     bool isDefined = interpolate_axis_hdl->coordinate_src.hasInheritedValue(); 
     92     CTimer::get("XIOS").suspend(); 
     93     return isDefined; 
     94  } 
     95 
     96 
     97  void cxios_set_interpolate_axis_extrapolate(interpolate_axis_Ptr interpolate_axis_hdl, bool extrapolate) 
     98  { 
     99    CTimer::get("XIOS").resume(); 
     100    interpolate_axis_hdl->extrapolate.setValue(extrapolate); 
     101    CTimer::get("XIOS").suspend(); 
     102  } 
     103 
     104  void cxios_get_interpolate_axis_extrapolate(interpolate_axis_Ptr interpolate_axis_hdl, bool* extrapolate) 
     105  { 
     106    CTimer::get("XIOS").resume(); 
     107    *extrapolate = interpolate_axis_hdl->extrapolate.getInheritedValue(); 
     108    CTimer::get("XIOS").suspend(); 
     109  } 
     110 
     111  bool cxios_is_defined_interpolate_axis_extrapolate(interpolate_axis_Ptr interpolate_axis_hdl) 
     112  { 
     113     CTimer::get("XIOS").resume(); 
     114     bool isDefined = interpolate_axis_hdl->extrapolate.hasInheritedValue(); 
    40115     CTimer::get("XIOS").suspend(); 
    41116     return isDefined; 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c_attr/icreduce_axis_to_scalar_attr.cpp

    r1626 r2338  
    1616{ 
    1717  typedef xios::CReduceAxisToScalar* reduce_axis_to_scalar_Ptr; 
     18 
     19  void cxios_set_reduce_axis_to_scalar_local(reduce_axis_to_scalar_Ptr reduce_axis_to_scalar_hdl, bool local) 
     20  { 
     21    CTimer::get("XIOS").resume(); 
     22    reduce_axis_to_scalar_hdl->local.setValue(local); 
     23    CTimer::get("XIOS").suspend(); 
     24  } 
     25 
     26  void cxios_get_reduce_axis_to_scalar_local(reduce_axis_to_scalar_Ptr reduce_axis_to_scalar_hdl, bool* local) 
     27  { 
     28    CTimer::get("XIOS").resume(); 
     29    *local = reduce_axis_to_scalar_hdl->local.getInheritedValue(); 
     30    CTimer::get("XIOS").suspend(); 
     31  } 
     32 
     33  bool cxios_is_defined_reduce_axis_to_scalar_local(reduce_axis_to_scalar_Ptr reduce_axis_to_scalar_hdl) 
     34  { 
     35     CTimer::get("XIOS").resume(); 
     36     bool isDefined = reduce_axis_to_scalar_hdl->local.hasInheritedValue(); 
     37     CTimer::get("XIOS").suspend(); 
     38     return isDefined; 
     39  } 
     40 
    1841 
    1942  void cxios_set_reduce_axis_to_scalar_operation(reduce_axis_to_scalar_Ptr reduce_axis_to_scalar_hdl, const char * operation, int operation_size) 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c_attr/icscalar_attr.cpp

    r1941 r2338  
    195195 
    196196 
     197  void cxios_set_scalar_n(scalar_Ptr scalar_hdl, int n) 
     198  { 
     199    CTimer::get("XIOS").resume(); 
     200    scalar_hdl->n.setValue(n); 
     201    CTimer::get("XIOS").suspend(); 
     202  } 
     203 
     204  void cxios_get_scalar_n(scalar_Ptr scalar_hdl, int* n) 
     205  { 
     206    CTimer::get("XIOS").resume(); 
     207    *n = scalar_hdl->n.getInheritedValue(); 
     208    CTimer::get("XIOS").suspend(); 
     209  } 
     210 
     211  bool cxios_is_defined_scalar_n(scalar_Ptr scalar_hdl) 
     212  { 
     213     CTimer::get("XIOS").resume(); 
     214     bool isDefined = scalar_hdl->n.hasInheritedValue(); 
     215     CTimer::get("XIOS").suspend(); 
     216     return isDefined; 
     217  } 
     218 
     219 
    197220  void cxios_set_scalar_name(scalar_Ptr scalar_hdl, const char * name, int name_size) 
    198221  { 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c_attr/icscalargroup_attr.cpp

    r1941 r2338  
    221221 
    222222 
     223  void cxios_set_scalargroup_n(scalargroup_Ptr scalargroup_hdl, int n) 
     224  { 
     225    CTimer::get("XIOS").resume(); 
     226    scalargroup_hdl->n.setValue(n); 
     227    CTimer::get("XIOS").suspend(); 
     228  } 
     229 
     230  void cxios_get_scalargroup_n(scalargroup_Ptr scalargroup_hdl, int* n) 
     231  { 
     232    CTimer::get("XIOS").resume(); 
     233    *n = scalargroup_hdl->n.getInheritedValue(); 
     234    CTimer::get("XIOS").suspend(); 
     235  } 
     236 
     237  bool cxios_is_defined_scalargroup_n(scalargroup_Ptr scalargroup_hdl) 
     238  { 
     239     CTimer::get("XIOS").resume(); 
     240     bool isDefined = scalargroup_hdl->n.hasInheritedValue(); 
     241     CTimer::get("XIOS").suspend(); 
     242     return isDefined; 
     243  } 
     244 
     245 
    223246  void cxios_set_scalargroup_name(scalargroup_Ptr scalargroup_hdl, const char * name, int name_size) 
    224247  { 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran/ixios.F90

    r1761 r2338  
    7979!------------------------------------------------------------------------------- 
    8080!!! DOMAIN TRANSFORMATIONS 
     81USE iextract_domain, ONLY : txios(extract_domain), xios(is_valid_extract_domain) 
     82 
     83USE iextract_domain_attr, ONLY : xios(set_extract_domain_attr), xios(get_extract_domain_attr), xios(is_defined_extract_domain_attr) 
     84 
    8185USE izoom_domain, ONLY : txios(zoom_domain), xios(is_valid_zoom_domain) 
    8286 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/field_interface_attr.F90

    r1492 r2338  
    5050 
    5151 
     52    SUBROUTINE cxios_set_field_build_workflow_graph(field_hdl, build_workflow_graph) BIND(C) 
     53      USE ISO_C_BINDING 
     54      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     55      LOGICAL (KIND=C_BOOL)      , VALUE :: build_workflow_graph 
     56    END SUBROUTINE cxios_set_field_build_workflow_graph 
     57 
     58    SUBROUTINE cxios_get_field_build_workflow_graph(field_hdl, build_workflow_graph) BIND(C) 
     59      USE ISO_C_BINDING 
     60      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     61      LOGICAL (KIND=C_BOOL)             :: build_workflow_graph 
     62    END SUBROUTINE cxios_get_field_build_workflow_graph 
     63 
     64    FUNCTION cxios_is_defined_field_build_workflow_graph(field_hdl) BIND(C) 
     65      USE ISO_C_BINDING 
     66      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_build_workflow_graph 
     67      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     68    END FUNCTION cxios_is_defined_field_build_workflow_graph 
     69 
     70 
    5271    SUBROUTINE cxios_set_field_cell_methods(field_hdl, cell_methods, cell_methods_size) BIND(C) 
    5372      USE ISO_C_BINDING 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/fieldgroup_interface_attr.F90

    r1492 r2338  
    5050 
    5151 
     52    SUBROUTINE cxios_set_fieldgroup_build_workflow_graph(fieldgroup_hdl, build_workflow_graph) BIND(C) 
     53      USE ISO_C_BINDING 
     54      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     55      LOGICAL (KIND=C_BOOL)      , VALUE :: build_workflow_graph 
     56    END SUBROUTINE cxios_set_fieldgroup_build_workflow_graph 
     57 
     58    SUBROUTINE cxios_get_fieldgroup_build_workflow_graph(fieldgroup_hdl, build_workflow_graph) BIND(C) 
     59      USE ISO_C_BINDING 
     60      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     61      LOGICAL (KIND=C_BOOL)             :: build_workflow_graph 
     62    END SUBROUTINE cxios_get_fieldgroup_build_workflow_graph 
     63 
     64    FUNCTION cxios_is_defined_fieldgroup_build_workflow_graph(fieldgroup_hdl) BIND(C) 
     65      USE ISO_C_BINDING 
     66      LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_build_workflow_graph 
     67      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     68    END FUNCTION cxios_is_defined_fieldgroup_build_workflow_graph 
     69 
     70 
    5271    SUBROUTINE cxios_set_fieldgroup_cell_methods(fieldgroup_hdl, cell_methods, cell_methods_size) BIND(C) 
    5372      USE ISO_C_BINDING 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifield_attr.F90

    r1492 r2338  
    1212 
    1313  SUBROUTINE xios(set_field_attr)  & 
    14     ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    15     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    16     , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    17     , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    18     , valid_max, valid_min ) 
     14    ( field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     15    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     16    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     17    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     18    , unit, valid_max, valid_min ) 
    1919 
    2020    IMPLICIT NONE 
     
    2323      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset 
    2424      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     25      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph 
     26      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    2527      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods 
    2628      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode 
     
    6365      (field_id,field_hdl) 
    6466      CALL xios(set_field_attr_hdl_)   & 
    65       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    66       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    67       , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    68       , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    69       , valid_max, valid_min ) 
     67      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     68      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     69      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     70      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     71      , unit, valid_max, valid_min ) 
    7072 
    7173  END SUBROUTINE xios(set_field_attr) 
    7274 
    7375  SUBROUTINE xios(set_field_attr_hdl)  & 
    74     ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    75     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    76     , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    77     , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    78     , valid_max, valid_min ) 
     76    ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     77    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     78    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     79    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     80    , unit, valid_max, valid_min ) 
    7981 
    8082    IMPLICIT NONE 
     
    8284      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset 
    8385      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     86      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph 
     87      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    8488      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods 
    8589      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode 
     
    120124 
    121125      CALL xios(set_field_attr_hdl_)  & 
    122       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    123       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    124       , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    125       , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    126       , valid_max, valid_min ) 
     126      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     127      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     128      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     129      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     130      , unit, valid_max, valid_min ) 
    127131 
    128132  END SUBROUTINE xios(set_field_attr_hdl) 
    129133 
    130134  SUBROUTINE xios(set_field_attr_hdl_)   & 
    131     ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, comment_  & 
    132     , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  & 
    133     , freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_  & 
    134     , operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_  & 
    135     , unit_, valid_max_, valid_min_ ) 
     135    ( field_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  & 
     136    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  & 
     137    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_  & 
     138    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
     139    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    136140 
    137141    IMPLICIT NONE 
     
    139143      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset_ 
    140144      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
     145      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph_ 
     146      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp 
    141147      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_ 
    142148      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode_ 
     
    186192      ENDIF 
    187193 
     194      IF (PRESENT(build_workflow_graph_)) THEN 
     195        build_workflow_graph__tmp = build_workflow_graph_ 
     196        CALL cxios_set_field_build_workflow_graph & 
     197      (field_hdl%daddr, build_workflow_graph__tmp) 
     198      ENDIF 
     199 
    188200      IF (PRESENT(cell_methods_)) THEN 
    189201        CALL cxios_set_field_cell_methods & 
     
    345357 
    346358  SUBROUTINE xios(get_field_attr)  & 
    347     ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    348     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    349     , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    350     , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    351     , valid_max, valid_min ) 
     359    ( field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     360    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     361    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     362    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     363    , unit, valid_max, valid_min ) 
    352364 
    353365    IMPLICIT NONE 
     
    356368      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset 
    357369      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     370      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     371      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    358372      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods 
    359373      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode 
     
    396410      (field_id,field_hdl) 
    397411      CALL xios(get_field_attr_hdl_)   & 
    398       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    399       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    400       , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    401       , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    402       , valid_max, valid_min ) 
     412      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     413      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     414      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     415      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     416      , unit, valid_max, valid_min ) 
    403417 
    404418  END SUBROUTINE xios(get_field_attr) 
    405419 
    406420  SUBROUTINE xios(get_field_attr_hdl)  & 
    407     ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    408     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    409     , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    410     , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    411     , valid_max, valid_min ) 
     421    ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     422    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     423    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     424    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     425    , unit, valid_max, valid_min ) 
    412426 
    413427    IMPLICIT NONE 
     
    415429      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset 
    416430      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     431      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     432      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    417433      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods 
    418434      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode 
     
    453469 
    454470      CALL xios(get_field_attr_hdl_)  & 
    455       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    456       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    457       , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    458       , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    459       , valid_max, valid_min ) 
     471      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     472      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     473      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     474      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     475      , unit, valid_max, valid_min ) 
    460476 
    461477  END SUBROUTINE xios(get_field_attr_hdl) 
    462478 
    463479  SUBROUTINE xios(get_field_attr_hdl_)   & 
    464     ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, comment_  & 
    465     , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  & 
    466     , freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_  & 
    467     , operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_  & 
    468     , unit_, valid_max_, valid_min_ ) 
     480    ( field_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  & 
     481    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  & 
     482    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_  & 
     483    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
     484    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    469485 
    470486    IMPLICIT NONE 
     
    472488      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset_ 
    473489      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
     490      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph_ 
     491      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp 
    474492      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_ 
    475493      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode_ 
     
    519537      ENDIF 
    520538 
     539      IF (PRESENT(build_workflow_graph_)) THEN 
     540        CALL cxios_get_field_build_workflow_graph & 
     541      (field_hdl%daddr, build_workflow_graph__tmp) 
     542        build_workflow_graph_ = build_workflow_graph__tmp 
     543      ENDIF 
     544 
    521545      IF (PRESENT(cell_methods_)) THEN 
    522546        CALL cxios_get_field_cell_methods & 
     
    678702 
    679703  SUBROUTINE xios(is_defined_field_attr)  & 
    680     ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    681     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    682     , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    683     , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    684     , valid_max, valid_min ) 
     704    ( field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     705    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     706    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     707    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     708    , unit, valid_max, valid_min ) 
    685709 
    686710    IMPLICIT NONE 
     
    691715      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    692716      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     717      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     718      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp 
    693719      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods 
    694720      LOGICAL(KIND=C_BOOL) :: cell_methods_tmp 
     
    755781      (field_id,field_hdl) 
    756782      CALL xios(is_defined_field_attr_hdl_)   & 
    757       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    758       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    759       , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    760       , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    761       , valid_max, valid_min ) 
     783      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     784      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     785      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     786      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     787      , unit, valid_max, valid_min ) 
    762788 
    763789  END SUBROUTINE xios(is_defined_field_attr) 
    764790 
    765791  SUBROUTINE xios(is_defined_field_attr_hdl)  & 
    766     ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    767     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    768     , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    769     , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    770     , valid_max, valid_min ) 
     792    ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     793    , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     794    , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     795    , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     796    , unit, valid_max, valid_min ) 
    771797 
    772798    IMPLICIT NONE 
     
    776802      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    777803      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     804      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     805      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp 
    778806      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods 
    779807      LOGICAL(KIND=C_BOOL) :: cell_methods_tmp 
     
    838866 
    839867      CALL xios(is_defined_field_attr_hdl_)  & 
    840       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    841       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    842       , freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name, operation  & 
    843       , prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit  & 
    844       , valid_max, valid_min ) 
     868      ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active  & 
     869      , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr  & 
     870      , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name  & 
     871      , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
     872      , unit, valid_max, valid_min ) 
    845873 
    846874  END SUBROUTINE xios(is_defined_field_attr_hdl) 
    847875 
    848876  SUBROUTINE xios(is_defined_field_attr_hdl_)   & 
    849     ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, comment_  & 
    850     , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  & 
    851     , freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_  & 
    852     , operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_  & 
    853     , unit_, valid_max_, valid_min_ ) 
     877    ( field_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  & 
     878    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  & 
     879    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, indexed_output_  & 
     880    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
     881    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    854882 
    855883    IMPLICIT NONE 
     
    859887      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
    860888      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
     889      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph_ 
     890      LOGICAL(KIND=C_BOOL) :: build_workflow_graph__tmp 
    861891      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_ 
    862892      LOGICAL(KIND=C_BOOL) :: cell_methods__tmp 
     
    932962      ENDIF 
    933963 
     964      IF (PRESENT(build_workflow_graph_)) THEN 
     965        build_workflow_graph__tmp = cxios_is_defined_field_build_workflow_graph & 
     966      (field_hdl%daddr) 
     967        build_workflow_graph_ = build_workflow_graph__tmp 
     968      ENDIF 
     969 
    934970      IF (PRESENT(cell_methods_)) THEN 
    935971        cell_methods__tmp = cxios_is_defined_field_cell_methods & 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ifieldgroup_attr.F90

    r1492 r2338  
    1212 
    1313  SUBROUTINE xios(set_fieldgroup_attr)  & 
    14     ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    15     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    16     , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    17     , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    18     , unit, valid_max, valid_min ) 
     14    ( fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     15    , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     16    , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     17    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     18    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    1919 
    2020    IMPLICIT NONE 
     
    2323      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset 
    2424      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     25      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph 
     26      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    2527      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods 
    2628      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode 
     
    6466      (fieldgroup_id,fieldgroup_hdl) 
    6567      CALL xios(set_fieldgroup_attr_hdl_)   & 
    66       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    67       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    68       , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    69       , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    70       , unit, valid_max, valid_min ) 
     68      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     69      , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     70      , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     71      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     72      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    7173 
    7274  END SUBROUTINE xios(set_fieldgroup_attr) 
    7375 
    7476  SUBROUTINE xios(set_fieldgroup_attr_hdl)  & 
    75     ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    76     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    77     , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    78     , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    79     , unit, valid_max, valid_min ) 
     77    ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     78    , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     79    , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     80    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     81    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    8082 
    8183    IMPLICIT NONE 
     
    8385      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset 
    8486      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     87      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph 
     88      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    8589      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods 
    8690      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode 
     
    122126 
    123127      CALL xios(set_fieldgroup_attr_hdl_)  & 
    124       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    125       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    126       , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    127       , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    128       , unit, valid_max, valid_min ) 
     128      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     129      , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     130      , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     131      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     132      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    129133 
    130134  END SUBROUTINE xios(set_fieldgroup_attr_hdl) 
    131135 
    132136  SUBROUTINE xios(set_fieldgroup_attr_hdl_)   & 
    133     ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_  & 
    134     , comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_  & 
    135     , expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  & 
     137    ( fieldgroup_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  & 
     138    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  & 
     139    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  & 
    136140    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
    137141    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
     
    141145      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset_ 
    142146      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
     147      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph_ 
     148      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp 
    143149      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_ 
    144150      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode_ 
     
    189195      ENDIF 
    190196 
     197      IF (PRESENT(build_workflow_graph_)) THEN 
     198        build_workflow_graph__tmp = build_workflow_graph_ 
     199        CALL cxios_set_fieldgroup_build_workflow_graph & 
     200      (fieldgroup_hdl%daddr, build_workflow_graph__tmp) 
     201      ENDIF 
     202 
    191203      IF (PRESENT(cell_methods_)) THEN 
    192204        CALL cxios_set_fieldgroup_cell_methods & 
     
    353365 
    354366  SUBROUTINE xios(get_fieldgroup_attr)  & 
    355     ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    356     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    357     , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    358     , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    359     , unit, valid_max, valid_min ) 
     367    ( fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     368    , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     369    , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     370    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     371    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    360372 
    361373    IMPLICIT NONE 
     
    364376      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset 
    365377      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     378      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     379      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    366380      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods 
    367381      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode 
     
    405419      (fieldgroup_id,fieldgroup_hdl) 
    406420      CALL xios(get_fieldgroup_attr_hdl_)   & 
    407       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    408       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    409       , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    410       , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    411       , unit, valid_max, valid_min ) 
     421      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     422      , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     423      , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     424      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     425      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    412426 
    413427  END SUBROUTINE xios(get_fieldgroup_attr) 
    414428 
    415429  SUBROUTINE xios(get_fieldgroup_attr_hdl)  & 
    416     ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    417     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    418     , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    419     , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    420     , unit, valid_max, valid_min ) 
     430    ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     431    , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     432    , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     433    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     434    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    421435 
    422436    IMPLICIT NONE 
     
    424438      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset 
    425439      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     440      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     441      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp 
    426442      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods 
    427443      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode 
     
    463479 
    464480      CALL xios(get_fieldgroup_attr_hdl_)  & 
    465       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    466       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    467       , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    468       , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    469       , unit, valid_max, valid_min ) 
     481      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     482      , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     483      , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     484      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     485      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    470486 
    471487  END SUBROUTINE xios(get_fieldgroup_attr_hdl) 
    472488 
    473489  SUBROUTINE xios(get_fieldgroup_attr_hdl_)   & 
    474     ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_  & 
    475     , comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_  & 
    476     , expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  & 
     490    ( fieldgroup_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  & 
     491    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  & 
     492    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  & 
    477493    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
    478494    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
     
    482498      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset_ 
    483499      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
     500      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph_ 
     501      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp 
    484502      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_ 
    485503      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode_ 
     
    530548      ENDIF 
    531549 
     550      IF (PRESENT(build_workflow_graph_)) THEN 
     551        CALL cxios_get_fieldgroup_build_workflow_graph & 
     552      (fieldgroup_hdl%daddr, build_workflow_graph__tmp) 
     553        build_workflow_graph_ = build_workflow_graph__tmp 
     554      ENDIF 
     555 
    532556      IF (PRESENT(cell_methods_)) THEN 
    533557        CALL cxios_get_fieldgroup_cell_methods & 
     
    694718 
    695719  SUBROUTINE xios(is_defined_fieldgroup_attr)  & 
    696     ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    697     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    698     , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    699     , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    700     , unit, valid_max, valid_min ) 
     720    ( fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     721    , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     722    , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     723    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     724    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    701725 
    702726    IMPLICIT NONE 
     
    707731      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    708732      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     733      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     734      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp 
    709735      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods 
    710736      LOGICAL(KIND=C_BOOL) :: cell_methods_tmp 
     
    773799      (fieldgroup_id,fieldgroup_hdl) 
    774800      CALL xios(is_defined_fieldgroup_attr_hdl_)   & 
    775       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    776       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    777       , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    778       , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    779       , unit, valid_max, valid_min ) 
     801      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     802      , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     803      , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     804      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     805      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    780806 
    781807  END SUBROUTINE xios(is_defined_fieldgroup_attr) 
    782808 
    783809  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)  & 
    784     ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    785     , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    786     , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    787     , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    788     , unit, valid_max, valid_min ) 
     810    ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     811    , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     812    , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     813    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     814    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    789815 
    790816    IMPLICIT NONE 
     
    794820      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    795821      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     822      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph 
     823      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp 
    796824      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods 
    797825      LOGICAL(KIND=C_BOOL) :: cell_methods_tmp 
     
    858886 
    859887      CALL xios(is_defined_fieldgroup_attr_hdl_)  & 
    860       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, comment  & 
    861       , compression_level, default_value, detect_missing_value, domain_ref, enabled, expr, field_ref  & 
    862       , freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level, long_name, name  & 
    863       , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq  & 
    864       , unit, valid_max, valid_min ) 
     888      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  & 
     889      , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref  & 
     890      , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
     891      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     892      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    865893 
    866894  END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) 
    867895 
    868896  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_)   & 
    869     ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_  & 
    870     , comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_  & 
    871     , expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  & 
     897    ( fieldgroup_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  & 
     898    , check_if_active_, comment_, compression_level_, default_value_, detect_missing_value_, domain_ref_  & 
     899    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  & 
    872900    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
    873901    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
     
    879907      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
    880908      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
     909      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph_ 
     910      LOGICAL(KIND=C_BOOL) :: build_workflow_graph__tmp 
    881911      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_ 
    882912      LOGICAL(KIND=C_BOOL) :: cell_methods__tmp 
     
    954984      ENDIF 
    955985 
     986      IF (PRESENT(build_workflow_graph_)) THEN 
     987        build_workflow_graph__tmp = cxios_is_defined_fieldgroup_build_workflow_graph & 
     988      (fieldgroup_hdl%daddr) 
     989        build_workflow_graph_ = build_workflow_graph__tmp 
     990      ENDIF 
     991 
    956992      IF (PRESENT(cell_methods_)) THEN 
    957993        cell_methods__tmp = cxios_is_defined_fieldgroup_cell_methods & 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iinterpolate_axis_attr.F90

    r966 r2338  
    1212 
    1313  SUBROUTINE xios(set_interpolate_axis_attr)  & 
    14     ( interpolate_axis_id, coordinate, order, type ) 
     14    ( interpolate_axis_id, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     15     ) 
    1516 
    1617    IMPLICIT NONE 
     
    1819      CHARACTER(LEN=*), INTENT(IN) ::interpolate_axis_id 
    1920      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate 
     21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_dst 
     22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_src 
     23      LOGICAL  , OPTIONAL, INTENT(IN) :: extrapolate 
     24      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    2025      INTEGER  , OPTIONAL, INTENT(IN) :: order 
    2126      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
     
    2429      (interpolate_axis_id,interpolate_axis_hdl) 
    2530      CALL xios(set_interpolate_axis_attr_hdl_)   & 
    26       ( interpolate_axis_hdl, coordinate, order, type ) 
     31      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     32       ) 
    2733 
    2834  END SUBROUTINE xios(set_interpolate_axis_attr) 
    2935 
    3036  SUBROUTINE xios(set_interpolate_axis_attr_hdl)  & 
    31     ( interpolate_axis_hdl, coordinate, order, type ) 
     37    ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     38     ) 
    3239 
    3340    IMPLICIT NONE 
    3441      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    3542      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate 
     43      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_dst 
     44      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_src 
     45      LOGICAL  , OPTIONAL, INTENT(IN) :: extrapolate 
     46      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    3647      INTEGER  , OPTIONAL, INTENT(IN) :: order 
    3748      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
    3849 
    3950      CALL xios(set_interpolate_axis_attr_hdl_)  & 
    40       ( interpolate_axis_hdl, coordinate, order, type ) 
     51      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     52       ) 
    4153 
    4254  END SUBROUTINE xios(set_interpolate_axis_attr_hdl) 
    4355 
    4456  SUBROUTINE xios(set_interpolate_axis_attr_hdl_)   & 
    45     ( interpolate_axis_hdl, coordinate_, order_, type_ ) 
     57    ( interpolate_axis_hdl, coordinate_, coordinate_dst_, coordinate_src_, extrapolate_, order_  & 
     58    , type_ ) 
    4659 
    4760    IMPLICIT NONE 
    4861      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    4962      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_ 
     63      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_dst_ 
     64      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_src_ 
     65      LOGICAL  , OPTIONAL, INTENT(IN) :: extrapolate_ 
     66      LOGICAL (KIND=C_BOOL) :: extrapolate__tmp 
    5067      INTEGER  , OPTIONAL, INTENT(IN) :: order_ 
    5168      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 
     
    5673      ENDIF 
    5774 
     75      IF (PRESENT(coordinate_dst_)) THEN 
     76        CALL cxios_set_interpolate_axis_coordinate_dst & 
     77      (interpolate_axis_hdl%daddr, coordinate_dst_, len(coordinate_dst_)) 
     78      ENDIF 
     79 
     80      IF (PRESENT(coordinate_src_)) THEN 
     81        CALL cxios_set_interpolate_axis_coordinate_src & 
     82      (interpolate_axis_hdl%daddr, coordinate_src_, len(coordinate_src_)) 
     83      ENDIF 
     84 
     85      IF (PRESENT(extrapolate_)) THEN 
     86        extrapolate__tmp = extrapolate_ 
     87        CALL cxios_set_interpolate_axis_extrapolate & 
     88      (interpolate_axis_hdl%daddr, extrapolate__tmp) 
     89      ENDIF 
     90 
    5891      IF (PRESENT(order_)) THEN 
    5992        CALL cxios_set_interpolate_axis_order & 
     
    69102 
    70103  SUBROUTINE xios(get_interpolate_axis_attr)  & 
    71     ( interpolate_axis_id, coordinate, order, type ) 
     104    ( interpolate_axis_id, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     105     ) 
    72106 
    73107    IMPLICIT NONE 
     
    75109      CHARACTER(LEN=*), INTENT(IN) ::interpolate_axis_id 
    76110      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate 
     111      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_dst 
     112      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_src 
     113      LOGICAL  , OPTIONAL, INTENT(OUT) :: extrapolate 
     114      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    77115      INTEGER  , OPTIONAL, INTENT(OUT) :: order 
    78116      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
     
    81119      (interpolate_axis_id,interpolate_axis_hdl) 
    82120      CALL xios(get_interpolate_axis_attr_hdl_)   & 
    83       ( interpolate_axis_hdl, coordinate, order, type ) 
     121      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     122       ) 
    84123 
    85124  END SUBROUTINE xios(get_interpolate_axis_attr) 
    86125 
    87126  SUBROUTINE xios(get_interpolate_axis_attr_hdl)  & 
    88     ( interpolate_axis_hdl, coordinate, order, type ) 
     127    ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     128     ) 
    89129 
    90130    IMPLICIT NONE 
    91131      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    92132      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate 
     133      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_dst 
     134      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_src 
     135      LOGICAL  , OPTIONAL, INTENT(OUT) :: extrapolate 
     136      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    93137      INTEGER  , OPTIONAL, INTENT(OUT) :: order 
    94138      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
    95139 
    96140      CALL xios(get_interpolate_axis_attr_hdl_)  & 
    97       ( interpolate_axis_hdl, coordinate, order, type ) 
     141      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     142       ) 
    98143 
    99144  END SUBROUTINE xios(get_interpolate_axis_attr_hdl) 
    100145 
    101146  SUBROUTINE xios(get_interpolate_axis_attr_hdl_)   & 
    102     ( interpolate_axis_hdl, coordinate_, order_, type_ ) 
     147    ( interpolate_axis_hdl, coordinate_, coordinate_dst_, coordinate_src_, extrapolate_, order_  & 
     148    , type_ ) 
    103149 
    104150    IMPLICIT NONE 
    105151      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    106152      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_ 
     153      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_dst_ 
     154      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_src_ 
     155      LOGICAL  , OPTIONAL, INTENT(OUT) :: extrapolate_ 
     156      LOGICAL (KIND=C_BOOL) :: extrapolate__tmp 
    107157      INTEGER  , OPTIONAL, INTENT(OUT) :: order_ 
    108158      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 
     
    113163      ENDIF 
    114164 
     165      IF (PRESENT(coordinate_dst_)) THEN 
     166        CALL cxios_get_interpolate_axis_coordinate_dst & 
     167      (interpolate_axis_hdl%daddr, coordinate_dst_, len(coordinate_dst_)) 
     168      ENDIF 
     169 
     170      IF (PRESENT(coordinate_src_)) THEN 
     171        CALL cxios_get_interpolate_axis_coordinate_src & 
     172      (interpolate_axis_hdl%daddr, coordinate_src_, len(coordinate_src_)) 
     173      ENDIF 
     174 
     175      IF (PRESENT(extrapolate_)) THEN 
     176        CALL cxios_get_interpolate_axis_extrapolate & 
     177      (interpolate_axis_hdl%daddr, extrapolate__tmp) 
     178        extrapolate_ = extrapolate__tmp 
     179      ENDIF 
     180 
    115181      IF (PRESENT(order_)) THEN 
    116182        CALL cxios_get_interpolate_axis_order & 
     
    126192 
    127193  SUBROUTINE xios(is_defined_interpolate_axis_attr)  & 
    128     ( interpolate_axis_id, coordinate, order, type ) 
     194    ( interpolate_axis_id, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     195     ) 
    129196 
    130197    IMPLICIT NONE 
     
    133200      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate 
    134201      LOGICAL(KIND=C_BOOL) :: coordinate_tmp 
     202      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_dst 
     203      LOGICAL(KIND=C_BOOL) :: coordinate_dst_tmp 
     204      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_src 
     205      LOGICAL(KIND=C_BOOL) :: coordinate_src_tmp 
     206      LOGICAL, OPTIONAL, INTENT(OUT) :: extrapolate 
     207      LOGICAL(KIND=C_BOOL) :: extrapolate_tmp 
    135208      LOGICAL, OPTIONAL, INTENT(OUT) :: order 
    136209      LOGICAL(KIND=C_BOOL) :: order_tmp 
     
    141214      (interpolate_axis_id,interpolate_axis_hdl) 
    142215      CALL xios(is_defined_interpolate_axis_attr_hdl_)   & 
    143       ( interpolate_axis_hdl, coordinate, order, type ) 
     216      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     217       ) 
    144218 
    145219  END SUBROUTINE xios(is_defined_interpolate_axis_attr) 
    146220 
    147221  SUBROUTINE xios(is_defined_interpolate_axis_attr_hdl)  & 
    148     ( interpolate_axis_hdl, coordinate, order, type ) 
     222    ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     223     ) 
    149224 
    150225    IMPLICIT NONE 
     
    152227      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate 
    153228      LOGICAL(KIND=C_BOOL) :: coordinate_tmp 
     229      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_dst 
     230      LOGICAL(KIND=C_BOOL) :: coordinate_dst_tmp 
     231      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_src 
     232      LOGICAL(KIND=C_BOOL) :: coordinate_src_tmp 
     233      LOGICAL, OPTIONAL, INTENT(OUT) :: extrapolate 
     234      LOGICAL(KIND=C_BOOL) :: extrapolate_tmp 
    154235      LOGICAL, OPTIONAL, INTENT(OUT) :: order 
    155236      LOGICAL(KIND=C_BOOL) :: order_tmp 
     
    158239 
    159240      CALL xios(is_defined_interpolate_axis_attr_hdl_)  & 
    160       ( interpolate_axis_hdl, coordinate, order, type ) 
     241      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     242       ) 
    161243 
    162244  END SUBROUTINE xios(is_defined_interpolate_axis_attr_hdl) 
    163245 
    164246  SUBROUTINE xios(is_defined_interpolate_axis_attr_hdl_)   & 
    165     ( interpolate_axis_hdl, coordinate_, order_, type_ ) 
     247    ( interpolate_axis_hdl, coordinate_, coordinate_dst_, coordinate_src_, extrapolate_, order_  & 
     248    , type_ ) 
    166249 
    167250    IMPLICIT NONE 
     
    169252      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_ 
    170253      LOGICAL(KIND=C_BOOL) :: coordinate__tmp 
     254      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_dst_ 
     255      LOGICAL(KIND=C_BOOL) :: coordinate_dst__tmp 
     256      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_src_ 
     257      LOGICAL(KIND=C_BOOL) :: coordinate_src__tmp 
     258      LOGICAL, OPTIONAL, INTENT(OUT) :: extrapolate_ 
     259      LOGICAL(KIND=C_BOOL) :: extrapolate__tmp 
    171260      LOGICAL, OPTIONAL, INTENT(OUT) :: order_ 
    172261      LOGICAL(KIND=C_BOOL) :: order__tmp 
     
    180269      ENDIF 
    181270 
     271      IF (PRESENT(coordinate_dst_)) THEN 
     272        coordinate_dst__tmp = cxios_is_defined_interpolate_axis_coordinate_dst & 
     273      (interpolate_axis_hdl%daddr) 
     274        coordinate_dst_ = coordinate_dst__tmp 
     275      ENDIF 
     276 
     277      IF (PRESENT(coordinate_src_)) THEN 
     278        coordinate_src__tmp = cxios_is_defined_interpolate_axis_coordinate_src & 
     279      (interpolate_axis_hdl%daddr) 
     280        coordinate_src_ = coordinate_src__tmp 
     281      ENDIF 
     282 
     283      IF (PRESENT(extrapolate_)) THEN 
     284        extrapolate__tmp = cxios_is_defined_interpolate_axis_extrapolate & 
     285      (interpolate_axis_hdl%daddr) 
     286        extrapolate_ = extrapolate__tmp 
     287      ENDIF 
     288 
    182289      IF (PRESENT(order_)) THEN 
    183290        order__tmp = cxios_is_defined_interpolate_axis_order & 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/interpolate_axis_interface_attr.F90

    r891 r2338  
    2929      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
    3030    END FUNCTION cxios_is_defined_interpolate_axis_coordinate 
     31 
     32 
     33    SUBROUTINE cxios_set_interpolate_axis_coordinate_dst(interpolate_axis_hdl, coordinate_dst, coordinate_dst_size) BIND(C) 
     34      USE ISO_C_BINDING 
     35      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     36      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: coordinate_dst 
     37      INTEGER  (kind = C_INT)     , VALUE        :: coordinate_dst_size 
     38    END SUBROUTINE cxios_set_interpolate_axis_coordinate_dst 
     39 
     40    SUBROUTINE cxios_get_interpolate_axis_coordinate_dst(interpolate_axis_hdl, coordinate_dst, coordinate_dst_size) BIND(C) 
     41      USE ISO_C_BINDING 
     42      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     43      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: coordinate_dst 
     44      INTEGER  (kind = C_INT)     , VALUE        :: coordinate_dst_size 
     45    END SUBROUTINE cxios_get_interpolate_axis_coordinate_dst 
     46 
     47    FUNCTION cxios_is_defined_interpolate_axis_coordinate_dst(interpolate_axis_hdl) BIND(C) 
     48      USE ISO_C_BINDING 
     49      LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_axis_coordinate_dst 
     50      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     51    END FUNCTION cxios_is_defined_interpolate_axis_coordinate_dst 
     52 
     53 
     54    SUBROUTINE cxios_set_interpolate_axis_coordinate_src(interpolate_axis_hdl, coordinate_src, coordinate_src_size) BIND(C) 
     55      USE ISO_C_BINDING 
     56      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     57      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: coordinate_src 
     58      INTEGER  (kind = C_INT)     , VALUE        :: coordinate_src_size 
     59    END SUBROUTINE cxios_set_interpolate_axis_coordinate_src 
     60 
     61    SUBROUTINE cxios_get_interpolate_axis_coordinate_src(interpolate_axis_hdl, coordinate_src, coordinate_src_size) BIND(C) 
     62      USE ISO_C_BINDING 
     63      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     64      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: coordinate_src 
     65      INTEGER  (kind = C_INT)     , VALUE        :: coordinate_src_size 
     66    END SUBROUTINE cxios_get_interpolate_axis_coordinate_src 
     67 
     68    FUNCTION cxios_is_defined_interpolate_axis_coordinate_src(interpolate_axis_hdl) BIND(C) 
     69      USE ISO_C_BINDING 
     70      LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_axis_coordinate_src 
     71      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     72    END FUNCTION cxios_is_defined_interpolate_axis_coordinate_src 
     73 
     74 
     75    SUBROUTINE cxios_set_interpolate_axis_extrapolate(interpolate_axis_hdl, extrapolate) BIND(C) 
     76      USE ISO_C_BINDING 
     77      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     78      LOGICAL (KIND=C_BOOL)      , VALUE :: extrapolate 
     79    END SUBROUTINE cxios_set_interpolate_axis_extrapolate 
     80 
     81    SUBROUTINE cxios_get_interpolate_axis_extrapolate(interpolate_axis_hdl, extrapolate) BIND(C) 
     82      USE ISO_C_BINDING 
     83      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     84      LOGICAL (KIND=C_BOOL)             :: extrapolate 
     85    END SUBROUTINE cxios_get_interpolate_axis_extrapolate 
     86 
     87    FUNCTION cxios_is_defined_interpolate_axis_extrapolate(interpolate_axis_hdl) BIND(C) 
     88      USE ISO_C_BINDING 
     89      LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_axis_extrapolate 
     90      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_axis_hdl 
     91    END FUNCTION cxios_is_defined_interpolate_axis_extrapolate 
    3192 
    3293 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/ireduce_axis_to_scalar_attr.F90

    r966 r2338  
    1212 
    1313  SUBROUTINE xios(set_reduce_axis_to_scalar_attr)  & 
    14     ( reduce_axis_to_scalar_id, operation ) 
     14    ( reduce_axis_to_scalar_id, local, operation ) 
    1515 
    1616    IMPLICIT NONE 
    1717      TYPE(txios(reduce_axis_to_scalar))  :: reduce_axis_to_scalar_hdl 
    1818      CHARACTER(LEN=*), INTENT(IN) ::reduce_axis_to_scalar_id 
     19      LOGICAL  , OPTIONAL, INTENT(IN) :: local 
     20      LOGICAL (KIND=C_BOOL) :: local_tmp 
    1921      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation 
    2022 
     
    2224      (reduce_axis_to_scalar_id,reduce_axis_to_scalar_hdl) 
    2325      CALL xios(set_reduce_axis_to_scalar_attr_hdl_)   & 
    24       ( reduce_axis_to_scalar_hdl, operation ) 
     26      ( reduce_axis_to_scalar_hdl, local, operation ) 
    2527 
    2628  END SUBROUTINE xios(set_reduce_axis_to_scalar_attr) 
    2729 
    2830  SUBROUTINE xios(set_reduce_axis_to_scalar_attr_hdl)  & 
    29     ( reduce_axis_to_scalar_hdl, operation ) 
     31    ( reduce_axis_to_scalar_hdl, local, operation ) 
    3032 
    3133    IMPLICIT NONE 
    3234      TYPE(txios(reduce_axis_to_scalar)) , INTENT(IN) :: reduce_axis_to_scalar_hdl 
     35      LOGICAL  , OPTIONAL, INTENT(IN) :: local 
     36      LOGICAL (KIND=C_BOOL) :: local_tmp 
    3337      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation 
    3438 
    3539      CALL xios(set_reduce_axis_to_scalar_attr_hdl_)  & 
    36       ( reduce_axis_to_scalar_hdl, operation ) 
     40      ( reduce_axis_to_scalar_hdl, local, operation ) 
    3741 
    3842  END SUBROUTINE xios(set_reduce_axis_to_scalar_attr_hdl) 
    3943 
    4044  SUBROUTINE xios(set_reduce_axis_to_scalar_attr_hdl_)   & 
    41     ( reduce_axis_to_scalar_hdl, operation_ ) 
     45    ( reduce_axis_to_scalar_hdl, local_, operation_ ) 
    4246 
    4347    IMPLICIT NONE 
    4448      TYPE(txios(reduce_axis_to_scalar)) , INTENT(IN) :: reduce_axis_to_scalar_hdl 
     49      LOGICAL  , OPTIONAL, INTENT(IN) :: local_ 
     50      LOGICAL (KIND=C_BOOL) :: local__tmp 
    4551      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_ 
     52 
     53      IF (PRESENT(local_)) THEN 
     54        local__tmp = local_ 
     55        CALL cxios_set_reduce_axis_to_scalar_local & 
     56      (reduce_axis_to_scalar_hdl%daddr, local__tmp) 
     57      ENDIF 
    4658 
    4759      IF (PRESENT(operation_)) THEN 
     
    5365 
    5466  SUBROUTINE xios(get_reduce_axis_to_scalar_attr)  & 
    55     ( reduce_axis_to_scalar_id, operation ) 
     67    ( reduce_axis_to_scalar_id, local, operation ) 
    5668 
    5769    IMPLICIT NONE 
    5870      TYPE(txios(reduce_axis_to_scalar))  :: reduce_axis_to_scalar_hdl 
    5971      CHARACTER(LEN=*), INTENT(IN) ::reduce_axis_to_scalar_id 
     72      LOGICAL  , OPTIONAL, INTENT(OUT) :: local 
     73      LOGICAL (KIND=C_BOOL) :: local_tmp 
    6074      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation 
    6175 
     
    6377      (reduce_axis_to_scalar_id,reduce_axis_to_scalar_hdl) 
    6478      CALL xios(get_reduce_axis_to_scalar_attr_hdl_)   & 
    65       ( reduce_axis_to_scalar_hdl, operation ) 
     79      ( reduce_axis_to_scalar_hdl, local, operation ) 
    6680 
    6781  END SUBROUTINE xios(get_reduce_axis_to_scalar_attr) 
    6882 
    6983  SUBROUTINE xios(get_reduce_axis_to_scalar_attr_hdl)  & 
    70     ( reduce_axis_to_scalar_hdl, operation ) 
     84    ( reduce_axis_to_scalar_hdl, local, operation ) 
    7185 
    7286    IMPLICIT NONE 
    7387      TYPE(txios(reduce_axis_to_scalar)) , INTENT(IN) :: reduce_axis_to_scalar_hdl 
     88      LOGICAL  , OPTIONAL, INTENT(OUT) :: local 
     89      LOGICAL (KIND=C_BOOL) :: local_tmp 
    7490      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation 
    7591 
    7692      CALL xios(get_reduce_axis_to_scalar_attr_hdl_)  & 
    77       ( reduce_axis_to_scalar_hdl, operation ) 
     93      ( reduce_axis_to_scalar_hdl, local, operation ) 
    7894 
    7995  END SUBROUTINE xios(get_reduce_axis_to_scalar_attr_hdl) 
    8096 
    8197  SUBROUTINE xios(get_reduce_axis_to_scalar_attr_hdl_)   & 
    82     ( reduce_axis_to_scalar_hdl, operation_ ) 
     98    ( reduce_axis_to_scalar_hdl, local_, operation_ ) 
    8399 
    84100    IMPLICIT NONE 
    85101      TYPE(txios(reduce_axis_to_scalar)) , INTENT(IN) :: reduce_axis_to_scalar_hdl 
     102      LOGICAL  , OPTIONAL, INTENT(OUT) :: local_ 
     103      LOGICAL (KIND=C_BOOL) :: local__tmp 
    86104      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation_ 
     105 
     106      IF (PRESENT(local_)) THEN 
     107        CALL cxios_get_reduce_axis_to_scalar_local & 
     108      (reduce_axis_to_scalar_hdl%daddr, local__tmp) 
     109        local_ = local__tmp 
     110      ENDIF 
    87111 
    88112      IF (PRESENT(operation_)) THEN 
     
    94118 
    95119  SUBROUTINE xios(is_defined_reduce_axis_to_scalar_attr)  & 
    96     ( reduce_axis_to_scalar_id, operation ) 
     120    ( reduce_axis_to_scalar_id, local, operation ) 
    97121 
    98122    IMPLICIT NONE 
    99123      TYPE(txios(reduce_axis_to_scalar))  :: reduce_axis_to_scalar_hdl 
    100124      CHARACTER(LEN=*), INTENT(IN) ::reduce_axis_to_scalar_id 
     125      LOGICAL, OPTIONAL, INTENT(OUT) :: local 
     126      LOGICAL(KIND=C_BOOL) :: local_tmp 
    101127      LOGICAL, OPTIONAL, INTENT(OUT) :: operation 
    102128      LOGICAL(KIND=C_BOOL) :: operation_tmp 
     
    105131      (reduce_axis_to_scalar_id,reduce_axis_to_scalar_hdl) 
    106132      CALL xios(is_defined_reduce_axis_to_scalar_attr_hdl_)   & 
    107       ( reduce_axis_to_scalar_hdl, operation ) 
     133      ( reduce_axis_to_scalar_hdl, local, operation ) 
    108134 
    109135  END SUBROUTINE xios(is_defined_reduce_axis_to_scalar_attr) 
    110136 
    111137  SUBROUTINE xios(is_defined_reduce_axis_to_scalar_attr_hdl)  & 
    112     ( reduce_axis_to_scalar_hdl, operation ) 
     138    ( reduce_axis_to_scalar_hdl, local, operation ) 
    113139 
    114140    IMPLICIT NONE 
    115141      TYPE(txios(reduce_axis_to_scalar)) , INTENT(IN) :: reduce_axis_to_scalar_hdl 
     142      LOGICAL, OPTIONAL, INTENT(OUT) :: local 
     143      LOGICAL(KIND=C_BOOL) :: local_tmp 
    116144      LOGICAL, OPTIONAL, INTENT(OUT) :: operation 
    117145      LOGICAL(KIND=C_BOOL) :: operation_tmp 
    118146 
    119147      CALL xios(is_defined_reduce_axis_to_scalar_attr_hdl_)  & 
    120       ( reduce_axis_to_scalar_hdl, operation ) 
     148      ( reduce_axis_to_scalar_hdl, local, operation ) 
    121149 
    122150  END SUBROUTINE xios(is_defined_reduce_axis_to_scalar_attr_hdl) 
    123151 
    124152  SUBROUTINE xios(is_defined_reduce_axis_to_scalar_attr_hdl_)   & 
    125     ( reduce_axis_to_scalar_hdl, operation_ ) 
     153    ( reduce_axis_to_scalar_hdl, local_, operation_ ) 
    126154 
    127155    IMPLICIT NONE 
    128156      TYPE(txios(reduce_axis_to_scalar)) , INTENT(IN) :: reduce_axis_to_scalar_hdl 
     157      LOGICAL, OPTIONAL, INTENT(OUT) :: local_ 
     158      LOGICAL(KIND=C_BOOL) :: local__tmp 
    129159      LOGICAL, OPTIONAL, INTENT(OUT) :: operation_ 
    130160      LOGICAL(KIND=C_BOOL) :: operation__tmp 
     161 
     162      IF (PRESENT(local_)) THEN 
     163        local__tmp = cxios_is_defined_reduce_axis_to_scalar_local & 
     164      (reduce_axis_to_scalar_hdl%daddr) 
     165        local_ = local__tmp 
     166      ENDIF 
    131167 
    132168      IF (PRESENT(operation_)) THEN 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iscalar_attr.F90

    r1941 r2338  
    1212 
    1313  SUBROUTINE xios(set_scalar_attr)  & 
    14     ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     14    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    1515    , prec, scalar_ref, standard_name, unit, value ) 
    1616 
     
    2626      LOGICAL  , OPTIONAL, INTENT(IN) :: mask 
    2727      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     28      INTEGER  , OPTIONAL, INTENT(IN) :: n 
    2829      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    2930      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
     
    3738      (scalar_id,scalar_hdl) 
    3839      CALL xios(set_scalar_attr_hdl_)   & 
    39       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     40      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    4041      , prec, scalar_ref, standard_name, unit, value ) 
    4142 
     
    4344 
    4445  SUBROUTINE xios(set_scalar_attr_hdl)  & 
    45     ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     46    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    4647    , prec, scalar_ref, standard_name, unit, value ) 
    4748 
     
    5657      LOGICAL  , OPTIONAL, INTENT(IN) :: mask 
    5758      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     59      INTEGER  , OPTIONAL, INTENT(IN) :: n 
    5860      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    5961      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
     
    6567 
    6668      CALL xios(set_scalar_attr_hdl_)  & 
    67       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     69      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    6870      , prec, scalar_ref, standard_name, unit, value ) 
    6971 
     
    7173 
    7274  SUBROUTINE xios(set_scalar_attr_hdl_)   & 
    73     ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, name_  & 
     75    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, n_, name_  & 
    7476    , positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    7577 
     
    8486      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_ 
    8587      LOGICAL (KIND=C_BOOL) :: mask__tmp 
     88      INTEGER  , OPTIONAL, INTENT(IN) :: n_ 
    8689      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    8790      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive_ 
     
    128131      ENDIF 
    129132 
     133      IF (PRESENT(n_)) THEN 
     134        CALL cxios_set_scalar_n & 
     135      (scalar_hdl%daddr, n_) 
     136      ENDIF 
     137 
    130138      IF (PRESENT(name_)) THEN 
    131139        CALL cxios_set_scalar_name & 
     
    166174 
    167175  SUBROUTINE xios(get_scalar_attr)  & 
    168     ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     176    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    169177    , prec, scalar_ref, standard_name, unit, value ) 
    170178 
     
    180188      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask 
    181189      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     190      INTEGER  , OPTIONAL, INTENT(OUT) :: n 
    182191      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    183192      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
     
    191200      (scalar_id,scalar_hdl) 
    192201      CALL xios(get_scalar_attr_hdl_)   & 
    193       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     202      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    194203      , prec, scalar_ref, standard_name, unit, value ) 
    195204 
     
    197206 
    198207  SUBROUTINE xios(get_scalar_attr_hdl)  & 
    199     ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     208    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    200209    , prec, scalar_ref, standard_name, unit, value ) 
    201210 
     
    210219      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask 
    211220      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     221      INTEGER  , OPTIONAL, INTENT(OUT) :: n 
    212222      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    213223      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
     
    219229 
    220230      CALL xios(get_scalar_attr_hdl_)  & 
    221       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     231      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    222232      , prec, scalar_ref, standard_name, unit, value ) 
    223233 
     
    225235 
    226236  SUBROUTINE xios(get_scalar_attr_hdl_)   & 
    227     ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, name_  & 
     237    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, n_, name_  & 
    228238    , positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    229239 
     
    238248      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_ 
    239249      LOGICAL (KIND=C_BOOL) :: mask__tmp 
     250      INTEGER  , OPTIONAL, INTENT(OUT) :: n_ 
    240251      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    241252      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive_ 
     
    282293      ENDIF 
    283294 
     295      IF (PRESENT(n_)) THEN 
     296        CALL cxios_get_scalar_n & 
     297      (scalar_hdl%daddr, n_) 
     298      ENDIF 
     299 
    284300      IF (PRESENT(name_)) THEN 
    285301        CALL cxios_get_scalar_name & 
     
    320336 
    321337  SUBROUTINE xios(is_defined_scalar_attr)  & 
    322     ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     338    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    323339    , prec, scalar_ref, standard_name, unit, value ) 
    324340 
     
    340356      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    341357      LOGICAL(KIND=C_BOOL) :: mask_tmp 
     358      LOGICAL, OPTIONAL, INTENT(OUT) :: n 
     359      LOGICAL(KIND=C_BOOL) :: n_tmp 
    342360      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    343361      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    358376      (scalar_id,scalar_hdl) 
    359377      CALL xios(is_defined_scalar_attr_hdl_)   & 
    360       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     378      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    361379      , prec, scalar_ref, standard_name, unit, value ) 
    362380 
     
    364382 
    365383  SUBROUTINE xios(is_defined_scalar_attr_hdl)  & 
    366     ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     384    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    367385    , prec, scalar_ref, standard_name, unit, value ) 
    368386 
     
    383401      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    384402      LOGICAL(KIND=C_BOOL) :: mask_tmp 
     403      LOGICAL, OPTIONAL, INTENT(OUT) :: n 
     404      LOGICAL(KIND=C_BOOL) :: n_tmp 
    385405      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    386406      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    399419 
    400420      CALL xios(is_defined_scalar_attr_hdl_)  & 
    401       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     421      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, n, name, positive  & 
    402422      , prec, scalar_ref, standard_name, unit, value ) 
    403423 
     
    405425 
    406426  SUBROUTINE xios(is_defined_scalar_attr_hdl_)   & 
    407     ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, name_  & 
     427    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, n_, name_  & 
    408428    , positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    409429 
     
    424444      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 
    425445      LOGICAL(KIND=C_BOOL) :: mask__tmp 
     446      LOGICAL, OPTIONAL, INTENT(OUT) :: n_ 
     447      LOGICAL(KIND=C_BOOL) :: n__tmp 
    426448      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    427449      LOGICAL(KIND=C_BOOL) :: name__tmp 
     
    481503      ENDIF 
    482504 
     505      IF (PRESENT(n_)) THEN 
     506        n__tmp = cxios_is_defined_scalar_n & 
     507      (scalar_hdl%daddr) 
     508        n_ = n__tmp 
     509      ENDIF 
     510 
    483511      IF (PRESENT(name_)) THEN 
    484512        name__tmp = cxios_is_defined_scalar_name & 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iscalargroup_attr.F90

    r1941 r2338  
    1313  SUBROUTINE xios(set_scalargroup_attr)  & 
    1414    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    15     , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     15    , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    1616 
    1717    IMPLICIT NONE 
     
    2727      LOGICAL  , OPTIONAL, INTENT(IN) :: mask 
    2828      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     29      INTEGER  , OPTIONAL, INTENT(IN) :: n 
    2930      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    3031      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
     
    3940      CALL xios(set_scalargroup_attr_hdl_)   & 
    4041      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    41       , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     42      , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    4243 
    4344  END SUBROUTINE xios(set_scalargroup_attr) 
     
    4546  SUBROUTINE xios(set_scalargroup_attr_hdl)  & 
    4647    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    47     , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     48    , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    4849 
    4950    IMPLICIT NONE 
     
    5859      LOGICAL  , OPTIONAL, INTENT(IN) :: mask 
    5960      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     61      INTEGER  , OPTIONAL, INTENT(IN) :: n 
    6062      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    6163      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
     
    6870      CALL xios(set_scalargroup_attr_hdl_)  & 
    6971      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    70       , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     72      , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    7173 
    7274  END SUBROUTINE xios(set_scalargroup_attr_hdl) 
     
    7476  SUBROUTINE xios(set_scalargroup_attr_hdl_)   & 
    7577    ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  & 
    76     , mask_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     78    , mask_, n_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    7779 
    7880    IMPLICIT NONE 
     
    8789      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_ 
    8890      LOGICAL (KIND=C_BOOL) :: mask__tmp 
     91      INTEGER  , OPTIONAL, INTENT(IN) :: n_ 
    8992      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    9093      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive_ 
     
    136139      ENDIF 
    137140 
     141      IF (PRESENT(n_)) THEN 
     142        CALL cxios_set_scalargroup_n & 
     143      (scalargroup_hdl%daddr, n_) 
     144      ENDIF 
     145 
    138146      IF (PRESENT(name_)) THEN 
    139147        CALL cxios_set_scalargroup_name & 
     
    175183  SUBROUTINE xios(get_scalargroup_attr)  & 
    176184    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    177     , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     185    , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    178186 
    179187    IMPLICIT NONE 
     
    189197      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask 
    190198      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     199      INTEGER  , OPTIONAL, INTENT(OUT) :: n 
    191200      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    192201      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
     
    201210      CALL xios(get_scalargroup_attr_hdl_)   & 
    202211      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    203       , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     212      , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    204213 
    205214  END SUBROUTINE xios(get_scalargroup_attr) 
     
    207216  SUBROUTINE xios(get_scalargroup_attr_hdl)  & 
    208217    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    209     , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     218    , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    210219 
    211220    IMPLICIT NONE 
     
    220229      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask 
    221230      LOGICAL (KIND=C_BOOL) :: mask_tmp 
     231      INTEGER  , OPTIONAL, INTENT(OUT) :: n 
    222232      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    223233      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
     
    230240      CALL xios(get_scalargroup_attr_hdl_)  & 
    231241      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    232       , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     242      , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    233243 
    234244  END SUBROUTINE xios(get_scalargroup_attr_hdl) 
     
    236246  SUBROUTINE xios(get_scalargroup_attr_hdl_)   & 
    237247    ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  & 
    238     , mask_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     248    , mask_, n_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    239249 
    240250    IMPLICIT NONE 
     
    249259      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_ 
    250260      LOGICAL (KIND=C_BOOL) :: mask__tmp 
     261      INTEGER  , OPTIONAL, INTENT(OUT) :: n_ 
    251262      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    252263      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive_ 
     
    298309      ENDIF 
    299310 
     311      IF (PRESENT(n_)) THEN 
     312        CALL cxios_get_scalargroup_n & 
     313      (scalargroup_hdl%daddr, n_) 
     314      ENDIF 
     315 
    300316      IF (PRESENT(name_)) THEN 
    301317        CALL cxios_get_scalargroup_name & 
     
    337353  SUBROUTINE xios(is_defined_scalargroup_attr)  & 
    338354    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    339     , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     355    , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    340356 
    341357    IMPLICIT NONE 
     
    358374      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    359375      LOGICAL(KIND=C_BOOL) :: mask_tmp 
     376      LOGICAL, OPTIONAL, INTENT(OUT) :: n 
     377      LOGICAL(KIND=C_BOOL) :: n_tmp 
    360378      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    361379      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    377395      CALL xios(is_defined_scalargroup_attr_hdl_)   & 
    378396      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    379       , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     397      , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    380398 
    381399  END SUBROUTINE xios(is_defined_scalargroup_attr) 
     
    383401  SUBROUTINE xios(is_defined_scalargroup_attr_hdl)  & 
    384402    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    385     , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     403    , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    386404 
    387405    IMPLICIT NONE 
     
    403421      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    404422      LOGICAL(KIND=C_BOOL) :: mask_tmp 
     423      LOGICAL, OPTIONAL, INTENT(OUT) :: n 
     424      LOGICAL(KIND=C_BOOL) :: n_tmp 
    405425      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    406426      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    420440      CALL xios(is_defined_scalargroup_attr_hdl_)  & 
    421441      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, mask  & 
    422       , name, positive, prec, scalar_ref, standard_name, unit, value ) 
     442      , n, name, positive, prec, scalar_ref, standard_name, unit, value ) 
    423443 
    424444  END SUBROUTINE xios(is_defined_scalargroup_attr_hdl) 
     
    426446  SUBROUTINE xios(is_defined_scalargroup_attr_hdl_)   & 
    427447    ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  & 
    428     , mask_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     448    , mask_, n_, name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    429449 
    430450    IMPLICIT NONE 
     
    446466      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 
    447467      LOGICAL(KIND=C_BOOL) :: mask__tmp 
     468      LOGICAL, OPTIONAL, INTENT(OUT) :: n_ 
     469      LOGICAL(KIND=C_BOOL) :: n__tmp 
    448470      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    449471      LOGICAL(KIND=C_BOOL) :: name__tmp 
     
    509531      ENDIF 
    510532 
     533      IF (PRESENT(n_)) THEN 
     534        n__tmp = cxios_is_defined_scalargroup_n & 
     535      (scalargroup_hdl%daddr) 
     536        n_ = n__tmp 
     537      ENDIF 
     538 
    511539      IF (PRESENT(name_)) THEN 
    512540        name__tmp = cxios_is_defined_scalargroup_name & 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/reduce_axis_to_scalar_interface_attr.F90

    r891 r2338  
    99  INTERFACE 
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
     11 
     12    SUBROUTINE cxios_set_reduce_axis_to_scalar_local(reduce_axis_to_scalar_hdl, local) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_axis_to_scalar_hdl 
     15      LOGICAL (KIND=C_BOOL)      , VALUE :: local 
     16    END SUBROUTINE cxios_set_reduce_axis_to_scalar_local 
     17 
     18    SUBROUTINE cxios_get_reduce_axis_to_scalar_local(reduce_axis_to_scalar_hdl, local) BIND(C) 
     19      USE ISO_C_BINDING 
     20      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_axis_to_scalar_hdl 
     21      LOGICAL (KIND=C_BOOL)             :: local 
     22    END SUBROUTINE cxios_get_reduce_axis_to_scalar_local 
     23 
     24    FUNCTION cxios_is_defined_reduce_axis_to_scalar_local(reduce_axis_to_scalar_hdl) BIND(C) 
     25      USE ISO_C_BINDING 
     26      LOGICAL(kind=C_BOOL) :: cxios_is_defined_reduce_axis_to_scalar_local 
     27      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_axis_to_scalar_hdl 
     28    END FUNCTION cxios_is_defined_reduce_axis_to_scalar_local 
     29 
    1130 
    1231    SUBROUTINE cxios_set_reduce_axis_to_scalar_operation(reduce_axis_to_scalar_hdl, operation, operation_size) BIND(C) 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/scalar_interface_attr.F90

    r1941 r2338  
    155155 
    156156 
     157    SUBROUTINE cxios_set_scalar_n(scalar_hdl, n) BIND(C) 
     158      USE ISO_C_BINDING 
     159      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     160      INTEGER (KIND=C_INT)      , VALUE :: n 
     161    END SUBROUTINE cxios_set_scalar_n 
     162 
     163    SUBROUTINE cxios_get_scalar_n(scalar_hdl, n) BIND(C) 
     164      USE ISO_C_BINDING 
     165      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     166      INTEGER (KIND=C_INT)             :: n 
     167    END SUBROUTINE cxios_get_scalar_n 
     168 
     169    FUNCTION cxios_is_defined_scalar_n(scalar_hdl) BIND(C) 
     170      USE ISO_C_BINDING 
     171      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalar_n 
     172      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     173    END FUNCTION cxios_is_defined_scalar_n 
     174 
     175 
    157176    SUBROUTINE cxios_set_scalar_name(scalar_hdl, name, name_size) BIND(C) 
    158177      USE ISO_C_BINDING 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/scalargroup_interface_attr.F90

    r1941 r2338  
    176176 
    177177 
     178    SUBROUTINE cxios_set_scalargroup_n(scalargroup_hdl, n) BIND(C) 
     179      USE ISO_C_BINDING 
     180      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     181      INTEGER (KIND=C_INT)      , VALUE :: n 
     182    END SUBROUTINE cxios_set_scalargroup_n 
     183 
     184    SUBROUTINE cxios_get_scalargroup_n(scalargroup_hdl, n) BIND(C) 
     185      USE ISO_C_BINDING 
     186      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     187      INTEGER (KIND=C_INT)             :: n 
     188    END SUBROUTINE cxios_get_scalargroup_n 
     189 
     190    FUNCTION cxios_is_defined_scalargroup_n(scalargroup_hdl) BIND(C) 
     191      USE ISO_C_BINDING 
     192      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalargroup_n 
     193      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     194    END FUNCTION cxios_is_defined_scalargroup_n 
     195 
     196 
    178197    SUBROUTINE cxios_set_scalargroup_name(scalargroup_hdl, name, name_size) BIND(C) 
    179198      USE ISO_C_BINDING 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/io/nc4_data_input.cpp

    r2312 r2338  
    495495    { 
    496496      // Ok, try to read some attributes such as longitude and latitude 
    497       domain->hasLatInReadFile = SuperClassWriter::hasVariable(itMapNj->first); 
    498       domain->hasLonInReadFile = SuperClassWriter::hasVariable(itMapNi->first); 
     497      domain->has_lat_in_read_file = SuperClassWriter::hasVariable(itMapNj->first); 
     498      domain->has_lon_in_read_file = SuperClassWriter::hasVariable(itMapNi->first); 
    499499    } 
    500500    else if ((CDomain::type_attr::curvilinear == domain->type) || (CDomain::type_attr::unstructured == domain->type) ) 
    501501    { 
    502502      StdString latName = this->getLatCoordName(fieldId); 
    503       domain->hasLatInReadFile = SuperClassWriter::hasVariable(latName) ; 
     503      domain->has_lat_in_read_file = SuperClassWriter::hasVariable(latName) ; 
    504504      StdString lonName = this->getLonCoordName(fieldId);         
    505       domain->hasLonInReadFile = SuperClassWriter::hasVariable(lonName) ;  
     505      domain->has_lon_in_read_file = SuperClassWriter::hasVariable(lonName) ;  
    506506      StdString boundsLatName = this->getBoundsId(latName); 
    507       domain->hasBoundsLatInReadFile = SuperClassWriter::hasVariable(boundsLatName) ;  
     507      domain->has_bounds_lat_in_read_file = SuperClassWriter::hasVariable(boundsLatName) ;  
    508508      StdString boundsLonName = this->getBoundsId(lonName); 
    509       domain->hasBoundsLonInReadFile = SuperClassWriter::hasVariable(boundsLonName) ; 
     509      domain->has_bounds_lon_in_read_file = SuperClassWriter::hasVariable(boundsLonName) ; 
    510510    } 
    511511  } 
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.cpp

    r2312 r2338  
    500500       lon_end.setValue(lonvalue_rectilinear_read_from_file(ni_glo-1)); 
    501501     } 
    502      else if (hasLonInReadFile.isEmpty() || !hasLonInReadFile) 
     502     else if (has_lon_in_read_file.isEmpty() || !has_lon_in_read_file) 
    503503     { 
    504504       if (!lonvalue_2d.isEmpty()) lonvalue_2d.free(); 
     
    534534       lat_end.setValue(latvalue_rectilinear_read_from_file(nj_glo-1)); 
    535535     } 
    536      else if (hasLatInReadFile.isEmpty() || !hasLatInReadFile) 
     536     else if (has_lat_in_read_file.isEmpty() || !has_lat_in_read_file) 
    537537     { 
    538538       if (!latvalue_2d.isEmpty()) latvalue_1d.free(); 
Note: See TracChangeset for help on using the changeset viewer.