Changeset 555 for XIOS/trunk/src/interface/fortran_attr/iaxis_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/iaxis_attr.F90
r546 r555 12 12 13 13 SUBROUTINE xios(set_axis_attr) & 14 ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&15 , zoom_end, zoom_size )14 ( axis_id, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 15 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 16 16 17 17 IMPLICIT NONE … … 19 19 CHARACTER(LEN=*), INTENT(IN) ::axis_id 20 20 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 21 INTEGER , OPTIONAL, INTENT(IN) :: data_begin 22 INTEGER , OPTIONAL, INTENT(IN) :: data_index(:) 23 INTEGER , OPTIONAL, INTENT(IN) :: data_n 24 INTEGER , OPTIONAL, INTENT(IN) :: ibegin 21 25 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 26 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:) 27 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:) 22 28 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 29 INTEGER , OPTIONAL, INTENT(IN) :: ni 23 30 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 24 31 INTEGER , OPTIONAL, INTENT(IN) :: size … … 32 39 CALL xios(get_axis_handle)(axis_id,axis_hdl) 33 40 CALL xios(set_axis_attr_hdl_) & 34 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&35 , zoom_end, zoom_size )41 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 42 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 36 43 37 44 END SUBROUTINE xios(set_axis_attr) 38 45 39 46 SUBROUTINE xios(set_axis_attr_hdl) & 40 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&41 , zoom_end, zoom_size )47 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 48 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 42 49 43 50 IMPLICIT NONE 44 51 TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 45 52 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 53 INTEGER , OPTIONAL, INTENT(IN) :: data_begin 54 INTEGER , OPTIONAL, INTENT(IN) :: data_index(:) 55 INTEGER , OPTIONAL, INTENT(IN) :: data_n 56 INTEGER , OPTIONAL, INTENT(IN) :: ibegin 46 57 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 58 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:) 59 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:) 47 60 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 61 INTEGER , OPTIONAL, INTENT(IN) :: ni 48 62 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 49 63 INTEGER , OPTIONAL, INTENT(IN) :: size … … 56 70 57 71 CALL xios(set_axis_attr_hdl_) & 58 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&59 , zoom_end, zoom_size )72 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 73 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 60 74 61 75 END SUBROUTINE xios(set_axis_attr_hdl) 62 76 63 77 SUBROUTINE xios(set_axis_attr_hdl_) & 64 ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_ &65 , zoom_end_, zoom_size_ )78 ( axis_hdl, axis_ref_, data_begin_, data_index_, data_n_, ibegin_, long_name_, mask_, name_ & 79 , ni_, positive_, size_, standard_name_, unit_, value_, zoom_begin_, zoom_end_, zoom_size_ ) 66 80 67 81 IMPLICIT NONE 68 82 TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 69 83 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 84 INTEGER , OPTIONAL, INTENT(IN) :: data_begin_ 85 INTEGER , OPTIONAL, INTENT(IN) :: data_index_(:) 86 INTEGER , OPTIONAL, INTENT(IN) :: data_n_ 87 INTEGER , OPTIONAL, INTENT(IN) :: ibegin_ 70 88 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 89 LOGICAL , OPTIONAL, INTENT(IN) :: mask_(:) 90 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:) 71 91 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 92 INTEGER , OPTIONAL, INTENT(IN) :: ni_ 72 93 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive_ 73 94 INTEGER , OPTIONAL, INTENT(IN) :: size_ … … 83 104 ENDIF 84 105 106 IF (PRESENT(data_begin_)) THEN 107 CALL cxios_set_axis_data_begin(axis_hdl%daddr, data_begin_) 108 ENDIF 109 110 IF (PRESENT(data_index_)) THEN 111 CALL cxios_set_axis_data_index(axis_hdl%daddr, data_index_,size(data_index_,1)) 112 ENDIF 113 114 IF (PRESENT(data_n_)) THEN 115 CALL cxios_set_axis_data_n(axis_hdl%daddr, data_n_) 116 ENDIF 117 118 IF (PRESENT(ibegin_)) THEN 119 CALL cxios_set_axis_ibegin(axis_hdl%daddr, ibegin_) 120 ENDIF 121 85 122 IF (PRESENT(long_name_)) THEN 86 123 CALL cxios_set_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_)) 87 124 ENDIF 88 125 126 IF (PRESENT(mask_)) THEN 127 ALLOCATE(mask__tmp(size(mask_,1))) 128 mask__tmp=mask_ 129 CALL cxios_set_axis_mask(axis_hdl%daddr, mask__tmp,size(mask_,1)) 130 ENDIF 131 89 132 IF (PRESENT(name_)) THEN 90 133 CALL cxios_set_axis_name(axis_hdl%daddr, name_, len(name_)) 91 134 ENDIF 92 135 136 IF (PRESENT(ni_)) THEN 137 CALL cxios_set_axis_ni(axis_hdl%daddr, ni_) 138 ENDIF 139 93 140 IF (PRESENT(positive_)) THEN 94 141 CALL cxios_set_axis_positive(axis_hdl%daddr, positive_, len(positive_)) … … 128 175 129 176 SUBROUTINE xios(get_axis_attr) & 130 ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&131 , zoom_end, zoom_size )177 ( axis_id, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 178 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 132 179 133 180 IMPLICIT NONE … … 135 182 CHARACTER(LEN=*), INTENT(IN) ::axis_id 136 183 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 184 INTEGER , OPTIONAL, INTENT(OUT) :: data_begin 185 INTEGER , OPTIONAL, INTENT(OUT) :: data_index(:) 186 INTEGER , OPTIONAL, INTENT(OUT) :: data_n 187 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin 137 188 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 189 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:) 190 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:) 138 191 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 192 INTEGER , OPTIONAL, INTENT(OUT) :: ni 139 193 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 140 194 INTEGER , OPTIONAL, INTENT(OUT) :: size … … 148 202 CALL xios(get_axis_handle)(axis_id,axis_hdl) 149 203 CALL xios(get_axis_attr_hdl_) & 150 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&151 , zoom_end, zoom_size )204 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 205 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 152 206 153 207 END SUBROUTINE xios(get_axis_attr) 154 208 155 209 SUBROUTINE xios(get_axis_attr_hdl) & 156 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&157 , zoom_end, zoom_size )210 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 211 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 158 212 159 213 IMPLICIT NONE 160 214 TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 161 215 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 216 INTEGER , OPTIONAL, INTENT(OUT) :: data_begin 217 INTEGER , OPTIONAL, INTENT(OUT) :: data_index(:) 218 INTEGER , OPTIONAL, INTENT(OUT) :: data_n 219 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin 162 220 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 221 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:) 222 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:) 163 223 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 224 INTEGER , OPTIONAL, INTENT(OUT) :: ni 164 225 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 165 226 INTEGER , OPTIONAL, INTENT(OUT) :: size … … 172 233 173 234 CALL xios(get_axis_attr_hdl_) & 174 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&175 , zoom_end, zoom_size )235 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 236 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 176 237 177 238 END SUBROUTINE xios(get_axis_attr_hdl) 178 239 179 240 SUBROUTINE xios(get_axis_attr_hdl_) & 180 ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_ &181 , zoom_end_, zoom_size_ )241 ( axis_hdl, axis_ref_, data_begin_, data_index_, data_n_, ibegin_, long_name_, mask_, name_ & 242 , ni_, positive_, size_, standard_name_, unit_, value_, zoom_begin_, zoom_end_, zoom_size_ ) 182 243 183 244 IMPLICIT NONE 184 245 TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 185 246 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 247 INTEGER , OPTIONAL, INTENT(OUT) :: data_begin_ 248 INTEGER , OPTIONAL, INTENT(OUT) :: data_index_(:) 249 INTEGER , OPTIONAL, INTENT(OUT) :: data_n_ 250 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin_ 186 251 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 252 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_(:) 253 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:) 187 254 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 255 INTEGER , OPTIONAL, INTENT(OUT) :: ni_ 188 256 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive_ 189 257 INTEGER , OPTIONAL, INTENT(OUT) :: size_ … … 199 267 ENDIF 200 268 269 IF (PRESENT(data_begin_)) THEN 270 CALL cxios_get_axis_data_begin(axis_hdl%daddr, data_begin_) 271 ENDIF 272 273 IF (PRESENT(data_index_)) THEN 274 CALL cxios_get_axis_data_index(axis_hdl%daddr, data_index_,size(data_index_,1)) 275 ENDIF 276 277 IF (PRESENT(data_n_)) THEN 278 CALL cxios_get_axis_data_n(axis_hdl%daddr, data_n_) 279 ENDIF 280 281 IF (PRESENT(ibegin_)) THEN 282 CALL cxios_get_axis_ibegin(axis_hdl%daddr, ibegin_) 283 ENDIF 284 201 285 IF (PRESENT(long_name_)) THEN 202 286 CALL cxios_get_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_)) 203 287 ENDIF 204 288 289 IF (PRESENT(mask_)) THEN 290 ALLOCATE(mask__tmp(size(mask_,1))) 291 CALL cxios_get_axis_mask(axis_hdl%daddr, mask__tmp,size(mask_,1)) 292 mask_=mask__tmp_ 293 ENDIF 294 205 295 IF (PRESENT(name_)) THEN 206 296 CALL cxios_get_axis_name(axis_hdl%daddr, name_, len(name_)) 207 297 ENDIF 208 298 299 IF (PRESENT(ni_)) THEN 300 CALL cxios_get_axis_ni(axis_hdl%daddr, ni_) 301 ENDIF 302 209 303 IF (PRESENT(positive_)) THEN 210 304 CALL cxios_get_axis_positive(axis_hdl%daddr, positive_, len(positive_)) … … 244 338 245 339 SUBROUTINE xios(is_defined_axis_attr) & 246 ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&247 , zoom_end, zoom_size )340 ( axis_id, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 341 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 248 342 249 343 IMPLICIT NONE … … 252 346 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 253 347 LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 348 LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin 349 LOGICAL(KIND=C_BOOL) :: data_begin_tmp 350 LOGICAL, OPTIONAL, INTENT(OUT) :: data_index 351 LOGICAL(KIND=C_BOOL) :: data_index_tmp 352 LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 353 LOGICAL(KIND=C_BOOL) :: data_n_tmp 354 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 355 LOGICAL(KIND=C_BOOL) :: ibegin_tmp 254 356 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 255 357 LOGICAL(KIND=C_BOOL) :: long_name_tmp 358 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 359 LOGICAL(KIND=C_BOOL) :: mask_tmp 256 360 LOGICAL, OPTIONAL, INTENT(OUT) :: name 257 361 LOGICAL(KIND=C_BOOL) :: name_tmp 362 LOGICAL, OPTIONAL, INTENT(OUT) :: ni 363 LOGICAL(KIND=C_BOOL) :: ni_tmp 258 364 LOGICAL, OPTIONAL, INTENT(OUT) :: positive 259 365 LOGICAL(KIND=C_BOOL) :: positive_tmp … … 275 381 CALL xios(get_axis_handle)(axis_id,axis_hdl) 276 382 CALL xios(is_defined_axis_attr_hdl_) & 277 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&278 , zoom_end, zoom_size )383 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 384 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 279 385 280 386 END SUBROUTINE xios(is_defined_axis_attr) 281 387 282 388 SUBROUTINE xios(is_defined_axis_attr_hdl) & 283 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&284 , zoom_end, zoom_size )389 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 390 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 285 391 286 392 IMPLICIT NONE … … 288 394 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 289 395 LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 396 LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin 397 LOGICAL(KIND=C_BOOL) :: data_begin_tmp 398 LOGICAL, OPTIONAL, INTENT(OUT) :: data_index 399 LOGICAL(KIND=C_BOOL) :: data_index_tmp 400 LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 401 LOGICAL(KIND=C_BOOL) :: data_n_tmp 402 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 403 LOGICAL(KIND=C_BOOL) :: ibegin_tmp 290 404 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 291 405 LOGICAL(KIND=C_BOOL) :: long_name_tmp 406 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 407 LOGICAL(KIND=C_BOOL) :: mask_tmp 292 408 LOGICAL, OPTIONAL, INTENT(OUT) :: name 293 409 LOGICAL(KIND=C_BOOL) :: name_tmp 410 LOGICAL, OPTIONAL, INTENT(OUT) :: ni 411 LOGICAL(KIND=C_BOOL) :: ni_tmp 294 412 LOGICAL, OPTIONAL, INTENT(OUT) :: positive 295 413 LOGICAL(KIND=C_BOOL) :: positive_tmp … … 310 428 311 429 CALL xios(is_defined_axis_attr_hdl_) & 312 ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin&313 , zoom_end, zoom_size )430 ( axis_hdl, axis_ref, data_begin, data_index, data_n, ibegin, long_name, mask, name, ni, positive & 431 , size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size ) 314 432 315 433 END SUBROUTINE xios(is_defined_axis_attr_hdl) 316 434 317 435 SUBROUTINE xios(is_defined_axis_attr_hdl_) & 318 ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_ &319 , zoom_end_, zoom_size_ )436 ( axis_hdl, axis_ref_, data_begin_, data_index_, data_n_, ibegin_, long_name_, mask_, name_ & 437 , ni_, positive_, size_, standard_name_, unit_, value_, zoom_begin_, zoom_end_, zoom_size_ ) 320 438 321 439 IMPLICIT NONE … … 323 441 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 324 442 LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 443 LOGICAL, OPTIONAL, INTENT(OUT) :: data_begin_ 444 LOGICAL(KIND=C_BOOL) :: data_begin__tmp 445 LOGICAL, OPTIONAL, INTENT(OUT) :: data_index_ 446 LOGICAL(KIND=C_BOOL) :: data_index__tmp 447 LOGICAL, OPTIONAL, INTENT(OUT) :: data_n_ 448 LOGICAL(KIND=C_BOOL) :: data_n__tmp 449 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin_ 450 LOGICAL(KIND=C_BOOL) :: ibegin__tmp 325 451 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 326 452 LOGICAL(KIND=C_BOOL) :: long_name__tmp 453 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 454 LOGICAL(KIND=C_BOOL) :: mask__tmp 327 455 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 328 456 LOGICAL(KIND=C_BOOL) :: name__tmp 457 LOGICAL, OPTIONAL, INTENT(OUT) :: ni_ 458 LOGICAL(KIND=C_BOOL) :: ni__tmp 329 459 LOGICAL, OPTIONAL, INTENT(OUT) :: positive_ 330 460 LOGICAL(KIND=C_BOOL) :: positive__tmp … … 349 479 ENDIF 350 480 481 IF (PRESENT(data_begin_)) THEN 482 data_begin__tmp=cxios_is_defined_axis_data_begin(axis_hdl%daddr) 483 data_begin_=data_begin__tmp 484 ENDIF 485 486 IF (PRESENT(data_index_)) THEN 487 data_index__tmp=cxios_is_defined_axis_data_index(axis_hdl%daddr) 488 data_index_=data_index__tmp 489 ENDIF 490 491 IF (PRESENT(data_n_)) THEN 492 data_n__tmp=cxios_is_defined_axis_data_n(axis_hdl%daddr) 493 data_n_=data_n__tmp 494 ENDIF 495 496 IF (PRESENT(ibegin_)) THEN 497 ibegin__tmp=cxios_is_defined_axis_ibegin(axis_hdl%daddr) 498 ibegin_=ibegin__tmp 499 ENDIF 500 351 501 IF (PRESENT(long_name_)) THEN 352 502 long_name__tmp=cxios_is_defined_axis_long_name(axis_hdl%daddr) … … 354 504 ENDIF 355 505 506 IF (PRESENT(mask_)) THEN 507 mask__tmp=cxios_is_defined_axis_mask(axis_hdl%daddr) 508 mask_=mask__tmp 509 ENDIF 510 356 511 IF (PRESENT(name_)) THEN 357 512 name__tmp=cxios_is_defined_axis_name(axis_hdl%daddr) … … 359 514 ENDIF 360 515 516 IF (PRESENT(ni_)) THEN 517 ni__tmp=cxios_is_defined_axis_ni(axis_hdl%daddr) 518 ni_=ni__tmp 519 ENDIF 520 361 521 IF (PRESENT(positive_)) THEN 362 522 positive__tmp=cxios_is_defined_axis_positive(axis_hdl%daddr)
Note: See TracChangeset
for help on using the changeset viewer.