Changeset 711
- Timestamp:
- 09/29/15 14:17:42 (9 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/config/field_attribute.conf
r676 r711 28 28 29 29 DECLARE_ATTRIBUTE(int, compression_level) 30 31 DECLARE_ATTRIBUTE(bool, ts_enabled) 32 DECLARE_ATTRIBUTE(CDuration, ts_split_freq) -
XIOS/trunk/src/config/file_attribute.conf
r692 r711 3 3 4 4 DECLARE_ATTRIBUTE(StdString, name_suffix) 5 DECLARE_ATTRIBUTE(int, min_digits )5 DECLARE_ATTRIBUTE(int, min_digits ) 6 6 7 7 DECLARE_ATTRIBUTE(CDuration, output_freq) … … 11 11 DECLARE_ATTRIBUTE(StdString, split_freq_format) 12 12 DECLARE_ATTRIBUTE(bool, enabled) 13 DECLARE_ENUM2(type, one_file,multiple_file)14 DECLARE_ENUM2(format, netcdf4, netcdf4_classic)15 DECLARE_ENUM2(par_access, collective, independent)13 DECLARE_ENUM2(type, one_file, multiple_file) 14 DECLARE_ENUM2(format, netcdf4, netcdf4_classic) 15 DECLARE_ENUM2(par_access, collective, independent) 16 16 DECLARE_ATTRIBUTE(bool, append) 17 DECLARE_ENUM2(mode, read, write)18 DECLARE_ENUM4(time_counter, centered, instant, record, none)17 DECLARE_ENUM2(mode, read, write) 18 DECLARE_ENUM4(time_counter, centered, instant, record, none) 19 19 20 20 DECLARE_ATTRIBUTE(int, compression_level) 21 22 DECLARE_ENUM4(timeseries, none, only, both, exclusive) 23 DECLARE_ATTRIBUTE(StdString, ts_prefix) -
XIOS/trunk/src/interface/c_attr/icfield_attr.cpp
r676 r711 532 532 533 533 534 void cxios_set_field_ts_enabled(field_Ptr field_hdl, bool ts_enabled) 535 { 536 CTimer::get("XIOS").resume(); 537 field_hdl->ts_enabled.setValue(ts_enabled); 538 CTimer::get("XIOS").suspend(); 539 } 540 541 void cxios_get_field_ts_enabled(field_Ptr field_hdl, bool* ts_enabled) 542 { 543 CTimer::get("XIOS").resume(); 544 *ts_enabled = field_hdl->ts_enabled.getInheritedValue(); 545 CTimer::get("XIOS").suspend(); 546 } 547 548 bool cxios_is_defined_field_ts_enabled(field_Ptr field_hdl) 549 { 550 CTimer::get("XIOS").resume(); 551 bool isDefined = field_hdl->ts_enabled.hasInheritedValue(); 552 CTimer::get("XIOS").suspend(); 553 return isDefined; 554 } 555 556 557 void cxios_set_field_ts_split_freq(field_Ptr field_hdl, cxios_duration ts_split_freq_c) 558 { 559 CTimer::get("XIOS").resume(); 560 field_hdl->ts_split_freq.allocate(); 561 CDuration& ts_split_freq = field_hdl->ts_split_freq.get(); 562 ts_split_freq.year = ts_split_freq_c.year; 563 ts_split_freq.month = ts_split_freq_c.month; 564 ts_split_freq.day = ts_split_freq_c.day; 565 ts_split_freq.hour = ts_split_freq_c.hour; 566 ts_split_freq.minute = ts_split_freq_c.minute; 567 ts_split_freq.second = ts_split_freq_c.second; 568 ts_split_freq.timestep = ts_split_freq_c.timestep; 569 CTimer::get("XIOS").suspend(); 570 } 571 572 void cxios_get_field_ts_split_freq(field_Ptr field_hdl, cxios_duration* ts_split_freq_c) 573 { 574 CTimer::get("XIOS").resume(); 575 CDuration ts_split_freq = field_hdl->ts_split_freq.getInheritedValue(); 576 ts_split_freq_c->year = ts_split_freq.year; 577 ts_split_freq_c->month = ts_split_freq.month; 578 ts_split_freq_c->day = ts_split_freq.day; 579 ts_split_freq_c->hour = ts_split_freq.hour; 580 ts_split_freq_c->minute = ts_split_freq.minute; 581 ts_split_freq_c->second = ts_split_freq.second; 582 ts_split_freq_c->timestep = ts_split_freq.timestep; 583 CTimer::get("XIOS").suspend(); 584 } 585 586 bool cxios_is_defined_field_ts_split_freq(field_Ptr field_hdl) 587 { 588 CTimer::get("XIOS").resume(); 589 bool isDefined = field_hdl->ts_split_freq.hasInheritedValue(); 590 CTimer::get("XIOS").suspend(); 591 return isDefined; 592 } 593 594 534 595 void cxios_set_field_unit(field_Ptr field_hdl, const char * unit, int unit_size) 535 596 { -
XIOS/trunk/src/interface/c_attr/icfieldgroup_attr.cpp
r676 r711 558 558 559 559 560 void cxios_set_fieldgroup_ts_enabled(fieldgroup_Ptr fieldgroup_hdl, bool ts_enabled) 561 { 562 CTimer::get("XIOS").resume(); 563 fieldgroup_hdl->ts_enabled.setValue(ts_enabled); 564 CTimer::get("XIOS").suspend(); 565 } 566 567 void cxios_get_fieldgroup_ts_enabled(fieldgroup_Ptr fieldgroup_hdl, bool* ts_enabled) 568 { 569 CTimer::get("XIOS").resume(); 570 *ts_enabled = fieldgroup_hdl->ts_enabled.getInheritedValue(); 571 CTimer::get("XIOS").suspend(); 572 } 573 574 bool cxios_is_defined_fieldgroup_ts_enabled(fieldgroup_Ptr fieldgroup_hdl) 575 { 576 CTimer::get("XIOS").resume(); 577 bool isDefined = fieldgroup_hdl->ts_enabled.hasInheritedValue(); 578 CTimer::get("XIOS").suspend(); 579 return isDefined; 580 } 581 582 583 void cxios_set_fieldgroup_ts_split_freq(fieldgroup_Ptr fieldgroup_hdl, cxios_duration ts_split_freq_c) 584 { 585 CTimer::get("XIOS").resume(); 586 fieldgroup_hdl->ts_split_freq.allocate(); 587 CDuration& ts_split_freq = fieldgroup_hdl->ts_split_freq.get(); 588 ts_split_freq.year = ts_split_freq_c.year; 589 ts_split_freq.month = ts_split_freq_c.month; 590 ts_split_freq.day = ts_split_freq_c.day; 591 ts_split_freq.hour = ts_split_freq_c.hour; 592 ts_split_freq.minute = ts_split_freq_c.minute; 593 ts_split_freq.second = ts_split_freq_c.second; 594 ts_split_freq.timestep = ts_split_freq_c.timestep; 595 CTimer::get("XIOS").suspend(); 596 } 597 598 void cxios_get_fieldgroup_ts_split_freq(fieldgroup_Ptr fieldgroup_hdl, cxios_duration* ts_split_freq_c) 599 { 600 CTimer::get("XIOS").resume(); 601 CDuration ts_split_freq = fieldgroup_hdl->ts_split_freq.getInheritedValue(); 602 ts_split_freq_c->year = ts_split_freq.year; 603 ts_split_freq_c->month = ts_split_freq.month; 604 ts_split_freq_c->day = ts_split_freq.day; 605 ts_split_freq_c->hour = ts_split_freq.hour; 606 ts_split_freq_c->minute = ts_split_freq.minute; 607 ts_split_freq_c->second = ts_split_freq.second; 608 ts_split_freq_c->timestep = ts_split_freq.timestep; 609 CTimer::get("XIOS").suspend(); 610 } 611 612 bool cxios_is_defined_fieldgroup_ts_split_freq(fieldgroup_Ptr fieldgroup_hdl) 613 { 614 CTimer::get("XIOS").resume(); 615 bool isDefined = fieldgroup_hdl->ts_split_freq.hasInheritedValue(); 616 CTimer::get("XIOS").suspend(); 617 return isDefined; 618 } 619 620 560 621 void cxios_set_fieldgroup_unit(fieldgroup_Ptr fieldgroup_hdl, const char * unit, int unit_size) 561 622 { -
XIOS/trunk/src/interface/c_attr/icfile_attr.cpp
r699 r711 455 455 456 456 457 void cxios_set_file_timeseries(file_Ptr file_hdl, const char * timeseries, int timeseries_size) 458 { 459 std::string timeseries_str; 460 if (!cstr2string(timeseries, timeseries_size, timeseries_str)) return; 461 CTimer::get("XIOS").resume(); 462 file_hdl->timeseries.fromString(timeseries_str); 463 CTimer::get("XIOS").suspend(); 464 } 465 466 void cxios_get_file_timeseries(file_Ptr file_hdl, char * timeseries, int timeseries_size) 467 { 468 CTimer::get("XIOS").resume(); 469 if (!string_copy(file_hdl->timeseries.getInheritedStringValue(), timeseries, timeseries_size)) 470 ERROR("void cxios_get_file_timeseries(file_Ptr file_hdl, char * timeseries, int timeseries_size)", << "Input string is too short"); 471 CTimer::get("XIOS").suspend(); 472 } 473 474 bool cxios_is_defined_file_timeseries(file_Ptr file_hdl) 475 { 476 CTimer::get("XIOS").resume(); 477 bool isDefined = file_hdl->timeseries.hasInheritedValue(); 478 CTimer::get("XIOS").suspend(); 479 return isDefined; 480 } 481 482 483 void cxios_set_file_ts_prefix(file_Ptr file_hdl, const char * ts_prefix, int ts_prefix_size) 484 { 485 std::string ts_prefix_str; 486 if (!cstr2string(ts_prefix, ts_prefix_size, ts_prefix_str)) return; 487 CTimer::get("XIOS").resume(); 488 file_hdl->ts_prefix.setValue(ts_prefix_str); 489 CTimer::get("XIOS").suspend(); 490 } 491 492 void cxios_get_file_ts_prefix(file_Ptr file_hdl, char * ts_prefix, int ts_prefix_size) 493 { 494 CTimer::get("XIOS").resume(); 495 if (!string_copy(file_hdl->ts_prefix.getInheritedValue(), ts_prefix, ts_prefix_size)) 496 ERROR("void cxios_get_file_ts_prefix(file_Ptr file_hdl, char * ts_prefix, int ts_prefix_size)", << "Input string is too short"); 497 CTimer::get("XIOS").suspend(); 498 } 499 500 bool cxios_is_defined_file_ts_prefix(file_Ptr file_hdl) 501 { 502 CTimer::get("XIOS").resume(); 503 bool isDefined = file_hdl->ts_prefix.hasInheritedValue(); 504 CTimer::get("XIOS").suspend(); 505 return isDefined; 506 } 507 508 457 509 void cxios_set_file_type(file_Ptr file_hdl, const char * type, int type_size) 458 510 { -
XIOS/trunk/src/interface/c_attr/icfilegroup_attr.cpp
r699 r711 481 481 482 482 483 void cxios_set_filegroup_timeseries(filegroup_Ptr filegroup_hdl, const char * timeseries, int timeseries_size) 484 { 485 std::string timeseries_str; 486 if (!cstr2string(timeseries, timeseries_size, timeseries_str)) return; 487 CTimer::get("XIOS").resume(); 488 filegroup_hdl->timeseries.fromString(timeseries_str); 489 CTimer::get("XIOS").suspend(); 490 } 491 492 void cxios_get_filegroup_timeseries(filegroup_Ptr filegroup_hdl, char * timeseries, int timeseries_size) 493 { 494 CTimer::get("XIOS").resume(); 495 if (!string_copy(filegroup_hdl->timeseries.getInheritedStringValue(), timeseries, timeseries_size)) 496 ERROR("void cxios_get_filegroup_timeseries(filegroup_Ptr filegroup_hdl, char * timeseries, int timeseries_size)", << "Input string is too short"); 497 CTimer::get("XIOS").suspend(); 498 } 499 500 bool cxios_is_defined_filegroup_timeseries(filegroup_Ptr filegroup_hdl) 501 { 502 CTimer::get("XIOS").resume(); 503 bool isDefined = filegroup_hdl->timeseries.hasInheritedValue(); 504 CTimer::get("XIOS").suspend(); 505 return isDefined; 506 } 507 508 509 void cxios_set_filegroup_ts_prefix(filegroup_Ptr filegroup_hdl, const char * ts_prefix, int ts_prefix_size) 510 { 511 std::string ts_prefix_str; 512 if (!cstr2string(ts_prefix, ts_prefix_size, ts_prefix_str)) return; 513 CTimer::get("XIOS").resume(); 514 filegroup_hdl->ts_prefix.setValue(ts_prefix_str); 515 CTimer::get("XIOS").suspend(); 516 } 517 518 void cxios_get_filegroup_ts_prefix(filegroup_Ptr filegroup_hdl, char * ts_prefix, int ts_prefix_size) 519 { 520 CTimer::get("XIOS").resume(); 521 if (!string_copy(filegroup_hdl->ts_prefix.getInheritedValue(), ts_prefix, ts_prefix_size)) 522 ERROR("void cxios_get_filegroup_ts_prefix(filegroup_Ptr filegroup_hdl, char * ts_prefix, int ts_prefix_size)", << "Input string is too short"); 523 CTimer::get("XIOS").suspend(); 524 } 525 526 bool cxios_is_defined_filegroup_ts_prefix(filegroup_Ptr filegroup_hdl) 527 { 528 CTimer::get("XIOS").resume(); 529 bool isDefined = filegroup_hdl->ts_prefix.hasInheritedValue(); 530 CTimer::get("XIOS").suspend(); 531 return isDefined; 532 } 533 534 483 535 void cxios_set_filegroup_type(filegroup_Ptr filegroup_hdl, const char * type, int type_size) 484 536 { -
XIOS/trunk/src/interface/fortran_attr/field_interface_attr.F90
r676 r711 410 410 411 411 412 SUBROUTINE cxios_set_field_ts_enabled(field_hdl, ts_enabled) BIND(C) 413 USE ISO_C_BINDING 414 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 415 LOGICAL (KIND=C_BOOL) , VALUE :: ts_enabled 416 END SUBROUTINE cxios_set_field_ts_enabled 417 418 SUBROUTINE cxios_get_field_ts_enabled(field_hdl, ts_enabled) BIND(C) 419 USE ISO_C_BINDING 420 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 421 LOGICAL (KIND=C_BOOL) :: ts_enabled 422 END SUBROUTINE cxios_get_field_ts_enabled 423 424 FUNCTION cxios_is_defined_field_ts_enabled(field_hdl) BIND(C) 425 USE ISO_C_BINDING 426 LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_ts_enabled 427 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 428 END FUNCTION cxios_is_defined_field_ts_enabled 429 430 431 SUBROUTINE cxios_set_field_ts_split_freq(field_hdl, ts_split_freq) BIND(C) 432 USE ISO_C_BINDING 433 USE IDURATION 434 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 435 TYPE(txios(duration)), VALUE :: ts_split_freq 436 END SUBROUTINE cxios_set_field_ts_split_freq 437 438 SUBROUTINE cxios_get_field_ts_split_freq(field_hdl, ts_split_freq) BIND(C) 439 USE ISO_C_BINDING 440 USE IDURATION 441 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 442 TYPE(txios(duration)) :: ts_split_freq 443 END SUBROUTINE cxios_get_field_ts_split_freq 444 445 FUNCTION cxios_is_defined_field_ts_split_freq(field_hdl) BIND(C) 446 USE ISO_C_BINDING 447 LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_ts_split_freq 448 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 449 END FUNCTION cxios_is_defined_field_ts_split_freq 450 451 412 452 SUBROUTINE cxios_set_field_unit(field_hdl, unit, unit_size) BIND(C) 413 453 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.F90
r676 r711 431 431 432 432 433 SUBROUTINE cxios_set_fieldgroup_ts_enabled(fieldgroup_hdl, ts_enabled) BIND(C) 434 USE ISO_C_BINDING 435 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 436 LOGICAL (KIND=C_BOOL) , VALUE :: ts_enabled 437 END SUBROUTINE cxios_set_fieldgroup_ts_enabled 438 439 SUBROUTINE cxios_get_fieldgroup_ts_enabled(fieldgroup_hdl, ts_enabled) BIND(C) 440 USE ISO_C_BINDING 441 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 442 LOGICAL (KIND=C_BOOL) :: ts_enabled 443 END SUBROUTINE cxios_get_fieldgroup_ts_enabled 444 445 FUNCTION cxios_is_defined_fieldgroup_ts_enabled(fieldgroup_hdl) BIND(C) 446 USE ISO_C_BINDING 447 LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_ts_enabled 448 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 449 END FUNCTION cxios_is_defined_fieldgroup_ts_enabled 450 451 452 SUBROUTINE cxios_set_fieldgroup_ts_split_freq(fieldgroup_hdl, ts_split_freq) BIND(C) 453 USE ISO_C_BINDING 454 USE IDURATION 455 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 456 TYPE(txios(duration)), VALUE :: ts_split_freq 457 END SUBROUTINE cxios_set_fieldgroup_ts_split_freq 458 459 SUBROUTINE cxios_get_fieldgroup_ts_split_freq(fieldgroup_hdl, ts_split_freq) BIND(C) 460 USE ISO_C_BINDING 461 USE IDURATION 462 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 463 TYPE(txios(duration)) :: ts_split_freq 464 END SUBROUTINE cxios_get_fieldgroup_ts_split_freq 465 466 FUNCTION cxios_is_defined_fieldgroup_ts_split_freq(fieldgroup_hdl) BIND(C) 467 USE ISO_C_BINDING 468 LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_ts_split_freq 469 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 470 END FUNCTION cxios_is_defined_fieldgroup_ts_split_freq 471 472 433 473 SUBROUTINE cxios_set_fieldgroup_unit(fieldgroup_hdl, unit, unit_size) BIND(C) 434 474 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/file_interface_attr.F90
r699 r711 336 336 337 337 338 SUBROUTINE cxios_set_file_timeseries(file_hdl, timeseries, timeseries_size) BIND(C) 339 USE ISO_C_BINDING 340 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 341 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: timeseries 342 INTEGER (kind = C_INT) , VALUE :: timeseries_size 343 END SUBROUTINE cxios_set_file_timeseries 344 345 SUBROUTINE cxios_get_file_timeseries(file_hdl, timeseries, timeseries_size) BIND(C) 346 USE ISO_C_BINDING 347 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 348 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: timeseries 349 INTEGER (kind = C_INT) , VALUE :: timeseries_size 350 END SUBROUTINE cxios_get_file_timeseries 351 352 FUNCTION cxios_is_defined_file_timeseries(file_hdl) BIND(C) 353 USE ISO_C_BINDING 354 LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_timeseries 355 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 356 END FUNCTION cxios_is_defined_file_timeseries 357 358 359 SUBROUTINE cxios_set_file_ts_prefix(file_hdl, ts_prefix, ts_prefix_size) BIND(C) 360 USE ISO_C_BINDING 361 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 362 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: ts_prefix 363 INTEGER (kind = C_INT) , VALUE :: ts_prefix_size 364 END SUBROUTINE cxios_set_file_ts_prefix 365 366 SUBROUTINE cxios_get_file_ts_prefix(file_hdl, ts_prefix, ts_prefix_size) BIND(C) 367 USE ISO_C_BINDING 368 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 369 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: ts_prefix 370 INTEGER (kind = C_INT) , VALUE :: ts_prefix_size 371 END SUBROUTINE cxios_get_file_ts_prefix 372 373 FUNCTION cxios_is_defined_file_ts_prefix(file_hdl) BIND(C) 374 USE ISO_C_BINDING 375 LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_ts_prefix 376 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 377 END FUNCTION cxios_is_defined_file_ts_prefix 378 379 338 380 SUBROUTINE cxios_set_file_type(file_hdl, type, type_size) BIND(C) 339 381 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90
r699 r711 357 357 358 358 359 SUBROUTINE cxios_set_filegroup_timeseries(filegroup_hdl, timeseries, timeseries_size) BIND(C) 360 USE ISO_C_BINDING 361 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 362 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: timeseries 363 INTEGER (kind = C_INT) , VALUE :: timeseries_size 364 END SUBROUTINE cxios_set_filegroup_timeseries 365 366 SUBROUTINE cxios_get_filegroup_timeseries(filegroup_hdl, timeseries, timeseries_size) BIND(C) 367 USE ISO_C_BINDING 368 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 369 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: timeseries 370 INTEGER (kind = C_INT) , VALUE :: timeseries_size 371 END SUBROUTINE cxios_get_filegroup_timeseries 372 373 FUNCTION cxios_is_defined_filegroup_timeseries(filegroup_hdl) BIND(C) 374 USE ISO_C_BINDING 375 LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_timeseries 376 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 377 END FUNCTION cxios_is_defined_filegroup_timeseries 378 379 380 SUBROUTINE cxios_set_filegroup_ts_prefix(filegroup_hdl, ts_prefix, ts_prefix_size) BIND(C) 381 USE ISO_C_BINDING 382 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 383 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: ts_prefix 384 INTEGER (kind = C_INT) , VALUE :: ts_prefix_size 385 END SUBROUTINE cxios_set_filegroup_ts_prefix 386 387 SUBROUTINE cxios_get_filegroup_ts_prefix(filegroup_hdl, ts_prefix, ts_prefix_size) BIND(C) 388 USE ISO_C_BINDING 389 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 390 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: ts_prefix 391 INTEGER (kind = C_INT) , VALUE :: ts_prefix_size 392 END SUBROUTINE cxios_get_filegroup_ts_prefix 393 394 FUNCTION cxios_is_defined_filegroup_ts_prefix(filegroup_hdl) BIND(C) 395 USE ISO_C_BINDING 396 LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_ts_prefix 397 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 398 END FUNCTION cxios_is_defined_filegroup_ts_prefix 399 400 359 401 SUBROUTINE cxios_set_filegroup_type(filegroup_hdl, type, type_size) BIND(C) 360 402 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90
r676 r711 14 14 ( field_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 15 15 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 16 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 16 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 17 , valid_max, valid_min ) 17 18 18 19 IMPLICIT NONE … … 43 44 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 44 45 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 46 LOGICAL , OPTIONAL, INTENT(IN) :: ts_enabled 47 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 48 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: ts_split_freq 45 49 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 46 50 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max … … 51 55 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 52 56 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 53 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 57 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 58 , valid_max, valid_min ) 54 59 55 60 END SUBROUTINE xios(set_field_attr) … … 58 63 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 59 64 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 60 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 65 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 66 , valid_max, valid_min ) 61 67 62 68 IMPLICIT NONE … … 86 92 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 87 93 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 94 LOGICAL , OPTIONAL, INTENT(IN) :: ts_enabled 95 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 96 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: ts_split_freq 88 97 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 89 98 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max … … 93 102 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 94 103 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 95 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 104 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 105 , valid_max, valid_min ) 96 106 97 107 END SUBROUTINE xios(set_field_attr_hdl) … … 100 110 ( field_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_ & 101 111 , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, indexed_output_, level_ & 102 , long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_, unit_, valid_max_ &103 , valid_min_ )112 , long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_, ts_enabled_ & 113 , ts_split_freq_, unit_, valid_max_, valid_min_ ) 104 114 105 115 IMPLICIT NONE … … 129 139 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor_ 130 140 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 141 LOGICAL , OPTIONAL, INTENT(IN) :: ts_enabled_ 142 LOGICAL (KIND=C_BOOL) :: ts_enabled__tmp 143 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: ts_split_freq_ 131 144 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_ 132 145 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max_ … … 217 230 ENDIF 218 231 232 IF (PRESENT(ts_enabled_)) THEN 233 ts_enabled__tmp = ts_enabled_ 234 CALL cxios_set_field_ts_enabled(field_hdl%daddr, ts_enabled__tmp) 235 ENDIF 236 237 IF (PRESENT(ts_split_freq_)) THEN 238 CALL cxios_set_field_ts_split_freq(field_hdl%daddr, ts_split_freq_) 239 ENDIF 240 219 241 IF (PRESENT(unit_)) THEN 220 242 CALL cxios_set_field_unit(field_hdl%daddr, unit_, len(unit_)) … … 234 256 ( field_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 235 257 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 236 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 258 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 259 , valid_max, valid_min ) 237 260 238 261 IMPLICIT NONE … … 263 286 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 264 287 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 288 LOGICAL , OPTIONAL, INTENT(OUT) :: ts_enabled 289 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 290 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: ts_split_freq 265 291 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 266 292 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max … … 271 297 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 272 298 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 273 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 299 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 300 , valid_max, valid_min ) 274 301 275 302 END SUBROUTINE xios(get_field_attr) … … 278 305 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 279 306 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 280 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 307 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 308 , valid_max, valid_min ) 281 309 282 310 IMPLICIT NONE … … 306 334 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 307 335 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 336 LOGICAL , OPTIONAL, INTENT(OUT) :: ts_enabled 337 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 338 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: ts_split_freq 308 339 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 309 340 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max … … 313 344 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 314 345 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 315 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 346 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 347 , valid_max, valid_min ) 316 348 317 349 END SUBROUTINE xios(get_field_attr_hdl) … … 320 352 ( field_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_ & 321 353 , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, indexed_output_, level_ & 322 , long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_, unit_, valid_max_ &323 , valid_min_ )354 , long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_, ts_enabled_ & 355 , ts_split_freq_, unit_, valid_max_, valid_min_ ) 324 356 325 357 IMPLICIT NONE … … 349 381 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor_ 350 382 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 383 LOGICAL , OPTIONAL, INTENT(OUT) :: ts_enabled_ 384 LOGICAL (KIND=C_BOOL) :: ts_enabled__tmp 385 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: ts_split_freq_ 351 386 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_ 352 387 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max_ … … 437 472 ENDIF 438 473 474 IF (PRESENT(ts_enabled_)) THEN 475 CALL cxios_get_field_ts_enabled(field_hdl%daddr, ts_enabled__tmp) 476 ts_enabled_ = ts_enabled__tmp 477 ENDIF 478 479 IF (PRESENT(ts_split_freq_)) THEN 480 CALL cxios_get_field_ts_split_freq(field_hdl%daddr, ts_split_freq_) 481 ENDIF 482 439 483 IF (PRESENT(unit_)) THEN 440 484 CALL cxios_get_field_unit(field_hdl%daddr, unit_, len(unit_)) … … 454 498 ( field_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 455 499 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 456 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 500 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 501 , valid_max, valid_min ) 457 502 458 503 IMPLICIT NONE … … 499 544 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 500 545 LOGICAL(KIND=C_BOOL) :: standard_name_tmp 546 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled 547 LOGICAL(KIND=C_BOOL) :: ts_enabled_tmp 548 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq 549 LOGICAL(KIND=C_BOOL) :: ts_split_freq_tmp 501 550 LOGICAL, OPTIONAL, INTENT(OUT) :: unit 502 551 LOGICAL(KIND=C_BOOL) :: unit_tmp … … 510 559 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 511 560 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 512 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 561 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 562 , valid_max, valid_min ) 513 563 514 564 END SUBROUTINE xios(is_defined_field_attr) … … 517 567 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 518 568 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 519 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 569 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 570 , valid_max, valid_min ) 520 571 521 572 IMPLICIT NONE … … 561 612 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 562 613 LOGICAL(KIND=C_BOOL) :: standard_name_tmp 614 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled 615 LOGICAL(KIND=C_BOOL) :: ts_enabled_tmp 616 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq 617 LOGICAL(KIND=C_BOOL) :: ts_split_freq_tmp 563 618 LOGICAL, OPTIONAL, INTENT(OUT) :: unit 564 619 LOGICAL(KIND=C_BOOL) :: unit_tmp … … 571 626 ( field_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value, domain_ref & 572 627 , enabled, field_ref, freq_offset, freq_op, grid_ref, indexed_output, level, long_name, name & 573 , operation, prec, read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 628 , operation, prec, read_access, scale_factor, standard_name, ts_enabled, ts_split_freq, unit & 629 , valid_max, valid_min ) 574 630 575 631 END SUBROUTINE xios(is_defined_field_attr_hdl) … … 578 634 ( field_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_ & 579 635 , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, indexed_output_, level_ & 580 , long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_, unit_, valid_max_ &581 , valid_min_ )636 , long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_, ts_enabled_ & 637 , ts_split_freq_, unit_, valid_max_, valid_min_ ) 582 638 583 639 IMPLICIT NONE … … 623 679 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_ 624 680 LOGICAL(KIND=C_BOOL) :: standard_name__tmp 681 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled_ 682 LOGICAL(KIND=C_BOOL) :: ts_enabled__tmp 683 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq_ 684 LOGICAL(KIND=C_BOOL) :: ts_split_freq__tmp 625 685 LOGICAL, OPTIONAL, INTENT(OUT) :: unit_ 626 686 LOGICAL(KIND=C_BOOL) :: unit__tmp … … 730 790 ENDIF 731 791 792 IF (PRESENT(ts_enabled_)) THEN 793 ts_enabled__tmp = cxios_is_defined_field_ts_enabled(field_hdl%daddr) 794 ts_enabled_ = ts_enabled__tmp 795 ENDIF 796 797 IF (PRESENT(ts_split_freq_)) THEN 798 ts_split_freq__tmp = cxios_is_defined_field_ts_split_freq(field_hdl%daddr) 799 ts_split_freq_ = ts_split_freq__tmp 800 ENDIF 801 732 802 IF (PRESENT(unit_)) THEN 733 803 unit__tmp = cxios_is_defined_field_unit(field_hdl%daddr) -
XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90
r676 r711 14 14 ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 15 15 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 16 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&17 , valid_min )16 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 17 , ts_split_freq, unit, valid_max, valid_min ) 18 18 19 19 IMPLICIT NONE … … 45 45 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 46 46 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 47 LOGICAL , OPTIONAL, INTENT(IN) :: ts_enabled 48 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 49 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: ts_split_freq 47 50 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 48 51 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max … … 53 56 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 54 57 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 55 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&56 , valid_min )58 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 59 , ts_split_freq, unit, valid_max, valid_min ) 57 60 58 61 END SUBROUTINE xios(set_fieldgroup_attr) … … 61 64 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 62 65 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 63 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&64 , valid_min )66 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 67 , ts_split_freq, unit, valid_max, valid_min ) 65 68 66 69 IMPLICIT NONE … … 91 94 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 92 95 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 96 LOGICAL , OPTIONAL, INTENT(IN) :: ts_enabled 97 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 98 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: ts_split_freq 93 99 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 94 100 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max … … 98 104 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 99 105 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 100 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&101 , valid_min )106 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 107 , ts_split_freq, unit, valid_max, valid_min ) 102 108 103 109 END SUBROUTINE xios(set_fieldgroup_attr_hdl) … … 107 113 , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, indexed_output_ & 108 114 , level_, long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_ & 109 , unit_, valid_max_, valid_min_ )115 , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 110 116 111 117 IMPLICIT NONE … … 136 142 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor_ 137 143 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 144 LOGICAL , OPTIONAL, INTENT(IN) :: ts_enabled_ 145 LOGICAL (KIND=C_BOOL) :: ts_enabled__tmp 146 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: ts_split_freq_ 138 147 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_ 139 148 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max_ … … 228 237 ENDIF 229 238 239 IF (PRESENT(ts_enabled_)) THEN 240 ts_enabled__tmp = ts_enabled_ 241 CALL cxios_set_fieldgroup_ts_enabled(fieldgroup_hdl%daddr, ts_enabled__tmp) 242 ENDIF 243 244 IF (PRESENT(ts_split_freq_)) THEN 245 CALL cxios_set_fieldgroup_ts_split_freq(fieldgroup_hdl%daddr, ts_split_freq_) 246 ENDIF 247 230 248 IF (PRESENT(unit_)) THEN 231 249 CALL cxios_set_fieldgroup_unit(fieldgroup_hdl%daddr, unit_, len(unit_)) … … 245 263 ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 246 264 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 247 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&248 , valid_min )265 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 266 , ts_split_freq, unit, valid_max, valid_min ) 249 267 250 268 IMPLICIT NONE … … 276 294 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 277 295 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 296 LOGICAL , OPTIONAL, INTENT(OUT) :: ts_enabled 297 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 298 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: ts_split_freq 278 299 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 279 300 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max … … 284 305 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 285 306 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 286 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&287 , valid_min )307 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 308 , ts_split_freq, unit, valid_max, valid_min ) 288 309 289 310 END SUBROUTINE xios(get_fieldgroup_attr) … … 292 313 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 293 314 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 294 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&295 , valid_min )315 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 316 , ts_split_freq, unit, valid_max, valid_min ) 296 317 297 318 IMPLICIT NONE … … 322 343 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 323 344 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 345 LOGICAL , OPTIONAL, INTENT(OUT) :: ts_enabled 346 LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp 347 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: ts_split_freq 324 348 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 325 349 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max … … 329 353 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 330 354 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 331 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&332 , valid_min )355 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 356 , ts_split_freq, unit, valid_max, valid_min ) 333 357 334 358 END SUBROUTINE xios(get_fieldgroup_attr_hdl) … … 338 362 , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, indexed_output_ & 339 363 , level_, long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_ & 340 , unit_, valid_max_, valid_min_ )364 , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 341 365 342 366 IMPLICIT NONE … … 367 391 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor_ 368 392 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 393 LOGICAL , OPTIONAL, INTENT(OUT) :: ts_enabled_ 394 LOGICAL (KIND=C_BOOL) :: ts_enabled__tmp 395 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: ts_split_freq_ 369 396 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_ 370 397 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max_ … … 459 486 ENDIF 460 487 488 IF (PRESENT(ts_enabled_)) THEN 489 CALL cxios_get_fieldgroup_ts_enabled(fieldgroup_hdl%daddr, ts_enabled__tmp) 490 ts_enabled_ = ts_enabled__tmp 491 ENDIF 492 493 IF (PRESENT(ts_split_freq_)) THEN 494 CALL cxios_get_fieldgroup_ts_split_freq(fieldgroup_hdl%daddr, ts_split_freq_) 495 ENDIF 496 461 497 IF (PRESENT(unit_)) THEN 462 498 CALL cxios_get_fieldgroup_unit(fieldgroup_hdl%daddr, unit_, len(unit_)) … … 476 512 ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 477 513 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 478 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&479 , valid_min )514 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 515 , ts_split_freq, unit, valid_max, valid_min ) 480 516 481 517 IMPLICIT NONE … … 524 560 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 525 561 LOGICAL(KIND=C_BOOL) :: standard_name_tmp 562 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled 563 LOGICAL(KIND=C_BOOL) :: ts_enabled_tmp 564 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq 565 LOGICAL(KIND=C_BOOL) :: ts_split_freq_tmp 526 566 LOGICAL, OPTIONAL, INTENT(OUT) :: unit 527 567 LOGICAL(KIND=C_BOOL) :: unit_tmp … … 535 575 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 536 576 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 537 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&538 , valid_min )577 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 578 , ts_split_freq, unit, valid_max, valid_min ) 539 579 540 580 END SUBROUTINE xios(is_defined_fieldgroup_attr) … … 543 583 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 544 584 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 545 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&546 , valid_min )585 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 586 , ts_split_freq, unit, valid_max, valid_min ) 547 587 548 588 IMPLICIT NONE … … 590 630 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 591 631 LOGICAL(KIND=C_BOOL) :: standard_name_tmp 632 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled 633 LOGICAL(KIND=C_BOOL) :: ts_enabled_tmp 634 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq 635 LOGICAL(KIND=C_BOOL) :: ts_split_freq_tmp 592 636 LOGICAL, OPTIONAL, INTENT(OUT) :: unit 593 637 LOGICAL(KIND=C_BOOL) :: unit_tmp … … 600 644 ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value & 601 645 , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_ref, group_ref, indexed_output & 602 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, unit, valid_max&603 , valid_min )646 , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled & 647 , ts_split_freq, unit, valid_max, valid_min ) 604 648 605 649 END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) … … 609 653 , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, indexed_output_ & 610 654 , level_, long_name_, name_, operation_, prec_, read_access_, scale_factor_, standard_name_ & 611 , unit_, valid_max_, valid_min_ )655 , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 612 656 613 657 IMPLICIT NONE … … 655 699 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_ 656 700 LOGICAL(KIND=C_BOOL) :: standard_name__tmp 701 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled_ 702 LOGICAL(KIND=C_BOOL) :: ts_enabled__tmp 703 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq_ 704 LOGICAL(KIND=C_BOOL) :: ts_split_freq__tmp 657 705 LOGICAL, OPTIONAL, INTENT(OUT) :: unit_ 658 706 LOGICAL(KIND=C_BOOL) :: unit__tmp … … 767 815 ENDIF 768 816 817 IF (PRESENT(ts_enabled_)) THEN 818 ts_enabled__tmp = cxios_is_defined_fieldgroup_ts_enabled(fieldgroup_hdl%daddr) 819 ts_enabled_ = ts_enabled__tmp 820 ENDIF 821 822 IF (PRESENT(ts_split_freq_)) THEN 823 ts_split_freq__tmp = cxios_is_defined_fieldgroup_ts_split_freq(fieldgroup_hdl%daddr) 824 ts_split_freq_ = ts_split_freq__tmp 825 ENDIF 826 769 827 IF (PRESENT(unit_)) THEN 770 828 unit__tmp = cxios_is_defined_fieldgroup_unit(fieldgroup_hdl%daddr) -
XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90
r699 r711 14 14 ( file_id, append, compression_level, description, enabled, format, min_digits, mode, name, name_suffix & 15 15 , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter & 16 , t ype )16 , timeseries, ts_prefix, type ) 17 17 18 18 IMPLICIT NONE … … 37 37 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: sync_freq 38 38 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 39 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timeseries 40 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix 39 41 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 40 42 … … 43 45 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 44 46 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 45 , time_counter, t ype )47 , time_counter, timeseries, ts_prefix, type ) 46 48 47 49 END SUBROUTINE xios(set_file_attr) … … 50 52 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 51 53 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 52 , time_counter, t ype )54 , time_counter, timeseries, ts_prefix, type ) 53 55 54 56 IMPLICIT NONE … … 72 74 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: sync_freq 73 75 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 76 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timeseries 77 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix 74 78 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 75 79 … … 77 81 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 78 82 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 79 , time_counter, t ype )83 , time_counter, timeseries, ts_prefix, type ) 80 84 81 85 END SUBROUTINE xios(set_file_attr_hdl) … … 84 88 ( file_hdl, append_, compression_level_, description_, enabled_, format_, min_digits_, mode_ & 85 89 , name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_ & 86 , sync_freq_, time_counter_, t ype_ )90 , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ ) 87 91 88 92 IMPLICIT NONE … … 106 110 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: sync_freq_ 107 111 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter_ 112 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timeseries_ 113 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix_ 108 114 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 109 115 … … 174 180 ENDIF 175 181 182 IF (PRESENT(timeseries_)) THEN 183 CALL cxios_set_file_timeseries(file_hdl%daddr, timeseries_, len(timeseries_)) 184 ENDIF 185 186 IF (PRESENT(ts_prefix_)) THEN 187 CALL cxios_set_file_ts_prefix(file_hdl%daddr, ts_prefix_, len(ts_prefix_)) 188 ENDIF 189 176 190 IF (PRESENT(type_)) THEN 177 191 CALL cxios_set_file_type(file_hdl%daddr, type_, len(type_)) … … 183 197 ( file_id, append, compression_level, description, enabled, format, min_digits, mode, name, name_suffix & 184 198 , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter & 185 , t ype )199 , timeseries, ts_prefix, type ) 186 200 187 201 IMPLICIT NONE … … 206 220 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: sync_freq 207 221 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 222 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timeseries 223 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix 208 224 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 209 225 … … 212 228 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 213 229 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 214 , time_counter, t ype )230 , time_counter, timeseries, ts_prefix, type ) 215 231 216 232 END SUBROUTINE xios(get_file_attr) … … 219 235 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 220 236 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 221 , time_counter, t ype )237 , time_counter, timeseries, ts_prefix, type ) 222 238 223 239 IMPLICIT NONE … … 241 257 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: sync_freq 242 258 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 259 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timeseries 260 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix 243 261 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 244 262 … … 246 264 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 247 265 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 248 , time_counter, t ype )266 , time_counter, timeseries, ts_prefix, type ) 249 267 250 268 END SUBROUTINE xios(get_file_attr_hdl) … … 253 271 ( file_hdl, append_, compression_level_, description_, enabled_, format_, min_digits_, mode_ & 254 272 , name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_ & 255 , sync_freq_, time_counter_, t ype_ )273 , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ ) 256 274 257 275 IMPLICIT NONE … … 275 293 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: sync_freq_ 276 294 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter_ 295 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timeseries_ 296 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix_ 277 297 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 278 298 … … 343 363 ENDIF 344 364 365 IF (PRESENT(timeseries_)) THEN 366 CALL cxios_get_file_timeseries(file_hdl%daddr, timeseries_, len(timeseries_)) 367 ENDIF 368 369 IF (PRESENT(ts_prefix_)) THEN 370 CALL cxios_get_file_ts_prefix(file_hdl%daddr, ts_prefix_, len(ts_prefix_)) 371 ENDIF 372 345 373 IF (PRESENT(type_)) THEN 346 374 CALL cxios_get_file_type(file_hdl%daddr, type_, len(type_)) … … 352 380 ( file_id, append, compression_level, description, enabled, format, min_digits, mode, name, name_suffix & 353 381 , output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter & 354 , t ype )382 , timeseries, ts_prefix, type ) 355 383 356 384 IMPLICIT NONE … … 389 417 LOGICAL, OPTIONAL, INTENT(OUT) :: time_counter 390 418 LOGICAL(KIND=C_BOOL) :: time_counter_tmp 419 LOGICAL, OPTIONAL, INTENT(OUT) :: timeseries 420 LOGICAL(KIND=C_BOOL) :: timeseries_tmp 421 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_prefix 422 LOGICAL(KIND=C_BOOL) :: ts_prefix_tmp 391 423 LOGICAL, OPTIONAL, INTENT(OUT) :: type 392 424 LOGICAL(KIND=C_BOOL) :: type_tmp … … 396 428 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 397 429 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 398 , time_counter, t ype )430 , time_counter, timeseries, ts_prefix, type ) 399 431 400 432 END SUBROUTINE xios(is_defined_file_attr) … … 403 435 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 404 436 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 405 , time_counter, t ype )437 , time_counter, timeseries, ts_prefix, type ) 406 438 407 439 IMPLICIT NONE … … 439 471 LOGICAL, OPTIONAL, INTENT(OUT) :: time_counter 440 472 LOGICAL(KIND=C_BOOL) :: time_counter_tmp 473 LOGICAL, OPTIONAL, INTENT(OUT) :: timeseries 474 LOGICAL(KIND=C_BOOL) :: timeseries_tmp 475 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_prefix 476 LOGICAL(KIND=C_BOOL) :: ts_prefix_tmp 441 477 LOGICAL, OPTIONAL, INTENT(OUT) :: type 442 478 LOGICAL(KIND=C_BOOL) :: type_tmp … … 445 481 ( file_hdl, append, compression_level, description, enabled, format, min_digits, mode, name & 446 482 , name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format, sync_freq & 447 , time_counter, t ype )483 , time_counter, timeseries, ts_prefix, type ) 448 484 449 485 END SUBROUTINE xios(is_defined_file_attr_hdl) … … 452 488 ( file_hdl, append_, compression_level_, description_, enabled_, format_, min_digits_, mode_ & 453 489 , name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_ & 454 , sync_freq_, time_counter_, t ype_ )490 , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ ) 455 491 456 492 IMPLICIT NONE … … 488 524 LOGICAL, OPTIONAL, INTENT(OUT) :: time_counter_ 489 525 LOGICAL(KIND=C_BOOL) :: time_counter__tmp 526 LOGICAL, OPTIONAL, INTENT(OUT) :: timeseries_ 527 LOGICAL(KIND=C_BOOL) :: timeseries__tmp 528 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_prefix_ 529 LOGICAL(KIND=C_BOOL) :: ts_prefix__tmp 490 530 LOGICAL, OPTIONAL, INTENT(OUT) :: type_ 491 531 LOGICAL(KIND=C_BOOL) :: type__tmp … … 571 611 ENDIF 572 612 613 IF (PRESENT(timeseries_)) THEN 614 timeseries__tmp = cxios_is_defined_file_timeseries(file_hdl%daddr) 615 timeseries_ = timeseries__tmp 616 ENDIF 617 618 IF (PRESENT(ts_prefix_)) THEN 619 ts_prefix__tmp = cxios_is_defined_file_ts_prefix(file_hdl%daddr) 620 ts_prefix_ = ts_prefix__tmp 621 ENDIF 622 573 623 IF (PRESENT(type_)) THEN 574 624 type__tmp = cxios_is_defined_file_type(file_hdl%daddr) -
XIOS/trunk/src/interface/fortran_attr/ifilegroup_attr.F90
r699 r711 14 14 ( filegroup_id, append, compression_level, description, enabled, format, group_ref, min_digits & 15 15 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 16 , sync_freq, time_counter, t ype )16 , sync_freq, time_counter, timeseries, ts_prefix, type ) 17 17 18 18 IMPLICIT NONE … … 38 38 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: sync_freq 39 39 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 40 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timeseries 41 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix 40 42 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 41 43 … … 44 46 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 45 47 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 46 , sync_freq, time_counter, t ype )48 , sync_freq, time_counter, timeseries, ts_prefix, type ) 47 49 48 50 END SUBROUTINE xios(set_filegroup_attr) … … 51 53 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 52 54 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 53 , sync_freq, time_counter, t ype )55 , sync_freq, time_counter, timeseries, ts_prefix, type ) 54 56 55 57 IMPLICIT NONE … … 74 76 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: sync_freq 75 77 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter 78 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timeseries 79 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix 76 80 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 77 81 … … 79 83 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 80 84 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 81 , sync_freq, time_counter, t ype )85 , sync_freq, time_counter, timeseries, ts_prefix, type ) 82 86 83 87 END SUBROUTINE xios(set_filegroup_attr_hdl) … … 86 90 ( filegroup_hdl, append_, compression_level_, description_, enabled_, format_, group_ref_, min_digits_ & 87 91 , mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_ & 88 , sync_freq_, time_counter_, t ype_ )92 , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ ) 89 93 90 94 IMPLICIT NONE … … 109 113 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: sync_freq_ 110 114 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_counter_ 115 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timeseries_ 116 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_prefix_ 111 117 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 112 118 … … 181 187 ENDIF 182 188 189 IF (PRESENT(timeseries_)) THEN 190 CALL cxios_set_filegroup_timeseries(filegroup_hdl%daddr, timeseries_, len(timeseries_)) 191 ENDIF 192 193 IF (PRESENT(ts_prefix_)) THEN 194 CALL cxios_set_filegroup_ts_prefix(filegroup_hdl%daddr, ts_prefix_, len(ts_prefix_)) 195 ENDIF 196 183 197 IF (PRESENT(type_)) THEN 184 198 CALL cxios_set_filegroup_type(filegroup_hdl%daddr, type_, len(type_)) … … 190 204 ( filegroup_id, append, compression_level, description, enabled, format, group_ref, min_digits & 191 205 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 192 , sync_freq, time_counter, t ype )206 , sync_freq, time_counter, timeseries, ts_prefix, type ) 193 207 194 208 IMPLICIT NONE … … 214 228 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: sync_freq 215 229 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 230 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timeseries 231 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix 216 232 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 217 233 … … 220 236 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 221 237 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 222 , sync_freq, time_counter, t ype )238 , sync_freq, time_counter, timeseries, ts_prefix, type ) 223 239 224 240 END SUBROUTINE xios(get_filegroup_attr) … … 227 243 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 228 244 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 229 , sync_freq, time_counter, t ype )245 , sync_freq, time_counter, timeseries, ts_prefix, type ) 230 246 231 247 IMPLICIT NONE … … 250 266 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: sync_freq 251 267 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter 268 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timeseries 269 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix 252 270 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 253 271 … … 255 273 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 256 274 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 257 , sync_freq, time_counter, t ype )275 , sync_freq, time_counter, timeseries, ts_prefix, type ) 258 276 259 277 END SUBROUTINE xios(get_filegroup_attr_hdl) … … 262 280 ( filegroup_hdl, append_, compression_level_, description_, enabled_, format_, group_ref_, min_digits_ & 263 281 , mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_ & 264 , sync_freq_, time_counter_, t ype_ )282 , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ ) 265 283 266 284 IMPLICIT NONE … … 285 303 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: sync_freq_ 286 304 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_counter_ 305 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timeseries_ 306 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_prefix_ 287 307 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 288 308 … … 357 377 ENDIF 358 378 379 IF (PRESENT(timeseries_)) THEN 380 CALL cxios_get_filegroup_timeseries(filegroup_hdl%daddr, timeseries_, len(timeseries_)) 381 ENDIF 382 383 IF (PRESENT(ts_prefix_)) THEN 384 CALL cxios_get_filegroup_ts_prefix(filegroup_hdl%daddr, ts_prefix_, len(ts_prefix_)) 385 ENDIF 386 359 387 IF (PRESENT(type_)) THEN 360 388 CALL cxios_get_filegroup_type(filegroup_hdl%daddr, type_, len(type_)) … … 366 394 ( filegroup_id, append, compression_level, description, enabled, format, group_ref, min_digits & 367 395 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 368 , sync_freq, time_counter, t ype )396 , sync_freq, time_counter, timeseries, ts_prefix, type ) 369 397 370 398 IMPLICIT NONE … … 405 433 LOGICAL, OPTIONAL, INTENT(OUT) :: time_counter 406 434 LOGICAL(KIND=C_BOOL) :: time_counter_tmp 435 LOGICAL, OPTIONAL, INTENT(OUT) :: timeseries 436 LOGICAL(KIND=C_BOOL) :: timeseries_tmp 437 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_prefix 438 LOGICAL(KIND=C_BOOL) :: ts_prefix_tmp 407 439 LOGICAL, OPTIONAL, INTENT(OUT) :: type 408 440 LOGICAL(KIND=C_BOOL) :: type_tmp … … 412 444 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 413 445 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 414 , sync_freq, time_counter, t ype )446 , sync_freq, time_counter, timeseries, ts_prefix, type ) 415 447 416 448 END SUBROUTINE xios(is_defined_filegroup_attr) … … 419 451 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 420 452 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 421 , sync_freq, time_counter, t ype )453 , sync_freq, time_counter, timeseries, ts_prefix, type ) 422 454 423 455 IMPLICIT NONE … … 457 489 LOGICAL, OPTIONAL, INTENT(OUT) :: time_counter 458 490 LOGICAL(KIND=C_BOOL) :: time_counter_tmp 491 LOGICAL, OPTIONAL, INTENT(OUT) :: timeseries 492 LOGICAL(KIND=C_BOOL) :: timeseries_tmp 493 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_prefix 494 LOGICAL(KIND=C_BOOL) :: ts_prefix_tmp 459 495 LOGICAL, OPTIONAL, INTENT(OUT) :: type 460 496 LOGICAL(KIND=C_BOOL) :: type_tmp … … 463 499 ( filegroup_hdl, append, compression_level, description, enabled, format, group_ref, min_digits & 464 500 , mode, name, name_suffix, output_freq, output_level, par_access, split_freq, split_freq_format & 465 , sync_freq, time_counter, t ype )501 , sync_freq, time_counter, timeseries, ts_prefix, type ) 466 502 467 503 END SUBROUTINE xios(is_defined_filegroup_attr_hdl) … … 470 506 ( filegroup_hdl, append_, compression_level_, description_, enabled_, format_, group_ref_, min_digits_ & 471 507 , mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, split_freq_, split_freq_format_ & 472 , sync_freq_, time_counter_, t ype_ )508 , sync_freq_, time_counter_, timeseries_, ts_prefix_, type_ ) 473 509 474 510 IMPLICIT NONE … … 508 544 LOGICAL, OPTIONAL, INTENT(OUT) :: time_counter_ 509 545 LOGICAL(KIND=C_BOOL) :: time_counter__tmp 546 LOGICAL, OPTIONAL, INTENT(OUT) :: timeseries_ 547 LOGICAL(KIND=C_BOOL) :: timeseries__tmp 548 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_prefix_ 549 LOGICAL(KIND=C_BOOL) :: ts_prefix__tmp 510 550 LOGICAL, OPTIONAL, INTENT(OUT) :: type_ 511 551 LOGICAL(KIND=C_BOOL) :: type__tmp … … 596 636 ENDIF 597 637 638 IF (PRESENT(timeseries_)) THEN 639 timeseries__tmp = cxios_is_defined_filegroup_timeseries(filegroup_hdl%daddr) 640 timeseries_ = timeseries__tmp 641 ENDIF 642 643 IF (PRESENT(ts_prefix_)) THEN 644 ts_prefix__tmp = cxios_is_defined_filegroup_ts_prefix(filegroup_hdl%daddr) 645 ts_prefix_ = ts_prefix__tmp 646 ENDIF 647 598 648 IF (PRESENT(type_)) THEN 599 649 type__tmp = cxios_is_defined_filegroup_type(filegroup_hdl%daddr) -
XIOS/trunk/src/node/context.cpp
r697 r711 771 771 // Warning: This must be done after solving the inheritance and before the rest of post-processing 772 772 checkAxisDomainsGridsEligibilityForCompressedOutput(); 773 774 // Check if some automatic time series should be generated 775 // Warning: This must be done after solving the inheritance and before the rest of post-processing 776 prepareTimeseries(); 773 777 774 778 //Initialisation du vecteur 'enabledFiles' contenant la liste des fichiers à sortir. … … 895 899 } 896 900 901 //! Client side: Prepare the timeseries by adding the necessary files 902 void CContext::prepareTimeseries() 903 { 904 if (!hasClient) return; 905 906 const std::vector<CFile*> allFiles = CFile::getAll(); 907 for (size_t i = 0; i < allFiles.size(); i++) 908 { 909 CFile* file = allFiles[i]; 910 911 if (!file->timeseries.isEmpty() && file->timeseries != CFile::timeseries_attr::none) 912 { 913 StdString tsPrefix = !file->ts_prefix.isEmpty() ? file->ts_prefix : (!file->name.isEmpty() ? file->name : file->getId()); 914 915 const std::vector<CField*> allFields = file->getAllFields(); 916 for (size_t j = 0; j < allFields.size(); j++) 917 { 918 CField* field = allFields[j]; 919 920 if (!field->ts_enabled.isEmpty() && field->ts_enabled) 921 { 922 CFile* tsFile = CFile::create(); 923 tsFile->duplicateAttributes(file); 924 925 tsFile->name = tsPrefix + "_"; 926 if (!field->name.isEmpty()) 927 tsFile->name.get() += field->name; 928 else if (field->hasDirectFieldReference()) // We cannot use getBaseFieldReference() just yet 929 tsFile->name.get() += field->field_ref; 930 else 931 tsFile->name.get() += field->getId(); 932 933 if (!field->ts_split_freq.isEmpty()) 934 tsFile->split_freq = field->ts_split_freq; 935 936 CField* tsField = tsFile->addField(); 937 tsField->field_ref = field->getId(); 938 939 tsFile->solveFieldRefInheritance(true); 940 941 if (file->timeseries == CFile::timeseries_attr::exclusive) 942 field->enabled = false; 943 } 944 } 945 946 // Finally disable the original file is need be 947 if (file->timeseries == CFile::timeseries_attr::only) 948 file->enabled = false; 949 } 950 } 951 } 952 897 953 //! Client side: Send information of reference grid of active fields 898 954 void CContext::sendRefGrid() -
XIOS/trunk/src/node/context.hpp
r697 r711 110 110 void createFileHeader(void ); 111 111 void checkAxisDomainsGridsEligibilityForCompressedOutput(); 112 void prepareTimeseries(void); 112 113 void solveAllRefOfEnabledFields(bool sendToServer); 113 114 void buildFilterGraphOfEnabledFields();
Note: See TracChangeset
for help on using the changeset viewer.