[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 | |
---|
| 16 | extern "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 | |
---|
[1021] | 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 | |
---|
[1021] | 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 | } |
---|