source: XIOS/dev/dev_trunk_omp/src/interface/c_attr/icfield_attr.cpp @ 1646

Last change on this file since 1646 was 1646, checked in by yushan, 5 years ago

branch merged with trunk @1645. arch file (ep&mpi) added for ADA

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