Changeset 555 for XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
- Timestamp:
- 02/11/15 16:47:47 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
r546 r555 12 12 13 13 SUBROUTINE xios(set_grid_attr) & 14 ( grid_id, axisDom Order, description, mask, name )14 ( grid_id, axisDomainOrder, description, mask, name ) 15 15 16 16 IMPLICIT NONE 17 17 TYPE(txios(grid)) :: grid_hdl 18 18 CHARACTER(LEN=*), INTENT(IN) ::grid_id 19 INTEGER , OPTIONAL, INTENT(IN) :: axisDomOrder(:) 19 LOGICAL , OPTIONAL, INTENT(IN) :: axisDomainOrder(:) 20 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 20 21 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 21 22 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) … … 25 26 CALL xios(get_grid_handle)(grid_id,grid_hdl) 26 27 CALL xios(set_grid_attr_hdl_) & 27 ( grid_hdl, axisDom Order, description, mask, name )28 ( grid_hdl, axisDomainOrder, description, mask, name ) 28 29 29 30 END SUBROUTINE xios(set_grid_attr) 30 31 31 32 SUBROUTINE xios(set_grid_attr_hdl) & 32 ( grid_hdl, axisDomOrder, description, mask, name ) 33 34 IMPLICIT NONE 35 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 36 INTEGER , OPTIONAL, INTENT(IN) :: axisDomOrder(:) 33 ( grid_hdl, axisDomainOrder, description, mask, name ) 34 35 IMPLICIT NONE 36 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 37 LOGICAL , OPTIONAL, INTENT(IN) :: axisDomainOrder(:) 38 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 37 39 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 38 40 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) … … 41 43 42 44 CALL xios(set_grid_attr_hdl_) & 43 ( grid_hdl, axisDom Order, description, mask, name )45 ( grid_hdl, axisDomainOrder, description, mask, name ) 44 46 45 47 END SUBROUTINE xios(set_grid_attr_hdl) 46 48 47 49 SUBROUTINE xios(set_grid_attr_hdl_) & 48 ( grid_hdl, axisDomOrder_, description_, mask_, name_ ) 49 50 IMPLICIT NONE 51 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 52 INTEGER , OPTIONAL, INTENT(IN) :: axisDomOrder_(:) 50 ( grid_hdl, axisDomainOrder_, description_, mask_, name_ ) 51 52 IMPLICIT NONE 53 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 54 LOGICAL , OPTIONAL, INTENT(IN) :: axisDomainOrder_(:) 55 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder__tmp(:) 53 56 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 54 57 LOGICAL , OPTIONAL, INTENT(IN) :: mask_(:,:,:) … … 56 59 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 57 60 58 IF (PRESENT(axisDomOrder_)) THEN 59 CALL cxios_set_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1)) 61 IF (PRESENT(axisDomainOrder_)) THEN 62 ALLOCATE(axisDomainOrder__tmp(size(axisDomainOrder_,1))) 63 axisDomainOrder__tmp=axisDomainOrder_ 64 CALL cxios_set_grid_axisDomainOrder(grid_hdl%daddr, axisDomainOrder__tmp,size(axisDomainOrder_,1)) 60 65 ENDIF 61 66 … … 79 84 80 85 SUBROUTINE xios(get_grid_attr) & 81 ( grid_id, axisDom Order, description, mask, name )86 ( grid_id, axisDomainOrder, description, mask, name ) 82 87 83 88 IMPLICIT NONE 84 89 TYPE(txios(grid)) :: grid_hdl 85 90 CHARACTER(LEN=*), INTENT(IN) ::grid_id 86 INTEGER , OPTIONAL, INTENT(OUT) :: axisDomOrder(:) 91 LOGICAL , OPTIONAL, INTENT(OUT) :: axisDomainOrder(:) 92 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 87 93 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 88 94 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) … … 92 98 CALL xios(get_grid_handle)(grid_id,grid_hdl) 93 99 CALL xios(get_grid_attr_hdl_) & 94 ( grid_hdl, axisDom Order, description, mask, name )100 ( grid_hdl, axisDomainOrder, description, mask, name ) 95 101 96 102 END SUBROUTINE xios(get_grid_attr) 97 103 98 104 SUBROUTINE xios(get_grid_attr_hdl) & 99 ( grid_hdl, axisDomOrder, description, mask, name ) 100 101 IMPLICIT NONE 102 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 103 INTEGER , OPTIONAL, INTENT(OUT) :: axisDomOrder(:) 105 ( grid_hdl, axisDomainOrder, description, mask, name ) 106 107 IMPLICIT NONE 108 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 109 LOGICAL , OPTIONAL, INTENT(OUT) :: axisDomainOrder(:) 110 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 104 111 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 105 112 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) … … 108 115 109 116 CALL xios(get_grid_attr_hdl_) & 110 ( grid_hdl, axisDom Order, description, mask, name )117 ( grid_hdl, axisDomainOrder, description, mask, name ) 111 118 112 119 END SUBROUTINE xios(get_grid_attr_hdl) 113 120 114 121 SUBROUTINE xios(get_grid_attr_hdl_) & 115 ( grid_hdl, axisDomOrder_, description_, mask_, name_ ) 116 117 IMPLICIT NONE 118 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 119 INTEGER , OPTIONAL, INTENT(OUT) :: axisDomOrder_(:) 122 ( grid_hdl, axisDomainOrder_, description_, mask_, name_ ) 123 124 IMPLICIT NONE 125 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 126 LOGICAL , OPTIONAL, INTENT(OUT) :: axisDomainOrder_(:) 127 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder__tmp(:) 120 128 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 121 129 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_(:,:,:) … … 123 131 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 124 132 125 IF (PRESENT(axisDomOrder_)) THEN 126 CALL cxios_get_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1)) 133 IF (PRESENT(axisDomainOrder_)) THEN 134 ALLOCATE(axisDomainOrder__tmp(size(axisDomainOrder_,1))) 135 CALL cxios_get_grid_axisDomainOrder(grid_hdl%daddr, axisDomainOrder__tmp,size(axisDomainOrder_,1)) 136 axisDomainOrder_=axisDomainOrder__tmp_ 127 137 ENDIF 128 138 … … 146 156 147 157 SUBROUTINE xios(is_defined_grid_attr) & 148 ( grid_id, axisDom Order, description, mask, name )158 ( grid_id, axisDomainOrder, description, mask, name ) 149 159 150 160 IMPLICIT NONE 151 161 TYPE(txios(grid)) :: grid_hdl 152 162 CHARACTER(LEN=*), INTENT(IN) ::grid_id 153 LOGICAL, OPTIONAL, INTENT(OUT) :: axisDom Order154 LOGICAL(KIND=C_BOOL) :: axisDom Order_tmp163 LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomainOrder 164 LOGICAL(KIND=C_BOOL) :: axisDomainOrder_tmp 155 165 LOGICAL, OPTIONAL, INTENT(OUT) :: description 156 166 LOGICAL(KIND=C_BOOL) :: description_tmp … … 162 172 CALL xios(get_grid_handle)(grid_id,grid_hdl) 163 173 CALL xios(is_defined_grid_attr_hdl_) & 164 ( grid_hdl, axisDom Order, description, mask, name )174 ( grid_hdl, axisDomainOrder, description, mask, name ) 165 175 166 176 END SUBROUTINE xios(is_defined_grid_attr) 167 177 168 178 SUBROUTINE xios(is_defined_grid_attr_hdl) & 169 ( grid_hdl, axisDom Order, description, mask, name )170 171 IMPLICIT NONE 172 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 173 LOGICAL, OPTIONAL, INTENT(OUT) :: axisDom Order174 LOGICAL(KIND=C_BOOL) :: axisDom Order_tmp179 ( grid_hdl, axisDomainOrder, description, mask, name ) 180 181 IMPLICIT NONE 182 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 183 LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomainOrder 184 LOGICAL(KIND=C_BOOL) :: axisDomainOrder_tmp 175 185 LOGICAL, OPTIONAL, INTENT(OUT) :: description 176 186 LOGICAL(KIND=C_BOOL) :: description_tmp … … 181 191 182 192 CALL xios(is_defined_grid_attr_hdl_) & 183 ( grid_hdl, axisDom Order, description, mask, name )193 ( grid_hdl, axisDomainOrder, description, mask, name ) 184 194 185 195 END SUBROUTINE xios(is_defined_grid_attr_hdl) 186 196 187 197 SUBROUTINE xios(is_defined_grid_attr_hdl_) & 188 ( grid_hdl, axisDom Order_, description_, mask_, name_ )189 190 IMPLICIT NONE 191 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 192 LOGICAL, OPTIONAL, INTENT(OUT) :: axisDom Order_193 LOGICAL(KIND=C_BOOL) :: axisDom Order__tmp198 ( grid_hdl, axisDomainOrder_, description_, mask_, name_ ) 199 200 IMPLICIT NONE 201 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 202 LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomainOrder_ 203 LOGICAL(KIND=C_BOOL) :: axisDomainOrder__tmp 194 204 LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 195 205 LOGICAL(KIND=C_BOOL) :: description__tmp … … 199 209 LOGICAL(KIND=C_BOOL) :: name__tmp 200 210 201 IF (PRESENT(axisDom Order_)) THEN202 axisDom Order__tmp=cxios_is_defined_grid_axisDomOrder(grid_hdl%daddr)203 axisDom Order_=axisDomOrder__tmp211 IF (PRESENT(axisDomainOrder_)) THEN 212 axisDomainOrder__tmp=cxios_is_defined_grid_axisDomainOrder(grid_hdl%daddr) 213 axisDomainOrder_=axisDomainOrder__tmp 204 214 ENDIF 205 215
Note: See TracChangeset
for help on using the changeset viewer.