Changeset 932 for XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
- Timestamp:
- 09/21/16 14:35:03 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
r817 r932 12 12 13 13 SUBROUTINE xios(set_grid_attr) & 14 ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 14 ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 15 ) 15 16 16 17 IMPLICIT NONE … … 24 25 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 25 26 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 27 LOGICAL , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 28 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 29 LOGICAL , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 30 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 31 LOGICAL , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 32 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 33 LOGICAL , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 34 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 26 35 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 27 36 28 37 CALL xios(get_grid_handle)(grid_id,grid_hdl) 29 38 CALL xios(set_grid_attr_hdl_) & 30 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 39 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 40 ) 31 41 32 42 END SUBROUTINE xios(set_grid_attr) 33 43 34 44 SUBROUTINE xios(set_grid_attr_hdl) & 35 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 45 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 46 ) 36 47 37 48 IMPLICIT NONE … … 44 55 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 45 56 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 57 LOGICAL , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 58 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 59 LOGICAL , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 60 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 61 LOGICAL , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 62 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 63 LOGICAL , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 64 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 46 65 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 47 66 48 67 CALL xios(set_grid_attr_hdl_) & 49 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 68 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 69 ) 50 70 51 71 END SUBROUTINE xios(set_grid_attr_hdl) 52 72 53 73 SUBROUTINE xios(set_grid_attr_hdl_) & 54 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 74 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_ & 75 , name_ ) 55 76 56 77 IMPLICIT NONE … … 63 84 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:) 64 85 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 86 LOGICAL , OPTIONAL, INTENT(IN) :: mask_4d_(:,:,:,:) 87 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 88 LOGICAL , OPTIONAL, INTENT(IN) :: mask_5d_(:,:,:,:,:) 89 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 90 LOGICAL , OPTIONAL, INTENT(IN) :: mask_6d_(:,:,:,:,:,:) 91 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 92 LOGICAL , OPTIONAL, INTENT(IN) :: mask_7d_(:,:,:,:,:,:,:) 93 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 65 94 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 66 95 … … 87 116 ENDIF 88 117 118 IF (PRESENT(mask_4d_)) THEN 119 ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 120 mask_4d__tmp = mask_4d_ 121 CALL cxios_set_grid_mask_4d(grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 122 ENDIF 123 124 IF (PRESENT(mask_5d_)) THEN 125 ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 126 mask_5d__tmp = mask_5d_ 127 CALL cxios_set_grid_mask_5d(grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 128 ENDIF 129 130 IF (PRESENT(mask_6d_)) THEN 131 ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 132 mask_6d__tmp = mask_6d_ 133 CALL cxios_set_grid_mask_6d(grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 134 ENDIF 135 136 IF (PRESENT(mask_7d_)) THEN 137 ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7))) 138 mask_7d__tmp = mask_7d_ 139 CALL cxios_set_grid_mask_7d(grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 140 ENDIF 141 89 142 IF (PRESENT(name_)) THEN 90 143 CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_)) … … 94 147 95 148 SUBROUTINE xios(get_grid_attr) & 96 ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 149 ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 150 ) 97 151 98 152 IMPLICIT NONE … … 106 160 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 107 161 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 162 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 163 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 164 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 165 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 166 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 167 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 168 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 169 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 108 170 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 109 171 110 172 CALL xios(get_grid_handle)(grid_id,grid_hdl) 111 173 CALL xios(get_grid_attr_hdl_) & 112 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 174 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 175 ) 113 176 114 177 END SUBROUTINE xios(get_grid_attr) 115 178 116 179 SUBROUTINE xios(get_grid_attr_hdl) & 117 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 180 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 181 ) 118 182 119 183 IMPLICIT NONE … … 126 190 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 127 191 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 192 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 193 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 194 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 195 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 196 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 197 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 198 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 199 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 128 200 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 129 201 130 202 CALL xios(get_grid_attr_hdl_) & 131 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 203 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 204 ) 132 205 133 206 END SUBROUTINE xios(get_grid_attr_hdl) 134 207 135 208 SUBROUTINE xios(get_grid_attr_hdl_) & 136 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 209 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_ & 210 , name_ ) 137 211 138 212 IMPLICIT NONE … … 145 219 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:) 146 220 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 221 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_4d_(:,:,:,:) 222 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 223 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_5d_(:,:,:,:,:) 224 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 225 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_6d_(:,:,:,:,:,:) 226 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 227 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_7d_(:,:,:,:,:,:,:) 228 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 147 229 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 148 230 … … 169 251 ENDIF 170 252 253 IF (PRESENT(mask_4d_)) THEN 254 ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 255 CALL cxios_get_grid_mask_4d(grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 256 mask_4d_ = mask_4d__tmp 257 ENDIF 258 259 IF (PRESENT(mask_5d_)) THEN 260 ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 261 CALL cxios_get_grid_mask_5d(grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 262 mask_5d_ = mask_5d__tmp 263 ENDIF 264 265 IF (PRESENT(mask_6d_)) THEN 266 ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 267 CALL cxios_get_grid_mask_6d(grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 268 mask_6d_ = mask_6d__tmp 269 ENDIF 270 271 IF (PRESENT(mask_7d_)) THEN 272 ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7))) 273 CALL cxios_get_grid_mask_7d(grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 274 mask_7d_ = mask_7d__tmp 275 ENDIF 276 171 277 IF (PRESENT(name_)) THEN 172 278 CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_)) … … 176 282 177 283 SUBROUTINE xios(is_defined_grid_attr) & 178 ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 284 ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 285 ) 179 286 180 287 IMPLICIT NONE … … 189 296 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 190 297 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 298 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 299 LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 300 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 301 LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 302 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 303 LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 304 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 305 LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 191 306 LOGICAL, OPTIONAL, INTENT(OUT) :: name 192 307 LOGICAL(KIND=C_BOOL) :: name_tmp … … 194 309 CALL xios(get_grid_handle)(grid_id,grid_hdl) 195 310 CALL xios(is_defined_grid_attr_hdl_) & 196 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 311 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 312 ) 197 313 198 314 END SUBROUTINE xios(is_defined_grid_attr) 199 315 200 316 SUBROUTINE xios(is_defined_grid_attr_hdl) & 201 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 317 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 318 ) 202 319 203 320 IMPLICIT NONE … … 211 328 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 212 329 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 330 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 331 LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 332 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 333 LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 334 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 335 LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 336 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 337 LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 213 338 LOGICAL, OPTIONAL, INTENT(OUT) :: name 214 339 LOGICAL(KIND=C_BOOL) :: name_tmp 215 340 216 341 CALL xios(is_defined_grid_attr_hdl_) & 217 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 342 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name & 343 ) 218 344 219 345 END SUBROUTINE xios(is_defined_grid_attr_hdl) 220 346 221 347 SUBROUTINE xios(is_defined_grid_attr_hdl_) & 222 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 348 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_ & 349 , name_ ) 223 350 224 351 IMPLICIT NONE … … 232 359 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_ 233 360 LOGICAL(KIND=C_BOOL) :: mask_3d__tmp 361 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d_ 362 LOGICAL(KIND=C_BOOL) :: mask_4d__tmp 363 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d_ 364 LOGICAL(KIND=C_BOOL) :: mask_5d__tmp 365 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d_ 366 LOGICAL(KIND=C_BOOL) :: mask_6d__tmp 367 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d_ 368 LOGICAL(KIND=C_BOOL) :: mask_7d__tmp 234 369 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 235 370 LOGICAL(KIND=C_BOOL) :: name__tmp … … 255 390 ENDIF 256 391 392 IF (PRESENT(mask_4d_)) THEN 393 mask_4d__tmp = cxios_is_defined_grid_mask_4d(grid_hdl%daddr) 394 mask_4d_ = mask_4d__tmp 395 ENDIF 396 397 IF (PRESENT(mask_5d_)) THEN 398 mask_5d__tmp = cxios_is_defined_grid_mask_5d(grid_hdl%daddr) 399 mask_5d_ = mask_5d__tmp 400 ENDIF 401 402 IF (PRESENT(mask_6d_)) THEN 403 mask_6d__tmp = cxios_is_defined_grid_mask_6d(grid_hdl%daddr) 404 mask_6d_ = mask_6d__tmp 405 ENDIF 406 407 IF (PRESENT(mask_7d_)) THEN 408 mask_7d__tmp = cxios_is_defined_grid_mask_7d(grid_hdl%daddr) 409 mask_7d_ = mask_7d__tmp 410 ENDIF 411 257 412 IF (PRESENT(name_)) THEN 258 413 name__tmp = cxios_is_defined_grid_name(grid_hdl%daddr)
Note: See TracChangeset
for help on using the changeset viewer.