Changeset 312 for XIOS/trunk/src/fortran/ifield.F90
- Timestamp:
- 02/14/12 15:36:14 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/fortran/ifield.F90
r310 r312 6 6 USE FIELDGROUP_INTERFACE 7 7 8 TYPE XFieldHandle9 INTEGER(kind = C_INTPTR_T) :: daddr10 END TYPE XFieldHandle11 12 TYPE XFieldGroupHandle13 INTEGER(kind = C_INTPTR_T) :: daddr14 END TYPE XFieldGroupHandle15 16 8 TYPE txios(field) 17 9 INTEGER(kind = C_INTPTR_T) :: daddr … … 21 13 INTEGER(kind = C_INTPTR_T) :: daddr 22 14 END TYPE txios(fieldgroup) 23 24 !----------------------------------------------------------------------------25 INTERFACE set_field_attributes26 MODULE PROCEDURE set_field_attributes_id,set_field_attributes_hdl27 END INTERFACE28 29 INTERFACE set_field_group_attributes30 MODULE PROCEDURE set_fieldgroup_attributes_id,set_fieldgroup_attributes_hdl31 END INTERFACE32 !----------------------------------------------------------------------------33 34 15 35 16 CONTAINS ! Fonctions disponibles pour les utilisateurs. … … 341 322 END FUNCTION xios(field_is_active_hdl) 342 323 343 344 345 346 347 348 349 350 351 352 !!!!!!!!!!!!!!!!!!!!!!!!!! Ancienne interfaces !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!353 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!354 SUBROUTINE set_fieldgroup_attributes_id &355 (fieldgroup_id, name_, standard_name_, long_name_, unit_, operation_, freq_op_, level_, &356 prec_, enabled_, domain_ref_, axis_ref_, grid_ref_, field_ref_, default_value_)357 358 IMPLICIT NONE359 TYPE(XFieldGroupHandle) :: fieldgroup_hdl360 CHARACTER(len = *) , INTENT(IN) :: fieldgroup_id361 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_362 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_363 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_364 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_365 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_366 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_op_367 INTEGER , OPTIONAL, INTENT(IN) :: level_368 INTEGER , OPTIONAL, INTENT(IN) :: prec_369 LOGICAL , OPTIONAL, INTENT(IN) :: enabled_370 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_371 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_372 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref_373 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_374 REAL(kind=8) , OPTIONAL, INTENT(IN) :: default_value_375 376 CALL fieldgroup_handle_create(fieldgroup_hdl, fieldgroup_id)377 CALL set_fieldgroup_attributes_hdl &378 (fieldgroup_hdl, name_, standard_name_, long_name_, unit_, operation_, freq_op_, level_, &379 prec_, enabled_, domain_ref_, axis_ref_, grid_ref_, field_ref_, default_value_)380 381 END SUBROUTINE set_fieldgroup_attributes_id382 383 SUBROUTINE set_fieldgroup_attributes_hdl &384 (fieldgroup_hdl, name_, standard_name_, long_name_, unit_, operation_, freq_op_, level_, &385 prec_, enabled_, domain_ref_, axis_ref_, grid_ref_, field_ref_, default_value_)386 IMPLICIT NONE387 TYPE(XFieldgroupHandle) , INTENT(IN) :: fieldgroup_hdl388 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_389 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_390 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_391 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_392 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_393 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_op_394 INTEGER , OPTIONAL, INTENT(IN) :: level_395 INTEGER , OPTIONAL, INTENT(IN) :: prec_396 LOGICAL(kind = 1) :: enabled__397 LOGICAL , OPTIONAL, INTENT(IN) :: enabled_398 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_399 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_400 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref_401 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_402 REAL(kind=8) , OPTIONAL, INTENT(IN) :: default_value_403 404 IF (PRESENT(name_)) THEN405 CALL cxios_set_fieldgroup_name(fieldgroup_hdl%daddr, name_, len(name_))406 END IF407 IF (PRESENT(standard_name_)) THEN408 CALL cxios_set_fieldgroup_standard_name(fieldgroup_hdl%daddr, standard_name_, len(standard_name_))409 END IF410 IF (PRESENT(long_name_)) THEN411 CALL cxios_set_fieldgroup_long_name(fieldgroup_hdl%daddr, long_name_, len(long_name_))412 END IF413 IF (PRESENT(unit_)) THEN414 CALL cxios_set_fieldgroup_unit(fieldgroup_hdl%daddr, unit_, len(unit_))415 END IF416 IF (PRESENT(operation_)) THEN417 CALL cxios_set_fieldgroup_operation(fieldgroup_hdl%daddr, operation_, len(operation_))418 END IF419 IF (PRESENT(freq_op_)) THEN420 CALL cxios_set_fieldgroup_freq_op(fieldgroup_hdl%daddr, freq_op_, len(freq_op_))421 END IF422 IF (PRESENT(level_)) THEN423 CALL cxios_set_fieldgroup_level(fieldgroup_hdl%daddr, level_)424 END IF425 IF (PRESENT(prec_)) THEN426 CALL cxios_set_fieldgroup_prec(fieldgroup_hdl%daddr, prec_)427 END IF428 IF (PRESENT(enabled_)) THEN429 enabled__ = enabled_430 CALL cxios_set_fieldgroup_enabled(fieldgroup_hdl%daddr, enabled__)431 END IF432 IF (PRESENT(domain_ref_)) THEN433 CALL cxios_set_fieldgroup_domain_ref(fieldgroup_hdl%daddr, domain_ref_, len(domain_ref_))434 END IF435 IF (PRESENT(axis_ref_)) THEN436 CALL cxios_set_fieldgroup_axis_ref(fieldgroup_hdl%daddr, axis_ref_, len(axis_ref_))437 END IF438 IF (PRESENT(grid_ref_)) THEN439 CALL cxios_set_fieldgroup_grid_ref(fieldgroup_hdl%daddr, grid_ref_, len(grid_ref_))440 END IF441 IF (PRESENT(field_ref_)) THEN442 CALL cxios_set_fieldgroup_field_ref(fieldgroup_hdl%daddr, field_ref_, len(field_ref_))443 END IF444 IF (PRESENT(default_value_)) THEN445 CALL cxios_set_fieldgroup_default_value(fieldgroup_hdl%daddr, default_value_)446 END IF447 448 END SUBROUTINE set_fieldgroup_attributes_hdl449 450 SUBROUTINE set_field_attributes_id &451 (field_id, name_, standard_name_, long_name_, unit_, operation_, freq_op_, level_, &452 prec_, enabled_, domain_ref_, axis_ref_, grid_ref_, field_ref_, default_value_)453 454 IMPLICIT NONE455 TYPE(XFieldHandle) :: field_hdl456 CHARACTER(len = *) , INTENT(IN) :: field_id457 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_458 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_459 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_460 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_461 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_462 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_op_463 INTEGER , OPTIONAL, INTENT(IN) :: level_464 INTEGER , OPTIONAL, INTENT(IN) :: prec_465 LOGICAL , OPTIONAL, INTENT(IN) :: enabled_466 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_467 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_468 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref_469 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_470 REAL(kind=8) , OPTIONAL, INTENT(IN) :: default_value_471 472 CALL field_handle_create(field_hdl, field_id)473 CALL set_field_attributes_hdl &474 (field_hdl, name_, standard_name_, long_name_, unit_, operation_, freq_op_, level_, &475 prec_, enabled_, domain_ref_, axis_ref_, grid_ref_, field_ref_, default_value_)476 477 END SUBROUTINE set_field_attributes_id478 479 SUBROUTINE set_field_attributes_hdl &480 (field_hdl, name_, standard_name_, long_name_, unit_, operation_, freq_op_, level_, &481 prec_, enabled_, domain_ref_, axis_ref_, grid_ref_, field_ref_, default_value_)482 IMPLICIT NONE483 TYPE(XFieldHandle) , INTENT(IN) :: field_hdl484 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_485 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_486 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_487 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_488 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_489 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_op_490 INTEGER , OPTIONAL, INTENT(IN) :: level_491 INTEGER , OPTIONAL, INTENT(IN) :: prec_492 LOGICAL(kind = 1) :: enabled__493 LOGICAL , OPTIONAL, INTENT(IN) :: enabled_494 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_495 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_496 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref_497 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_498 REAL(kind=8) , OPTIONAL, INTENT(IN) :: default_value_499 500 IF (PRESENT(name_)) THEN501 CALL cxios_set_field_name(field_hdl%daddr, name_, len(name_))502 END IF503 IF (PRESENT(standard_name_)) THEN504 CALL cxios_set_field_standard_name(field_hdl%daddr, standard_name_, len(standard_name_))505 END IF506 IF (PRESENT(long_name_)) THEN507 CALL cxios_set_field_long_name(field_hdl%daddr, long_name_, len(long_name_))508 END IF509 IF (PRESENT(unit_)) THEN510 CALL cxios_set_field_unit(field_hdl%daddr, unit_, len(unit_))511 END IF512 IF (PRESENT(operation_)) THEN513 CALL cxios_set_field_operation(field_hdl%daddr, operation_, len(operation_))514 END IF515 IF (PRESENT(freq_op_)) THEN516 CALL cxios_set_field_freq_op(field_hdl%daddr, freq_op_, len(freq_op_))517 END IF518 IF (PRESENT(level_)) THEN519 CALL cxios_set_field_level(field_hdl%daddr, level_)520 END IF521 IF (PRESENT(prec_)) THEN522 CALL cxios_set_field_prec(field_hdl%daddr, prec_)523 END IF524 IF (PRESENT(enabled_)) THEN525 enabled__ = enabled_526 CALL cxios_set_field_enabled(field_hdl%daddr, enabled__)527 END IF528 IF (PRESENT(domain_ref_)) THEN529 CALL cxios_set_field_domain_ref(field_hdl%daddr, domain_ref_, len(domain_ref_))530 END IF531 IF (PRESENT(axis_ref_)) THEN532 CALL cxios_set_field_axis_ref(field_hdl%daddr, axis_ref_, len(axis_ref_))533 END IF534 IF (PRESENT(grid_ref_)) THEN535 CALL cxios_set_field_grid_ref(field_hdl%daddr, grid_ref_, len(grid_ref_))536 END IF537 IF (PRESENT(field_ref_)) THEN538 CALL cxios_set_field_field_ref(field_hdl%daddr, field_ref_, len(field_ref_))539 END IF540 IF (PRESENT(default_value_)) THEN541 CALL cxios_set_field_default_value(field_hdl%daddr, default_value_)542 END IF543 544 END SUBROUTINE set_field_attributes_hdl545 546 SUBROUTINE field_handle_create(ret, idt)547 IMPLICIT NONE548 TYPE(XFieldHandle), INTENT(OUT):: ret549 CHARACTER(len = *), INTENT(IN) :: idt550 CALL cxios_field_handle_create(ret%daddr, idt, len(idt))551 END SUBROUTINE field_handle_create552 553 SUBROUTINE fieldgroup_handle_create(ret, idt)554 IMPLICIT NONE555 TYPE(XFieldGroupHandle), INTENT(OUT):: ret556 CHARACTER(len = *) , INTENT(IN) :: idt557 CALL cxios_fieldgroup_handle_create(ret%daddr, idt, len(idt))558 END SUBROUTINE fieldgroup_handle_create559 560 LOGICAL FUNCTION field_valid_id(idt)561 IMPLICIT NONE562 CHARACTER(len = *) , INTENT(IN) :: idt563 LOGICAL (kind = 1) :: val564 CALL cxios_field_valid_id(val, idt, len(idt));565 field_valid_id = val566 END FUNCTION field_valid_id567 568 569 LOGICAL FUNCTION fieldgroup_valid_id(idt)570 IMPLICIT NONE571 CHARACTER(len = *) , INTENT(IN) :: idt572 LOGICAL (kind = 1) :: val573 CALL cxios_fieldgroup_valid_id(val, idt, len(idt));574 fieldgroup_valid_id = val575 END FUNCTION fieldgroup_valid_id576 324 577 325 END MODULE IFIELD
Note: See TracChangeset
for help on using the changeset viewer.