source: XIOS/dev/branch_openmp/src/interface/c_attr/icfield_attr.cpp @ 1545

Last change on this file since 1545 was 1545, checked in by yushan, 6 years ago

branch_openmp merged with trunk r1544

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