Changeset 943 for XIOS/trunk/src/interface/fortran/ifield.F90
- Timestamp:
- 09/22/16 10:59:27 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran/ifield.F90
r545 r943 8 8 ! USE IFIELDGROUP_ATTR 9 9 USE IDURATION 10 USE IDOMAIN 11 USE IAXIS 12 USE ISCALAR 10 13 11 14 TYPE txios(field) … … 16 19 INTEGER(kind = C_INTPTR_T) :: daddr 17 20 END TYPE txios(fieldgroup) 18 21 19 22 CONTAINS ! Fonctions disponibles pour les utilisateurs. 20 23 … … 35 38 END SUBROUTINE xios(get_fieldgroup_handle) 36 39 40 SUBROUTINE xios(field_id_get_domain_handle)(field_id, ret, idx) 41 IMPLICIT NONE 42 CHARACTER(len = *) , INTENT(IN) :: field_id 43 INTEGER, OPTIONAL , INTENT(IN) :: idx 44 TYPE(txios(domain)), INTENT(OUT) :: ret 45 TYPE(txios(field)) :: field_hdl 46 INTEGER :: index 47 index = 0 48 IF (PRESENT(idx)) THEN 49 index = idx 50 ENDIF 51 52 CALL xios(get_field_handle)(field_id,field_hdl) 53 CALL xios(field_get_domain_handle(field_hdl, ret, index)) 54 END SUBROUTINE xios(field_id_get_domain_handle) 55 56 SUBROUTINE xios(field_get_domain_handle)(field_hdl, ret, idx) 57 IMPLICIT NONE 58 TYPE(txios(field)) , INTENT(IN) :: field_hdl 59 INTEGER, OPTIONAL , INTENT(IN) :: idx 60 TYPE(txios(domain)), INTENT(OUT) :: ret 61 INTEGER :: index 62 index = 0 63 IF (PRESENT(idx)) THEN 64 index = idx 65 ENDIF 66 CALL cxios_field_get_domain_handle(ret%daddr, field_hdl%daddr, index) 67 END SUBROUTINE xios(field_get_domain_handle) 68 69 SUBROUTINE xios(field_id_get_axis_handle)(field_id, ret, idx) 70 IMPLICIT NONE 71 CHARACTER(len = *) , INTENT(IN) :: field_id 72 INTEGER, OPTIONAL , INTENT(IN) :: idx 73 TYPE(txios(axis)), INTENT(OUT) :: ret 74 TYPE(txios(field)) :: field_hdl 75 INTEGER :: index 76 index = 0 77 IF (PRESENT(idx)) THEN 78 index = idx 79 ENDIF 80 CALL xios(get_field_handle)(field_id,field_hdl) 81 CALL xios(field_get_axis_handle(field_hdl, ret, index)) 82 END SUBROUTINE xios(field_id_get_axis_handle) 83 84 SUBROUTINE xios(field_get_axis_handle)(field_hdl, ret, idx) 85 IMPLICIT NONE 86 TYPE(txios(field)) , INTENT(IN) :: field_hdl 87 INTEGER, OPTIONAL , INTENT(IN) :: idx 88 TYPE(txios(axis)), INTENT(OUT) :: ret 89 INTEGER :: index 90 index = 0 91 IF (PRESENT(idx)) THEN 92 index = idx 93 ENDIF 94 CALL cxios_field_get_axis_handle(ret%daddr, field_hdl%daddr, index) 95 END SUBROUTINE xios(field_get_axis_handle) 96 97 SUBROUTINE xios(field_id_get_scalar_handle)(field_id, ret, idx) 98 IMPLICIT NONE 99 CHARACTER(len = *) , INTENT(IN) :: field_id 100 INTEGER, OPTIONAL , INTENT(IN) :: idx 101 TYPE(txios(scalar)), INTENT(OUT) :: ret 102 TYPE(txios(field)) :: field_hdl 103 INTEGER :: index 104 index = 0 105 IF (PRESENT(idx)) THEN 106 index = idx 107 ENDIF 108 CALL xios(get_field_handle)(field_id,field_hdl) 109 CALL xios(field_get_scalar_handle(field_hdl, ret, index)) 110 END SUBROUTINE xios(field_id_get_scalar_handle) 111 112 SUBROUTINE xios(field_get_scalar_handle)(field_hdl, ret, idx) 113 IMPLICIT NONE 114 TYPE(txios(field)) , INTENT(IN) :: field_hdl 115 INTEGER, OPTIONAL , INTENT(IN) :: idx 116 TYPE(txios(scalar)), INTENT(OUT) :: ret 117 INTEGER :: index 118 index = 0 119 IF (PRESENT(idx)) THEN 120 index = idx 121 ENDIF 122 CALL cxios_field_get_axis_handle(ret%daddr, field_hdl%daddr, index) 123 END SUBROUTINE xios(field_get_scalar_handle) 37 124 38 125 LOGICAL FUNCTION xios(is_valid_field)(idt)
Note: See TracChangeset
for help on using the changeset viewer.