source: XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c_attr/icfield_attr.cpp @ 2338

Last change on this file since 2338 was 2338, checked in by jderouillat, 2 years ago

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

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
  • Property svn:eol-style set to native
File size: 28.1 KB
RevLine 
[325]1/* ************************************************************************** *
[581]2 *               Interface auto generated - do not modify                     *
[325]3 * ************************************************************************** */
4
5#include <boost/multi_array.hpp>
[591]6#include "xios.hpp"
[352]7#include "attribute_template.hpp"
8#include "object_template.hpp"
9#include "group_template.hpp"
[325]10#include "icutil.hpp"
[532]11#include "icdate.hpp"
[347]12#include "timer.hpp"
[369]13#include "node_type.hpp"
[325]14
15extern "C"
16{
[581]17  typedef xios::CField* field_Ptr;
18
[464]19  void cxios_set_field_add_offset(field_Ptr field_hdl, double add_offset)
20  {
[581]21    CTimer::get("XIOS").resume();
[464]22    field_hdl->add_offset.setValue(add_offset);
[581]23    CTimer::get("XIOS").suspend();
[464]24  }
[581]25
[464]26  void cxios_get_field_add_offset(field_Ptr field_hdl, double* add_offset)
27  {
[581]28    CTimer::get("XIOS").resume();
[464]29    *add_offset = field_hdl->add_offset.getInheritedValue();
[581]30    CTimer::get("XIOS").suspend();
[464]31  }
[581]32
33  bool cxios_is_defined_field_add_offset(field_Ptr field_hdl)
[464]34  {
35     CTimer::get("XIOS").resume();
[581]36     bool isDefined = field_hdl->add_offset.hasInheritedValue();
[464]37     CTimer::get("XIOS").suspend();
[581]38     return isDefined;
[464]39  }
[581]40
41
[325]42  void cxios_set_field_axis_ref(field_Ptr field_hdl, const char * axis_ref, int axis_ref_size)
43  {
44    std::string axis_ref_str;
[581]45    if (!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
46    CTimer::get("XIOS").resume();
[325]47    field_hdl->axis_ref.setValue(axis_ref_str);
[581]48    CTimer::get("XIOS").suspend();
[325]49  }
[581]50
[325]51  void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)
52  {
[581]53    CTimer::get("XIOS").resume();
54    if (!string_copy(field_hdl->axis_ref.getInheritedValue(), axis_ref, axis_ref_size))
55      ERROR("void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)", << "Input string is too short");
56    CTimer::get("XIOS").suspend();
[325]57  }
[581]58
59  bool cxios_is_defined_field_axis_ref(field_Ptr field_hdl)
[432]60  {
61     CTimer::get("XIOS").resume();
[581]62     bool isDefined = field_hdl->axis_ref.hasInheritedValue();
[432]63     CTimer::get("XIOS").suspend();
[581]64     return isDefined;
[432]65  }
[581]66
67
[2338]68  void cxios_set_field_build_workflow_graph(field_Ptr field_hdl, bool build_workflow_graph)
69  {
70    CTimer::get("XIOS").resume();
71    field_hdl->build_workflow_graph.setValue(build_workflow_graph);
72    CTimer::get("XIOS").suspend();
73  }
74
75  void cxios_get_field_build_workflow_graph(field_Ptr field_hdl, bool* build_workflow_graph)
76  {
77    CTimer::get("XIOS").resume();
78    *build_workflow_graph = field_hdl->build_workflow_graph.getInheritedValue();
79    CTimer::get("XIOS").suspend();
80  }
81
82  bool cxios_is_defined_field_build_workflow_graph(field_Ptr field_hdl)
83  {
84     CTimer::get("XIOS").resume();
85     bool isDefined = field_hdl->build_workflow_graph.hasInheritedValue();
86     CTimer::get("XIOS").suspend();
87     return isDefined;
88  }
89
90
[1021]91  void cxios_set_field_cell_methods(field_Ptr field_hdl, const char * cell_methods, int cell_methods_size)
92  {
93    std::string cell_methods_str;
94    if (!cstr2string(cell_methods, cell_methods_size, cell_methods_str)) return;
95    CTimer::get("XIOS").resume();
96    field_hdl->cell_methods.setValue(cell_methods_str);
97    CTimer::get("XIOS").suspend();
98  }
99
100  void cxios_get_field_cell_methods(field_Ptr field_hdl, char * cell_methods, int cell_methods_size)
101  {
102    CTimer::get("XIOS").resume();
103    if (!string_copy(field_hdl->cell_methods.getInheritedValue(), cell_methods, cell_methods_size))
104      ERROR("void cxios_get_field_cell_methods(field_Ptr field_hdl, char * cell_methods, int cell_methods_size)", << "Input string is too short");
105    CTimer::get("XIOS").suspend();
106  }
107
108  bool cxios_is_defined_field_cell_methods(field_Ptr field_hdl)
109  {
110     CTimer::get("XIOS").resume();
111     bool isDefined = field_hdl->cell_methods.hasInheritedValue();
112     CTimer::get("XIOS").suspend();
113     return isDefined;
114  }
115
116
117  void cxios_set_field_cell_methods_mode(field_Ptr field_hdl, const char * cell_methods_mode, int cell_methods_mode_size)
118  {
119    std::string cell_methods_mode_str;
120    if (!cstr2string(cell_methods_mode, cell_methods_mode_size, cell_methods_mode_str)) return;
121    CTimer::get("XIOS").resume();
122    field_hdl->cell_methods_mode.fromString(cell_methods_mode_str);
123    CTimer::get("XIOS").suspend();
124  }
125
126  void cxios_get_field_cell_methods_mode(field_Ptr field_hdl, char * cell_methods_mode, int cell_methods_mode_size)
127  {
128    CTimer::get("XIOS").resume();
129    if (!string_copy(field_hdl->cell_methods_mode.getInheritedStringValue(), cell_methods_mode, cell_methods_mode_size))
130      ERROR("void cxios_get_field_cell_methods_mode(field_Ptr field_hdl, char * cell_methods_mode, int cell_methods_mode_size)", << "Input string is too short");
131    CTimer::get("XIOS").suspend();
132  }
133
134  bool cxios_is_defined_field_cell_methods_mode(field_Ptr field_hdl)
135  {
136     CTimer::get("XIOS").resume();
137     bool isDefined = field_hdl->cell_methods_mode.hasInheritedValue();
138     CTimer::get("XIOS").suspend();
139     return isDefined;
140  }
141
142
[1201]143  void cxios_set_field_check_if_active(field_Ptr field_hdl, bool check_if_active)
144  {
145    CTimer::get("XIOS").resume();
146    field_hdl->check_if_active.setValue(check_if_active);
147    CTimer::get("XIOS").suspend();
148  }
149
150  void cxios_get_field_check_if_active(field_Ptr field_hdl, bool* check_if_active)
151  {
152    CTimer::get("XIOS").resume();
153    *check_if_active = field_hdl->check_if_active.getInheritedValue();
154    CTimer::get("XIOS").suspend();
155  }
156
157  bool cxios_is_defined_field_check_if_active(field_Ptr field_hdl)
158  {
159     CTimer::get("XIOS").resume();
160     bool isDefined = field_hdl->check_if_active.hasInheritedValue();
161     CTimer::get("XIOS").suspend();
162     return isDefined;
163  }
164
165
[1492]166  void cxios_set_field_comment(field_Ptr field_hdl, const char * comment, int comment_size)
167  {
168    std::string comment_str;
169    if (!cstr2string(comment, comment_size, comment_str)) return;
170    CTimer::get("XIOS").resume();
171    field_hdl->comment.setValue(comment_str);
172    CTimer::get("XIOS").suspend();
173  }
174
175  void cxios_get_field_comment(field_Ptr field_hdl, char * comment, int comment_size)
176  {
177    CTimer::get("XIOS").resume();
178    if (!string_copy(field_hdl->comment.getInheritedValue(), comment, comment_size))
179      ERROR("void cxios_get_field_comment(field_Ptr field_hdl, char * comment, int comment_size)", << "Input string is too short");
180    CTimer::get("XIOS").suspend();
181  }
182
183  bool cxios_is_defined_field_comment(field_Ptr field_hdl)
184  {
185     CTimer::get("XIOS").resume();
186     bool isDefined = field_hdl->comment.hasInheritedValue();
187     CTimer::get("XIOS").suspend();
188     return isDefined;
189  }
190
191
[608]192  void cxios_set_field_compression_level(field_Ptr field_hdl, int compression_level)
193  {
194    CTimer::get("XIOS").resume();
195    field_hdl->compression_level.setValue(compression_level);
196    CTimer::get("XIOS").suspend();
197  }
198
199  void cxios_get_field_compression_level(field_Ptr field_hdl, int* compression_level)
200  {
201    CTimer::get("XIOS").resume();
202    *compression_level = field_hdl->compression_level.getInheritedValue();
203    CTimer::get("XIOS").suspend();
204  }
205
206  bool cxios_is_defined_field_compression_level(field_Ptr field_hdl)
207  {
208     CTimer::get("XIOS").resume();
209     bool isDefined = field_hdl->compression_level.hasInheritedValue();
210     CTimer::get("XIOS").suspend();
211     return isDefined;
212  }
213
214
[325]215  void cxios_set_field_default_value(field_Ptr field_hdl, double default_value)
216  {
[581]217    CTimer::get("XIOS").resume();
[325]218    field_hdl->default_value.setValue(default_value);
[581]219    CTimer::get("XIOS").suspend();
[325]220  }
[581]221
[325]222  void cxios_get_field_default_value(field_Ptr field_hdl, double* default_value)
223  {
[581]224    CTimer::get("XIOS").resume();
[445]225    *default_value = field_hdl->default_value.getInheritedValue();
[581]226    CTimer::get("XIOS").suspend();
[325]227  }
[581]228
229  bool cxios_is_defined_field_default_value(field_Ptr field_hdl)
[432]230  {
231     CTimer::get("XIOS").resume();
[581]232     bool isDefined = field_hdl->default_value.hasInheritedValue();
[432]233     CTimer::get("XIOS").suspend();
[581]234     return isDefined;
[432]235  }
[581]236
237
[472]238  void cxios_set_field_detect_missing_value(field_Ptr field_hdl, bool detect_missing_value)
239  {
[581]240    CTimer::get("XIOS").resume();
[472]241    field_hdl->detect_missing_value.setValue(detect_missing_value);
[581]242    CTimer::get("XIOS").suspend();
[472]243  }
[581]244
[472]245  void cxios_get_field_detect_missing_value(field_Ptr field_hdl, bool* detect_missing_value)
246  {
[581]247    CTimer::get("XIOS").resume();
[472]248    *detect_missing_value = field_hdl->detect_missing_value.getInheritedValue();
[581]249    CTimer::get("XIOS").suspend();
[472]250  }
[581]251
252  bool cxios_is_defined_field_detect_missing_value(field_Ptr field_hdl)
[472]253  {
254     CTimer::get("XIOS").resume();
[581]255     bool isDefined = field_hdl->detect_missing_value.hasInheritedValue();
[472]256     CTimer::get("XIOS").suspend();
[581]257     return isDefined;
[472]258  }
[581]259
260
[325]261  void cxios_set_field_domain_ref(field_Ptr field_hdl, const char * domain_ref, int domain_ref_size)
262  {
263    std::string domain_ref_str;
[581]264    if (!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return;
265    CTimer::get("XIOS").resume();
[325]266    field_hdl->domain_ref.setValue(domain_ref_str);
[581]267    CTimer::get("XIOS").suspend();
[325]268  }
[581]269
[325]270  void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)
271  {
[581]272    CTimer::get("XIOS").resume();
273    if (!string_copy(field_hdl->domain_ref.getInheritedValue(), domain_ref, domain_ref_size))
274      ERROR("void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)", << "Input string is too short");
275    CTimer::get("XIOS").suspend();
[325]276  }
[581]277
278  bool cxios_is_defined_field_domain_ref(field_Ptr field_hdl)
[432]279  {
280     CTimer::get("XIOS").resume();
[581]281     bool isDefined = field_hdl->domain_ref.hasInheritedValue();
[432]282     CTimer::get("XIOS").suspend();
[581]283     return isDefined;
[432]284  }
[581]285
286
[325]287  void cxios_set_field_enabled(field_Ptr field_hdl, bool enabled)
288  {
[581]289    CTimer::get("XIOS").resume();
[325]290    field_hdl->enabled.setValue(enabled);
[581]291    CTimer::get("XIOS").suspend();
[325]292  }
[581]293
[325]294  void cxios_get_field_enabled(field_Ptr field_hdl, bool* enabled)
295  {
[581]296    CTimer::get("XIOS").resume();
[445]297    *enabled = field_hdl->enabled.getInheritedValue();
[581]298    CTimer::get("XIOS").suspend();
[325]299  }
[581]300
301  bool cxios_is_defined_field_enabled(field_Ptr field_hdl)
[432]302  {
303     CTimer::get("XIOS").resume();
[581]304     bool isDefined = field_hdl->enabled.hasInheritedValue();
[432]305     CTimer::get("XIOS").suspend();
[581]306     return isDefined;
[432]307  }
[581]308
309
[1021]310  void cxios_set_field_expr(field_Ptr field_hdl, const char * expr, int expr_size)
311  {
312    std::string expr_str;
313    if (!cstr2string(expr, expr_size, expr_str)) return;
314    CTimer::get("XIOS").resume();
315    field_hdl->expr.setValue(expr_str);
316    CTimer::get("XIOS").suspend();
317  }
318
319  void cxios_get_field_expr(field_Ptr field_hdl, char * expr, int expr_size)
320  {
321    CTimer::get("XIOS").resume();
322    if (!string_copy(field_hdl->expr.getInheritedValue(), expr, expr_size))
323      ERROR("void cxios_get_field_expr(field_Ptr field_hdl, char * expr, int expr_size)", << "Input string is too short");
324    CTimer::get("XIOS").suspend();
325  }
326
327  bool cxios_is_defined_field_expr(field_Ptr field_hdl)
328  {
329     CTimer::get("XIOS").resume();
330     bool isDefined = field_hdl->expr.hasInheritedValue();
331     CTimer::get("XIOS").suspend();
332     return isDefined;
333  }
334
335
[325]336  void cxios_set_field_field_ref(field_Ptr field_hdl, const char * field_ref, int field_ref_size)
337  {
338    std::string field_ref_str;
[581]339    if (!cstr2string(field_ref, field_ref_size, field_ref_str)) return;
340    CTimer::get("XIOS").resume();
[325]341    field_hdl->field_ref.setValue(field_ref_str);
[581]342    CTimer::get("XIOS").suspend();
[325]343  }
[581]344
[325]345  void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)
346  {
[581]347    CTimer::get("XIOS").resume();
348    if (!string_copy(field_hdl->field_ref.getInheritedValue(), field_ref, field_ref_size))
349      ERROR("void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)", << "Input string is too short");
350    CTimer::get("XIOS").suspend();
[325]351  }
[581]352
353  bool cxios_is_defined_field_field_ref(field_Ptr field_hdl)
[432]354  {
355     CTimer::get("XIOS").resume();
[581]356     bool isDefined = field_hdl->field_ref.hasInheritedValue();
[432]357     CTimer::get("XIOS").suspend();
[581]358     return isDefined;
[432]359  }
[581]360
361
[538]362  void cxios_set_field_freq_offset(field_Ptr field_hdl, cxios_duration freq_offset_c)
[325]363  {
[538]364    CTimer::get("XIOS").resume();
365    field_hdl->freq_offset.allocate();
366    CDuration& freq_offset = field_hdl->freq_offset.get();
367    freq_offset.year = freq_offset_c.year;
368    freq_offset.month = freq_offset_c.month;
369    freq_offset.day = freq_offset_c.day;
370    freq_offset.hour = freq_offset_c.hour;
371    freq_offset.minute = freq_offset_c.minute;
372    freq_offset.second = freq_offset_c.second;
373    freq_offset.timestep = freq_offset_c.timestep;
374    CTimer::get("XIOS").suspend();
[325]375  }
[581]376
[538]377  void cxios_get_field_freq_offset(field_Ptr field_hdl, cxios_duration* freq_offset_c)
[325]378  {
[538]379    CTimer::get("XIOS").resume();
380    CDuration freq_offset = field_hdl->freq_offset.getInheritedValue();
381    freq_offset_c->year = freq_offset.year;
382    freq_offset_c->month = freq_offset.month;
383    freq_offset_c->day = freq_offset.day;
384    freq_offset_c->hour = freq_offset.hour;
385    freq_offset_c->minute = freq_offset.minute;
386    freq_offset_c->second = freq_offset.second;
387    freq_offset_c->timestep = freq_offset.timestep;
388    CTimer::get("XIOS").suspend();
[325]389  }
[581]390
391  bool cxios_is_defined_field_freq_offset(field_Ptr field_hdl)
[432]392  {
393     CTimer::get("XIOS").resume();
[581]394     bool isDefined = field_hdl->freq_offset.hasInheritedValue();
[432]395     CTimer::get("XIOS").suspend();
[581]396     return isDefined;
[432]397  }
[581]398
399
[538]400  void cxios_set_field_freq_op(field_Ptr field_hdl, cxios_duration freq_op_c)
[325]401  {
[538]402    CTimer::get("XIOS").resume();
403    field_hdl->freq_op.allocate();
404    CDuration& freq_op = field_hdl->freq_op.get();
405    freq_op.year = freq_op_c.year;
406    freq_op.month = freq_op_c.month;
407    freq_op.day = freq_op_c.day;
408    freq_op.hour = freq_op_c.hour;
409    freq_op.minute = freq_op_c.minute;
410    freq_op.second = freq_op_c.second;
411    freq_op.timestep = freq_op_c.timestep;
412    CTimer::get("XIOS").suspend();
[325]413  }
[581]414
[538]415  void cxios_get_field_freq_op(field_Ptr field_hdl, cxios_duration* freq_op_c)
[325]416  {
[538]417    CTimer::get("XIOS").resume();
418    CDuration freq_op = field_hdl->freq_op.getInheritedValue();
419    freq_op_c->year = freq_op.year;
420    freq_op_c->month = freq_op.month;
421    freq_op_c->day = freq_op.day;
422    freq_op_c->hour = freq_op.hour;
423    freq_op_c->minute = freq_op.minute;
424    freq_op_c->second = freq_op.second;
425    freq_op_c->timestep = freq_op.timestep;
426    CTimer::get("XIOS").suspend();
[325]427  }
[581]428
429  bool cxios_is_defined_field_freq_op(field_Ptr field_hdl)
[432]430  {
431     CTimer::get("XIOS").resume();
[581]432     bool isDefined = field_hdl->freq_op.hasInheritedValue();
[432]433     CTimer::get("XIOS").suspend();
[581]434     return isDefined;
[432]435  }
[581]436
437
[790]438  void cxios_set_field_grid_path(field_Ptr field_hdl, const char * grid_path, int grid_path_size)
439  {
440    std::string grid_path_str;
441    if (!cstr2string(grid_path, grid_path_size, grid_path_str)) return;
442    CTimer::get("XIOS").resume();
443    field_hdl->grid_path.setValue(grid_path_str);
444    CTimer::get("XIOS").suspend();
445  }
446
447  void cxios_get_field_grid_path(field_Ptr field_hdl, char * grid_path, int grid_path_size)
448  {
449    CTimer::get("XIOS").resume();
450    if (!string_copy(field_hdl->grid_path.getInheritedValue(), grid_path, grid_path_size))
451      ERROR("void cxios_get_field_grid_path(field_Ptr field_hdl, char * grid_path, int grid_path_size)", << "Input string is too short");
452    CTimer::get("XIOS").suspend();
453  }
454
455  bool cxios_is_defined_field_grid_path(field_Ptr field_hdl)
456  {
457     CTimer::get("XIOS").resume();
458     bool isDefined = field_hdl->grid_path.hasInheritedValue();
459     CTimer::get("XIOS").suspend();
460     return isDefined;
461  }
462
463
[325]464  void cxios_set_field_grid_ref(field_Ptr field_hdl, const char * grid_ref, int grid_ref_size)
465  {
466    std::string grid_ref_str;
[581]467    if (!cstr2string(grid_ref, grid_ref_size, grid_ref_str)) return;
468    CTimer::get("XIOS").resume();
[325]469    field_hdl->grid_ref.setValue(grid_ref_str);
[581]470    CTimer::get("XIOS").suspend();
[325]471  }
[581]472
[325]473  void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)
474  {
[581]475    CTimer::get("XIOS").resume();
476    if (!string_copy(field_hdl->grid_ref.getInheritedValue(), grid_ref, grid_ref_size))
477      ERROR("void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)", << "Input string is too short");
478    CTimer::get("XIOS").suspend();
[325]479  }
[581]480
481  bool cxios_is_defined_field_grid_ref(field_Ptr field_hdl)
[432]482  {
483     CTimer::get("XIOS").resume();
[581]484     bool isDefined = field_hdl->grid_ref.hasInheritedValue();
[432]485     CTimer::get("XIOS").suspend();
[581]486     return isDefined;
[432]487  }
[581]488
489
[676]490  void cxios_set_field_indexed_output(field_Ptr field_hdl, bool indexed_output)
491  {
492    CTimer::get("XIOS").resume();
493    field_hdl->indexed_output.setValue(indexed_output);
494    CTimer::get("XIOS").suspend();
495  }
496
497  void cxios_get_field_indexed_output(field_Ptr field_hdl, bool* indexed_output)
498  {
499    CTimer::get("XIOS").resume();
500    *indexed_output = field_hdl->indexed_output.getInheritedValue();
501    CTimer::get("XIOS").suspend();
502  }
503
504  bool cxios_is_defined_field_indexed_output(field_Ptr field_hdl)
505  {
506     CTimer::get("XIOS").resume();
507     bool isDefined = field_hdl->indexed_output.hasInheritedValue();
508     CTimer::get("XIOS").suspend();
509     return isDefined;
510  }
511
512
[325]513  void cxios_set_field_level(field_Ptr field_hdl, int level)
514  {
[581]515    CTimer::get("XIOS").resume();
[325]516    field_hdl->level.setValue(level);
[581]517    CTimer::get("XIOS").suspend();
[325]518  }
[581]519
[325]520  void cxios_get_field_level(field_Ptr field_hdl, int* level)
521  {
[581]522    CTimer::get("XIOS").resume();
[445]523    *level = field_hdl->level.getInheritedValue();
[581]524    CTimer::get("XIOS").suspend();
[325]525  }
[581]526
527  bool cxios_is_defined_field_level(field_Ptr field_hdl)
[432]528  {
529     CTimer::get("XIOS").resume();
[581]530     bool isDefined = field_hdl->level.hasInheritedValue();
[432]531     CTimer::get("XIOS").suspend();
[581]532     return isDefined;
[432]533  }
[581]534
535
[325]536  void cxios_set_field_long_name(field_Ptr field_hdl, const char * long_name, int long_name_size)
537  {
538    std::string long_name_str;
[581]539    if (!cstr2string(long_name, long_name_size, long_name_str)) return;
540    CTimer::get("XIOS").resume();
[325]541    field_hdl->long_name.setValue(long_name_str);
[581]542    CTimer::get("XIOS").suspend();
[325]543  }
[581]544
[325]545  void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)
546  {
[581]547    CTimer::get("XIOS").resume();
548    if (!string_copy(field_hdl->long_name.getInheritedValue(), long_name, long_name_size))
549      ERROR("void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)", << "Input string is too short");
550    CTimer::get("XIOS").suspend();
[325]551  }
[581]552
553  bool cxios_is_defined_field_long_name(field_Ptr field_hdl)
[432]554  {
555     CTimer::get("XIOS").resume();
[581]556     bool isDefined = field_hdl->long_name.hasInheritedValue();
[432]557     CTimer::get("XIOS").suspend();
[581]558     return isDefined;
[432]559  }
[581]560
561
[325]562  void cxios_set_field_name(field_Ptr field_hdl, const char * name, int name_size)
563  {
564    std::string name_str;
[581]565    if (!cstr2string(name, name_size, name_str)) return;
566    CTimer::get("XIOS").resume();
[325]567    field_hdl->name.setValue(name_str);
[581]568    CTimer::get("XIOS").suspend();
[325]569  }
[581]570
[325]571  void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)
572  {
[581]573    CTimer::get("XIOS").resume();
574    if (!string_copy(field_hdl->name.getInheritedValue(), name, name_size))
575      ERROR("void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)", << "Input string is too short");
576    CTimer::get("XIOS").suspend();
[325]577  }
[581]578
579  bool cxios_is_defined_field_name(field_Ptr field_hdl)
[432]580  {
581     CTimer::get("XIOS").resume();
[581]582     bool isDefined = field_hdl->name.hasInheritedValue();
[432]583     CTimer::get("XIOS").suspend();
[581]584     return isDefined;
[432]585  }
[581]586
587
[325]588  void cxios_set_field_operation(field_Ptr field_hdl, const char * operation, int operation_size)
589  {
590    std::string operation_str;
[581]591    if (!cstr2string(operation, operation_size, operation_str)) return;
592    CTimer::get("XIOS").resume();
[325]593    field_hdl->operation.setValue(operation_str);
[581]594    CTimer::get("XIOS").suspend();
[325]595  }
[581]596
[325]597  void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)
598  {
[581]599    CTimer::get("XIOS").resume();
600    if (!string_copy(field_hdl->operation.getInheritedValue(), operation, operation_size))
601      ERROR("void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)", << "Input string is too short");
602    CTimer::get("XIOS").suspend();
[325]603  }
[581]604
605  bool cxios_is_defined_field_operation(field_Ptr field_hdl)
[432]606  {
607     CTimer::get("XIOS").resume();
[581]608     bool isDefined = field_hdl->operation.hasInheritedValue();
[432]609     CTimer::get("XIOS").suspend();
[581]610     return isDefined;
[432]611  }
[581]612
613
[325]614  void cxios_set_field_prec(field_Ptr field_hdl, int prec)
615  {
[581]616    CTimer::get("XIOS").resume();
[325]617    field_hdl->prec.setValue(prec);
[581]618    CTimer::get("XIOS").suspend();
[325]619  }
[581]620
[325]621  void cxios_get_field_prec(field_Ptr field_hdl, int* prec)
622  {
[581]623    CTimer::get("XIOS").resume();
[445]624    *prec = field_hdl->prec.getInheritedValue();
[581]625    CTimer::get("XIOS").suspend();
[325]626  }
[581]627
628  bool cxios_is_defined_field_prec(field_Ptr field_hdl)
[432]629  {
630     CTimer::get("XIOS").resume();
[581]631     bool isDefined = field_hdl->prec.hasInheritedValue();
[432]632     CTimer::get("XIOS").suspend();
[581]633     return isDefined;
[432]634  }
[581]635
636
[593]637  void cxios_set_field_read_access(field_Ptr field_hdl, bool read_access)
638  {
639    CTimer::get("XIOS").resume();
640    field_hdl->read_access.setValue(read_access);
641    CTimer::get("XIOS").suspend();
642  }
643
644  void cxios_get_field_read_access(field_Ptr field_hdl, bool* read_access)
645  {
646    CTimer::get("XIOS").resume();
647    *read_access = field_hdl->read_access.getInheritedValue();
648    CTimer::get("XIOS").suspend();
649  }
650
651  bool cxios_is_defined_field_read_access(field_Ptr field_hdl)
652  {
653     CTimer::get("XIOS").resume();
654     bool isDefined = field_hdl->read_access.hasInheritedValue();
655     CTimer::get("XIOS").suspend();
656     return isDefined;
657  }
658
659
[891]660  void cxios_set_field_scalar_ref(field_Ptr field_hdl, const char * scalar_ref, int scalar_ref_size)
661  {
662    std::string scalar_ref_str;
663    if (!cstr2string(scalar_ref, scalar_ref_size, scalar_ref_str)) return;
664    CTimer::get("XIOS").resume();
665    field_hdl->scalar_ref.setValue(scalar_ref_str);
666    CTimer::get("XIOS").suspend();
667  }
668
669  void cxios_get_field_scalar_ref(field_Ptr field_hdl, char * scalar_ref, int scalar_ref_size)
670  {
671    CTimer::get("XIOS").resume();
672    if (!string_copy(field_hdl->scalar_ref.getInheritedValue(), scalar_ref, scalar_ref_size))
673      ERROR("void cxios_get_field_scalar_ref(field_Ptr field_hdl, char * scalar_ref, int scalar_ref_size)", << "Input string is too short");
674    CTimer::get("XIOS").suspend();
675  }
676
677  bool cxios_is_defined_field_scalar_ref(field_Ptr field_hdl)
678  {
679     CTimer::get("XIOS").resume();
680     bool isDefined = field_hdl->scalar_ref.hasInheritedValue();
681     CTimer::get("XIOS").suspend();
682     return isDefined;
683  }
684
685
[464]686  void cxios_set_field_scale_factor(field_Ptr field_hdl, double scale_factor)
687  {
[581]688    CTimer::get("XIOS").resume();
[464]689    field_hdl->scale_factor.setValue(scale_factor);
[581]690    CTimer::get("XIOS").suspend();
[464]691  }
[581]692
[464]693  void cxios_get_field_scale_factor(field_Ptr field_hdl, double* scale_factor)
694  {
[581]695    CTimer::get("XIOS").resume();
[464]696    *scale_factor = field_hdl->scale_factor.getInheritedValue();
[581]697    CTimer::get("XIOS").suspend();
[464]698  }
[581]699
700  bool cxios_is_defined_field_scale_factor(field_Ptr field_hdl)
[464]701  {
702     CTimer::get("XIOS").resume();
[581]703     bool isDefined = field_hdl->scale_factor.hasInheritedValue();
[464]704     CTimer::get("XIOS").suspend();
[581]705     return isDefined;
[464]706  }
[581]707
708
[325]709  void cxios_set_field_standard_name(field_Ptr field_hdl, const char * standard_name, int standard_name_size)
710  {
711    std::string standard_name_str;
[581]712    if (!cstr2string(standard_name, standard_name_size, standard_name_str)) return;
713    CTimer::get("XIOS").resume();
[325]714    field_hdl->standard_name.setValue(standard_name_str);
[581]715    CTimer::get("XIOS").suspend();
[325]716  }
[581]717
[325]718  void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)
719  {
[581]720    CTimer::get("XIOS").resume();
721    if (!string_copy(field_hdl->standard_name.getInheritedValue(), standard_name, standard_name_size))
722      ERROR("void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)", << "Input string is too short");
723    CTimer::get("XIOS").suspend();
[325]724  }
[581]725
726  bool cxios_is_defined_field_standard_name(field_Ptr field_hdl)
[432]727  {
728     CTimer::get("XIOS").resume();
[581]729     bool isDefined = field_hdl->standard_name.hasInheritedValue();
[432]730     CTimer::get("XIOS").suspend();
[581]731     return isDefined;
[432]732  }
[581]733
734
[711]735  void cxios_set_field_ts_enabled(field_Ptr field_hdl, bool ts_enabled)
736  {
737    CTimer::get("XIOS").resume();
738    field_hdl->ts_enabled.setValue(ts_enabled);
739    CTimer::get("XIOS").suspend();
740  }
741
742  void cxios_get_field_ts_enabled(field_Ptr field_hdl, bool* ts_enabled)
743  {
744    CTimer::get("XIOS").resume();
745    *ts_enabled = field_hdl->ts_enabled.getInheritedValue();
746    CTimer::get("XIOS").suspend();
747  }
748
749  bool cxios_is_defined_field_ts_enabled(field_Ptr field_hdl)
750  {
751     CTimer::get("XIOS").resume();
752     bool isDefined = field_hdl->ts_enabled.hasInheritedValue();
753     CTimer::get("XIOS").suspend();
754     return isDefined;
755  }
756
757
758  void cxios_set_field_ts_split_freq(field_Ptr field_hdl, cxios_duration ts_split_freq_c)
759  {
760    CTimer::get("XIOS").resume();
761    field_hdl->ts_split_freq.allocate();
762    CDuration& ts_split_freq = field_hdl->ts_split_freq.get();
763    ts_split_freq.year = ts_split_freq_c.year;
764    ts_split_freq.month = ts_split_freq_c.month;
765    ts_split_freq.day = ts_split_freq_c.day;
766    ts_split_freq.hour = ts_split_freq_c.hour;
767    ts_split_freq.minute = ts_split_freq_c.minute;
768    ts_split_freq.second = ts_split_freq_c.second;
769    ts_split_freq.timestep = ts_split_freq_c.timestep;
770    CTimer::get("XIOS").suspend();
771  }
772
773  void cxios_get_field_ts_split_freq(field_Ptr field_hdl, cxios_duration* ts_split_freq_c)
774  {
775    CTimer::get("XIOS").resume();
776    CDuration ts_split_freq = field_hdl->ts_split_freq.getInheritedValue();
777    ts_split_freq_c->year = ts_split_freq.year;
778    ts_split_freq_c->month = ts_split_freq.month;
779    ts_split_freq_c->day = ts_split_freq.day;
780    ts_split_freq_c->hour = ts_split_freq.hour;
781    ts_split_freq_c->minute = ts_split_freq.minute;
782    ts_split_freq_c->second = ts_split_freq.second;
783    ts_split_freq_c->timestep = ts_split_freq.timestep;
784    CTimer::get("XIOS").suspend();
785  }
786
787  bool cxios_is_defined_field_ts_split_freq(field_Ptr field_hdl)
788  {
789     CTimer::get("XIOS").resume();
790     bool isDefined = field_hdl->ts_split_freq.hasInheritedValue();
791     CTimer::get("XIOS").suspend();
792     return isDefined;
793  }
794
795
[325]796  void cxios_set_field_unit(field_Ptr field_hdl, const char * unit, int unit_size)
797  {
798    std::string unit_str;
[581]799    if (!cstr2string(unit, unit_size, unit_str)) return;
800    CTimer::get("XIOS").resume();
[325]801    field_hdl->unit.setValue(unit_str);
[581]802    CTimer::get("XIOS").suspend();
[325]803  }
[581]804
[325]805  void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)
806  {
[581]807    CTimer::get("XIOS").resume();
808    if (!string_copy(field_hdl->unit.getInheritedValue(), unit, unit_size))
809      ERROR("void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)", << "Input string is too short");
810    CTimer::get("XIOS").suspend();
[325]811  }
[581]812
813  bool cxios_is_defined_field_unit(field_Ptr field_hdl)
[432]814  {
815     CTimer::get("XIOS").resume();
[581]816     bool isDefined = field_hdl->unit.hasInheritedValue();
[432]817     CTimer::get("XIOS").suspend();
[581]818     return isDefined;
[432]819  }
[581]820
821
[463]822  void cxios_set_field_valid_max(field_Ptr field_hdl, double valid_max)
823  {
[581]824    CTimer::get("XIOS").resume();
[463]825    field_hdl->valid_max.setValue(valid_max);
[581]826    CTimer::get("XIOS").suspend();
[463]827  }
[581]828
[463]829  void cxios_get_field_valid_max(field_Ptr field_hdl, double* valid_max)
830  {
[581]831    CTimer::get("XIOS").resume();
[463]832    *valid_max = field_hdl->valid_max.getInheritedValue();
[581]833    CTimer::get("XIOS").suspend();
[463]834  }
[581]835
836  bool cxios_is_defined_field_valid_max(field_Ptr field_hdl)
[463]837  {
838     CTimer::get("XIOS").resume();
[581]839     bool isDefined = field_hdl->valid_max.hasInheritedValue();
[463]840     CTimer::get("XIOS").suspend();
[581]841     return isDefined;
[463]842  }
[581]843
844
[463]845  void cxios_set_field_valid_min(field_Ptr field_hdl, double valid_min)
846  {
[581]847    CTimer::get("XIOS").resume();
[463]848    field_hdl->valid_min.setValue(valid_min);
[581]849    CTimer::get("XIOS").suspend();
[463]850  }
[581]851
[463]852  void cxios_get_field_valid_min(field_Ptr field_hdl, double* valid_min)
853  {
[581]854    CTimer::get("XIOS").resume();
[463]855    *valid_min = field_hdl->valid_min.getInheritedValue();
[581]856    CTimer::get("XIOS").suspend();
[463]857  }
[581]858
859  bool cxios_is_defined_field_valid_min(field_Ptr field_hdl)
[463]860  {
861     CTimer::get("XIOS").resume();
[581]862     bool isDefined = field_hdl->valid_min.hasInheritedValue();
[463]863     CTimer::get("XIOS").suspend();
[581]864     return isDefined;
[463]865  }
[325]866}
Note: See TracBrowser for help on using the repository browser.