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