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

Last change on this file since 1131 was 1005, checked in by mhnguyen, 8 years ago

Updating Fortran interfaces

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