source: XIOS/trunk/src/interface/c_attr/icfield_attr.cpp @ 538

Last change on this file since 538 was 538, checked in by rlacroix, 9 years ago

Convert more attributes to use the new duration type:

  • field: freq_op and freq_offset
  • file: output_freq, sync_freq and split_freq.

Remember that you now have to use the "xios_duration" type instead of strings to get/set those attributes through the Fortran interface.

  • 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: 16.0 KB
Line 
1/* ************************************************************************** *
2 *               Interface auto generated - do not modify                   *
3 * ************************************************************************** */
4
5#include <boost/multi_array.hpp>
6#include <boost/shared_ptr.hpp>
7#include "xmlioserver.hpp"
8#include "attribute_template.hpp"
9#include "object_template.hpp"
10#include "group_template.hpp"
11#include "icutil.hpp"
12#include "icdate.hpp"
13#include "timer.hpp"
14#include "node_type.hpp"
15
16extern "C"
17{
18  typedef xios::CField*  field_Ptr;
19 
20  void cxios_set_field_add_offset(field_Ptr field_hdl, double add_offset)
21  {
22     CTimer::get("XIOS").resume();
23    field_hdl->add_offset.setValue(add_offset);
24     CTimer::get("XIOS").suspend();
25  }
26 
27  void cxios_get_field_add_offset(field_Ptr field_hdl, double* add_offset)
28  {
29    *add_offset = field_hdl->add_offset.getInheritedValue();
30  }
31 
32  bool cxios_is_defined_field_add_offset(field_Ptr field_hdl )
33  {
34     CTimer::get("XIOS").resume();
35    return field_hdl->add_offset.hasInheritedValue();
36     CTimer::get("XIOS").suspend();
37  }
38 
39 
40 
41  void cxios_set_field_axis_ref(field_Ptr field_hdl, const char * axis_ref, int axis_ref_size)
42  {
43    std::string axis_ref_str;
44    if(!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
45     CTimer::get("XIOS").resume();
46    field_hdl->axis_ref.setValue(axis_ref_str);
47     CTimer::get("XIOS").suspend();
48  }
49 
50  void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)
51  {
52     CTimer::get("XIOS").resume();
53    if(!string_copy(field_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size))
54      ERROR("void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short");
55     CTimer::get("XIOS").suspend();
56  }
57 
58  bool cxios_is_defined_field_axis_ref(field_Ptr field_hdl )
59  {
60     CTimer::get("XIOS").resume();
61    return field_hdl->axis_ref.hasInheritedValue();
62     CTimer::get("XIOS").suspend();
63  }
64 
65 
66 
67  void cxios_set_field_default_value(field_Ptr field_hdl, double default_value)
68  {
69     CTimer::get("XIOS").resume();
70    field_hdl->default_value.setValue(default_value);
71     CTimer::get("XIOS").suspend();
72  }
73 
74  void cxios_get_field_default_value(field_Ptr field_hdl, double* default_value)
75  {
76    *default_value = field_hdl->default_value.getInheritedValue();
77  }
78 
79  bool cxios_is_defined_field_default_value(field_Ptr field_hdl )
80  {
81     CTimer::get("XIOS").resume();
82    return field_hdl->default_value.hasInheritedValue();
83     CTimer::get("XIOS").suspend();
84  }
85 
86 
87 
88  void cxios_set_field_detect_missing_value(field_Ptr field_hdl, bool detect_missing_value)
89  {
90     CTimer::get("XIOS").resume();
91    field_hdl->detect_missing_value.setValue(detect_missing_value);
92     CTimer::get("XIOS").suspend();
93  }
94 
95  void cxios_get_field_detect_missing_value(field_Ptr field_hdl, bool* detect_missing_value)
96  {
97    *detect_missing_value = field_hdl->detect_missing_value.getInheritedValue();
98  }
99 
100  bool cxios_is_defined_field_detect_missing_value(field_Ptr field_hdl )
101  {
102     CTimer::get("XIOS").resume();
103    return field_hdl->detect_missing_value.hasInheritedValue();
104     CTimer::get("XIOS").suspend();
105  }
106 
107 
108 
109  void cxios_set_field_domain_ref(field_Ptr field_hdl, const char * domain_ref, int domain_ref_size)
110  {
111    std::string domain_ref_str;
112    if(!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return;
113     CTimer::get("XIOS").resume();
114    field_hdl->domain_ref.setValue(domain_ref_str);
115     CTimer::get("XIOS").suspend();
116  }
117 
118  void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)
119  {
120     CTimer::get("XIOS").resume();
121    if(!string_copy(field_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size))
122      ERROR("void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short");
123     CTimer::get("XIOS").suspend();
124  }
125 
126  bool cxios_is_defined_field_domain_ref(field_Ptr field_hdl )
127  {
128     CTimer::get("XIOS").resume();
129    return field_hdl->domain_ref.hasInheritedValue();
130     CTimer::get("XIOS").suspend();
131  }
132 
133 
134 
135  void cxios_set_field_enabled(field_Ptr field_hdl, bool enabled)
136  {
137     CTimer::get("XIOS").resume();
138    field_hdl->enabled.setValue(enabled);
139     CTimer::get("XIOS").suspend();
140  }
141 
142  void cxios_get_field_enabled(field_Ptr field_hdl, bool* enabled)
143  {
144    *enabled = field_hdl->enabled.getInheritedValue();
145  }
146 
147  bool cxios_is_defined_field_enabled(field_Ptr field_hdl )
148  {
149     CTimer::get("XIOS").resume();
150    return field_hdl->enabled.hasInheritedValue();
151     CTimer::get("XIOS").suspend();
152  }
153 
154 
155 
156  void cxios_set_field_field_ref(field_Ptr field_hdl, const char * field_ref, int field_ref_size)
157  {
158    std::string field_ref_str;
159    if(!cstr2string(field_ref, field_ref_size, field_ref_str)) return;
160     CTimer::get("XIOS").resume();
161    field_hdl->field_ref.setValue(field_ref_str);
162     CTimer::get("XIOS").suspend();
163  }
164 
165  void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)
166  {
167     CTimer::get("XIOS").resume();
168    if(!string_copy(field_hdl->field_ref.getInheritedValue(),field_ref , field_ref_size))
169      ERROR("void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)", <<"Input string is to short");
170     CTimer::get("XIOS").suspend();
171  }
172 
173  bool cxios_is_defined_field_field_ref(field_Ptr field_hdl )
174  {
175     CTimer::get("XIOS").resume();
176    return field_hdl->field_ref.hasInheritedValue();
177     CTimer::get("XIOS").suspend();
178  }
179 
180 
181 
182  void cxios_set_field_freq_offset(field_Ptr field_hdl, cxios_duration freq_offset_c)
183  {
184    CTimer::get("XIOS").resume();
185    field_hdl->freq_offset.allocate();
186    CDuration& freq_offset = field_hdl->freq_offset.get();
187    freq_offset.year = freq_offset_c.year;
188    freq_offset.month = freq_offset_c.month;
189    freq_offset.day = freq_offset_c.day;
190    freq_offset.hour = freq_offset_c.hour;
191    freq_offset.minute = freq_offset_c.minute;
192    freq_offset.second = freq_offset_c.second;
193    freq_offset.timestep = freq_offset_c.timestep;
194    CTimer::get("XIOS").suspend();
195  }
196 
197  void cxios_get_field_freq_offset(field_Ptr field_hdl, cxios_duration* freq_offset_c)
198  {
199    CTimer::get("XIOS").resume();
200    CDuration freq_offset = field_hdl->freq_offset.getInheritedValue();
201    freq_offset_c->year = freq_offset.year;
202    freq_offset_c->month = freq_offset.month;
203    freq_offset_c->day = freq_offset.day;
204    freq_offset_c->hour = freq_offset.hour;
205    freq_offset_c->minute = freq_offset.minute;
206    freq_offset_c->second = freq_offset.second;
207    freq_offset_c->timestep = freq_offset.timestep;
208    CTimer::get("XIOS").suspend();
209  }
210 
211  bool cxios_is_defined_field_freq_offset(field_Ptr field_hdl )
212  {
213     CTimer::get("XIOS").resume();
214    return field_hdl->freq_offset.hasInheritedValue();
215     CTimer::get("XIOS").suspend();
216  }
217 
218 
219 
220  void cxios_set_field_freq_op(field_Ptr field_hdl, cxios_duration freq_op_c)
221  {
222    CTimer::get("XIOS").resume();
223    field_hdl->freq_op.allocate();
224    CDuration& freq_op = field_hdl->freq_op.get();
225    freq_op.year = freq_op_c.year;
226    freq_op.month = freq_op_c.month;
227    freq_op.day = freq_op_c.day;
228    freq_op.hour = freq_op_c.hour;
229    freq_op.minute = freq_op_c.minute;
230    freq_op.second = freq_op_c.second;
231    freq_op.timestep = freq_op_c.timestep;
232    CTimer::get("XIOS").suspend();
233  }
234 
235  void cxios_get_field_freq_op(field_Ptr field_hdl, cxios_duration* freq_op_c)
236  {
237    CTimer::get("XIOS").resume();
238    CDuration freq_op = field_hdl->freq_op.getInheritedValue();
239    freq_op_c->year = freq_op.year;
240    freq_op_c->month = freq_op.month;
241    freq_op_c->day = freq_op.day;
242    freq_op_c->hour = freq_op.hour;
243    freq_op_c->minute = freq_op.minute;
244    freq_op_c->second = freq_op.second;
245    freq_op_c->timestep = freq_op.timestep;
246    CTimer::get("XIOS").suspend();
247  }
248 
249  bool cxios_is_defined_field_freq_op(field_Ptr field_hdl )
250  {
251     CTimer::get("XIOS").resume();
252    return field_hdl->freq_op.hasInheritedValue();
253     CTimer::get("XIOS").suspend();
254  }
255 
256 
257 
258  void cxios_set_field_grid_ref(field_Ptr field_hdl, const char * grid_ref, int grid_ref_size)
259  {
260    std::string grid_ref_str;
261    if(!cstr2string(grid_ref, grid_ref_size, grid_ref_str)) return;
262     CTimer::get("XIOS").resume();
263    field_hdl->grid_ref.setValue(grid_ref_str);
264     CTimer::get("XIOS").suspend();
265  }
266 
267  void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)
268  {
269     CTimer::get("XIOS").resume();
270    if(!string_copy(field_hdl->grid_ref.getInheritedValue(),grid_ref , grid_ref_size))
271      ERROR("void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)", <<"Input string is to short");
272     CTimer::get("XIOS").suspend();
273  }
274 
275  bool cxios_is_defined_field_grid_ref(field_Ptr field_hdl )
276  {
277     CTimer::get("XIOS").resume();
278    return field_hdl->grid_ref.hasInheritedValue();
279     CTimer::get("XIOS").suspend();
280  }
281 
282 
283 
284  void cxios_set_field_level(field_Ptr field_hdl, int level)
285  {
286     CTimer::get("XIOS").resume();
287    field_hdl->level.setValue(level);
288     CTimer::get("XIOS").suspend();
289  }
290 
291  void cxios_get_field_level(field_Ptr field_hdl, int* level)
292  {
293    *level = field_hdl->level.getInheritedValue();
294  }
295 
296  bool cxios_is_defined_field_level(field_Ptr field_hdl )
297  {
298     CTimer::get("XIOS").resume();
299    return field_hdl->level.hasInheritedValue();
300     CTimer::get("XIOS").suspend();
301  }
302 
303 
304 
305  void cxios_set_field_long_name(field_Ptr field_hdl, const char * long_name, int long_name_size)
306  {
307    std::string long_name_str;
308    if(!cstr2string(long_name, long_name_size, long_name_str)) return;
309     CTimer::get("XIOS").resume();
310    field_hdl->long_name.setValue(long_name_str);
311     CTimer::get("XIOS").suspend();
312  }
313 
314  void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)
315  {
316     CTimer::get("XIOS").resume();
317    if(!string_copy(field_hdl->long_name.getInheritedValue(),long_name , long_name_size))
318      ERROR("void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)", <<"Input string is to short");
319     CTimer::get("XIOS").suspend();
320  }
321 
322  bool cxios_is_defined_field_long_name(field_Ptr field_hdl )
323  {
324     CTimer::get("XIOS").resume();
325    return field_hdl->long_name.hasInheritedValue();
326     CTimer::get("XIOS").suspend();
327  }
328 
329 
330 
331  void cxios_set_field_name(field_Ptr field_hdl, const char * name, int name_size)
332  {
333    std::string name_str;
334    if(!cstr2string(name, name_size, name_str)) return;
335     CTimer::get("XIOS").resume();
336    field_hdl->name.setValue(name_str);
337     CTimer::get("XIOS").suspend();
338  }
339 
340  void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)
341  {
342     CTimer::get("XIOS").resume();
343    if(!string_copy(field_hdl->name.getInheritedValue(),name , name_size))
344      ERROR("void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)", <<"Input string is to short");
345     CTimer::get("XIOS").suspend();
346  }
347 
348  bool cxios_is_defined_field_name(field_Ptr field_hdl )
349  {
350     CTimer::get("XIOS").resume();
351    return field_hdl->name.hasInheritedValue();
352     CTimer::get("XIOS").suspend();
353  }
354 
355 
356 
357  void cxios_set_field_operation(field_Ptr field_hdl, const char * operation, int operation_size)
358  {
359    std::string operation_str;
360    if(!cstr2string(operation, operation_size, operation_str)) return;
361     CTimer::get("XIOS").resume();
362    field_hdl->operation.setValue(operation_str);
363     CTimer::get("XIOS").suspend();
364  }
365 
366  void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)
367  {
368     CTimer::get("XIOS").resume();
369    if(!string_copy(field_hdl->operation.getInheritedValue(),operation , operation_size))
370      ERROR("void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)", <<"Input string is to short");
371     CTimer::get("XIOS").suspend();
372  }
373 
374  bool cxios_is_defined_field_operation(field_Ptr field_hdl )
375  {
376     CTimer::get("XIOS").resume();
377    return field_hdl->operation.hasInheritedValue();
378     CTimer::get("XIOS").suspend();
379  }
380 
381 
382 
383  void cxios_set_field_prec(field_Ptr field_hdl, int prec)
384  {
385     CTimer::get("XIOS").resume();
386    field_hdl->prec.setValue(prec);
387     CTimer::get("XIOS").suspend();
388  }
389 
390  void cxios_get_field_prec(field_Ptr field_hdl, int* prec)
391  {
392    *prec = field_hdl->prec.getInheritedValue();
393  }
394 
395  bool cxios_is_defined_field_prec(field_Ptr field_hdl )
396  {
397     CTimer::get("XIOS").resume();
398    return field_hdl->prec.hasInheritedValue();
399     CTimer::get("XIOS").suspend();
400  }
401 
402 
403 
404  void cxios_set_field_scale_factor(field_Ptr field_hdl, double scale_factor)
405  {
406     CTimer::get("XIOS").resume();
407    field_hdl->scale_factor.setValue(scale_factor);
408     CTimer::get("XIOS").suspend();
409  }
410 
411  void cxios_get_field_scale_factor(field_Ptr field_hdl, double* scale_factor)
412  {
413    *scale_factor = field_hdl->scale_factor.getInheritedValue();
414  }
415 
416  bool cxios_is_defined_field_scale_factor(field_Ptr field_hdl )
417  {
418     CTimer::get("XIOS").resume();
419    return field_hdl->scale_factor.hasInheritedValue();
420     CTimer::get("XIOS").suspend();
421  }
422 
423 
424 
425  void cxios_set_field_standard_name(field_Ptr field_hdl, const char * standard_name, int standard_name_size)
426  {
427    std::string standard_name_str;
428    if(!cstr2string(standard_name, standard_name_size, standard_name_str)) return;
429     CTimer::get("XIOS").resume();
430    field_hdl->standard_name.setValue(standard_name_str);
431     CTimer::get("XIOS").suspend();
432  }
433 
434  void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)
435  {
436     CTimer::get("XIOS").resume();
437    if(!string_copy(field_hdl->standard_name.getInheritedValue(),standard_name , standard_name_size))
438      ERROR("void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)", <<"Input string is to short");
439     CTimer::get("XIOS").suspend();
440  }
441 
442  bool cxios_is_defined_field_standard_name(field_Ptr field_hdl )
443  {
444     CTimer::get("XIOS").resume();
445    return field_hdl->standard_name.hasInheritedValue();
446     CTimer::get("XIOS").suspend();
447  }
448 
449 
450 
451  void cxios_set_field_unit(field_Ptr field_hdl, const char * unit, int unit_size)
452  {
453    std::string unit_str;
454    if(!cstr2string(unit, unit_size, unit_str)) return;
455     CTimer::get("XIOS").resume();
456    field_hdl->unit.setValue(unit_str);
457     CTimer::get("XIOS").suspend();
458  }
459 
460  void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)
461  {
462     CTimer::get("XIOS").resume();
463    if(!string_copy(field_hdl->unit.getInheritedValue(),unit , unit_size))
464      ERROR("void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)", <<"Input string is to short");
465     CTimer::get("XIOS").suspend();
466  }
467 
468  bool cxios_is_defined_field_unit(field_Ptr field_hdl )
469  {
470     CTimer::get("XIOS").resume();
471    return field_hdl->unit.hasInheritedValue();
472     CTimer::get("XIOS").suspend();
473  }
474 
475 
476 
477  void cxios_set_field_valid_max(field_Ptr field_hdl, double valid_max)
478  {
479     CTimer::get("XIOS").resume();
480    field_hdl->valid_max.setValue(valid_max);
481     CTimer::get("XIOS").suspend();
482  }
483 
484  void cxios_get_field_valid_max(field_Ptr field_hdl, double* valid_max)
485  {
486    *valid_max = field_hdl->valid_max.getInheritedValue();
487  }
488 
489  bool cxios_is_defined_field_valid_max(field_Ptr field_hdl )
490  {
491     CTimer::get("XIOS").resume();
492    return field_hdl->valid_max.hasInheritedValue();
493     CTimer::get("XIOS").suspend();
494  }
495 
496 
497 
498  void cxios_set_field_valid_min(field_Ptr field_hdl, double valid_min)
499  {
500     CTimer::get("XIOS").resume();
501    field_hdl->valid_min.setValue(valid_min);
502     CTimer::get("XIOS").suspend();
503  }
504 
505  void cxios_get_field_valid_min(field_Ptr field_hdl, double* valid_min)
506  {
507    *valid_min = field_hdl->valid_min.getInheritedValue();
508  }
509 
510  bool cxios_is_defined_field_valid_min(field_Ptr field_hdl )
511  {
512     CTimer::get("XIOS").resume();
513    return field_hdl->valid_min.hasInheritedValue();
514     CTimer::get("XIOS").suspend();
515  }
516 
517 
518 
519 
520}
Note: See TracBrowser for help on using the repository browser.