Changeset 312 for XIOS/trunk/src/fortran/idomain.F90
- Timestamp:
- 02/14/12 15:36:14 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/fortran/idomain.F90
r286 r312 6 6 USE DOMAINGROUP_INTERFACE 7 7 8 TYPE XDomainHandle9 INTEGER(kind = C_INTPTR_T) :: daddr10 END TYPE XDomainHandle11 12 TYPE XDomainGroupHandle13 INTEGER(kind = C_INTPTR_T) :: daddr14 END TYPE XDomainGroupHandle15 16 8 TYPE txios(domain) 17 9 INTEGER(kind = C_INTPTR_T) :: daddr … … 22 14 END TYPE txios(domaingroup) 23 15 24 !----------------------------------------------------------------------------25 INTERFACE set_domain_attributes26 MODULE PROCEDURE set_domain_attributes_id,set_domain_attributes_hdl27 END INTERFACE28 29 INTERFACE set_domain_group_attributes30 MODULE PROCEDURE set_domaingroup_attributes_id,set_domaingroup_attributes_hdl31 END INTERFACE32 !----------------------------------------------------------------------------33 16 34 17 CONTAINS ! Fonctions disponibles pour les utilisateurs. … … 38 21 ( domaingroup_id, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 39 22 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 40 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc,&41 zoom_jbegin_loc, data_n_index, data_i_index, data_j_index,lonvalue, latvalue)23 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index, & 24 lonvalue, latvalue) 42 25 IMPLICIT NONE 43 26 TYPE(txios(domaingroup)) :: domaingroup_hdl … … 65 48 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin 66 49 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin 67 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc68 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc69 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc70 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc71 50 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index 72 51 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index(:) … … 79 58 ( domaingroup_hdl, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 80 59 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 81 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc,&82 zoom_jbegin_loc, data_n_index, data_i_index, data_j_index,lonvalue, latvalue)60 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index, & 61 lonvalue, latvalue) 83 62 84 63 END SUBROUTINE xios(set_domaingroup_attr) … … 87 66 ( domaingroup_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 88 67 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 89 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc,&90 zoom_jbegin_loc, data_n_index, data_i_index,data_j_index, lonvalue, latvalue)68 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, & 69 data_j_index, lonvalue, latvalue) 91 70 IMPLICIT NONE 92 71 TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl … … 113 92 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin 114 93 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin 115 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc116 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc117 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc118 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc119 94 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index 120 95 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index(:) … … 123 98 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: latvalue(:) 124 99 125 CALL xios(set_domaingroup_attr_hdl_) 126 ( domaingroup_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, 100 CALL xios(set_domaingroup_attr_hdl_) & 101 ( domaingroup_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 127 102 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 128 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc,&129 zoom_jbegin_loc, data_n_index, data_i_index, data_j_index,lonvalue, latvalue)103 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index, & 104 lonvalue, latvalue) 130 105 131 106 END SUBROUTINE xios(set_domaingroup_attr_hdl) … … 134 109 ( domaingroup_hdl, name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, & 135 110 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, & 136 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_,&137 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_,lonvalue_, latvalue_)111 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, data_n_index_, data_i_index_, data_j_index_, & 112 lonvalue_, latvalue_) 138 113 IMPLICIT NONE 139 114 TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl … … 161 136 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_ 162 137 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_ 163 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_164 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_165 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_166 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_167 138 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index_ 168 139 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index_(:) … … 240 211 CALL cxios_set_domaingroup_zoom_jbegin(domaingroup_hdl%daddr, zoom_jbegin_) 241 212 END IF 242 IF (PRESENT(zoom_ni_loc_)) THEN 243 CALL cxios_set_domaingroup_zoom_ni_loc(domaingroup_hdl%daddr, zoom_ni_loc_) 244 END IF 245 IF (PRESENT(zoom_nj_loc_)) THEN 246 CALL cxios_set_domaingroup_zoom_nj_loc(domaingroup_hdl%daddr, zoom_nj_loc_) 247 END IF 248 IF (PRESENT(zoom_ibegin_loc_)) THEN 249 CALL cxios_set_domaingroup_zoom_ibegin_loc(domaingroup_hdl%daddr, zoom_ibegin_loc_) 250 END IF 251 IF (PRESENT(zoom_jbegin_loc_)) THEN 252 CALL cxios_set_domaingroup_zoom_jbegin_loc(domaingroup_hdl%daddr, zoom_jbegin_loc_) 253 END IF 213 254 214 IF (PRESENT(data_n_index_)) THEN 255 215 CALL cxios_set_domaingroup_data_n_index(domaingroup_hdl%daddr, data_n_index_) … … 274 234 ( domain_id, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 275 235 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 276 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc, & 277 zoom_jbegin_loc, data_n_index, data_i_index, data_j_index, lonvalue, latvalue) 278 IMPLICIT NONE 236 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index, & 237 lonvalue, latvalue) 238 IMPLICIT NONE 239 279 240 TYPE(txios(domain)) :: domain_hdl 280 241 CHARACTER(len = *) , INTENT(IN) :: domain_id … … 301 262 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin 302 263 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin 303 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc304 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc305 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc306 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc307 264 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index 308 265 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index(:) … … 312 269 313 270 CALL xios(get_domain_handle)(domain_id,domain_hdl) 314 CALL xios(set_domain_attr_hdl_) 271 CALL xios(set_domain_attr_hdl_) & 315 272 ( domain_hdl, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 316 273 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 317 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc,&318 zoom_jbegin_loc, data_n_index, data_i_index, data_j_index,lonvalue, latvalue)274 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index, & 275 lonvalue, latvalue) 319 276 320 277 END SUBROUTINE xios(set_domain_attr) 321 278 322 279 323 SUBROUTINE xios(set_domain_attr_hdl) 280 SUBROUTINE xios(set_domain_attr_hdl) & 324 281 ( domain_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 325 282 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 326 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc, & 327 zoom_jbegin_loc, data_n_index, data_i_index, data_j_index, lonvalue, latvalue) 328 IMPLICIT NONE 283 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, & 284 data_j_index, lonvalue, latvalue) 285 IMPLICIT NONE 286 329 287 TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 330 288 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name … … 350 308 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin 351 309 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin 352 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc353 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc354 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc355 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc356 310 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index 357 311 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index(:) … … 363 317 ( domain_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend, & 364 318 ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin, & 365 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, zoom_ni_loc, zoom_nj_loc, zoom_ibegin_loc,&366 zoom_jbegin_loc, data_n_index, data_i_index, data_j_index,lonvalue, latvalue)319 zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index, & 320 lonvalue, latvalue) 367 321 368 322 END SUBROUTINE xios(set_domain_attr_hdl) 369 323 370 SUBROUTINE xios(set_domain_attr_hdl_) 324 SUBROUTINE xios(set_domain_attr_hdl_) & 371 325 ( domain_hdl,name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, & 372 326 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, & 373 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_, & 374 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_, lonvalue_, latvalue_) 327 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, data_n_index_, data_i_index_, data_j_index_, & 328 lonvalue_, latvalue_) 329 375 330 IMPLICIT NONE 376 331 TYPE(txios(domain)) , INTENT(IN) :: domain_hdl … … 398 353 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_ 399 354 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_ 400 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_401 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_402 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_403 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_404 355 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index_ 405 356 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index_(:) … … 476 427 CALL cxios_set_domain_zoom_jbegin(domain_hdl%daddr, zoom_jbegin_) 477 428 END IF 478 IF (PRESENT(zoom_ni_loc_)) THEN479 CALL cxios_set_domain_zoom_ni_loc(domain_hdl%daddr, zoom_ni_loc_)480 END IF481 IF (PRESENT(zoom_nj_loc_)) THEN482 CALL cxios_set_domain_zoom_nj_loc(domain_hdl%daddr, zoom_nj_loc_)483 END IF484 IF (PRESENT(zoom_ibegin_loc_)) THEN485 CALL cxios_set_domain_zoom_ibegin_loc(domain_hdl%daddr, zoom_ibegin_loc_)486 END IF487 IF (PRESENT(zoom_jbegin_loc_)) THEN488 CALL cxios_set_domain_zoom_jbegin_loc(domain_hdl%daddr, zoom_jbegin_loc_)489 END IF490 429 IF (PRESENT(data_n_index_)) THEN 491 430 CALL cxios_set_domain_data_n_index(domain_hdl%daddr, data_n_index_) … … 541 480 xios(is_valid_domaingroup) = val 542 481 END FUNCTION xios(is_valid_domaingroup) 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 !!!!!!!!!!!! Ancienne interfaces !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!575 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!576 577 SUBROUTINE set_domaingroup_attributes_id &578 ( domaingroup_id, name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, &579 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, &580 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_, &581 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_, lonvalue_, latvalue_)582 IMPLICIT NONE583 TYPE(XDomainGroupHandle) :: domaingroup_hdl584 CHARACTER(len = *) , INTENT(IN) :: domaingroup_id585 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_586 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_587 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_588 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_589 INTEGER , OPTIONAL, INTENT(IN) :: ni_glo_590 INTEGER , OPTIONAL, INTENT(IN) :: nj_glo_591 INTEGER , OPTIONAL, INTENT(IN) :: ibegin_592 INTEGER , OPTIONAL, INTENT(IN) :: iend_593 INTEGER , OPTIONAL, INTENT(IN) :: ni_594 INTEGER , OPTIONAL, INTENT(IN) :: jbegin_595 INTEGER , OPTIONAL, INTENT(IN) :: jend_596 INTEGER , OPTIONAL, INTENT(IN) :: nj_597 LOGICAL , dimension(*), OPTIONAL, INTENT(IN) :: mask_(:,:)598 INTEGER , OPTIONAL, INTENT(IN) :: data_dim_599 INTEGER , OPTIONAL, INTENT(IN) :: data_ni_600 INTEGER , OPTIONAL, INTENT(IN) :: data_nj_601 INTEGER , OPTIONAL, INTENT(IN) :: data_ibegin_602 INTEGER , OPTIONAL, INTENT(IN) :: data_jbegin_603 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_604 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_605 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_606 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_607 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_608 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_609 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_610 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_611 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index_612 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index_(:)613 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_j_index_(:)614 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: lonvalue_(:)615 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: latvalue_(:)616 617 CALL domaingroup_handle_create(domaingroup_hdl, domaingroup_id)618 CALL set_domaingroup_attributes_hdl &619 ( domaingroup_hdl, name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, &620 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, &621 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_, &622 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_, lonvalue_, latvalue_)623 624 END SUBROUTINE set_domaingroup_attributes_id625 626 SUBROUTINE set_domaingroup_attributes_hdl &627 ( domaingroup_hdl,name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, &628 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, &629 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_, &630 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_, lonvalue_, latvalue_)631 IMPLICIT NONE632 TYPE(XDomainGroupHandle) , INTENT(IN) :: domaingroup_hdl633 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_634 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_635 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_636 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_637 INTEGER , OPTIONAL, INTENT(IN) :: ni_glo_638 INTEGER , OPTIONAL, INTENT(IN) :: nj_glo_639 INTEGER , OPTIONAL, INTENT(IN) :: ibegin_640 INTEGER , OPTIONAL, INTENT(IN) :: iend_641 INTEGER , OPTIONAL, INTENT(IN) :: ni_642 INTEGER , OPTIONAL, INTENT(IN) :: jbegin_643 INTEGER , OPTIONAL, INTENT(IN) :: jend_644 INTEGER , OPTIONAL, INTENT(IN) :: nj_645 LOGICAL , dimension(*) , OPTIONAL, INTENT(IN) :: mask_(:,:)646 LOGICAL(kind = 1), dimension(:,:), ALLOCATABLE :: mask__! (size(mask_,1),size(mask,2))647 INTEGER , OPTIONAL, INTENT(IN) :: data_dim_648 INTEGER , OPTIONAL, INTENT(IN) :: data_ni_649 INTEGER , OPTIONAL, INTENT(IN) :: data_nj_650 INTEGER , OPTIONAL, INTENT(IN) :: data_ibegin_651 INTEGER , OPTIONAL, INTENT(IN) :: data_jbegin_652 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_653 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_654 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_655 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_656 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_657 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_658 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_659 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_660 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index_661 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index_(:)662 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_j_index_(:)663 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: lonvalue_(:)664 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: latvalue_(:)665 666 IF (PRESENT(name_)) THEN667 CALL cxios_set_domaingroup_name(domaingroup_hdl%daddr, name_, len(name_))668 END IF669 IF (PRESENT(standard_name_)) THEN670 CALL cxios_set_domaingroup_standard_name(domaingroup_hdl%daddr, standard_name_, len(standard_name_))671 END IF672 IF (PRESENT(long_name_)) THEN673 CALL cxios_set_domaingroup_long_name(domaingroup_hdl%daddr, long_name_, len(long_name_))674 END IF675 IF (PRESENT(domain_group_ref_)) THEN676 CALL cxios_set_domaingroup_domain_group_ref(domaingroup_hdl%daddr, domain_group_ref_, len(domain_group_ref_))677 END IF678 IF (PRESENT(ni_glo_)) THEN679 CALL cxios_set_domaingroup_ni_glo(domaingroup_hdl%daddr, ni_glo_)680 END IF681 IF (PRESENT(nj_glo_)) THEN682 CALL cxios_set_domaingroup_nj_glo(domaingroup_hdl%daddr, nj_glo_)683 END IF684 IF (PRESENT(ibegin_)) THEN685 CALL cxios_set_domaingroup_ibegin(domaingroup_hdl%daddr, ibegin_)686 END IF687 IF (PRESENT(iend_)) THEN688 CALL cxios_set_domaingroup_iend(domaingroup_hdl%daddr, iend_)689 END IF690 IF (PRESENT(ni_)) THEN691 CALL cxios_set_domaingroup_ni(domaingroup_hdl%daddr, ni_)692 END IF693 IF (PRESENT(jbegin_)) THEN694 CALL cxios_set_domaingroup_jbegin(domaingroup_hdl%daddr, jbegin_)695 END IF696 IF (PRESENT(jend_)) THEN697 CALL cxios_set_domaingroup_jend(domaingroup_hdl%daddr, jend_)698 END IF699 IF (PRESENT(nj_)) THEN700 CALL cxios_set_domaingroup_nj(domaingroup_hdl%daddr, nj_)701 END IF702 IF (PRESENT(mask_)) THEN703 ALLOCATE(mask__(size(mask_, 1), size(mask_, 2)))704 mask__(:,:) = mask_(:,:)705 CALL cxios_set_domaingroup_mask(domaingroup_hdl%daddr, mask__, size(mask_, 1), size(mask_, 2))706 DEALLOCATE(mask__)707 END IF708 IF (PRESENT(data_dim_)) THEN709 CALL cxios_set_domaingroup_data_dim(domaingroup_hdl%daddr, data_dim_)710 END IF711 IF (PRESENT(data_ni_)) THEN712 CALL cxios_set_domaingroup_data_ni(domaingroup_hdl%daddr, data_ni_)713 END IF714 IF (PRESENT(data_nj_)) THEN715 CALL cxios_set_domaingroup_data_nj(domaingroup_hdl%daddr, data_nj_)716 END IF717 IF (PRESENT(data_ibegin_)) THEN718 CALL cxios_set_domaingroup_data_ibegin(domaingroup_hdl%daddr, data_ibegin_)719 END IF720 IF (PRESENT(data_jbegin_)) THEN721 CALL cxios_set_domaingroup_data_jbegin(domaingroup_hdl%daddr, data_jbegin_)722 END IF723 IF (PRESENT(zoom_ni_)) THEN724 CALL cxios_set_domaingroup_zoom_ni(domaingroup_hdl%daddr, zoom_ni_)725 END IF726 IF (PRESENT(zoom_nj_)) THEN727 CALL cxios_set_domaingroup_zoom_nj(domaingroup_hdl%daddr, zoom_nj_)728 END IF729 IF (PRESENT(zoom_ibegin_)) THEN730 CALL cxios_set_domaingroup_zoom_ibegin(domaingroup_hdl%daddr, zoom_ibegin_)731 END IF732 IF (PRESENT(zoom_jbegin_)) THEN733 CALL cxios_set_domaingroup_zoom_jbegin(domaingroup_hdl%daddr, zoom_jbegin_)734 END IF735 IF (PRESENT(zoom_ni_loc_)) THEN736 CALL cxios_set_domaingroup_zoom_ni_loc(domaingroup_hdl%daddr, zoom_ni_loc_)737 END IF738 IF (PRESENT(zoom_nj_loc_)) THEN739 CALL cxios_set_domaingroup_zoom_nj_loc(domaingroup_hdl%daddr, zoom_nj_loc_)740 END IF741 IF (PRESENT(zoom_ibegin_loc_)) THEN742 CALL cxios_set_domaingroup_zoom_ibegin_loc(domaingroup_hdl%daddr, zoom_ibegin_loc_)743 END IF744 IF (PRESENT(zoom_jbegin_loc_)) THEN745 CALL cxios_set_domaingroup_zoom_jbegin_loc(domaingroup_hdl%daddr, zoom_jbegin_loc_)746 END IF747 IF (PRESENT(data_n_index_)) THEN748 CALL cxios_set_domaingroup_data_n_index(domaingroup_hdl%daddr, data_n_index_)749 END IF750 IF (PRESENT(data_i_index_)) THEN751 CALL cxios_set_domaingroup_data_i_index(domaingroup_hdl%daddr, data_i_index_, size(data_i_index_, 1))752 END IF753 IF (PRESENT(data_j_index_)) THEN754 CALL cxios_set_domaingroup_data_j_index(domaingroup_hdl%daddr, data_j_index_, size(data_j_index_, 1))755 END IF756 IF (PRESENT(lonvalue_)) THEN757 CALL cxios_set_domaingroup_lonvalue(domaingroup_hdl%daddr, lonvalue_, size(lonvalue_, 1))758 END IF759 IF (PRESENT(latvalue_)) THEN760 CALL cxios_set_domaingroup_latvalue(domaingroup_hdl%daddr, latvalue_, size(latvalue_, 1))761 END IF762 763 END SUBROUTINE set_domaingroup_attributes_hdl764 765 SUBROUTINE set_domain_attributes_id &766 ( domain_id, name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, &767 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, &768 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_, &769 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_, lonvalue_, latvalue_)770 IMPLICIT NONE771 TYPE(XDomainHandle) :: domain_hdl772 CHARACTER(len = *) , INTENT(IN) :: domain_id773 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_774 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_775 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_776 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_777 INTEGER , OPTIONAL, INTENT(IN) :: ni_glo_778 INTEGER , OPTIONAL, INTENT(IN) :: nj_glo_779 INTEGER , OPTIONAL, INTENT(IN) :: ibegin_780 INTEGER , OPTIONAL, INTENT(IN) :: iend_781 INTEGER , OPTIONAL, INTENT(IN) :: ni_782 INTEGER , OPTIONAL, INTENT(IN) :: jbegin_783 INTEGER , OPTIONAL, INTENT(IN) :: jend_784 INTEGER , OPTIONAL, INTENT(IN) :: nj_785 LOGICAL , dimension(*), OPTIONAL, INTENT(IN) :: mask_(:,:)786 INTEGER , OPTIONAL, INTENT(IN) :: data_dim_787 INTEGER , OPTIONAL, INTENT(IN) :: data_ni_788 INTEGER , OPTIONAL, INTENT(IN) :: data_nj_789 INTEGER , OPTIONAL, INTENT(IN) :: data_ibegin_790 INTEGER , OPTIONAL, INTENT(IN) :: data_jbegin_791 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_792 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_793 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_794 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_795 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_796 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_797 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_798 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_799 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index_800 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index_(:)801 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_j_index_(:)802 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: lonvalue_(:)803 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: latvalue_(:)804 805 CALL domain_handle_create(domain_hdl, domain_id)806 CALL set_domain_attributes_hdl &807 ( domain_hdl, name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, &808 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, &809 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_, &810 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_, lonvalue_, latvalue_)811 812 END SUBROUTINE set_domain_attributes_id813 814 SUBROUTINE set_domain_attributes_hdl &815 ( domain_hdl,name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_, &816 ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_, &817 zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, zoom_ni_loc_, zoom_nj_loc_, zoom_ibegin_loc_, &818 zoom_jbegin_loc_, data_n_index_, data_i_index_, data_j_index_, lonvalue_, latvalue_)819 IMPLICIT NONE820 TYPE(XDomainHandle) , INTENT(IN) :: domain_hdl821 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_822 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_823 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_824 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_825 INTEGER , OPTIONAL, INTENT(IN) :: ni_glo_826 INTEGER , OPTIONAL, INTENT(IN) :: nj_glo_827 INTEGER , OPTIONAL, INTENT(IN) :: ibegin_828 INTEGER , OPTIONAL, INTENT(IN) :: iend_829 INTEGER , OPTIONAL, INTENT(IN) :: ni_830 INTEGER , OPTIONAL, INTENT(IN) :: jbegin_831 INTEGER , OPTIONAL, INTENT(IN) :: jend_832 INTEGER , OPTIONAL, INTENT(IN) :: nj_833 LOGICAL , dimension(*) , OPTIONAL, INTENT(IN) :: mask_(:,:)834 LOGICAL(kind = 1), dimension(:,:), ALLOCATABLE :: mask__835 INTEGER , OPTIONAL, INTENT(IN) :: data_dim_836 INTEGER , OPTIONAL, INTENT(IN) :: data_ni_837 INTEGER , OPTIONAL, INTENT(IN) :: data_nj_838 INTEGER , OPTIONAL, INTENT(IN) :: data_ibegin_839 INTEGER , OPTIONAL, INTENT(IN) :: data_jbegin_840 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_841 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_842 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_843 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_844 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_845 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_846 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_847 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_848 INTEGER , OPTIONAL, INTENT(IN) :: data_n_index_849 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_i_index_(:)850 INTEGER , dimension(*) , OPTIONAL, INTENT(IN) :: data_j_index_(:)851 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: lonvalue_(:)852 REAL(kind = 8), dimension(*) , OPTIONAL, INTENT(IN) :: latvalue_(:)853 IF (PRESENT(name_)) THEN854 CALL cxios_set_domain_name(domain_hdl%daddr, name_, len(name_))855 END IF856 IF (PRESENT(standard_name_)) THEN857 CALL cxios_set_domain_standard_name(domain_hdl%daddr, standard_name_, len(standard_name_))858 END IF859 IF (PRESENT(long_name_)) THEN860 CALL cxios_set_domain_long_name(domain_hdl%daddr, long_name_, len(long_name_))861 END IF862 IF (PRESENT(domain_group_ref_)) THEN863 CALL cxios_set_domain_domain_group_ref(domain_hdl%daddr, domain_group_ref_, len(domain_group_ref_))864 END IF865 IF (PRESENT(ni_glo_)) THEN866 CALL cxios_set_domain_ni_glo(domain_hdl%daddr, ni_glo_)867 END IF868 IF (PRESENT(nj_glo_)) THEN869 CALL cxios_set_domain_nj_glo(domain_hdl%daddr, nj_glo_)870 END IF871 IF (PRESENT(ibegin_)) THEN872 CALL cxios_set_domain_ibegin(domain_hdl%daddr, ibegin_)873 END IF874 IF (PRESENT(iend_)) THEN875 CALL cxios_set_domain_iend(domain_hdl%daddr, iend_)876 END IF877 IF (PRESENT(ni_)) THEN878 CALL cxios_set_domain_ni(domain_hdl%daddr, ni_)879 END IF880 IF (PRESENT(jbegin_)) THEN881 CALL cxios_set_domain_jbegin(domain_hdl%daddr, jbegin_)882 END IF883 IF (PRESENT(jend_)) THEN884 CALL cxios_set_domain_jend(domain_hdl%daddr, jend_)885 END IF886 IF (PRESENT(nj_)) THEN887 CALL cxios_set_domain_nj(domain_hdl%daddr, nj_)888 END IF889 IF (PRESENT(mask_)) THEN890 ALLOCATE(mask__(size(mask_, 1), size(mask_, 2)))891 mask__(:,:) = mask_(:,:)892 CALL cxios_set_domain_mask(domain_hdl%daddr, mask__, size(mask_, 1), size(mask_, 2))893 DEALLOCATE(mask__)894 END IF895 IF (PRESENT(data_dim_)) THEN896 CALL cxios_set_domain_data_dim(domain_hdl%daddr, data_dim_)897 END IF898 IF (PRESENT(data_ni_)) THEN899 CALL cxios_set_domain_data_ni(domain_hdl%daddr, data_ni_)900 END IF901 IF (PRESENT(data_nj_)) THEN902 CALL cxios_set_domain_data_nj(domain_hdl%daddr, data_nj_)903 END IF904 IF (PRESENT(data_ibegin_)) THEN905 CALL cxios_set_domain_data_ibegin(domain_hdl%daddr, data_ibegin_)906 END IF907 IF (PRESENT(data_jbegin_)) THEN908 CALL cxios_set_domain_data_jbegin(domain_hdl%daddr, data_jbegin_)909 END IF910 IF (PRESENT(zoom_ni_)) THEN911 CALL cxios_set_domain_zoom_ni(domain_hdl%daddr, zoom_ni_)912 END IF913 IF (PRESENT(zoom_nj_)) THEN914 CALL cxios_set_domain_zoom_nj(domain_hdl%daddr, zoom_nj_)915 END IF916 IF (PRESENT(zoom_ibegin_)) THEN917 CALL cxios_set_domain_zoom_ibegin(domain_hdl%daddr, zoom_ibegin_)918 END IF919 IF (PRESENT(zoom_jbegin_)) THEN920 CALL cxios_set_domain_zoom_jbegin(domain_hdl%daddr, zoom_jbegin_)921 END IF922 IF (PRESENT(zoom_ni_loc_)) THEN923 CALL cxios_set_domain_zoom_ni_loc(domain_hdl%daddr, zoom_ni_loc_)924 END IF925 IF (PRESENT(zoom_nj_loc_)) THEN926 CALL cxios_set_domain_zoom_nj_loc(domain_hdl%daddr, zoom_nj_loc_)927 END IF928 IF (PRESENT(zoom_ibegin_loc_)) THEN929 CALL cxios_set_domain_zoom_ibegin_loc(domain_hdl%daddr, zoom_ibegin_loc_)930 END IF931 IF (PRESENT(zoom_jbegin_loc_)) THEN932 CALL cxios_set_domain_zoom_jbegin_loc(domain_hdl%daddr, zoom_jbegin_loc_)933 END IF934 IF (PRESENT(data_n_index_)) THEN935 CALL cxios_set_domain_data_n_index(domain_hdl%daddr, data_n_index_)936 END IF937 IF (PRESENT(data_i_index_)) THEN938 CALL cxios_set_domain_data_i_index(domain_hdl%daddr, data_i_index_, size(data_i_index_, 1))939 END IF940 IF (PRESENT(data_j_index_)) THEN941 CALL cxios_set_domain_data_j_index(domain_hdl%daddr, data_j_index_, size(data_j_index_, 1))942 END IF943 IF (PRESENT(lonvalue_)) THEN944 CALL cxios_set_domain_lonvalue(domain_hdl%daddr, lonvalue_, size(lonvalue_, 1))945 END IF946 IF (PRESENT(latvalue_)) THEN947 CALL cxios_set_domain_latvalue(domain_hdl%daddr, latvalue_, size(latvalue_, 1))948 END IF949 950 END SUBROUTINE set_domain_attributes_hdl951 952 SUBROUTINE domain_handle_create(ret, idt)953 IMPLICIT NONE954 TYPE(XDomainHandle), INTENT(OUT):: ret955 CHARACTER(len = *) , INTENT(IN) :: idt956 CALL cxios_domain_handle_create(ret%daddr, idt, len(idt))957 END SUBROUTINE domain_handle_create958 959 SUBROUTINE domaingroup_handle_create(ret, idt)960 IMPLICIT NONE961 TYPE(XDomainGroupHandle), INTENT(OUT):: ret962 CHARACTER(len = *) , INTENT(IN) :: idt963 CALL cxios_domaingroup_handle_create(ret%daddr, idt, len(idt))964 END SUBROUTINE domaingroup_handle_create965 966 LOGICAL FUNCTION domain_valid_id(idt)967 IMPLICIT NONE968 CHARACTER(len = *) , INTENT(IN) :: idt969 LOGICAL (kind = 1) :: val970 CALL cxios_domain_valid_id(val, idt, len(idt));971 domain_valid_id = val972 END FUNCTION domain_valid_id973 974 LOGICAL FUNCTION domaingroup_valid_id(idt)975 IMPLICIT NONE976 CHARACTER(len = *) , INTENT(IN) :: idt977 LOGICAL (kind = 1) :: val978 CALL cxios_domaingroup_valid_id(val, idt, len(idt));979 domaingroup_valid_id = val980 END FUNCTION domaingroup_valid_id981 482 982 483 END MODULE IDOMAIN
Note: See TracChangeset
for help on using the changeset viewer.