Changeset 1492 for XIOS/dev


Ignore:
Timestamp:
04/24/18 18:03:18 (6 years ago)
Author:
oabramkina
Message:

Updating fortran interface for attributes that have been recently introduced and the following filters:

duplicate_scalar_to_axis
reduce_axis_to_axis
reduce_scalar_to_scalar
reorder_domain
temporal_splitting.

Location:
XIOS/dev/XIOS_DEV_CMIP6/src
Files:
30 added
49 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/XIOS_DEV_CMIP6/src/generate_fortran_interface.cpp

    r1457 r1492  
    302302  file.open((path+"iexpand_domain_attr.F90").c_str()); 
    303303  expandDomain.generateFortranInterface(file); 
     304  file.close(); 
    304305 
    305306  file.open((path+"reorder_domain_interface_attr.F90").c_str()); 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icaxis_attr.cpp

    r1158 r1492  
    4444 
    4545 
     46  void cxios_set_axis_axis_type(axis_Ptr axis_hdl, const char * axis_type, int axis_type_size) 
     47  { 
     48    std::string axis_type_str; 
     49    if (!cstr2string(axis_type, axis_type_size, axis_type_str)) return; 
     50    CTimer::get("XIOS").resume(); 
     51    axis_hdl->axis_type.fromString(axis_type_str); 
     52    CTimer::get("XIOS").suspend(); 
     53  } 
     54 
     55  void cxios_get_axis_axis_type(axis_Ptr axis_hdl, char * axis_type, int axis_type_size) 
     56  { 
     57    CTimer::get("XIOS").resume(); 
     58    if (!string_copy(axis_hdl->axis_type.getInheritedStringValue(), axis_type, axis_type_size)) 
     59      ERROR("void cxios_get_axis_axis_type(axis_Ptr axis_hdl, char * axis_type, int axis_type_size)", << "Input string is too short"); 
     60    CTimer::get("XIOS").suspend(); 
     61  } 
     62 
     63  bool cxios_is_defined_axis_axis_type(axis_Ptr axis_hdl) 
     64  { 
     65     CTimer::get("XIOS").resume(); 
     66     bool isDefined = axis_hdl->axis_type.hasInheritedValue(); 
     67     CTimer::get("XIOS").suspend(); 
     68     return isDefined; 
     69  } 
     70 
     71 
    4672  void cxios_set_axis_begin(axis_Ptr axis_hdl, int begin) 
    4773  { 
     
    92118 
    93119 
     120  void cxios_set_axis_bounds_name(axis_Ptr axis_hdl, const char * bounds_name, int bounds_name_size) 
     121  { 
     122    std::string bounds_name_str; 
     123    if (!cstr2string(bounds_name, bounds_name_size, bounds_name_str)) return; 
     124    CTimer::get("XIOS").resume(); 
     125    axis_hdl->bounds_name.setValue(bounds_name_str); 
     126    CTimer::get("XIOS").suspend(); 
     127  } 
     128 
     129  void cxios_get_axis_bounds_name(axis_Ptr axis_hdl, char * bounds_name, int bounds_name_size) 
     130  { 
     131    CTimer::get("XIOS").resume(); 
     132    if (!string_copy(axis_hdl->bounds_name.getInheritedValue(), bounds_name, bounds_name_size)) 
     133      ERROR("void cxios_get_axis_bounds_name(axis_Ptr axis_hdl, char * bounds_name, int bounds_name_size)", << "Input string is too short"); 
     134    CTimer::get("XIOS").suspend(); 
     135  } 
     136 
     137  bool cxios_is_defined_axis_bounds_name(axis_Ptr axis_hdl) 
     138  { 
     139     CTimer::get("XIOS").resume(); 
     140     bool isDefined = axis_hdl->bounds_name.hasInheritedValue(); 
     141     CTimer::get("XIOS").suspend(); 
     142     return isDefined; 
     143  } 
     144 
     145 
     146  void cxios_set_axis_comment(axis_Ptr axis_hdl, const char * comment, int comment_size) 
     147  { 
     148    std::string comment_str; 
     149    if (!cstr2string(comment, comment_size, comment_str)) return; 
     150    CTimer::get("XIOS").resume(); 
     151    axis_hdl->comment.setValue(comment_str); 
     152    CTimer::get("XIOS").suspend(); 
     153  } 
     154 
     155  void cxios_get_axis_comment(axis_Ptr axis_hdl, char * comment, int comment_size) 
     156  { 
     157    CTimer::get("XIOS").resume(); 
     158    if (!string_copy(axis_hdl->comment.getInheritedValue(), comment, comment_size)) 
     159      ERROR("void cxios_get_axis_comment(axis_Ptr axis_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     160    CTimer::get("XIOS").suspend(); 
     161  } 
     162 
     163  bool cxios_is_defined_axis_comment(axis_Ptr axis_hdl) 
     164  { 
     165     CTimer::get("XIOS").resume(); 
     166     bool isDefined = axis_hdl->comment.hasInheritedValue(); 
     167     CTimer::get("XIOS").suspend(); 
     168     return isDefined; 
     169  } 
     170 
     171 
    94172  void cxios_set_axis_data_begin(axis_Ptr axis_hdl, int data_begin) 
    95173  { 
     
    158236     CTimer::get("XIOS").resume(); 
    159237     bool isDefined = axis_hdl->data_n.hasInheritedValue(); 
     238     CTimer::get("XIOS").suspend(); 
     239     return isDefined; 
     240  } 
     241 
     242 
     243  void cxios_set_axis_dim_name(axis_Ptr axis_hdl, const char * dim_name, int dim_name_size) 
     244  { 
     245    std::string dim_name_str; 
     246    if (!cstr2string(dim_name, dim_name_size, dim_name_str)) return; 
     247    CTimer::get("XIOS").resume(); 
     248    axis_hdl->dim_name.setValue(dim_name_str); 
     249    CTimer::get("XIOS").suspend(); 
     250  } 
     251 
     252  void cxios_get_axis_dim_name(axis_Ptr axis_hdl, char * dim_name, int dim_name_size) 
     253  { 
     254    CTimer::get("XIOS").resume(); 
     255    if (!string_copy(axis_hdl->dim_name.getInheritedValue(), dim_name, dim_name_size)) 
     256      ERROR("void cxios_get_axis_dim_name(axis_Ptr axis_hdl, char * dim_name, int dim_name_size)", << "Input string is too short"); 
     257    CTimer::get("XIOS").suspend(); 
     258  } 
     259 
     260  bool cxios_is_defined_axis_dim_name(axis_Ptr axis_hdl) 
     261  { 
     262     CTimer::get("XIOS").resume(); 
     263     bool isDefined = axis_hdl->dim_name.hasInheritedValue(); 
     264     CTimer::get("XIOS").suspend(); 
     265     return isDefined; 
     266  } 
     267 
     268 
     269  void cxios_set_axis_formula(axis_Ptr axis_hdl, const char * formula, int formula_size) 
     270  { 
     271    std::string formula_str; 
     272    if (!cstr2string(formula, formula_size, formula_str)) return; 
     273    CTimer::get("XIOS").resume(); 
     274    axis_hdl->formula.setValue(formula_str); 
     275    CTimer::get("XIOS").suspend(); 
     276  } 
     277 
     278  void cxios_get_axis_formula(axis_Ptr axis_hdl, char * formula, int formula_size) 
     279  { 
     280    CTimer::get("XIOS").resume(); 
     281    if (!string_copy(axis_hdl->formula.getInheritedValue(), formula, formula_size)) 
     282      ERROR("void cxios_get_axis_formula(axis_Ptr axis_hdl, char * formula, int formula_size)", << "Input string is too short"); 
     283    CTimer::get("XIOS").suspend(); 
     284  } 
     285 
     286  bool cxios_is_defined_axis_formula(axis_Ptr axis_hdl) 
     287  { 
     288     CTimer::get("XIOS").resume(); 
     289     bool isDefined = axis_hdl->formula.hasInheritedValue(); 
     290     CTimer::get("XIOS").suspend(); 
     291     return isDefined; 
     292  } 
     293 
     294 
     295  void cxios_set_axis_formula_bounds(axis_Ptr axis_hdl, const char * formula_bounds, int formula_bounds_size) 
     296  { 
     297    std::string formula_bounds_str; 
     298    if (!cstr2string(formula_bounds, formula_bounds_size, formula_bounds_str)) return; 
     299    CTimer::get("XIOS").resume(); 
     300    axis_hdl->formula_bounds.setValue(formula_bounds_str); 
     301    CTimer::get("XIOS").suspend(); 
     302  } 
     303 
     304  void cxios_get_axis_formula_bounds(axis_Ptr axis_hdl, char * formula_bounds, int formula_bounds_size) 
     305  { 
     306    CTimer::get("XIOS").resume(); 
     307    if (!string_copy(axis_hdl->formula_bounds.getInheritedValue(), formula_bounds, formula_bounds_size)) 
     308      ERROR("void cxios_get_axis_formula_bounds(axis_Ptr axis_hdl, char * formula_bounds, int formula_bounds_size)", << "Input string is too short"); 
     309    CTimer::get("XIOS").suspend(); 
     310  } 
     311 
     312  bool cxios_is_defined_axis_formula_bounds(axis_Ptr axis_hdl) 
     313  { 
     314     CTimer::get("XIOS").resume(); 
     315     bool isDefined = axis_hdl->formula_bounds.hasInheritedValue(); 
     316     CTimer::get("XIOS").suspend(); 
     317     return isDefined; 
     318  } 
     319 
     320 
     321  void cxios_set_axis_formula_term(axis_Ptr axis_hdl, const char * formula_term, int formula_term_size) 
     322  { 
     323    std::string formula_term_str; 
     324    if (!cstr2string(formula_term, formula_term_size, formula_term_str)) return; 
     325    CTimer::get("XIOS").resume(); 
     326    axis_hdl->formula_term.setValue(formula_term_str); 
     327    CTimer::get("XIOS").suspend(); 
     328  } 
     329 
     330  void cxios_get_axis_formula_term(axis_Ptr axis_hdl, char * formula_term, int formula_term_size) 
     331  { 
     332    CTimer::get("XIOS").resume(); 
     333    if (!string_copy(axis_hdl->formula_term.getInheritedValue(), formula_term, formula_term_size)) 
     334      ERROR("void cxios_get_axis_formula_term(axis_Ptr axis_hdl, char * formula_term, int formula_term_size)", << "Input string is too short"); 
     335    CTimer::get("XIOS").suspend(); 
     336  } 
     337 
     338  bool cxios_is_defined_axis_formula_term(axis_Ptr axis_hdl) 
     339  { 
     340     CTimer::get("XIOS").resume(); 
     341     bool isDefined = axis_hdl->formula_term.hasInheritedValue(); 
     342     CTimer::get("XIOS").suspend(); 
     343     return isDefined; 
     344  } 
     345 
     346 
     347  void cxios_set_axis_formula_term_bounds(axis_Ptr axis_hdl, const char * formula_term_bounds, int formula_term_bounds_size) 
     348  { 
     349    std::string formula_term_bounds_str; 
     350    if (!cstr2string(formula_term_bounds, formula_term_bounds_size, formula_term_bounds_str)) return; 
     351    CTimer::get("XIOS").resume(); 
     352    axis_hdl->formula_term_bounds.setValue(formula_term_bounds_str); 
     353    CTimer::get("XIOS").suspend(); 
     354  } 
     355 
     356  void cxios_get_axis_formula_term_bounds(axis_Ptr axis_hdl, char * formula_term_bounds, int formula_term_bounds_size) 
     357  { 
     358    CTimer::get("XIOS").resume(); 
     359    if (!string_copy(axis_hdl->formula_term_bounds.getInheritedValue(), formula_term_bounds, formula_term_bounds_size)) 
     360      ERROR("void cxios_get_axis_formula_term_bounds(axis_Ptr axis_hdl, char * formula_term_bounds, int formula_term_bounds_size)", << "Input string is too short"); 
     361    CTimer::get("XIOS").suspend(); 
     362  } 
     363 
     364  bool cxios_is_defined_axis_formula_term_bounds(axis_Ptr axis_hdl) 
     365  { 
     366     CTimer::get("XIOS").resume(); 
     367     bool isDefined = axis_hdl->formula_term_bounds.hasInheritedValue(); 
    160368     CTimer::get("XIOS").suspend(); 
    161369     return isDefined; 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icaxisgroup_attr.cpp

    r1158 r1492  
    4444 
    4545 
     46  void cxios_set_axisgroup_axis_type(axisgroup_Ptr axisgroup_hdl, const char * axis_type, int axis_type_size) 
     47  { 
     48    std::string axis_type_str; 
     49    if (!cstr2string(axis_type, axis_type_size, axis_type_str)) return; 
     50    CTimer::get("XIOS").resume(); 
     51    axisgroup_hdl->axis_type.fromString(axis_type_str); 
     52    CTimer::get("XIOS").suspend(); 
     53  } 
     54 
     55  void cxios_get_axisgroup_axis_type(axisgroup_Ptr axisgroup_hdl, char * axis_type, int axis_type_size) 
     56  { 
     57    CTimer::get("XIOS").resume(); 
     58    if (!string_copy(axisgroup_hdl->axis_type.getInheritedStringValue(), axis_type, axis_type_size)) 
     59      ERROR("void cxios_get_axisgroup_axis_type(axisgroup_Ptr axisgroup_hdl, char * axis_type, int axis_type_size)", << "Input string is too short"); 
     60    CTimer::get("XIOS").suspend(); 
     61  } 
     62 
     63  bool cxios_is_defined_axisgroup_axis_type(axisgroup_Ptr axisgroup_hdl) 
     64  { 
     65     CTimer::get("XIOS").resume(); 
     66     bool isDefined = axisgroup_hdl->axis_type.hasInheritedValue(); 
     67     CTimer::get("XIOS").suspend(); 
     68     return isDefined; 
     69  } 
     70 
     71 
    4672  void cxios_set_axisgroup_begin(axisgroup_Ptr axisgroup_hdl, int begin) 
    4773  { 
     
    92118 
    93119 
     120  void cxios_set_axisgroup_bounds_name(axisgroup_Ptr axisgroup_hdl, const char * bounds_name, int bounds_name_size) 
     121  { 
     122    std::string bounds_name_str; 
     123    if (!cstr2string(bounds_name, bounds_name_size, bounds_name_str)) return; 
     124    CTimer::get("XIOS").resume(); 
     125    axisgroup_hdl->bounds_name.setValue(bounds_name_str); 
     126    CTimer::get("XIOS").suspend(); 
     127  } 
     128 
     129  void cxios_get_axisgroup_bounds_name(axisgroup_Ptr axisgroup_hdl, char * bounds_name, int bounds_name_size) 
     130  { 
     131    CTimer::get("XIOS").resume(); 
     132    if (!string_copy(axisgroup_hdl->bounds_name.getInheritedValue(), bounds_name, bounds_name_size)) 
     133      ERROR("void cxios_get_axisgroup_bounds_name(axisgroup_Ptr axisgroup_hdl, char * bounds_name, int bounds_name_size)", << "Input string is too short"); 
     134    CTimer::get("XIOS").suspend(); 
     135  } 
     136 
     137  bool cxios_is_defined_axisgroup_bounds_name(axisgroup_Ptr axisgroup_hdl) 
     138  { 
     139     CTimer::get("XIOS").resume(); 
     140     bool isDefined = axisgroup_hdl->bounds_name.hasInheritedValue(); 
     141     CTimer::get("XIOS").suspend(); 
     142     return isDefined; 
     143  } 
     144 
     145 
     146  void cxios_set_axisgroup_comment(axisgroup_Ptr axisgroup_hdl, const char * comment, int comment_size) 
     147  { 
     148    std::string comment_str; 
     149    if (!cstr2string(comment, comment_size, comment_str)) return; 
     150    CTimer::get("XIOS").resume(); 
     151    axisgroup_hdl->comment.setValue(comment_str); 
     152    CTimer::get("XIOS").suspend(); 
     153  } 
     154 
     155  void cxios_get_axisgroup_comment(axisgroup_Ptr axisgroup_hdl, char * comment, int comment_size) 
     156  { 
     157    CTimer::get("XIOS").resume(); 
     158    if (!string_copy(axisgroup_hdl->comment.getInheritedValue(), comment, comment_size)) 
     159      ERROR("void cxios_get_axisgroup_comment(axisgroup_Ptr axisgroup_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     160    CTimer::get("XIOS").suspend(); 
     161  } 
     162 
     163  bool cxios_is_defined_axisgroup_comment(axisgroup_Ptr axisgroup_hdl) 
     164  { 
     165     CTimer::get("XIOS").resume(); 
     166     bool isDefined = axisgroup_hdl->comment.hasInheritedValue(); 
     167     CTimer::get("XIOS").suspend(); 
     168     return isDefined; 
     169  } 
     170 
     171 
    94172  void cxios_set_axisgroup_data_begin(axisgroup_Ptr axisgroup_hdl, int data_begin) 
    95173  { 
     
    158236     CTimer::get("XIOS").resume(); 
    159237     bool isDefined = axisgroup_hdl->data_n.hasInheritedValue(); 
     238     CTimer::get("XIOS").suspend(); 
     239     return isDefined; 
     240  } 
     241 
     242 
     243  void cxios_set_axisgroup_dim_name(axisgroup_Ptr axisgroup_hdl, const char * dim_name, int dim_name_size) 
     244  { 
     245    std::string dim_name_str; 
     246    if (!cstr2string(dim_name, dim_name_size, dim_name_str)) return; 
     247    CTimer::get("XIOS").resume(); 
     248    axisgroup_hdl->dim_name.setValue(dim_name_str); 
     249    CTimer::get("XIOS").suspend(); 
     250  } 
     251 
     252  void cxios_get_axisgroup_dim_name(axisgroup_Ptr axisgroup_hdl, char * dim_name, int dim_name_size) 
     253  { 
     254    CTimer::get("XIOS").resume(); 
     255    if (!string_copy(axisgroup_hdl->dim_name.getInheritedValue(), dim_name, dim_name_size)) 
     256      ERROR("void cxios_get_axisgroup_dim_name(axisgroup_Ptr axisgroup_hdl, char * dim_name, int dim_name_size)", << "Input string is too short"); 
     257    CTimer::get("XIOS").suspend(); 
     258  } 
     259 
     260  bool cxios_is_defined_axisgroup_dim_name(axisgroup_Ptr axisgroup_hdl) 
     261  { 
     262     CTimer::get("XIOS").resume(); 
     263     bool isDefined = axisgroup_hdl->dim_name.hasInheritedValue(); 
     264     CTimer::get("XIOS").suspend(); 
     265     return isDefined; 
     266  } 
     267 
     268 
     269  void cxios_set_axisgroup_formula(axisgroup_Ptr axisgroup_hdl, const char * formula, int formula_size) 
     270  { 
     271    std::string formula_str; 
     272    if (!cstr2string(formula, formula_size, formula_str)) return; 
     273    CTimer::get("XIOS").resume(); 
     274    axisgroup_hdl->formula.setValue(formula_str); 
     275    CTimer::get("XIOS").suspend(); 
     276  } 
     277 
     278  void cxios_get_axisgroup_formula(axisgroup_Ptr axisgroup_hdl, char * formula, int formula_size) 
     279  { 
     280    CTimer::get("XIOS").resume(); 
     281    if (!string_copy(axisgroup_hdl->formula.getInheritedValue(), formula, formula_size)) 
     282      ERROR("void cxios_get_axisgroup_formula(axisgroup_Ptr axisgroup_hdl, char * formula, int formula_size)", << "Input string is too short"); 
     283    CTimer::get("XIOS").suspend(); 
     284  } 
     285 
     286  bool cxios_is_defined_axisgroup_formula(axisgroup_Ptr axisgroup_hdl) 
     287  { 
     288     CTimer::get("XIOS").resume(); 
     289     bool isDefined = axisgroup_hdl->formula.hasInheritedValue(); 
     290     CTimer::get("XIOS").suspend(); 
     291     return isDefined; 
     292  } 
     293 
     294 
     295  void cxios_set_axisgroup_formula_bounds(axisgroup_Ptr axisgroup_hdl, const char * formula_bounds, int formula_bounds_size) 
     296  { 
     297    std::string formula_bounds_str; 
     298    if (!cstr2string(formula_bounds, formula_bounds_size, formula_bounds_str)) return; 
     299    CTimer::get("XIOS").resume(); 
     300    axisgroup_hdl->formula_bounds.setValue(formula_bounds_str); 
     301    CTimer::get("XIOS").suspend(); 
     302  } 
     303 
     304  void cxios_get_axisgroup_formula_bounds(axisgroup_Ptr axisgroup_hdl, char * formula_bounds, int formula_bounds_size) 
     305  { 
     306    CTimer::get("XIOS").resume(); 
     307    if (!string_copy(axisgroup_hdl->formula_bounds.getInheritedValue(), formula_bounds, formula_bounds_size)) 
     308      ERROR("void cxios_get_axisgroup_formula_bounds(axisgroup_Ptr axisgroup_hdl, char * formula_bounds, int formula_bounds_size)", << "Input string is too short"); 
     309    CTimer::get("XIOS").suspend(); 
     310  } 
     311 
     312  bool cxios_is_defined_axisgroup_formula_bounds(axisgroup_Ptr axisgroup_hdl) 
     313  { 
     314     CTimer::get("XIOS").resume(); 
     315     bool isDefined = axisgroup_hdl->formula_bounds.hasInheritedValue(); 
     316     CTimer::get("XIOS").suspend(); 
     317     return isDefined; 
     318  } 
     319 
     320 
     321  void cxios_set_axisgroup_formula_term(axisgroup_Ptr axisgroup_hdl, const char * formula_term, int formula_term_size) 
     322  { 
     323    std::string formula_term_str; 
     324    if (!cstr2string(formula_term, formula_term_size, formula_term_str)) return; 
     325    CTimer::get("XIOS").resume(); 
     326    axisgroup_hdl->formula_term.setValue(formula_term_str); 
     327    CTimer::get("XIOS").suspend(); 
     328  } 
     329 
     330  void cxios_get_axisgroup_formula_term(axisgroup_Ptr axisgroup_hdl, char * formula_term, int formula_term_size) 
     331  { 
     332    CTimer::get("XIOS").resume(); 
     333    if (!string_copy(axisgroup_hdl->formula_term.getInheritedValue(), formula_term, formula_term_size)) 
     334      ERROR("void cxios_get_axisgroup_formula_term(axisgroup_Ptr axisgroup_hdl, char * formula_term, int formula_term_size)", << "Input string is too short"); 
     335    CTimer::get("XIOS").suspend(); 
     336  } 
     337 
     338  bool cxios_is_defined_axisgroup_formula_term(axisgroup_Ptr axisgroup_hdl) 
     339  { 
     340     CTimer::get("XIOS").resume(); 
     341     bool isDefined = axisgroup_hdl->formula_term.hasInheritedValue(); 
     342     CTimer::get("XIOS").suspend(); 
     343     return isDefined; 
     344  } 
     345 
     346 
     347  void cxios_set_axisgroup_formula_term_bounds(axisgroup_Ptr axisgroup_hdl, const char * formula_term_bounds, int formula_term_bounds_size) 
     348  { 
     349    std::string formula_term_bounds_str; 
     350    if (!cstr2string(formula_term_bounds, formula_term_bounds_size, formula_term_bounds_str)) return; 
     351    CTimer::get("XIOS").resume(); 
     352    axisgroup_hdl->formula_term_bounds.setValue(formula_term_bounds_str); 
     353    CTimer::get("XIOS").suspend(); 
     354  } 
     355 
     356  void cxios_get_axisgroup_formula_term_bounds(axisgroup_Ptr axisgroup_hdl, char * formula_term_bounds, int formula_term_bounds_size) 
     357  { 
     358    CTimer::get("XIOS").resume(); 
     359    if (!string_copy(axisgroup_hdl->formula_term_bounds.getInheritedValue(), formula_term_bounds, formula_term_bounds_size)) 
     360      ERROR("void cxios_get_axisgroup_formula_term_bounds(axisgroup_Ptr axisgroup_hdl, char * formula_term_bounds, int formula_term_bounds_size)", << "Input string is too short"); 
     361    CTimer::get("XIOS").suspend(); 
     362  } 
     363 
     364  bool cxios_is_defined_axisgroup_formula_term_bounds(axisgroup_Ptr axisgroup_hdl) 
     365  { 
     366     CTimer::get("XIOS").resume(); 
     367     bool isDefined = axisgroup_hdl->formula_term_bounds.hasInheritedValue(); 
    160368     CTimer::get("XIOS").suspend(); 
    161369     return isDefined; 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/iccalendar_wrapper_attr.cpp

    r674 r1492  
    1818  typedef xios::CCalendarWrapper* calendar_wrapper_Ptr; 
    1919 
     20  void cxios_set_calendar_wrapper_comment(calendar_wrapper_Ptr calendar_wrapper_hdl, const char * comment, int comment_size) 
     21  { 
     22    std::string comment_str; 
     23    if (!cstr2string(comment, comment_size, comment_str)) return; 
     24    CTimer::get("XIOS").resume(); 
     25    calendar_wrapper_hdl->comment.setValue(comment_str); 
     26    CTimer::get("XIOS").suspend(); 
     27  } 
     28 
     29  void cxios_get_calendar_wrapper_comment(calendar_wrapper_Ptr calendar_wrapper_hdl, char * comment, int comment_size) 
     30  { 
     31    CTimer::get("XIOS").resume(); 
     32    if (!string_copy(calendar_wrapper_hdl->comment.getInheritedValue(), comment, comment_size)) 
     33      ERROR("void cxios_get_calendar_wrapper_comment(calendar_wrapper_Ptr calendar_wrapper_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     34    CTimer::get("XIOS").suspend(); 
     35  } 
     36 
     37  bool cxios_is_defined_calendar_wrapper_comment(calendar_wrapper_Ptr calendar_wrapper_hdl) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40     bool isDefined = calendar_wrapper_hdl->comment.hasInheritedValue(); 
     41     CTimer::get("XIOS").suspend(); 
     42     return isDefined; 
     43  } 
     44 
     45 
    2046  void cxios_set_calendar_wrapper_day_length(calendar_wrapper_Ptr calendar_wrapper_hdl, int day_length) 
    2147  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icdomain_attr.cpp

    r1158 r1492  
    9393 
    9494 
     95  void cxios_set_domain_bounds_lat_name(domain_Ptr domain_hdl, const char * bounds_lat_name, int bounds_lat_name_size) 
     96  { 
     97    std::string bounds_lat_name_str; 
     98    if (!cstr2string(bounds_lat_name, bounds_lat_name_size, bounds_lat_name_str)) return; 
     99    CTimer::get("XIOS").resume(); 
     100    domain_hdl->bounds_lat_name.setValue(bounds_lat_name_str); 
     101    CTimer::get("XIOS").suspend(); 
     102  } 
     103 
     104  void cxios_get_domain_bounds_lat_name(domain_Ptr domain_hdl, char * bounds_lat_name, int bounds_lat_name_size) 
     105  { 
     106    CTimer::get("XIOS").resume(); 
     107    if (!string_copy(domain_hdl->bounds_lat_name.getInheritedValue(), bounds_lat_name, bounds_lat_name_size)) 
     108      ERROR("void cxios_get_domain_bounds_lat_name(domain_Ptr domain_hdl, char * bounds_lat_name, int bounds_lat_name_size)", << "Input string is too short"); 
     109    CTimer::get("XIOS").suspend(); 
     110  } 
     111 
     112  bool cxios_is_defined_domain_bounds_lat_name(domain_Ptr domain_hdl) 
     113  { 
     114     CTimer::get("XIOS").resume(); 
     115     bool isDefined = domain_hdl->bounds_lat_name.hasInheritedValue(); 
     116     CTimer::get("XIOS").suspend(); 
     117     return isDefined; 
     118  } 
     119 
     120 
    95121  void cxios_set_domain_bounds_lon_1d(domain_Ptr domain_hdl, double* bounds_lon_1d, int* extent) 
    96122  { 
     
    143169 
    144170 
     171  void cxios_set_domain_bounds_lon_name(domain_Ptr domain_hdl, const char * bounds_lon_name, int bounds_lon_name_size) 
     172  { 
     173    std::string bounds_lon_name_str; 
     174    if (!cstr2string(bounds_lon_name, bounds_lon_name_size, bounds_lon_name_str)) return; 
     175    CTimer::get("XIOS").resume(); 
     176    domain_hdl->bounds_lon_name.setValue(bounds_lon_name_str); 
     177    CTimer::get("XIOS").suspend(); 
     178  } 
     179 
     180  void cxios_get_domain_bounds_lon_name(domain_Ptr domain_hdl, char * bounds_lon_name, int bounds_lon_name_size) 
     181  { 
     182    CTimer::get("XIOS").resume(); 
     183    if (!string_copy(domain_hdl->bounds_lon_name.getInheritedValue(), bounds_lon_name, bounds_lon_name_size)) 
     184      ERROR("void cxios_get_domain_bounds_lon_name(domain_Ptr domain_hdl, char * bounds_lon_name, int bounds_lon_name_size)", << "Input string is too short"); 
     185    CTimer::get("XIOS").suspend(); 
     186  } 
     187 
     188  bool cxios_is_defined_domain_bounds_lon_name(domain_Ptr domain_hdl) 
     189  { 
     190     CTimer::get("XIOS").resume(); 
     191     bool isDefined = domain_hdl->bounds_lon_name.hasInheritedValue(); 
     192     CTimer::get("XIOS").suspend(); 
     193     return isDefined; 
     194  } 
     195 
     196 
     197  void cxios_set_domain_comment(domain_Ptr domain_hdl, const char * comment, int comment_size) 
     198  { 
     199    std::string comment_str; 
     200    if (!cstr2string(comment, comment_size, comment_str)) return; 
     201    CTimer::get("XIOS").resume(); 
     202    domain_hdl->comment.setValue(comment_str); 
     203    CTimer::get("XIOS").suspend(); 
     204  } 
     205 
     206  void cxios_get_domain_comment(domain_Ptr domain_hdl, char * comment, int comment_size) 
     207  { 
     208    CTimer::get("XIOS").resume(); 
     209    if (!string_copy(domain_hdl->comment.getInheritedValue(), comment, comment_size)) 
     210      ERROR("void cxios_get_domain_comment(domain_Ptr domain_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     211    CTimer::get("XIOS").suspend(); 
     212  } 
     213 
     214  bool cxios_is_defined_domain_comment(domain_Ptr domain_hdl) 
     215  { 
     216     CTimer::get("XIOS").resume(); 
     217     bool isDefined = domain_hdl->comment.hasInheritedValue(); 
     218     CTimer::get("XIOS").suspend(); 
     219     return isDefined; 
     220  } 
     221 
     222 
    145223  void cxios_set_domain_data_dim(domain_Ptr domain_hdl, int data_dim) 
    146224  { 
     
    308386 
    309387 
     388  void cxios_set_domain_dim_i_name(domain_Ptr domain_hdl, const char * dim_i_name, int dim_i_name_size) 
     389  { 
     390    std::string dim_i_name_str; 
     391    if (!cstr2string(dim_i_name, dim_i_name_size, dim_i_name_str)) return; 
     392    CTimer::get("XIOS").resume(); 
     393    domain_hdl->dim_i_name.setValue(dim_i_name_str); 
     394    CTimer::get("XIOS").suspend(); 
     395  } 
     396 
     397  void cxios_get_domain_dim_i_name(domain_Ptr domain_hdl, char * dim_i_name, int dim_i_name_size) 
     398  { 
     399    CTimer::get("XIOS").resume(); 
     400    if (!string_copy(domain_hdl->dim_i_name.getInheritedValue(), dim_i_name, dim_i_name_size)) 
     401      ERROR("void cxios_get_domain_dim_i_name(domain_Ptr domain_hdl, char * dim_i_name, int dim_i_name_size)", << "Input string is too short"); 
     402    CTimer::get("XIOS").suspend(); 
     403  } 
     404 
     405  bool cxios_is_defined_domain_dim_i_name(domain_Ptr domain_hdl) 
     406  { 
     407     CTimer::get("XIOS").resume(); 
     408     bool isDefined = domain_hdl->dim_i_name.hasInheritedValue(); 
     409     CTimer::get("XIOS").suspend(); 
     410     return isDefined; 
     411  } 
     412 
     413 
     414  void cxios_set_domain_dim_j_name(domain_Ptr domain_hdl, const char * dim_j_name, int dim_j_name_size) 
     415  { 
     416    std::string dim_j_name_str; 
     417    if (!cstr2string(dim_j_name, dim_j_name_size, dim_j_name_str)) return; 
     418    CTimer::get("XIOS").resume(); 
     419    domain_hdl->dim_j_name.setValue(dim_j_name_str); 
     420    CTimer::get("XIOS").suspend(); 
     421  } 
     422 
     423  void cxios_get_domain_dim_j_name(domain_Ptr domain_hdl, char * dim_j_name, int dim_j_name_size) 
     424  { 
     425    CTimer::get("XIOS").resume(); 
     426    if (!string_copy(domain_hdl->dim_j_name.getInheritedValue(), dim_j_name, dim_j_name_size)) 
     427      ERROR("void cxios_get_domain_dim_j_name(domain_Ptr domain_hdl, char * dim_j_name, int dim_j_name_size)", << "Input string is too short"); 
     428    CTimer::get("XIOS").suspend(); 
     429  } 
     430 
     431  bool cxios_is_defined_domain_dim_j_name(domain_Ptr domain_hdl) 
     432  { 
     433     CTimer::get("XIOS").resume(); 
     434     bool isDefined = domain_hdl->dim_j_name.hasInheritedValue(); 
     435     CTimer::get("XIOS").suspend(); 
     436     return isDefined; 
     437  } 
     438 
     439 
    310440  void cxios_set_domain_domain_ref(domain_Ptr domain_hdl, const char * domain_ref, int domain_ref_size) 
    311441  { 
     
    430560 
    431561 
     562  void cxios_set_domain_lat_name(domain_Ptr domain_hdl, const char * lat_name, int lat_name_size) 
     563  { 
     564    std::string lat_name_str; 
     565    if (!cstr2string(lat_name, lat_name_size, lat_name_str)) return; 
     566    CTimer::get("XIOS").resume(); 
     567    domain_hdl->lat_name.setValue(lat_name_str); 
     568    CTimer::get("XIOS").suspend(); 
     569  } 
     570 
     571  void cxios_get_domain_lat_name(domain_Ptr domain_hdl, char * lat_name, int lat_name_size) 
     572  { 
     573    CTimer::get("XIOS").resume(); 
     574    if (!string_copy(domain_hdl->lat_name.getInheritedValue(), lat_name, lat_name_size)) 
     575      ERROR("void cxios_get_domain_lat_name(domain_Ptr domain_hdl, char * lat_name, int lat_name_size)", << "Input string is too short"); 
     576    CTimer::get("XIOS").suspend(); 
     577  } 
     578 
     579  bool cxios_is_defined_domain_lat_name(domain_Ptr domain_hdl) 
     580  { 
     581     CTimer::get("XIOS").resume(); 
     582     bool isDefined = domain_hdl->lat_name.hasInheritedValue(); 
     583     CTimer::get("XIOS").suspend(); 
     584     return isDefined; 
     585  } 
     586 
     587 
    432588  void cxios_set_domain_latvalue_1d(domain_Ptr domain_hdl, double* latvalue_1d, int* extent) 
    433589  { 
     
    480636 
    481637 
     638  void cxios_set_domain_lon_name(domain_Ptr domain_hdl, const char * lon_name, int lon_name_size) 
     639  { 
     640    std::string lon_name_str; 
     641    if (!cstr2string(lon_name, lon_name_size, lon_name_str)) return; 
     642    CTimer::get("XIOS").resume(); 
     643    domain_hdl->lon_name.setValue(lon_name_str); 
     644    CTimer::get("XIOS").suspend(); 
     645  } 
     646 
     647  void cxios_get_domain_lon_name(domain_Ptr domain_hdl, char * lon_name, int lon_name_size) 
     648  { 
     649    CTimer::get("XIOS").resume(); 
     650    if (!string_copy(domain_hdl->lon_name.getInheritedValue(), lon_name, lon_name_size)) 
     651      ERROR("void cxios_get_domain_lon_name(domain_Ptr domain_hdl, char * lon_name, int lon_name_size)", << "Input string is too short"); 
     652    CTimer::get("XIOS").suspend(); 
     653  } 
     654 
     655  bool cxios_is_defined_domain_lon_name(domain_Ptr domain_hdl) 
     656  { 
     657     CTimer::get("XIOS").resume(); 
     658     bool isDefined = domain_hdl->lon_name.hasInheritedValue(); 
     659     CTimer::get("XIOS").suspend(); 
     660     return isDefined; 
     661  } 
     662 
     663 
    482664  void cxios_set_domain_long_name(domain_Ptr domain_hdl, const char * long_name, int long_name_size) 
    483665  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icdomaingroup_attr.cpp

    r1158 r1492  
    9393 
    9494 
     95  void cxios_set_domaingroup_bounds_lat_name(domaingroup_Ptr domaingroup_hdl, const char * bounds_lat_name, int bounds_lat_name_size) 
     96  { 
     97    std::string bounds_lat_name_str; 
     98    if (!cstr2string(bounds_lat_name, bounds_lat_name_size, bounds_lat_name_str)) return; 
     99    CTimer::get("XIOS").resume(); 
     100    domaingroup_hdl->bounds_lat_name.setValue(bounds_lat_name_str); 
     101    CTimer::get("XIOS").suspend(); 
     102  } 
     103 
     104  void cxios_get_domaingroup_bounds_lat_name(domaingroup_Ptr domaingroup_hdl, char * bounds_lat_name, int bounds_lat_name_size) 
     105  { 
     106    CTimer::get("XIOS").resume(); 
     107    if (!string_copy(domaingroup_hdl->bounds_lat_name.getInheritedValue(), bounds_lat_name, bounds_lat_name_size)) 
     108      ERROR("void cxios_get_domaingroup_bounds_lat_name(domaingroup_Ptr domaingroup_hdl, char * bounds_lat_name, int bounds_lat_name_size)", << "Input string is too short"); 
     109    CTimer::get("XIOS").suspend(); 
     110  } 
     111 
     112  bool cxios_is_defined_domaingroup_bounds_lat_name(domaingroup_Ptr domaingroup_hdl) 
     113  { 
     114     CTimer::get("XIOS").resume(); 
     115     bool isDefined = domaingroup_hdl->bounds_lat_name.hasInheritedValue(); 
     116     CTimer::get("XIOS").suspend(); 
     117     return isDefined; 
     118  } 
     119 
     120 
    95121  void cxios_set_domaingroup_bounds_lon_1d(domaingroup_Ptr domaingroup_hdl, double* bounds_lon_1d, int* extent) 
    96122  { 
     
    143169 
    144170 
     171  void cxios_set_domaingroup_bounds_lon_name(domaingroup_Ptr domaingroup_hdl, const char * bounds_lon_name, int bounds_lon_name_size) 
     172  { 
     173    std::string bounds_lon_name_str; 
     174    if (!cstr2string(bounds_lon_name, bounds_lon_name_size, bounds_lon_name_str)) return; 
     175    CTimer::get("XIOS").resume(); 
     176    domaingroup_hdl->bounds_lon_name.setValue(bounds_lon_name_str); 
     177    CTimer::get("XIOS").suspend(); 
     178  } 
     179 
     180  void cxios_get_domaingroup_bounds_lon_name(domaingroup_Ptr domaingroup_hdl, char * bounds_lon_name, int bounds_lon_name_size) 
     181  { 
     182    CTimer::get("XIOS").resume(); 
     183    if (!string_copy(domaingroup_hdl->bounds_lon_name.getInheritedValue(), bounds_lon_name, bounds_lon_name_size)) 
     184      ERROR("void cxios_get_domaingroup_bounds_lon_name(domaingroup_Ptr domaingroup_hdl, char * bounds_lon_name, int bounds_lon_name_size)", << "Input string is too short"); 
     185    CTimer::get("XIOS").suspend(); 
     186  } 
     187 
     188  bool cxios_is_defined_domaingroup_bounds_lon_name(domaingroup_Ptr domaingroup_hdl) 
     189  { 
     190     CTimer::get("XIOS").resume(); 
     191     bool isDefined = domaingroup_hdl->bounds_lon_name.hasInheritedValue(); 
     192     CTimer::get("XIOS").suspend(); 
     193     return isDefined; 
     194  } 
     195 
     196 
     197  void cxios_set_domaingroup_comment(domaingroup_Ptr domaingroup_hdl, const char * comment, int comment_size) 
     198  { 
     199    std::string comment_str; 
     200    if (!cstr2string(comment, comment_size, comment_str)) return; 
     201    CTimer::get("XIOS").resume(); 
     202    domaingroup_hdl->comment.setValue(comment_str); 
     203    CTimer::get("XIOS").suspend(); 
     204  } 
     205 
     206  void cxios_get_domaingroup_comment(domaingroup_Ptr domaingroup_hdl, char * comment, int comment_size) 
     207  { 
     208    CTimer::get("XIOS").resume(); 
     209    if (!string_copy(domaingroup_hdl->comment.getInheritedValue(), comment, comment_size)) 
     210      ERROR("void cxios_get_domaingroup_comment(domaingroup_Ptr domaingroup_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     211    CTimer::get("XIOS").suspend(); 
     212  } 
     213 
     214  bool cxios_is_defined_domaingroup_comment(domaingroup_Ptr domaingroup_hdl) 
     215  { 
     216     CTimer::get("XIOS").resume(); 
     217     bool isDefined = domaingroup_hdl->comment.hasInheritedValue(); 
     218     CTimer::get("XIOS").suspend(); 
     219     return isDefined; 
     220  } 
     221 
     222 
    145223  void cxios_set_domaingroup_data_dim(domaingroup_Ptr domaingroup_hdl, int data_dim) 
    146224  { 
     
    308386 
    309387 
     388  void cxios_set_domaingroup_dim_i_name(domaingroup_Ptr domaingroup_hdl, const char * dim_i_name, int dim_i_name_size) 
     389  { 
     390    std::string dim_i_name_str; 
     391    if (!cstr2string(dim_i_name, dim_i_name_size, dim_i_name_str)) return; 
     392    CTimer::get("XIOS").resume(); 
     393    domaingroup_hdl->dim_i_name.setValue(dim_i_name_str); 
     394    CTimer::get("XIOS").suspend(); 
     395  } 
     396 
     397  void cxios_get_domaingroup_dim_i_name(domaingroup_Ptr domaingroup_hdl, char * dim_i_name, int dim_i_name_size) 
     398  { 
     399    CTimer::get("XIOS").resume(); 
     400    if (!string_copy(domaingroup_hdl->dim_i_name.getInheritedValue(), dim_i_name, dim_i_name_size)) 
     401      ERROR("void cxios_get_domaingroup_dim_i_name(domaingroup_Ptr domaingroup_hdl, char * dim_i_name, int dim_i_name_size)", << "Input string is too short"); 
     402    CTimer::get("XIOS").suspend(); 
     403  } 
     404 
     405  bool cxios_is_defined_domaingroup_dim_i_name(domaingroup_Ptr domaingroup_hdl) 
     406  { 
     407     CTimer::get("XIOS").resume(); 
     408     bool isDefined = domaingroup_hdl->dim_i_name.hasInheritedValue(); 
     409     CTimer::get("XIOS").suspend(); 
     410     return isDefined; 
     411  } 
     412 
     413 
     414  void cxios_set_domaingroup_dim_j_name(domaingroup_Ptr domaingroup_hdl, const char * dim_j_name, int dim_j_name_size) 
     415  { 
     416    std::string dim_j_name_str; 
     417    if (!cstr2string(dim_j_name, dim_j_name_size, dim_j_name_str)) return; 
     418    CTimer::get("XIOS").resume(); 
     419    domaingroup_hdl->dim_j_name.setValue(dim_j_name_str); 
     420    CTimer::get("XIOS").suspend(); 
     421  } 
     422 
     423  void cxios_get_domaingroup_dim_j_name(domaingroup_Ptr domaingroup_hdl, char * dim_j_name, int dim_j_name_size) 
     424  { 
     425    CTimer::get("XIOS").resume(); 
     426    if (!string_copy(domaingroup_hdl->dim_j_name.getInheritedValue(), dim_j_name, dim_j_name_size)) 
     427      ERROR("void cxios_get_domaingroup_dim_j_name(domaingroup_Ptr domaingroup_hdl, char * dim_j_name, int dim_j_name_size)", << "Input string is too short"); 
     428    CTimer::get("XIOS").suspend(); 
     429  } 
     430 
     431  bool cxios_is_defined_domaingroup_dim_j_name(domaingroup_Ptr domaingroup_hdl) 
     432  { 
     433     CTimer::get("XIOS").resume(); 
     434     bool isDefined = domaingroup_hdl->dim_j_name.hasInheritedValue(); 
     435     CTimer::get("XIOS").suspend(); 
     436     return isDefined; 
     437  } 
     438 
     439 
    310440  void cxios_set_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl, const char * domain_ref, int domain_ref_size) 
    311441  { 
     
    456586 
    457587 
     588  void cxios_set_domaingroup_lat_name(domaingroup_Ptr domaingroup_hdl, const char * lat_name, int lat_name_size) 
     589  { 
     590    std::string lat_name_str; 
     591    if (!cstr2string(lat_name, lat_name_size, lat_name_str)) return; 
     592    CTimer::get("XIOS").resume(); 
     593    domaingroup_hdl->lat_name.setValue(lat_name_str); 
     594    CTimer::get("XIOS").suspend(); 
     595  } 
     596 
     597  void cxios_get_domaingroup_lat_name(domaingroup_Ptr domaingroup_hdl, char * lat_name, int lat_name_size) 
     598  { 
     599    CTimer::get("XIOS").resume(); 
     600    if (!string_copy(domaingroup_hdl->lat_name.getInheritedValue(), lat_name, lat_name_size)) 
     601      ERROR("void cxios_get_domaingroup_lat_name(domaingroup_Ptr domaingroup_hdl, char * lat_name, int lat_name_size)", << "Input string is too short"); 
     602    CTimer::get("XIOS").suspend(); 
     603  } 
     604 
     605  bool cxios_is_defined_domaingroup_lat_name(domaingroup_Ptr domaingroup_hdl) 
     606  { 
     607     CTimer::get("XIOS").resume(); 
     608     bool isDefined = domaingroup_hdl->lat_name.hasInheritedValue(); 
     609     CTimer::get("XIOS").suspend(); 
     610     return isDefined; 
     611  } 
     612 
     613 
    458614  void cxios_set_domaingroup_latvalue_1d(domaingroup_Ptr domaingroup_hdl, double* latvalue_1d, int* extent) 
    459615  { 
     
    506662 
    507663 
     664  void cxios_set_domaingroup_lon_name(domaingroup_Ptr domaingroup_hdl, const char * lon_name, int lon_name_size) 
     665  { 
     666    std::string lon_name_str; 
     667    if (!cstr2string(lon_name, lon_name_size, lon_name_str)) return; 
     668    CTimer::get("XIOS").resume(); 
     669    domaingroup_hdl->lon_name.setValue(lon_name_str); 
     670    CTimer::get("XIOS").suspend(); 
     671  } 
     672 
     673  void cxios_get_domaingroup_lon_name(domaingroup_Ptr domaingroup_hdl, char * lon_name, int lon_name_size) 
     674  { 
     675    CTimer::get("XIOS").resume(); 
     676    if (!string_copy(domaingroup_hdl->lon_name.getInheritedValue(), lon_name, lon_name_size)) 
     677      ERROR("void cxios_get_domaingroup_lon_name(domaingroup_Ptr domaingroup_hdl, char * lon_name, int lon_name_size)", << "Input string is too short"); 
     678    CTimer::get("XIOS").suspend(); 
     679  } 
     680 
     681  bool cxios_is_defined_domaingroup_lon_name(domaingroup_Ptr domaingroup_hdl) 
     682  { 
     683     CTimer::get("XIOS").resume(); 
     684     bool isDefined = domaingroup_hdl->lon_name.hasInheritedValue(); 
     685     CTimer::get("XIOS").suspend(); 
     686     return isDefined; 
     687  } 
     688 
     689 
    508690  void cxios_set_domaingroup_long_name(domaingroup_Ptr domaingroup_hdl, const char * long_name, int long_name_size) 
    509691  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icfield_attr.cpp

    r1201 r1492  
    142142 
    143143 
     144  void cxios_set_field_comment(field_Ptr field_hdl, const char * comment, int comment_size) 
     145  { 
     146    std::string comment_str; 
     147    if (!cstr2string(comment, comment_size, comment_str)) return; 
     148    CTimer::get("XIOS").resume(); 
     149    field_hdl->comment.setValue(comment_str); 
     150    CTimer::get("XIOS").suspend(); 
     151  } 
     152 
     153  void cxios_get_field_comment(field_Ptr field_hdl, char * comment, int comment_size) 
     154  { 
     155    CTimer::get("XIOS").resume(); 
     156    if (!string_copy(field_hdl->comment.getInheritedValue(), comment, comment_size)) 
     157      ERROR("void cxios_get_field_comment(field_Ptr field_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     158    CTimer::get("XIOS").suspend(); 
     159  } 
     160 
     161  bool cxios_is_defined_field_comment(field_Ptr field_hdl) 
     162  { 
     163     CTimer::get("XIOS").resume(); 
     164     bool isDefined = field_hdl->comment.hasInheritedValue(); 
     165     CTimer::get("XIOS").suspend(); 
     166     return isDefined; 
     167  } 
     168 
     169 
    144170  void cxios_set_field_compression_level(field_Ptr field_hdl, int compression_level) 
    145171  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icfieldgroup_attr.cpp

    r1201 r1492  
    142142 
    143143 
     144  void cxios_set_fieldgroup_comment(fieldgroup_Ptr fieldgroup_hdl, const char * comment, int comment_size) 
     145  { 
     146    std::string comment_str; 
     147    if (!cstr2string(comment, comment_size, comment_str)) return; 
     148    CTimer::get("XIOS").resume(); 
     149    fieldgroup_hdl->comment.setValue(comment_str); 
     150    CTimer::get("XIOS").suspend(); 
     151  } 
     152 
     153  void cxios_get_fieldgroup_comment(fieldgroup_Ptr fieldgroup_hdl, char * comment, int comment_size) 
     154  { 
     155    CTimer::get("XIOS").resume(); 
     156    if (!string_copy(fieldgroup_hdl->comment.getInheritedValue(), comment, comment_size)) 
     157      ERROR("void cxios_get_fieldgroup_comment(fieldgroup_Ptr fieldgroup_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     158    CTimer::get("XIOS").suspend(); 
     159  } 
     160 
     161  bool cxios_is_defined_fieldgroup_comment(fieldgroup_Ptr fieldgroup_hdl) 
     162  { 
     163     CTimer::get("XIOS").resume(); 
     164     bool isDefined = fieldgroup_hdl->comment.hasInheritedValue(); 
     165     CTimer::get("XIOS").suspend(); 
     166     return isDefined; 
     167  } 
     168 
     169 
    144170  void cxios_set_fieldgroup_compression_level(fieldgroup_Ptr fieldgroup_hdl, int compression_level) 
    145171  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icfile_attr.cpp

    r1201 r1492  
    4141 
    4242 
     43  void cxios_set_file_comment(file_Ptr file_hdl, const char * comment, int comment_size) 
     44  { 
     45    std::string comment_str; 
     46    if (!cstr2string(comment, comment_size, comment_str)) return; 
     47    CTimer::get("XIOS").resume(); 
     48    file_hdl->comment.setValue(comment_str); 
     49    CTimer::get("XIOS").suspend(); 
     50  } 
     51 
     52  void cxios_get_file_comment(file_Ptr file_hdl, char * comment, int comment_size) 
     53  { 
     54    CTimer::get("XIOS").resume(); 
     55    if (!string_copy(file_hdl->comment.getInheritedValue(), comment, comment_size)) 
     56      ERROR("void cxios_get_file_comment(file_Ptr file_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     57    CTimer::get("XIOS").suspend(); 
     58  } 
     59 
     60  bool cxios_is_defined_file_comment(file_Ptr file_hdl) 
     61  { 
     62     CTimer::get("XIOS").resume(); 
     63     bool isDefined = file_hdl->comment.hasInheritedValue(); 
     64     CTimer::get("XIOS").suspend(); 
     65     return isDefined; 
     66  } 
     67 
     68 
    4369  void cxios_set_file_compression_level(file_Ptr file_hdl, int compression_level) 
    4470  { 
     
    402428 
    403429 
     430  void cxios_set_file_read_metadata_par(file_Ptr file_hdl, bool read_metadata_par) 
     431  { 
     432    CTimer::get("XIOS").resume(); 
     433    file_hdl->read_metadata_par.setValue(read_metadata_par); 
     434    CTimer::get("XIOS").suspend(); 
     435  } 
     436 
     437  void cxios_get_file_read_metadata_par(file_Ptr file_hdl, bool* read_metadata_par) 
     438  { 
     439    CTimer::get("XIOS").resume(); 
     440    *read_metadata_par = file_hdl->read_metadata_par.getInheritedValue(); 
     441    CTimer::get("XIOS").suspend(); 
     442  } 
     443 
     444  bool cxios_is_defined_file_read_metadata_par(file_Ptr file_hdl) 
     445  { 
     446     CTimer::get("XIOS").resume(); 
     447     bool isDefined = file_hdl->read_metadata_par.hasInheritedValue(); 
     448     CTimer::get("XIOS").suspend(); 
     449     return isDefined; 
     450  } 
     451 
     452 
    404453  void cxios_set_file_record_offset(file_Ptr file_hdl, int record_offset) 
    405454  { 
     
    420469     CTimer::get("XIOS").resume(); 
    421470     bool isDefined = file_hdl->record_offset.hasInheritedValue(); 
     471     CTimer::get("XIOS").suspend(); 
     472     return isDefined; 
     473  } 
     474 
     475 
     476  void cxios_set_file_split_end_offset(file_Ptr file_hdl, cxios_duration split_end_offset_c) 
     477  { 
     478    CTimer::get("XIOS").resume(); 
     479    file_hdl->split_end_offset.allocate(); 
     480    CDuration& split_end_offset = file_hdl->split_end_offset.get(); 
     481    split_end_offset.year = split_end_offset_c.year; 
     482    split_end_offset.month = split_end_offset_c.month; 
     483    split_end_offset.day = split_end_offset_c.day; 
     484    split_end_offset.hour = split_end_offset_c.hour; 
     485    split_end_offset.minute = split_end_offset_c.minute; 
     486    split_end_offset.second = split_end_offset_c.second; 
     487    split_end_offset.timestep = split_end_offset_c.timestep; 
     488    CTimer::get("XIOS").suspend(); 
     489  } 
     490 
     491  void cxios_get_file_split_end_offset(file_Ptr file_hdl, cxios_duration* split_end_offset_c) 
     492  { 
     493    CTimer::get("XIOS").resume(); 
     494    CDuration split_end_offset = file_hdl->split_end_offset.getInheritedValue(); 
     495    split_end_offset_c->year = split_end_offset.year; 
     496    split_end_offset_c->month = split_end_offset.month; 
     497    split_end_offset_c->day = split_end_offset.day; 
     498    split_end_offset_c->hour = split_end_offset.hour; 
     499    split_end_offset_c->minute = split_end_offset.minute; 
     500    split_end_offset_c->second = split_end_offset.second; 
     501    split_end_offset_c->timestep = split_end_offset.timestep; 
     502    CTimer::get("XIOS").suspend(); 
     503  } 
     504 
     505  bool cxios_is_defined_file_split_end_offset(file_Ptr file_hdl) 
     506  { 
     507     CTimer::get("XIOS").resume(); 
     508     bool isDefined = file_hdl->split_end_offset.hasInheritedValue(); 
    422509     CTimer::get("XIOS").suspend(); 
    423510     return isDefined; 
     
    489576 
    490577 
     578  void cxios_set_file_split_last_date(file_Ptr file_hdl, const char * split_last_date, int split_last_date_size) 
     579  { 
     580    std::string split_last_date_str; 
     581    if (!cstr2string(split_last_date, split_last_date_size, split_last_date_str)) return; 
     582    CTimer::get("XIOS").resume(); 
     583    file_hdl->split_last_date.setValue(split_last_date_str); 
     584    CTimer::get("XIOS").suspend(); 
     585  } 
     586 
     587  void cxios_get_file_split_last_date(file_Ptr file_hdl, char * split_last_date, int split_last_date_size) 
     588  { 
     589    CTimer::get("XIOS").resume(); 
     590    if (!string_copy(file_hdl->split_last_date.getInheritedValue(), split_last_date, split_last_date_size)) 
     591      ERROR("void cxios_get_file_split_last_date(file_Ptr file_hdl, char * split_last_date, int split_last_date_size)", << "Input string is too short"); 
     592    CTimer::get("XIOS").suspend(); 
     593  } 
     594 
     595  bool cxios_is_defined_file_split_last_date(file_Ptr file_hdl) 
     596  { 
     597     CTimer::get("XIOS").resume(); 
     598     bool isDefined = file_hdl->split_last_date.hasInheritedValue(); 
     599     CTimer::get("XIOS").suspend(); 
     600     return isDefined; 
     601  } 
     602 
     603 
     604  void cxios_set_file_split_start_offset(file_Ptr file_hdl, cxios_duration split_start_offset_c) 
     605  { 
     606    CTimer::get("XIOS").resume(); 
     607    file_hdl->split_start_offset.allocate(); 
     608    CDuration& split_start_offset = file_hdl->split_start_offset.get(); 
     609    split_start_offset.year = split_start_offset_c.year; 
     610    split_start_offset.month = split_start_offset_c.month; 
     611    split_start_offset.day = split_start_offset_c.day; 
     612    split_start_offset.hour = split_start_offset_c.hour; 
     613    split_start_offset.minute = split_start_offset_c.minute; 
     614    split_start_offset.second = split_start_offset_c.second; 
     615    split_start_offset.timestep = split_start_offset_c.timestep; 
     616    CTimer::get("XIOS").suspend(); 
     617  } 
     618 
     619  void cxios_get_file_split_start_offset(file_Ptr file_hdl, cxios_duration* split_start_offset_c) 
     620  { 
     621    CTimer::get("XIOS").resume(); 
     622    CDuration split_start_offset = file_hdl->split_start_offset.getInheritedValue(); 
     623    split_start_offset_c->year = split_start_offset.year; 
     624    split_start_offset_c->month = split_start_offset.month; 
     625    split_start_offset_c->day = split_start_offset.day; 
     626    split_start_offset_c->hour = split_start_offset.hour; 
     627    split_start_offset_c->minute = split_start_offset.minute; 
     628    split_start_offset_c->second = split_start_offset.second; 
     629    split_start_offset_c->timestep = split_start_offset.timestep; 
     630    CTimer::get("XIOS").suspend(); 
     631  } 
     632 
     633  bool cxios_is_defined_file_split_start_offset(file_Ptr file_hdl) 
     634  { 
     635     CTimer::get("XIOS").resume(); 
     636     bool isDefined = file_hdl->split_start_offset.hasInheritedValue(); 
     637     CTimer::get("XIOS").suspend(); 
     638     return isDefined; 
     639  } 
     640 
     641 
    491642  void cxios_set_file_sync_freq(file_Ptr file_hdl, cxios_duration sync_freq_c) 
    492643  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icfilegroup_attr.cpp

    r1201 r1492  
    4141 
    4242 
     43  void cxios_set_filegroup_comment(filegroup_Ptr filegroup_hdl, const char * comment, int comment_size) 
     44  { 
     45    std::string comment_str; 
     46    if (!cstr2string(comment, comment_size, comment_str)) return; 
     47    CTimer::get("XIOS").resume(); 
     48    filegroup_hdl->comment.setValue(comment_str); 
     49    CTimer::get("XIOS").suspend(); 
     50  } 
     51 
     52  void cxios_get_filegroup_comment(filegroup_Ptr filegroup_hdl, char * comment, int comment_size) 
     53  { 
     54    CTimer::get("XIOS").resume(); 
     55    if (!string_copy(filegroup_hdl->comment.getInheritedValue(), comment, comment_size)) 
     56      ERROR("void cxios_get_filegroup_comment(filegroup_Ptr filegroup_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     57    CTimer::get("XIOS").suspend(); 
     58  } 
     59 
     60  bool cxios_is_defined_filegroup_comment(filegroup_Ptr filegroup_hdl) 
     61  { 
     62     CTimer::get("XIOS").resume(); 
     63     bool isDefined = filegroup_hdl->comment.hasInheritedValue(); 
     64     CTimer::get("XIOS").suspend(); 
     65     return isDefined; 
     66  } 
     67 
     68 
    4369  void cxios_set_filegroup_compression_level(filegroup_Ptr filegroup_hdl, int compression_level) 
    4470  { 
     
    428454 
    429455 
     456  void cxios_set_filegroup_read_metadata_par(filegroup_Ptr filegroup_hdl, bool read_metadata_par) 
     457  { 
     458    CTimer::get("XIOS").resume(); 
     459    filegroup_hdl->read_metadata_par.setValue(read_metadata_par); 
     460    CTimer::get("XIOS").suspend(); 
     461  } 
     462 
     463  void cxios_get_filegroup_read_metadata_par(filegroup_Ptr filegroup_hdl, bool* read_metadata_par) 
     464  { 
     465    CTimer::get("XIOS").resume(); 
     466    *read_metadata_par = filegroup_hdl->read_metadata_par.getInheritedValue(); 
     467    CTimer::get("XIOS").suspend(); 
     468  } 
     469 
     470  bool cxios_is_defined_filegroup_read_metadata_par(filegroup_Ptr filegroup_hdl) 
     471  { 
     472     CTimer::get("XIOS").resume(); 
     473     bool isDefined = filegroup_hdl->read_metadata_par.hasInheritedValue(); 
     474     CTimer::get("XIOS").suspend(); 
     475     return isDefined; 
     476  } 
     477 
     478 
    430479  void cxios_set_filegroup_record_offset(filegroup_Ptr filegroup_hdl, int record_offset) 
    431480  { 
     
    446495     CTimer::get("XIOS").resume(); 
    447496     bool isDefined = filegroup_hdl->record_offset.hasInheritedValue(); 
     497     CTimer::get("XIOS").suspend(); 
     498     return isDefined; 
     499  } 
     500 
     501 
     502  void cxios_set_filegroup_split_end_offset(filegroup_Ptr filegroup_hdl, cxios_duration split_end_offset_c) 
     503  { 
     504    CTimer::get("XIOS").resume(); 
     505    filegroup_hdl->split_end_offset.allocate(); 
     506    CDuration& split_end_offset = filegroup_hdl->split_end_offset.get(); 
     507    split_end_offset.year = split_end_offset_c.year; 
     508    split_end_offset.month = split_end_offset_c.month; 
     509    split_end_offset.day = split_end_offset_c.day; 
     510    split_end_offset.hour = split_end_offset_c.hour; 
     511    split_end_offset.minute = split_end_offset_c.minute; 
     512    split_end_offset.second = split_end_offset_c.second; 
     513    split_end_offset.timestep = split_end_offset_c.timestep; 
     514    CTimer::get("XIOS").suspend(); 
     515  } 
     516 
     517  void cxios_get_filegroup_split_end_offset(filegroup_Ptr filegroup_hdl, cxios_duration* split_end_offset_c) 
     518  { 
     519    CTimer::get("XIOS").resume(); 
     520    CDuration split_end_offset = filegroup_hdl->split_end_offset.getInheritedValue(); 
     521    split_end_offset_c->year = split_end_offset.year; 
     522    split_end_offset_c->month = split_end_offset.month; 
     523    split_end_offset_c->day = split_end_offset.day; 
     524    split_end_offset_c->hour = split_end_offset.hour; 
     525    split_end_offset_c->minute = split_end_offset.minute; 
     526    split_end_offset_c->second = split_end_offset.second; 
     527    split_end_offset_c->timestep = split_end_offset.timestep; 
     528    CTimer::get("XIOS").suspend(); 
     529  } 
     530 
     531  bool cxios_is_defined_filegroup_split_end_offset(filegroup_Ptr filegroup_hdl) 
     532  { 
     533     CTimer::get("XIOS").resume(); 
     534     bool isDefined = filegroup_hdl->split_end_offset.hasInheritedValue(); 
    448535     CTimer::get("XIOS").suspend(); 
    449536     return isDefined; 
     
    515602 
    516603 
     604  void cxios_set_filegroup_split_last_date(filegroup_Ptr filegroup_hdl, const char * split_last_date, int split_last_date_size) 
     605  { 
     606    std::string split_last_date_str; 
     607    if (!cstr2string(split_last_date, split_last_date_size, split_last_date_str)) return; 
     608    CTimer::get("XIOS").resume(); 
     609    filegroup_hdl->split_last_date.setValue(split_last_date_str); 
     610    CTimer::get("XIOS").suspend(); 
     611  } 
     612 
     613  void cxios_get_filegroup_split_last_date(filegroup_Ptr filegroup_hdl, char * split_last_date, int split_last_date_size) 
     614  { 
     615    CTimer::get("XIOS").resume(); 
     616    if (!string_copy(filegroup_hdl->split_last_date.getInheritedValue(), split_last_date, split_last_date_size)) 
     617      ERROR("void cxios_get_filegroup_split_last_date(filegroup_Ptr filegroup_hdl, char * split_last_date, int split_last_date_size)", << "Input string is too short"); 
     618    CTimer::get("XIOS").suspend(); 
     619  } 
     620 
     621  bool cxios_is_defined_filegroup_split_last_date(filegroup_Ptr filegroup_hdl) 
     622  { 
     623     CTimer::get("XIOS").resume(); 
     624     bool isDefined = filegroup_hdl->split_last_date.hasInheritedValue(); 
     625     CTimer::get("XIOS").suspend(); 
     626     return isDefined; 
     627  } 
     628 
     629 
     630  void cxios_set_filegroup_split_start_offset(filegroup_Ptr filegroup_hdl, cxios_duration split_start_offset_c) 
     631  { 
     632    CTimer::get("XIOS").resume(); 
     633    filegroup_hdl->split_start_offset.allocate(); 
     634    CDuration& split_start_offset = filegroup_hdl->split_start_offset.get(); 
     635    split_start_offset.year = split_start_offset_c.year; 
     636    split_start_offset.month = split_start_offset_c.month; 
     637    split_start_offset.day = split_start_offset_c.day; 
     638    split_start_offset.hour = split_start_offset_c.hour; 
     639    split_start_offset.minute = split_start_offset_c.minute; 
     640    split_start_offset.second = split_start_offset_c.second; 
     641    split_start_offset.timestep = split_start_offset_c.timestep; 
     642    CTimer::get("XIOS").suspend(); 
     643  } 
     644 
     645  void cxios_get_filegroup_split_start_offset(filegroup_Ptr filegroup_hdl, cxios_duration* split_start_offset_c) 
     646  { 
     647    CTimer::get("XIOS").resume(); 
     648    CDuration split_start_offset = filegroup_hdl->split_start_offset.getInheritedValue(); 
     649    split_start_offset_c->year = split_start_offset.year; 
     650    split_start_offset_c->month = split_start_offset.month; 
     651    split_start_offset_c->day = split_start_offset.day; 
     652    split_start_offset_c->hour = split_start_offset.hour; 
     653    split_start_offset_c->minute = split_start_offset.minute; 
     654    split_start_offset_c->second = split_start_offset.second; 
     655    split_start_offset_c->timestep = split_start_offset.timestep; 
     656    CTimer::get("XIOS").suspend(); 
     657  } 
     658 
     659  bool cxios_is_defined_filegroup_split_start_offset(filegroup_Ptr filegroup_hdl) 
     660  { 
     661     CTimer::get("XIOS").resume(); 
     662     bool isDefined = filegroup_hdl->split_start_offset.hasInheritedValue(); 
     663     CTimer::get("XIOS").suspend(); 
     664     return isDefined; 
     665  } 
     666 
     667 
    517668  void cxios_set_filegroup_sync_freq(filegroup_Ptr filegroup_hdl, cxios_duration sync_freq_c) 
    518669  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icgrid_attr.cpp

    r932 r1492  
    1818  typedef xios::CGrid* grid_Ptr; 
    1919 
     20  void cxios_set_grid_comment(grid_Ptr grid_hdl, const char * comment, int comment_size) 
     21  { 
     22    std::string comment_str; 
     23    if (!cstr2string(comment, comment_size, comment_str)) return; 
     24    CTimer::get("XIOS").resume(); 
     25    grid_hdl->comment.setValue(comment_str); 
     26    CTimer::get("XIOS").suspend(); 
     27  } 
     28 
     29  void cxios_get_grid_comment(grid_Ptr grid_hdl, char * comment, int comment_size) 
     30  { 
     31    CTimer::get("XIOS").resume(); 
     32    if (!string_copy(grid_hdl->comment.getInheritedValue(), comment, comment_size)) 
     33      ERROR("void cxios_get_grid_comment(grid_Ptr grid_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     34    CTimer::get("XIOS").suspend(); 
     35  } 
     36 
     37  bool cxios_is_defined_grid_comment(grid_Ptr grid_hdl) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40     bool isDefined = grid_hdl->comment.hasInheritedValue(); 
     41     CTimer::get("XIOS").suspend(); 
     42     return isDefined; 
     43  } 
     44 
     45 
    2046  void cxios_set_grid_description(grid_Ptr grid_hdl, const char * description, int description_size) 
    2147  { 
     
    4470 
    4571 
     72  void cxios_set_grid_mask_0d(grid_Ptr grid_hdl, bool* mask_0d, int* extent) 
     73  { 
     74    CTimer::get("XIOS").resume(); 
     75    CArray<bool,1> tmp(mask_0d, shape(extent[0]), neverDeleteData); 
     76    grid_hdl->mask_0d.reference(tmp.copy()); 
     77     CTimer::get("XIOS").suspend(); 
     78  } 
     79 
     80  void cxios_get_grid_mask_0d(grid_Ptr grid_hdl, bool* mask_0d, int* extent) 
     81  { 
     82    CTimer::get("XIOS").resume(); 
     83    CArray<bool,1> tmp(mask_0d, shape(extent[0]), neverDeleteData); 
     84    tmp=grid_hdl->mask_0d.getInheritedValue(); 
     85     CTimer::get("XIOS").suspend(); 
     86  } 
     87 
     88  bool cxios_is_defined_grid_mask_0d(grid_Ptr grid_hdl) 
     89  { 
     90     CTimer::get("XIOS").resume(); 
     91     bool isDefined = grid_hdl->mask_0d.hasInheritedValue(); 
     92     CTimer::get("XIOS").suspend(); 
     93     return isDefined; 
     94  } 
     95 
     96 
    4697  void cxios_set_grid_mask_1d(grid_Ptr grid_hdl, bool* mask_1d, int* extent) 
    4798  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icgridgroup_attr.cpp

    r932 r1492  
    1818  typedef xios::CGridGroup* gridgroup_Ptr; 
    1919 
     20  void cxios_set_gridgroup_comment(gridgroup_Ptr gridgroup_hdl, const char * comment, int comment_size) 
     21  { 
     22    std::string comment_str; 
     23    if (!cstr2string(comment, comment_size, comment_str)) return; 
     24    CTimer::get("XIOS").resume(); 
     25    gridgroup_hdl->comment.setValue(comment_str); 
     26    CTimer::get("XIOS").suspend(); 
     27  } 
     28 
     29  void cxios_get_gridgroup_comment(gridgroup_Ptr gridgroup_hdl, char * comment, int comment_size) 
     30  { 
     31    CTimer::get("XIOS").resume(); 
     32    if (!string_copy(gridgroup_hdl->comment.getInheritedValue(), comment, comment_size)) 
     33      ERROR("void cxios_get_gridgroup_comment(gridgroup_Ptr gridgroup_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     34    CTimer::get("XIOS").suspend(); 
     35  } 
     36 
     37  bool cxios_is_defined_gridgroup_comment(gridgroup_Ptr gridgroup_hdl) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40     bool isDefined = gridgroup_hdl->comment.hasInheritedValue(); 
     41     CTimer::get("XIOS").suspend(); 
     42     return isDefined; 
     43  } 
     44 
     45 
    2046  void cxios_set_gridgroup_description(gridgroup_Ptr gridgroup_hdl, const char * description, int description_size) 
    2147  { 
     
    7096 
    7197 
     98  void cxios_set_gridgroup_mask_0d(gridgroup_Ptr gridgroup_hdl, bool* mask_0d, int* extent) 
     99  { 
     100    CTimer::get("XIOS").resume(); 
     101    CArray<bool,1> tmp(mask_0d, shape(extent[0]), neverDeleteData); 
     102    gridgroup_hdl->mask_0d.reference(tmp.copy()); 
     103     CTimer::get("XIOS").suspend(); 
     104  } 
     105 
     106  void cxios_get_gridgroup_mask_0d(gridgroup_Ptr gridgroup_hdl, bool* mask_0d, int* extent) 
     107  { 
     108    CTimer::get("XIOS").resume(); 
     109    CArray<bool,1> tmp(mask_0d, shape(extent[0]), neverDeleteData); 
     110    tmp=gridgroup_hdl->mask_0d.getInheritedValue(); 
     111     CTimer::get("XIOS").suspend(); 
     112  } 
     113 
     114  bool cxios_is_defined_gridgroup_mask_0d(gridgroup_Ptr gridgroup_hdl) 
     115  { 
     116     CTimer::get("XIOS").resume(); 
     117     bool isDefined = gridgroup_hdl->mask_0d.hasInheritedValue(); 
     118     CTimer::get("XIOS").suspend(); 
     119     return isDefined; 
     120  } 
     121 
     122 
    72123  void cxios_set_gridgroup_mask_1d(gridgroup_Ptr gridgroup_hdl, bool* mask_1d, int* extent) 
    73124  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icinterpolate_domain_attr.cpp

    r1201 r1492  
    1818  typedef xios::CInterpolateDomain* interpolate_domain_Ptr; 
    1919 
     20  void cxios_set_interpolate_domain_detect_missing_value(interpolate_domain_Ptr interpolate_domain_hdl, bool detect_missing_value) 
     21  { 
     22    CTimer::get("XIOS").resume(); 
     23    interpolate_domain_hdl->detect_missing_value.setValue(detect_missing_value); 
     24    CTimer::get("XIOS").suspend(); 
     25  } 
     26 
     27  void cxios_get_interpolate_domain_detect_missing_value(interpolate_domain_Ptr interpolate_domain_hdl, bool* detect_missing_value) 
     28  { 
     29    CTimer::get("XIOS").resume(); 
     30    *detect_missing_value = interpolate_domain_hdl->detect_missing_value.getInheritedValue(); 
     31    CTimer::get("XIOS").suspend(); 
     32  } 
     33 
     34  bool cxios_is_defined_interpolate_domain_detect_missing_value(interpolate_domain_Ptr interpolate_domain_hdl) 
     35  { 
     36     CTimer::get("XIOS").resume(); 
     37     bool isDefined = interpolate_domain_hdl->detect_missing_value.hasInheritedValue(); 
     38     CTimer::get("XIOS").suspend(); 
     39     return isDefined; 
     40  } 
     41 
     42 
    2043  void cxios_set_interpolate_domain_mode(interpolate_domain_Ptr interpolate_domain_hdl, const char * mode, int mode_size) 
    2144  { 
     
    90113 
    91114 
     115  void cxios_set_interpolate_domain_read_write_convention(interpolate_domain_Ptr interpolate_domain_hdl, const char * read_write_convention, int read_write_convention_size) 
     116  { 
     117    std::string read_write_convention_str; 
     118    if (!cstr2string(read_write_convention, read_write_convention_size, read_write_convention_str)) return; 
     119    CTimer::get("XIOS").resume(); 
     120    interpolate_domain_hdl->read_write_convention.fromString(read_write_convention_str); 
     121    CTimer::get("XIOS").suspend(); 
     122  } 
     123 
     124  void cxios_get_interpolate_domain_read_write_convention(interpolate_domain_Ptr interpolate_domain_hdl, char * read_write_convention, int read_write_convention_size) 
     125  { 
     126    CTimer::get("XIOS").resume(); 
     127    if (!string_copy(interpolate_domain_hdl->read_write_convention.getInheritedStringValue(), read_write_convention, read_write_convention_size)) 
     128      ERROR("void cxios_get_interpolate_domain_read_write_convention(interpolate_domain_Ptr interpolate_domain_hdl, char * read_write_convention, int read_write_convention_size)", << "Input string is too short"); 
     129    CTimer::get("XIOS").suspend(); 
     130  } 
     131 
     132  bool cxios_is_defined_interpolate_domain_read_write_convention(interpolate_domain_Ptr interpolate_domain_hdl) 
     133  { 
     134     CTimer::get("XIOS").resume(); 
     135     bool isDefined = interpolate_domain_hdl->read_write_convention.hasInheritedValue(); 
     136     CTimer::get("XIOS").suspend(); 
     137     return isDefined; 
     138  } 
     139 
     140 
    92141  void cxios_set_interpolate_domain_renormalize(interpolate_domain_Ptr interpolate_domain_hdl, bool renormalize) 
    93142  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icreduce_domain_to_axis_attr.cpp

    r981 r1492  
    4444 
    4545 
     46  void cxios_set_reduce_domain_to_axis_local(reduce_domain_to_axis_Ptr reduce_domain_to_axis_hdl, bool local) 
     47  { 
     48    CTimer::get("XIOS").resume(); 
     49    reduce_domain_to_axis_hdl->local.setValue(local); 
     50    CTimer::get("XIOS").suspend(); 
     51  } 
     52 
     53  void cxios_get_reduce_domain_to_axis_local(reduce_domain_to_axis_Ptr reduce_domain_to_axis_hdl, bool* local) 
     54  { 
     55    CTimer::get("XIOS").resume(); 
     56    *local = reduce_domain_to_axis_hdl->local.getInheritedValue(); 
     57    CTimer::get("XIOS").suspend(); 
     58  } 
     59 
     60  bool cxios_is_defined_reduce_domain_to_axis_local(reduce_domain_to_axis_Ptr reduce_domain_to_axis_hdl) 
     61  { 
     62     CTimer::get("XIOS").resume(); 
     63     bool isDefined = reduce_domain_to_axis_hdl->local.hasInheritedValue(); 
     64     CTimer::get("XIOS").suspend(); 
     65     return isDefined; 
     66  } 
     67 
     68 
    4669  void cxios_set_reduce_domain_to_axis_operation(reduce_domain_to_axis_Ptr reduce_domain_to_axis_hdl, const char * operation, int operation_size) 
    4770  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icreduce_domain_to_scalar_attr.cpp

    r981 r1492  
    1717{ 
    1818  typedef xios::CReduceDomainToScalar* reduce_domain_to_scalar_Ptr; 
     19 
     20  void cxios_set_reduce_domain_to_scalar_local(reduce_domain_to_scalar_Ptr reduce_domain_to_scalar_hdl, bool local) 
     21  { 
     22    CTimer::get("XIOS").resume(); 
     23    reduce_domain_to_scalar_hdl->local.setValue(local); 
     24    CTimer::get("XIOS").suspend(); 
     25  } 
     26 
     27  void cxios_get_reduce_domain_to_scalar_local(reduce_domain_to_scalar_Ptr reduce_domain_to_scalar_hdl, bool* local) 
     28  { 
     29    CTimer::get("XIOS").resume(); 
     30    *local = reduce_domain_to_scalar_hdl->local.getInheritedValue(); 
     31    CTimer::get("XIOS").suspend(); 
     32  } 
     33 
     34  bool cxios_is_defined_reduce_domain_to_scalar_local(reduce_domain_to_scalar_Ptr reduce_domain_to_scalar_hdl) 
     35  { 
     36     CTimer::get("XIOS").resume(); 
     37     bool isDefined = reduce_domain_to_scalar_hdl->local.hasInheritedValue(); 
     38     CTimer::get("XIOS").suspend(); 
     39     return isDefined; 
     40  } 
     41 
    1942 
    2043  void cxios_set_reduce_domain_to_scalar_operation(reduce_domain_to_scalar_Ptr reduce_domain_to_scalar_hdl, const char * operation, int operation_size) 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icscalar_attr.cpp

    r1158 r1492  
    1818  typedef xios::CScalar* scalar_Ptr; 
    1919 
     20  void cxios_set_scalar_axis_type(scalar_Ptr scalar_hdl, const char * axis_type, int axis_type_size) 
     21  { 
     22    std::string axis_type_str; 
     23    if (!cstr2string(axis_type, axis_type_size, axis_type_str)) return; 
     24    CTimer::get("XIOS").resume(); 
     25    scalar_hdl->axis_type.fromString(axis_type_str); 
     26    CTimer::get("XIOS").suspend(); 
     27  } 
     28 
     29  void cxios_get_scalar_axis_type(scalar_Ptr scalar_hdl, char * axis_type, int axis_type_size) 
     30  { 
     31    CTimer::get("XIOS").resume(); 
     32    if (!string_copy(scalar_hdl->axis_type.getInheritedStringValue(), axis_type, axis_type_size)) 
     33      ERROR("void cxios_get_scalar_axis_type(scalar_Ptr scalar_hdl, char * axis_type, int axis_type_size)", << "Input string is too short"); 
     34    CTimer::get("XIOS").suspend(); 
     35  } 
     36 
     37  bool cxios_is_defined_scalar_axis_type(scalar_Ptr scalar_hdl) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40     bool isDefined = scalar_hdl->axis_type.hasInheritedValue(); 
     41     CTimer::get("XIOS").suspend(); 
     42     return isDefined; 
     43  } 
     44 
     45 
     46  void cxios_set_scalar_bounds(scalar_Ptr scalar_hdl, double* bounds, int* extent) 
     47  { 
     48    CTimer::get("XIOS").resume(); 
     49    CArray<double,1> tmp(bounds, shape(extent[0]), neverDeleteData); 
     50    scalar_hdl->bounds.reference(tmp.copy()); 
     51     CTimer::get("XIOS").suspend(); 
     52  } 
     53 
     54  void cxios_get_scalar_bounds(scalar_Ptr scalar_hdl, double* bounds, int* extent) 
     55  { 
     56    CTimer::get("XIOS").resume(); 
     57    CArray<double,1> tmp(bounds, shape(extent[0]), neverDeleteData); 
     58    tmp=scalar_hdl->bounds.getInheritedValue(); 
     59     CTimer::get("XIOS").suspend(); 
     60  } 
     61 
     62  bool cxios_is_defined_scalar_bounds(scalar_Ptr scalar_hdl) 
     63  { 
     64     CTimer::get("XIOS").resume(); 
     65     bool isDefined = scalar_hdl->bounds.hasInheritedValue(); 
     66     CTimer::get("XIOS").suspend(); 
     67     return isDefined; 
     68  } 
     69 
     70 
     71  void cxios_set_scalar_bounds_name(scalar_Ptr scalar_hdl, const char * bounds_name, int bounds_name_size) 
     72  { 
     73    std::string bounds_name_str; 
     74    if (!cstr2string(bounds_name, bounds_name_size, bounds_name_str)) return; 
     75    CTimer::get("XIOS").resume(); 
     76    scalar_hdl->bounds_name.setValue(bounds_name_str); 
     77    CTimer::get("XIOS").suspend(); 
     78  } 
     79 
     80  void cxios_get_scalar_bounds_name(scalar_Ptr scalar_hdl, char * bounds_name, int bounds_name_size) 
     81  { 
     82    CTimer::get("XIOS").resume(); 
     83    if (!string_copy(scalar_hdl->bounds_name.getInheritedValue(), bounds_name, bounds_name_size)) 
     84      ERROR("void cxios_get_scalar_bounds_name(scalar_Ptr scalar_hdl, char * bounds_name, int bounds_name_size)", << "Input string is too short"); 
     85    CTimer::get("XIOS").suspend(); 
     86  } 
     87 
     88  bool cxios_is_defined_scalar_bounds_name(scalar_Ptr scalar_hdl) 
     89  { 
     90     CTimer::get("XIOS").resume(); 
     91     bool isDefined = scalar_hdl->bounds_name.hasInheritedValue(); 
     92     CTimer::get("XIOS").suspend(); 
     93     return isDefined; 
     94  } 
     95 
     96 
     97  void cxios_set_scalar_comment(scalar_Ptr scalar_hdl, const char * comment, int comment_size) 
     98  { 
     99    std::string comment_str; 
     100    if (!cstr2string(comment, comment_size, comment_str)) return; 
     101    CTimer::get("XIOS").resume(); 
     102    scalar_hdl->comment.setValue(comment_str); 
     103    CTimer::get("XIOS").suspend(); 
     104  } 
     105 
     106  void cxios_get_scalar_comment(scalar_Ptr scalar_hdl, char * comment, int comment_size) 
     107  { 
     108    CTimer::get("XIOS").resume(); 
     109    if (!string_copy(scalar_hdl->comment.getInheritedValue(), comment, comment_size)) 
     110      ERROR("void cxios_get_scalar_comment(scalar_Ptr scalar_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     111    CTimer::get("XIOS").suspend(); 
     112  } 
     113 
     114  bool cxios_is_defined_scalar_comment(scalar_Ptr scalar_hdl) 
     115  { 
     116     CTimer::get("XIOS").resume(); 
     117     bool isDefined = scalar_hdl->comment.hasInheritedValue(); 
     118     CTimer::get("XIOS").suspend(); 
     119     return isDefined; 
     120  } 
     121 
     122 
     123  void cxios_set_scalar_label(scalar_Ptr scalar_hdl, const char * label, int label_size) 
     124  { 
     125    std::string label_str; 
     126    if (!cstr2string(label, label_size, label_str)) return; 
     127    CTimer::get("XIOS").resume(); 
     128    scalar_hdl->label.setValue(label_str); 
     129    CTimer::get("XIOS").suspend(); 
     130  } 
     131 
     132  void cxios_get_scalar_label(scalar_Ptr scalar_hdl, char * label, int label_size) 
     133  { 
     134    CTimer::get("XIOS").resume(); 
     135    if (!string_copy(scalar_hdl->label.getInheritedValue(), label, label_size)) 
     136      ERROR("void cxios_get_scalar_label(scalar_Ptr scalar_hdl, char * label, int label_size)", << "Input string is too short"); 
     137    CTimer::get("XIOS").suspend(); 
     138  } 
     139 
     140  bool cxios_is_defined_scalar_label(scalar_Ptr scalar_hdl) 
     141  { 
     142     CTimer::get("XIOS").resume(); 
     143     bool isDefined = scalar_hdl->label.hasInheritedValue(); 
     144     CTimer::get("XIOS").suspend(); 
     145     return isDefined; 
     146  } 
     147 
     148 
    20149  void cxios_set_scalar_long_name(scalar_Ptr scalar_hdl, const char * long_name, int long_name_size) 
    21150  { 
     
    70199 
    71200 
     201  void cxios_set_scalar_positive(scalar_Ptr scalar_hdl, const char * positive, int positive_size) 
     202  { 
     203    std::string positive_str; 
     204    if (!cstr2string(positive, positive_size, positive_str)) return; 
     205    CTimer::get("XIOS").resume(); 
     206    scalar_hdl->positive.fromString(positive_str); 
     207    CTimer::get("XIOS").suspend(); 
     208  } 
     209 
     210  void cxios_get_scalar_positive(scalar_Ptr scalar_hdl, char * positive, int positive_size) 
     211  { 
     212    CTimer::get("XIOS").resume(); 
     213    if (!string_copy(scalar_hdl->positive.getInheritedStringValue(), positive, positive_size)) 
     214      ERROR("void cxios_get_scalar_positive(scalar_Ptr scalar_hdl, char * positive, int positive_size)", << "Input string is too short"); 
     215    CTimer::get("XIOS").suspend(); 
     216  } 
     217 
     218  bool cxios_is_defined_scalar_positive(scalar_Ptr scalar_hdl) 
     219  { 
     220     CTimer::get("XIOS").resume(); 
     221     bool isDefined = scalar_hdl->positive.hasInheritedValue(); 
     222     CTimer::get("XIOS").suspend(); 
     223     return isDefined; 
     224  } 
     225 
     226 
    72227  void cxios_set_scalar_prec(scalar_Ptr scalar_hdl, int prec) 
    73228  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/c_attr/icscalargroup_attr.cpp

    r1158 r1492  
    1818  typedef xios::CScalarGroup* scalargroup_Ptr; 
    1919 
     20  void cxios_set_scalargroup_axis_type(scalargroup_Ptr scalargroup_hdl, const char * axis_type, int axis_type_size) 
     21  { 
     22    std::string axis_type_str; 
     23    if (!cstr2string(axis_type, axis_type_size, axis_type_str)) return; 
     24    CTimer::get("XIOS").resume(); 
     25    scalargroup_hdl->axis_type.fromString(axis_type_str); 
     26    CTimer::get("XIOS").suspend(); 
     27  } 
     28 
     29  void cxios_get_scalargroup_axis_type(scalargroup_Ptr scalargroup_hdl, char * axis_type, int axis_type_size) 
     30  { 
     31    CTimer::get("XIOS").resume(); 
     32    if (!string_copy(scalargroup_hdl->axis_type.getInheritedStringValue(), axis_type, axis_type_size)) 
     33      ERROR("void cxios_get_scalargroup_axis_type(scalargroup_Ptr scalargroup_hdl, char * axis_type, int axis_type_size)", << "Input string is too short"); 
     34    CTimer::get("XIOS").suspend(); 
     35  } 
     36 
     37  bool cxios_is_defined_scalargroup_axis_type(scalargroup_Ptr scalargroup_hdl) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40     bool isDefined = scalargroup_hdl->axis_type.hasInheritedValue(); 
     41     CTimer::get("XIOS").suspend(); 
     42     return isDefined; 
     43  } 
     44 
     45 
     46  void cxios_set_scalargroup_bounds(scalargroup_Ptr scalargroup_hdl, double* bounds, int* extent) 
     47  { 
     48    CTimer::get("XIOS").resume(); 
     49    CArray<double,1> tmp(bounds, shape(extent[0]), neverDeleteData); 
     50    scalargroup_hdl->bounds.reference(tmp.copy()); 
     51     CTimer::get("XIOS").suspend(); 
     52  } 
     53 
     54  void cxios_get_scalargroup_bounds(scalargroup_Ptr scalargroup_hdl, double* bounds, int* extent) 
     55  { 
     56    CTimer::get("XIOS").resume(); 
     57    CArray<double,1> tmp(bounds, shape(extent[0]), neverDeleteData); 
     58    tmp=scalargroup_hdl->bounds.getInheritedValue(); 
     59     CTimer::get("XIOS").suspend(); 
     60  } 
     61 
     62  bool cxios_is_defined_scalargroup_bounds(scalargroup_Ptr scalargroup_hdl) 
     63  { 
     64     CTimer::get("XIOS").resume(); 
     65     bool isDefined = scalargroup_hdl->bounds.hasInheritedValue(); 
     66     CTimer::get("XIOS").suspend(); 
     67     return isDefined; 
     68  } 
     69 
     70 
     71  void cxios_set_scalargroup_bounds_name(scalargroup_Ptr scalargroup_hdl, const char * bounds_name, int bounds_name_size) 
     72  { 
     73    std::string bounds_name_str; 
     74    if (!cstr2string(bounds_name, bounds_name_size, bounds_name_str)) return; 
     75    CTimer::get("XIOS").resume(); 
     76    scalargroup_hdl->bounds_name.setValue(bounds_name_str); 
     77    CTimer::get("XIOS").suspend(); 
     78  } 
     79 
     80  void cxios_get_scalargroup_bounds_name(scalargroup_Ptr scalargroup_hdl, char * bounds_name, int bounds_name_size) 
     81  { 
     82    CTimer::get("XIOS").resume(); 
     83    if (!string_copy(scalargroup_hdl->bounds_name.getInheritedValue(), bounds_name, bounds_name_size)) 
     84      ERROR("void cxios_get_scalargroup_bounds_name(scalargroup_Ptr scalargroup_hdl, char * bounds_name, int bounds_name_size)", << "Input string is too short"); 
     85    CTimer::get("XIOS").suspend(); 
     86  } 
     87 
     88  bool cxios_is_defined_scalargroup_bounds_name(scalargroup_Ptr scalargroup_hdl) 
     89  { 
     90     CTimer::get("XIOS").resume(); 
     91     bool isDefined = scalargroup_hdl->bounds_name.hasInheritedValue(); 
     92     CTimer::get("XIOS").suspend(); 
     93     return isDefined; 
     94  } 
     95 
     96 
     97  void cxios_set_scalargroup_comment(scalargroup_Ptr scalargroup_hdl, const char * comment, int comment_size) 
     98  { 
     99    std::string comment_str; 
     100    if (!cstr2string(comment, comment_size, comment_str)) return; 
     101    CTimer::get("XIOS").resume(); 
     102    scalargroup_hdl->comment.setValue(comment_str); 
     103    CTimer::get("XIOS").suspend(); 
     104  } 
     105 
     106  void cxios_get_scalargroup_comment(scalargroup_Ptr scalargroup_hdl, char * comment, int comment_size) 
     107  { 
     108    CTimer::get("XIOS").resume(); 
     109    if (!string_copy(scalargroup_hdl->comment.getInheritedValue(), comment, comment_size)) 
     110      ERROR("void cxios_get_scalargroup_comment(scalargroup_Ptr scalargroup_hdl, char * comment, int comment_size)", << "Input string is too short"); 
     111    CTimer::get("XIOS").suspend(); 
     112  } 
     113 
     114  bool cxios_is_defined_scalargroup_comment(scalargroup_Ptr scalargroup_hdl) 
     115  { 
     116     CTimer::get("XIOS").resume(); 
     117     bool isDefined = scalargroup_hdl->comment.hasInheritedValue(); 
     118     CTimer::get("XIOS").suspend(); 
     119     return isDefined; 
     120  } 
     121 
     122 
    20123  void cxios_set_scalargroup_group_ref(scalargroup_Ptr scalargroup_hdl, const char * group_ref, int group_ref_size) 
    21124  { 
     
    44147 
    45148 
     149  void cxios_set_scalargroup_label(scalargroup_Ptr scalargroup_hdl, const char * label, int label_size) 
     150  { 
     151    std::string label_str; 
     152    if (!cstr2string(label, label_size, label_str)) return; 
     153    CTimer::get("XIOS").resume(); 
     154    scalargroup_hdl->label.setValue(label_str); 
     155    CTimer::get("XIOS").suspend(); 
     156  } 
     157 
     158  void cxios_get_scalargroup_label(scalargroup_Ptr scalargroup_hdl, char * label, int label_size) 
     159  { 
     160    CTimer::get("XIOS").resume(); 
     161    if (!string_copy(scalargroup_hdl->label.getInheritedValue(), label, label_size)) 
     162      ERROR("void cxios_get_scalargroup_label(scalargroup_Ptr scalargroup_hdl, char * label, int label_size)", << "Input string is too short"); 
     163    CTimer::get("XIOS").suspend(); 
     164  } 
     165 
     166  bool cxios_is_defined_scalargroup_label(scalargroup_Ptr scalargroup_hdl) 
     167  { 
     168     CTimer::get("XIOS").resume(); 
     169     bool isDefined = scalargroup_hdl->label.hasInheritedValue(); 
     170     CTimer::get("XIOS").suspend(); 
     171     return isDefined; 
     172  } 
     173 
     174 
    46175  void cxios_set_scalargroup_long_name(scalargroup_Ptr scalargroup_hdl, const char * long_name, int long_name_size) 
    47176  { 
     
    96225 
    97226 
     227  void cxios_set_scalargroup_positive(scalargroup_Ptr scalargroup_hdl, const char * positive, int positive_size) 
     228  { 
     229    std::string positive_str; 
     230    if (!cstr2string(positive, positive_size, positive_str)) return; 
     231    CTimer::get("XIOS").resume(); 
     232    scalargroup_hdl->positive.fromString(positive_str); 
     233    CTimer::get("XIOS").suspend(); 
     234  } 
     235 
     236  void cxios_get_scalargroup_positive(scalargroup_Ptr scalargroup_hdl, char * positive, int positive_size) 
     237  { 
     238    CTimer::get("XIOS").resume(); 
     239    if (!string_copy(scalargroup_hdl->positive.getInheritedStringValue(), positive, positive_size)) 
     240      ERROR("void cxios_get_scalargroup_positive(scalargroup_Ptr scalargroup_hdl, char * positive, int positive_size)", << "Input string is too short"); 
     241    CTimer::get("XIOS").suspend(); 
     242  } 
     243 
     244  bool cxios_is_defined_scalargroup_positive(scalargroup_Ptr scalargroup_hdl) 
     245  { 
     246     CTimer::get("XIOS").resume(); 
     247     bool isDefined = scalargroup_hdl->positive.hasInheritedValue(); 
     248     CTimer::get("XIOS").suspend(); 
     249     return isDefined; 
     250  } 
     251 
     252 
    98253  void cxios_set_scalargroup_prec(scalargroup_Ptr scalargroup_hdl, int prec) 
    99254  { 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/axis_interface_attr.F90

    r1158 r1492  
    3131 
    3232 
     33    SUBROUTINE cxios_set_axis_axis_type(axis_hdl, axis_type, axis_type_size) BIND(C) 
     34      USE ISO_C_BINDING 
     35      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     36      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     37      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     38    END SUBROUTINE cxios_set_axis_axis_type 
     39 
     40    SUBROUTINE cxios_get_axis_axis_type(axis_hdl, axis_type, axis_type_size) BIND(C) 
     41      USE ISO_C_BINDING 
     42      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     43      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     44      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     45    END SUBROUTINE cxios_get_axis_axis_type 
     46 
     47    FUNCTION cxios_is_defined_axis_axis_type(axis_hdl) BIND(C) 
     48      USE ISO_C_BINDING 
     49      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_axis_type 
     50      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     51    END FUNCTION cxios_is_defined_axis_axis_type 
     52 
     53 
    3354    SUBROUTINE cxios_set_axis_begin(axis_hdl, begin) BIND(C) 
    3455      USE ISO_C_BINDING 
     
    7192 
    7293 
     94    SUBROUTINE cxios_set_axis_bounds_name(axis_hdl, bounds_name, bounds_name_size) BIND(C) 
     95      USE ISO_C_BINDING 
     96      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     97      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     98      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     99    END SUBROUTINE cxios_set_axis_bounds_name 
     100 
     101    SUBROUTINE cxios_get_axis_bounds_name(axis_hdl, bounds_name, bounds_name_size) BIND(C) 
     102      USE ISO_C_BINDING 
     103      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     104      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     105      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     106    END SUBROUTINE cxios_get_axis_bounds_name 
     107 
     108    FUNCTION cxios_is_defined_axis_bounds_name(axis_hdl) BIND(C) 
     109      USE ISO_C_BINDING 
     110      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_bounds_name 
     111      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     112    END FUNCTION cxios_is_defined_axis_bounds_name 
     113 
     114 
     115    SUBROUTINE cxios_set_axis_comment(axis_hdl, comment, comment_size) BIND(C) 
     116      USE ISO_C_BINDING 
     117      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     118      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     119      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     120    END SUBROUTINE cxios_set_axis_comment 
     121 
     122    SUBROUTINE cxios_get_axis_comment(axis_hdl, comment, comment_size) BIND(C) 
     123      USE ISO_C_BINDING 
     124      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     125      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     126      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     127    END SUBROUTINE cxios_get_axis_comment 
     128 
     129    FUNCTION cxios_is_defined_axis_comment(axis_hdl) BIND(C) 
     130      USE ISO_C_BINDING 
     131      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_comment 
     132      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     133    END FUNCTION cxios_is_defined_axis_comment 
     134 
     135 
    73136    SUBROUTINE cxios_set_axis_data_begin(axis_hdl, data_begin) BIND(C) 
    74137      USE ISO_C_BINDING 
     
    128191      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
    129192    END FUNCTION cxios_is_defined_axis_data_n 
     193 
     194 
     195    SUBROUTINE cxios_set_axis_dim_name(axis_hdl, dim_name, dim_name_size) BIND(C) 
     196      USE ISO_C_BINDING 
     197      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     198      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_name 
     199      INTEGER  (kind = C_INT)     , VALUE        :: dim_name_size 
     200    END SUBROUTINE cxios_set_axis_dim_name 
     201 
     202    SUBROUTINE cxios_get_axis_dim_name(axis_hdl, dim_name, dim_name_size) BIND(C) 
     203      USE ISO_C_BINDING 
     204      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     205      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_name 
     206      INTEGER  (kind = C_INT)     , VALUE        :: dim_name_size 
     207    END SUBROUTINE cxios_get_axis_dim_name 
     208 
     209    FUNCTION cxios_is_defined_axis_dim_name(axis_hdl) BIND(C) 
     210      USE ISO_C_BINDING 
     211      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_dim_name 
     212      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     213    END FUNCTION cxios_is_defined_axis_dim_name 
     214 
     215 
     216    SUBROUTINE cxios_set_axis_formula(axis_hdl, formula, formula_size) BIND(C) 
     217      USE ISO_C_BINDING 
     218      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     219      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula 
     220      INTEGER  (kind = C_INT)     , VALUE        :: formula_size 
     221    END SUBROUTINE cxios_set_axis_formula 
     222 
     223    SUBROUTINE cxios_get_axis_formula(axis_hdl, formula, formula_size) BIND(C) 
     224      USE ISO_C_BINDING 
     225      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     226      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula 
     227      INTEGER  (kind = C_INT)     , VALUE        :: formula_size 
     228    END SUBROUTINE cxios_get_axis_formula 
     229 
     230    FUNCTION cxios_is_defined_axis_formula(axis_hdl) BIND(C) 
     231      USE ISO_C_BINDING 
     232      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_formula 
     233      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     234    END FUNCTION cxios_is_defined_axis_formula 
     235 
     236 
     237    SUBROUTINE cxios_set_axis_formula_bounds(axis_hdl, formula_bounds, formula_bounds_size) BIND(C) 
     238      USE ISO_C_BINDING 
     239      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     240      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_bounds 
     241      INTEGER  (kind = C_INT)     , VALUE        :: formula_bounds_size 
     242    END SUBROUTINE cxios_set_axis_formula_bounds 
     243 
     244    SUBROUTINE cxios_get_axis_formula_bounds(axis_hdl, formula_bounds, formula_bounds_size) BIND(C) 
     245      USE ISO_C_BINDING 
     246      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     247      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_bounds 
     248      INTEGER  (kind = C_INT)     , VALUE        :: formula_bounds_size 
     249    END SUBROUTINE cxios_get_axis_formula_bounds 
     250 
     251    FUNCTION cxios_is_defined_axis_formula_bounds(axis_hdl) BIND(C) 
     252      USE ISO_C_BINDING 
     253      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_formula_bounds 
     254      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     255    END FUNCTION cxios_is_defined_axis_formula_bounds 
     256 
     257 
     258    SUBROUTINE cxios_set_axis_formula_term(axis_hdl, formula_term, formula_term_size) BIND(C) 
     259      USE ISO_C_BINDING 
     260      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     261      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term 
     262      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_size 
     263    END SUBROUTINE cxios_set_axis_formula_term 
     264 
     265    SUBROUTINE cxios_get_axis_formula_term(axis_hdl, formula_term, formula_term_size) BIND(C) 
     266      USE ISO_C_BINDING 
     267      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     268      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term 
     269      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_size 
     270    END SUBROUTINE cxios_get_axis_formula_term 
     271 
     272    FUNCTION cxios_is_defined_axis_formula_term(axis_hdl) BIND(C) 
     273      USE ISO_C_BINDING 
     274      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_formula_term 
     275      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     276    END FUNCTION cxios_is_defined_axis_formula_term 
     277 
     278 
     279    SUBROUTINE cxios_set_axis_formula_term_bounds(axis_hdl, formula_term_bounds, formula_term_bounds_size) BIND(C) 
     280      USE ISO_C_BINDING 
     281      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     282      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term_bounds 
     283      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_bounds_size 
     284    END SUBROUTINE cxios_set_axis_formula_term_bounds 
     285 
     286    SUBROUTINE cxios_get_axis_formula_term_bounds(axis_hdl, formula_term_bounds, formula_term_bounds_size) BIND(C) 
     287      USE ISO_C_BINDING 
     288      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     289      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term_bounds 
     290      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_bounds_size 
     291    END SUBROUTINE cxios_get_axis_formula_term_bounds 
     292 
     293    FUNCTION cxios_is_defined_axis_formula_term_bounds(axis_hdl) BIND(C) 
     294      USE ISO_C_BINDING 
     295      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_formula_term_bounds 
     296      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     297    END FUNCTION cxios_is_defined_axis_formula_term_bounds 
    130298 
    131299 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/axisgroup_interface_attr.F90

    r1158 r1492  
    3131 
    3232 
     33    SUBROUTINE cxios_set_axisgroup_axis_type(axisgroup_hdl, axis_type, axis_type_size) BIND(C) 
     34      USE ISO_C_BINDING 
     35      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     36      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     37      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     38    END SUBROUTINE cxios_set_axisgroup_axis_type 
     39 
     40    SUBROUTINE cxios_get_axisgroup_axis_type(axisgroup_hdl, axis_type, axis_type_size) BIND(C) 
     41      USE ISO_C_BINDING 
     42      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     43      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     44      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     45    END SUBROUTINE cxios_get_axisgroup_axis_type 
     46 
     47    FUNCTION cxios_is_defined_axisgroup_axis_type(axisgroup_hdl) BIND(C) 
     48      USE ISO_C_BINDING 
     49      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_axis_type 
     50      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     51    END FUNCTION cxios_is_defined_axisgroup_axis_type 
     52 
     53 
    3354    SUBROUTINE cxios_set_axisgroup_begin(axisgroup_hdl, begin) BIND(C) 
    3455      USE ISO_C_BINDING 
     
    7192 
    7293 
     94    SUBROUTINE cxios_set_axisgroup_bounds_name(axisgroup_hdl, bounds_name, bounds_name_size) BIND(C) 
     95      USE ISO_C_BINDING 
     96      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     97      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     98      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     99    END SUBROUTINE cxios_set_axisgroup_bounds_name 
     100 
     101    SUBROUTINE cxios_get_axisgroup_bounds_name(axisgroup_hdl, bounds_name, bounds_name_size) BIND(C) 
     102      USE ISO_C_BINDING 
     103      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     104      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     105      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     106    END SUBROUTINE cxios_get_axisgroup_bounds_name 
     107 
     108    FUNCTION cxios_is_defined_axisgroup_bounds_name(axisgroup_hdl) BIND(C) 
     109      USE ISO_C_BINDING 
     110      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_bounds_name 
     111      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     112    END FUNCTION cxios_is_defined_axisgroup_bounds_name 
     113 
     114 
     115    SUBROUTINE cxios_set_axisgroup_comment(axisgroup_hdl, comment, comment_size) BIND(C) 
     116      USE ISO_C_BINDING 
     117      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     118      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     119      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     120    END SUBROUTINE cxios_set_axisgroup_comment 
     121 
     122    SUBROUTINE cxios_get_axisgroup_comment(axisgroup_hdl, comment, comment_size) BIND(C) 
     123      USE ISO_C_BINDING 
     124      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     125      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     126      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     127    END SUBROUTINE cxios_get_axisgroup_comment 
     128 
     129    FUNCTION cxios_is_defined_axisgroup_comment(axisgroup_hdl) BIND(C) 
     130      USE ISO_C_BINDING 
     131      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_comment 
     132      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     133    END FUNCTION cxios_is_defined_axisgroup_comment 
     134 
     135 
    73136    SUBROUTINE cxios_set_axisgroup_data_begin(axisgroup_hdl, data_begin) BIND(C) 
    74137      USE ISO_C_BINDING 
     
    128191      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
    129192    END FUNCTION cxios_is_defined_axisgroup_data_n 
     193 
     194 
     195    SUBROUTINE cxios_set_axisgroup_dim_name(axisgroup_hdl, dim_name, dim_name_size) BIND(C) 
     196      USE ISO_C_BINDING 
     197      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     198      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_name 
     199      INTEGER  (kind = C_INT)     , VALUE        :: dim_name_size 
     200    END SUBROUTINE cxios_set_axisgroup_dim_name 
     201 
     202    SUBROUTINE cxios_get_axisgroup_dim_name(axisgroup_hdl, dim_name, dim_name_size) BIND(C) 
     203      USE ISO_C_BINDING 
     204      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     205      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_name 
     206      INTEGER  (kind = C_INT)     , VALUE        :: dim_name_size 
     207    END SUBROUTINE cxios_get_axisgroup_dim_name 
     208 
     209    FUNCTION cxios_is_defined_axisgroup_dim_name(axisgroup_hdl) BIND(C) 
     210      USE ISO_C_BINDING 
     211      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_dim_name 
     212      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     213    END FUNCTION cxios_is_defined_axisgroup_dim_name 
     214 
     215 
     216    SUBROUTINE cxios_set_axisgroup_formula(axisgroup_hdl, formula, formula_size) BIND(C) 
     217      USE ISO_C_BINDING 
     218      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     219      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula 
     220      INTEGER  (kind = C_INT)     , VALUE        :: formula_size 
     221    END SUBROUTINE cxios_set_axisgroup_formula 
     222 
     223    SUBROUTINE cxios_get_axisgroup_formula(axisgroup_hdl, formula, formula_size) BIND(C) 
     224      USE ISO_C_BINDING 
     225      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     226      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula 
     227      INTEGER  (kind = C_INT)     , VALUE        :: formula_size 
     228    END SUBROUTINE cxios_get_axisgroup_formula 
     229 
     230    FUNCTION cxios_is_defined_axisgroup_formula(axisgroup_hdl) BIND(C) 
     231      USE ISO_C_BINDING 
     232      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_formula 
     233      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     234    END FUNCTION cxios_is_defined_axisgroup_formula 
     235 
     236 
     237    SUBROUTINE cxios_set_axisgroup_formula_bounds(axisgroup_hdl, formula_bounds, formula_bounds_size) BIND(C) 
     238      USE ISO_C_BINDING 
     239      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     240      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_bounds 
     241      INTEGER  (kind = C_INT)     , VALUE        :: formula_bounds_size 
     242    END SUBROUTINE cxios_set_axisgroup_formula_bounds 
     243 
     244    SUBROUTINE cxios_get_axisgroup_formula_bounds(axisgroup_hdl, formula_bounds, formula_bounds_size) BIND(C) 
     245      USE ISO_C_BINDING 
     246      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     247      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_bounds 
     248      INTEGER  (kind = C_INT)     , VALUE        :: formula_bounds_size 
     249    END SUBROUTINE cxios_get_axisgroup_formula_bounds 
     250 
     251    FUNCTION cxios_is_defined_axisgroup_formula_bounds(axisgroup_hdl) BIND(C) 
     252      USE ISO_C_BINDING 
     253      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_formula_bounds 
     254      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     255    END FUNCTION cxios_is_defined_axisgroup_formula_bounds 
     256 
     257 
     258    SUBROUTINE cxios_set_axisgroup_formula_term(axisgroup_hdl, formula_term, formula_term_size) BIND(C) 
     259      USE ISO_C_BINDING 
     260      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     261      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term 
     262      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_size 
     263    END SUBROUTINE cxios_set_axisgroup_formula_term 
     264 
     265    SUBROUTINE cxios_get_axisgroup_formula_term(axisgroup_hdl, formula_term, formula_term_size) BIND(C) 
     266      USE ISO_C_BINDING 
     267      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     268      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term 
     269      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_size 
     270    END SUBROUTINE cxios_get_axisgroup_formula_term 
     271 
     272    FUNCTION cxios_is_defined_axisgroup_formula_term(axisgroup_hdl) BIND(C) 
     273      USE ISO_C_BINDING 
     274      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_formula_term 
     275      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     276    END FUNCTION cxios_is_defined_axisgroup_formula_term 
     277 
     278 
     279    SUBROUTINE cxios_set_axisgroup_formula_term_bounds(axisgroup_hdl, formula_term_bounds, formula_term_bounds_size) BIND(C) 
     280      USE ISO_C_BINDING 
     281      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     282      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term_bounds 
     283      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_bounds_size 
     284    END SUBROUTINE cxios_set_axisgroup_formula_term_bounds 
     285 
     286    SUBROUTINE cxios_get_axisgroup_formula_term_bounds(axisgroup_hdl, formula_term_bounds, formula_term_bounds_size) BIND(C) 
     287      USE ISO_C_BINDING 
     288      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     289      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: formula_term_bounds 
     290      INTEGER  (kind = C_INT)     , VALUE        :: formula_term_bounds_size 
     291    END SUBROUTINE cxios_get_axisgroup_formula_term_bounds 
     292 
     293    FUNCTION cxios_is_defined_axisgroup_formula_term_bounds(axisgroup_hdl) BIND(C) 
     294      USE ISO_C_BINDING 
     295      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_formula_term_bounds 
     296      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     297    END FUNCTION cxios_is_defined_axisgroup_formula_term_bounds 
    130298 
    131299 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/calendar_wrapper_interface_attr.F90

    r674 r1492  
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
    1111 
     12    SUBROUTINE cxios_set_calendar_wrapper_comment(calendar_wrapper_hdl, comment, comment_size) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: calendar_wrapper_hdl 
     15      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     16      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     17    END SUBROUTINE cxios_set_calendar_wrapper_comment 
     18 
     19    SUBROUTINE cxios_get_calendar_wrapper_comment(calendar_wrapper_hdl, comment, comment_size) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE :: calendar_wrapper_hdl 
     22      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     23      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     24    END SUBROUTINE cxios_get_calendar_wrapper_comment 
     25 
     26    FUNCTION cxios_is_defined_calendar_wrapper_comment(calendar_wrapper_hdl) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_calendar_wrapper_comment 
     29      INTEGER (kind = C_INTPTR_T), VALUE :: calendar_wrapper_hdl 
     30    END FUNCTION cxios_is_defined_calendar_wrapper_comment 
     31 
     32 
    1233    SUBROUTINE cxios_set_calendar_wrapper_day_length(calendar_wrapper_hdl, day_length) BIND(C) 
    1334      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/domain_interface_attr.F90

    r1158 r1492  
    7373 
    7474 
     75    SUBROUTINE cxios_set_domain_bounds_lat_name(domain_hdl, bounds_lat_name, bounds_lat_name_size) BIND(C) 
     76      USE ISO_C_BINDING 
     77      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     78      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lat_name 
     79      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lat_name_size 
     80    END SUBROUTINE cxios_set_domain_bounds_lat_name 
     81 
     82    SUBROUTINE cxios_get_domain_bounds_lat_name(domain_hdl, bounds_lat_name, bounds_lat_name_size) BIND(C) 
     83      USE ISO_C_BINDING 
     84      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     85      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lat_name 
     86      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lat_name_size 
     87    END SUBROUTINE cxios_get_domain_bounds_lat_name 
     88 
     89    FUNCTION cxios_is_defined_domain_bounds_lat_name(domain_hdl) BIND(C) 
     90      USE ISO_C_BINDING 
     91      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lat_name 
     92      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     93    END FUNCTION cxios_is_defined_domain_bounds_lat_name 
     94 
     95 
    7596    SUBROUTINE cxios_set_domain_bounds_lon_1d(domain_hdl, bounds_lon_1d, extent) BIND(C) 
    7697      USE ISO_C_BINDING 
     
    113134      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    114135    END FUNCTION cxios_is_defined_domain_bounds_lon_2d 
     136 
     137 
     138    SUBROUTINE cxios_set_domain_bounds_lon_name(domain_hdl, bounds_lon_name, bounds_lon_name_size) BIND(C) 
     139      USE ISO_C_BINDING 
     140      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     141      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lon_name 
     142      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lon_name_size 
     143    END SUBROUTINE cxios_set_domain_bounds_lon_name 
     144 
     145    SUBROUTINE cxios_get_domain_bounds_lon_name(domain_hdl, bounds_lon_name, bounds_lon_name_size) BIND(C) 
     146      USE ISO_C_BINDING 
     147      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     148      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lon_name 
     149      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lon_name_size 
     150    END SUBROUTINE cxios_get_domain_bounds_lon_name 
     151 
     152    FUNCTION cxios_is_defined_domain_bounds_lon_name(domain_hdl) BIND(C) 
     153      USE ISO_C_BINDING 
     154      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lon_name 
     155      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     156    END FUNCTION cxios_is_defined_domain_bounds_lon_name 
     157 
     158 
     159    SUBROUTINE cxios_set_domain_comment(domain_hdl, comment, comment_size) BIND(C) 
     160      USE ISO_C_BINDING 
     161      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     162      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     163      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     164    END SUBROUTINE cxios_set_domain_comment 
     165 
     166    SUBROUTINE cxios_get_domain_comment(domain_hdl, comment, comment_size) BIND(C) 
     167      USE ISO_C_BINDING 
     168      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     169      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     170      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     171    END SUBROUTINE cxios_get_domain_comment 
     172 
     173    FUNCTION cxios_is_defined_domain_comment(domain_hdl) BIND(C) 
     174      USE ISO_C_BINDING 
     175      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_comment 
     176      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     177    END FUNCTION cxios_is_defined_domain_comment 
    115178 
    116179 
     
    250313      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    251314    END FUNCTION cxios_is_defined_domain_data_nj 
     315 
     316 
     317    SUBROUTINE cxios_set_domain_dim_i_name(domain_hdl, dim_i_name, dim_i_name_size) BIND(C) 
     318      USE ISO_C_BINDING 
     319      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     320      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_i_name 
     321      INTEGER  (kind = C_INT)     , VALUE        :: dim_i_name_size 
     322    END SUBROUTINE cxios_set_domain_dim_i_name 
     323 
     324    SUBROUTINE cxios_get_domain_dim_i_name(domain_hdl, dim_i_name, dim_i_name_size) BIND(C) 
     325      USE ISO_C_BINDING 
     326      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     327      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_i_name 
     328      INTEGER  (kind = C_INT)     , VALUE        :: dim_i_name_size 
     329    END SUBROUTINE cxios_get_domain_dim_i_name 
     330 
     331    FUNCTION cxios_is_defined_domain_dim_i_name(domain_hdl) BIND(C) 
     332      USE ISO_C_BINDING 
     333      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_dim_i_name 
     334      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     335    END FUNCTION cxios_is_defined_domain_dim_i_name 
     336 
     337 
     338    SUBROUTINE cxios_set_domain_dim_j_name(domain_hdl, dim_j_name, dim_j_name_size) BIND(C) 
     339      USE ISO_C_BINDING 
     340      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     341      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_j_name 
     342      INTEGER  (kind = C_INT)     , VALUE        :: dim_j_name_size 
     343    END SUBROUTINE cxios_set_domain_dim_j_name 
     344 
     345    SUBROUTINE cxios_get_domain_dim_j_name(domain_hdl, dim_j_name, dim_j_name_size) BIND(C) 
     346      USE ISO_C_BINDING 
     347      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     348      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_j_name 
     349      INTEGER  (kind = C_INT)     , VALUE        :: dim_j_name_size 
     350    END SUBROUTINE cxios_get_domain_dim_j_name 
     351 
     352    FUNCTION cxios_is_defined_domain_dim_j_name(domain_hdl) BIND(C) 
     353      USE ISO_C_BINDING 
     354      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_dim_j_name 
     355      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     356    END FUNCTION cxios_is_defined_domain_dim_j_name 
    252357 
    253358 
     
    353458 
    354459 
     460    SUBROUTINE cxios_set_domain_lat_name(domain_hdl, lat_name, lat_name_size) BIND(C) 
     461      USE ISO_C_BINDING 
     462      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     463      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lat_name 
     464      INTEGER  (kind = C_INT)     , VALUE        :: lat_name_size 
     465    END SUBROUTINE cxios_set_domain_lat_name 
     466 
     467    SUBROUTINE cxios_get_domain_lat_name(domain_hdl, lat_name, lat_name_size) BIND(C) 
     468      USE ISO_C_BINDING 
     469      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     470      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lat_name 
     471      INTEGER  (kind = C_INT)     , VALUE        :: lat_name_size 
     472    END SUBROUTINE cxios_get_domain_lat_name 
     473 
     474    FUNCTION cxios_is_defined_domain_lat_name(domain_hdl) BIND(C) 
     475      USE ISO_C_BINDING 
     476      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_lat_name 
     477      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     478    END FUNCTION cxios_is_defined_domain_lat_name 
     479 
     480 
    355481    SUBROUTINE cxios_set_domain_latvalue_1d(domain_hdl, latvalue_1d, extent) BIND(C) 
    356482      USE ISO_C_BINDING 
     
    393519      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    394520    END FUNCTION cxios_is_defined_domain_latvalue_2d 
     521 
     522 
     523    SUBROUTINE cxios_set_domain_lon_name(domain_hdl, lon_name, lon_name_size) BIND(C) 
     524      USE ISO_C_BINDING 
     525      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     526      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lon_name 
     527      INTEGER  (kind = C_INT)     , VALUE        :: lon_name_size 
     528    END SUBROUTINE cxios_set_domain_lon_name 
     529 
     530    SUBROUTINE cxios_get_domain_lon_name(domain_hdl, lon_name, lon_name_size) BIND(C) 
     531      USE ISO_C_BINDING 
     532      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     533      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lon_name 
     534      INTEGER  (kind = C_INT)     , VALUE        :: lon_name_size 
     535    END SUBROUTINE cxios_get_domain_lon_name 
     536 
     537    FUNCTION cxios_is_defined_domain_lon_name(domain_hdl) BIND(C) 
     538      USE ISO_C_BINDING 
     539      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_lon_name 
     540      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     541    END FUNCTION cxios_is_defined_domain_lon_name 
    395542 
    396543 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/domaingroup_interface_attr.F90

    r1158 r1492  
    7373 
    7474 
     75    SUBROUTINE cxios_set_domaingroup_bounds_lat_name(domaingroup_hdl, bounds_lat_name, bounds_lat_name_size) BIND(C) 
     76      USE ISO_C_BINDING 
     77      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     78      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lat_name 
     79      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lat_name_size 
     80    END SUBROUTINE cxios_set_domaingroup_bounds_lat_name 
     81 
     82    SUBROUTINE cxios_get_domaingroup_bounds_lat_name(domaingroup_hdl, bounds_lat_name, bounds_lat_name_size) BIND(C) 
     83      USE ISO_C_BINDING 
     84      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     85      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lat_name 
     86      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lat_name_size 
     87    END SUBROUTINE cxios_get_domaingroup_bounds_lat_name 
     88 
     89    FUNCTION cxios_is_defined_domaingroup_bounds_lat_name(domaingroup_hdl) BIND(C) 
     90      USE ISO_C_BINDING 
     91      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lat_name 
     92      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     93    END FUNCTION cxios_is_defined_domaingroup_bounds_lat_name 
     94 
     95 
    7596    SUBROUTINE cxios_set_domaingroup_bounds_lon_1d(domaingroup_hdl, bounds_lon_1d, extent) BIND(C) 
    7697      USE ISO_C_BINDING 
     
    113134      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    114135    END FUNCTION cxios_is_defined_domaingroup_bounds_lon_2d 
     136 
     137 
     138    SUBROUTINE cxios_set_domaingroup_bounds_lon_name(domaingroup_hdl, bounds_lon_name, bounds_lon_name_size) BIND(C) 
     139      USE ISO_C_BINDING 
     140      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     141      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lon_name 
     142      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lon_name_size 
     143    END SUBROUTINE cxios_set_domaingroup_bounds_lon_name 
     144 
     145    SUBROUTINE cxios_get_domaingroup_bounds_lon_name(domaingroup_hdl, bounds_lon_name, bounds_lon_name_size) BIND(C) 
     146      USE ISO_C_BINDING 
     147      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     148      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_lon_name 
     149      INTEGER  (kind = C_INT)     , VALUE        :: bounds_lon_name_size 
     150    END SUBROUTINE cxios_get_domaingroup_bounds_lon_name 
     151 
     152    FUNCTION cxios_is_defined_domaingroup_bounds_lon_name(domaingroup_hdl) BIND(C) 
     153      USE ISO_C_BINDING 
     154      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lon_name 
     155      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     156    END FUNCTION cxios_is_defined_domaingroup_bounds_lon_name 
     157 
     158 
     159    SUBROUTINE cxios_set_domaingroup_comment(domaingroup_hdl, comment, comment_size) BIND(C) 
     160      USE ISO_C_BINDING 
     161      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     162      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     163      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     164    END SUBROUTINE cxios_set_domaingroup_comment 
     165 
     166    SUBROUTINE cxios_get_domaingroup_comment(domaingroup_hdl, comment, comment_size) BIND(C) 
     167      USE ISO_C_BINDING 
     168      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     169      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     170      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     171    END SUBROUTINE cxios_get_domaingroup_comment 
     172 
     173    FUNCTION cxios_is_defined_domaingroup_comment(domaingroup_hdl) BIND(C) 
     174      USE ISO_C_BINDING 
     175      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_comment 
     176      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     177    END FUNCTION cxios_is_defined_domaingroup_comment 
    115178 
    116179 
     
    250313      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    251314    END FUNCTION cxios_is_defined_domaingroup_data_nj 
     315 
     316 
     317    SUBROUTINE cxios_set_domaingroup_dim_i_name(domaingroup_hdl, dim_i_name, dim_i_name_size) BIND(C) 
     318      USE ISO_C_BINDING 
     319      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     320      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_i_name 
     321      INTEGER  (kind = C_INT)     , VALUE        :: dim_i_name_size 
     322    END SUBROUTINE cxios_set_domaingroup_dim_i_name 
     323 
     324    SUBROUTINE cxios_get_domaingroup_dim_i_name(domaingroup_hdl, dim_i_name, dim_i_name_size) BIND(C) 
     325      USE ISO_C_BINDING 
     326      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     327      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_i_name 
     328      INTEGER  (kind = C_INT)     , VALUE        :: dim_i_name_size 
     329    END SUBROUTINE cxios_get_domaingroup_dim_i_name 
     330 
     331    FUNCTION cxios_is_defined_domaingroup_dim_i_name(domaingroup_hdl) BIND(C) 
     332      USE ISO_C_BINDING 
     333      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_dim_i_name 
     334      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     335    END FUNCTION cxios_is_defined_domaingroup_dim_i_name 
     336 
     337 
     338    SUBROUTINE cxios_set_domaingroup_dim_j_name(domaingroup_hdl, dim_j_name, dim_j_name_size) BIND(C) 
     339      USE ISO_C_BINDING 
     340      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     341      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_j_name 
     342      INTEGER  (kind = C_INT)     , VALUE        :: dim_j_name_size 
     343    END SUBROUTINE cxios_set_domaingroup_dim_j_name 
     344 
     345    SUBROUTINE cxios_get_domaingroup_dim_j_name(domaingroup_hdl, dim_j_name, dim_j_name_size) BIND(C) 
     346      USE ISO_C_BINDING 
     347      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     348      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: dim_j_name 
     349      INTEGER  (kind = C_INT)     , VALUE        :: dim_j_name_size 
     350    END SUBROUTINE cxios_get_domaingroup_dim_j_name 
     351 
     352    FUNCTION cxios_is_defined_domaingroup_dim_j_name(domaingroup_hdl) BIND(C) 
     353      USE ISO_C_BINDING 
     354      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_dim_j_name 
     355      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     356    END FUNCTION cxios_is_defined_domaingroup_dim_j_name 
    252357 
    253358 
     
    374479 
    375480 
     481    SUBROUTINE cxios_set_domaingroup_lat_name(domaingroup_hdl, lat_name, lat_name_size) BIND(C) 
     482      USE ISO_C_BINDING 
     483      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     484      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lat_name 
     485      INTEGER  (kind = C_INT)     , VALUE        :: lat_name_size 
     486    END SUBROUTINE cxios_set_domaingroup_lat_name 
     487 
     488    SUBROUTINE cxios_get_domaingroup_lat_name(domaingroup_hdl, lat_name, lat_name_size) BIND(C) 
     489      USE ISO_C_BINDING 
     490      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     491      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lat_name 
     492      INTEGER  (kind = C_INT)     , VALUE        :: lat_name_size 
     493    END SUBROUTINE cxios_get_domaingroup_lat_name 
     494 
     495    FUNCTION cxios_is_defined_domaingroup_lat_name(domaingroup_hdl) BIND(C) 
     496      USE ISO_C_BINDING 
     497      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_lat_name 
     498      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     499    END FUNCTION cxios_is_defined_domaingroup_lat_name 
     500 
     501 
    376502    SUBROUTINE cxios_set_domaingroup_latvalue_1d(domaingroup_hdl, latvalue_1d, extent) BIND(C) 
    377503      USE ISO_C_BINDING 
     
    414540      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    415541    END FUNCTION cxios_is_defined_domaingroup_latvalue_2d 
     542 
     543 
     544    SUBROUTINE cxios_set_domaingroup_lon_name(domaingroup_hdl, lon_name, lon_name_size) BIND(C) 
     545      USE ISO_C_BINDING 
     546      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     547      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lon_name 
     548      INTEGER  (kind = C_INT)     , VALUE        :: lon_name_size 
     549    END SUBROUTINE cxios_set_domaingroup_lon_name 
     550 
     551    SUBROUTINE cxios_get_domaingroup_lon_name(domaingroup_hdl, lon_name, lon_name_size) BIND(C) 
     552      USE ISO_C_BINDING 
     553      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     554      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: lon_name 
     555      INTEGER  (kind = C_INT)     , VALUE        :: lon_name_size 
     556    END SUBROUTINE cxios_get_domaingroup_lon_name 
     557 
     558    FUNCTION cxios_is_defined_domaingroup_lon_name(domaingroup_hdl) BIND(C) 
     559      USE ISO_C_BINDING 
     560      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_lon_name 
     561      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     562    END FUNCTION cxios_is_defined_domaingroup_lon_name 
    416563 
    417564 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/field_interface_attr.F90

    r1201 r1492  
    111111 
    112112 
     113    SUBROUTINE cxios_set_field_comment(field_hdl, comment, comment_size) BIND(C) 
     114      USE ISO_C_BINDING 
     115      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     116      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     117      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     118    END SUBROUTINE cxios_set_field_comment 
     119 
     120    SUBROUTINE cxios_get_field_comment(field_hdl, comment, comment_size) BIND(C) 
     121      USE ISO_C_BINDING 
     122      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     123      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     124      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     125    END SUBROUTINE cxios_get_field_comment 
     126 
     127    FUNCTION cxios_is_defined_field_comment(field_hdl) BIND(C) 
     128      USE ISO_C_BINDING 
     129      LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_comment 
     130      INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 
     131    END FUNCTION cxios_is_defined_field_comment 
     132 
     133 
    113134    SUBROUTINE cxios_set_field_compression_level(field_hdl, compression_level) BIND(C) 
    114135      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/fieldgroup_interface_attr.F90

    r1201 r1492  
    111111 
    112112 
     113    SUBROUTINE cxios_set_fieldgroup_comment(fieldgroup_hdl, comment, comment_size) BIND(C) 
     114      USE ISO_C_BINDING 
     115      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     116      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     117      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     118    END SUBROUTINE cxios_set_fieldgroup_comment 
     119 
     120    SUBROUTINE cxios_get_fieldgroup_comment(fieldgroup_hdl, comment, comment_size) BIND(C) 
     121      USE ISO_C_BINDING 
     122      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     123      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     124      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     125    END SUBROUTINE cxios_get_fieldgroup_comment 
     126 
     127    FUNCTION cxios_is_defined_fieldgroup_comment(fieldgroup_hdl) BIND(C) 
     128      USE ISO_C_BINDING 
     129      LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_comment 
     130      INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 
     131    END FUNCTION cxios_is_defined_fieldgroup_comment 
     132 
     133 
    113134    SUBROUTINE cxios_set_fieldgroup_compression_level(fieldgroup_hdl, compression_level) BIND(C) 
    114135      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/file_interface_attr.F90

    r1201 r1492  
    2929 
    3030 
     31    SUBROUTINE cxios_set_file_comment(file_hdl, comment, comment_size) BIND(C) 
     32      USE ISO_C_BINDING 
     33      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     34      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     35      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     36    END SUBROUTINE cxios_set_file_comment 
     37 
     38    SUBROUTINE cxios_get_file_comment(file_hdl, comment, comment_size) BIND(C) 
     39      USE ISO_C_BINDING 
     40      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     41      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     42      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     43    END SUBROUTINE cxios_get_file_comment 
     44 
     45    FUNCTION cxios_is_defined_file_comment(file_hdl) BIND(C) 
     46      USE ISO_C_BINDING 
     47      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_comment 
     48      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     49    END FUNCTION cxios_is_defined_file_comment 
     50 
     51 
    3152    SUBROUTINE cxios_set_file_compression_level(file_hdl, compression_level) BIND(C) 
    3253      USE ISO_C_BINDING 
     
    313334 
    314335 
     336    SUBROUTINE cxios_set_file_read_metadata_par(file_hdl, read_metadata_par) BIND(C) 
     337      USE ISO_C_BINDING 
     338      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     339      LOGICAL (KIND=C_BOOL)      , VALUE :: read_metadata_par 
     340    END SUBROUTINE cxios_set_file_read_metadata_par 
     341 
     342    SUBROUTINE cxios_get_file_read_metadata_par(file_hdl, read_metadata_par) BIND(C) 
     343      USE ISO_C_BINDING 
     344      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     345      LOGICAL (KIND=C_BOOL)             :: read_metadata_par 
     346    END SUBROUTINE cxios_get_file_read_metadata_par 
     347 
     348    FUNCTION cxios_is_defined_file_read_metadata_par(file_hdl) BIND(C) 
     349      USE ISO_C_BINDING 
     350      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_read_metadata_par 
     351      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     352    END FUNCTION cxios_is_defined_file_read_metadata_par 
     353 
     354 
    315355    SUBROUTINE cxios_set_file_record_offset(file_hdl, record_offset) BIND(C) 
    316356      USE ISO_C_BINDING 
     
    330370      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
    331371    END FUNCTION cxios_is_defined_file_record_offset 
     372 
     373 
     374    SUBROUTINE cxios_set_file_split_end_offset(file_hdl, split_end_offset) BIND(C) 
     375      USE ISO_C_BINDING 
     376      USE IDURATION 
     377      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     378      TYPE(txios(duration)), VALUE :: split_end_offset 
     379    END SUBROUTINE cxios_set_file_split_end_offset 
     380 
     381    SUBROUTINE cxios_get_file_split_end_offset(file_hdl, split_end_offset) BIND(C) 
     382      USE ISO_C_BINDING 
     383      USE IDURATION 
     384      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     385      TYPE(txios(duration)) :: split_end_offset 
     386    END SUBROUTINE cxios_get_file_split_end_offset 
     387 
     388    FUNCTION cxios_is_defined_file_split_end_offset(file_hdl) BIND(C) 
     389      USE ISO_C_BINDING 
     390      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_split_end_offset 
     391      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     392    END FUNCTION cxios_is_defined_file_split_end_offset 
    332393 
    333394 
     
    374435 
    375436 
     437    SUBROUTINE cxios_set_file_split_last_date(file_hdl, split_last_date, split_last_date_size) BIND(C) 
     438      USE ISO_C_BINDING 
     439      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     440      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_last_date 
     441      INTEGER  (kind = C_INT)     , VALUE        :: split_last_date_size 
     442    END SUBROUTINE cxios_set_file_split_last_date 
     443 
     444    SUBROUTINE cxios_get_file_split_last_date(file_hdl, split_last_date, split_last_date_size) BIND(C) 
     445      USE ISO_C_BINDING 
     446      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     447      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_last_date 
     448      INTEGER  (kind = C_INT)     , VALUE        :: split_last_date_size 
     449    END SUBROUTINE cxios_get_file_split_last_date 
     450 
     451    FUNCTION cxios_is_defined_file_split_last_date(file_hdl) BIND(C) 
     452      USE ISO_C_BINDING 
     453      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_split_last_date 
     454      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     455    END FUNCTION cxios_is_defined_file_split_last_date 
     456 
     457 
     458    SUBROUTINE cxios_set_file_split_start_offset(file_hdl, split_start_offset) BIND(C) 
     459      USE ISO_C_BINDING 
     460      USE IDURATION 
     461      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     462      TYPE(txios(duration)), VALUE :: split_start_offset 
     463    END SUBROUTINE cxios_set_file_split_start_offset 
     464 
     465    SUBROUTINE cxios_get_file_split_start_offset(file_hdl, split_start_offset) BIND(C) 
     466      USE ISO_C_BINDING 
     467      USE IDURATION 
     468      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     469      TYPE(txios(duration)) :: split_start_offset 
     470    END SUBROUTINE cxios_get_file_split_start_offset 
     471 
     472    FUNCTION cxios_is_defined_file_split_start_offset(file_hdl) BIND(C) 
     473      USE ISO_C_BINDING 
     474      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_split_start_offset 
     475      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     476    END FUNCTION cxios_is_defined_file_split_start_offset 
     477 
     478 
    376479    SUBROUTINE cxios_set_file_sync_freq(file_hdl, sync_freq) BIND(C) 
    377480      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/filegroup_interface_attr.F90

    r1201 r1492  
    2929 
    3030 
     31    SUBROUTINE cxios_set_filegroup_comment(filegroup_hdl, comment, comment_size) BIND(C) 
     32      USE ISO_C_BINDING 
     33      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     34      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     35      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     36    END SUBROUTINE cxios_set_filegroup_comment 
     37 
     38    SUBROUTINE cxios_get_filegroup_comment(filegroup_hdl, comment, comment_size) BIND(C) 
     39      USE ISO_C_BINDING 
     40      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     41      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     42      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     43    END SUBROUTINE cxios_get_filegroup_comment 
     44 
     45    FUNCTION cxios_is_defined_filegroup_comment(filegroup_hdl) BIND(C) 
     46      USE ISO_C_BINDING 
     47      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_comment 
     48      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     49    END FUNCTION cxios_is_defined_filegroup_comment 
     50 
     51 
    3152    SUBROUTINE cxios_set_filegroup_compression_level(filegroup_hdl, compression_level) BIND(C) 
    3253      USE ISO_C_BINDING 
     
    334355 
    335356 
     357    SUBROUTINE cxios_set_filegroup_read_metadata_par(filegroup_hdl, read_metadata_par) BIND(C) 
     358      USE ISO_C_BINDING 
     359      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     360      LOGICAL (KIND=C_BOOL)      , VALUE :: read_metadata_par 
     361    END SUBROUTINE cxios_set_filegroup_read_metadata_par 
     362 
     363    SUBROUTINE cxios_get_filegroup_read_metadata_par(filegroup_hdl, read_metadata_par) BIND(C) 
     364      USE ISO_C_BINDING 
     365      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     366      LOGICAL (KIND=C_BOOL)             :: read_metadata_par 
     367    END SUBROUTINE cxios_get_filegroup_read_metadata_par 
     368 
     369    FUNCTION cxios_is_defined_filegroup_read_metadata_par(filegroup_hdl) BIND(C) 
     370      USE ISO_C_BINDING 
     371      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_read_metadata_par 
     372      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     373    END FUNCTION cxios_is_defined_filegroup_read_metadata_par 
     374 
     375 
    336376    SUBROUTINE cxios_set_filegroup_record_offset(filegroup_hdl, record_offset) BIND(C) 
    337377      USE ISO_C_BINDING 
     
    351391      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
    352392    END FUNCTION cxios_is_defined_filegroup_record_offset 
     393 
     394 
     395    SUBROUTINE cxios_set_filegroup_split_end_offset(filegroup_hdl, split_end_offset) BIND(C) 
     396      USE ISO_C_BINDING 
     397      USE IDURATION 
     398      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     399      TYPE(txios(duration)), VALUE :: split_end_offset 
     400    END SUBROUTINE cxios_set_filegroup_split_end_offset 
     401 
     402    SUBROUTINE cxios_get_filegroup_split_end_offset(filegroup_hdl, split_end_offset) BIND(C) 
     403      USE ISO_C_BINDING 
     404      USE IDURATION 
     405      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     406      TYPE(txios(duration)) :: split_end_offset 
     407    END SUBROUTINE cxios_get_filegroup_split_end_offset 
     408 
     409    FUNCTION cxios_is_defined_filegroup_split_end_offset(filegroup_hdl) BIND(C) 
     410      USE ISO_C_BINDING 
     411      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_split_end_offset 
     412      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     413    END FUNCTION cxios_is_defined_filegroup_split_end_offset 
    353414 
    354415 
     
    395456 
    396457 
     458    SUBROUTINE cxios_set_filegroup_split_last_date(filegroup_hdl, split_last_date, split_last_date_size) BIND(C) 
     459      USE ISO_C_BINDING 
     460      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     461      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_last_date 
     462      INTEGER  (kind = C_INT)     , VALUE        :: split_last_date_size 
     463    END SUBROUTINE cxios_set_filegroup_split_last_date 
     464 
     465    SUBROUTINE cxios_get_filegroup_split_last_date(filegroup_hdl, split_last_date, split_last_date_size) BIND(C) 
     466      USE ISO_C_BINDING 
     467      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     468      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_last_date 
     469      INTEGER  (kind = C_INT)     , VALUE        :: split_last_date_size 
     470    END SUBROUTINE cxios_get_filegroup_split_last_date 
     471 
     472    FUNCTION cxios_is_defined_filegroup_split_last_date(filegroup_hdl) BIND(C) 
     473      USE ISO_C_BINDING 
     474      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_split_last_date 
     475      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     476    END FUNCTION cxios_is_defined_filegroup_split_last_date 
     477 
     478 
     479    SUBROUTINE cxios_set_filegroup_split_start_offset(filegroup_hdl, split_start_offset) BIND(C) 
     480      USE ISO_C_BINDING 
     481      USE IDURATION 
     482      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     483      TYPE(txios(duration)), VALUE :: split_start_offset 
     484    END SUBROUTINE cxios_set_filegroup_split_start_offset 
     485 
     486    SUBROUTINE cxios_get_filegroup_split_start_offset(filegroup_hdl, split_start_offset) BIND(C) 
     487      USE ISO_C_BINDING 
     488      USE IDURATION 
     489      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     490      TYPE(txios(duration)) :: split_start_offset 
     491    END SUBROUTINE cxios_get_filegroup_split_start_offset 
     492 
     493    FUNCTION cxios_is_defined_filegroup_split_start_offset(filegroup_hdl) BIND(C) 
     494      USE ISO_C_BINDING 
     495      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_split_start_offset 
     496      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     497    END FUNCTION cxios_is_defined_filegroup_split_start_offset 
     498 
     499 
    397500    SUBROUTINE cxios_set_filegroup_sync_freq(filegroup_hdl, sync_freq) BIND(C) 
    398501      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/grid_interface_attr.F90

    r932 r1492  
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
    1111 
     12    SUBROUTINE cxios_set_grid_comment(grid_hdl, comment, comment_size) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     15      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     16      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     17    END SUBROUTINE cxios_set_grid_comment 
     18 
     19    SUBROUTINE cxios_get_grid_comment(grid_hdl, comment, comment_size) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     22      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     23      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     24    END SUBROUTINE cxios_get_grid_comment 
     25 
     26    FUNCTION cxios_is_defined_grid_comment(grid_hdl) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_comment 
     29      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     30    END FUNCTION cxios_is_defined_grid_comment 
     31 
     32 
    1233    SUBROUTINE cxios_set_grid_description(grid_hdl, description, description_size) BIND(C) 
    1334      USE ISO_C_BINDING 
     
    3152 
    3253 
     54    SUBROUTINE cxios_set_grid_mask_0d(grid_hdl, mask_0d, extent) BIND(C) 
     55      USE ISO_C_BINDING 
     56      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     57      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_0d 
     58      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     59    END SUBROUTINE cxios_set_grid_mask_0d 
     60 
     61    SUBROUTINE cxios_get_grid_mask_0d(grid_hdl, mask_0d, extent) BIND(C) 
     62      USE ISO_C_BINDING 
     63      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     64      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_0d 
     65      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     66    END SUBROUTINE cxios_get_grid_mask_0d 
     67 
     68    FUNCTION cxios_is_defined_grid_mask_0d(grid_hdl) BIND(C) 
     69      USE ISO_C_BINDING 
     70      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_0d 
     71      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     72    END FUNCTION cxios_is_defined_grid_mask_0d 
     73 
     74 
    3375    SUBROUTINE cxios_set_grid_mask_1d(grid_hdl, mask_1d, extent) BIND(C) 
    3476      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/gridgroup_interface_attr.F90

    r932 r1492  
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
    1111 
     12    SUBROUTINE cxios_set_gridgroup_comment(gridgroup_hdl, comment, comment_size) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     15      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     16      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     17    END SUBROUTINE cxios_set_gridgroup_comment 
     18 
     19    SUBROUTINE cxios_get_gridgroup_comment(gridgroup_hdl, comment, comment_size) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     22      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     23      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     24    END SUBROUTINE cxios_get_gridgroup_comment 
     25 
     26    FUNCTION cxios_is_defined_gridgroup_comment(gridgroup_hdl) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_comment 
     29      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     30    END FUNCTION cxios_is_defined_gridgroup_comment 
     31 
     32 
    1233    SUBROUTINE cxios_set_gridgroup_description(gridgroup_hdl, description, description_size) BIND(C) 
    1334      USE ISO_C_BINDING 
     
    5273 
    5374 
     75    SUBROUTINE cxios_set_gridgroup_mask_0d(gridgroup_hdl, mask_0d, extent) BIND(C) 
     76      USE ISO_C_BINDING 
     77      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     78      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_0d 
     79      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     80    END SUBROUTINE cxios_set_gridgroup_mask_0d 
     81 
     82    SUBROUTINE cxios_get_gridgroup_mask_0d(gridgroup_hdl, mask_0d, extent) BIND(C) 
     83      USE ISO_C_BINDING 
     84      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     85      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_0d 
     86      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     87    END SUBROUTINE cxios_get_gridgroup_mask_0d 
     88 
     89    FUNCTION cxios_is_defined_gridgroup_mask_0d(gridgroup_hdl) BIND(C) 
     90      USE ISO_C_BINDING 
     91      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_0d 
     92      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     93    END FUNCTION cxios_is_defined_gridgroup_mask_0d 
     94 
     95 
    5496    SUBROUTINE cxios_set_gridgroup_mask_1d(gridgroup_hdl, mask_1d, extent) BIND(C) 
    5597      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/iaxis_attr.F90

    r1158 r1492  
    1212 
    1313  SUBROUTINE xios(set_axis_attr)  & 
    14     ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    15     , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    16      ) 
     14    ( axis_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     15    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     16    , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     17    , value ) 
    1718 
    1819    IMPLICIT NONE 
     
    2021      CHARACTER(LEN=*), INTENT(IN) ::axis_id 
    2122      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
    2224      INTEGER  , OPTIONAL, INTENT(IN) :: begin 
    2325      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:,:) 
     26      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     27      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2428      INTEGER  , OPTIONAL, INTENT(IN) :: data_begin 
    2529      INTEGER  , OPTIONAL, INTENT(IN) :: data_index(:) 
    2630      INTEGER  , OPTIONAL, INTENT(IN) :: data_n 
     31      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_name 
     32      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula 
     33      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_bounds 
     34      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term 
     35      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_bounds 
    2736      INTEGER  , OPTIONAL, INTENT(IN) :: index(:) 
    2837      CHARACTER(len=*) , OPTIONAL, INTENT(IN) :: label(:) 
     
    4352      (axis_id,axis_hdl) 
    4453      CALL xios(set_axis_attr_hdl_)   & 
    45       ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    46       , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    47        ) 
     54      ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     55      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     56      , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     57      , value ) 
    4858 
    4959  END SUBROUTINE xios(set_axis_attr) 
    5060 
    5161  SUBROUTINE xios(set_axis_attr_hdl)  & 
    52     ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    53     , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    54      ) 
     62    ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     63    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     64    , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     65    , value ) 
    5566 
    5667    IMPLICIT NONE 
    5768      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
    5869      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     70      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
    5971      INTEGER  , OPTIONAL, INTENT(IN) :: begin 
    6072      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:,:) 
     73      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     74      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    6175      INTEGER  , OPTIONAL, INTENT(IN) :: data_begin 
    6276      INTEGER  , OPTIONAL, INTENT(IN) :: data_index(:) 
    6377      INTEGER  , OPTIONAL, INTENT(IN) :: data_n 
     78      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_name 
     79      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula 
     80      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_bounds 
     81      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term 
     82      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_bounds 
    6483      INTEGER  , OPTIONAL, INTENT(IN) :: index(:) 
    6584      CHARACTER(len=*) , OPTIONAL, INTENT(IN) :: label(:) 
     
    7897 
    7998      CALL xios(set_axis_attr_hdl_)  & 
    80       ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    81       , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    82        ) 
     99      ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     100      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     101      , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     102      , value ) 
    83103 
    84104  END SUBROUTINE xios(set_axis_attr_hdl) 
    85105 
    86106  SUBROUTINE xios(set_axis_attr_hdl_)   & 
    87     ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, index_, label_, long_name_  & 
    88     , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_, unit_  & 
    89     , value_ ) 
     107    ( axis_hdl, axis_ref_, axis_type_, begin_, bounds_, bounds_name_, comment_, data_begin_, data_index_  & 
     108    , data_n_, dim_name_, formula_, formula_bounds_, formula_term_, formula_term_bounds_, index_  & 
     109    , label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_  & 
     110    , unit_, value_ ) 
    90111 
    91112    IMPLICIT NONE 
    92113      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
    93114      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
     115      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type_ 
    94116      INTEGER  , OPTIONAL, INTENT(IN) :: begin_ 
    95117      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_(:,:) 
     118      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name_ 
     119      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    96120      INTEGER  , OPTIONAL, INTENT(IN) :: data_begin_ 
    97121      INTEGER  , OPTIONAL, INTENT(IN) :: data_index_(:) 
    98122      INTEGER  , OPTIONAL, INTENT(IN) :: data_n_ 
     123      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_name_ 
     124      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_ 
     125      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_bounds_ 
     126      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_ 
     127      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_bounds_ 
    99128      INTEGER  , OPTIONAL, INTENT(IN) :: index_(:) 
    100129      CHARACTER(len=*) , OPTIONAL, INTENT(IN) :: label_(:) 
     
    117146      ENDIF 
    118147 
     148      IF (PRESENT(axis_type_)) THEN 
     149        CALL cxios_set_axis_axis_type & 
     150      (axis_hdl%daddr, axis_type_, len(axis_type_)) 
     151      ENDIF 
     152 
    119153      IF (PRESENT(begin_)) THEN 
    120154        CALL cxios_set_axis_begin & 
     
    127161      ENDIF 
    128162 
     163      IF (PRESENT(bounds_name_)) THEN 
     164        CALL cxios_set_axis_bounds_name & 
     165      (axis_hdl%daddr, bounds_name_, len(bounds_name_)) 
     166      ENDIF 
     167 
     168      IF (PRESENT(comment_)) THEN 
     169        CALL cxios_set_axis_comment & 
     170      (axis_hdl%daddr, comment_, len(comment_)) 
     171      ENDIF 
     172 
    129173      IF (PRESENT(data_begin_)) THEN 
    130174        CALL cxios_set_axis_data_begin & 
     
    140184        CALL cxios_set_axis_data_n & 
    141185      (axis_hdl%daddr, data_n_) 
     186      ENDIF 
     187 
     188      IF (PRESENT(dim_name_)) THEN 
     189        CALL cxios_set_axis_dim_name & 
     190      (axis_hdl%daddr, dim_name_, len(dim_name_)) 
     191      ENDIF 
     192 
     193      IF (PRESENT(formula_)) THEN 
     194        CALL cxios_set_axis_formula & 
     195      (axis_hdl%daddr, formula_, len(formula_)) 
     196      ENDIF 
     197 
     198      IF (PRESENT(formula_bounds_)) THEN 
     199        CALL cxios_set_axis_formula_bounds & 
     200      (axis_hdl%daddr, formula_bounds_, len(formula_bounds_)) 
     201      ENDIF 
     202 
     203      IF (PRESENT(formula_term_)) THEN 
     204        CALL cxios_set_axis_formula_term & 
     205      (axis_hdl%daddr, formula_term_, len(formula_term_)) 
     206      ENDIF 
     207 
     208      IF (PRESENT(formula_term_bounds_)) THEN 
     209        CALL cxios_set_axis_formula_term_bounds & 
     210      (axis_hdl%daddr, formula_term_bounds_, len(formula_term_bounds_)) 
    142211      ENDIF 
    143212 
     
    212281 
    213282  SUBROUTINE xios(get_axis_attr)  & 
    214     ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    215     , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    216      ) 
     283    ( axis_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     284    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     285    , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     286    , value ) 
    217287 
    218288    IMPLICIT NONE 
     
    220290      CHARACTER(LEN=*), INTENT(IN) ::axis_id 
    221291      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     292      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
    222293      INTEGER  , OPTIONAL, INTENT(OUT) :: begin 
    223294      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:,:) 
     295      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     296      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    224297      INTEGER  , OPTIONAL, INTENT(OUT) :: data_begin 
    225298      INTEGER  , OPTIONAL, INTENT(OUT) :: data_index(:) 
    226299      INTEGER  , OPTIONAL, INTENT(OUT) :: data_n 
     300      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_name 
     301      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula 
     302      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_bounds 
     303      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term 
     304      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_bounds 
    227305      INTEGER  , OPTIONAL, INTENT(OUT) :: index(:) 
    228306      CHARACTER(len=*) , OPTIONAL, INTENT(OUT) :: label(:) 
     
    243321      (axis_id,axis_hdl) 
    244322      CALL xios(get_axis_attr_hdl_)   & 
    245       ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    246       , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    247        ) 
     323      ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     324      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     325      , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     326      , value ) 
    248327 
    249328  END SUBROUTINE xios(get_axis_attr) 
    250329 
    251330  SUBROUTINE xios(get_axis_attr_hdl)  & 
    252     ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    253     , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    254      ) 
     331    ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     332    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     333    , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     334    , value ) 
    255335 
    256336    IMPLICIT NONE 
    257337      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
    258338      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     339      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
    259340      INTEGER  , OPTIONAL, INTENT(OUT) :: begin 
    260341      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:,:) 
     342      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     343      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    261344      INTEGER  , OPTIONAL, INTENT(OUT) :: data_begin 
    262345      INTEGER  , OPTIONAL, INTENT(OUT) :: data_index(:) 
    263346      INTEGER  , OPTIONAL, INTENT(OUT) :: data_n 
     347      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_name 
     348      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula 
     349      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_bounds 
     350      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term 
     351      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_bounds 
    264352      INTEGER  , OPTIONAL, INTENT(OUT) :: index(:) 
    265353      CHARACTER(len=*) , OPTIONAL, INTENT(OUT) :: label(:) 
     
    278366 
    279367      CALL xios(get_axis_attr_hdl_)  & 
    280       ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    281       , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    282        ) 
     368      ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     369      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     370      , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     371      , value ) 
    283372 
    284373  END SUBROUTINE xios(get_axis_attr_hdl) 
    285374 
    286375  SUBROUTINE xios(get_axis_attr_hdl_)   & 
    287     ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, index_, label_, long_name_  & 
    288     , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_, unit_  & 
    289     , value_ ) 
     376    ( axis_hdl, axis_ref_, axis_type_, begin_, bounds_, bounds_name_, comment_, data_begin_, data_index_  & 
     377    , data_n_, dim_name_, formula_, formula_bounds_, formula_term_, formula_term_bounds_, index_  & 
     378    , label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_  & 
     379    , unit_, value_ ) 
    290380 
    291381    IMPLICIT NONE 
    292382      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
    293383      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
     384      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type_ 
    294385      INTEGER  , OPTIONAL, INTENT(OUT) :: begin_ 
    295386      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_(:,:) 
     387      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name_ 
     388      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    296389      INTEGER  , OPTIONAL, INTENT(OUT) :: data_begin_ 
    297390      INTEGER  , OPTIONAL, INTENT(OUT) :: data_index_(:) 
    298391      INTEGER  , OPTIONAL, INTENT(OUT) :: data_n_ 
     392      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_name_ 
     393      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_ 
     394      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_bounds_ 
     395      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_ 
     396      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_bounds_ 
    299397      INTEGER  , OPTIONAL, INTENT(OUT) :: index_(:) 
    300398      CHARACTER(len=*) , OPTIONAL, INTENT(OUT) :: label_(:) 
     
    317415      ENDIF 
    318416 
     417      IF (PRESENT(axis_type_)) THEN 
     418        CALL cxios_get_axis_axis_type & 
     419      (axis_hdl%daddr, axis_type_, len(axis_type_)) 
     420      ENDIF 
     421 
    319422      IF (PRESENT(begin_)) THEN 
    320423        CALL cxios_get_axis_begin & 
     
    327430      ENDIF 
    328431 
     432      IF (PRESENT(bounds_name_)) THEN 
     433        CALL cxios_get_axis_bounds_name & 
     434      (axis_hdl%daddr, bounds_name_, len(bounds_name_)) 
     435      ENDIF 
     436 
     437      IF (PRESENT(comment_)) THEN 
     438        CALL cxios_get_axis_comment & 
     439      (axis_hdl%daddr, comment_, len(comment_)) 
     440      ENDIF 
     441 
    329442      IF (PRESENT(data_begin_)) THEN 
    330443        CALL cxios_get_axis_data_begin & 
     
    340453        CALL cxios_get_axis_data_n & 
    341454      (axis_hdl%daddr, data_n_) 
     455      ENDIF 
     456 
     457      IF (PRESENT(dim_name_)) THEN 
     458        CALL cxios_get_axis_dim_name & 
     459      (axis_hdl%daddr, dim_name_, len(dim_name_)) 
     460      ENDIF 
     461 
     462      IF (PRESENT(formula_)) THEN 
     463        CALL cxios_get_axis_formula & 
     464      (axis_hdl%daddr, formula_, len(formula_)) 
     465      ENDIF 
     466 
     467      IF (PRESENT(formula_bounds_)) THEN 
     468        CALL cxios_get_axis_formula_bounds & 
     469      (axis_hdl%daddr, formula_bounds_, len(formula_bounds_)) 
     470      ENDIF 
     471 
     472      IF (PRESENT(formula_term_)) THEN 
     473        CALL cxios_get_axis_formula_term & 
     474      (axis_hdl%daddr, formula_term_, len(formula_term_)) 
     475      ENDIF 
     476 
     477      IF (PRESENT(formula_term_bounds_)) THEN 
     478        CALL cxios_get_axis_formula_term_bounds & 
     479      (axis_hdl%daddr, formula_term_bounds_, len(formula_term_bounds_)) 
    342480      ENDIF 
    343481 
     
    412550 
    413551  SUBROUTINE xios(is_defined_axis_attr)  & 
    414     ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    415     , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    416      ) 
     552    ( axis_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     553    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     554    , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     555    , value ) 
    417556 
    418557    IMPLICIT NONE 
     
    421560      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    422561      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     562      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     563      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
    423564      LOGICAL, OPTIONAL, INTENT(OUT) :: begin 
    424565      LOGICAL(KIND=C_BOOL) :: begin_tmp 
    425566      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
    426567      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     568      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     569      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     570      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     571      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    427572      LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin 
    428573      LOGICAL(KIND=C_BOOL) :: data_begin_tmp 
     
    431576      LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 
    432577      LOGICAL(KIND=C_BOOL) :: data_n_tmp 
     578      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_name 
     579      LOGICAL(KIND=C_BOOL) :: dim_name_tmp 
     580      LOGICAL, OPTIONAL, INTENT(OUT) :: formula 
     581      LOGICAL(KIND=C_BOOL) :: formula_tmp 
     582      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_bounds 
     583      LOGICAL(KIND=C_BOOL) :: formula_bounds_tmp 
     584      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term 
     585      LOGICAL(KIND=C_BOOL) :: formula_term_tmp 
     586      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_bounds 
     587      LOGICAL(KIND=C_BOOL) :: formula_term_bounds_tmp 
    433588      LOGICAL, OPTIONAL, INTENT(OUT) :: index 
    434589      LOGICAL(KIND=C_BOOL) :: index_tmp 
     
    461616      (axis_id,axis_hdl) 
    462617      CALL xios(is_defined_axis_attr_hdl_)   & 
    463       ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    464       , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    465        ) 
     618      ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     619      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     620      , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     621      , value ) 
    466622 
    467623  END SUBROUTINE xios(is_defined_axis_attr) 
    468624 
    469625  SUBROUTINE xios(is_defined_axis_attr_hdl)  & 
    470     ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    471     , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    472      ) 
     626    ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     627    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     628    , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     629    , value ) 
    473630 
    474631    IMPLICIT NONE 
     
    476633      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    477634      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     635      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     636      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
    478637      LOGICAL, OPTIONAL, INTENT(OUT) :: begin 
    479638      LOGICAL(KIND=C_BOOL) :: begin_tmp 
    480639      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
    481640      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     641      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     642      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     643      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     644      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    482645      LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin 
    483646      LOGICAL(KIND=C_BOOL) :: data_begin_tmp 
     
    486649      LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 
    487650      LOGICAL(KIND=C_BOOL) :: data_n_tmp 
     651      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_name 
     652      LOGICAL(KIND=C_BOOL) :: dim_name_tmp 
     653      LOGICAL, OPTIONAL, INTENT(OUT) :: formula 
     654      LOGICAL(KIND=C_BOOL) :: formula_tmp 
     655      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_bounds 
     656      LOGICAL(KIND=C_BOOL) :: formula_bounds_tmp 
     657      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term 
     658      LOGICAL(KIND=C_BOOL) :: formula_term_tmp 
     659      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_bounds 
     660      LOGICAL(KIND=C_BOOL) :: formula_term_bounds_tmp 
    488661      LOGICAL, OPTIONAL, INTENT(OUT) :: index 
    489662      LOGICAL(KIND=C_BOOL) :: index_tmp 
     
    514687 
    515688      CALL xios(is_defined_axis_attr_hdl_)  & 
    516       ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, label, long_name  & 
    517       , mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit, value  & 
    518        ) 
     689      ( axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     690      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label  & 
     691      , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
     692      , value ) 
    519693 
    520694  END SUBROUTINE xios(is_defined_axis_attr_hdl) 
    521695 
    522696  SUBROUTINE xios(is_defined_axis_attr_hdl_)   & 
    523     ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, index_, label_, long_name_  & 
    524     , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_, unit_  & 
    525     , value_ ) 
     697    ( axis_hdl, axis_ref_, axis_type_, begin_, bounds_, bounds_name_, comment_, data_begin_, data_index_  & 
     698    , data_n_, dim_name_, formula_, formula_bounds_, formula_term_, formula_term_bounds_, index_  & 
     699    , label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_  & 
     700    , unit_, value_ ) 
    526701 
    527702    IMPLICIT NONE 
     
    529704      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
    530705      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
     706      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type_ 
     707      LOGICAL(KIND=C_BOOL) :: axis_type__tmp 
    531708      LOGICAL, OPTIONAL, INTENT(OUT) :: begin_ 
    532709      LOGICAL(KIND=C_BOOL) :: begin__tmp 
    533710      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_ 
    534711      LOGICAL(KIND=C_BOOL) :: bounds__tmp 
     712      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name_ 
     713      LOGICAL(KIND=C_BOOL) :: bounds_name__tmp 
     714      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     715      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    535716      LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin_ 
    536717      LOGICAL(KIND=C_BOOL) :: data_begin__tmp 
     
    539720      LOGICAL, OPTIONAL, INTENT(OUT) :: data_n_ 
    540721      LOGICAL(KIND=C_BOOL) :: data_n__tmp 
     722      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_name_ 
     723      LOGICAL(KIND=C_BOOL) :: dim_name__tmp 
     724      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_ 
     725      LOGICAL(KIND=C_BOOL) :: formula__tmp 
     726      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_bounds_ 
     727      LOGICAL(KIND=C_BOOL) :: formula_bounds__tmp 
     728      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_ 
     729      LOGICAL(KIND=C_BOOL) :: formula_term__tmp 
     730      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_bounds_ 
     731      LOGICAL(KIND=C_BOOL) :: formula_term_bounds__tmp 
    541732      LOGICAL, OPTIONAL, INTENT(OUT) :: index_ 
    542733      LOGICAL(KIND=C_BOOL) :: index__tmp 
     
    572763      ENDIF 
    573764 
     765      IF (PRESENT(axis_type_)) THEN 
     766        axis_type__tmp = cxios_is_defined_axis_axis_type & 
     767      (axis_hdl%daddr) 
     768        axis_type_ = axis_type__tmp 
     769      ENDIF 
     770 
    574771      IF (PRESENT(begin_)) THEN 
    575772        begin__tmp = cxios_is_defined_axis_begin & 
     
    584781      ENDIF 
    585782 
     783      IF (PRESENT(bounds_name_)) THEN 
     784        bounds_name__tmp = cxios_is_defined_axis_bounds_name & 
     785      (axis_hdl%daddr) 
     786        bounds_name_ = bounds_name__tmp 
     787      ENDIF 
     788 
     789      IF (PRESENT(comment_)) THEN 
     790        comment__tmp = cxios_is_defined_axis_comment & 
     791      (axis_hdl%daddr) 
     792        comment_ = comment__tmp 
     793      ENDIF 
     794 
    586795      IF (PRESENT(data_begin_)) THEN 
    587796        data_begin__tmp = cxios_is_defined_axis_data_begin & 
     
    602811      ENDIF 
    603812 
     813      IF (PRESENT(dim_name_)) THEN 
     814        dim_name__tmp = cxios_is_defined_axis_dim_name & 
     815      (axis_hdl%daddr) 
     816        dim_name_ = dim_name__tmp 
     817      ENDIF 
     818 
     819      IF (PRESENT(formula_)) THEN 
     820        formula__tmp = cxios_is_defined_axis_formula & 
     821      (axis_hdl%daddr) 
     822        formula_ = formula__tmp 
     823      ENDIF 
     824 
     825      IF (PRESENT(formula_bounds_)) THEN 
     826        formula_bounds__tmp = cxios_is_defined_axis_formula_bounds & 
     827      (axis_hdl%daddr) 
     828        formula_bounds_ = formula_bounds__tmp 
     829      ENDIF 
     830 
     831      IF (PRESENT(formula_term_)) THEN 
     832        formula_term__tmp = cxios_is_defined_axis_formula_term & 
     833      (axis_hdl%daddr) 
     834        formula_term_ = formula_term__tmp 
     835      ENDIF 
     836 
     837      IF (PRESENT(formula_term_bounds_)) THEN 
     838        formula_term_bounds__tmp = cxios_is_defined_axis_formula_term_bounds & 
     839      (axis_hdl%daddr) 
     840        formula_term_bounds_ = formula_term_bounds__tmp 
     841      ENDIF 
     842 
    604843      IF (PRESENT(index_)) THEN 
    605844        index__tmp = cxios_is_defined_axis_index & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/iaxisgroup_attr.F90

    r1158 r1492  
    1212 
    1313  SUBROUTINE xios(set_axisgroup_attr)  & 
    14     ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    15     , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    16     , value ) 
     14    ( axisgroup_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     15    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     16    , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     17    , unit, value ) 
    1718 
    1819    IMPLICIT NONE 
     
    2021      CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id 
    2122      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
    2224      INTEGER  , OPTIONAL, INTENT(IN) :: begin 
    2325      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:,:) 
     26      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     27      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2428      INTEGER  , OPTIONAL, INTENT(IN) :: data_begin 
    2529      INTEGER  , OPTIONAL, INTENT(IN) :: data_index(:) 
    2630      INTEGER  , OPTIONAL, INTENT(IN) :: data_n 
     31      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_name 
     32      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula 
     33      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_bounds 
     34      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term 
     35      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_bounds 
    2736      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    2837      INTEGER  , OPTIONAL, INTENT(IN) :: index(:) 
     
    4453      (axisgroup_id,axisgroup_hdl) 
    4554      CALL xios(set_axisgroup_attr_hdl_)   & 
    46       ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    47       , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    48       , value ) 
     55      ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     56      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     57      , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     58      , unit, value ) 
    4959 
    5060  END SUBROUTINE xios(set_axisgroup_attr) 
    5161 
    5262  SUBROUTINE xios(set_axisgroup_attr_hdl)  & 
    53     ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    54     , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    55     , value ) 
     63    ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     64    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     65    , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     66    , unit, value ) 
    5667 
    5768    IMPLICIT NONE 
    5869      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
    5970      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     71      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
    6072      INTEGER  , OPTIONAL, INTENT(IN) :: begin 
    6173      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:,:) 
     74      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     75      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    6276      INTEGER  , OPTIONAL, INTENT(IN) :: data_begin 
    6377      INTEGER  , OPTIONAL, INTENT(IN) :: data_index(:) 
    6478      INTEGER  , OPTIONAL, INTENT(IN) :: data_n 
     79      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_name 
     80      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula 
     81      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_bounds 
     82      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term 
     83      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_bounds 
    6584      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    6685      INTEGER  , OPTIONAL, INTENT(IN) :: index(:) 
     
    8099 
    81100      CALL xios(set_axisgroup_attr_hdl_)  & 
    82       ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    83       , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    84       , value ) 
     101      ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     102      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     103      , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     104      , unit, value ) 
    85105 
    86106  END SUBROUTINE xios(set_axisgroup_attr_hdl) 
    87107 
    88108  SUBROUTINE xios(set_axisgroup_attr_hdl_)   & 
    89     ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, index_  & 
    90     , label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_  & 
    91     , unit_, value_ ) 
     109    ( axisgroup_hdl, axis_ref_, axis_type_, begin_, bounds_, bounds_name_, comment_, data_begin_  & 
     110    , data_index_, data_n_, dim_name_, formula_, formula_bounds_, formula_term_, formula_term_bounds_  & 
     111    , group_ref_, index_, label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_  & 
     112    , positive_, prec_, standard_name_, unit_, value_ ) 
    92113 
    93114    IMPLICIT NONE 
    94115      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
    95116      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
     117      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type_ 
    96118      INTEGER  , OPTIONAL, INTENT(IN) :: begin_ 
    97119      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_(:,:) 
     120      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name_ 
     121      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    98122      INTEGER  , OPTIONAL, INTENT(IN) :: data_begin_ 
    99123      INTEGER  , OPTIONAL, INTENT(IN) :: data_index_(:) 
    100124      INTEGER  , OPTIONAL, INTENT(IN) :: data_n_ 
     125      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_name_ 
     126      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_ 
     127      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_bounds_ 
     128      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_ 
     129      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: formula_term_bounds_ 
    101130      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 
    102131      INTEGER  , OPTIONAL, INTENT(IN) :: index_(:) 
     
    120149      ENDIF 
    121150 
     151      IF (PRESENT(axis_type_)) THEN 
     152        CALL cxios_set_axisgroup_axis_type & 
     153      (axisgroup_hdl%daddr, axis_type_, len(axis_type_)) 
     154      ENDIF 
     155 
    122156      IF (PRESENT(begin_)) THEN 
    123157        CALL cxios_set_axisgroup_begin & 
     
    130164      ENDIF 
    131165 
     166      IF (PRESENT(bounds_name_)) THEN 
     167        CALL cxios_set_axisgroup_bounds_name & 
     168      (axisgroup_hdl%daddr, bounds_name_, len(bounds_name_)) 
     169      ENDIF 
     170 
     171      IF (PRESENT(comment_)) THEN 
     172        CALL cxios_set_axisgroup_comment & 
     173      (axisgroup_hdl%daddr, comment_, len(comment_)) 
     174      ENDIF 
     175 
    132176      IF (PRESENT(data_begin_)) THEN 
    133177        CALL cxios_set_axisgroup_data_begin & 
     
    143187        CALL cxios_set_axisgroup_data_n & 
    144188      (axisgroup_hdl%daddr, data_n_) 
     189      ENDIF 
     190 
     191      IF (PRESENT(dim_name_)) THEN 
     192        CALL cxios_set_axisgroup_dim_name & 
     193      (axisgroup_hdl%daddr, dim_name_, len(dim_name_)) 
     194      ENDIF 
     195 
     196      IF (PRESENT(formula_)) THEN 
     197        CALL cxios_set_axisgroup_formula & 
     198      (axisgroup_hdl%daddr, formula_, len(formula_)) 
     199      ENDIF 
     200 
     201      IF (PRESENT(formula_bounds_)) THEN 
     202        CALL cxios_set_axisgroup_formula_bounds & 
     203      (axisgroup_hdl%daddr, formula_bounds_, len(formula_bounds_)) 
     204      ENDIF 
     205 
     206      IF (PRESENT(formula_term_)) THEN 
     207        CALL cxios_set_axisgroup_formula_term & 
     208      (axisgroup_hdl%daddr, formula_term_, len(formula_term_)) 
     209      ENDIF 
     210 
     211      IF (PRESENT(formula_term_bounds_)) THEN 
     212        CALL cxios_set_axisgroup_formula_term_bounds & 
     213      (axisgroup_hdl%daddr, formula_term_bounds_, len(formula_term_bounds_)) 
    145214      ENDIF 
    146215 
     
    220289 
    221290  SUBROUTINE xios(get_axisgroup_attr)  & 
    222     ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    223     , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    224     , value ) 
     291    ( axisgroup_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     292    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     293    , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     294    , unit, value ) 
    225295 
    226296    IMPLICIT NONE 
     
    228298      CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id 
    229299      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     300      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
    230301      INTEGER  , OPTIONAL, INTENT(OUT) :: begin 
    231302      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:,:) 
     303      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     304      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    232305      INTEGER  , OPTIONAL, INTENT(OUT) :: data_begin 
    233306      INTEGER  , OPTIONAL, INTENT(OUT) :: data_index(:) 
    234307      INTEGER  , OPTIONAL, INTENT(OUT) :: data_n 
     308      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_name 
     309      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula 
     310      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_bounds 
     311      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term 
     312      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_bounds 
    235313      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    236314      INTEGER  , OPTIONAL, INTENT(OUT) :: index(:) 
     
    252330      (axisgroup_id,axisgroup_hdl) 
    253331      CALL xios(get_axisgroup_attr_hdl_)   & 
    254       ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    255       , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    256       , value ) 
     332      ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     333      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     334      , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     335      , unit, value ) 
    257336 
    258337  END SUBROUTINE xios(get_axisgroup_attr) 
    259338 
    260339  SUBROUTINE xios(get_axisgroup_attr_hdl)  & 
    261     ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    262     , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    263     , value ) 
     340    ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     341    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     342    , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     343    , unit, value ) 
    264344 
    265345    IMPLICIT NONE 
    266346      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
    267347      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     348      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
    268349      INTEGER  , OPTIONAL, INTENT(OUT) :: begin 
    269350      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:,:) 
     351      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     352      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    270353      INTEGER  , OPTIONAL, INTENT(OUT) :: data_begin 
    271354      INTEGER  , OPTIONAL, INTENT(OUT) :: data_index(:) 
    272355      INTEGER  , OPTIONAL, INTENT(OUT) :: data_n 
     356      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_name 
     357      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula 
     358      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_bounds 
     359      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term 
     360      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_bounds 
    273361      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    274362      INTEGER  , OPTIONAL, INTENT(OUT) :: index(:) 
     
    288376 
    289377      CALL xios(get_axisgroup_attr_hdl_)  & 
    290       ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    291       , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    292       , value ) 
     378      ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     379      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     380      , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     381      , unit, value ) 
    293382 
    294383  END SUBROUTINE xios(get_axisgroup_attr_hdl) 
    295384 
    296385  SUBROUTINE xios(get_axisgroup_attr_hdl_)   & 
    297     ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, index_  & 
    298     , label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_  & 
    299     , unit_, value_ ) 
     386    ( axisgroup_hdl, axis_ref_, axis_type_, begin_, bounds_, bounds_name_, comment_, data_begin_  & 
     387    , data_index_, data_n_, dim_name_, formula_, formula_bounds_, formula_term_, formula_term_bounds_  & 
     388    , group_ref_, index_, label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_  & 
     389    , positive_, prec_, standard_name_, unit_, value_ ) 
    300390 
    301391    IMPLICIT NONE 
    302392      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
    303393      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
     394      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type_ 
    304395      INTEGER  , OPTIONAL, INTENT(OUT) :: begin_ 
    305396      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_(:,:) 
     397      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name_ 
     398      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    306399      INTEGER  , OPTIONAL, INTENT(OUT) :: data_begin_ 
    307400      INTEGER  , OPTIONAL, INTENT(OUT) :: data_index_(:) 
    308401      INTEGER  , OPTIONAL, INTENT(OUT) :: data_n_ 
     402      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_name_ 
     403      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_ 
     404      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_bounds_ 
     405      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_ 
     406      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: formula_term_bounds_ 
    309407      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 
    310408      INTEGER  , OPTIONAL, INTENT(OUT) :: index_(:) 
     
    328426      ENDIF 
    329427 
     428      IF (PRESENT(axis_type_)) THEN 
     429        CALL cxios_get_axisgroup_axis_type & 
     430      (axisgroup_hdl%daddr, axis_type_, len(axis_type_)) 
     431      ENDIF 
     432 
    330433      IF (PRESENT(begin_)) THEN 
    331434        CALL cxios_get_axisgroup_begin & 
     
    338441      ENDIF 
    339442 
     443      IF (PRESENT(bounds_name_)) THEN 
     444        CALL cxios_get_axisgroup_bounds_name & 
     445      (axisgroup_hdl%daddr, bounds_name_, len(bounds_name_)) 
     446      ENDIF 
     447 
     448      IF (PRESENT(comment_)) THEN 
     449        CALL cxios_get_axisgroup_comment & 
     450      (axisgroup_hdl%daddr, comment_, len(comment_)) 
     451      ENDIF 
     452 
    340453      IF (PRESENT(data_begin_)) THEN 
    341454        CALL cxios_get_axisgroup_data_begin & 
     
    351464        CALL cxios_get_axisgroup_data_n & 
    352465      (axisgroup_hdl%daddr, data_n_) 
     466      ENDIF 
     467 
     468      IF (PRESENT(dim_name_)) THEN 
     469        CALL cxios_get_axisgroup_dim_name & 
     470      (axisgroup_hdl%daddr, dim_name_, len(dim_name_)) 
     471      ENDIF 
     472 
     473      IF (PRESENT(formula_)) THEN 
     474        CALL cxios_get_axisgroup_formula & 
     475      (axisgroup_hdl%daddr, formula_, len(formula_)) 
     476      ENDIF 
     477 
     478      IF (PRESENT(formula_bounds_)) THEN 
     479        CALL cxios_get_axisgroup_formula_bounds & 
     480      (axisgroup_hdl%daddr, formula_bounds_, len(formula_bounds_)) 
     481      ENDIF 
     482 
     483      IF (PRESENT(formula_term_)) THEN 
     484        CALL cxios_get_axisgroup_formula_term & 
     485      (axisgroup_hdl%daddr, formula_term_, len(formula_term_)) 
     486      ENDIF 
     487 
     488      IF (PRESENT(formula_term_bounds_)) THEN 
     489        CALL cxios_get_axisgroup_formula_term_bounds & 
     490      (axisgroup_hdl%daddr, formula_term_bounds_, len(formula_term_bounds_)) 
    353491      ENDIF 
    354492 
     
    428566 
    429567  SUBROUTINE xios(is_defined_axisgroup_attr)  & 
    430     ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    431     , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    432     , value ) 
     568    ( axisgroup_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     569    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     570    , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     571    , unit, value ) 
    433572 
    434573    IMPLICIT NONE 
     
    437576      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    438577      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     578      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     579      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
    439580      LOGICAL, OPTIONAL, INTENT(OUT) :: begin 
    440581      LOGICAL(KIND=C_BOOL) :: begin_tmp 
    441582      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
    442583      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     584      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     585      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     586      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     587      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    443588      LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin 
    444589      LOGICAL(KIND=C_BOOL) :: data_begin_tmp 
     
    447592      LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 
    448593      LOGICAL(KIND=C_BOOL) :: data_n_tmp 
     594      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_name 
     595      LOGICAL(KIND=C_BOOL) :: dim_name_tmp 
     596      LOGICAL, OPTIONAL, INTENT(OUT) :: formula 
     597      LOGICAL(KIND=C_BOOL) :: formula_tmp 
     598      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_bounds 
     599      LOGICAL(KIND=C_BOOL) :: formula_bounds_tmp 
     600      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term 
     601      LOGICAL(KIND=C_BOOL) :: formula_term_tmp 
     602      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_bounds 
     603      LOGICAL(KIND=C_BOOL) :: formula_term_bounds_tmp 
    449604      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    450605      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    479634      (axisgroup_id,axisgroup_hdl) 
    480635      CALL xios(is_defined_axisgroup_attr_hdl_)   & 
    481       ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    482       , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    483       , value ) 
     636      ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     637      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     638      , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     639      , unit, value ) 
    484640 
    485641  END SUBROUTINE xios(is_defined_axisgroup_attr) 
    486642 
    487643  SUBROUTINE xios(is_defined_axisgroup_attr_hdl)  & 
    488     ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    489     , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    490     , value ) 
     644    ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     645    , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     646    , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     647    , unit, value ) 
    491648 
    492649    IMPLICIT NONE 
     
    494651      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    495652      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     653      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     654      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
    496655      LOGICAL, OPTIONAL, INTENT(OUT) :: begin 
    497656      LOGICAL(KIND=C_BOOL) :: begin_tmp 
    498657      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
    499658      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     659      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     660      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     661      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     662      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    500663      LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin 
    501664      LOGICAL(KIND=C_BOOL) :: data_begin_tmp 
     
    504667      LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 
    505668      LOGICAL(KIND=C_BOOL) :: data_n_tmp 
     669      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_name 
     670      LOGICAL(KIND=C_BOOL) :: dim_name_tmp 
     671      LOGICAL, OPTIONAL, INTENT(OUT) :: formula 
     672      LOGICAL(KIND=C_BOOL) :: formula_tmp 
     673      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_bounds 
     674      LOGICAL(KIND=C_BOOL) :: formula_bounds_tmp 
     675      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term 
     676      LOGICAL(KIND=C_BOOL) :: formula_term_tmp 
     677      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_bounds 
     678      LOGICAL(KIND=C_BOOL) :: formula_term_bounds_tmp 
    506679      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    507680      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    534707 
    535708      CALL xios(is_defined_axisgroup_attr_hdl_)  & 
    536       ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, label  & 
    537       , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit  & 
    538       , value ) 
     709      ( axisgroup_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index  & 
     710      , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, group_ref, index  & 
     711      , label, long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name  & 
     712      , unit, value ) 
    539713 
    540714  END SUBROUTINE xios(is_defined_axisgroup_attr_hdl) 
    541715 
    542716  SUBROUTINE xios(is_defined_axisgroup_attr_hdl_)   & 
    543     ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, index_  & 
    544     , label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, prec_, standard_name_  & 
    545     , unit_, value_ ) 
     717    ( axisgroup_hdl, axis_ref_, axis_type_, begin_, bounds_, bounds_name_, comment_, data_begin_  & 
     718    , data_index_, data_n_, dim_name_, formula_, formula_bounds_, formula_term_, formula_term_bounds_  & 
     719    , group_ref_, index_, label_, long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_  & 
     720    , positive_, prec_, standard_name_, unit_, value_ ) 
    546721 
    547722    IMPLICIT NONE 
     
    549724      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
    550725      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
     726      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type_ 
     727      LOGICAL(KIND=C_BOOL) :: axis_type__tmp 
    551728      LOGICAL, OPTIONAL, INTENT(OUT) :: begin_ 
    552729      LOGICAL(KIND=C_BOOL) :: begin__tmp 
    553730      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_ 
    554731      LOGICAL(KIND=C_BOOL) :: bounds__tmp 
     732      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name_ 
     733      LOGICAL(KIND=C_BOOL) :: bounds_name__tmp 
     734      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     735      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    555736      LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin_ 
    556737      LOGICAL(KIND=C_BOOL) :: data_begin__tmp 
     
    559740      LOGICAL, OPTIONAL, INTENT(OUT) :: data_n_ 
    560741      LOGICAL(KIND=C_BOOL) :: data_n__tmp 
     742      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_name_ 
     743      LOGICAL(KIND=C_BOOL) :: dim_name__tmp 
     744      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_ 
     745      LOGICAL(KIND=C_BOOL) :: formula__tmp 
     746      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_bounds_ 
     747      LOGICAL(KIND=C_BOOL) :: formula_bounds__tmp 
     748      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_ 
     749      LOGICAL(KIND=C_BOOL) :: formula_term__tmp 
     750      LOGICAL, OPTIONAL, INTENT(OUT) :: formula_term_bounds_ 
     751      LOGICAL(KIND=C_BOOL) :: formula_term_bounds__tmp 
    561752      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 
    562753      LOGICAL(KIND=C_BOOL) :: group_ref__tmp 
     
    594785      ENDIF 
    595786 
     787      IF (PRESENT(axis_type_)) THEN 
     788        axis_type__tmp = cxios_is_defined_axisgroup_axis_type & 
     789      (axisgroup_hdl%daddr) 
     790        axis_type_ = axis_type__tmp 
     791      ENDIF 
     792 
    596793      IF (PRESENT(begin_)) THEN 
    597794        begin__tmp = cxios_is_defined_axisgroup_begin & 
     
    606803      ENDIF 
    607804 
     805      IF (PRESENT(bounds_name_)) THEN 
     806        bounds_name__tmp = cxios_is_defined_axisgroup_bounds_name & 
     807      (axisgroup_hdl%daddr) 
     808        bounds_name_ = bounds_name__tmp 
     809      ENDIF 
     810 
     811      IF (PRESENT(comment_)) THEN 
     812        comment__tmp = cxios_is_defined_axisgroup_comment & 
     813      (axisgroup_hdl%daddr) 
     814        comment_ = comment__tmp 
     815      ENDIF 
     816 
    608817      IF (PRESENT(data_begin_)) THEN 
    609818        data_begin__tmp = cxios_is_defined_axisgroup_data_begin & 
     
    624833      ENDIF 
    625834 
     835      IF (PRESENT(dim_name_)) THEN 
     836        dim_name__tmp = cxios_is_defined_axisgroup_dim_name & 
     837      (axisgroup_hdl%daddr) 
     838        dim_name_ = dim_name__tmp 
     839      ENDIF 
     840 
     841      IF (PRESENT(formula_)) THEN 
     842        formula__tmp = cxios_is_defined_axisgroup_formula & 
     843      (axisgroup_hdl%daddr) 
     844        formula_ = formula__tmp 
     845      ENDIF 
     846 
     847      IF (PRESENT(formula_bounds_)) THEN 
     848        formula_bounds__tmp = cxios_is_defined_axisgroup_formula_bounds & 
     849      (axisgroup_hdl%daddr) 
     850        formula_bounds_ = formula_bounds__tmp 
     851      ENDIF 
     852 
     853      IF (PRESENT(formula_term_)) THEN 
     854        formula_term__tmp = cxios_is_defined_axisgroup_formula_term & 
     855      (axisgroup_hdl%daddr) 
     856        formula_term_ = formula_term__tmp 
     857      ENDIF 
     858 
     859      IF (PRESENT(formula_term_bounds_)) THEN 
     860        formula_term_bounds__tmp = cxios_is_defined_axisgroup_formula_term_bounds & 
     861      (axisgroup_hdl%daddr) 
     862        formula_term_bounds_ = formula_term_bounds__tmp 
     863      ENDIF 
     864 
    626865      IF (PRESENT(group_ref_)) THEN 
    627866        group_ref__tmp = cxios_is_defined_axisgroup_group_ref & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/icalendar_wrapper_attr.F90

    r966 r1492  
    1212 
    1313  SUBROUTINE xios(set_calendar_wrapper_attr)  & 
    14     ( calendar_wrapper_id, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     14    ( calendar_wrapper_id, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    1515    , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    1616 
     
    1818      TYPE(txios(calendar_wrapper))  :: calendar_wrapper_hdl 
    1919      CHARACTER(LEN=*), INTENT(IN) ::calendar_wrapper_id 
     20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2021      INTEGER  , OPTIONAL, INTENT(IN) :: day_length 
    2122      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: leap_year_drift 
     
    3233      (calendar_wrapper_id,calendar_wrapper_hdl) 
    3334      CALL xios(set_calendar_wrapper_attr_hdl_)   & 
    34       ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     35      ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    3536      , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    3637 
     
    3839 
    3940  SUBROUTINE xios(set_calendar_wrapper_attr_hdl)  & 
    40     ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    41     , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    42  
    43     IMPLICIT NONE 
    44       TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     41    ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     42    , month_lengths, start_date, time_origin, timestep, type, year_length ) 
     43 
     44    IMPLICIT NONE 
     45      TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    4547      INTEGER  , OPTIONAL, INTENT(IN) :: day_length 
    4648      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: leap_year_drift 
     
    5557 
    5658      CALL xios(set_calendar_wrapper_attr_hdl_)  & 
    57       ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     59      ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    5860      , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    5961 
     
    6163 
    6264  SUBROUTINE xios(set_calendar_wrapper_attr_hdl_)   & 
    63     ( calendar_wrapper_hdl, day_length_, leap_year_drift_, leap_year_drift_offset_, leap_year_month_  & 
     65    ( calendar_wrapper_hdl, comment_, day_length_, leap_year_drift_, leap_year_drift_offset_, leap_year_month_  & 
    6466    , month_lengths_, start_date_, time_origin_, timestep_, type_, year_length_ ) 
    6567 
    6668    IMPLICIT NONE 
    6769      TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     70      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    6871      INTEGER  , OPTIONAL, INTENT(IN) :: day_length_ 
    6972      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: leap_year_drift_ 
     
    7780      INTEGER  , OPTIONAL, INTENT(IN) :: year_length_ 
    7881 
     82      IF (PRESENT(comment_)) THEN 
     83        CALL cxios_set_calendar_wrapper_comment & 
     84      (calendar_wrapper_hdl%daddr, comment_, len(comment_)) 
     85      ENDIF 
     86 
    7987      IF (PRESENT(day_length_)) THEN 
    8088        CALL cxios_set_calendar_wrapper_day_length & 
     
    130138 
    131139  SUBROUTINE xios(get_calendar_wrapper_attr)  & 
    132     ( calendar_wrapper_id, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     140    ( calendar_wrapper_id, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    133141    , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    134142 
     
    136144      TYPE(txios(calendar_wrapper))  :: calendar_wrapper_hdl 
    137145      CHARACTER(LEN=*), INTENT(IN) ::calendar_wrapper_id 
     146      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    138147      INTEGER  , OPTIONAL, INTENT(OUT) :: day_length 
    139148      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: leap_year_drift 
     
    150159      (calendar_wrapper_id,calendar_wrapper_hdl) 
    151160      CALL xios(get_calendar_wrapper_attr_hdl_)   & 
    152       ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     161      ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    153162      , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    154163 
     
    156165 
    157166  SUBROUTINE xios(get_calendar_wrapper_attr_hdl)  & 
    158     ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    159     , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    160  
    161     IMPLICIT NONE 
    162       TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     167    ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     168    , month_lengths, start_date, time_origin, timestep, type, year_length ) 
     169 
     170    IMPLICIT NONE 
     171      TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     172      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    163173      INTEGER  , OPTIONAL, INTENT(OUT) :: day_length 
    164174      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: leap_year_drift 
     
    173183 
    174184      CALL xios(get_calendar_wrapper_attr_hdl_)  & 
    175       ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     185      ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    176186      , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    177187 
     
    179189 
    180190  SUBROUTINE xios(get_calendar_wrapper_attr_hdl_)   & 
    181     ( calendar_wrapper_hdl, day_length_, leap_year_drift_, leap_year_drift_offset_, leap_year_month_  & 
     191    ( calendar_wrapper_hdl, comment_, day_length_, leap_year_drift_, leap_year_drift_offset_, leap_year_month_  & 
    182192    , month_lengths_, start_date_, time_origin_, timestep_, type_, year_length_ ) 
    183193 
    184194    IMPLICIT NONE 
    185195      TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     196      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    186197      INTEGER  , OPTIONAL, INTENT(OUT) :: day_length_ 
    187198      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: leap_year_drift_ 
     
    195206      INTEGER  , OPTIONAL, INTENT(OUT) :: year_length_ 
    196207 
     208      IF (PRESENT(comment_)) THEN 
     209        CALL cxios_get_calendar_wrapper_comment & 
     210      (calendar_wrapper_hdl%daddr, comment_, len(comment_)) 
     211      ENDIF 
     212 
    197213      IF (PRESENT(day_length_)) THEN 
    198214        CALL cxios_get_calendar_wrapper_day_length & 
     
    248264 
    249265  SUBROUTINE xios(is_defined_calendar_wrapper_attr)  & 
    250     ( calendar_wrapper_id, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     266    ( calendar_wrapper_id, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    251267    , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    252268 
     
    254270      TYPE(txios(calendar_wrapper))  :: calendar_wrapper_hdl 
    255271      CHARACTER(LEN=*), INTENT(IN) ::calendar_wrapper_id 
     272      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     273      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    256274      LOGICAL, OPTIONAL, INTENT(OUT) :: day_length 
    257275      LOGICAL(KIND=C_BOOL) :: day_length_tmp 
     
    278296      (calendar_wrapper_id,calendar_wrapper_hdl) 
    279297      CALL xios(is_defined_calendar_wrapper_attr_hdl_)   & 
    280       ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     298      ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    281299      , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    282300 
     
    284302 
    285303  SUBROUTINE xios(is_defined_calendar_wrapper_attr_hdl)  & 
    286     ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    287     , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    288  
    289     IMPLICIT NONE 
    290       TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     304    ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     305    , month_lengths, start_date, time_origin, timestep, type, year_length ) 
     306 
     307    IMPLICIT NONE 
     308      TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     309      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     310      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    291311      LOGICAL, OPTIONAL, INTENT(OUT) :: day_length 
    292312      LOGICAL(KIND=C_BOOL) :: day_length_tmp 
     
    311331 
    312332      CALL xios(is_defined_calendar_wrapper_attr_hdl_)  & 
    313       ( calendar_wrapper_hdl, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
     333      ( calendar_wrapper_hdl, comment, day_length, leap_year_drift, leap_year_drift_offset, leap_year_month  & 
    314334      , month_lengths, start_date, time_origin, timestep, type, year_length ) 
    315335 
     
    317337 
    318338  SUBROUTINE xios(is_defined_calendar_wrapper_attr_hdl_)   & 
    319     ( calendar_wrapper_hdl, day_length_, leap_year_drift_, leap_year_drift_offset_, leap_year_month_  & 
     339    ( calendar_wrapper_hdl, comment_, day_length_, leap_year_drift_, leap_year_drift_offset_, leap_year_month_  & 
    320340    , month_lengths_, start_date_, time_origin_, timestep_, type_, year_length_ ) 
    321341 
    322342    IMPLICIT NONE 
    323343      TYPE(txios(calendar_wrapper)) , INTENT(IN) :: calendar_wrapper_hdl 
     344      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     345      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    324346      LOGICAL, OPTIONAL, INTENT(OUT) :: day_length_ 
    325347      LOGICAL(KIND=C_BOOL) :: day_length__tmp 
     
    343365      LOGICAL(KIND=C_BOOL) :: year_length__tmp 
    344366 
     367      IF (PRESENT(comment_)) THEN 
     368        comment__tmp = cxios_is_defined_calendar_wrapper_comment & 
     369      (calendar_wrapper_hdl%daddr) 
     370        comment_ = comment__tmp 
     371      ENDIF 
     372 
    345373      IF (PRESENT(day_length_)) THEN 
    346374        day_length__tmp = cxios_is_defined_calendar_wrapper_day_length & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/idomain_attr.F90

    r1158 r1492  
    1212 
    1313  SUBROUTINE xios(set_domain_attr)  & 
    14     ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    15     , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    16     , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    17     , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     14    ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     15    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     16    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     17    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     18    , nj, nj_glo, nvertex, prec, standard_name, type ) 
    1819 
    1920    IMPLICIT NONE 
     
    2324      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
    2425      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     26      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name 
    2527      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
    2628      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
     29      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name 
     30      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2731      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    2832      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    3236      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni 
    3337      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
     38      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name 
     39      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name 
    3440      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    3541      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:) 
     
    3743      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    3844      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
     45      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name 
    3946      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
    4047      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
     48      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name 
    4149      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    4250      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     
    5967      (domain_id,domain_hdl) 
    6068      CALL xios(set_domain_attr_hdl_)   & 
    61       ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    62       , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    63       , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    64       , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     69      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     70      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     71      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     72      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     73      , nj, nj_glo, nvertex, prec, standard_name, type ) 
    6574 
    6675  END SUBROUTINE xios(set_domain_attr) 
    6776 
    6877  SUBROUTINE xios(set_domain_attr_hdl)  & 
    69     ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    70     , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    71     , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    72     , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     78    ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     79    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     80    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     81    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     82    , nj, nj_glo, nvertex, prec, standard_name, type ) 
    7383 
    7484    IMPLICIT NONE 
     
    7787      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
    7888      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     89      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name 
    7990      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
    8091      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
     92      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name 
     93      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    8194      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    8295      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    8699      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni 
    87100      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
     101      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name 
     102      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name 
    88103      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    89104      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:) 
     
    91106      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    92107      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
     108      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name 
    93109      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
    94110      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
     111      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name 
    95112      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    96113      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     
    111128 
    112129      CALL xios(set_domain_attr_hdl_)  & 
    113       ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    114       , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    115       , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    116       , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     130      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     131      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     132      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     133      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     134      , nj, nj_glo, nvertex, prec, standard_name, type ) 
    117135 
    118136  END SUBROUTINE xios(set_domain_attr_hdl) 
    119137 
    120138  SUBROUTINE xios(set_domain_attr_hdl_)   & 
    121     ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
    122     , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, domain_ref_  & 
    123     , i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_, long_name_, lonvalue_1d_  & 
    124     , lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_  & 
    125     , type_ ) 
     139    ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
     140    , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
     141    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_  & 
     142    , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  & 
     143    , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_ ) 
    126144 
    127145    IMPLICIT NONE 
     
    130148      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d_(:,:) 
    131149      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d_(:,:,:) 
     150      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name_ 
    132151      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d_(:,:) 
    133152      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d_(:,:,:) 
     153      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name_ 
     154      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    134155      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_ 
    135156      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
     
    139160      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni_ 
    140161      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_ 
     162      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name_ 
     163      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name_ 
    141164      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    142165      INTEGER  , OPTIONAL, INTENT(IN) :: i_index_(:) 
     
    144167      INTEGER  , OPTIONAL, INTENT(IN) :: j_index_(:) 
    145168      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin_ 
     169      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name_ 
    146170      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d_(:) 
    147171      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d_(:,:) 
     172      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name_ 
    148173      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
    149174      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d_(:) 
     
    178203      ENDIF 
    179204 
     205      IF (PRESENT(bounds_lat_name_)) THEN 
     206        CALL cxios_set_domain_bounds_lat_name & 
     207      (domain_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_)) 
     208      ENDIF 
     209 
    180210      IF (PRESENT(bounds_lon_1d_)) THEN 
    181211        CALL cxios_set_domain_bounds_lon_1d & 
     
    188218      ENDIF 
    189219 
     220      IF (PRESENT(bounds_lon_name_)) THEN 
     221        CALL cxios_set_domain_bounds_lon_name & 
     222      (domain_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_)) 
     223      ENDIF 
     224 
     225      IF (PRESENT(comment_)) THEN 
     226        CALL cxios_set_domain_comment & 
     227      (domain_hdl%daddr, comment_, len(comment_)) 
     228      ENDIF 
     229 
    190230      IF (PRESENT(data_dim_)) THEN 
    191231        CALL cxios_set_domain_data_dim & 
     
    223263      ENDIF 
    224264 
     265      IF (PRESENT(dim_i_name_)) THEN 
     266        CALL cxios_set_domain_dim_i_name & 
     267      (domain_hdl%daddr, dim_i_name_, len(dim_i_name_)) 
     268      ENDIF 
     269 
     270      IF (PRESENT(dim_j_name_)) THEN 
     271        CALL cxios_set_domain_dim_j_name & 
     272      (domain_hdl%daddr, dim_j_name_, len(dim_j_name_)) 
     273      ENDIF 
     274 
    225275      IF (PRESENT(domain_ref_)) THEN 
    226276        CALL cxios_set_domain_domain_ref & 
     
    248298      ENDIF 
    249299 
     300      IF (PRESENT(lat_name_)) THEN 
     301        CALL cxios_set_domain_lat_name & 
     302      (domain_hdl%daddr, lat_name_, len(lat_name_)) 
     303      ENDIF 
     304 
    250305      IF (PRESENT(latvalue_1d_)) THEN 
    251306        CALL cxios_set_domain_latvalue_1d & 
     
    256311        CALL cxios_set_domain_latvalue_2d & 
    257312      (domain_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_)) 
     313      ENDIF 
     314 
     315      IF (PRESENT(lon_name_)) THEN 
     316        CALL cxios_set_domain_lon_name & 
     317      (domain_hdl%daddr, lon_name_, len(lon_name_)) 
    258318      ENDIF 
    259319 
     
    335395 
    336396  SUBROUTINE xios(get_domain_attr)  & 
    337     ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    338     , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    339     , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    340     , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     397    ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     398    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     399    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     400    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     401    , nj, nj_glo, nvertex, prec, standard_name, type ) 
    341402 
    342403    IMPLICIT NONE 
     
    346407      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
    347408      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     409      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name 
    348410      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
    349411      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
     412      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     413      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    350414      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    351415      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    355419      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni 
    356420      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
     421      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name 
     422      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name 
    357423      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    358424      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:) 
     
    360426      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    361427      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
     428      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name 
    362429      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
    363430      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
     431      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name 
    364432      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    365433      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     
    382450      (domain_id,domain_hdl) 
    383451      CALL xios(get_domain_attr_hdl_)   & 
    384       ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    385       , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    386       , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    387       , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     452      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     453      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     454      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     455      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     456      , nj, nj_glo, nvertex, prec, standard_name, type ) 
    388457 
    389458  END SUBROUTINE xios(get_domain_attr) 
    390459 
    391460  SUBROUTINE xios(get_domain_attr_hdl)  & 
    392     ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    393     , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    394     , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    395     , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     461    ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     462    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     463    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     464    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     465    , nj, nj_glo, nvertex, prec, standard_name, type ) 
    396466 
    397467    IMPLICIT NONE 
     
    400470      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
    401471      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     472      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name 
    402473      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
    403474      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
     475      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     476      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    404477      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    405478      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    409482      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni 
    410483      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
     484      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name 
     485      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name 
    411486      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    412487      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:) 
     
    414489      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    415490      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
     491      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name 
    416492      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
    417493      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
     494      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name 
    418495      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    419496      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     
    434511 
    435512      CALL xios(get_domain_attr_hdl_)  & 
    436       ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    437       , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    438       , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    439       , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     513      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     514      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     515      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     516      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     517      , nj, nj_glo, nvertex, prec, standard_name, type ) 
    440518 
    441519  END SUBROUTINE xios(get_domain_attr_hdl) 
    442520 
    443521  SUBROUTINE xios(get_domain_attr_hdl_)   & 
    444     ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
    445     , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, domain_ref_  & 
    446     , i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_, long_name_, lonvalue_1d_  & 
    447     , lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_  & 
    448     , type_ ) 
     522    ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
     523    , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
     524    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_  & 
     525    , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  & 
     526    , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_ ) 
    449527 
    450528    IMPLICIT NONE 
     
    453531      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d_(:,:) 
    454532      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d_(:,:,:) 
     533      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name_ 
    455534      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d_(:,:) 
    456535      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d_(:,:,:) 
     536      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name_ 
     537      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    457538      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_ 
    458539      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:) 
     
    462543      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni_ 
    463544      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_ 
     545      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name_ 
     546      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name_ 
    464547      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    465548      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index_(:) 
     
    467550      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index_(:) 
    468551      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin_ 
     552      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name_ 
    469553      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d_(:) 
    470554      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d_(:,:) 
     555      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name_ 
    471556      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
    472557      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d_(:) 
     
    501586      ENDIF 
    502587 
     588      IF (PRESENT(bounds_lat_name_)) THEN 
     589        CALL cxios_get_domain_bounds_lat_name & 
     590      (domain_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_)) 
     591      ENDIF 
     592 
    503593      IF (PRESENT(bounds_lon_1d_)) THEN 
    504594        CALL cxios_get_domain_bounds_lon_1d & 
     
    511601      ENDIF 
    512602 
     603      IF (PRESENT(bounds_lon_name_)) THEN 
     604        CALL cxios_get_domain_bounds_lon_name & 
     605      (domain_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_)) 
     606      ENDIF 
     607 
     608      IF (PRESENT(comment_)) THEN 
     609        CALL cxios_get_domain_comment & 
     610      (domain_hdl%daddr, comment_, len(comment_)) 
     611      ENDIF 
     612 
    513613      IF (PRESENT(data_dim_)) THEN 
    514614        CALL cxios_get_domain_data_dim & 
     
    546646      ENDIF 
    547647 
     648      IF (PRESENT(dim_i_name_)) THEN 
     649        CALL cxios_get_domain_dim_i_name & 
     650      (domain_hdl%daddr, dim_i_name_, len(dim_i_name_)) 
     651      ENDIF 
     652 
     653      IF (PRESENT(dim_j_name_)) THEN 
     654        CALL cxios_get_domain_dim_j_name & 
     655      (domain_hdl%daddr, dim_j_name_, len(dim_j_name_)) 
     656      ENDIF 
     657 
    548658      IF (PRESENT(domain_ref_)) THEN 
    549659        CALL cxios_get_domain_domain_ref & 
     
    571681      ENDIF 
    572682 
     683      IF (PRESENT(lat_name_)) THEN 
     684        CALL cxios_get_domain_lat_name & 
     685      (domain_hdl%daddr, lat_name_, len(lat_name_)) 
     686      ENDIF 
     687 
    573688      IF (PRESENT(latvalue_1d_)) THEN 
    574689        CALL cxios_get_domain_latvalue_1d & 
     
    579694        CALL cxios_get_domain_latvalue_2d & 
    580695      (domain_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_)) 
     696      ENDIF 
     697 
     698      IF (PRESENT(lon_name_)) THEN 
     699        CALL cxios_get_domain_lon_name & 
     700      (domain_hdl%daddr, lon_name_, len(lon_name_)) 
    581701      ENDIF 
    582702 
     
    658778 
    659779  SUBROUTINE xios(is_defined_domain_attr)  & 
    660     ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    661     , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    662     , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    663     , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     780    ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     781    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     782    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     783    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     784    , nj, nj_glo, nvertex, prec, standard_name, type ) 
    664785 
    665786    IMPLICIT NONE 
     
    672793      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
    673794      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     795      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name 
     796      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp 
    674797      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
    675798      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
    676799      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
    677800      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
     801      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     802      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp 
     803      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     804      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    678805      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    679806      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    690817      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj 
    691818      LOGICAL(KIND=C_BOOL) :: data_nj_tmp 
     819      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name 
     820      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp 
     821      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name 
     822      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp 
    692823      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    693824      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    700831      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    701832      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
     833      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name 
     834      LOGICAL(KIND=C_BOOL) :: lat_name_tmp 
    702835      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
    703836      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
    704837      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
    705838      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
     839      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name 
     840      LOGICAL(KIND=C_BOOL) :: lon_name_tmp 
    706841      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    707842      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     
    736871      (domain_id,domain_hdl) 
    737872      CALL xios(is_defined_domain_attr_hdl_)   & 
    738       ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    739       , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    740       , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    741       , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     873      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     874      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     875      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     876      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     877      , nj, nj_glo, nvertex, prec, standard_name, type ) 
    742878 
    743879  END SUBROUTINE xios(is_defined_domain_attr) 
    744880 
    745881  SUBROUTINE xios(is_defined_domain_attr_hdl)  & 
    746     ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    747     , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    748     , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    749     , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     882    ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     883    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     884    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     885    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     886    , nj, nj_glo, nvertex, prec, standard_name, type ) 
    750887 
    751888    IMPLICIT NONE 
     
    757894      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
    758895      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     896      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name 
     897      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp 
    759898      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
    760899      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
    761900      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
    762901      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
     902      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     903      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp 
     904      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     905      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    763906      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    764907      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    775918      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj 
    776919      LOGICAL(KIND=C_BOOL) :: data_nj_tmp 
     920      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name 
     921      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp 
     922      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name 
     923      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp 
    777924      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    778925      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    785932      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    786933      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
     934      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name 
     935      LOGICAL(KIND=C_BOOL) :: lat_name_tmp 
    787936      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
    788937      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
    789938      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
    790939      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
     940      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name 
     941      LOGICAL(KIND=C_BOOL) :: lon_name_tmp 
    791942      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    792943      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     
    819970 
    820971      CALL xios(is_defined_domain_attr_hdl_)  & 
    821       ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
    822       , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, i_index, ibegin, j_index  & 
    823       , jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name  & 
    824       , ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     972      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     973      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     974      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
     975      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
     976      , nj, nj_glo, nvertex, prec, standard_name, type ) 
    825977 
    826978  END SUBROUTINE xios(is_defined_domain_attr_hdl) 
    827979 
    828980  SUBROUTINE xios(is_defined_domain_attr_hdl_)   & 
    829     ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
    830     , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, domain_ref_  & 
    831     , i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_, long_name_, lonvalue_1d_  & 
    832     , lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_  & 
    833     , type_ ) 
     981    ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
     982    , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
     983    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_  & 
     984    , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  & 
     985    , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_ ) 
    834986 
    835987    IMPLICIT NONE 
     
    841993      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d_ 
    842994      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d__tmp 
     995      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name_ 
     996      LOGICAL(KIND=C_BOOL) :: bounds_lat_name__tmp 
    843997      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d_ 
    844998      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d__tmp 
    845999      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d_ 
    8461000      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d__tmp 
     1001      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name_ 
     1002      LOGICAL(KIND=C_BOOL) :: bounds_lon_name__tmp 
     1003      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     1004      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    8471005      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_ 
    8481006      LOGICAL(KIND=C_BOOL) :: data_dim__tmp 
     
    8591017      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj_ 
    8601018      LOGICAL(KIND=C_BOOL) :: data_nj__tmp 
     1019      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name_ 
     1020      LOGICAL(KIND=C_BOOL) :: dim_i_name__tmp 
     1021      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name_ 
     1022      LOGICAL(KIND=C_BOOL) :: dim_j_name__tmp 
    8611023      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
    8621024      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
     
    8691031      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_ 
    8701032      LOGICAL(KIND=C_BOOL) :: jbegin__tmp 
     1033      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name_ 
     1034      LOGICAL(KIND=C_BOOL) :: lat_name__tmp 
    8711035      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d_ 
    8721036      LOGICAL(KIND=C_BOOL) :: latvalue_1d__tmp 
    8731037      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d_ 
    8741038      LOGICAL(KIND=C_BOOL) :: latvalue_2d__tmp 
     1039      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name_ 
     1040      LOGICAL(KIND=C_BOOL) :: lon_name__tmp 
    8751041      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    8761042      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
     
    9201086      ENDIF 
    9211087 
     1088      IF (PRESENT(bounds_lat_name_)) THEN 
     1089        bounds_lat_name__tmp = cxios_is_defined_domain_bounds_lat_name & 
     1090      (domain_hdl%daddr) 
     1091        bounds_lat_name_ = bounds_lat_name__tmp 
     1092      ENDIF 
     1093 
    9221094      IF (PRESENT(bounds_lon_1d_)) THEN 
    9231095        bounds_lon_1d__tmp = cxios_is_defined_domain_bounds_lon_1d & 
     
    9321104      ENDIF 
    9331105 
     1106      IF (PRESENT(bounds_lon_name_)) THEN 
     1107        bounds_lon_name__tmp = cxios_is_defined_domain_bounds_lon_name & 
     1108      (domain_hdl%daddr) 
     1109        bounds_lon_name_ = bounds_lon_name__tmp 
     1110      ENDIF 
     1111 
     1112      IF (PRESENT(comment_)) THEN 
     1113        comment__tmp = cxios_is_defined_domain_comment & 
     1114      (domain_hdl%daddr) 
     1115        comment_ = comment__tmp 
     1116      ENDIF 
     1117 
    9341118      IF (PRESENT(data_dim_)) THEN 
    9351119        data_dim__tmp = cxios_is_defined_domain_data_dim & 
     
    9741158      ENDIF 
    9751159 
     1160      IF (PRESENT(dim_i_name_)) THEN 
     1161        dim_i_name__tmp = cxios_is_defined_domain_dim_i_name & 
     1162      (domain_hdl%daddr) 
     1163        dim_i_name_ = dim_i_name__tmp 
     1164      ENDIF 
     1165 
     1166      IF (PRESENT(dim_j_name_)) THEN 
     1167        dim_j_name__tmp = cxios_is_defined_domain_dim_j_name & 
     1168      (domain_hdl%daddr) 
     1169        dim_j_name_ = dim_j_name__tmp 
     1170      ENDIF 
     1171 
    9761172      IF (PRESENT(domain_ref_)) THEN 
    9771173        domain_ref__tmp = cxios_is_defined_domain_domain_ref & 
     
    10041200      ENDIF 
    10051201 
     1202      IF (PRESENT(lat_name_)) THEN 
     1203        lat_name__tmp = cxios_is_defined_domain_lat_name & 
     1204      (domain_hdl%daddr) 
     1205        lat_name_ = lat_name__tmp 
     1206      ENDIF 
     1207 
    10061208      IF (PRESENT(latvalue_1d_)) THEN 
    10071209        latvalue_1d__tmp = cxios_is_defined_domain_latvalue_1d & 
     
    10161218      ENDIF 
    10171219 
     1220      IF (PRESENT(lon_name_)) THEN 
     1221        lon_name__tmp = cxios_is_defined_domain_lon_name & 
     1222      (domain_hdl%daddr) 
     1223        lon_name_ = lon_name__tmp 
     1224      ENDIF 
     1225 
    10181226      IF (PRESENT(long_name_)) THEN 
    10191227        long_name__tmp = cxios_is_defined_domain_long_name & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/idomaingroup_attr.F90

    r1158 r1492  
    1212 
    1313  SUBROUTINE xios(set_domaingroup_attr)  & 
    14     ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    15     , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    16     , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    17     , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     14    ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     15    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     16    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     17    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     18    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    1819 
    1920    IMPLICIT NONE 
     
    2324      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
    2425      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     26      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name 
    2527      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
    2628      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
     29      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name 
     30      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2731      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    2832      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    3236      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni 
    3337      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
     38      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name 
     39      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name 
    3440      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    3541      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
     
    3844      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    3945      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
     46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name 
    4047      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
    4148      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
     49      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name 
    4250      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    4351      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     
    6068      (domaingroup_id,domaingroup_hdl) 
    6169      CALL xios(set_domaingroup_attr_hdl_)   & 
    62       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    63       , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    64       , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    65       , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     70      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     71      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     72      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     73      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     74      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    6675 
    6776  END SUBROUTINE xios(set_domaingroup_attr) 
    6877 
    6978  SUBROUTINE xios(set_domaingroup_attr_hdl)  & 
    70     ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    71     , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    72     , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    73     , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     79    ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     80    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     81    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     82    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     83    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    7484 
    7585    IMPLICIT NONE 
     
    7888      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
    7989      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     90      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name 
    8091      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
    8192      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
     93      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name 
     94      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    8295      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    8396      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    87100      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni 
    88101      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
     102      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name 
     103      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name 
    89104      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    90105      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
     
    93108      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    94109      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
     110      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name 
    95111      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
    96112      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
     113      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name 
    97114      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    98115      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     
    113130 
    114131      CALL xios(set_domaingroup_attr_hdl_)  & 
    115       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    116       , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    117       , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    118       , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     132      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     133      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     134      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     135      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     136      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    119137 
    120138  END SUBROUTINE xios(set_domaingroup_attr_hdl) 
    121139 
    122140  SUBROUTINE xios(set_domaingroup_attr_hdl_)   & 
    123     ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
    124     , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, domain_ref_  & 
    125     , group_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_, long_name_, lonvalue_1d_  & 
    126     , lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_  & 
    127     , type_ ) 
     141    ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
     142    , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
     143    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
     144    , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
     145    , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_  & 
     146     ) 
    128147 
    129148    IMPLICIT NONE 
     
    132151      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d_(:,:) 
    133152      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d_(:,:,:) 
     153      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name_ 
    134154      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d_(:,:) 
    135155      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d_(:,:,:) 
     156      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name_ 
     157      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    136158      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_ 
    137159      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
     
    141163      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni_ 
    142164      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_ 
     165      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name_ 
     166      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name_ 
    143167      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    144168      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 
     
    147171      INTEGER  , OPTIONAL, INTENT(IN) :: j_index_(:) 
    148172      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin_ 
     173      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name_ 
    149174      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d_(:) 
    150175      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d_(:,:) 
     176      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name_ 
    151177      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
    152178      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d_(:) 
     
    181207      ENDIF 
    182208 
     209      IF (PRESENT(bounds_lat_name_)) THEN 
     210        CALL cxios_set_domaingroup_bounds_lat_name & 
     211      (domaingroup_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_)) 
     212      ENDIF 
     213 
    183214      IF (PRESENT(bounds_lon_1d_)) THEN 
    184215        CALL cxios_set_domaingroup_bounds_lon_1d & 
     
    191222      ENDIF 
    192223 
     224      IF (PRESENT(bounds_lon_name_)) THEN 
     225        CALL cxios_set_domaingroup_bounds_lon_name & 
     226      (domaingroup_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_)) 
     227      ENDIF 
     228 
     229      IF (PRESENT(comment_)) THEN 
     230        CALL cxios_set_domaingroup_comment & 
     231      (domaingroup_hdl%daddr, comment_, len(comment_)) 
     232      ENDIF 
     233 
    193234      IF (PRESENT(data_dim_)) THEN 
    194235        CALL cxios_set_domaingroup_data_dim & 
     
    226267      ENDIF 
    227268 
     269      IF (PRESENT(dim_i_name_)) THEN 
     270        CALL cxios_set_domaingroup_dim_i_name & 
     271      (domaingroup_hdl%daddr, dim_i_name_, len(dim_i_name_)) 
     272      ENDIF 
     273 
     274      IF (PRESENT(dim_j_name_)) THEN 
     275        CALL cxios_set_domaingroup_dim_j_name & 
     276      (domaingroup_hdl%daddr, dim_j_name_, len(dim_j_name_)) 
     277      ENDIF 
     278 
    228279      IF (PRESENT(domain_ref_)) THEN 
    229280        CALL cxios_set_domaingroup_domain_ref & 
     
    256307      ENDIF 
    257308 
     309      IF (PRESENT(lat_name_)) THEN 
     310        CALL cxios_set_domaingroup_lat_name & 
     311      (domaingroup_hdl%daddr, lat_name_, len(lat_name_)) 
     312      ENDIF 
     313 
    258314      IF (PRESENT(latvalue_1d_)) THEN 
    259315        CALL cxios_set_domaingroup_latvalue_1d & 
     
    264320        CALL cxios_set_domaingroup_latvalue_2d & 
    265321      (domaingroup_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_)) 
     322      ENDIF 
     323 
     324      IF (PRESENT(lon_name_)) THEN 
     325        CALL cxios_set_domaingroup_lon_name & 
     326      (domaingroup_hdl%daddr, lon_name_, len(lon_name_)) 
    266327      ENDIF 
    267328 
     
    343404 
    344405  SUBROUTINE xios(get_domaingroup_attr)  & 
    345     ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    346     , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    347     , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    348     , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     406    ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     407    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     408    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     409    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     410    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    349411 
    350412    IMPLICIT NONE 
     
    354416      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
    355417      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     418      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name 
    356419      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
    357420      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
     421      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     422      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    358423      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    359424      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    363428      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni 
    364429      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
     430      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name 
     431      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name 
    365432      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    366433      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
     
    369436      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    370437      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
     438      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name 
    371439      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
    372440      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
     441      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name 
    373442      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    374443      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     
    391460      (domaingroup_id,domaingroup_hdl) 
    392461      CALL xios(get_domaingroup_attr_hdl_)   & 
    393       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    394       , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    395       , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    396       , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     462      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     463      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     464      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     465      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     466      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    397467 
    398468  END SUBROUTINE xios(get_domaingroup_attr) 
    399469 
    400470  SUBROUTINE xios(get_domaingroup_attr_hdl)  & 
    401     ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    402     , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    403     , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    404     , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     471    ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     472    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     473    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     474    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     475    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    405476 
    406477    IMPLICIT NONE 
     
    409480      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
    410481      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     482      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name 
    411483      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
    412484      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
     485      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     486      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    413487      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    414488      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    418492      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni 
    419493      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
     494      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name 
     495      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name 
    420496      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    421497      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
     
    424500      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    425501      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
     502      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name 
    426503      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
    427504      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
     505      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name 
    428506      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    429507      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     
    444522 
    445523      CALL xios(get_domaingroup_attr_hdl_)  & 
    446       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    447       , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    448       , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    449       , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     524      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     525      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     526      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     527      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     528      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    450529 
    451530  END SUBROUTINE xios(get_domaingroup_attr_hdl) 
    452531 
    453532  SUBROUTINE xios(get_domaingroup_attr_hdl_)   & 
    454     ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
    455     , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, domain_ref_  & 
    456     , group_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_, long_name_, lonvalue_1d_  & 
    457     , lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_  & 
    458     , type_ ) 
     533    ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
     534    , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
     535    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
     536    , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
     537    , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_  & 
     538     ) 
    459539 
    460540    IMPLICIT NONE 
     
    463543      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d_(:,:) 
    464544      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d_(:,:,:) 
     545      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name_ 
    465546      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d_(:,:) 
    466547      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d_(:,:,:) 
     548      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name_ 
     549      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    467550      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_ 
    468551      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:) 
     
    472555      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni_ 
    473556      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_ 
     557      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name_ 
     558      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name_ 
    474559      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    475560      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 
     
    478563      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index_(:) 
    479564      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin_ 
     565      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name_ 
    480566      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d_(:) 
    481567      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d_(:,:) 
     568      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name_ 
    482569      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
    483570      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d_(:) 
     
    512599      ENDIF 
    513600 
     601      IF (PRESENT(bounds_lat_name_)) THEN 
     602        CALL cxios_get_domaingroup_bounds_lat_name & 
     603      (domaingroup_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_)) 
     604      ENDIF 
     605 
    514606      IF (PRESENT(bounds_lon_1d_)) THEN 
    515607        CALL cxios_get_domaingroup_bounds_lon_1d & 
     
    522614      ENDIF 
    523615 
     616      IF (PRESENT(bounds_lon_name_)) THEN 
     617        CALL cxios_get_domaingroup_bounds_lon_name & 
     618      (domaingroup_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_)) 
     619      ENDIF 
     620 
     621      IF (PRESENT(comment_)) THEN 
     622        CALL cxios_get_domaingroup_comment & 
     623      (domaingroup_hdl%daddr, comment_, len(comment_)) 
     624      ENDIF 
     625 
    524626      IF (PRESENT(data_dim_)) THEN 
    525627        CALL cxios_get_domaingroup_data_dim & 
     
    557659      ENDIF 
    558660 
     661      IF (PRESENT(dim_i_name_)) THEN 
     662        CALL cxios_get_domaingroup_dim_i_name & 
     663      (domaingroup_hdl%daddr, dim_i_name_, len(dim_i_name_)) 
     664      ENDIF 
     665 
     666      IF (PRESENT(dim_j_name_)) THEN 
     667        CALL cxios_get_domaingroup_dim_j_name & 
     668      (domaingroup_hdl%daddr, dim_j_name_, len(dim_j_name_)) 
     669      ENDIF 
     670 
    559671      IF (PRESENT(domain_ref_)) THEN 
    560672        CALL cxios_get_domaingroup_domain_ref & 
     
    587699      ENDIF 
    588700 
     701      IF (PRESENT(lat_name_)) THEN 
     702        CALL cxios_get_domaingroup_lat_name & 
     703      (domaingroup_hdl%daddr, lat_name_, len(lat_name_)) 
     704      ENDIF 
     705 
    589706      IF (PRESENT(latvalue_1d_)) THEN 
    590707        CALL cxios_get_domaingroup_latvalue_1d & 
     
    595712        CALL cxios_get_domaingroup_latvalue_2d & 
    596713      (domaingroup_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_)) 
     714      ENDIF 
     715 
     716      IF (PRESENT(lon_name_)) THEN 
     717        CALL cxios_get_domaingroup_lon_name & 
     718      (domaingroup_hdl%daddr, lon_name_, len(lon_name_)) 
    597719      ENDIF 
    598720 
     
    674796 
    675797  SUBROUTINE xios(is_defined_domaingroup_attr)  & 
    676     ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    677     , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    678     , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    679     , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     798    ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     799    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     800    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     801    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     802    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    680803 
    681804    IMPLICIT NONE 
     
    688811      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
    689812      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     813      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name 
     814      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp 
    690815      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
    691816      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
    692817      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
    693818      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
     819      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     820      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp 
     821      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     822      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    694823      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    695824      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    706835      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj 
    707836      LOGICAL(KIND=C_BOOL) :: data_nj_tmp 
     837      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name 
     838      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp 
     839      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name 
     840      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp 
    708841      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    709842      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    718851      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    719852      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
     853      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name 
     854      LOGICAL(KIND=C_BOOL) :: lat_name_tmp 
    720855      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
    721856      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
    722857      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
    723858      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
     859      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name 
     860      LOGICAL(KIND=C_BOOL) :: lon_name_tmp 
    724861      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    725862      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     
    754891      (domaingroup_id,domaingroup_hdl) 
    755892      CALL xios(is_defined_domaingroup_attr_hdl_)   & 
    756       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    757       , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    758       , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    759       , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     893      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     894      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     895      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     896      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     897      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    760898 
    761899  END SUBROUTINE xios(is_defined_domaingroup_attr) 
    762900 
    763901  SUBROUTINE xios(is_defined_domaingroup_attr_hdl)  & 
    764     ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    765     , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    766     , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    767     , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     902    ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     903    , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     904    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     905    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     906    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    768907 
    769908    IMPLICIT NONE 
     
    775914      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
    776915      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     916      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name 
     917      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp 
    777918      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
    778919      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
    779920      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
    780921      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
     922      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     923      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp 
     924      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     925      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    781926      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    782927      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    793938      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj 
    794939      LOGICAL(KIND=C_BOOL) :: data_nj_tmp 
     940      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name 
     941      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp 
     942      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name 
     943      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp 
    795944      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    796945      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
     
    805954      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    806955      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
     956      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name 
     957      LOGICAL(KIND=C_BOOL) :: lat_name_tmp 
    807958      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
    808959      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
    809960      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
    810961      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
     962      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name 
     963      LOGICAL(KIND=C_BOOL) :: lon_name_tmp 
    811964      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    812965      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     
    839992 
    840993      CALL xios(is_defined_domaingroup_attr_hdl_)  & 
    841       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
    842       , data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, domain_ref, group_ref  & 
    843       , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
    844       , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     994      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
     995      , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
     996      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
     997      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
     998      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
    845999 
    8461000  END SUBROUTINE xios(is_defined_domaingroup_attr_hdl) 
    8471001 
    8481002  SUBROUTINE xios(is_defined_domaingroup_attr_hdl_)   & 
    849     ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
    850     , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, domain_ref_  & 
    851     , group_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_, long_name_, lonvalue_1d_  & 
    852     , lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_  & 
    853     , type_ ) 
     1003    ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
     1004    , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
     1005    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
     1006    , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
     1007    , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_  & 
     1008     ) 
    8541009 
    8551010    IMPLICIT NONE 
     
    8611016      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d_ 
    8621017      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d__tmp 
     1018      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name_ 
     1019      LOGICAL(KIND=C_BOOL) :: bounds_lat_name__tmp 
    8631020      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d_ 
    8641021      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d__tmp 
    8651022      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d_ 
    8661023      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d__tmp 
     1024      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name_ 
     1025      LOGICAL(KIND=C_BOOL) :: bounds_lon_name__tmp 
     1026      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     1027      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    8671028      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_ 
    8681029      LOGICAL(KIND=C_BOOL) :: data_dim__tmp 
     
    8791040      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj_ 
    8801041      LOGICAL(KIND=C_BOOL) :: data_nj__tmp 
     1042      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name_ 
     1043      LOGICAL(KIND=C_BOOL) :: dim_i_name__tmp 
     1044      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name_ 
     1045      LOGICAL(KIND=C_BOOL) :: dim_j_name__tmp 
    8811046      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
    8821047      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
     
    8911056      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_ 
    8921057      LOGICAL(KIND=C_BOOL) :: jbegin__tmp 
     1058      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name_ 
     1059      LOGICAL(KIND=C_BOOL) :: lat_name__tmp 
    8931060      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d_ 
    8941061      LOGICAL(KIND=C_BOOL) :: latvalue_1d__tmp 
    8951062      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d_ 
    8961063      LOGICAL(KIND=C_BOOL) :: latvalue_2d__tmp 
     1064      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name_ 
     1065      LOGICAL(KIND=C_BOOL) :: lon_name__tmp 
    8971066      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    8981067      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
     
    9421111      ENDIF 
    9431112 
     1113      IF (PRESENT(bounds_lat_name_)) THEN 
     1114        bounds_lat_name__tmp = cxios_is_defined_domaingroup_bounds_lat_name & 
     1115      (domaingroup_hdl%daddr) 
     1116        bounds_lat_name_ = bounds_lat_name__tmp 
     1117      ENDIF 
     1118 
    9441119      IF (PRESENT(bounds_lon_1d_)) THEN 
    9451120        bounds_lon_1d__tmp = cxios_is_defined_domaingroup_bounds_lon_1d & 
     
    9541129      ENDIF 
    9551130 
     1131      IF (PRESENT(bounds_lon_name_)) THEN 
     1132        bounds_lon_name__tmp = cxios_is_defined_domaingroup_bounds_lon_name & 
     1133      (domaingroup_hdl%daddr) 
     1134        bounds_lon_name_ = bounds_lon_name__tmp 
     1135      ENDIF 
     1136 
     1137      IF (PRESENT(comment_)) THEN 
     1138        comment__tmp = cxios_is_defined_domaingroup_comment & 
     1139      (domaingroup_hdl%daddr) 
     1140        comment_ = comment__tmp 
     1141      ENDIF 
     1142 
    9561143      IF (PRESENT(data_dim_)) THEN 
    9571144        data_dim__tmp = cxios_is_defined_domaingroup_data_dim & 
     
    9961183      ENDIF 
    9971184 
     1185      IF (PRESENT(dim_i_name_)) THEN 
     1186        dim_i_name__tmp = cxios_is_defined_domaingroup_dim_i_name & 
     1187      (domaingroup_hdl%daddr) 
     1188        dim_i_name_ = dim_i_name__tmp 
     1189      ENDIF 
     1190 
     1191      IF (PRESENT(dim_j_name_)) THEN 
     1192        dim_j_name__tmp = cxios_is_defined_domaingroup_dim_j_name & 
     1193      (domaingroup_hdl%daddr) 
     1194        dim_j_name_ = dim_j_name__tmp 
     1195      ENDIF 
     1196 
    9981197      IF (PRESENT(domain_ref_)) THEN 
    9991198        domain_ref__tmp = cxios_is_defined_domaingroup_domain_ref & 
     
    10321231      ENDIF 
    10331232 
     1233      IF (PRESENT(lat_name_)) THEN 
     1234        lat_name__tmp = cxios_is_defined_domaingroup_lat_name & 
     1235      (domaingroup_hdl%daddr) 
     1236        lat_name_ = lat_name__tmp 
     1237      ENDIF 
     1238 
    10341239      IF (PRESENT(latvalue_1d_)) THEN 
    10351240        latvalue_1d__tmp = cxios_is_defined_domaingroup_latvalue_1d & 
     
    10441249      ENDIF 
    10451250 
     1251      IF (PRESENT(lon_name_)) THEN 
     1252        lon_name__tmp = cxios_is_defined_domaingroup_lon_name & 
     1253      (domaingroup_hdl%daddr) 
     1254        lon_name_ = lon_name__tmp 
     1255      ENDIF 
     1256 
    10461257      IF (PRESENT(long_name_)) THEN 
    10471258        long_name__tmp = cxios_is_defined_domaingroup_long_name & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/ifield_attr.F90

    r1201 r1492  
    1212 
    1313  SUBROUTINE xios(set_field_attr)  & 
    14     ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    15     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    16     , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    17     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    18     ) 
     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 ) 
    1919 
    2020    IMPLICIT NONE 
     
    2727      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active 
    2828      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     29      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2930      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    3031      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     
    6263      (field_id,field_hdl) 
    6364      CALL xios(set_field_attr_hdl_)   & 
    64       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    65       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    66       , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    67       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    68       ) 
     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 ) 
    6970 
    7071  END SUBROUTINE xios(set_field_attr) 
    7172 
    7273  SUBROUTINE xios(set_field_attr_hdl)  & 
    73     ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    74     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    75     , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    76     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    77     ) 
     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 ) 
    7879 
    7980    IMPLICIT NONE 
     
    8586      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active 
    8687      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     88      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    8789      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    8890      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     
    118120 
    119121      CALL xios(set_field_attr_hdl_)  & 
    120       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    121       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    122       , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    123       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    124       ) 
     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 ) 
    125127 
    126128  END SUBROUTINE xios(set_field_attr_hdl) 
    127129 
    128130  SUBROUTINE xios(set_field_attr_hdl_)   & 
    129     ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, compression_level_  & 
    130     , default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_  & 
    131     , freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_, operation_, prec_  & 
    132     , read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_, unit_  & 
    133     , valid_max_, valid_min_ ) 
     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_ ) 
    134136 
    135137    IMPLICIT NONE 
     
    141143      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active_ 
    142144      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp 
     145      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    143146      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_ 
    144147      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_ 
     
    199202      ENDIF 
    200203 
     204      IF (PRESENT(comment_)) THEN 
     205        CALL cxios_set_field_comment & 
     206      (field_hdl%daddr, comment_, len(comment_)) 
     207      ENDIF 
     208 
    201209      IF (PRESENT(compression_level_)) THEN 
    202210        CALL cxios_set_field_compression_level & 
     
    337345 
    338346  SUBROUTINE xios(get_field_attr)  & 
    339     ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    340     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    341     , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    342     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    343     ) 
     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 ) 
    344352 
    345353    IMPLICIT NONE 
     
    352360      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active 
    353361      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     362      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    354363      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    355364      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     
    387396      (field_id,field_hdl) 
    388397      CALL xios(get_field_attr_hdl_)   & 
    389       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    390       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    391       , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    392       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    393       ) 
     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 ) 
    394403 
    395404  END SUBROUTINE xios(get_field_attr) 
    396405 
    397406  SUBROUTINE xios(get_field_attr_hdl)  & 
    398     ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    399     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    400     , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    401     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    402     ) 
     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 ) 
    403412 
    404413    IMPLICIT NONE 
     
    410419      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active 
    411420      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     421      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    412422      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    413423      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     
    443453 
    444454      CALL xios(get_field_attr_hdl_)  & 
    445       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    446       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    447       , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    448       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    449       ) 
     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 ) 
    450460 
    451461  END SUBROUTINE xios(get_field_attr_hdl) 
    452462 
    453463  SUBROUTINE xios(get_field_attr_hdl_)   & 
    454     ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, compression_level_  & 
    455     , default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_  & 
    456     , freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_, operation_, prec_  & 
    457     , read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_, unit_  & 
    458     , valid_max_, valid_min_ ) 
     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_ ) 
    459469 
    460470    IMPLICIT NONE 
     
    466476      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active_ 
    467477      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp 
     478      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    468479      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_ 
    469480      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_ 
     
    524535      ENDIF 
    525536 
     537      IF (PRESENT(comment_)) THEN 
     538        CALL cxios_get_field_comment & 
     539      (field_hdl%daddr, comment_, len(comment_)) 
     540      ENDIF 
     541 
    526542      IF (PRESENT(compression_level_)) THEN 
    527543        CALL cxios_get_field_compression_level & 
     
    662678 
    663679  SUBROUTINE xios(is_defined_field_attr)  & 
    664     ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    665     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    666     , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    667     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    668     ) 
     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 ) 
    669685 
    670686    IMPLICIT NONE 
     
    681697      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active 
    682698      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp 
     699      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     700      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    683701      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    684702      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    737755      (field_id,field_hdl) 
    738756      CALL xios(is_defined_field_attr_hdl_)   & 
    739       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    740       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    741       , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    742       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    743       ) 
     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 ) 
    744762 
    745763  END SUBROUTINE xios(is_defined_field_attr) 
    746764 
    747765  SUBROUTINE xios(is_defined_field_attr_hdl)  & 
    748     ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    749     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    750     , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    751     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    752     ) 
     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 ) 
    753771 
    754772    IMPLICIT NONE 
     
    764782      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active 
    765783      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp 
     784      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     785      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    766786      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    767787      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    818838 
    819839      CALL xios(is_defined_field_attr_hdl_)  & 
    820       ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    821       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    822       , grid_path, grid_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    823       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    824       ) 
     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 ) 
    825845 
    826846  END SUBROUTINE xios(is_defined_field_attr_hdl) 
    827847 
    828848  SUBROUTINE xios(is_defined_field_attr_hdl_)   & 
    829     ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_, compression_level_  & 
    830     , default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_  & 
    831     , freq_op_, grid_path_, grid_ref_, indexed_output_, level_, long_name_, name_, operation_, prec_  & 
    832     , read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_, unit_  & 
    833     , valid_max_, valid_min_ ) 
     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_ ) 
    834854 
    835855    IMPLICIT NONE 
     
    845865      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active_ 
    846866      LOGICAL(KIND=C_BOOL) :: check_if_active__tmp 
     867      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     868      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    847869      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 
    848870      LOGICAL(KIND=C_BOOL) :: compression_level__tmp 
     
    928950      ENDIF 
    929951 
     952      IF (PRESENT(comment_)) THEN 
     953        comment__tmp = cxios_is_defined_field_comment & 
     954      (field_hdl%daddr) 
     955        comment_ = comment__tmp 
     956      ENDIF 
     957 
    930958      IF (PRESENT(compression_level_)) THEN 
    931959        compression_level__tmp = cxios_is_defined_field_compression_level & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/ifieldgroup_attr.F90

    r1201 r1492  
    1212 
    1313  SUBROUTINE xios(set_fieldgroup_attr)  & 
    14     ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    15     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    16     , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    17     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    18     ) 
     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 ) 
    1919 
    2020    IMPLICIT NONE 
     
    2727      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active 
    2828      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     29      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2930      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    3031      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     
    6364      (fieldgroup_id,fieldgroup_hdl) 
    6465      CALL xios(set_fieldgroup_attr_hdl_)   & 
    65       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    66       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    67       , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    68       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    69       ) 
     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 ) 
    7071 
    7172  END SUBROUTINE xios(set_fieldgroup_attr) 
    7273 
    7374  SUBROUTINE xios(set_fieldgroup_attr_hdl)  & 
    74     ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    75     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    76     , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    77     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    78     ) 
     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 ) 
    7980 
    8081    IMPLICIT NONE 
     
    8687      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active 
    8788      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     89      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    8890      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    8991      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 
     
    120122 
    121123      CALL xios(set_fieldgroup_attr_hdl_)  & 
    122       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    123       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    124       , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    125       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    126       ) 
     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 ) 
    127129 
    128130  END SUBROUTINE xios(set_fieldgroup_attr_hdl) 
     
    130132  SUBROUTINE xios(set_fieldgroup_attr_hdl_)   & 
    131133    ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_  & 
    132     , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  & 
    133     , freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_  & 
    134     , name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_  & 
    135     , ts_split_freq_, unit_, valid_max_, valid_min_ ) 
     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_  & 
     136    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
     137    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    136138 
    137139    IMPLICIT NONE 
     
    143145      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active_ 
    144146      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp 
     147      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    145148      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_ 
    146149      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_ 
     
    202205      ENDIF 
    203206 
     207      IF (PRESENT(comment_)) THEN 
     208        CALL cxios_set_fieldgroup_comment & 
     209      (fieldgroup_hdl%daddr, comment_, len(comment_)) 
     210      ENDIF 
     211 
    204212      IF (PRESENT(compression_level_)) THEN 
    205213        CALL cxios_set_fieldgroup_compression_level & 
     
    345353 
    346354  SUBROUTINE xios(get_fieldgroup_attr)  & 
    347     ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    348     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    349     , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    350     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    351     ) 
     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 ) 
    352360 
    353361    IMPLICIT NONE 
     
    360368      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active 
    361369      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     370      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    362371      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    363372      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     
    396405      (fieldgroup_id,fieldgroup_hdl) 
    397406      CALL xios(get_fieldgroup_attr_hdl_)   & 
    398       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    399       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    400       , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    401       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    402       ) 
     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 ) 
    403412 
    404413  END SUBROUTINE xios(get_fieldgroup_attr) 
    405414 
    406415  SUBROUTINE xios(get_fieldgroup_attr_hdl)  & 
    407     ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    408     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    409     , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    410     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    411     ) 
     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 ) 
    412421 
    413422    IMPLICIT NONE 
     
    419428      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active 
    420429      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp 
     430      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    421431      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    422432      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value 
     
    453463 
    454464      CALL xios(get_fieldgroup_attr_hdl_)  & 
    455       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    456       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    457       , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    458       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    459       ) 
     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 ) 
    460470 
    461471  END SUBROUTINE xios(get_fieldgroup_attr_hdl) 
     
    463473  SUBROUTINE xios(get_fieldgroup_attr_hdl_)   & 
    464474    ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_  & 
    465     , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  & 
    466     , freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_  & 
    467     , name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_  & 
    468     , ts_split_freq_, unit_, valid_max_, valid_min_ ) 
     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_  & 
     477    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
     478    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    469479 
    470480    IMPLICIT NONE 
     
    476486      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active_ 
    477487      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp 
     488      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    478489      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_ 
    479490      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_ 
     
    535546      ENDIF 
    536547 
     548      IF (PRESENT(comment_)) THEN 
     549        CALL cxios_get_fieldgroup_comment & 
     550      (fieldgroup_hdl%daddr, comment_, len(comment_)) 
     551      ENDIF 
     552 
    537553      IF (PRESENT(compression_level_)) THEN 
    538554        CALL cxios_get_fieldgroup_compression_level & 
     
    678694 
    679695  SUBROUTINE xios(is_defined_fieldgroup_attr)  & 
    680     ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    681     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    682     , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    683     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    684     ) 
     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 ) 
    685701 
    686702    IMPLICIT NONE 
     
    697713      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active 
    698714      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp 
     715      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     716      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    699717      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    700718      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    755773      (fieldgroup_id,fieldgroup_hdl) 
    756774      CALL xios(is_defined_fieldgroup_attr_hdl_)   & 
    757       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    758       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    759       , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    760       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    761       ) 
     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 ) 
    762780 
    763781  END SUBROUTINE xios(is_defined_fieldgroup_attr) 
    764782 
    765783  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)  & 
    766     ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    767     , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    768     , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    769     , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    770     ) 
     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 ) 
    771789 
    772790    IMPLICIT NONE 
     
    782800      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active 
    783801      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp 
     802      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     803      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    784804      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    785805      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    838858 
    839859      CALL xios(is_defined_fieldgroup_attr_hdl_)  & 
    840       ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, check_if_active, compression_level  & 
    841       , default_value, detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op  & 
    842       , grid_path, grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access  & 
    843       , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min  & 
    844       ) 
     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 ) 
    845865 
    846866  END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) 
     
    848868  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_)   & 
    849869    ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, check_if_active_  & 
    850     , compression_level_, default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_  & 
    851     , freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_  & 
    852     , name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_  & 
    853     , ts_split_freq_, unit_, valid_max_, valid_min_ ) 
     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_  & 
     872    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  & 
     873    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    854874 
    855875    IMPLICIT NONE 
     
    865885      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active_ 
    866886      LOGICAL(KIND=C_BOOL) :: check_if_active__tmp 
     887      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     888      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    867889      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 
    868890      LOGICAL(KIND=C_BOOL) :: compression_level__tmp 
     
    950972      ENDIF 
    951973 
     974      IF (PRESENT(comment_)) THEN 
     975        comment__tmp = cxios_is_defined_fieldgroup_comment & 
     976      (fieldgroup_hdl%daddr) 
     977        comment_ = comment__tmp 
     978      ENDIF 
     979 
    952980      IF (PRESENT(compression_level_)) THEN 
    953981        compression_level__tmp = cxios_is_defined_fieldgroup_compression_level & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/ifile_attr.F90

    r1201 r1492  
    1212 
    1313  SUBROUTINE xios(set_file_attr)  & 
    14     ( file_id, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    15     , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    16     , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    17     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     14    ( file_id, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     15    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     16    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     17    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     18    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    1819 
    1920    IMPLICIT NONE 
     
    2223      LOGICAL  , OPTIONAL, INTENT(IN) :: append 
    2324      LOGICAL (KIND=C_BOOL) :: append_tmp 
     25      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2426      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    2527      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
     
    3840      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
    3941      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
     42      LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par 
     43      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    4044      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset 
     45      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset 
    4146      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq 
    4247      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format 
     48      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_last_date 
     49      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_start_offset 
    4350      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: sync_freq 
    4451      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 
     
    5663      (file_id,file_hdl) 
    5764      CALL xios(set_file_attr_hdl_)   & 
    58       ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    59       , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    60       , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    61       , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     65      ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     66      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     67      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     68      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     69      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    6270 
    6371  END SUBROUTINE xios(set_file_attr) 
    6472 
    6573  SUBROUTINE xios(set_file_attr_hdl)  & 
    66     ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    67     , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    68     , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    69     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     74    ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     75    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     76    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     77    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     78    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    7079 
    7180    IMPLICIT NONE 
     
    7382      LOGICAL  , OPTIONAL, INTENT(IN) :: append 
    7483      LOGICAL (KIND=C_BOOL) :: append_tmp 
     84      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    7585      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    7686      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
     
    8999      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
    90100      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
     101      LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par 
     102      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    91103      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset 
     104      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset 
    92105      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq 
    93106      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format 
     107      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_last_date 
     108      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_start_offset 
    94109      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: sync_freq 
    95110      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 
     
    105120 
    106121      CALL xios(set_file_attr_hdl_)  & 
    107       ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    108       , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    109       , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    110       , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     122      ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     123      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     124      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     125      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     126      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    111127 
    112128  END SUBROUTINE xios(set_file_attr_hdl) 
    113129 
    114130  SUBROUTINE xios(set_file_attr_hdl_)   & 
    115     ( file_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
     131    ( file_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
    116132    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
    117     , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
    118     , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  & 
    119     , uuid_name_ ) 
     133    , read_metadata_par_, record_offset_, split_end_offset_, split_freq_, split_freq_format_, split_last_date_  & 
     134    , split_start_offset_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_  & 
     135    , time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ ) 
    120136 
    121137    IMPLICIT NONE 
     
    123139      LOGICAL  , OPTIONAL, INTENT(IN) :: append_ 
    124140      LOGICAL (KIND=C_BOOL) :: append__tmp 
     141      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    125142      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_ 
    126143      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_ 
     
    139156      INTEGER  , OPTIONAL, INTENT(IN) :: output_level_ 
    140157      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access_ 
     158      LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par_ 
     159      LOGICAL (KIND=C_BOOL) :: read_metadata_par__tmp 
    141160      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset_ 
     161      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset_ 
    142162      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq_ 
    143163      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format_ 
     164      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_last_date_ 
     165      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_start_offset_ 
    144166      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: sync_freq_ 
    145167      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter_ 
     
    160182      ENDIF 
    161183 
     184      IF (PRESENT(comment_)) THEN 
     185        CALL cxios_set_file_comment & 
     186      (file_hdl%daddr, comment_, len(comment_)) 
     187      ENDIF 
     188 
    162189      IF (PRESENT(compression_level_)) THEN 
    163190        CALL cxios_set_file_compression_level & 
     
    232259      ENDIF 
    233260 
     261      IF (PRESENT(read_metadata_par_)) THEN 
     262        read_metadata_par__tmp = read_metadata_par_ 
     263        CALL cxios_set_file_read_metadata_par & 
     264      (file_hdl%daddr, read_metadata_par__tmp) 
     265      ENDIF 
     266 
    234267      IF (PRESENT(record_offset_)) THEN 
    235268        CALL cxios_set_file_record_offset & 
     
    237270      ENDIF 
    238271 
     272      IF (PRESENT(split_end_offset_)) THEN 
     273        CALL cxios_set_file_split_end_offset & 
     274      (file_hdl%daddr, split_end_offset_) 
     275      ENDIF 
     276 
    239277      IF (PRESENT(split_freq_)) THEN 
    240278        CALL cxios_set_file_split_freq & 
     
    247285      ENDIF 
    248286 
     287      IF (PRESENT(split_last_date_)) THEN 
     288        CALL cxios_set_file_split_last_date & 
     289      (file_hdl%daddr, split_last_date_, len(split_last_date_)) 
     290      ENDIF 
     291 
     292      IF (PRESENT(split_start_offset_)) THEN 
     293        CALL cxios_set_file_split_start_offset & 
     294      (file_hdl%daddr, split_start_offset_) 
     295      ENDIF 
     296 
    249297      IF (PRESENT(sync_freq_)) THEN 
    250298        CALL cxios_set_file_sync_freq & 
     
    305353 
    306354  SUBROUTINE xios(get_file_attr)  & 
    307     ( file_id, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    308     , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    309     , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    310     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     355    ( file_id, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     356    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     357    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     358    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     359    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    311360 
    312361    IMPLICIT NONE 
     
    315364      LOGICAL  , OPTIONAL, INTENT(OUT) :: append 
    316365      LOGICAL (KIND=C_BOOL) :: append_tmp 
     366      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    317367      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    318368      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
     
    331381      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
    332382      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
     383      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par 
     384      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    333385      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset 
     386      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset 
    334387      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq 
    335388      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format 
     389      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_last_date 
     390      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_start_offset 
    336391      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: sync_freq 
    337392      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 
     
    349404      (file_id,file_hdl) 
    350405      CALL xios(get_file_attr_hdl_)   & 
    351       ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    352       , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    353       , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    354       , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     406      ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     407      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     408      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     409      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     410      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    355411 
    356412  END SUBROUTINE xios(get_file_attr) 
    357413 
    358414  SUBROUTINE xios(get_file_attr_hdl)  & 
    359     ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    360     , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    361     , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    362     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     415    ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     416    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     417    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     418    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     419    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    363420 
    364421    IMPLICIT NONE 
     
    366423      LOGICAL  , OPTIONAL, INTENT(OUT) :: append 
    367424      LOGICAL (KIND=C_BOOL) :: append_tmp 
     425      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    368426      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    369427      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
     
    382440      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
    383441      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
     442      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par 
     443      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    384444      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset 
     445      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset 
    385446      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq 
    386447      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format 
     448      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_last_date 
     449      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_start_offset 
    387450      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: sync_freq 
    388451      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 
     
    398461 
    399462      CALL xios(get_file_attr_hdl_)  & 
    400       ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    401       , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    402       , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    403       , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     463      ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     464      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     465      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     466      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     467      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    404468 
    405469  END SUBROUTINE xios(get_file_attr_hdl) 
    406470 
    407471  SUBROUTINE xios(get_file_attr_hdl_)   & 
    408     ( file_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
     472    ( file_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
    409473    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
    410     , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
    411     , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  & 
    412     , uuid_name_ ) 
     474    , read_metadata_par_, record_offset_, split_end_offset_, split_freq_, split_freq_format_, split_last_date_  & 
     475    , split_start_offset_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_  & 
     476    , time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ ) 
    413477 
    414478    IMPLICIT NONE 
     
    416480      LOGICAL  , OPTIONAL, INTENT(OUT) :: append_ 
    417481      LOGICAL (KIND=C_BOOL) :: append__tmp 
     482      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    418483      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_ 
    419484      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_ 
     
    432497      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_ 
    433498      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access_ 
     499      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par_ 
     500      LOGICAL (KIND=C_BOOL) :: read_metadata_par__tmp 
    434501      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset_ 
     502      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset_ 
    435503      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq_ 
    436504      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format_ 
     505      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_last_date_ 
     506      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_start_offset_ 
    437507      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: sync_freq_ 
    438508      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter_ 
     
    453523      ENDIF 
    454524 
     525      IF (PRESENT(comment_)) THEN 
     526        CALL cxios_get_file_comment & 
     527      (file_hdl%daddr, comment_, len(comment_)) 
     528      ENDIF 
     529 
    455530      IF (PRESENT(compression_level_)) THEN 
    456531        CALL cxios_get_file_compression_level & 
     
    525600      ENDIF 
    526601 
     602      IF (PRESENT(read_metadata_par_)) THEN 
     603        CALL cxios_get_file_read_metadata_par & 
     604      (file_hdl%daddr, read_metadata_par__tmp) 
     605        read_metadata_par_ = read_metadata_par__tmp 
     606      ENDIF 
     607 
    527608      IF (PRESENT(record_offset_)) THEN 
    528609        CALL cxios_get_file_record_offset & 
     
    530611      ENDIF 
    531612 
     613      IF (PRESENT(split_end_offset_)) THEN 
     614        CALL cxios_get_file_split_end_offset & 
     615      (file_hdl%daddr, split_end_offset_) 
     616      ENDIF 
     617 
    532618      IF (PRESENT(split_freq_)) THEN 
    533619        CALL cxios_get_file_split_freq & 
     
    540626      ENDIF 
    541627 
     628      IF (PRESENT(split_last_date_)) THEN 
     629        CALL cxios_get_file_split_last_date & 
     630      (file_hdl%daddr, split_last_date_, len(split_last_date_)) 
     631      ENDIF 
     632 
     633      IF (PRESENT(split_start_offset_)) THEN 
     634        CALL cxios_get_file_split_start_offset & 
     635      (file_hdl%daddr, split_start_offset_) 
     636      ENDIF 
     637 
    542638      IF (PRESENT(sync_freq_)) THEN 
    543639        CALL cxios_get_file_sync_freq & 
     
    598694 
    599695  SUBROUTINE xios(is_defined_file_attr)  & 
    600     ( file_id, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    601     , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    602     , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    603     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     696    ( file_id, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     697    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     698    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     699    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     700    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    604701 
    605702    IMPLICIT NONE 
     
    608705      LOGICAL, OPTIONAL, INTENT(OUT) :: append 
    609706      LOGICAL(KIND=C_BOOL) :: append_tmp 
     707      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     708      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    610709      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    611710      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    636735      LOGICAL, OPTIONAL, INTENT(OUT) :: par_access 
    637736      LOGICAL(KIND=C_BOOL) :: par_access_tmp 
     737      LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par 
     738      LOGICAL(KIND=C_BOOL) :: read_metadata_par_tmp 
    638739      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset 
    639740      LOGICAL(KIND=C_BOOL) :: record_offset_tmp 
     741      LOGICAL, OPTIONAL, INTENT(OUT) :: split_end_offset 
     742      LOGICAL(KIND=C_BOOL) :: split_end_offset_tmp 
    640743      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq 
    641744      LOGICAL(KIND=C_BOOL) :: split_freq_tmp 
    642745      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_format 
    643746      LOGICAL(KIND=C_BOOL) :: split_freq_format_tmp 
     747      LOGICAL, OPTIONAL, INTENT(OUT) :: split_last_date 
     748      LOGICAL(KIND=C_BOOL) :: split_last_date_tmp 
     749      LOGICAL, OPTIONAL, INTENT(OUT) :: split_start_offset 
     750      LOGICAL(KIND=C_BOOL) :: split_start_offset_tmp 
    644751      LOGICAL, OPTIONAL, INTENT(OUT) :: sync_freq 
    645752      LOGICAL(KIND=C_BOOL) :: sync_freq_tmp 
     
    668775      (file_id,file_hdl) 
    669776      CALL xios(is_defined_file_attr_hdl_)   & 
    670       ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    671       , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    672       , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    673       , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     777      ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     778      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     779      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     780      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     781      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    674782 
    675783  END SUBROUTINE xios(is_defined_file_attr) 
    676784 
    677785  SUBROUTINE xios(is_defined_file_attr_hdl)  & 
    678     ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    679     , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    680     , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    681     , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     786    ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     787    , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     788    , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     789    , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     790    , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    682791 
    683792    IMPLICIT NONE 
     
    685794      LOGICAL, OPTIONAL, INTENT(OUT) :: append 
    686795      LOGICAL(KIND=C_BOOL) :: append_tmp 
     796      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     797      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    687798      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    688799      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    713824      LOGICAL, OPTIONAL, INTENT(OUT) :: par_access 
    714825      LOGICAL(KIND=C_BOOL) :: par_access_tmp 
     826      LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par 
     827      LOGICAL(KIND=C_BOOL) :: read_metadata_par_tmp 
    715828      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset 
    716829      LOGICAL(KIND=C_BOOL) :: record_offset_tmp 
     830      LOGICAL, OPTIONAL, INTENT(OUT) :: split_end_offset 
     831      LOGICAL(KIND=C_BOOL) :: split_end_offset_tmp 
    717832      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq 
    718833      LOGICAL(KIND=C_BOOL) :: split_freq_tmp 
    719834      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_format 
    720835      LOGICAL(KIND=C_BOOL) :: split_freq_format_tmp 
     836      LOGICAL, OPTIONAL, INTENT(OUT) :: split_last_date 
     837      LOGICAL(KIND=C_BOOL) :: split_last_date_tmp 
     838      LOGICAL, OPTIONAL, INTENT(OUT) :: split_start_offset 
     839      LOGICAL(KIND=C_BOOL) :: split_start_offset_tmp 
    721840      LOGICAL, OPTIONAL, INTENT(OUT) :: sync_freq 
    722841      LOGICAL(KIND=C_BOOL) :: sync_freq_tmp 
     
    743862 
    744863      CALL xios(is_defined_file_attr_hdl_)  & 
    745       ( file_hdl, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    746       , format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    747       , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    748       , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
     864      ( file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     865      , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
     866      , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date  & 
     867      , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name  & 
     868      , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    749869 
    750870  END SUBROUTINE xios(is_defined_file_attr_hdl) 
    751871 
    752872  SUBROUTINE xios(is_defined_file_attr_hdl_)   & 
    753     ( file_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
     873    ( file_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
    754874    , enabled_, format_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
    755     , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
    756     , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  & 
    757     , uuid_name_ ) 
     875    , read_metadata_par_, record_offset_, split_end_offset_, split_freq_, split_freq_format_, split_last_date_  & 
     876    , split_start_offset_, sync_freq_, time_counter_, time_counter_name_, time_stamp_format_, time_stamp_name_  & 
     877    , time_units_, timeseries_, ts_prefix_, type_, uuid_format_, uuid_name_ ) 
    758878 
    759879    IMPLICIT NONE 
     
    761881      LOGICAL, OPTIONAL, INTENT(OUT) :: append_ 
    762882      LOGICAL(KIND=C_BOOL) :: append__tmp 
     883      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     884      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    763885      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 
    764886      LOGICAL(KIND=C_BOOL) :: compression_level__tmp 
     
    789911      LOGICAL, OPTIONAL, INTENT(OUT) :: par_access_ 
    790912      LOGICAL(KIND=C_BOOL) :: par_access__tmp 
     913      LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par_ 
     914      LOGICAL(KIND=C_BOOL) :: read_metadata_par__tmp 
    791915      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset_ 
    792916      LOGICAL(KIND=C_BOOL) :: record_offset__tmp 
     917      LOGICAL, OPTIONAL, INTENT(OUT) :: split_end_offset_ 
     918      LOGICAL(KIND=C_BOOL) :: split_end_offset__tmp 
    793919      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_ 
    794920      LOGICAL(KIND=C_BOOL) :: split_freq__tmp 
    795921      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_format_ 
    796922      LOGICAL(KIND=C_BOOL) :: split_freq_format__tmp 
     923      LOGICAL, OPTIONAL, INTENT(OUT) :: split_last_date_ 
     924      LOGICAL(KIND=C_BOOL) :: split_last_date__tmp 
     925      LOGICAL, OPTIONAL, INTENT(OUT) :: split_start_offset_ 
     926      LOGICAL(KIND=C_BOOL) :: split_start_offset__tmp 
    797927      LOGICAL, OPTIONAL, INTENT(OUT) :: sync_freq_ 
    798928      LOGICAL(KIND=C_BOOL) :: sync_freq__tmp 
     
    824954      ENDIF 
    825955 
     956      IF (PRESENT(comment_)) THEN 
     957        comment__tmp = cxios_is_defined_file_comment & 
     958      (file_hdl%daddr) 
     959        comment_ = comment__tmp 
     960      ENDIF 
     961 
    826962      IF (PRESENT(compression_level_)) THEN 
    827963        compression_level__tmp = cxios_is_defined_file_compression_level & 
     
    9081044      ENDIF 
    9091045 
     1046      IF (PRESENT(read_metadata_par_)) THEN 
     1047        read_metadata_par__tmp = cxios_is_defined_file_read_metadata_par & 
     1048      (file_hdl%daddr) 
     1049        read_metadata_par_ = read_metadata_par__tmp 
     1050      ENDIF 
     1051 
    9101052      IF (PRESENT(record_offset_)) THEN 
    9111053        record_offset__tmp = cxios_is_defined_file_record_offset & 
     
    9141056      ENDIF 
    9151057 
     1058      IF (PRESENT(split_end_offset_)) THEN 
     1059        split_end_offset__tmp = cxios_is_defined_file_split_end_offset & 
     1060      (file_hdl%daddr) 
     1061        split_end_offset_ = split_end_offset__tmp 
     1062      ENDIF 
     1063 
    9161064      IF (PRESENT(split_freq_)) THEN 
    9171065        split_freq__tmp = cxios_is_defined_file_split_freq & 
     
    9261074      ENDIF 
    9271075 
     1076      IF (PRESENT(split_last_date_)) THEN 
     1077        split_last_date__tmp = cxios_is_defined_file_split_last_date & 
     1078      (file_hdl%daddr) 
     1079        split_last_date_ = split_last_date__tmp 
     1080      ENDIF 
     1081 
     1082      IF (PRESENT(split_start_offset_)) THEN 
     1083        split_start_offset__tmp = cxios_is_defined_file_split_start_offset & 
     1084      (file_hdl%daddr) 
     1085        split_start_offset_ = split_start_offset__tmp 
     1086      ENDIF 
     1087 
    9281088      IF (PRESENT(sync_freq_)) THEN 
    9291089        sync_freq__tmp = cxios_is_defined_file_sync_freq & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/ifilegroup_attr.F90

    r1201 r1492  
    1212 
    1313  SUBROUTINE xios(set_filegroup_attr)  & 
    14     ( filegroup_id, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    15     , format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
    16     , record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     14    ( filegroup_id, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     15    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
     16    , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     17    , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    1718    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    1819 
     
    2223      LOGICAL  , OPTIONAL, INTENT(IN) :: append 
    2324      LOGICAL (KIND=C_BOOL) :: append_tmp 
     25      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2426      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    2527      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
     
    3941      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
    4042      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
     43      LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par 
     44      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    4145      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset 
     46      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset 
    4247      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq 
    4348      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format 
     49      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_last_date 
     50      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_start_offset 
    4451      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: sync_freq 
    4552      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 
     
    5764      (filegroup_id,filegroup_hdl) 
    5865      CALL xios(set_filegroup_attr_hdl_)   & 
    59       ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     66      ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    6067      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    61       , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    62       , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    63       ) 
     68      , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     69      , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     70      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    6471 
    6572  END SUBROUTINE xios(set_filegroup_attr) 
    6673 
    6774  SUBROUTINE xios(set_filegroup_attr_hdl)  & 
    68     ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     75    ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    6976    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    70     , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    71     , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    72     ) 
     77    , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     78    , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     79    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    7380 
    7481    IMPLICIT NONE 
     
    7683      LOGICAL  , OPTIONAL, INTENT(IN) :: append 
    7784      LOGICAL (KIND=C_BOOL) :: append_tmp 
     85      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    7886      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    7987      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
     
    93101      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
    94102      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
     103      LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par 
     104      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    95105      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset 
     106      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset 
    96107      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq 
    97108      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format 
     109      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_last_date 
     110      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_start_offset 
    98111      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: sync_freq 
    99112      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 
     
    109122 
    110123      CALL xios(set_filegroup_attr_hdl_)  & 
    111       ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     124      ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    112125      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    113       , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    114       , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    115       ) 
     126      , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     127      , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     128      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    116129 
    117130  END SUBROUTINE xios(set_filegroup_attr_hdl) 
    118131 
    119132  SUBROUTINE xios(set_filegroup_attr_hdl_)   & 
    120     ( filegroup_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
    121     , enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  & 
    122     , par_access_, record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
     133    ( filegroup_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_  & 
     134    , description_, enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_  & 
     135    , output_level_, par_access_, read_metadata_par_, record_offset_, split_end_offset_, split_freq_  & 
     136    , split_freq_format_, split_last_date_, split_start_offset_, sync_freq_, time_counter_, time_counter_name_  & 
    123137    , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  & 
    124138    , uuid_name_ ) 
     
    128142      LOGICAL  , OPTIONAL, INTENT(IN) :: append_ 
    129143      LOGICAL (KIND=C_BOOL) :: append__tmp 
     144      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    130145      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_ 
    131146      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_ 
     
    145160      INTEGER  , OPTIONAL, INTENT(IN) :: output_level_ 
    146161      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access_ 
     162      LOGICAL  , OPTIONAL, INTENT(IN) :: read_metadata_par_ 
     163      LOGICAL (KIND=C_BOOL) :: read_metadata_par__tmp 
    147164      INTEGER  , OPTIONAL, INTENT(IN) :: record_offset_ 
     165      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_end_offset_ 
    148166      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_freq_ 
    149167      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_format_ 
     168      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_last_date_ 
     169      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: split_start_offset_ 
    150170      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: sync_freq_ 
    151171      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter_ 
     
    166186      ENDIF 
    167187 
     188      IF (PRESENT(comment_)) THEN 
     189        CALL cxios_set_filegroup_comment & 
     190      (filegroup_hdl%daddr, comment_, len(comment_)) 
     191      ENDIF 
     192 
    168193      IF (PRESENT(compression_level_)) THEN 
    169194        CALL cxios_set_filegroup_compression_level & 
     
    243268      ENDIF 
    244269 
     270      IF (PRESENT(read_metadata_par_)) THEN 
     271        read_metadata_par__tmp = read_metadata_par_ 
     272        CALL cxios_set_filegroup_read_metadata_par & 
     273      (filegroup_hdl%daddr, read_metadata_par__tmp) 
     274      ENDIF 
     275 
    245276      IF (PRESENT(record_offset_)) THEN 
    246277        CALL cxios_set_filegroup_record_offset & 
     
    248279      ENDIF 
    249280 
     281      IF (PRESENT(split_end_offset_)) THEN 
     282        CALL cxios_set_filegroup_split_end_offset & 
     283      (filegroup_hdl%daddr, split_end_offset_) 
     284      ENDIF 
     285 
    250286      IF (PRESENT(split_freq_)) THEN 
    251287        CALL cxios_set_filegroup_split_freq & 
     
    258294      ENDIF 
    259295 
     296      IF (PRESENT(split_last_date_)) THEN 
     297        CALL cxios_set_filegroup_split_last_date & 
     298      (filegroup_hdl%daddr, split_last_date_, len(split_last_date_)) 
     299      ENDIF 
     300 
     301      IF (PRESENT(split_start_offset_)) THEN 
     302        CALL cxios_set_filegroup_split_start_offset & 
     303      (filegroup_hdl%daddr, split_start_offset_) 
     304      ENDIF 
     305 
    260306      IF (PRESENT(sync_freq_)) THEN 
    261307        CALL cxios_set_filegroup_sync_freq & 
     
    316362 
    317363  SUBROUTINE xios(get_filegroup_attr)  & 
    318     ( filegroup_id, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    319     , format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
    320     , record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     364    ( filegroup_id, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     365    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
     366    , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     367    , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    321368    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    322369 
     
    326373      LOGICAL  , OPTIONAL, INTENT(OUT) :: append 
    327374      LOGICAL (KIND=C_BOOL) :: append_tmp 
     375      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    328376      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    329377      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
     
    343391      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
    344392      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
     393      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par 
     394      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    345395      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset 
     396      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset 
    346397      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq 
    347398      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format 
     399      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_last_date 
     400      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_start_offset 
    348401      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: sync_freq 
    349402      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 
     
    361414      (filegroup_id,filegroup_hdl) 
    362415      CALL xios(get_filegroup_attr_hdl_)   & 
    363       ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     416      ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    364417      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    365       , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    366       , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    367       ) 
     418      , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     419      , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     420      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    368421 
    369422  END SUBROUTINE xios(get_filegroup_attr) 
    370423 
    371424  SUBROUTINE xios(get_filegroup_attr_hdl)  & 
    372     ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     425    ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    373426    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    374     , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    375     , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    376     ) 
     427    , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     428    , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     429    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    377430 
    378431    IMPLICIT NONE 
     
    380433      LOGICAL  , OPTIONAL, INTENT(OUT) :: append 
    381434      LOGICAL (KIND=C_BOOL) :: append_tmp 
     435      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    382436      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    383437      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
     
    397451      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
    398452      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
     453      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par 
     454      LOGICAL (KIND=C_BOOL) :: read_metadata_par_tmp 
    399455      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset 
     456      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset 
    400457      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq 
    401458      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format 
     459      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_last_date 
     460      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_start_offset 
    402461      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: sync_freq 
    403462      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 
     
    413472 
    414473      CALL xios(get_filegroup_attr_hdl_)  & 
    415       ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     474      ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    416475      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    417       , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    418       , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    419       ) 
     476      , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     477      , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     478      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    420479 
    421480  END SUBROUTINE xios(get_filegroup_attr_hdl) 
    422481 
    423482  SUBROUTINE xios(get_filegroup_attr_hdl_)   & 
    424     ( filegroup_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
    425     , enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  & 
    426     , par_access_, record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
     483    ( filegroup_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_  & 
     484    , description_, enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_  & 
     485    , output_level_, par_access_, read_metadata_par_, record_offset_, split_end_offset_, split_freq_  & 
     486    , split_freq_format_, split_last_date_, split_start_offset_, sync_freq_, time_counter_, time_counter_name_  & 
    427487    , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  & 
    428488    , uuid_name_ ) 
     
    432492      LOGICAL  , OPTIONAL, INTENT(OUT) :: append_ 
    433493      LOGICAL (KIND=C_BOOL) :: append__tmp 
     494      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    434495      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_ 
    435496      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_ 
     
    449510      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_ 
    450511      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access_ 
     512      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_metadata_par_ 
     513      LOGICAL (KIND=C_BOOL) :: read_metadata_par__tmp 
    451514      INTEGER  , OPTIONAL, INTENT(OUT) :: record_offset_ 
     515      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_end_offset_ 
    452516      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_freq_ 
    453517      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_format_ 
     518      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_last_date_ 
     519      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: split_start_offset_ 
    454520      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: sync_freq_ 
    455521      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter_ 
     
    470536      ENDIF 
    471537 
     538      IF (PRESENT(comment_)) THEN 
     539        CALL cxios_get_filegroup_comment & 
     540      (filegroup_hdl%daddr, comment_, len(comment_)) 
     541      ENDIF 
     542 
    472543      IF (PRESENT(compression_level_)) THEN 
    473544        CALL cxios_get_filegroup_compression_level & 
     
    547618      ENDIF 
    548619 
     620      IF (PRESENT(read_metadata_par_)) THEN 
     621        CALL cxios_get_filegroup_read_metadata_par & 
     622      (filegroup_hdl%daddr, read_metadata_par__tmp) 
     623        read_metadata_par_ = read_metadata_par__tmp 
     624      ENDIF 
     625 
    549626      IF (PRESENT(record_offset_)) THEN 
    550627        CALL cxios_get_filegroup_record_offset & 
     
    552629      ENDIF 
    553630 
     631      IF (PRESENT(split_end_offset_)) THEN 
     632        CALL cxios_get_filegroup_split_end_offset & 
     633      (filegroup_hdl%daddr, split_end_offset_) 
     634      ENDIF 
     635 
    554636      IF (PRESENT(split_freq_)) THEN 
    555637        CALL cxios_get_filegroup_split_freq & 
     
    562644      ENDIF 
    563645 
     646      IF (PRESENT(split_last_date_)) THEN 
     647        CALL cxios_get_filegroup_split_last_date & 
     648      (filegroup_hdl%daddr, split_last_date_, len(split_last_date_)) 
     649      ENDIF 
     650 
     651      IF (PRESENT(split_start_offset_)) THEN 
     652        CALL cxios_get_filegroup_split_start_offset & 
     653      (filegroup_hdl%daddr, split_start_offset_) 
     654      ENDIF 
     655 
    564656      IF (PRESENT(sync_freq_)) THEN 
    565657        CALL cxios_get_filegroup_sync_freq & 
     
    620712 
    621713  SUBROUTINE xios(is_defined_filegroup_attr)  & 
    622     ( filegroup_id, append, compression_level, convention, convention_str, cyclic, description, enabled  & 
    623     , format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access  & 
    624     , record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     714    ( filegroup_id, append, comment, compression_level, convention, convention_str, cyclic, description  & 
     715    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
     716    , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     717    , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
    625718    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    626719 
     
    630723      LOGICAL, OPTIONAL, INTENT(OUT) :: append 
    631724      LOGICAL(KIND=C_BOOL) :: append_tmp 
     725      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     726      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    632727      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    633728      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    660755      LOGICAL, OPTIONAL, INTENT(OUT) :: par_access 
    661756      LOGICAL(KIND=C_BOOL) :: par_access_tmp 
     757      LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par 
     758      LOGICAL(KIND=C_BOOL) :: read_metadata_par_tmp 
    662759      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset 
    663760      LOGICAL(KIND=C_BOOL) :: record_offset_tmp 
     761      LOGICAL, OPTIONAL, INTENT(OUT) :: split_end_offset 
     762      LOGICAL(KIND=C_BOOL) :: split_end_offset_tmp 
    664763      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq 
    665764      LOGICAL(KIND=C_BOOL) :: split_freq_tmp 
    666765      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_format 
    667766      LOGICAL(KIND=C_BOOL) :: split_freq_format_tmp 
     767      LOGICAL, OPTIONAL, INTENT(OUT) :: split_last_date 
     768      LOGICAL(KIND=C_BOOL) :: split_last_date_tmp 
     769      LOGICAL, OPTIONAL, INTENT(OUT) :: split_start_offset 
     770      LOGICAL(KIND=C_BOOL) :: split_start_offset_tmp 
    668771      LOGICAL, OPTIONAL, INTENT(OUT) :: sync_freq 
    669772      LOGICAL(KIND=C_BOOL) :: sync_freq_tmp 
     
    692795      (filegroup_id,filegroup_hdl) 
    693796      CALL xios(is_defined_filegroup_attr_hdl_)   & 
    694       ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     797      ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    695798      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    696       , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    697       , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    698       ) 
     799      , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     800      , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     801      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    699802 
    700803  END SUBROUTINE xios(is_defined_filegroup_attr) 
    701804 
    702805  SUBROUTINE xios(is_defined_filegroup_attr_hdl)  & 
    703     ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     806    ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    704807    , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    705     , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    706     , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    707     ) 
     808    , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     809    , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     810    , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    708811 
    709812    IMPLICIT NONE 
     
    711814      LOGICAL, OPTIONAL, INTENT(OUT) :: append 
    712815      LOGICAL(KIND=C_BOOL) :: append_tmp 
     816      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     817      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    713818      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    714819      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    741846      LOGICAL, OPTIONAL, INTENT(OUT) :: par_access 
    742847      LOGICAL(KIND=C_BOOL) :: par_access_tmp 
     848      LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par 
     849      LOGICAL(KIND=C_BOOL) :: read_metadata_par_tmp 
    743850      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset 
    744851      LOGICAL(KIND=C_BOOL) :: record_offset_tmp 
     852      LOGICAL, OPTIONAL, INTENT(OUT) :: split_end_offset 
     853      LOGICAL(KIND=C_BOOL) :: split_end_offset_tmp 
    745854      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq 
    746855      LOGICAL(KIND=C_BOOL) :: split_freq_tmp 
    747856      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_format 
    748857      LOGICAL(KIND=C_BOOL) :: split_freq_format_tmp 
     858      LOGICAL, OPTIONAL, INTENT(OUT) :: split_last_date 
     859      LOGICAL(KIND=C_BOOL) :: split_last_date_tmp 
     860      LOGICAL, OPTIONAL, INTENT(OUT) :: split_start_offset 
     861      LOGICAL(KIND=C_BOOL) :: split_start_offset_tmp 
    749862      LOGICAL, OPTIONAL, INTENT(OUT) :: sync_freq 
    750863      LOGICAL(KIND=C_BOOL) :: sync_freq_tmp 
     
    771884 
    772885      CALL xios(is_defined_filegroup_attr_hdl_)  & 
    773       ( filegroup_hdl, append, compression_level, convention, convention_str, cyclic, description  & 
     886      ( filegroup_hdl, append, comment, compression_level, convention, convention_str, cyclic, description  & 
    774887      , enabled, format, group_ref, min_digits, mode, name, name_suffix, output_freq, output_level  & 
    775       , par_access, record_offset, split_freq, split_freq_format, sync_freq, time_counter, time_counter_name  & 
    776       , time_stamp_format, time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name  & 
    777       ) 
     888      , par_access, read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format  & 
     889      , split_last_date, split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format  & 
     890      , time_stamp_name, time_units, timeseries, ts_prefix, type, uuid_format, uuid_name ) 
    778891 
    779892  END SUBROUTINE xios(is_defined_filegroup_attr_hdl) 
    780893 
    781894  SUBROUTINE xios(is_defined_filegroup_attr_hdl_)   & 
    782     ( filegroup_hdl, append_, compression_level_, convention_, convention_str_, cyclic_, description_  & 
    783     , enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_  & 
    784     , par_access_, record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
     895    ( filegroup_hdl, append_, comment_, compression_level_, convention_, convention_str_, cyclic_  & 
     896    , description_, enabled_, format_, group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_  & 
     897    , output_level_, par_access_, read_metadata_par_, record_offset_, split_end_offset_, split_freq_  & 
     898    , split_freq_format_, split_last_date_, split_start_offset_, sync_freq_, time_counter_, time_counter_name_  & 
    785899    , time_stamp_format_, time_stamp_name_, time_units_, timeseries_, ts_prefix_, type_, uuid_format_  & 
    786900    , uuid_name_ ) 
     
    790904      LOGICAL, OPTIONAL, INTENT(OUT) :: append_ 
    791905      LOGICAL(KIND=C_BOOL) :: append__tmp 
     906      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     907      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    792908      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 
    793909      LOGICAL(KIND=C_BOOL) :: compression_level__tmp 
     
    820936      LOGICAL, OPTIONAL, INTENT(OUT) :: par_access_ 
    821937      LOGICAL(KIND=C_BOOL) :: par_access__tmp 
     938      LOGICAL, OPTIONAL, INTENT(OUT) :: read_metadata_par_ 
     939      LOGICAL(KIND=C_BOOL) :: read_metadata_par__tmp 
    822940      LOGICAL, OPTIONAL, INTENT(OUT) :: record_offset_ 
    823941      LOGICAL(KIND=C_BOOL) :: record_offset__tmp 
     942      LOGICAL, OPTIONAL, INTENT(OUT) :: split_end_offset_ 
     943      LOGICAL(KIND=C_BOOL) :: split_end_offset__tmp 
    824944      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_ 
    825945      LOGICAL(KIND=C_BOOL) :: split_freq__tmp 
    826946      LOGICAL, OPTIONAL, INTENT(OUT) :: split_freq_format_ 
    827947      LOGICAL(KIND=C_BOOL) :: split_freq_format__tmp 
     948      LOGICAL, OPTIONAL, INTENT(OUT) :: split_last_date_ 
     949      LOGICAL(KIND=C_BOOL) :: split_last_date__tmp 
     950      LOGICAL, OPTIONAL, INTENT(OUT) :: split_start_offset_ 
     951      LOGICAL(KIND=C_BOOL) :: split_start_offset__tmp 
    828952      LOGICAL, OPTIONAL, INTENT(OUT) :: sync_freq_ 
    829953      LOGICAL(KIND=C_BOOL) :: sync_freq__tmp 
     
    855979      ENDIF 
    856980 
     981      IF (PRESENT(comment_)) THEN 
     982        comment__tmp = cxios_is_defined_filegroup_comment & 
     983      (filegroup_hdl%daddr) 
     984        comment_ = comment__tmp 
     985      ENDIF 
     986 
    857987      IF (PRESENT(compression_level_)) THEN 
    858988        compression_level__tmp = cxios_is_defined_filegroup_compression_level & 
     
    9451075      ENDIF 
    9461076 
     1077      IF (PRESENT(read_metadata_par_)) THEN 
     1078        read_metadata_par__tmp = cxios_is_defined_filegroup_read_metadata_par & 
     1079      (filegroup_hdl%daddr) 
     1080        read_metadata_par_ = read_metadata_par__tmp 
     1081      ENDIF 
     1082 
    9471083      IF (PRESENT(record_offset_)) THEN 
    9481084        record_offset__tmp = cxios_is_defined_filegroup_record_offset & 
     
    9511087      ENDIF 
    9521088 
     1089      IF (PRESENT(split_end_offset_)) THEN 
     1090        split_end_offset__tmp = cxios_is_defined_filegroup_split_end_offset & 
     1091      (filegroup_hdl%daddr) 
     1092        split_end_offset_ = split_end_offset__tmp 
     1093      ENDIF 
     1094 
    9531095      IF (PRESENT(split_freq_)) THEN 
    9541096        split_freq__tmp = cxios_is_defined_filegroup_split_freq & 
     
    9631105      ENDIF 
    9641106 
     1107      IF (PRESENT(split_last_date_)) THEN 
     1108        split_last_date__tmp = cxios_is_defined_filegroup_split_last_date & 
     1109      (filegroup_hdl%daddr) 
     1110        split_last_date_ = split_last_date__tmp 
     1111      ENDIF 
     1112 
     1113      IF (PRESENT(split_start_offset_)) THEN 
     1114        split_start_offset__tmp = cxios_is_defined_filegroup_split_start_offset & 
     1115      (filegroup_hdl%daddr) 
     1116        split_start_offset_ = split_start_offset__tmp 
     1117      ENDIF 
     1118 
    9651119      IF (PRESENT(sync_freq_)) THEN 
    9661120        sync_freq__tmp = cxios_is_defined_filegroup_sync_freq & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/igrid_attr.F90

    r966 r1492  
    1212 
    1313  SUBROUTINE xios(set_grid_attr)  & 
    14     ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    15     ) 
     14    ( grid_id, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     15    , mask_7d, name ) 
    1616 
    1717    IMPLICIT NONE 
    1818      TYPE(txios(grid))  :: grid_hdl 
    1919      CHARACTER(LEN=*), INTENT(IN) ::grid_id 
     20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2021      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
     22      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:) 
     23      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    2124      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
    2225      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    3841      (grid_id,grid_hdl) 
    3942      CALL xios(set_grid_attr_hdl_)   & 
    40       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    41       ) 
     43      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     44      , mask_7d, name ) 
    4245 
    4346  END SUBROUTINE xios(set_grid_attr) 
    4447 
    4548  SUBROUTINE xios(set_grid_attr_hdl)  & 
    46     ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    47     ) 
     49    ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     50    , mask_7d, name ) 
    4851 
    4952    IMPLICIT NONE 
    5053      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     54      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    5155      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
     56      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:) 
     57      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    5258      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
    5359      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    6773 
    6874      CALL xios(set_grid_attr_hdl_)  & 
    69       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    70       ) 
     75      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     76      , mask_7d, name ) 
    7177 
    7278  END SUBROUTINE xios(set_grid_attr_hdl) 
    7379 
    7480  SUBROUTINE xios(set_grid_attr_hdl_)   & 
    75     ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  & 
    76     , name_ ) 
     81    ( grid_hdl, comment_, description_, mask_0d_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
     82    , mask_6d_, mask_7d_, name_ ) 
    7783 
    7884    IMPLICIT NONE 
    7985      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     86      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    8087      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 
     88      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d_(:) 
     89      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:) 
    8190      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:) 
    8291      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     
    95104      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    96105 
     106      IF (PRESENT(comment_)) THEN 
     107        CALL cxios_set_grid_comment & 
     108      (grid_hdl%daddr, comment_, len(comment_)) 
     109      ENDIF 
     110 
    97111      IF (PRESENT(description_)) THEN 
    98112        CALL cxios_set_grid_description & 
    99113      (grid_hdl%daddr, description_, len(description_)) 
     114      ENDIF 
     115 
     116      IF (PRESENT(mask_0d_)) THEN 
     117        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1))) 
     118        mask_0d__tmp = mask_0d_ 
     119        CALL cxios_set_grid_mask_0d & 
     120      (grid_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
    100121      ENDIF 
    101122 
     
    162183 
    163184  SUBROUTINE xios(get_grid_attr)  & 
    164     ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    165     ) 
     185    ( grid_id, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     186    , mask_7d, name ) 
    166187 
    167188    IMPLICIT NONE 
    168189      TYPE(txios(grid))  :: grid_hdl 
    169190      CHARACTER(LEN=*), INTENT(IN) ::grid_id 
     191      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    170192      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
     193      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:) 
     194      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    171195      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
    172196      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    188212      (grid_id,grid_hdl) 
    189213      CALL xios(get_grid_attr_hdl_)   & 
    190       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    191       ) 
     214      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     215      , mask_7d, name ) 
    192216 
    193217  END SUBROUTINE xios(get_grid_attr) 
    194218 
    195219  SUBROUTINE xios(get_grid_attr_hdl)  & 
    196     ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    197     ) 
     220    ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     221    , mask_7d, name ) 
    198222 
    199223    IMPLICIT NONE 
    200224      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     225      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    201226      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
     227      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:) 
     228      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    202229      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
    203230      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    217244 
    218245      CALL xios(get_grid_attr_hdl_)  & 
    219       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    220       ) 
     246      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     247      , mask_7d, name ) 
    221248 
    222249  END SUBROUTINE xios(get_grid_attr_hdl) 
    223250 
    224251  SUBROUTINE xios(get_grid_attr_hdl_)   & 
    225     ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  & 
    226     , name_ ) 
     252    ( grid_hdl, comment_, description_, mask_0d_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
     253    , mask_6d_, mask_7d_, name_ ) 
    227254 
    228255    IMPLICIT NONE 
    229256      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     257      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    230258      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 
     259      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d_(:) 
     260      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:) 
    231261      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:) 
    232262      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     
    245275      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    246276 
     277      IF (PRESENT(comment_)) THEN 
     278        CALL cxios_get_grid_comment & 
     279      (grid_hdl%daddr, comment_, len(comment_)) 
     280      ENDIF 
     281 
    247282      IF (PRESENT(description_)) THEN 
    248283        CALL cxios_get_grid_description & 
    249284      (grid_hdl%daddr, description_, len(description_)) 
     285      ENDIF 
     286 
     287      IF (PRESENT(mask_0d_)) THEN 
     288        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1))) 
     289        CALL cxios_get_grid_mask_0d & 
     290      (grid_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
     291        mask_0d_ = mask_0d__tmp 
    250292      ENDIF 
    251293 
     
    312354 
    313355  SUBROUTINE xios(is_defined_grid_attr)  & 
    314     ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    315     ) 
     356    ( grid_id, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     357    , mask_7d, name ) 
    316358 
    317359    IMPLICIT NONE 
    318360      TYPE(txios(grid))  :: grid_hdl 
    319361      CHARACTER(LEN=*), INTENT(IN) ::grid_id 
     362      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     363      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    320364      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    321365      LOGICAL(KIND=C_BOOL) :: description_tmp 
     366      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d 
     367      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp 
    322368      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
    323369      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     
    340386      (grid_id,grid_hdl) 
    341387      CALL xios(is_defined_grid_attr_hdl_)   & 
    342       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    343       ) 
     388      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     389      , mask_7d, name ) 
    344390 
    345391  END SUBROUTINE xios(is_defined_grid_attr) 
    346392 
    347393  SUBROUTINE xios(is_defined_grid_attr_hdl)  & 
    348     ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    349     ) 
     394    ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     395    , mask_7d, name ) 
    350396 
    351397    IMPLICIT NONE 
    352398      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     399      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     400      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    353401      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    354402      LOGICAL(KIND=C_BOOL) :: description_tmp 
     403      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d 
     404      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp 
    355405      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
    356406      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     
    371421 
    372422      CALL xios(is_defined_grid_attr_hdl_)  & 
    373       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
    374       ) 
     423      ( grid_hdl, comment, description, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     424      , mask_7d, name ) 
    375425 
    376426  END SUBROUTINE xios(is_defined_grid_attr_hdl) 
    377427 
    378428  SUBROUTINE xios(is_defined_grid_attr_hdl_)   & 
    379     ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  & 
    380     , name_ ) 
     429    ( grid_hdl, comment_, description_, mask_0d_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
     430    , mask_6d_, mask_7d_, name_ ) 
    381431 
    382432    IMPLICIT NONE 
    383433      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     434      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     435      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    384436      LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 
    385437      LOGICAL(KIND=C_BOOL) :: description__tmp 
     438      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d_ 
     439      LOGICAL(KIND=C_BOOL) :: mask_0d__tmp 
    386440      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_ 
    387441      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp 
     
    401455      LOGICAL(KIND=C_BOOL) :: name__tmp 
    402456 
     457      IF (PRESENT(comment_)) THEN 
     458        comment__tmp = cxios_is_defined_grid_comment & 
     459      (grid_hdl%daddr) 
     460        comment_ = comment__tmp 
     461      ENDIF 
     462 
    403463      IF (PRESENT(description_)) THEN 
    404464        description__tmp = cxios_is_defined_grid_description & 
     
    407467      ENDIF 
    408468 
     469      IF (PRESENT(mask_0d_)) THEN 
     470        mask_0d__tmp = cxios_is_defined_grid_mask_0d & 
     471      (grid_hdl%daddr) 
     472        mask_0d_ = mask_0d__tmp 
     473      ENDIF 
     474 
    409475      IF (PRESENT(mask_1d_)) THEN 
    410476        mask_1d__tmp = cxios_is_defined_grid_mask_1d & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/igridgroup_attr.F90

    r966 r1492  
    1212 
    1313  SUBROUTINE xios(set_gridgroup_attr)  & 
    14     ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    15     , mask_7d, name ) 
     14    ( gridgroup_id, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     15    , mask_5d, mask_6d, mask_7d, name ) 
    1616 
    1717    IMPLICIT NONE 
    1818      TYPE(txios(gridgroup))  :: gridgroup_hdl 
    1919      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 
     20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    2021      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
    2122      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
     23      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:) 
     24      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    2225      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
    2326      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    3942      (gridgroup_id,gridgroup_hdl) 
    4043      CALL xios(set_gridgroup_attr_hdl_)   & 
    41       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    42       , mask_7d, name ) 
     44      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     45      , mask_5d, mask_6d, mask_7d, name ) 
    4346 
    4447  END SUBROUTINE xios(set_gridgroup_attr) 
    4548 
    4649  SUBROUTINE xios(set_gridgroup_attr_hdl)  & 
    47     ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    48     , mask_7d, name ) 
     50    ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     51    , mask_5d, mask_6d, mask_7d, name ) 
    4952 
    5053    IMPLICIT NONE 
    5154      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     55      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    5256      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
    5357      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
     58      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d(:) 
     59      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    5460      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
    5561      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    6975 
    7076      CALL xios(set_gridgroup_attr_hdl_)  & 
    71       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    72       , mask_7d, name ) 
     77      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     78      , mask_5d, mask_6d, mask_7d, name ) 
    7379 
    7480  END SUBROUTINE xios(set_gridgroup_attr_hdl) 
    7581 
    7682  SUBROUTINE xios(set_gridgroup_attr_hdl_)   & 
    77     ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
    78     , mask_6d_, mask_7d_, name_ ) 
     83    ( gridgroup_hdl, comment_, description_, group_ref_, mask_0d_, mask_1d_, mask_2d_, mask_3d_  & 
     84    , mask_4d_, mask_5d_, mask_6d_, mask_7d_, name_ ) 
    7985 
    8086    IMPLICIT NONE 
    8187      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     88      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    8289      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 
    8390      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 
     91      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_0d_(:) 
     92      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:) 
    8493      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:) 
    8594      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     
    98107      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    99108 
     109      IF (PRESENT(comment_)) THEN 
     110        CALL cxios_set_gridgroup_comment & 
     111      (gridgroup_hdl%daddr, comment_, len(comment_)) 
     112      ENDIF 
     113 
    100114      IF (PRESENT(description_)) THEN 
    101115        CALL cxios_set_gridgroup_description & 
     
    106120        CALL cxios_set_gridgroup_group_ref & 
    107121      (gridgroup_hdl%daddr, group_ref_, len(group_ref_)) 
     122      ENDIF 
     123 
     124      IF (PRESENT(mask_0d_)) THEN 
     125        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1))) 
     126        mask_0d__tmp = mask_0d_ 
     127        CALL cxios_set_gridgroup_mask_0d & 
     128      (gridgroup_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
    108129      ENDIF 
    109130 
     
    170191 
    171192  SUBROUTINE xios(get_gridgroup_attr)  & 
    172     ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    173     , mask_7d, name ) 
     193    ( gridgroup_id, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     194    , mask_5d, mask_6d, mask_7d, name ) 
    174195 
    175196    IMPLICIT NONE 
    176197      TYPE(txios(gridgroup))  :: gridgroup_hdl 
    177198      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 
     199      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    178200      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
    179201      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
     202      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:) 
     203      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    180204      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
    181205      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    197221      (gridgroup_id,gridgroup_hdl) 
    198222      CALL xios(get_gridgroup_attr_hdl_)   & 
    199       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    200       , mask_7d, name ) 
     223      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     224      , mask_5d, mask_6d, mask_7d, name ) 
    201225 
    202226  END SUBROUTINE xios(get_gridgroup_attr) 
    203227 
    204228  SUBROUTINE xios(get_gridgroup_attr_hdl)  & 
    205     ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    206     , mask_7d, name ) 
     229    ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     230    , mask_5d, mask_6d, mask_7d, name ) 
    207231 
    208232    IMPLICIT NONE 
    209233      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     234      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    210235      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
    211236      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
     237      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d(:) 
     238      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d_tmp(:) 
    212239      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
    213240      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     
    227254 
    228255      CALL xios(get_gridgroup_attr_hdl_)  & 
    229       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    230       , mask_7d, name ) 
     256      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     257      , mask_5d, mask_6d, mask_7d, name ) 
    231258 
    232259  END SUBROUTINE xios(get_gridgroup_attr_hdl) 
    233260 
    234261  SUBROUTINE xios(get_gridgroup_attr_hdl_)   & 
    235     ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
    236     , mask_6d_, mask_7d_, name_ ) 
     262    ( gridgroup_hdl, comment_, description_, group_ref_, mask_0d_, mask_1d_, mask_2d_, mask_3d_  & 
     263    , mask_4d_, mask_5d_, mask_6d_, mask_7d_, name_ ) 
    237264 
    238265    IMPLICIT NONE 
    239266      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     267      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    240268      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 
    241269      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 
     270      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_0d_(:) 
     271      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_0d__tmp(:) 
    242272      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:) 
    243273      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     
    256286      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    257287 
     288      IF (PRESENT(comment_)) THEN 
     289        CALL cxios_get_gridgroup_comment & 
     290      (gridgroup_hdl%daddr, comment_, len(comment_)) 
     291      ENDIF 
     292 
    258293      IF (PRESENT(description_)) THEN 
    259294        CALL cxios_get_gridgroup_description & 
     
    264299        CALL cxios_get_gridgroup_group_ref & 
    265300      (gridgroup_hdl%daddr, group_ref_, len(group_ref_)) 
     301      ENDIF 
     302 
     303      IF (PRESENT(mask_0d_)) THEN 
     304        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1))) 
     305        CALL cxios_get_gridgroup_mask_0d & 
     306      (gridgroup_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
     307        mask_0d_ = mask_0d__tmp 
    266308      ENDIF 
    267309 
     
    328370 
    329371  SUBROUTINE xios(is_defined_gridgroup_attr)  & 
    330     ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    331     , mask_7d, name ) 
     372    ( gridgroup_id, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     373    , mask_5d, mask_6d, mask_7d, name ) 
    332374 
    333375    IMPLICIT NONE 
    334376      TYPE(txios(gridgroup))  :: gridgroup_hdl 
    335377      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 
     378      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     379      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    336380      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    337381      LOGICAL(KIND=C_BOOL) :: description_tmp 
    338382      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    339383      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     384      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d 
     385      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp 
    340386      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
    341387      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     
    358404      (gridgroup_id,gridgroup_hdl) 
    359405      CALL xios(is_defined_gridgroup_attr_hdl_)   & 
    360       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    361       , mask_7d, name ) 
     406      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     407      , mask_5d, mask_6d, mask_7d, name ) 
    362408 
    363409  END SUBROUTINE xios(is_defined_gridgroup_attr) 
    364410 
    365411  SUBROUTINE xios(is_defined_gridgroup_attr_hdl)  & 
    366     ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    367     , mask_7d, name ) 
     412    ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     413    , mask_5d, mask_6d, mask_7d, name ) 
    368414 
    369415    IMPLICIT NONE 
    370416      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     417      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     418      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    371419      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    372420      LOGICAL(KIND=C_BOOL) :: description_tmp 
    373421      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    374422      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     423      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d 
     424      LOGICAL(KIND=C_BOOL) :: mask_0d_tmp 
    375425      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
    376426      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     
    391441 
    392442      CALL xios(is_defined_gridgroup_attr_hdl_)  & 
    393       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
    394       , mask_7d, name ) 
     443      ( gridgroup_hdl, comment, description, group_ref, mask_0d, mask_1d, mask_2d, mask_3d, mask_4d  & 
     444      , mask_5d, mask_6d, mask_7d, name ) 
    395445 
    396446  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 
    397447 
    398448  SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)   & 
    399     ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
    400     , mask_6d_, mask_7d_, name_ ) 
     449    ( gridgroup_hdl, comment_, description_, group_ref_, mask_0d_, mask_1d_, mask_2d_, mask_3d_  & 
     450    , mask_4d_, mask_5d_, mask_6d_, mask_7d_, name_ ) 
    401451 
    402452    IMPLICIT NONE 
    403453      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     454      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     455      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    404456      LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 
    405457      LOGICAL(KIND=C_BOOL) :: description__tmp 
    406458      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 
    407459      LOGICAL(KIND=C_BOOL) :: group_ref__tmp 
     460      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_0d_ 
     461      LOGICAL(KIND=C_BOOL) :: mask_0d__tmp 
    408462      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_ 
    409463      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp 
     
    423477      LOGICAL(KIND=C_BOOL) :: name__tmp 
    424478 
     479      IF (PRESENT(comment_)) THEN 
     480        comment__tmp = cxios_is_defined_gridgroup_comment & 
     481      (gridgroup_hdl%daddr) 
     482        comment_ = comment__tmp 
     483      ENDIF 
     484 
    425485      IF (PRESENT(description_)) THEN 
    426486        description__tmp = cxios_is_defined_gridgroup_description & 
     
    435495      ENDIF 
    436496 
     497      IF (PRESENT(mask_0d_)) THEN 
     498        mask_0d__tmp = cxios_is_defined_gridgroup_mask_0d & 
     499      (gridgroup_hdl%daddr) 
     500        mask_0d_ = mask_0d__tmp 
     501      ENDIF 
     502 
    437503      IF (PRESENT(mask_1d_)) THEN 
    438504        mask_1d__tmp = cxios_is_defined_gridgroup_mask_1d & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/iinterpolate_domain_attr.F90

    r1201 r1492  
    1212 
    1313  SUBROUTINE xios(set_interpolate_domain_attr)  & 
    14     ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight ) 
     14    ( interpolate_domain_id, detect_missing_value, mode, order, quantity, read_write_convention  & 
     15    , renormalize, weight_filename, write_weight ) 
    1516 
    1617    IMPLICIT NONE 
    1718      TYPE(txios(interpolate_domain))  :: interpolate_domain_hdl 
    1819      CHARACTER(LEN=*), INTENT(IN) ::interpolate_domain_id 
     20      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value 
     21      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    1922      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode 
    2023      INTEGER  , OPTIONAL, INTENT(IN) :: order 
    2124      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity 
    2225      LOGICAL (KIND=C_BOOL) :: quantity_tmp 
     26      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: read_write_convention 
    2327      LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize 
    2428      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     
    3034      (interpolate_domain_id,interpolate_domain_hdl) 
    3135      CALL xios(set_interpolate_domain_attr_hdl_)   & 
    32       ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    33       ) 
     36      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     37      , renormalize, weight_filename, write_weight ) 
    3438 
    3539  END SUBROUTINE xios(set_interpolate_domain_attr) 
    3640 
    3741  SUBROUTINE xios(set_interpolate_domain_attr_hdl)  & 
    38     ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    39      ) 
    40  
    41     IMPLICIT NONE 
    42       TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     42    ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     43    , renormalize, weight_filename, write_weight ) 
     44 
     45    IMPLICIT NONE 
     46      TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     47      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value 
     48      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    4349      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode 
    4450      INTEGER  , OPTIONAL, INTENT(IN) :: order 
    4551      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity 
    4652      LOGICAL (KIND=C_BOOL) :: quantity_tmp 
     53      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: read_write_convention 
    4754      LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize 
    4855      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     
    5259 
    5360      CALL xios(set_interpolate_domain_attr_hdl_)  & 
    54       ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    55       ) 
     61      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     62      , renormalize, weight_filename, write_weight ) 
    5663 
    5764  END SUBROUTINE xios(set_interpolate_domain_attr_hdl) 
    5865 
    5966  SUBROUTINE xios(set_interpolate_domain_attr_hdl_)   & 
    60     ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  & 
    61      ) 
    62  
    63     IMPLICIT NONE 
    64       TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     67    ( interpolate_domain_hdl, detect_missing_value_, mode_, order_, quantity_, read_write_convention_  & 
     68    , renormalize_, weight_filename_, write_weight_ ) 
     69 
     70    IMPLICIT NONE 
     71      TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     72      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value_ 
     73      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp 
    6574      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode_ 
    6675      INTEGER  , OPTIONAL, INTENT(IN) :: order_ 
    6776      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity_ 
    6877      LOGICAL (KIND=C_BOOL) :: quantity__tmp 
     78      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: read_write_convention_ 
    6979      LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize_ 
    7080      LOGICAL (KIND=C_BOOL) :: renormalize__tmp 
     
    7383      LOGICAL (KIND=C_BOOL) :: write_weight__tmp 
    7484 
     85      IF (PRESENT(detect_missing_value_)) THEN 
     86        detect_missing_value__tmp = detect_missing_value_ 
     87        CALL cxios_set_interpolate_domain_detect_missing_value & 
     88      (interpolate_domain_hdl%daddr, detect_missing_value__tmp) 
     89      ENDIF 
     90 
    7591      IF (PRESENT(mode_)) THEN 
    7692        CALL cxios_set_interpolate_domain_mode & 
     
    89105      ENDIF 
    90106 
     107      IF (PRESENT(read_write_convention_)) THEN 
     108        CALL cxios_set_interpolate_domain_read_write_convention & 
     109      (interpolate_domain_hdl%daddr, read_write_convention_, len(read_write_convention_)) 
     110      ENDIF 
     111 
    91112      IF (PRESENT(renormalize_)) THEN 
    92113        renormalize__tmp = renormalize_ 
     
    109130 
    110131  SUBROUTINE xios(get_interpolate_domain_attr)  & 
    111     ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight ) 
     132    ( interpolate_domain_id, detect_missing_value, mode, order, quantity, read_write_convention  & 
     133    , renormalize, weight_filename, write_weight ) 
    112134 
    113135    IMPLICIT NONE 
    114136      TYPE(txios(interpolate_domain))  :: interpolate_domain_hdl 
    115137      CHARACTER(LEN=*), INTENT(IN) ::interpolate_domain_id 
     138      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value 
     139      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    116140      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode 
    117141      INTEGER  , OPTIONAL, INTENT(OUT) :: order 
    118142      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity 
    119143      LOGICAL (KIND=C_BOOL) :: quantity_tmp 
     144      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: read_write_convention 
    120145      LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize 
    121146      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     
    127152      (interpolate_domain_id,interpolate_domain_hdl) 
    128153      CALL xios(get_interpolate_domain_attr_hdl_)   & 
    129       ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    130       ) 
     154      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     155      , renormalize, weight_filename, write_weight ) 
    131156 
    132157  END SUBROUTINE xios(get_interpolate_domain_attr) 
    133158 
    134159  SUBROUTINE xios(get_interpolate_domain_attr_hdl)  & 
    135     ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    136      ) 
    137  
    138     IMPLICIT NONE 
    139       TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     160    ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     161    , renormalize, weight_filename, write_weight ) 
     162 
     163    IMPLICIT NONE 
     164      TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     165      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value 
     166      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp 
    140167      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode 
    141168      INTEGER  , OPTIONAL, INTENT(OUT) :: order 
    142169      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity 
    143170      LOGICAL (KIND=C_BOOL) :: quantity_tmp 
     171      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: read_write_convention 
    144172      LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize 
    145173      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     
    149177 
    150178      CALL xios(get_interpolate_domain_attr_hdl_)  & 
    151       ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    152       ) 
     179      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     180      , renormalize, weight_filename, write_weight ) 
    153181 
    154182  END SUBROUTINE xios(get_interpolate_domain_attr_hdl) 
    155183 
    156184  SUBROUTINE xios(get_interpolate_domain_attr_hdl_)   & 
    157     ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  & 
    158      ) 
    159  
    160     IMPLICIT NONE 
    161       TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     185    ( interpolate_domain_hdl, detect_missing_value_, mode_, order_, quantity_, read_write_convention_  & 
     186    , renormalize_, weight_filename_, write_weight_ ) 
     187 
     188    IMPLICIT NONE 
     189      TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     190      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value_ 
     191      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp 
    162192      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode_ 
    163193      INTEGER  , OPTIONAL, INTENT(OUT) :: order_ 
    164194      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity_ 
    165195      LOGICAL (KIND=C_BOOL) :: quantity__tmp 
     196      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: read_write_convention_ 
    166197      LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize_ 
    167198      LOGICAL (KIND=C_BOOL) :: renormalize__tmp 
     
    170201      LOGICAL (KIND=C_BOOL) :: write_weight__tmp 
    171202 
     203      IF (PRESENT(detect_missing_value_)) THEN 
     204        CALL cxios_get_interpolate_domain_detect_missing_value & 
     205      (interpolate_domain_hdl%daddr, detect_missing_value__tmp) 
     206        detect_missing_value_ = detect_missing_value__tmp 
     207      ENDIF 
     208 
    172209      IF (PRESENT(mode_)) THEN 
    173210        CALL cxios_get_interpolate_domain_mode & 
     
    186223      ENDIF 
    187224 
     225      IF (PRESENT(read_write_convention_)) THEN 
     226        CALL cxios_get_interpolate_domain_read_write_convention & 
     227      (interpolate_domain_hdl%daddr, read_write_convention_, len(read_write_convention_)) 
     228      ENDIF 
     229 
    188230      IF (PRESENT(renormalize_)) THEN 
    189231        CALL cxios_get_interpolate_domain_renormalize & 
     
    206248 
    207249  SUBROUTINE xios(is_defined_interpolate_domain_attr)  & 
    208     ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight ) 
     250    ( interpolate_domain_id, detect_missing_value, mode, order, quantity, read_write_convention  & 
     251    , renormalize, weight_filename, write_weight ) 
    209252 
    210253    IMPLICIT NONE 
    211254      TYPE(txios(interpolate_domain))  :: interpolate_domain_hdl 
    212255      CHARACTER(LEN=*), INTENT(IN) ::interpolate_domain_id 
     256      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 
     257      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp 
    213258      LOGICAL, OPTIONAL, INTENT(OUT) :: mode 
    214259      LOGICAL(KIND=C_BOOL) :: mode_tmp 
     
    217262      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity 
    218263      LOGICAL(KIND=C_BOOL) :: quantity_tmp 
     264      LOGICAL, OPTIONAL, INTENT(OUT) :: read_write_convention 
     265      LOGICAL(KIND=C_BOOL) :: read_write_convention_tmp 
    219266      LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize 
    220267      LOGICAL(KIND=C_BOOL) :: renormalize_tmp 
     
    227274      (interpolate_domain_id,interpolate_domain_hdl) 
    228275      CALL xios(is_defined_interpolate_domain_attr_hdl_)   & 
    229       ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    230       ) 
     276      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     277      , renormalize, weight_filename, write_weight ) 
    231278 
    232279  END SUBROUTINE xios(is_defined_interpolate_domain_attr) 
    233280 
    234281  SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl)  & 
    235     ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    236      ) 
    237  
    238     IMPLICIT NONE 
    239       TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     282    ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     283    , renormalize, weight_filename, write_weight ) 
     284 
     285    IMPLICIT NONE 
     286      TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     287      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 
     288      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp 
    240289      LOGICAL, OPTIONAL, INTENT(OUT) :: mode 
    241290      LOGICAL(KIND=C_BOOL) :: mode_tmp 
     
    244293      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity 
    245294      LOGICAL(KIND=C_BOOL) :: quantity_tmp 
     295      LOGICAL, OPTIONAL, INTENT(OUT) :: read_write_convention 
     296      LOGICAL(KIND=C_BOOL) :: read_write_convention_tmp 
    246297      LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize 
    247298      LOGICAL(KIND=C_BOOL) :: renormalize_tmp 
     
    252303 
    253304      CALL xios(is_defined_interpolate_domain_attr_hdl_)  & 
    254       ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  & 
    255       ) 
     305      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
     306      , renormalize, weight_filename, write_weight ) 
    256307 
    257308  END SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl) 
    258309 
    259310  SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl_)   & 
    260     ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  & 
    261      ) 
    262  
    263     IMPLICIT NONE 
    264       TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     311    ( interpolate_domain_hdl, detect_missing_value_, mode_, order_, quantity_, read_write_convention_  & 
     312    , renormalize_, weight_filename_, write_weight_ ) 
     313 
     314    IMPLICIT NONE 
     315      TYPE(txios(interpolate_domain)) , INTENT(IN) :: interpolate_domain_hdl 
     316      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value_ 
     317      LOGICAL(KIND=C_BOOL) :: detect_missing_value__tmp 
    265318      LOGICAL, OPTIONAL, INTENT(OUT) :: mode_ 
    266319      LOGICAL(KIND=C_BOOL) :: mode__tmp 
     
    269322      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity_ 
    270323      LOGICAL(KIND=C_BOOL) :: quantity__tmp 
     324      LOGICAL, OPTIONAL, INTENT(OUT) :: read_write_convention_ 
     325      LOGICAL(KIND=C_BOOL) :: read_write_convention__tmp 
    271326      LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize_ 
    272327      LOGICAL(KIND=C_BOOL) :: renormalize__tmp 
     
    276331      LOGICAL(KIND=C_BOOL) :: write_weight__tmp 
    277332 
     333      IF (PRESENT(detect_missing_value_)) THEN 
     334        detect_missing_value__tmp = cxios_is_defined_interpolate_domain_detect_missing_value & 
     335      (interpolate_domain_hdl%daddr) 
     336        detect_missing_value_ = detect_missing_value__tmp 
     337      ENDIF 
     338 
    278339      IF (PRESENT(mode_)) THEN 
    279340        mode__tmp = cxios_is_defined_interpolate_domain_mode & 
     
    294355      ENDIF 
    295356 
     357      IF (PRESENT(read_write_convention_)) THEN 
     358        read_write_convention__tmp = cxios_is_defined_interpolate_domain_read_write_convention & 
     359      (interpolate_domain_hdl%daddr) 
     360        read_write_convention_ = read_write_convention__tmp 
     361      ENDIF 
     362 
    296363      IF (PRESENT(renormalize_)) THEN 
    297364        renormalize__tmp = cxios_is_defined_interpolate_domain_renormalize & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/interpolate_domain_interface_attr.F90

    r1201 r1492  
    99  INTERFACE 
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
     11 
     12    SUBROUTINE cxios_set_interpolate_domain_detect_missing_value(interpolate_domain_hdl, detect_missing_value) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     15      LOGICAL (KIND=C_BOOL)      , VALUE :: detect_missing_value 
     16    END SUBROUTINE cxios_set_interpolate_domain_detect_missing_value 
     17 
     18    SUBROUTINE cxios_get_interpolate_domain_detect_missing_value(interpolate_domain_hdl, detect_missing_value) BIND(C) 
     19      USE ISO_C_BINDING 
     20      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     21      LOGICAL (KIND=C_BOOL)             :: detect_missing_value 
     22    END SUBROUTINE cxios_get_interpolate_domain_detect_missing_value 
     23 
     24    FUNCTION cxios_is_defined_interpolate_domain_detect_missing_value(interpolate_domain_hdl) BIND(C) 
     25      USE ISO_C_BINDING 
     26      LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_domain_detect_missing_value 
     27      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     28    END FUNCTION cxios_is_defined_interpolate_domain_detect_missing_value 
     29 
    1130 
    1231    SUBROUTINE cxios_set_interpolate_domain_mode(interpolate_domain_hdl, mode, mode_size) BIND(C) 
     
    6786      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
    6887    END FUNCTION cxios_is_defined_interpolate_domain_quantity 
     88 
     89 
     90    SUBROUTINE cxios_set_interpolate_domain_read_write_convention(interpolate_domain_hdl, read_write_convention, read_write_convention_size) BIND(C) 
     91      USE ISO_C_BINDING 
     92      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     93      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: read_write_convention 
     94      INTEGER  (kind = C_INT)     , VALUE        :: read_write_convention_size 
     95    END SUBROUTINE cxios_set_interpolate_domain_read_write_convention 
     96 
     97    SUBROUTINE cxios_get_interpolate_domain_read_write_convention(interpolate_domain_hdl, read_write_convention, read_write_convention_size) BIND(C) 
     98      USE ISO_C_BINDING 
     99      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     100      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: read_write_convention 
     101      INTEGER  (kind = C_INT)     , VALUE        :: read_write_convention_size 
     102    END SUBROUTINE cxios_get_interpolate_domain_read_write_convention 
     103 
     104    FUNCTION cxios_is_defined_interpolate_domain_read_write_convention(interpolate_domain_hdl) BIND(C) 
     105      USE ISO_C_BINDING 
     106      LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_domain_read_write_convention 
     107      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     108    END FUNCTION cxios_is_defined_interpolate_domain_read_write_convention 
    69109 
    70110 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/ireduce_domain_to_axis_attr.F90

    r981 r1492  
    1212 
    1313  SUBROUTINE xios(set_reduce_domain_to_axis_attr)  & 
    14     ( reduce_domain_to_axis_id, direction, operation ) 
     14    ( reduce_domain_to_axis_id, direction, local, operation ) 
    1515 
    1616    IMPLICIT NONE 
     
    1818      CHARACTER(LEN=*), INTENT(IN) ::reduce_domain_to_axis_id 
    1919      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: direction 
     20      LOGICAL  , OPTIONAL, INTENT(IN) :: local 
     21      LOGICAL (KIND=C_BOOL) :: local_tmp 
    2022      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation 
    2123 
     
    2325      (reduce_domain_to_axis_id,reduce_domain_to_axis_hdl) 
    2426      CALL xios(set_reduce_domain_to_axis_attr_hdl_)   & 
    25       ( reduce_domain_to_axis_hdl, direction, operation ) 
     27      ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    2628 
    2729  END SUBROUTINE xios(set_reduce_domain_to_axis_attr) 
    2830 
    2931  SUBROUTINE xios(set_reduce_domain_to_axis_attr_hdl)  & 
    30     ( reduce_domain_to_axis_hdl, direction, operation ) 
     32    ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    3133 
    3234    IMPLICIT NONE 
    3335      TYPE(txios(reduce_domain_to_axis)) , INTENT(IN) :: reduce_domain_to_axis_hdl 
    3436      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: direction 
     37      LOGICAL  , OPTIONAL, INTENT(IN) :: local 
     38      LOGICAL (KIND=C_BOOL) :: local_tmp 
    3539      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation 
    3640 
    3741      CALL xios(set_reduce_domain_to_axis_attr_hdl_)  & 
    38       ( reduce_domain_to_axis_hdl, direction, operation ) 
     42      ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    3943 
    4044  END SUBROUTINE xios(set_reduce_domain_to_axis_attr_hdl) 
    4145 
    4246  SUBROUTINE xios(set_reduce_domain_to_axis_attr_hdl_)   & 
    43     ( reduce_domain_to_axis_hdl, direction_, operation_ ) 
     47    ( reduce_domain_to_axis_hdl, direction_, local_, operation_ ) 
    4448 
    4549    IMPLICIT NONE 
    4650      TYPE(txios(reduce_domain_to_axis)) , INTENT(IN) :: reduce_domain_to_axis_hdl 
    4751      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: direction_ 
     52      LOGICAL  , OPTIONAL, INTENT(IN) :: local_ 
     53      LOGICAL (KIND=C_BOOL) :: local__tmp 
    4854      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_ 
    4955 
     
    5359      ENDIF 
    5460 
     61      IF (PRESENT(local_)) THEN 
     62        local__tmp = local_ 
     63        CALL cxios_set_reduce_domain_to_axis_local & 
     64      (reduce_domain_to_axis_hdl%daddr, local__tmp) 
     65      ENDIF 
     66 
    5567      IF (PRESENT(operation_)) THEN 
    5668        CALL cxios_set_reduce_domain_to_axis_operation & 
     
    6173 
    6274  SUBROUTINE xios(get_reduce_domain_to_axis_attr)  & 
    63     ( reduce_domain_to_axis_id, direction, operation ) 
     75    ( reduce_domain_to_axis_id, direction, local, operation ) 
    6476 
    6577    IMPLICIT NONE 
     
    6779      CHARACTER(LEN=*), INTENT(IN) ::reduce_domain_to_axis_id 
    6880      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: direction 
     81      LOGICAL  , OPTIONAL, INTENT(OUT) :: local 
     82      LOGICAL (KIND=C_BOOL) :: local_tmp 
    6983      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation 
    7084 
     
    7286      (reduce_domain_to_axis_id,reduce_domain_to_axis_hdl) 
    7387      CALL xios(get_reduce_domain_to_axis_attr_hdl_)   & 
    74       ( reduce_domain_to_axis_hdl, direction, operation ) 
     88      ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    7589 
    7690  END SUBROUTINE xios(get_reduce_domain_to_axis_attr) 
    7791 
    7892  SUBROUTINE xios(get_reduce_domain_to_axis_attr_hdl)  & 
    79     ( reduce_domain_to_axis_hdl, direction, operation ) 
     93    ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    8094 
    8195    IMPLICIT NONE 
    8296      TYPE(txios(reduce_domain_to_axis)) , INTENT(IN) :: reduce_domain_to_axis_hdl 
    8397      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: direction 
     98      LOGICAL  , OPTIONAL, INTENT(OUT) :: local 
     99      LOGICAL (KIND=C_BOOL) :: local_tmp 
    84100      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation 
    85101 
    86102      CALL xios(get_reduce_domain_to_axis_attr_hdl_)  & 
    87       ( reduce_domain_to_axis_hdl, direction, operation ) 
     103      ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    88104 
    89105  END SUBROUTINE xios(get_reduce_domain_to_axis_attr_hdl) 
    90106 
    91107  SUBROUTINE xios(get_reduce_domain_to_axis_attr_hdl_)   & 
    92     ( reduce_domain_to_axis_hdl, direction_, operation_ ) 
     108    ( reduce_domain_to_axis_hdl, direction_, local_, operation_ ) 
    93109 
    94110    IMPLICIT NONE 
    95111      TYPE(txios(reduce_domain_to_axis)) , INTENT(IN) :: reduce_domain_to_axis_hdl 
    96112      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: direction_ 
     113      LOGICAL  , OPTIONAL, INTENT(OUT) :: local_ 
     114      LOGICAL (KIND=C_BOOL) :: local__tmp 
    97115      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation_ 
    98116 
     
    102120      ENDIF 
    103121 
     122      IF (PRESENT(local_)) THEN 
     123        CALL cxios_get_reduce_domain_to_axis_local & 
     124      (reduce_domain_to_axis_hdl%daddr, local__tmp) 
     125        local_ = local__tmp 
     126      ENDIF 
     127 
    104128      IF (PRESENT(operation_)) THEN 
    105129        CALL cxios_get_reduce_domain_to_axis_operation & 
     
    110134 
    111135  SUBROUTINE xios(is_defined_reduce_domain_to_axis_attr)  & 
    112     ( reduce_domain_to_axis_id, direction, operation ) 
     136    ( reduce_domain_to_axis_id, direction, local, operation ) 
    113137 
    114138    IMPLICIT NONE 
     
    117141      LOGICAL, OPTIONAL, INTENT(OUT) :: direction 
    118142      LOGICAL(KIND=C_BOOL) :: direction_tmp 
     143      LOGICAL, OPTIONAL, INTENT(OUT) :: local 
     144      LOGICAL(KIND=C_BOOL) :: local_tmp 
    119145      LOGICAL, OPTIONAL, INTENT(OUT) :: operation 
    120146      LOGICAL(KIND=C_BOOL) :: operation_tmp 
     
    123149      (reduce_domain_to_axis_id,reduce_domain_to_axis_hdl) 
    124150      CALL xios(is_defined_reduce_domain_to_axis_attr_hdl_)   & 
    125       ( reduce_domain_to_axis_hdl, direction, operation ) 
     151      ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    126152 
    127153  END SUBROUTINE xios(is_defined_reduce_domain_to_axis_attr) 
    128154 
    129155  SUBROUTINE xios(is_defined_reduce_domain_to_axis_attr_hdl)  & 
    130     ( reduce_domain_to_axis_hdl, direction, operation ) 
     156    ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    131157 
    132158    IMPLICIT NONE 
     
    134160      LOGICAL, OPTIONAL, INTENT(OUT) :: direction 
    135161      LOGICAL(KIND=C_BOOL) :: direction_tmp 
     162      LOGICAL, OPTIONAL, INTENT(OUT) :: local 
     163      LOGICAL(KIND=C_BOOL) :: local_tmp 
    136164      LOGICAL, OPTIONAL, INTENT(OUT) :: operation 
    137165      LOGICAL(KIND=C_BOOL) :: operation_tmp 
    138166 
    139167      CALL xios(is_defined_reduce_domain_to_axis_attr_hdl_)  & 
    140       ( reduce_domain_to_axis_hdl, direction, operation ) 
     168      ( reduce_domain_to_axis_hdl, direction, local, operation ) 
    141169 
    142170  END SUBROUTINE xios(is_defined_reduce_domain_to_axis_attr_hdl) 
    143171 
    144172  SUBROUTINE xios(is_defined_reduce_domain_to_axis_attr_hdl_)   & 
    145     ( reduce_domain_to_axis_hdl, direction_, operation_ ) 
     173    ( reduce_domain_to_axis_hdl, direction_, local_, operation_ ) 
    146174 
    147175    IMPLICIT NONE 
     
    149177      LOGICAL, OPTIONAL, INTENT(OUT) :: direction_ 
    150178      LOGICAL(KIND=C_BOOL) :: direction__tmp 
     179      LOGICAL, OPTIONAL, INTENT(OUT) :: local_ 
     180      LOGICAL(KIND=C_BOOL) :: local__tmp 
    151181      LOGICAL, OPTIONAL, INTENT(OUT) :: operation_ 
    152182      LOGICAL(KIND=C_BOOL) :: operation__tmp 
     
    158188      ENDIF 
    159189 
     190      IF (PRESENT(local_)) THEN 
     191        local__tmp = cxios_is_defined_reduce_domain_to_axis_local & 
     192      (reduce_domain_to_axis_hdl%daddr) 
     193        local_ = local__tmp 
     194      ENDIF 
     195 
    160196      IF (PRESENT(operation_)) THEN 
    161197        operation__tmp = cxios_is_defined_reduce_domain_to_axis_operation & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/ireduce_domain_to_scalar_attr.F90

    r981 r1492  
    1212 
    1313  SUBROUTINE xios(set_reduce_domain_to_scalar_attr)  & 
    14     ( reduce_domain_to_scalar_id, operation ) 
     14    ( reduce_domain_to_scalar_id, local, operation ) 
    1515 
    1616    IMPLICIT NONE 
    1717      TYPE(txios(reduce_domain_to_scalar))  :: reduce_domain_to_scalar_hdl 
    1818      CHARACTER(LEN=*), INTENT(IN) ::reduce_domain_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_domain_to_scalar_id,reduce_domain_to_scalar_hdl) 
    2325      CALL xios(set_reduce_domain_to_scalar_attr_hdl_)   & 
    24       ( reduce_domain_to_scalar_hdl, operation ) 
     26      ( reduce_domain_to_scalar_hdl, local, operation ) 
    2527 
    2628  END SUBROUTINE xios(set_reduce_domain_to_scalar_attr) 
    2729 
    2830  SUBROUTINE xios(set_reduce_domain_to_scalar_attr_hdl)  & 
    29     ( reduce_domain_to_scalar_hdl, operation ) 
     31    ( reduce_domain_to_scalar_hdl, local, operation ) 
    3032 
    3133    IMPLICIT NONE 
    3234      TYPE(txios(reduce_domain_to_scalar)) , INTENT(IN) :: reduce_domain_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_domain_to_scalar_attr_hdl_)  & 
    36       ( reduce_domain_to_scalar_hdl, operation ) 
     40      ( reduce_domain_to_scalar_hdl, local, operation ) 
    3741 
    3842  END SUBROUTINE xios(set_reduce_domain_to_scalar_attr_hdl) 
    3943 
    4044  SUBROUTINE xios(set_reduce_domain_to_scalar_attr_hdl_)   & 
    41     ( reduce_domain_to_scalar_hdl, operation_ ) 
     45    ( reduce_domain_to_scalar_hdl, local_, operation_ ) 
    4246 
    4347    IMPLICIT NONE 
    4448      TYPE(txios(reduce_domain_to_scalar)) , INTENT(IN) :: reduce_domain_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_domain_to_scalar_local & 
     56      (reduce_domain_to_scalar_hdl%daddr, local__tmp) 
     57      ENDIF 
    4658 
    4759      IF (PRESENT(operation_)) THEN 
     
    5365 
    5466  SUBROUTINE xios(get_reduce_domain_to_scalar_attr)  & 
    55     ( reduce_domain_to_scalar_id, operation ) 
     67    ( reduce_domain_to_scalar_id, local, operation ) 
    5668 
    5769    IMPLICIT NONE 
    5870      TYPE(txios(reduce_domain_to_scalar))  :: reduce_domain_to_scalar_hdl 
    5971      CHARACTER(LEN=*), INTENT(IN) ::reduce_domain_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_domain_to_scalar_id,reduce_domain_to_scalar_hdl) 
    6478      CALL xios(get_reduce_domain_to_scalar_attr_hdl_)   & 
    65       ( reduce_domain_to_scalar_hdl, operation ) 
     79      ( reduce_domain_to_scalar_hdl, local, operation ) 
    6680 
    6781  END SUBROUTINE xios(get_reduce_domain_to_scalar_attr) 
    6882 
    6983  SUBROUTINE xios(get_reduce_domain_to_scalar_attr_hdl)  & 
    70     ( reduce_domain_to_scalar_hdl, operation ) 
     84    ( reduce_domain_to_scalar_hdl, local, operation ) 
    7185 
    7286    IMPLICIT NONE 
    7387      TYPE(txios(reduce_domain_to_scalar)) , INTENT(IN) :: reduce_domain_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_domain_to_scalar_attr_hdl_)  & 
    77       ( reduce_domain_to_scalar_hdl, operation ) 
     93      ( reduce_domain_to_scalar_hdl, local, operation ) 
    7894 
    7995  END SUBROUTINE xios(get_reduce_domain_to_scalar_attr_hdl) 
    8096 
    8197  SUBROUTINE xios(get_reduce_domain_to_scalar_attr_hdl_)   & 
    82     ( reduce_domain_to_scalar_hdl, operation_ ) 
     98    ( reduce_domain_to_scalar_hdl, local_, operation_ ) 
    8399 
    84100    IMPLICIT NONE 
    85101      TYPE(txios(reduce_domain_to_scalar)) , INTENT(IN) :: reduce_domain_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_domain_to_scalar_local & 
     108      (reduce_domain_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_domain_to_scalar_attr)  & 
    96     ( reduce_domain_to_scalar_id, operation ) 
     120    ( reduce_domain_to_scalar_id, local, operation ) 
    97121 
    98122    IMPLICIT NONE 
    99123      TYPE(txios(reduce_domain_to_scalar))  :: reduce_domain_to_scalar_hdl 
    100124      CHARACTER(LEN=*), INTENT(IN) ::reduce_domain_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_domain_to_scalar_id,reduce_domain_to_scalar_hdl) 
    106132      CALL xios(is_defined_reduce_domain_to_scalar_attr_hdl_)   & 
    107       ( reduce_domain_to_scalar_hdl, operation ) 
     133      ( reduce_domain_to_scalar_hdl, local, operation ) 
    108134 
    109135  END SUBROUTINE xios(is_defined_reduce_domain_to_scalar_attr) 
    110136 
    111137  SUBROUTINE xios(is_defined_reduce_domain_to_scalar_attr_hdl)  & 
    112     ( reduce_domain_to_scalar_hdl, operation ) 
     138    ( reduce_domain_to_scalar_hdl, local, operation ) 
    113139 
    114140    IMPLICIT NONE 
    115141      TYPE(txios(reduce_domain_to_scalar)) , INTENT(IN) :: reduce_domain_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_domain_to_scalar_attr_hdl_)  & 
    120       ( reduce_domain_to_scalar_hdl, operation ) 
     148      ( reduce_domain_to_scalar_hdl, local, operation ) 
    121149 
    122150  END SUBROUTINE xios(is_defined_reduce_domain_to_scalar_attr_hdl) 
    123151 
    124152  SUBROUTINE xios(is_defined_reduce_domain_to_scalar_attr_hdl_)   & 
    125     ( reduce_domain_to_scalar_hdl, operation_ ) 
     153    ( reduce_domain_to_scalar_hdl, local_, operation_ ) 
    126154 
    127155    IMPLICIT NONE 
    128156      TYPE(txios(reduce_domain_to_scalar)) , INTENT(IN) :: reduce_domain_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_domain_to_scalar_local & 
     164      (reduce_domain_to_scalar_hdl%daddr) 
     165        local_ = local__tmp 
     166      ENDIF 
    131167 
    132168      IF (PRESENT(operation_)) THEN 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/iscalar_attr.F90

    r1158 r1492  
    1212 
    1313  SUBROUTINE xios(set_scalar_attr)  & 
    14     ( scalar_id, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     14    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     15    , scalar_ref, standard_name, unit, value ) 
    1516 
    1617    IMPLICIT NONE 
    1718      TYPE(txios(scalar))  :: scalar_hdl 
    1819      CHARACTER(LEN=*), INTENT(IN) ::scalar_id 
     20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
     21      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:) 
     22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
     24      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label 
    1925      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    2026      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
     27      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
    2128      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
    2229      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref 
     
    2835      (scalar_id,scalar_hdl) 
    2936      CALL xios(set_scalar_attr_hdl_)   & 
    30       ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     37      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     38      , scalar_ref, standard_name, unit, value ) 
    3139 
    3240  END SUBROUTINE xios(set_scalar_attr) 
    3341 
    3442  SUBROUTINE xios(set_scalar_attr_hdl)  & 
    35     ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
    36  
    37     IMPLICIT NONE 
    38       TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     43    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     44    , scalar_ref, standard_name, unit, value ) 
     45 
     46    IMPLICIT NONE 
     47      TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     48      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
     49      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:) 
     50      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     51      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
     52      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label 
    3953      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    4054      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
     55      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
    4156      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
    4257      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref 
     
    4661 
    4762      CALL xios(set_scalar_attr_hdl_)  & 
    48       ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     63      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     64      , scalar_ref, standard_name, unit, value ) 
    4965 
    5066  END SUBROUTINE xios(set_scalar_attr_hdl) 
    5167 
    5268  SUBROUTINE xios(set_scalar_attr_hdl_)   & 
    53     ( scalar_hdl, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    54  
    55     IMPLICIT NONE 
    56       TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     69    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, name_, positive_  & 
     70    , prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     71 
     72    IMPLICIT NONE 
     73      TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     74      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type_ 
     75      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_(:) 
     76      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name_ 
     77      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
     78      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label_ 
    5779      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
    5880      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
     81      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive_ 
    5982      INTEGER  , OPTIONAL, INTENT(IN) :: prec_ 
    6083      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref_ 
     
    6386      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value_ 
    6487 
     88      IF (PRESENT(axis_type_)) THEN 
     89        CALL cxios_set_scalar_axis_type & 
     90      (scalar_hdl%daddr, axis_type_, len(axis_type_)) 
     91      ENDIF 
     92 
     93      IF (PRESENT(bounds_)) THEN 
     94        CALL cxios_set_scalar_bounds & 
     95      (scalar_hdl%daddr, bounds_, SHAPE(bounds_)) 
     96      ENDIF 
     97 
     98      IF (PRESENT(bounds_name_)) THEN 
     99        CALL cxios_set_scalar_bounds_name & 
     100      (scalar_hdl%daddr, bounds_name_, len(bounds_name_)) 
     101      ENDIF 
     102 
     103      IF (PRESENT(comment_)) THEN 
     104        CALL cxios_set_scalar_comment & 
     105      (scalar_hdl%daddr, comment_, len(comment_)) 
     106      ENDIF 
     107 
     108      IF (PRESENT(label_)) THEN 
     109        CALL cxios_set_scalar_label & 
     110      (scalar_hdl%daddr, label_, len(label_)) 
     111      ENDIF 
     112 
    65113      IF (PRESENT(long_name_)) THEN 
    66114        CALL cxios_set_scalar_long_name & 
     
    73121      ENDIF 
    74122 
     123      IF (PRESENT(positive_)) THEN 
     124        CALL cxios_set_scalar_positive & 
     125      (scalar_hdl%daddr, positive_, len(positive_)) 
     126      ENDIF 
     127 
    75128      IF (PRESENT(prec_)) THEN 
    76129        CALL cxios_set_scalar_prec & 
     
    101154 
    102155  SUBROUTINE xios(get_scalar_attr)  & 
    103     ( scalar_id, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     156    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     157    , scalar_ref, standard_name, unit, value ) 
    104158 
    105159    IMPLICIT NONE 
    106160      TYPE(txios(scalar))  :: scalar_hdl 
    107161      CHARACTER(LEN=*), INTENT(IN) ::scalar_id 
     162      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
     163      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:) 
     164      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     165      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
     166      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label 
    108167      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    109168      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
     169      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
    110170      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
    111171      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref 
     
    117177      (scalar_id,scalar_hdl) 
    118178      CALL xios(get_scalar_attr_hdl_)   & 
    119       ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     179      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     180      , scalar_ref, standard_name, unit, value ) 
    120181 
    121182  END SUBROUTINE xios(get_scalar_attr) 
    122183 
    123184  SUBROUTINE xios(get_scalar_attr_hdl)  & 
    124     ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
    125  
    126     IMPLICIT NONE 
    127       TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     185    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     186    , scalar_ref, standard_name, unit, value ) 
     187 
     188    IMPLICIT NONE 
     189      TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     190      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
     191      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:) 
     192      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     193      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
     194      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label 
    128195      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    129196      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
     197      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
    130198      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
    131199      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref 
     
    135203 
    136204      CALL xios(get_scalar_attr_hdl_)  & 
    137       ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     205      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     206      , scalar_ref, standard_name, unit, value ) 
    138207 
    139208  END SUBROUTINE xios(get_scalar_attr_hdl) 
    140209 
    141210  SUBROUTINE xios(get_scalar_attr_hdl_)   & 
    142     ( scalar_hdl, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    143  
    144     IMPLICIT NONE 
    145       TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     211    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, name_, positive_  & 
     212    , prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     213 
     214    IMPLICIT NONE 
     215      TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     216      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type_ 
     217      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_(:) 
     218      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name_ 
     219      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
     220      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label_ 
    146221      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
    147222      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
     223      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive_ 
    148224      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_ 
    149225      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref_ 
     
    152228      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value_ 
    153229 
     230      IF (PRESENT(axis_type_)) THEN 
     231        CALL cxios_get_scalar_axis_type & 
     232      (scalar_hdl%daddr, axis_type_, len(axis_type_)) 
     233      ENDIF 
     234 
     235      IF (PRESENT(bounds_)) THEN 
     236        CALL cxios_get_scalar_bounds & 
     237      (scalar_hdl%daddr, bounds_, SHAPE(bounds_)) 
     238      ENDIF 
     239 
     240      IF (PRESENT(bounds_name_)) THEN 
     241        CALL cxios_get_scalar_bounds_name & 
     242      (scalar_hdl%daddr, bounds_name_, len(bounds_name_)) 
     243      ENDIF 
     244 
     245      IF (PRESENT(comment_)) THEN 
     246        CALL cxios_get_scalar_comment & 
     247      (scalar_hdl%daddr, comment_, len(comment_)) 
     248      ENDIF 
     249 
     250      IF (PRESENT(label_)) THEN 
     251        CALL cxios_get_scalar_label & 
     252      (scalar_hdl%daddr, label_, len(label_)) 
     253      ENDIF 
     254 
    154255      IF (PRESENT(long_name_)) THEN 
    155256        CALL cxios_get_scalar_long_name & 
     
    162263      ENDIF 
    163264 
     265      IF (PRESENT(positive_)) THEN 
     266        CALL cxios_get_scalar_positive & 
     267      (scalar_hdl%daddr, positive_, len(positive_)) 
     268      ENDIF 
     269 
    164270      IF (PRESENT(prec_)) THEN 
    165271        CALL cxios_get_scalar_prec & 
     
    190296 
    191297  SUBROUTINE xios(is_defined_scalar_attr)  & 
    192     ( scalar_id, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     298    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     299    , scalar_ref, standard_name, unit, value ) 
    193300 
    194301    IMPLICIT NONE 
    195302      TYPE(txios(scalar))  :: scalar_hdl 
    196303      CHARACTER(LEN=*), INTENT(IN) ::scalar_id 
     304      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     305      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
     306      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
     307      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     308      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     309      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     310      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     311      LOGICAL(KIND=C_BOOL) :: comment_tmp 
     312      LOGICAL, OPTIONAL, INTENT(OUT) :: label 
     313      LOGICAL(KIND=C_BOOL) :: label_tmp 
    197314      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    198315      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    199316      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    200317      LOGICAL(KIND=C_BOOL) :: name_tmp 
     318      LOGICAL, OPTIONAL, INTENT(OUT) :: positive 
     319      LOGICAL(KIND=C_BOOL) :: positive_tmp 
    201320      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    202321      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     
    213332      (scalar_id,scalar_hdl) 
    214333      CALL xios(is_defined_scalar_attr_hdl_)   & 
    215       ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     334      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     335      , scalar_ref, standard_name, unit, value ) 
    216336 
    217337  END SUBROUTINE xios(is_defined_scalar_attr) 
    218338 
    219339  SUBROUTINE xios(is_defined_scalar_attr_hdl)  & 
    220     ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
    221  
    222     IMPLICIT NONE 
    223       TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     340    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     341    , scalar_ref, standard_name, unit, value ) 
     342 
     343    IMPLICIT NONE 
     344      TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     345      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     346      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
     347      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
     348      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     349      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     350      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     351      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     352      LOGICAL(KIND=C_BOOL) :: comment_tmp 
     353      LOGICAL, OPTIONAL, INTENT(OUT) :: label 
     354      LOGICAL(KIND=C_BOOL) :: label_tmp 
    224355      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    225356      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    226357      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    227358      LOGICAL(KIND=C_BOOL) :: name_tmp 
     359      LOGICAL, OPTIONAL, INTENT(OUT) :: positive 
     360      LOGICAL(KIND=C_BOOL) :: positive_tmp 
    228361      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    229362      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     
    238371 
    239372      CALL xios(is_defined_scalar_attr_hdl_)  & 
    240       ( scalar_hdl, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     373      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
     374      , scalar_ref, standard_name, unit, value ) 
    241375 
    242376  END SUBROUTINE xios(is_defined_scalar_attr_hdl) 
    243377 
    244378  SUBROUTINE xios(is_defined_scalar_attr_hdl_)   & 
    245     ( scalar_hdl, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    246  
    247     IMPLICIT NONE 
    248       TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     379    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, name_, positive_  & 
     380    , prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     381 
     382    IMPLICIT NONE 
     383      TYPE(txios(scalar)) , INTENT(IN) :: scalar_hdl 
     384      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type_ 
     385      LOGICAL(KIND=C_BOOL) :: axis_type__tmp 
     386      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_ 
     387      LOGICAL(KIND=C_BOOL) :: bounds__tmp 
     388      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name_ 
     389      LOGICAL(KIND=C_BOOL) :: bounds_name__tmp 
     390      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     391      LOGICAL(KIND=C_BOOL) :: comment__tmp 
     392      LOGICAL, OPTIONAL, INTENT(OUT) :: label_ 
     393      LOGICAL(KIND=C_BOOL) :: label__tmp 
    249394      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    250395      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
    251396      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    252397      LOGICAL(KIND=C_BOOL) :: name__tmp 
     398      LOGICAL, OPTIONAL, INTENT(OUT) :: positive_ 
     399      LOGICAL(KIND=C_BOOL) :: positive__tmp 
    253400      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_ 
    254401      LOGICAL(KIND=C_BOOL) :: prec__tmp 
     
    262409      LOGICAL(KIND=C_BOOL) :: value__tmp 
    263410 
     411      IF (PRESENT(axis_type_)) THEN 
     412        axis_type__tmp = cxios_is_defined_scalar_axis_type & 
     413      (scalar_hdl%daddr) 
     414        axis_type_ = axis_type__tmp 
     415      ENDIF 
     416 
     417      IF (PRESENT(bounds_)) THEN 
     418        bounds__tmp = cxios_is_defined_scalar_bounds & 
     419      (scalar_hdl%daddr) 
     420        bounds_ = bounds__tmp 
     421      ENDIF 
     422 
     423      IF (PRESENT(bounds_name_)) THEN 
     424        bounds_name__tmp = cxios_is_defined_scalar_bounds_name & 
     425      (scalar_hdl%daddr) 
     426        bounds_name_ = bounds_name__tmp 
     427      ENDIF 
     428 
     429      IF (PRESENT(comment_)) THEN 
     430        comment__tmp = cxios_is_defined_scalar_comment & 
     431      (scalar_hdl%daddr) 
     432        comment_ = comment__tmp 
     433      ENDIF 
     434 
     435      IF (PRESENT(label_)) THEN 
     436        label__tmp = cxios_is_defined_scalar_label & 
     437      (scalar_hdl%daddr) 
     438        label_ = label__tmp 
     439      ENDIF 
     440 
    264441      IF (PRESENT(long_name_)) THEN 
    265442        long_name__tmp = cxios_is_defined_scalar_long_name & 
     
    274451      ENDIF 
    275452 
     453      IF (PRESENT(positive_)) THEN 
     454        positive__tmp = cxios_is_defined_scalar_positive & 
     455      (scalar_hdl%daddr) 
     456        positive_ = positive__tmp 
     457      ENDIF 
     458 
    276459      IF (PRESENT(prec_)) THEN 
    277460        prec__tmp = cxios_is_defined_scalar_prec & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/iscalargroup_attr.F90

    r1158 r1492  
    1212 
    1313  SUBROUTINE xios(set_scalargroup_attr)  & 
    14     ( scalargroup_id, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     14    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     15    , positive, prec, scalar_ref, standard_name, unit, value ) 
    1516 
    1617    IMPLICIT NONE 
    1718      TYPE(txios(scalargroup))  :: scalargroup_hdl 
    1819      CHARACTER(LEN=*), INTENT(IN) ::scalargroup_id 
     20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
     21      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:) 
     22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    1924      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
     25      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label 
    2026      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    2127      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
     28      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
    2229      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
    2330      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref 
     
    2936      (scalargroup_id,scalargroup_hdl) 
    3037      CALL xios(set_scalargroup_attr_hdl_)   & 
    31       ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    32       ) 
     38      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     39      , positive, prec, scalar_ref, standard_name, unit, value ) 
    3340 
    3441  END SUBROUTINE xios(set_scalargroup_attr) 
    3542 
    3643  SUBROUTINE xios(set_scalargroup_attr_hdl)  & 
    37     ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    38     ) 
     44    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     45    , positive, prec, scalar_ref, standard_name, unit, value ) 
    3946 
    4047    IMPLICIT NONE 
    4148      TYPE(txios(scalargroup)) , INTENT(IN) :: scalargroup_hdl 
     49      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type 
     50      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:) 
     51      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name 
     52      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    4253      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
     54      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label 
    4355      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    4456      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
     57      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
    4558      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
    4659      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref 
     
    5063 
    5164      CALL xios(set_scalargroup_attr_hdl_)  & 
    52       ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    53       ) 
     65      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     66      , positive, prec, scalar_ref, standard_name, unit, value ) 
    5467 
    5568  END SUBROUTINE xios(set_scalargroup_attr_hdl) 
    5669 
    5770  SUBROUTINE xios(set_scalargroup_attr_hdl_)   & 
    58     ( scalargroup_hdl, group_ref_, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_  & 
    59     , value_ ) 
     71    ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  & 
     72    , name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    6073 
    6174    IMPLICIT NONE 
    6275      TYPE(txios(scalargroup)) , INTENT(IN) :: scalargroup_hdl 
     76      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_type_ 
     77      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_(:) 
     78      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_name_ 
     79      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    6380      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 
     81      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label_ 
    6482      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
    6583      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
     84      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive_ 
    6685      INTEGER  , OPTIONAL, INTENT(IN) :: prec_ 
    6786      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref_ 
     
    7089      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value_ 
    7190 
     91      IF (PRESENT(axis_type_)) THEN 
     92        CALL cxios_set_scalargroup_axis_type & 
     93      (scalargroup_hdl%daddr, axis_type_, len(axis_type_)) 
     94      ENDIF 
     95 
     96      IF (PRESENT(bounds_)) THEN 
     97        CALL cxios_set_scalargroup_bounds & 
     98      (scalargroup_hdl%daddr, bounds_, SHAPE(bounds_)) 
     99      ENDIF 
     100 
     101      IF (PRESENT(bounds_name_)) THEN 
     102        CALL cxios_set_scalargroup_bounds_name & 
     103      (scalargroup_hdl%daddr, bounds_name_, len(bounds_name_)) 
     104      ENDIF 
     105 
     106      IF (PRESENT(comment_)) THEN 
     107        CALL cxios_set_scalargroup_comment & 
     108      (scalargroup_hdl%daddr, comment_, len(comment_)) 
     109      ENDIF 
     110 
    72111      IF (PRESENT(group_ref_)) THEN 
    73112        CALL cxios_set_scalargroup_group_ref & 
     
    75114      ENDIF 
    76115 
     116      IF (PRESENT(label_)) THEN 
     117        CALL cxios_set_scalargroup_label & 
     118      (scalargroup_hdl%daddr, label_, len(label_)) 
     119      ENDIF 
     120 
    77121      IF (PRESENT(long_name_)) THEN 
    78122        CALL cxios_set_scalargroup_long_name & 
     
    85129      ENDIF 
    86130 
     131      IF (PRESENT(positive_)) THEN 
     132        CALL cxios_set_scalargroup_positive & 
     133      (scalargroup_hdl%daddr, positive_, len(positive_)) 
     134      ENDIF 
     135 
    87136      IF (PRESENT(prec_)) THEN 
    88137        CALL cxios_set_scalargroup_prec & 
     
    113162 
    114163  SUBROUTINE xios(get_scalargroup_attr)  & 
    115     ( scalargroup_id, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     164    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     165    , positive, prec, scalar_ref, standard_name, unit, value ) 
    116166 
    117167    IMPLICIT NONE 
    118168      TYPE(txios(scalargroup))  :: scalargroup_hdl 
    119169      CHARACTER(LEN=*), INTENT(IN) ::scalargroup_id 
     170      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
     171      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:) 
     172      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     173      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    120174      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
     175      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label 
    121176      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    122177      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
     178      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
    123179      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
    124180      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref 
     
    130186      (scalargroup_id,scalargroup_hdl) 
    131187      CALL xios(get_scalargroup_attr_hdl_)   & 
    132       ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    133       ) 
     188      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     189      , positive, prec, scalar_ref, standard_name, unit, value ) 
    134190 
    135191  END SUBROUTINE xios(get_scalargroup_attr) 
    136192 
    137193  SUBROUTINE xios(get_scalargroup_attr_hdl)  & 
    138     ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    139     ) 
     194    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     195    , positive, prec, scalar_ref, standard_name, unit, value ) 
    140196 
    141197    IMPLICIT NONE 
    142198      TYPE(txios(scalargroup)) , INTENT(IN) :: scalargroup_hdl 
     199      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type 
     200      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds(:) 
     201      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name 
     202      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    143203      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
     204      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label 
    144205      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    145206      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
     207      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
    146208      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
    147209      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref 
     
    151213 
    152214      CALL xios(get_scalargroup_attr_hdl_)  & 
    153       ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    154       ) 
     215      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     216      , positive, prec, scalar_ref, standard_name, unit, value ) 
    155217 
    156218  END SUBROUTINE xios(get_scalargroup_attr_hdl) 
    157219 
    158220  SUBROUTINE xios(get_scalargroup_attr_hdl_)   & 
    159     ( scalargroup_hdl, group_ref_, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_  & 
    160     , value_ ) 
     221    ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  & 
     222    , name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    161223 
    162224    IMPLICIT NONE 
    163225      TYPE(txios(scalargroup)) , INTENT(IN) :: scalargroup_hdl 
     226      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_type_ 
     227      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_(:) 
     228      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_name_ 
     229      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    164230      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 
     231      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label_ 
    165232      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
    166233      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
     234      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive_ 
    167235      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_ 
    168236      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref_ 
     
    171239      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value_ 
    172240 
     241      IF (PRESENT(axis_type_)) THEN 
     242        CALL cxios_get_scalargroup_axis_type & 
     243      (scalargroup_hdl%daddr, axis_type_, len(axis_type_)) 
     244      ENDIF 
     245 
     246      IF (PRESENT(bounds_)) THEN 
     247        CALL cxios_get_scalargroup_bounds & 
     248      (scalargroup_hdl%daddr, bounds_, SHAPE(bounds_)) 
     249      ENDIF 
     250 
     251      IF (PRESENT(bounds_name_)) THEN 
     252        CALL cxios_get_scalargroup_bounds_name & 
     253      (scalargroup_hdl%daddr, bounds_name_, len(bounds_name_)) 
     254      ENDIF 
     255 
     256      IF (PRESENT(comment_)) THEN 
     257        CALL cxios_get_scalargroup_comment & 
     258      (scalargroup_hdl%daddr, comment_, len(comment_)) 
     259      ENDIF 
     260 
    173261      IF (PRESENT(group_ref_)) THEN 
    174262        CALL cxios_get_scalargroup_group_ref & 
     
    176264      ENDIF 
    177265 
     266      IF (PRESENT(label_)) THEN 
     267        CALL cxios_get_scalargroup_label & 
     268      (scalargroup_hdl%daddr, label_, len(label_)) 
     269      ENDIF 
     270 
    178271      IF (PRESENT(long_name_)) THEN 
    179272        CALL cxios_get_scalargroup_long_name & 
     
    186279      ENDIF 
    187280 
     281      IF (PRESENT(positive_)) THEN 
     282        CALL cxios_get_scalargroup_positive & 
     283      (scalargroup_hdl%daddr, positive_, len(positive_)) 
     284      ENDIF 
     285 
    188286      IF (PRESENT(prec_)) THEN 
    189287        CALL cxios_get_scalargroup_prec & 
     
    214312 
    215313  SUBROUTINE xios(is_defined_scalargroup_attr)  & 
    216     ( scalargroup_id, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value ) 
     314    ( scalargroup_id, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     315    , positive, prec, scalar_ref, standard_name, unit, value ) 
    217316 
    218317    IMPLICIT NONE 
    219318      TYPE(txios(scalargroup))  :: scalargroup_hdl 
    220319      CHARACTER(LEN=*), INTENT(IN) ::scalargroup_id 
     320      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     321      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
     322      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
     323      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     324      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     325      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     326      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     327      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    221328      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    222329      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     330      LOGICAL, OPTIONAL, INTENT(OUT) :: label 
     331      LOGICAL(KIND=C_BOOL) :: label_tmp 
    223332      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    224333      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    225334      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    226335      LOGICAL(KIND=C_BOOL) :: name_tmp 
     336      LOGICAL, OPTIONAL, INTENT(OUT) :: positive 
     337      LOGICAL(KIND=C_BOOL) :: positive_tmp 
    227338      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    228339      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     
    239350      (scalargroup_id,scalargroup_hdl) 
    240351      CALL xios(is_defined_scalargroup_attr_hdl_)   & 
    241       ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    242       ) 
     352      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     353      , positive, prec, scalar_ref, standard_name, unit, value ) 
    243354 
    244355  END SUBROUTINE xios(is_defined_scalargroup_attr) 
    245356 
    246357  SUBROUTINE xios(is_defined_scalargroup_attr_hdl)  & 
    247     ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    248     ) 
     358    ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     359    , positive, prec, scalar_ref, standard_name, unit, value ) 
    249360 
    250361    IMPLICIT NONE 
    251362      TYPE(txios(scalargroup)) , INTENT(IN) :: scalargroup_hdl 
     363      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type 
     364      LOGICAL(KIND=C_BOOL) :: axis_type_tmp 
     365      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds 
     366      LOGICAL(KIND=C_BOOL) :: bounds_tmp 
     367      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name 
     368      LOGICAL(KIND=C_BOOL) :: bounds_name_tmp 
     369      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
     370      LOGICAL(KIND=C_BOOL) :: comment_tmp 
    252371      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    253372      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     373      LOGICAL, OPTIONAL, INTENT(OUT) :: label 
     374      LOGICAL(KIND=C_BOOL) :: label_tmp 
    254375      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    255376      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    256377      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    257378      LOGICAL(KIND=C_BOOL) :: name_tmp 
     379      LOGICAL, OPTIONAL, INTENT(OUT) :: positive 
     380      LOGICAL(KIND=C_BOOL) :: positive_tmp 
    258381      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    259382      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     
    268391 
    269392      CALL xios(is_defined_scalargroup_attr_hdl_)  & 
    270       ( scalargroup_hdl, group_ref, long_name, name, prec, scalar_ref, standard_name, unit, value  & 
    271       ) 
     393      ( scalargroup_hdl, axis_type, bounds, bounds_name, comment, group_ref, label, long_name, name  & 
     394      , positive, prec, scalar_ref, standard_name, unit, value ) 
    272395 
    273396  END SUBROUTINE xios(is_defined_scalargroup_attr_hdl) 
    274397 
    275398  SUBROUTINE xios(is_defined_scalargroup_attr_hdl_)   & 
    276     ( scalargroup_hdl, group_ref_, long_name_, name_, prec_, scalar_ref_, standard_name_, unit_  & 
    277     , value_ ) 
     399    ( scalargroup_hdl, axis_type_, bounds_, bounds_name_, comment_, group_ref_, label_, long_name_  & 
     400    , name_, positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    278401 
    279402    IMPLICIT NONE 
    280403      TYPE(txios(scalargroup)) , INTENT(IN) :: scalargroup_hdl 
     404      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_type_ 
     405      LOGICAL(KIND=C_BOOL) :: axis_type__tmp 
     406      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_ 
     407      LOGICAL(KIND=C_BOOL) :: bounds__tmp 
     408      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_name_ 
     409      LOGICAL(KIND=C_BOOL) :: bounds_name__tmp 
     410      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
     411      LOGICAL(KIND=C_BOOL) :: comment__tmp 
    281412      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 
    282413      LOGICAL(KIND=C_BOOL) :: group_ref__tmp 
     414      LOGICAL, OPTIONAL, INTENT(OUT) :: label_ 
     415      LOGICAL(KIND=C_BOOL) :: label__tmp 
    283416      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    284417      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
    285418      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    286419      LOGICAL(KIND=C_BOOL) :: name__tmp 
     420      LOGICAL, OPTIONAL, INTENT(OUT) :: positive_ 
     421      LOGICAL(KIND=C_BOOL) :: positive__tmp 
    287422      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_ 
    288423      LOGICAL(KIND=C_BOOL) :: prec__tmp 
     
    296431      LOGICAL(KIND=C_BOOL) :: value__tmp 
    297432 
     433      IF (PRESENT(axis_type_)) THEN 
     434        axis_type__tmp = cxios_is_defined_scalargroup_axis_type & 
     435      (scalargroup_hdl%daddr) 
     436        axis_type_ = axis_type__tmp 
     437      ENDIF 
     438 
     439      IF (PRESENT(bounds_)) THEN 
     440        bounds__tmp = cxios_is_defined_scalargroup_bounds & 
     441      (scalargroup_hdl%daddr) 
     442        bounds_ = bounds__tmp 
     443      ENDIF 
     444 
     445      IF (PRESENT(bounds_name_)) THEN 
     446        bounds_name__tmp = cxios_is_defined_scalargroup_bounds_name & 
     447      (scalargroup_hdl%daddr) 
     448        bounds_name_ = bounds_name__tmp 
     449      ENDIF 
     450 
     451      IF (PRESENT(comment_)) THEN 
     452        comment__tmp = cxios_is_defined_scalargroup_comment & 
     453      (scalargroup_hdl%daddr) 
     454        comment_ = comment__tmp 
     455      ENDIF 
     456 
    298457      IF (PRESENT(group_ref_)) THEN 
    299458        group_ref__tmp = cxios_is_defined_scalargroup_group_ref & 
     
    302461      ENDIF 
    303462 
     463      IF (PRESENT(label_)) THEN 
     464        label__tmp = cxios_is_defined_scalargroup_label & 
     465      (scalargroup_hdl%daddr) 
     466        label_ = label__tmp 
     467      ENDIF 
     468 
    304469      IF (PRESENT(long_name_)) THEN 
    305470        long_name__tmp = cxios_is_defined_scalargroup_long_name & 
     
    314479      ENDIF 
    315480 
     481      IF (PRESENT(positive_)) THEN 
     482        positive__tmp = cxios_is_defined_scalargroup_positive & 
     483      (scalargroup_hdl%daddr) 
     484        positive_ = positive__tmp 
     485      ENDIF 
     486 
    316487      IF (PRESENT(prec_)) THEN 
    317488        prec__tmp = cxios_is_defined_scalargroup_prec & 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/reduce_domain_to_axis_interface_attr.F90

    r981 r1492  
    3131 
    3232 
     33    SUBROUTINE cxios_set_reduce_domain_to_axis_local(reduce_domain_to_axis_hdl, local) BIND(C) 
     34      USE ISO_C_BINDING 
     35      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_domain_to_axis_hdl 
     36      LOGICAL (KIND=C_BOOL)      , VALUE :: local 
     37    END SUBROUTINE cxios_set_reduce_domain_to_axis_local 
     38 
     39    SUBROUTINE cxios_get_reduce_domain_to_axis_local(reduce_domain_to_axis_hdl, local) BIND(C) 
     40      USE ISO_C_BINDING 
     41      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_domain_to_axis_hdl 
     42      LOGICAL (KIND=C_BOOL)             :: local 
     43    END SUBROUTINE cxios_get_reduce_domain_to_axis_local 
     44 
     45    FUNCTION cxios_is_defined_reduce_domain_to_axis_local(reduce_domain_to_axis_hdl) BIND(C) 
     46      USE ISO_C_BINDING 
     47      LOGICAL(kind=C_BOOL) :: cxios_is_defined_reduce_domain_to_axis_local 
     48      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_domain_to_axis_hdl 
     49    END FUNCTION cxios_is_defined_reduce_domain_to_axis_local 
     50 
     51 
    3352    SUBROUTINE cxios_set_reduce_domain_to_axis_operation(reduce_domain_to_axis_hdl, operation, operation_size) BIND(C) 
    3453      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/reduce_domain_to_scalar_interface_attr.F90

    r981 r1492  
    99  INTERFACE 
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
     11 
     12    SUBROUTINE cxios_set_reduce_domain_to_scalar_local(reduce_domain_to_scalar_hdl, local) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_domain_to_scalar_hdl 
     15      LOGICAL (KIND=C_BOOL)      , VALUE :: local 
     16    END SUBROUTINE cxios_set_reduce_domain_to_scalar_local 
     17 
     18    SUBROUTINE cxios_get_reduce_domain_to_scalar_local(reduce_domain_to_scalar_hdl, local) BIND(C) 
     19      USE ISO_C_BINDING 
     20      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_domain_to_scalar_hdl 
     21      LOGICAL (KIND=C_BOOL)             :: local 
     22    END SUBROUTINE cxios_get_reduce_domain_to_scalar_local 
     23 
     24    FUNCTION cxios_is_defined_reduce_domain_to_scalar_local(reduce_domain_to_scalar_hdl) BIND(C) 
     25      USE ISO_C_BINDING 
     26      LOGICAL(kind=C_BOOL) :: cxios_is_defined_reduce_domain_to_scalar_local 
     27      INTEGER (kind = C_INTPTR_T), VALUE :: reduce_domain_to_scalar_hdl 
     28    END FUNCTION cxios_is_defined_reduce_domain_to_scalar_local 
     29 
    1130 
    1231    SUBROUTINE cxios_set_reduce_domain_to_scalar_operation(reduce_domain_to_scalar_hdl, operation, operation_size) BIND(C) 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/scalar_interface_attr.F90

    r1158 r1492  
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
    1111 
     12    SUBROUTINE cxios_set_scalar_axis_type(scalar_hdl, axis_type, axis_type_size) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     15      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     16      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     17    END SUBROUTINE cxios_set_scalar_axis_type 
     18 
     19    SUBROUTINE cxios_get_scalar_axis_type(scalar_hdl, axis_type, axis_type_size) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     22      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     23      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     24    END SUBROUTINE cxios_get_scalar_axis_type 
     25 
     26    FUNCTION cxios_is_defined_scalar_axis_type(scalar_hdl) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalar_axis_type 
     29      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     30    END FUNCTION cxios_is_defined_scalar_axis_type 
     31 
     32 
     33    SUBROUTINE cxios_set_scalar_bounds(scalar_hdl, bounds, extent) BIND(C) 
     34      USE ISO_C_BINDING 
     35      INTEGER (kind = C_INTPTR_T), VALUE       :: scalar_hdl 
     36      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds 
     37      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     38    END SUBROUTINE cxios_set_scalar_bounds 
     39 
     40    SUBROUTINE cxios_get_scalar_bounds(scalar_hdl, bounds, extent) BIND(C) 
     41      USE ISO_C_BINDING 
     42      INTEGER (kind = C_INTPTR_T), VALUE       :: scalar_hdl 
     43      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds 
     44      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     45    END SUBROUTINE cxios_get_scalar_bounds 
     46 
     47    FUNCTION cxios_is_defined_scalar_bounds(scalar_hdl) BIND(C) 
     48      USE ISO_C_BINDING 
     49      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalar_bounds 
     50      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     51    END FUNCTION cxios_is_defined_scalar_bounds 
     52 
     53 
     54    SUBROUTINE cxios_set_scalar_bounds_name(scalar_hdl, bounds_name, bounds_name_size) BIND(C) 
     55      USE ISO_C_BINDING 
     56      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     57      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     58      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     59    END SUBROUTINE cxios_set_scalar_bounds_name 
     60 
     61    SUBROUTINE cxios_get_scalar_bounds_name(scalar_hdl, bounds_name, bounds_name_size) BIND(C) 
     62      USE ISO_C_BINDING 
     63      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     64      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     65      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     66    END SUBROUTINE cxios_get_scalar_bounds_name 
     67 
     68    FUNCTION cxios_is_defined_scalar_bounds_name(scalar_hdl) BIND(C) 
     69      USE ISO_C_BINDING 
     70      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalar_bounds_name 
     71      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     72    END FUNCTION cxios_is_defined_scalar_bounds_name 
     73 
     74 
     75    SUBROUTINE cxios_set_scalar_comment(scalar_hdl, comment, comment_size) BIND(C) 
     76      USE ISO_C_BINDING 
     77      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     78      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     79      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     80    END SUBROUTINE cxios_set_scalar_comment 
     81 
     82    SUBROUTINE cxios_get_scalar_comment(scalar_hdl, comment, comment_size) BIND(C) 
     83      USE ISO_C_BINDING 
     84      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     85      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     86      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     87    END SUBROUTINE cxios_get_scalar_comment 
     88 
     89    FUNCTION cxios_is_defined_scalar_comment(scalar_hdl) BIND(C) 
     90      USE ISO_C_BINDING 
     91      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalar_comment 
     92      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     93    END FUNCTION cxios_is_defined_scalar_comment 
     94 
     95 
     96    SUBROUTINE cxios_set_scalar_label(scalar_hdl, label, label_size) BIND(C) 
     97      USE ISO_C_BINDING 
     98      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     99      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: label 
     100      INTEGER  (kind = C_INT)     , VALUE        :: label_size 
     101    END SUBROUTINE cxios_set_scalar_label 
     102 
     103    SUBROUTINE cxios_get_scalar_label(scalar_hdl, label, label_size) BIND(C) 
     104      USE ISO_C_BINDING 
     105      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     106      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: label 
     107      INTEGER  (kind = C_INT)     , VALUE        :: label_size 
     108    END SUBROUTINE cxios_get_scalar_label 
     109 
     110    FUNCTION cxios_is_defined_scalar_label(scalar_hdl) BIND(C) 
     111      USE ISO_C_BINDING 
     112      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalar_label 
     113      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     114    END FUNCTION cxios_is_defined_scalar_label 
     115 
     116 
    12117    SUBROUTINE cxios_set_scalar_long_name(scalar_hdl, long_name, long_name_size) BIND(C) 
    13118      USE ISO_C_BINDING 
     
    52157 
    53158 
     159    SUBROUTINE cxios_set_scalar_positive(scalar_hdl, positive, positive_size) BIND(C) 
     160      USE ISO_C_BINDING 
     161      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     162      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: positive 
     163      INTEGER  (kind = C_INT)     , VALUE        :: positive_size 
     164    END SUBROUTINE cxios_set_scalar_positive 
     165 
     166    SUBROUTINE cxios_get_scalar_positive(scalar_hdl, positive, positive_size) BIND(C) 
     167      USE ISO_C_BINDING 
     168      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     169      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: positive 
     170      INTEGER  (kind = C_INT)     , VALUE        :: positive_size 
     171    END SUBROUTINE cxios_get_scalar_positive 
     172 
     173    FUNCTION cxios_is_defined_scalar_positive(scalar_hdl) BIND(C) 
     174      USE ISO_C_BINDING 
     175      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalar_positive 
     176      INTEGER (kind = C_INTPTR_T), VALUE :: scalar_hdl 
     177    END FUNCTION cxios_is_defined_scalar_positive 
     178 
     179 
    54180    SUBROUTINE cxios_set_scalar_prec(scalar_hdl, prec) BIND(C) 
    55181      USE ISO_C_BINDING 
  • XIOS/dev/XIOS_DEV_CMIP6/src/interface/fortran_attr/scalargroup_interface_attr.F90

    r1158 r1492  
    1010    ! Do not call directly / interface FORTRAN 2003 <-> C99 
    1111 
     12    SUBROUTINE cxios_set_scalargroup_axis_type(scalargroup_hdl, axis_type, axis_type_size) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     15      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     16      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     17    END SUBROUTINE cxios_set_scalargroup_axis_type 
     18 
     19    SUBROUTINE cxios_get_scalargroup_axis_type(scalargroup_hdl, axis_type, axis_type_size) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     22      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_type 
     23      INTEGER  (kind = C_INT)     , VALUE        :: axis_type_size 
     24    END SUBROUTINE cxios_get_scalargroup_axis_type 
     25 
     26    FUNCTION cxios_is_defined_scalargroup_axis_type(scalargroup_hdl) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalargroup_axis_type 
     29      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     30    END FUNCTION cxios_is_defined_scalargroup_axis_type 
     31 
     32 
     33    SUBROUTINE cxios_set_scalargroup_bounds(scalargroup_hdl, bounds, extent) BIND(C) 
     34      USE ISO_C_BINDING 
     35      INTEGER (kind = C_INTPTR_T), VALUE       :: scalargroup_hdl 
     36      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds 
     37      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     38    END SUBROUTINE cxios_set_scalargroup_bounds 
     39 
     40    SUBROUTINE cxios_get_scalargroup_bounds(scalargroup_hdl, bounds, extent) BIND(C) 
     41      USE ISO_C_BINDING 
     42      INTEGER (kind = C_INTPTR_T), VALUE       :: scalargroup_hdl 
     43      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds 
     44      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     45    END SUBROUTINE cxios_get_scalargroup_bounds 
     46 
     47    FUNCTION cxios_is_defined_scalargroup_bounds(scalargroup_hdl) BIND(C) 
     48      USE ISO_C_BINDING 
     49      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalargroup_bounds 
     50      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     51    END FUNCTION cxios_is_defined_scalargroup_bounds 
     52 
     53 
     54    SUBROUTINE cxios_set_scalargroup_bounds_name(scalargroup_hdl, bounds_name, bounds_name_size) BIND(C) 
     55      USE ISO_C_BINDING 
     56      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     57      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     58      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     59    END SUBROUTINE cxios_set_scalargroup_bounds_name 
     60 
     61    SUBROUTINE cxios_get_scalargroup_bounds_name(scalargroup_hdl, bounds_name, bounds_name_size) BIND(C) 
     62      USE ISO_C_BINDING 
     63      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     64      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: bounds_name 
     65      INTEGER  (kind = C_INT)     , VALUE        :: bounds_name_size 
     66    END SUBROUTINE cxios_get_scalargroup_bounds_name 
     67 
     68    FUNCTION cxios_is_defined_scalargroup_bounds_name(scalargroup_hdl) BIND(C) 
     69      USE ISO_C_BINDING 
     70      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalargroup_bounds_name 
     71      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     72    END FUNCTION cxios_is_defined_scalargroup_bounds_name 
     73 
     74 
     75    SUBROUTINE cxios_set_scalargroup_comment(scalargroup_hdl, comment, comment_size) BIND(C) 
     76      USE ISO_C_BINDING 
     77      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     78      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     79      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     80    END SUBROUTINE cxios_set_scalargroup_comment 
     81 
     82    SUBROUTINE cxios_get_scalargroup_comment(scalargroup_hdl, comment, comment_size) BIND(C) 
     83      USE ISO_C_BINDING 
     84      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     85      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: comment 
     86      INTEGER  (kind = C_INT)     , VALUE        :: comment_size 
     87    END SUBROUTINE cxios_get_scalargroup_comment 
     88 
     89    FUNCTION cxios_is_defined_scalargroup_comment(scalargroup_hdl) BIND(C) 
     90      USE ISO_C_BINDING 
     91      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalargroup_comment 
     92      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     93    END FUNCTION cxios_is_defined_scalargroup_comment 
     94 
     95 
    1296    SUBROUTINE cxios_set_scalargroup_group_ref(scalargroup_hdl, group_ref, group_ref_size) BIND(C) 
    1397      USE ISO_C_BINDING 
     
    31115 
    32116 
     117    SUBROUTINE cxios_set_scalargroup_label(scalargroup_hdl, label, label_size) BIND(C) 
     118      USE ISO_C_BINDING 
     119      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     120      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: label 
     121      INTEGER  (kind = C_INT)     , VALUE        :: label_size 
     122    END SUBROUTINE cxios_set_scalargroup_label 
     123 
     124    SUBROUTINE cxios_get_scalargroup_label(scalargroup_hdl, label, label_size) BIND(C) 
     125      USE ISO_C_BINDING 
     126      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     127      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: label 
     128      INTEGER  (kind = C_INT)     , VALUE        :: label_size 
     129    END SUBROUTINE cxios_get_scalargroup_label 
     130 
     131    FUNCTION cxios_is_defined_scalargroup_label(scalargroup_hdl) BIND(C) 
     132      USE ISO_C_BINDING 
     133      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalargroup_label 
     134      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     135    END FUNCTION cxios_is_defined_scalargroup_label 
     136 
     137 
    33138    SUBROUTINE cxios_set_scalargroup_long_name(scalargroup_hdl, long_name, long_name_size) BIND(C) 
    34139      USE ISO_C_BINDING 
     
    73178 
    74179 
     180    SUBROUTINE cxios_set_scalargroup_positive(scalargroup_hdl, positive, positive_size) BIND(C) 
     181      USE ISO_C_BINDING 
     182      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     183      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: positive 
     184      INTEGER  (kind = C_INT)     , VALUE        :: positive_size 
     185    END SUBROUTINE cxios_set_scalargroup_positive 
     186 
     187    SUBROUTINE cxios_get_scalargroup_positive(scalargroup_hdl, positive, positive_size) BIND(C) 
     188      USE ISO_C_BINDING 
     189      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     190      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: positive 
     191      INTEGER  (kind = C_INT)     , VALUE        :: positive_size 
     192    END SUBROUTINE cxios_get_scalargroup_positive 
     193 
     194    FUNCTION cxios_is_defined_scalargroup_positive(scalargroup_hdl) BIND(C) 
     195      USE ISO_C_BINDING 
     196      LOGICAL(kind=C_BOOL) :: cxios_is_defined_scalargroup_positive 
     197      INTEGER (kind = C_INTPTR_T), VALUE :: scalargroup_hdl 
     198    END FUNCTION cxios_is_defined_scalargroup_positive 
     199 
     200 
    75201    SUBROUTINE cxios_set_scalargroup_prec(scalargroup_hdl, prec) BIND(C) 
    76202      USE ISO_C_BINDING 
Note: See TracChangeset for help on using the changeset viewer.