Changeset 932
- Timestamp:
- 09/21/16 14:35:03 (8 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/attribute_array_decl.cpp
r664 r932 13 13 template class CAttributeArray<bool,2> ; 14 14 template class CAttributeArray<bool,3> ; 15 //template class CAttributeArray<bool,4> ;16 //template class CAttributeArray<bool,5> ;17 //template class CAttributeArray<bool,6> ;18 //template class CAttributeArray<bool,7> ;15 template class CAttributeArray<bool,4> ; 16 template class CAttributeArray<bool,5> ; 17 template class CAttributeArray<bool,6> ; 18 template class CAttributeArray<bool,7> ; 19 19 } -
XIOS/trunk/src/config/grid_attribute.conf
r887 r932 5 5 DECLARE_ARRAY(bool, 2, mask_2d) 6 6 DECLARE_ARRAY(bool, 3, mask_3d) 7 //DECLARE_ARRAY(bool, 4, mask_4d)8 //DECLARE_ARRAY(bool, 5, mask_5d)9 //DECLARE_ARRAY(bool, 6, mask_6d)10 //DECLARE_ARRAY(bool, 7, mask_7d)7 DECLARE_ARRAY(bool, 4, mask_4d) 8 DECLARE_ARRAY(bool, 5, mask_5d) 9 DECLARE_ARRAY(bool, 6, mask_6d) 10 DECLARE_ARRAY(bool, 7, mask_7d) 11 11 12 12 -
XIOS/trunk/src/distribution_client.cpp
r890 r932 77 77 case 3: 78 78 readGridMaskInfo(grid->mask_3d); 79 break; 80 case 4: 81 readGridMaskInfo(grid->mask_4d); 82 break; 83 case 5: 84 readGridMaskInfo(grid->mask_5d); 85 break; 86 case 6: 87 readGridMaskInfo(grid->mask_6d); 88 break; 89 case 7: 90 readGridMaskInfo(grid->mask_7d); 79 91 break; 80 92 default: -
XIOS/trunk/src/filter/source_filter.cpp
r756 r932 34 34 template void CSourceFilter::streamData<2>(CDate date, const CArray<double, 2>& data); 35 35 template void CSourceFilter::streamData<3>(CDate date, const CArray<double, 3>& data); 36 template void CSourceFilter::streamData<4>(CDate date, const CArray<double, 4>& data); 37 template void CSourceFilter::streamData<5>(CDate date, const CArray<double, 5>& data); 38 template void CSourceFilter::streamData<6>(CDate date, const CArray<double, 6>& data); 39 template void CSourceFilter::streamData<7>(CDate date, const CArray<double, 7>& data); 36 40 37 41 void CSourceFilter::streamDataFromServer(CDate date, const std::map<int, CArray<double, 1> >& data) -
XIOS/trunk/src/filter/store_filter.cpp
r683 r932 59 59 template CDataPacket::StatusCode CStoreFilter::getData<2>(Time timestamp, CArray<double, 2>& data); 60 60 template CDataPacket::StatusCode CStoreFilter::getData<3>(Time timestamp, CArray<double, 3>& data); 61 template CDataPacket::StatusCode CStoreFilter::getData<4>(Time timestamp, CArray<double, 4>& data); 62 template CDataPacket::StatusCode CStoreFilter::getData<5>(Time timestamp, CArray<double, 5>& data); 63 template CDataPacket::StatusCode CStoreFilter::getData<6>(Time timestamp, CArray<double, 6>& data); 64 template CDataPacket::StatusCode CStoreFilter::getData<7>(Time timestamp, CArray<double, 7>& data); 61 65 62 66 void CStoreFilter::onInputReady(std::vector<CDataPacketPtr> data) -
XIOS/trunk/src/generate_interface_impl.hpp
r674 r932 440 440 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 441 441 oss << "}" << std::endl; \ 442 } \ 443 \ 444 template <> \ 445 void CInterface::AttributeCInterface<CArray<T,4> >(ostream& oss, const string& className, const string& name) \ 446 { \ 447 string typeName=getStrType<T>(); \ 448 \ 449 oss << "void cxios_set_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 450 oss << "{" << iendl; \ 451 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 452 oss << " CArray<" << typeName << ",4> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3]), neverDeleteData);" << iendl; \ 453 oss << " " << className << "_hdl->" << name << ".reference(tmp.copy());" << iendl; \ 454 /*oss << " " << className << "_hdl->sendAttributToServer(" << className << "_hdl->" << name << ");" << iendl;*/ \ 455 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 456 oss << "}" << std::endl; \ 457 oss << iendl; \ 458 oss << "void cxios_get_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 459 oss << "{" << iendl; \ 460 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 461 oss << " CArray<" << typeName << ",4> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3]), neverDeleteData);" << iendl; \ 462 oss << " tmp=" << className << "_hdl->" << name << ".getInheritedValue();" << iendl; \ 463 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 464 oss << "}" << std::endl; \ 465 } \ 466 \ 467 template <> \ 468 void CInterface::AttributeCInterface<CArray<T,5> >(ostream& oss, const string& className, const string& name) \ 469 { \ 470 string typeName=getStrType<T>(); \ 471 \ 472 oss << "void cxios_set_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 473 oss << "{" << iendl; \ 474 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 475 oss << " CArray<" << typeName << ",5> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3], extent[4]), neverDeleteData);" << iendl; \ 476 oss << " " << className << "_hdl->" << name << ".reference(tmp.copy());" << iendl; \ 477 /*oss << " " << className << "_hdl->sendAttributToServer(" << className << "_hdl->" << name << ");" << iendl;*/ \ 478 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 479 oss << "}" << std::endl; \ 480 oss << iendl; \ 481 oss << "void cxios_get_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 482 oss << "{" << iendl; \ 483 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 484 oss << " CArray<" << typeName << ",5> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3], extent[4]), neverDeleteData);" << iendl; \ 485 oss << " tmp=" << className << "_hdl->" << name << ".getInheritedValue();" << iendl; \ 486 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 487 oss << "}" << std::endl; \ 488 } \ 489 \ 490 template <> \ 491 void CInterface::AttributeCInterface<CArray<T,6> >(ostream& oss, const string& className, const string& name) \ 492 { \ 493 string typeName=getStrType<T>(); \ 494 \ 495 oss << "void cxios_set_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 496 oss << "{" << iendl; \ 497 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 498 oss << " CArray<" << typeName << ",6> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5]), neverDeleteData);" << iendl; \ 499 oss << " " << className << "_hdl->" << name << ".reference(tmp.copy());" << iendl; \ 500 /*oss << " " << className << "_hdl->sendAttributToServer(" << className << "_hdl->" << name << ");" << iendl;*/ \ 501 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 502 oss << "}" << std::endl; \ 503 oss << iendl; \ 504 oss << "void cxios_get_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 505 oss << "{" << iendl; \ 506 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 507 oss << " CArray<" << typeName << ",6> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5]), neverDeleteData);" << iendl; \ 508 oss << " tmp=" << className << "_hdl->" << name << ".getInheritedValue();" << iendl; \ 509 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 510 oss << "}" << std::endl; \ 511 } \ 512 \ 513 template <> \ 514 void CInterface::AttributeCInterface<CArray<T,7> >(ostream& oss, const string& className, const string& name) \ 515 { \ 516 string typeName=getStrType<T>(); \ 517 \ 518 oss << "void cxios_set_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 519 oss << "{" << iendl; \ 520 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 521 oss << " CArray<" << typeName << ",7> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5], extent[6]), neverDeleteData);" << iendl; \ 522 oss << " " << className << "_hdl->" << name << ".reference(tmp.copy());" << iendl; \ 523 /*oss << " " << className << "_hdl->sendAttributToServer(" << className << "_hdl->" << name << ");" << iendl;*/ \ 524 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 525 oss << "}" << std::endl; \ 526 oss << iendl; \ 527 oss << "void cxios_get_" << className << "_" << name << "(" << className << "_Ptr " << className << "_hdl, " << typeName << "* " << name << ", int* extent)" << iendl; \ 528 oss << "{" << iendl; \ 529 oss << " CTimer::get(\"XIOS\").resume();" << iendl; \ 530 oss << " CArray<" << typeName << ",7> tmp(" << name << ", shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5], extent[6]), neverDeleteData);" << iendl; \ 531 oss << " tmp=" << className << "_hdl->" << name << ".getInheritedValue();" << iendl; \ 532 oss << " CTimer::get(\"XIOS\").suspend();" << iendl; \ 533 oss << "}" << std::endl; \ 442 534 } 443 535 … … 494 586 oss << "END SUBROUTINE cxios_get_" << className << "_" << name << std::endl; \ 495 587 } \ 496 588 \ 497 589 template <> \ 498 590 void CInterface::AttributeFortran2003Interface<CArray<T,3> >(ostream& oss, const string& className, const string& name) \ 591 { \ 592 string fortranType=getStrFortranType<T>(); \ 593 string fortranKindC=getStrFortranKindC<T>(); \ 594 \ 595 oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 596 oss << " USE ISO_C_BINDING" << iendl; \ 597 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 598 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 599 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 600 oss << "END SUBROUTINE cxios_set_" << className << "_" << name << std::endl; \ 601 oss << iendl; \ 602 oss << "SUBROUTINE cxios_get_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 603 oss << " USE ISO_C_BINDING" << iendl; \ 604 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 605 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 606 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 607 oss << "END SUBROUTINE cxios_get_" << className << "_" << name << std::endl; \ 608 } \ 609 \ 610 template <> \ 611 void CInterface::AttributeFortran2003Interface<CArray<T,4> >(ostream& oss, const string& className, const string& name) \ 612 { \ 613 string fortranType=getStrFortranType<T>(); \ 614 string fortranKindC=getStrFortranKindC<T>(); \ 615 \ 616 oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 617 oss << " USE ISO_C_BINDING" << iendl; \ 618 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 619 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 620 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 621 oss << "END SUBROUTINE cxios_set_" << className << "_" << name << std::endl; \ 622 oss << iendl; \ 623 oss << "SUBROUTINE cxios_get_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 624 oss << " USE ISO_C_BINDING" << iendl; \ 625 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 626 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 627 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 628 oss << "END SUBROUTINE cxios_get_" << className << "_" << name << std::endl; \ 629 }\ 630 \ 631 template <> \ 632 void CInterface::AttributeFortran2003Interface<CArray<T,5> >(ostream& oss, const string& className, const string& name) \ 633 { \ 634 string fortranType=getStrFortranType<T>(); \ 635 string fortranKindC=getStrFortranKindC<T>(); \ 636 \ 637 oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 638 oss << " USE ISO_C_BINDING" << iendl; \ 639 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 640 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 641 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 642 oss << "END SUBROUTINE cxios_set_" << className << "_" << name << std::endl; \ 643 oss << iendl; \ 644 oss << "SUBROUTINE cxios_get_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 645 oss << " USE ISO_C_BINDING" << iendl; \ 646 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 647 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 648 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 649 oss << "END SUBROUTINE cxios_get_" << className << "_" << name << std::endl; \ 650 }\ 651 \ 652 template <> \ 653 void CInterface::AttributeFortran2003Interface<CArray<T,6> >(ostream& oss, const string& className, const string& name) \ 654 { \ 655 string fortranType=getStrFortranType<T>(); \ 656 string fortranKindC=getStrFortranKindC<T>(); \ 657 \ 658 oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 659 oss << " USE ISO_C_BINDING" << iendl; \ 660 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 661 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 662 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 663 oss << "END SUBROUTINE cxios_set_" << className << "_" << name << std::endl; \ 664 oss << iendl; \ 665 oss << "SUBROUTINE cxios_get_" << className << "_" << name << "(" << className << "_hdl, " << name << ", extent) BIND(C)" << iendl; \ 666 oss << " USE ISO_C_BINDING" << iendl; \ 667 oss << " INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; \ 668 oss << " " << fortranType << " " << fortranKindC << " , DIMENSION(*) :: " << name << iendl; \ 669 oss << " INTEGER (kind = C_INT), DIMENSION(*) :: extent" << iendl; \ 670 oss << "END SUBROUTINE cxios_get_" << className << "_" << name << std::endl; \ 671 }\ 672 \ 673 template <> \ 674 void CInterface::AttributeFortran2003Interface<CArray<T,7> >(ostream& oss, const string& className, const string& name) \ 499 675 { \ 500 676 string fortranType=getStrFortranType<T>(); \ … … 562 738 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(OUT) :: " << name << "(:,:,:)"; \ 563 739 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:)"; \ 740 }\ 741 \ 742 template <> \ 743 void CInterface::AttributeFortranInterfaceDeclaration<CArray<T,4> >(ostream& oss, const string& className, const string& name) \ 744 { \ 745 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(IN) :: " << name << "(:,:,:,:)"; \ 746 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:)"; \ 747 } \ 748 \ 749 template <> \ 750 void CInterface::AttributeFortranInterfaceGetDeclaration<CArray<T,4> >(ostream& oss, const string& className, const string& name) \ 751 { \ 752 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(OUT) :: " << name << "(:,:,:,:)"; \ 753 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:)"; \ 754 }\ 755 \ 756 template <> \ 757 void CInterface::AttributeFortranInterfaceDeclaration<CArray<T,5> >(ostream& oss, const string& className, const string& name) \ 758 { \ 759 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(IN) :: " << name << "(:,:,:,:,:)"; \ 760 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:,:)"; \ 761 } \ 762 \ 763 template <> \ 764 void CInterface::AttributeFortranInterfaceGetDeclaration<CArray<T,5> >(ostream& oss, const string& className, const string& name) \ 765 { \ 766 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(OUT) :: " << name << "(:,:,:,:,:)"; \ 767 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:,:)"; \ 768 }\ 769 \ 770 template <> \ 771 void CInterface::AttributeFortranInterfaceDeclaration<CArray<T,6> >(ostream& oss, const string& className, const string& name) \ 772 { \ 773 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(IN) :: " << name << "(:,:,:,:,:,:)"; \ 774 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:,:,:)"; \ 775 } \ 776 \ 777 template <> \ 778 void CInterface::AttributeFortranInterfaceGetDeclaration<CArray<T,6> >(ostream& oss, const string& className, const string& name) \ 779 { \ 780 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(OUT) :: " << name << "(:,:,:,:,:,:)"; \ 781 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:,:,:)"; \ 782 }\ 783 \ 784 template <> \ 785 void CInterface::AttributeFortranInterfaceDeclaration<CArray<T,7> >(ostream& oss, const string& className, const string& name) \ 786 { \ 787 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(IN) :: " << name << "(:,:,:,:,:,:,:)"; \ 788 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:,:,:,:)"; \ 789 } \ 790 \ 791 template <> \ 792 void CInterface::AttributeFortranInterfaceGetDeclaration<CArray<T,7> >(ostream& oss, const string& className, const string& name) \ 793 { \ 794 oss << getStrFortranType<T>() << " " << getStrFortranKind<T>() << " , OPTIONAL, INTENT(OUT) :: " << name << "(:,:,:,:,:,:,:)"; \ 795 if (!matchingTypeCFortran<T>()) oss << iendl << getStrFortranType<T>() << " " << getStrFortranKindC<T>() << " , ALLOCATABLE :: " << name << "_tmp(:,:,:,:,:,:,:)"; \ 564 796 } 565 797 … … 602 834 oss << "ENDIF"; \ 603 835 } \ 604 836 \ 605 837 template <> \ 606 838 void CInterface::AttributeFortranInterfaceBody< CArray<T,3> >(ostream& oss, const string& className, const string& name) \ … … 617 849 else oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 618 850 oss << "ENDIF"; \ 851 }\ 852 \ 853 template <> \ 854 void CInterface::AttributeFortranInterfaceBody< CArray<T,4> >(ostream& oss, const string& className, const string& name) \ 855 { \ 856 string name_tmp=name+"__tmp"; \ 857 \ 858 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 859 if (!matchingTypeCFortran<T>()) \ 860 { \ 861 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4)))" << iendl; \ 862 oss << " " << name_tmp << " = " << name << "_" << iendl; \ 863 oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 864 } \ 865 else oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 866 oss << "ENDIF"; \ 867 }\ 868 \ 869 template <> \ 870 void CInterface::AttributeFortranInterfaceBody< CArray<T,5> >(ostream& oss, const string& className, const string& name) \ 871 { \ 872 string name_tmp=name+"__tmp"; \ 873 \ 874 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 875 if (!matchingTypeCFortran<T>()) \ 876 { \ 877 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4), SIZE(" << name << "_,5)))" << iendl; \ 878 oss << " " << name_tmp << " = " << name << "_" << iendl; \ 879 oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 880 } \ 881 else oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 882 oss << "ENDIF"; \ 883 }\ 884 \ 885 template <> \ 886 void CInterface::AttributeFortranInterfaceBody< CArray<T,6> >(ostream& oss, const string& className, const string& name) \ 887 { \ 888 string name_tmp=name+"__tmp"; \ 889 \ 890 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 891 if (!matchingTypeCFortran<T>()) \ 892 { \ 893 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4), SIZE(" << name << "_,5), SIZE(" << name << "_,6)))" << iendl; \ 894 oss << " " << name_tmp << " = " << name << "_" << iendl; \ 895 oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 896 } \ 897 else oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 898 oss << "ENDIF"; \ 899 }\ 900 \ 901 template <> \ 902 void CInterface::AttributeFortranInterfaceBody< CArray<T,7> >(ostream& oss, const string& className, const string& name) \ 903 { \ 904 string name_tmp=name+"__tmp"; \ 905 \ 906 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 907 if (!matchingTypeCFortran<T>()) \ 908 { \ 909 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4), SIZE(" << name << "_,5), SIZE(" << name << "_,6), SIZE(" << name << "_,7)))" << iendl; \ 910 oss << " " << name_tmp << " = " << name << "_" << iendl; \ 911 oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 912 } \ 913 else oss << " CALL cxios_set_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 914 oss << "ENDIF"; \ 619 915 } 620 916 … … 657 953 oss << "ENDIF"; \ 658 954 } \ 659 955 \ 660 956 template <> \ 661 957 void CInterface::AttributeFortranInterfaceGetBody< CArray<T,3> >(ostream& oss, const string& className, const string& name) \ … … 672 968 else oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 673 969 oss << "ENDIF"; \ 970 } \ 971 \ 972 template <> \ 973 void CInterface::AttributeFortranInterfaceGetBody< CArray<T,4> >(ostream& oss, const string& className, const string& name) \ 974 { \ 975 string name_tmp=name+"__tmp"; \ 976 \ 977 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 978 if (!matchingTypeCFortran<T>()) \ 979 { \ 980 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4)))" << iendl; \ 981 oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 982 oss << " " << name << "_ = " << name_tmp << iendl; \ 983 } \ 984 else oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 985 oss << "ENDIF"; \ 986 } \ 987 \ 988 template <> \ 989 void CInterface::AttributeFortranInterfaceGetBody< CArray<T,5> >(ostream& oss, const string& className, const string& name) \ 990 { \ 991 string name_tmp=name+"__tmp"; \ 992 \ 993 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 994 if (!matchingTypeCFortran<T>()) \ 995 { \ 996 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4), SIZE(" << name << "_,5)))" << iendl; \ 997 oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 998 oss << " " << name << "_ = " << name_tmp << iendl; \ 999 } \ 1000 else oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 1001 oss << "ENDIF"; \ 1002 }\ 1003 \ 1004 template <> \ 1005 void CInterface::AttributeFortranInterfaceGetBody< CArray<T,6> >(ostream& oss, const string& className, const string& name) \ 1006 { \ 1007 string name_tmp=name+"__tmp"; \ 1008 \ 1009 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 1010 if (!matchingTypeCFortran<T>()) \ 1011 { \ 1012 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4), SIZE(" << name << "_,5), SIZE(" << name << "_,6)))" << iendl; \ 1013 oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 1014 oss << " " << name << "_ = " << name_tmp << iendl; \ 1015 } \ 1016 else oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 1017 oss << "ENDIF"; \ 1018 } \ 1019 \ 1020 template <> \ 1021 void CInterface::AttributeFortranInterfaceGetBody< CArray<T,7> >(ostream& oss, const string& className, const string& name) \ 1022 { \ 1023 string name_tmp=name+"__tmp"; \ 1024 \ 1025 oss << "IF (PRESENT(" << name << "_)) THEN" << iendl; \ 1026 if (!matchingTypeCFortran<T>()) \ 1027 { \ 1028 oss << " ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3), SIZE(" << name << "_,4), SIZE(" << name << "_,5), SIZE(" << name << "_,6), SIZE(" << name << "_,7)))" << iendl; \ 1029 oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 1030 oss << " " << name << "_ = " << name_tmp << iendl; \ 1031 } \ 1032 else oss << " CALL cxios_get_" << className << "_" << name << "(" << className << "_hdl%daddr, " << name << "_, SHAPE(" << name << "_))" << iendl; \ 1033 oss << "ENDIF"; \ 674 1034 } 675 1035 -
XIOS/trunk/src/interface/c/icdata.cpp
r704 r932 438 438 } 439 439 440 void cxios_write_data_k84(const char* fieldid, int fieldid_size, double* data_k8, int data_0size, int data_1size, int data_2size, int data_3size) 441 { 442 std::string fieldid_str; 443 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 444 445 CTimer::get("XIOS").resume(); 446 CTimer::get("XIOS send field").resume(); 447 448 CContext* context = CContext::getCurrent(); 449 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 450 context->checkBuffersAndListen(); 451 452 CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 453 CField::get(fieldid_str)->setData(data); 454 455 CTimer::get("XIOS send field").suspend(); 456 CTimer::get("XIOS").suspend(); 457 } 458 459 void cxios_write_data_k85(const char* fieldid, int fieldid_size, double* data_k8, 460 int data_0size, int data_1size, int data_2size, 461 int data_3size, int data_4size) 462 { 463 std::string fieldid_str; 464 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 465 466 CTimer::get("XIOS").resume(); 467 CTimer::get("XIOS send field").resume(); 468 469 CContext* context = CContext::getCurrent(); 470 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 471 context->checkBuffersAndListen(); 472 473 CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 474 CField::get(fieldid_str)->setData(data); 475 476 CTimer::get("XIOS send field").suspend(); 477 CTimer::get("XIOS").suspend(); 478 } 479 480 void cxios_write_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 481 int data_0size, int data_1size, int data_2size, 482 int data_3size, int data_4size, int data_5size) 483 { 484 std::string fieldid_str; 485 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 486 487 CTimer::get("XIOS").resume(); 488 CTimer::get("XIOS send field").resume(); 489 490 CContext* context = CContext::getCurrent(); 491 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 492 context->checkBuffersAndListen(); 493 494 CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 495 CField::get(fieldid_str)->setData(data); 496 497 CTimer::get("XIOS send field").suspend(); 498 CTimer::get("XIOS").suspend(); 499 } 500 501 void cxios_write_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 502 int data_0size, int data_1size, int data_2size, 503 int data_3size, int data_4size, int data_5size, 504 int data_6size) 505 { 506 std::string fieldid_str; 507 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 508 509 CTimer::get("XIOS").resume(); 510 CTimer::get("XIOS send field").resume(); 511 512 CContext* context = CContext::getCurrent(); 513 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 514 context->checkBuffersAndListen(); 515 516 CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 517 CField::get(fieldid_str)->setData(data); 518 519 CTimer::get("XIOS send field").suspend(); 520 CTimer::get("XIOS").suspend(); 521 } 522 440 523 void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 441 524 { … … 520 603 } 521 604 605 void cxios_write_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 606 int data_0size, int data_1size, int data_2size, 607 int data_3size) 608 { 609 std::string fieldid_str; 610 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 611 612 CTimer::get("XIOS").resume(); 613 CTimer::get("XIOS send field").resume(); 614 615 CContext* context = CContext::getCurrent(); 616 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 617 context->checkBuffersAndListen(); 618 619 CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 620 CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 621 data = data_tmp; 622 CField::get(fieldid_str)->setData(data); 623 624 CTimer::get("XIOS send field").suspend(); 625 CTimer::get("XIOS").suspend(); 626 } 627 628 void cxios_write_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 629 int data_0size, int data_1size, int data_2size, 630 int data_3size, int data_4size) 631 { 632 std::string fieldid_str; 633 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 634 635 CTimer::get("XIOS").resume(); 636 CTimer::get("XIOS send field").resume(); 637 638 CContext* context = CContext::getCurrent(); 639 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 640 context->checkBuffersAndListen(); 641 642 CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 643 CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 644 data = data_tmp; 645 CField::get(fieldid_str)->setData(data); 646 647 CTimer::get("XIOS send field").suspend(); 648 CTimer::get("XIOS").suspend(); 649 } 650 651 void cxios_write_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 652 int data_0size, int data_1size, int data_2size, 653 int data_3size, int data_4size, int data_5size) 654 { 655 std::string fieldid_str; 656 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 657 658 CTimer::get("XIOS").resume(); 659 CTimer::get("XIOS send field").resume(); 660 661 CContext* context = CContext::getCurrent(); 662 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 663 context->checkBuffersAndListen(); 664 665 CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 666 CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 667 data = data_tmp; 668 CField::get(fieldid_str)->setData(data); 669 670 CTimer::get("XIOS send field").suspend(); 671 CTimer::get("XIOS").suspend(); 672 } 673 674 void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 675 int data_0size, int data_1size, int data_2size, 676 int data_3size, int data_4size, int data_5size, 677 int data_6size) 678 { 679 std::string fieldid_str; 680 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 681 682 CTimer::get("XIOS").resume(); 683 CTimer::get("XIOS send field").resume(); 684 685 CContext* context = CContext::getCurrent(); 686 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 687 context->checkBuffersAndListen(); 688 689 CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 690 CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 691 data = data_tmp; 692 CField::get(fieldid_str)->setData(data); 693 694 CTimer::get("XIOS send field").suspend(); 695 CTimer::get("XIOS").suspend(); 696 } 697 522 698 // ---------------------- Lecture des données ------------------------------ 523 699 … … 573 749 574 750 CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 751 CField::get(fieldid_str)->getData(data); 752 753 CTimer::get("XIOS recv field").suspend(); 754 CTimer::get("XIOS").suspend(); 755 } 756 757 void cxios_read_data_k84(const char* fieldid, int fieldid_size, double* data_k8, 758 int data_0size, int data_1size, int data_2size, 759 int data_3size) 760 { 761 std::string fieldid_str; 762 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 763 764 CTimer::get("XIOS").resume(); 765 CTimer::get("XIOS recv field").resume(); 766 767 CContext* context = CContext::getCurrent(); 768 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 769 context->checkBuffersAndListen(); 770 771 CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 772 CField::get(fieldid_str)->getData(data); 773 774 CTimer::get("XIOS recv field").suspend(); 775 CTimer::get("XIOS").suspend(); 776 } 777 778 void cxios_read_data_k85(const char* fieldid, int fieldid_size, double* data_k8, 779 int data_0size, int data_1size, int data_2size, 780 int data_3size, int data_4size) 781 { 782 std::string fieldid_str; 783 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 784 785 CTimer::get("XIOS").resume(); 786 CTimer::get("XIOS recv field").resume(); 787 788 CContext* context = CContext::getCurrent(); 789 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 790 context->checkBuffersAndListen(); 791 792 CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 793 CField::get(fieldid_str)->getData(data); 794 795 CTimer::get("XIOS recv field").suspend(); 796 CTimer::get("XIOS").suspend(); 797 } 798 799 void cxios_read_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 800 int data_0size, int data_1size, int data_2size, 801 int data_3size, int data_4size, int data_5size) 802 { 803 std::string fieldid_str; 804 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 805 806 CTimer::get("XIOS").resume(); 807 CTimer::get("XIOS recv field").resume(); 808 809 CContext* context = CContext::getCurrent(); 810 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 811 context->checkBuffersAndListen(); 812 813 CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 814 CField::get(fieldid_str)->getData(data); 815 816 CTimer::get("XIOS recv field").suspend(); 817 CTimer::get("XIOS").suspend(); 818 } 819 820 void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 821 int data_0size, int data_1size, int data_2size, 822 int data_3size, int data_4size, int data_5size, 823 int data_6size) 824 { 825 std::string fieldid_str; 826 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 827 828 CTimer::get("XIOS").resume(); 829 CTimer::get("XIOS recv field").resume(); 830 831 CContext* context = CContext::getCurrent(); 832 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 833 context->checkBuffersAndListen(); 834 835 CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 575 836 CField::get(fieldid_str)->getData(data); 576 837 … … 641 902 CTimer::get("XIOS").suspend(); 642 903 } 904 905 void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 906 int data_0size, int data_1size, int data_2size, 907 int data_3size) 908 { 909 std::string fieldid_str; 910 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 911 912 CTimer::get("XIOS").resume(); 913 CTimer::get("XIOS recv field").resume(); 914 915 CContext* context = CContext::getCurrent(); 916 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 917 context->checkBuffersAndListen(); 918 919 CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 920 CField::get(fieldid_str)->getData(data); 921 CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 922 data_tmp = data; 923 924 CTimer::get("XIOS recv field").suspend(); 925 CTimer::get("XIOS").suspend(); 926 } 927 928 void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 929 int data_0size, int data_1size, int data_2size, 930 int data_3size, int data_4size) 931 { 932 std::string fieldid_str; 933 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 934 935 CTimer::get("XIOS").resume(); 936 CTimer::get("XIOS recv field").resume(); 937 938 CContext* context = CContext::getCurrent(); 939 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 940 context->checkBuffersAndListen(); 941 942 CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 943 CField::get(fieldid_str)->getData(data); 944 CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 945 data_tmp = data; 946 947 CTimer::get("XIOS recv field").suspend(); 948 CTimer::get("XIOS").suspend(); 949 } 950 951 void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 952 int data_0size, int data_1size, int data_2size, 953 int data_3size, int data_4size, int data_5size) 954 { 955 std::string fieldid_str; 956 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 957 958 CTimer::get("XIOS").resume(); 959 CTimer::get("XIOS recv field").resume(); 960 961 CContext* context = CContext::getCurrent(); 962 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 963 context->checkBuffersAndListen(); 964 965 CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 966 CField::get(fieldid_str)->getData(data); 967 CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 968 data_tmp = data; 969 970 CTimer::get("XIOS recv field").suspend(); 971 CTimer::get("XIOS").suspend(); 972 } 973 974 void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 975 int data_0size, int data_1size, int data_2size, 976 int data_3size, int data_4size, int data_5size, 977 int data_6size) 978 { 979 std::string fieldid_str; 980 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 981 982 CTimer::get("XIOS").resume(); 983 CTimer::get("XIOS recv field").resume(); 984 985 CContext* context = CContext::getCurrent(); 986 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 987 context->checkBuffersAndListen(); 988 989 CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 990 CField::get(fieldid_str)->getData(data); 991 CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 992 data_tmp = data; 993 994 CTimer::get("XIOS recv field").suspend(); 995 CTimer::get("XIOS").suspend(); 996 } 643 997 } // extern "C" -
XIOS/trunk/src/interface/c_attr/icfile_attr.cpp
r891 r932 64 64 65 65 66 void cxios_set_file_convention(file_Ptr file_hdl, const char * convention, int convention_size) 67 { 68 std::string convention_str; 69 if (!cstr2string(convention, convention_size, convention_str)) return; 70 CTimer::get("XIOS").resume(); 71 file_hdl->convention.fromString(convention_str); 72 CTimer::get("XIOS").suspend(); 73 } 74 75 void cxios_get_file_convention(file_Ptr file_hdl, char * convention, int convention_size) 76 { 77 CTimer::get("XIOS").resume(); 78 if (!string_copy(file_hdl->convention.getInheritedStringValue(), convention, convention_size)) 79 ERROR("void cxios_get_file_convention(file_Ptr file_hdl, char * convention, int convention_size)", << "Input string is too short"); 80 CTimer::get("XIOS").suspend(); 81 } 82 83 bool cxios_is_defined_file_convention(file_Ptr file_hdl) 84 { 85 CTimer::get("XIOS").resume(); 86 bool isDefined = file_hdl->convention.hasInheritedValue(); 87 CTimer::get("XIOS").suspend(); 88 return isDefined; 89 } 90 91 66 92 void cxios_set_file_cyclic(file_Ptr file_hdl, bool cyclic) 67 93 { -
XIOS/trunk/src/interface/c_attr/icfilegroup_attr.cpp
r891 r932 64 64 65 65 66 void cxios_set_filegroup_convention(filegroup_Ptr filegroup_hdl, const char * convention, int convention_size) 67 { 68 std::string convention_str; 69 if (!cstr2string(convention, convention_size, convention_str)) return; 70 CTimer::get("XIOS").resume(); 71 filegroup_hdl->convention.fromString(convention_str); 72 CTimer::get("XIOS").suspend(); 73 } 74 75 void cxios_get_filegroup_convention(filegroup_Ptr filegroup_hdl, char * convention, int convention_size) 76 { 77 CTimer::get("XIOS").resume(); 78 if (!string_copy(filegroup_hdl->convention.getInheritedStringValue(), convention, convention_size)) 79 ERROR("void cxios_get_filegroup_convention(filegroup_Ptr filegroup_hdl, char * convention, int convention_size)", << "Input string is too short"); 80 CTimer::get("XIOS").suspend(); 81 } 82 83 bool cxios_is_defined_filegroup_convention(filegroup_Ptr filegroup_hdl) 84 { 85 CTimer::get("XIOS").resume(); 86 bool isDefined = filegroup_hdl->convention.hasInheritedValue(); 87 CTimer::get("XIOS").suspend(); 88 return isDefined; 89 } 90 91 66 92 void cxios_set_filegroup_cyclic(filegroup_Ptr filegroup_hdl, bool cyclic) 67 93 { -
XIOS/trunk/src/interface/c_attr/icgrid_attr.cpp
r817 r932 119 119 120 120 121 void cxios_set_grid_mask_4d(grid_Ptr grid_hdl, bool* mask_4d, int* extent) 122 { 123 CTimer::get("XIOS").resume(); 124 CArray<bool,4> tmp(mask_4d, shape(extent[0], extent[1], extent[2], extent[3]), neverDeleteData); 125 grid_hdl->mask_4d.reference(tmp.copy()); 126 CTimer::get("XIOS").suspend(); 127 } 128 129 void cxios_get_grid_mask_4d(grid_Ptr grid_hdl, bool* mask_4d, int* extent) 130 { 131 CTimer::get("XIOS").resume(); 132 CArray<bool,4> tmp(mask_4d, shape(extent[0], extent[1], extent[2], extent[3]), neverDeleteData); 133 tmp=grid_hdl->mask_4d.getInheritedValue(); 134 CTimer::get("XIOS").suspend(); 135 } 136 137 bool cxios_is_defined_grid_mask_4d(grid_Ptr grid_hdl) 138 { 139 CTimer::get("XIOS").resume(); 140 bool isDefined = grid_hdl->mask_4d.hasInheritedValue(); 141 CTimer::get("XIOS").suspend(); 142 return isDefined; 143 } 144 145 146 void cxios_set_grid_mask_5d(grid_Ptr grid_hdl, bool* mask_5d, int* extent) 147 { 148 CTimer::get("XIOS").resume(); 149 CArray<bool,5> tmp(mask_5d, shape(extent[0], extent[1], extent[2], extent[3], extent[4]), neverDeleteData); 150 grid_hdl->mask_5d.reference(tmp.copy()); 151 CTimer::get("XIOS").suspend(); 152 } 153 154 void cxios_get_grid_mask_5d(grid_Ptr grid_hdl, bool* mask_5d, int* extent) 155 { 156 CTimer::get("XIOS").resume(); 157 CArray<bool,5> tmp(mask_5d, shape(extent[0], extent[1], extent[2], extent[3], extent[4]), neverDeleteData); 158 tmp=grid_hdl->mask_5d.getInheritedValue(); 159 CTimer::get("XIOS").suspend(); 160 } 161 162 bool cxios_is_defined_grid_mask_5d(grid_Ptr grid_hdl) 163 { 164 CTimer::get("XIOS").resume(); 165 bool isDefined = grid_hdl->mask_5d.hasInheritedValue(); 166 CTimer::get("XIOS").suspend(); 167 return isDefined; 168 } 169 170 171 void cxios_set_grid_mask_6d(grid_Ptr grid_hdl, bool* mask_6d, int* extent) 172 { 173 CTimer::get("XIOS").resume(); 174 CArray<bool,6> tmp(mask_6d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5]), neverDeleteData); 175 grid_hdl->mask_6d.reference(tmp.copy()); 176 CTimer::get("XIOS").suspend(); 177 } 178 179 void cxios_get_grid_mask_6d(grid_Ptr grid_hdl, bool* mask_6d, int* extent) 180 { 181 CTimer::get("XIOS").resume(); 182 CArray<bool,6> tmp(mask_6d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5]), neverDeleteData); 183 tmp=grid_hdl->mask_6d.getInheritedValue(); 184 CTimer::get("XIOS").suspend(); 185 } 186 187 bool cxios_is_defined_grid_mask_6d(grid_Ptr grid_hdl) 188 { 189 CTimer::get("XIOS").resume(); 190 bool isDefined = grid_hdl->mask_6d.hasInheritedValue(); 191 CTimer::get("XIOS").suspend(); 192 return isDefined; 193 } 194 195 196 void cxios_set_grid_mask_7d(grid_Ptr grid_hdl, bool* mask_7d, int* extent) 197 { 198 CTimer::get("XIOS").resume(); 199 CArray<bool,7> tmp(mask_7d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5], extent[6]), neverDeleteData); 200 grid_hdl->mask_7d.reference(tmp.copy()); 201 CTimer::get("XIOS").suspend(); 202 } 203 204 void cxios_get_grid_mask_7d(grid_Ptr grid_hdl, bool* mask_7d, int* extent) 205 { 206 CTimer::get("XIOS").resume(); 207 CArray<bool,7> tmp(mask_7d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5], extent[6]), neverDeleteData); 208 tmp=grid_hdl->mask_7d.getInheritedValue(); 209 CTimer::get("XIOS").suspend(); 210 } 211 212 bool cxios_is_defined_grid_mask_7d(grid_Ptr grid_hdl) 213 { 214 CTimer::get("XIOS").resume(); 215 bool isDefined = grid_hdl->mask_7d.hasInheritedValue(); 216 CTimer::get("XIOS").suspend(); 217 return isDefined; 218 } 219 220 121 221 void cxios_set_grid_name(grid_Ptr grid_hdl, const char * name, int name_size) 122 222 { -
XIOS/trunk/src/interface/c_attr/icgridgroup_attr.cpp
r817 r932 145 145 146 146 147 void cxios_set_gridgroup_mask_4d(gridgroup_Ptr gridgroup_hdl, bool* mask_4d, int* extent) 148 { 149 CTimer::get("XIOS").resume(); 150 CArray<bool,4> tmp(mask_4d, shape(extent[0], extent[1], extent[2], extent[3]), neverDeleteData); 151 gridgroup_hdl->mask_4d.reference(tmp.copy()); 152 CTimer::get("XIOS").suspend(); 153 } 154 155 void cxios_get_gridgroup_mask_4d(gridgroup_Ptr gridgroup_hdl, bool* mask_4d, int* extent) 156 { 157 CTimer::get("XIOS").resume(); 158 CArray<bool,4> tmp(mask_4d, shape(extent[0], extent[1], extent[2], extent[3]), neverDeleteData); 159 tmp=gridgroup_hdl->mask_4d.getInheritedValue(); 160 CTimer::get("XIOS").suspend(); 161 } 162 163 bool cxios_is_defined_gridgroup_mask_4d(gridgroup_Ptr gridgroup_hdl) 164 { 165 CTimer::get("XIOS").resume(); 166 bool isDefined = gridgroup_hdl->mask_4d.hasInheritedValue(); 167 CTimer::get("XIOS").suspend(); 168 return isDefined; 169 } 170 171 172 void cxios_set_gridgroup_mask_5d(gridgroup_Ptr gridgroup_hdl, bool* mask_5d, int* extent) 173 { 174 CTimer::get("XIOS").resume(); 175 CArray<bool,5> tmp(mask_5d, shape(extent[0], extent[1], extent[2], extent[3], extent[4]), neverDeleteData); 176 gridgroup_hdl->mask_5d.reference(tmp.copy()); 177 CTimer::get("XIOS").suspend(); 178 } 179 180 void cxios_get_gridgroup_mask_5d(gridgroup_Ptr gridgroup_hdl, bool* mask_5d, int* extent) 181 { 182 CTimer::get("XIOS").resume(); 183 CArray<bool,5> tmp(mask_5d, shape(extent[0], extent[1], extent[2], extent[3], extent[4]), neverDeleteData); 184 tmp=gridgroup_hdl->mask_5d.getInheritedValue(); 185 CTimer::get("XIOS").suspend(); 186 } 187 188 bool cxios_is_defined_gridgroup_mask_5d(gridgroup_Ptr gridgroup_hdl) 189 { 190 CTimer::get("XIOS").resume(); 191 bool isDefined = gridgroup_hdl->mask_5d.hasInheritedValue(); 192 CTimer::get("XIOS").suspend(); 193 return isDefined; 194 } 195 196 197 void cxios_set_gridgroup_mask_6d(gridgroup_Ptr gridgroup_hdl, bool* mask_6d, int* extent) 198 { 199 CTimer::get("XIOS").resume(); 200 CArray<bool,6> tmp(mask_6d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5]), neverDeleteData); 201 gridgroup_hdl->mask_6d.reference(tmp.copy()); 202 CTimer::get("XIOS").suspend(); 203 } 204 205 void cxios_get_gridgroup_mask_6d(gridgroup_Ptr gridgroup_hdl, bool* mask_6d, int* extent) 206 { 207 CTimer::get("XIOS").resume(); 208 CArray<bool,6> tmp(mask_6d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5]), neverDeleteData); 209 tmp=gridgroup_hdl->mask_6d.getInheritedValue(); 210 CTimer::get("XIOS").suspend(); 211 } 212 213 bool cxios_is_defined_gridgroup_mask_6d(gridgroup_Ptr gridgroup_hdl) 214 { 215 CTimer::get("XIOS").resume(); 216 bool isDefined = gridgroup_hdl->mask_6d.hasInheritedValue(); 217 CTimer::get("XIOS").suspend(); 218 return isDefined; 219 } 220 221 222 void cxios_set_gridgroup_mask_7d(gridgroup_Ptr gridgroup_hdl, bool* mask_7d, int* extent) 223 { 224 CTimer::get("XIOS").resume(); 225 CArray<bool,7> tmp(mask_7d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5], extent[6]), neverDeleteData); 226 gridgroup_hdl->mask_7d.reference(tmp.copy()); 227 CTimer::get("XIOS").suspend(); 228 } 229 230 void cxios_get_gridgroup_mask_7d(gridgroup_Ptr gridgroup_hdl, bool* mask_7d, int* extent) 231 { 232 CTimer::get("XIOS").resume(); 233 CArray<bool,7> tmp(mask_7d, shape(extent[0], extent[1], extent[2], extent[3], extent[4], extent[5], extent[6]), neverDeleteData); 234 tmp=gridgroup_hdl->mask_7d.getInheritedValue(); 235 CTimer::get("XIOS").suspend(); 236 } 237 238 bool cxios_is_defined_gridgroup_mask_7d(gridgroup_Ptr gridgroup_hdl) 239 { 240 CTimer::get("XIOS").resume(); 241 bool isDefined = gridgroup_hdl->mask_7d.hasInheritedValue(); 242 CTimer::get("XIOS").suspend(); 243 return isDefined; 244 } 245 246 147 247 void cxios_set_gridgroup_name(gridgroup_Ptr gridgroup_hdl, const char * name, int name_size) 148 248 { -
XIOS/trunk/src/interface/fortran/idata.F90
r886 r932 57 57 END SUBROUTINE cxios_write_data_k80 58 58 59 SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 60 USE ISO_C_BINDING 61 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 62 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 63 INTEGER (kind = C_INT) , VALUE :: fieldid_size 64 INTEGER (kind = C_INT) , VALUE :: data_Xsize 65 END SUBROUTINE cxios_write_data_k81 66 67 SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) 68 USE ISO_C_BINDING 69 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 70 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 71 INTEGER (kind = C_INT) , VALUE :: fieldid_size 72 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize 73 END SUBROUTINE cxios_write_data_k82 74 75 SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 76 USE ISO_C_BINDING 77 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 78 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 79 INTEGER (kind = C_INT) , VALUE :: fieldid_size 80 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 81 END SUBROUTINE cxios_write_data_k83 82 83 SUBROUTINE cxios_write_data_k84(fieldid, fieldid_size, data_k8, & 84 data_0size, data_1size, data_2size, & 85 data_3size) BIND(C) 86 USE ISO_C_BINDING 87 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 88 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 89 INTEGER (kind = C_INT) , VALUE :: fieldid_size 90 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 91 INTEGER (kind = C_INT) , VALUE :: data_3size 92 END SUBROUTINE cxios_write_data_k84 93 94 SUBROUTINE cxios_write_data_k85(fieldid, fieldid_size, data_k8, & 95 data_0size, data_1size, data_2size, & 96 data_3size, data_4size) BIND(C) 97 USE ISO_C_BINDING 98 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 99 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 100 INTEGER (kind = C_INT) , VALUE :: fieldid_size 101 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 102 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 103 END SUBROUTINE cxios_write_data_k85 104 105 SUBROUTINE cxios_write_data_k86(fieldid, fieldid_size, data_k8, & 106 data_0size, data_1size, data_2size, & 107 data_3size, data_4size, data_5size) BIND(C) 108 USE ISO_C_BINDING 109 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 110 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 111 INTEGER (kind = C_INT) , VALUE :: fieldid_size 112 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 113 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 114 END SUBROUTINE cxios_write_data_k86 115 116 SUBROUTINE cxios_write_data_k87(fieldid, fieldid_size, data_k8, & 117 data_0size, data_1size, data_2size, & 118 data_3size, data_4size, data_5size, & 119 data_6size) BIND(C) 120 USE ISO_C_BINDING 121 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 122 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 123 INTEGER (kind = C_INT) , VALUE :: fieldid_size 124 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 125 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 126 INTEGER (kind = C_INT) , VALUE :: data_6size 127 END SUBROUTINE cxios_write_data_k87 128 59 129 SUBROUTINE cxios_write_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 60 130 USE ISO_C_BINDING … … 65 135 END SUBROUTINE cxios_write_data_k40 66 136 67 68 SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C)69 USE ISO_C_BINDING70 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid71 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k872 INTEGER (kind = C_INT) , VALUE :: fieldid_size73 INTEGER (kind = C_INT) , VALUE :: data_Xsize74 END SUBROUTINE cxios_write_data_k8175 76 SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C)77 USE ISO_C_BINDING78 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid79 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k880 INTEGER (kind = C_INT) , VALUE :: fieldid_size81 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize82 END SUBROUTINE cxios_write_data_k8283 84 SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C)85 USE ISO_C_BINDING86 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid87 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k888 INTEGER (kind = C_INT) , VALUE :: fieldid_size89 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize90 END SUBROUTINE cxios_write_data_k8391 92 137 SUBROUTINE cxios_write_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 93 138 USE ISO_C_BINDING … … 114 159 END SUBROUTINE cxios_write_data_k43 115 160 161 SUBROUTINE cxios_write_data_k44(fieldid, fieldid_size, data_k4, & 162 data_0size, data_1size, data_2size, & 163 data_3size) BIND(C) 164 USE ISO_C_BINDING 165 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 166 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 167 INTEGER (kind = C_INT) , VALUE :: fieldid_size 168 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 169 INTEGER (kind = C_INT) , VALUE :: data_3size 170 END SUBROUTINE cxios_write_data_k44 171 172 SUBROUTINE cxios_write_data_k45(fieldid, fieldid_size, data_k4, & 173 data_0size, data_1size, data_2size, & 174 data_3size, data_4size) BIND(C) 175 USE ISO_C_BINDING 176 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 177 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 178 INTEGER (kind = C_INT) , VALUE :: fieldid_size 179 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 180 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 181 END SUBROUTINE cxios_write_data_k45 182 183 SUBROUTINE cxios_write_data_k46(fieldid, fieldid_size, data_k4, & 184 data_0size, data_1size, data_2size, & 185 data_3size, data_4size, data_5size) BIND(C) 186 USE ISO_C_BINDING 187 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 188 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 189 INTEGER (kind = C_INT) , VALUE :: fieldid_size 190 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 191 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 192 END SUBROUTINE cxios_write_data_k46 193 194 SUBROUTINE cxios_write_data_k47(fieldid, fieldid_size, data_k4, & 195 data_0size, data_1size, data_2size, & 196 data_3size, data_4size, data_5size, & 197 data_6size) BIND(C) 198 USE ISO_C_BINDING 199 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 200 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 201 INTEGER (kind = C_INT) , VALUE :: fieldid_size 202 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 203 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 204 INTEGER (kind = C_INT) , VALUE :: data_6size 205 END SUBROUTINE cxios_write_data_k47 206 207 ! Read data 116 208 SUBROUTINE cxios_read_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 117 209 USE ISO_C_BINDING … … 138 230 END SUBROUTINE cxios_read_data_k83 139 231 232 SUBROUTINE cxios_read_data_k84(fieldid, fieldid_size, data_k8, & 233 data_0size, data_1size, data_2size, & 234 data_3size) BIND(C) 235 USE ISO_C_BINDING 236 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 237 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 238 INTEGER (kind = C_INT) , VALUE :: fieldid_size 239 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 240 INTEGER (kind = C_INT) , VALUE :: data_3size 241 END SUBROUTINE cxios_read_data_k84 242 243 SUBROUTINE cxios_read_data_k85(fieldid, fieldid_size, data_k8, & 244 data_0size, data_1size, data_2size, & 245 data_3size, data_4size) BIND(C) 246 USE ISO_C_BINDING 247 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 248 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 249 INTEGER (kind = C_INT) , VALUE :: fieldid_size 250 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 251 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 252 END SUBROUTINE cxios_read_data_k85 253 254 SUBROUTINE cxios_read_data_k86(fieldid, fieldid_size, data_k8, & 255 data_0size, data_1size, data_2size, & 256 data_3size, data_4size, data_5size) BIND(C) 257 USE ISO_C_BINDING 258 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 259 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 260 INTEGER (kind = C_INT) , VALUE :: fieldid_size 261 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 262 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 263 END SUBROUTINE cxios_read_data_k86 264 265 SUBROUTINE cxios_read_data_k87(fieldid, fieldid_size, data_k8, & 266 data_0size, data_1size, data_2size, & 267 data_3size, data_4size, data_5size, & 268 data_6size) BIND(C) 269 USE ISO_C_BINDING 270 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 271 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 272 INTEGER (kind = C_INT) , VALUE :: fieldid_size 273 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 274 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 275 INTEGER (kind = C_INT) , VALUE :: data_6size 276 END SUBROUTINE cxios_read_data_k87 277 140 278 SUBROUTINE cxios_read_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 141 279 USE ISO_C_BINDING … … 161 299 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 162 300 END SUBROUTINE cxios_read_data_k43 301 302 SUBROUTINE cxios_read_data_k44(fieldid, fieldid_size, data_k4, & 303 data_0size, data_1size, data_2size, & 304 data_3size) BIND(C) 305 USE ISO_C_BINDING 306 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 307 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 308 INTEGER (kind = C_INT) , VALUE :: fieldid_size 309 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 310 INTEGER (kind = C_INT) , VALUE :: data_3size 311 END SUBROUTINE cxios_read_data_k44 312 313 SUBROUTINE cxios_read_data_k45(fieldid, fieldid_size, data_k4, & 314 data_0size, data_1size, data_2size, & 315 data_3size, data_4size) BIND(C) 316 USE ISO_C_BINDING 317 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 318 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 319 INTEGER (kind = C_INT) , VALUE :: fieldid_size 320 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 321 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 322 END SUBROUTINE cxios_read_data_k45 323 324 SUBROUTINE cxios_read_data_k46(fieldid, fieldid_size, data_k4, & 325 data_0size, data_1size, data_2size, & 326 data_3size, data_4size, data_5size) BIND(C) 327 USE ISO_C_BINDING 328 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 329 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 330 INTEGER (kind = C_INT) , VALUE :: fieldid_size 331 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 332 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 333 END SUBROUTINE cxios_read_data_k46 334 335 SUBROUTINE cxios_read_data_k47(fieldid, fieldid_size, data_k4, & 336 data_0size, data_1size, data_2size, & 337 data_3size, data_4size, data_5size, & 338 data_6size) BIND(C) 339 USE ISO_C_BINDING 340 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 341 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 342 INTEGER (kind = C_INT) , VALUE :: fieldid_size 343 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 344 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 345 INTEGER (kind = C_INT) , VALUE :: data_6size 346 END SUBROUTINE cxios_read_data_k47 163 347 164 348 ! Binding C and Fortran interface of get_variable (icdata.cpp) … … 332 516 END SUBROUTINE xios(send_field_r8_0d) 333 517 518 SUBROUTINE xios(send_field_r8_1d)(fieldid, data1d_k8) 519 IMPLICIT NONE 520 CHARACTER(len = *) , INTENT(IN) :: fieldid 521 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:) 522 CALL cxios_write_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1)) 523 END SUBROUTINE xios(send_field_r8_1d) 524 525 SUBROUTINE xios(send_field_r8_2d)(fieldid, data2d_k8) 526 IMPLICIT NONE 527 CHARACTER(len = *) , INTENT(IN) :: fieldid 528 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:) 529 CALL cxios_write_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2)) 530 END SUBROUTINE xios(send_field_r8_2d) 531 532 SUBROUTINE xios(send_field_r8_3d)(fieldid, data3d_k8) 533 IMPLICIT NONE 534 CHARACTER(len = *) , INTENT(IN) :: fieldid 535 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:) 536 CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 537 END SUBROUTINE xios(send_field_r8_3d) 538 539 SUBROUTINE xios(send_field_r8_4d)(fieldid, data4d_k8) 540 IMPLICIT NONE 541 CHARACTER(len = *) , INTENT(IN) :: fieldid 542 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:) 543 CALL cxios_write_data_k84(fieldid, len(fieldid), data4d_k8, & 544 size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 545 size(data4d_k8, 4)) 546 END SUBROUTINE xios(send_field_r8_4d) 547 548 SUBROUTINE xios(send_field_r8_5d)(fieldid, data5d_k8) 549 IMPLICIT NONE 550 CHARACTER(len = *) , INTENT(IN) :: fieldid 551 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:) 552 CALL cxios_write_data_k85(fieldid, len(fieldid), data5d_k8, & 553 size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 554 size(data5d_k8, 4), size(data5d_k8, 5)) 555 END SUBROUTINE xios(send_field_r8_5d) 556 557 SUBROUTINE xios(send_field_r8_6d)(fieldid, data6d_k8) 558 IMPLICIT NONE 559 CHARACTER(len = *) , INTENT(IN) :: fieldid 560 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:) 561 CALL cxios_write_data_k86(fieldid, len(fieldid), data6d_k8, & 562 size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 563 size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 564 END SUBROUTINE xios(send_field_r8_6d) 565 566 SUBROUTINE xios(send_field_r8_7d)(fieldid, data7d_k8) 567 IMPLICIT NONE 568 CHARACTER(len = *) , INTENT(IN) :: fieldid 569 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:) 570 CALL cxios_write_data_k87(fieldid, len(fieldid), data7d_k8, & 571 size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 572 size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 573 size(data7d_k8, 7)) 574 END SUBROUTINE xios(send_field_r8_7d) 575 334 576 SUBROUTINE xios(send_field_r4_0d)(fieldid, data_k4) 335 577 IMPLICIT NONE … … 339 581 END SUBROUTINE xios(send_field_r4_0d) 340 582 341 SUBROUTINE xios(send_field_r8_1d)(fieldid, data1d_k8)342 IMPLICIT NONE343 CHARACTER(len = *) , INTENT(IN) :: fieldid344 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:)345 CALL cxios_write_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1))346 END SUBROUTINE xios(send_field_r8_1d)347 348 SUBROUTINE xios(send_field_r8_2d)(fieldid, data2d_k8)349 IMPLICIT NONE350 CHARACTER(len = *) , INTENT(IN) :: fieldid351 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:)352 CALL cxios_write_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2))353 END SUBROUTINE xios(send_field_r8_2d)354 355 SUBROUTINE xios(send_field_r8_3d)(fieldid, data3d_k8)356 IMPLICIT NONE357 CHARACTER(len = *) , INTENT(IN) :: fieldid358 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:)359 CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3))360 END SUBROUTINE xios(send_field_r8_3d)361 362 583 SUBROUTINE xios(send_field_r4_1d)(fieldid, data1d_k4) 363 584 IMPLICIT NONE … … 381 602 END SUBROUTINE xios(send_field_r4_3d) 382 603 604 SUBROUTINE xios(send_field_r4_4d)(fieldid, data4d_k4) 605 IMPLICIT NONE 606 CHARACTER(len = *) , INTENT(IN) :: fieldid 607 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:) 608 CALL cxios_write_data_k44(fieldid, len(fieldid), data4d_k4, & 609 size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 610 size(data4d_k4, 4)) 611 END SUBROUTINE xios(send_field_r4_4d) 612 613 SUBROUTINE xios(send_field_r4_5d)(fieldid, data5d_k4) 614 IMPLICIT NONE 615 CHARACTER(len = *) , INTENT(IN) :: fieldid 616 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:) 617 CALL cxios_write_data_k45(fieldid, len(fieldid), data5d_k4, & 618 size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 619 size(data5d_k4, 4), size(data5d_k4, 5)) 620 END SUBROUTINE xios(send_field_r4_5d) 621 622 SUBROUTINE xios(send_field_r4_6d)(fieldid, data6d_k4) 623 IMPLICIT NONE 624 CHARACTER(len = *) , INTENT(IN) :: fieldid 625 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:) 626 CALL cxios_write_data_k46(fieldid, len(fieldid), data6d_k4, & 627 size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 628 size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 629 END SUBROUTINE xios(send_field_r4_6d) 630 631 SUBROUTINE xios(send_field_r4_7d)(fieldid, data7d_k4) 632 IMPLICIT NONE 633 CHARACTER(len = *) , INTENT(IN) :: fieldid 634 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:) 635 CALL cxios_write_data_k47(fieldid, len(fieldid), data7d_k4, & 636 size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 637 size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 638 size(data7d_k4, 7)) 639 END SUBROUTINE xios(send_field_r4_7d) 640 383 641 ! Receive field functions 384 642 SUBROUTINE xios(recv_field_r8_1d)(fieldid, data1d_k8) … … 403 661 END SUBROUTINE xios(recv_field_r8_3d) 404 662 663 SUBROUTINE xios(recv_field_r8_4d)(fieldid, data4d_k8) 664 IMPLICIT NONE 665 CHARACTER(len = *) , INTENT(IN) :: fieldid 666 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data4d_k8(:,:,:,:) 667 CALL cxios_read_data_k84(fieldid, len(fieldid), data4d_k8, & 668 size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 669 size(data4d_k8, 4)) 670 END SUBROUTINE xios(recv_field_r8_4d) 671 672 SUBROUTINE xios(recv_field_r8_5d)(fieldid, data5d_k8) 673 IMPLICIT NONE 674 CHARACTER(len = *) , INTENT(IN) :: fieldid 675 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data5d_k8(:,:,:,:,:) 676 CALL cxios_read_data_k85(fieldid, len(fieldid), data5d_k8, & 677 size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 678 size(data5d_k8, 4), size(data5d_k8, 5)) 679 END SUBROUTINE xios(recv_field_r8_5d) 680 681 SUBROUTINE xios(recv_field_r8_6d)(fieldid, data6d_k8) 682 IMPLICIT NONE 683 CHARACTER(len = *) , INTENT(IN) :: fieldid 684 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data6d_k8(:,:,:,:,:,:) 685 CALL cxios_read_data_k86(fieldid, len(fieldid), data6d_k8, & 686 size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 687 size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 688 END SUBROUTINE xios(recv_field_r8_6d) 689 690 SUBROUTINE xios(recv_field_r8_7d)(fieldid, data7d_k8) 691 IMPLICIT NONE 692 CHARACTER(len = *) , INTENT(IN) :: fieldid 693 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data7d_k8(:,:,:,:,:,:,:) 694 CALL cxios_read_data_k87(fieldid, len(fieldid), data7d_k8, & 695 size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 696 size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 697 size(data7d_k8, 7)) 698 END SUBROUTINE xios(recv_field_r8_7d) 699 405 700 SUBROUTINE xios(recv_field_r4_1d)(fieldid, data1d_k4) 406 701 IMPLICIT NONE … … 424 719 END SUBROUTINE xios(recv_field_r4_3d) 425 720 721 SUBROUTINE xios(recv_field_r4_4d)(fieldid, data4d_k4) 722 IMPLICIT NONE 723 CHARACTER(len = *) , INTENT(IN) :: fieldid 724 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data4d_k4(:,:,:,:) 725 CALL cxios_read_data_k44(fieldid, len(fieldid), data4d_k4, & 726 size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 727 size(data4d_k4, 4)) 728 END SUBROUTINE xios(recv_field_r4_4d) 729 730 SUBROUTINE xios(recv_field_r4_5d)(fieldid, data5d_k4) 731 IMPLICIT NONE 732 CHARACTER(len = *) , INTENT(IN) :: fieldid 733 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data5d_k4(:,:,:,:,:) 734 CALL cxios_read_data_k45(fieldid, len(fieldid), data5d_k4, & 735 size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 736 size(data5d_k4, 4), size(data5d_k4, 5)) 737 END SUBROUTINE xios(recv_field_r4_5d) 738 739 SUBROUTINE xios(recv_field_r4_6d)(fieldid, data6d_k4) 740 IMPLICIT NONE 741 CHARACTER(len = *) , INTENT(IN) :: fieldid 742 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data6d_k4(:,:,:,:,:,:) 743 CALL cxios_read_data_k46(fieldid, len(fieldid), data6d_k4, & 744 size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 745 size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 746 END SUBROUTINE xios(recv_field_r4_6d) 747 748 SUBROUTINE xios(recv_field_r4_7d)(fieldid, data7d_k4) 749 IMPLICIT NONE 750 CHARACTER(len = *) , INTENT(IN) :: fieldid 751 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data7d_k4(:,:,:,:,:,:,:) 752 CALL cxios_read_data_k47(fieldid, len(fieldid), data7d_k4, & 753 size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 754 size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 755 size(data7d_k4, 7)) 756 END SUBROUTINE xios(recv_field_r4_7d) 757 426 758 ! Get variable functions 427 759 LOGICAL FUNCTION xios(getVar_k8)(varId, data_k8) -
XIOS/trunk/src/interface/fortran/ixios_interfaces.F90
r903 r932 8 8 9 9 USE idata, ONLY : xios(send_field_r8_0d), xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d), & 10 xios(send_field_r8_4d), xios(send_field_r8_5d), xios(send_field_r8_6d), xios(send_field_r8_7d), & 10 11 xios(send_field_r4_0d), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 11 xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 12 xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d), & 13 xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char), & 12 xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d), & 13 xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 14 xios(recv_field_r8_4d), xios(recv_field_r8_5d), xios(recv_field_r8_6d), xios(recv_field_r8_7d), & 15 xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d), & 16 xios(recv_field_r4_4d), xios(recv_field_r4_5d), xios(recv_field_r4_6d), xios(recv_field_r4_7d), & 17 xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char), & 14 18 xios(setVar_k8), xios(setVar_k4), xios(setVar_int), xios(setVar_logic), xios(setVar_char) 15 19 … … 164 168 165 169 INTERFACE xios(send_field) 166 MODULE PROCEDURE xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d), & 167 xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 168 xios(send_field_r8_0d), xios(send_field_r4_0d) 170 MODULE PROCEDURE xios(send_field_r8_0d), xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d), & 171 xios(send_field_r8_4d), xios(send_field_r8_5d), xios(send_field_r8_6d), xios(send_field_r8_7d), & 172 xios(send_field_r4_0d), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 173 xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d) 169 174 END INTERFACE xios(send_field) 170 175 171 176 INTERFACE xios(recv_field) 172 177 MODULE PROCEDURE xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 173 xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d) 178 xios(recv_field_r8_4d), xios(recv_field_r8_5d), xios(recv_field_r8_6d), xios(recv_field_r8_7d), & 179 xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d), & 180 xios(recv_field_r4_4d), xios(recv_field_r4_5d), xios(recv_field_r4_6d), xios(recv_field_r4_7d) 174 181 END INTERFACE xios(recv_field) 175 182 -
XIOS/trunk/src/interface/fortran_attr/file_interface_attr.F90
r891 r932 48 48 49 49 50 SUBROUTINE cxios_set_file_convention(file_hdl, convention, convention_size) BIND(C) 51 USE ISO_C_BINDING 52 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 53 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: convention 54 INTEGER (kind = C_INT) , VALUE :: convention_size 55 END SUBROUTINE cxios_set_file_convention 56 57 SUBROUTINE cxios_get_file_convention(file_hdl, convention, convention_size) BIND(C) 58 USE ISO_C_BINDING 59 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 60 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: convention 61 INTEGER (kind = C_INT) , VALUE :: convention_size 62 END SUBROUTINE cxios_get_file_convention 63 64 FUNCTION cxios_is_defined_file_convention(file_hdl) BIND(C) 65 USE ISO_C_BINDING 66 LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_convention 67 INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 68 END FUNCTION cxios_is_defined_file_convention 69 70 50 71 SUBROUTINE cxios_set_file_cyclic(file_hdl, cyclic) BIND(C) 51 72 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90
r891 r932 48 48 49 49 50 SUBROUTINE cxios_set_filegroup_convention(filegroup_hdl, convention, convention_size) BIND(C) 51 USE ISO_C_BINDING 52 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 53 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: convention 54 INTEGER (kind = C_INT) , VALUE :: convention_size 55 END SUBROUTINE cxios_set_filegroup_convention 56 57 SUBROUTINE cxios_get_filegroup_convention(filegroup_hdl, convention, convention_size) BIND(C) 58 USE ISO_C_BINDING 59 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 60 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: convention 61 INTEGER (kind = C_INT) , VALUE :: convention_size 62 END SUBROUTINE cxios_get_filegroup_convention 63 64 FUNCTION cxios_is_defined_filegroup_convention(filegroup_hdl) BIND(C) 65 USE ISO_C_BINDING 66 LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_convention 67 INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 68 END FUNCTION cxios_is_defined_filegroup_convention 69 70 50 71 SUBROUTINE cxios_set_filegroup_cyclic(filegroup_hdl, cyclic) BIND(C) 51 72 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90
r817 r932 94 94 95 95 96 SUBROUTINE cxios_set_grid_mask_4d(grid_hdl, mask_4d, extent) BIND(C) 97 USE ISO_C_BINDING 98 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 99 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_4d 100 INTEGER (kind = C_INT), DIMENSION(*) :: extent 101 END SUBROUTINE cxios_set_grid_mask_4d 102 103 SUBROUTINE cxios_get_grid_mask_4d(grid_hdl, mask_4d, extent) BIND(C) 104 USE ISO_C_BINDING 105 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 106 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_4d 107 INTEGER (kind = C_INT), DIMENSION(*) :: extent 108 END SUBROUTINE cxios_get_grid_mask_4d 109 110 FUNCTION cxios_is_defined_grid_mask_4d(grid_hdl) BIND(C) 111 USE ISO_C_BINDING 112 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_4d 113 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 114 END FUNCTION cxios_is_defined_grid_mask_4d 115 116 117 SUBROUTINE cxios_set_grid_mask_5d(grid_hdl, mask_5d, extent) BIND(C) 118 USE ISO_C_BINDING 119 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 120 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_5d 121 INTEGER (kind = C_INT), DIMENSION(*) :: extent 122 END SUBROUTINE cxios_set_grid_mask_5d 123 124 SUBROUTINE cxios_get_grid_mask_5d(grid_hdl, mask_5d, extent) BIND(C) 125 USE ISO_C_BINDING 126 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 127 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_5d 128 INTEGER (kind = C_INT), DIMENSION(*) :: extent 129 END SUBROUTINE cxios_get_grid_mask_5d 130 131 FUNCTION cxios_is_defined_grid_mask_5d(grid_hdl) BIND(C) 132 USE ISO_C_BINDING 133 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_5d 134 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 135 END FUNCTION cxios_is_defined_grid_mask_5d 136 137 138 SUBROUTINE cxios_set_grid_mask_6d(grid_hdl, mask_6d, extent) BIND(C) 139 USE ISO_C_BINDING 140 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 141 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_6d 142 INTEGER (kind = C_INT), DIMENSION(*) :: extent 143 END SUBROUTINE cxios_set_grid_mask_6d 144 145 SUBROUTINE cxios_get_grid_mask_6d(grid_hdl, mask_6d, extent) BIND(C) 146 USE ISO_C_BINDING 147 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 148 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_6d 149 INTEGER (kind = C_INT), DIMENSION(*) :: extent 150 END SUBROUTINE cxios_get_grid_mask_6d 151 152 FUNCTION cxios_is_defined_grid_mask_6d(grid_hdl) BIND(C) 153 USE ISO_C_BINDING 154 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_6d 155 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 156 END FUNCTION cxios_is_defined_grid_mask_6d 157 158 159 SUBROUTINE cxios_set_grid_mask_7d(grid_hdl, mask_7d, extent) BIND(C) 160 USE ISO_C_BINDING 161 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 162 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_7d 163 INTEGER (kind = C_INT), DIMENSION(*) :: extent 164 END SUBROUTINE cxios_set_grid_mask_7d 165 166 SUBROUTINE cxios_get_grid_mask_7d(grid_hdl, mask_7d, extent) BIND(C) 167 USE ISO_C_BINDING 168 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 169 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_7d 170 INTEGER (kind = C_INT), DIMENSION(*) :: extent 171 END SUBROUTINE cxios_get_grid_mask_7d 172 173 FUNCTION cxios_is_defined_grid_mask_7d(grid_hdl) BIND(C) 174 USE ISO_C_BINDING 175 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_7d 176 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 177 END FUNCTION cxios_is_defined_grid_mask_7d 178 179 96 180 SUBROUTINE cxios_set_grid_name(grid_hdl, name, name_size) BIND(C) 97 181 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90
r817 r932 115 115 116 116 117 SUBROUTINE cxios_set_gridgroup_mask_4d(gridgroup_hdl, mask_4d, extent) BIND(C) 118 USE ISO_C_BINDING 119 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 120 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_4d 121 INTEGER (kind = C_INT), DIMENSION(*) :: extent 122 END SUBROUTINE cxios_set_gridgroup_mask_4d 123 124 SUBROUTINE cxios_get_gridgroup_mask_4d(gridgroup_hdl, mask_4d, extent) BIND(C) 125 USE ISO_C_BINDING 126 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 127 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_4d 128 INTEGER (kind = C_INT), DIMENSION(*) :: extent 129 END SUBROUTINE cxios_get_gridgroup_mask_4d 130 131 FUNCTION cxios_is_defined_gridgroup_mask_4d(gridgroup_hdl) BIND(C) 132 USE ISO_C_BINDING 133 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_4d 134 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 135 END FUNCTION cxios_is_defined_gridgroup_mask_4d 136 137 138 SUBROUTINE cxios_set_gridgroup_mask_5d(gridgroup_hdl, mask_5d, extent) BIND(C) 139 USE ISO_C_BINDING 140 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 141 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_5d 142 INTEGER (kind = C_INT), DIMENSION(*) :: extent 143 END SUBROUTINE cxios_set_gridgroup_mask_5d 144 145 SUBROUTINE cxios_get_gridgroup_mask_5d(gridgroup_hdl, mask_5d, extent) BIND(C) 146 USE ISO_C_BINDING 147 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 148 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_5d 149 INTEGER (kind = C_INT), DIMENSION(*) :: extent 150 END SUBROUTINE cxios_get_gridgroup_mask_5d 151 152 FUNCTION cxios_is_defined_gridgroup_mask_5d(gridgroup_hdl) BIND(C) 153 USE ISO_C_BINDING 154 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_5d 155 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 156 END FUNCTION cxios_is_defined_gridgroup_mask_5d 157 158 159 SUBROUTINE cxios_set_gridgroup_mask_6d(gridgroup_hdl, mask_6d, extent) BIND(C) 160 USE ISO_C_BINDING 161 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 162 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_6d 163 INTEGER (kind = C_INT), DIMENSION(*) :: extent 164 END SUBROUTINE cxios_set_gridgroup_mask_6d 165 166 SUBROUTINE cxios_get_gridgroup_mask_6d(gridgroup_hdl, mask_6d, extent) BIND(C) 167 USE ISO_C_BINDING 168 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 169 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_6d 170 INTEGER (kind = C_INT), DIMENSION(*) :: extent 171 END SUBROUTINE cxios_get_gridgroup_mask_6d 172 173 FUNCTION cxios_is_defined_gridgroup_mask_6d(gridgroup_hdl) BIND(C) 174 USE ISO_C_BINDING 175 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_6d 176 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 177 END FUNCTION cxios_is_defined_gridgroup_mask_6d 178 179 180 SUBROUTINE cxios_set_gridgroup_mask_7d(gridgroup_hdl, mask_7d, extent) BIND(C) 181 USE ISO_C_BINDING 182 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 183 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_7d 184 INTEGER (kind = C_INT), DIMENSION(*) :: extent 185 END SUBROUTINE cxios_set_gridgroup_mask_7d 186 187 SUBROUTINE cxios_get_gridgroup_mask_7d(gridgroup_hdl, mask_7d, extent) BIND(C) 188 USE ISO_C_BINDING 189 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 190 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_7d 191 INTEGER (kind = C_INT), DIMENSION(*) :: extent 192 END SUBROUTINE cxios_get_gridgroup_mask_7d 193 194 FUNCTION cxios_is_defined_gridgroup_mask_7d(gridgroup_hdl) BIND(C) 195 USE ISO_C_BINDING 196 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_7d 197 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 198 END FUNCTION cxios_is_defined_gridgroup_mask_7d 199 200 117 201 SUBROUTINE cxios_set_gridgroup_name(gridgroup_hdl, name, name_size) BIND(C) 118 202 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90
r891 r932 12 12 13 13 SUBROUTINE xios(set_file_attr) & 14 ( file_id, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 15 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 16 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 14 ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 15 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 16 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 17 ) 17 18 18 19 IMPLICIT NONE … … 22 23 LOGICAL (KIND=C_BOOL) :: append_tmp 23 24 INTEGER , OPTIONAL, INTENT(IN) :: compression_level 25 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 24 26 LOGICAL , OPTIONAL, INTENT(IN) :: cyclic 25 27 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 47 49 CALL xios(get_file_handle)(file_id,file_hdl) 48 50 CALL xios(set_file_attr_hdl_) & 49 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 50 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 51 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 51 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 52 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 53 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 54 ) 52 55 53 56 END SUBROUTINE xios(set_file_attr) 54 57 55 58 SUBROUTINE xios(set_file_attr_hdl) & 56 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 57 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 58 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 59 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 60 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 61 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 62 ) 59 63 60 64 IMPLICIT NONE … … 63 67 LOGICAL (KIND=C_BOOL) :: append_tmp 64 68 INTEGER , OPTIONAL, INTENT(IN) :: compression_level 69 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 65 70 LOGICAL , OPTIONAL, INTENT(IN) :: cyclic 66 71 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 87 92 88 93 CALL xios(set_file_attr_hdl_) & 89 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 90 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 91 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 94 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 95 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 96 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 97 ) 92 98 93 99 END SUBROUTINE xios(set_file_attr_hdl) 94 100 95 101 SUBROUTINE xios(set_file_attr_hdl_) & 96 ( file_hdl, append_, compression_level_, c yclic_, description_, enabled_, format_, min_digits_ &97 , m ode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_ &98 , split_freq_ format_, sync_freq_, time_counter_, time_counter_name_, timeseries_, ts_prefix_ &99 , t ype_ )102 ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_ & 103 , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_ & 104 , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_ & 105 , ts_prefix_, type_ ) 100 106 101 107 IMPLICIT NONE … … 104 110 LOGICAL (KIND=C_BOOL) :: append__tmp 105 111 INTEGER , OPTIONAL, INTENT(IN) :: compression_level_ 112 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_ 106 113 LOGICAL , OPTIONAL, INTENT(IN) :: cyclic_ 107 114 LOGICAL (KIND=C_BOOL) :: cyclic__tmp … … 136 143 ENDIF 137 144 145 IF (PRESENT(convention_)) THEN 146 CALL cxios_set_file_convention(file_hdl%daddr, convention_, len(convention_)) 147 ENDIF 148 138 149 IF (PRESENT(cyclic_)) THEN 139 150 cyclic__tmp = cyclic_ … … 221 232 222 233 SUBROUTINE xios(get_file_attr) & 223 ( file_id, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 224 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 225 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 234 ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 235 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 236 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 237 ) 226 238 227 239 IMPLICIT NONE … … 231 243 LOGICAL (KIND=C_BOOL) :: append_tmp 232 244 INTEGER , OPTIONAL, INTENT(OUT) :: compression_level 245 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 233 246 LOGICAL , OPTIONAL, INTENT(OUT) :: cyclic 234 247 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 256 269 CALL xios(get_file_handle)(file_id,file_hdl) 257 270 CALL xios(get_file_attr_hdl_) & 258 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 259 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 260 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 271 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 272 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 273 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 274 ) 261 275 262 276 END SUBROUTINE xios(get_file_attr) 263 277 264 278 SUBROUTINE xios(get_file_attr_hdl) & 265 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 266 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 267 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 279 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 280 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 281 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 282 ) 268 283 269 284 IMPLICIT NONE … … 272 287 LOGICAL (KIND=C_BOOL) :: append_tmp 273 288 INTEGER , OPTIONAL, INTENT(OUT) :: compression_level 289 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 274 290 LOGICAL , OPTIONAL, INTENT(OUT) :: cyclic 275 291 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 296 312 297 313 CALL xios(get_file_attr_hdl_) & 298 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 299 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 300 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 314 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 315 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 316 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 317 ) 301 318 302 319 END SUBROUTINE xios(get_file_attr_hdl) 303 320 304 321 SUBROUTINE xios(get_file_attr_hdl_) & 305 ( file_hdl, append_, compression_level_, c yclic_, description_, enabled_, format_, min_digits_ &306 , m ode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_ &307 , split_freq_ format_, sync_freq_, time_counter_, time_counter_name_, timeseries_, ts_prefix_ &308 , t ype_ )322 ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_ & 323 , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_ & 324 , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_ & 325 , ts_prefix_, type_ ) 309 326 310 327 IMPLICIT NONE … … 313 330 LOGICAL (KIND=C_BOOL) :: append__tmp 314 331 INTEGER , OPTIONAL, INTENT(OUT) :: compression_level_ 332 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_ 315 333 LOGICAL , OPTIONAL, INTENT(OUT) :: cyclic_ 316 334 LOGICAL (KIND=C_BOOL) :: cyclic__tmp … … 345 363 ENDIF 346 364 365 IF (PRESENT(convention_)) THEN 366 CALL cxios_get_file_convention(file_hdl%daddr, convention_, len(convention_)) 367 ENDIF 368 347 369 IF (PRESENT(cyclic_)) THEN 348 370 CALL cxios_get_file_cyclic(file_hdl%daddr, cyclic__tmp) … … 430 452 431 453 SUBROUTINE xios(is_defined_file_attr) & 432 ( file_id, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 433 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 434 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 454 ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 455 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 456 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 457 ) 435 458 436 459 IMPLICIT NONE … … 441 464 LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 442 465 LOGICAL(KIND=C_BOOL) :: compression_level_tmp 466 LOGICAL, OPTIONAL, INTENT(OUT) :: convention 467 LOGICAL(KIND=C_BOOL) :: convention_tmp 443 468 LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 444 469 LOGICAL(KIND=C_BOOL) :: cyclic_tmp … … 484 509 CALL xios(get_file_handle)(file_id,file_hdl) 485 510 CALL xios(is_defined_file_attr_hdl_) & 486 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 487 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 488 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 511 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 512 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 513 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 514 ) 489 515 490 516 END SUBROUTINE xios(is_defined_file_attr) 491 517 492 518 SUBROUTINE xios(is_defined_file_attr_hdl) & 493 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 494 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 495 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 519 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 520 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 521 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 522 ) 496 523 497 524 IMPLICIT NONE … … 501 528 LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 502 529 LOGICAL(KIND=C_BOOL) :: compression_level_tmp 530 LOGICAL, OPTIONAL, INTENT(OUT) :: convention 531 LOGICAL(KIND=C_BOOL) :: convention_tmp 503 532 LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 504 533 LOGICAL(KIND=C_BOOL) :: cyclic_tmp … … 543 572 544 573 CALL xios(is_defined_file_attr_hdl_) & 545 ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode & 546 , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format & 547 , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 574 ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits & 575 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq & 576 , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type & 577 ) 548 578 549 579 END SUBROUTINE xios(is_defined_file_attr_hdl) 550 580 551 581 SUBROUTINE xios(is_defined_file_attr_hdl_) & 552 ( file_hdl, append_, compression_level_, c yclic_, description_, enabled_, format_, min_digits_ &553 , m ode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_ &554 , split_freq_ format_, sync_freq_, time_counter_, time_counter_name_, timeseries_, ts_prefix_ &555 , t ype_ )582 ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_ & 583 , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_ & 584 , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_ & 585 , ts_prefix_, type_ ) 556 586 557 587 IMPLICIT NONE … … 561 591 LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 562 592 LOGICAL(KIND=C_BOOL) :: compression_level__tmp 593 LOGICAL, OPTIONAL, INTENT(OUT) :: convention_ 594 LOGICAL(KIND=C_BOOL) :: convention__tmp 563 595 LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic_ 564 596 LOGICAL(KIND=C_BOOL) :: cyclic__tmp … … 612 644 ENDIF 613 645 646 IF (PRESENT(convention_)) THEN 647 convention__tmp = cxios_is_defined_file_convention(file_hdl%daddr) 648 convention_ = convention__tmp 649 ENDIF 650 614 651 IF (PRESENT(cyclic_)) THEN 615 652 cyclic__tmp = cxios_is_defined_file_cyclic(file_hdl%daddr) -
XIOS/trunk/src/interface/fortran_attr/ifilegroup_attr.F90
r891 r932 12 12 13 13 SUBROUTINE xios(set_filegroup_attr) & 14 ( filegroup_id, append, compression_level, c yclic, description, enabled, format, group_ref, min_digits&15 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq&16 , split_freq _format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type&17 )14 ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format & 15 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 16 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 17 , type ) 18 18 19 19 IMPLICIT NONE … … 23 23 LOGICAL (KIND=C_BOOL) :: append_tmp 24 24 INTEGER , OPTIONAL, INTENT(IN) :: compression_level 25 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 25 26 LOGICAL , OPTIONAL, INTENT(IN) :: cyclic 26 27 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 49 50 CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl) 50 51 CALL xios(set_filegroup_attr_hdl_) & 51 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&52 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &52 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 53 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 53 54 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 54 55 , type ) … … 57 58 58 59 SUBROUTINE xios(set_filegroup_attr_hdl) & 59 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&60 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &60 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 61 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 61 62 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 62 63 , type ) … … 67 68 LOGICAL (KIND=C_BOOL) :: append_tmp 68 69 INTEGER , OPTIONAL, INTENT(IN) :: compression_level 70 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 69 71 LOGICAL , OPTIONAL, INTENT(IN) :: cyclic 70 72 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 92 94 93 95 CALL xios(set_filegroup_attr_hdl_) & 94 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&95 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &96 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 97 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 96 98 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 97 99 , type ) … … 100 102 101 103 SUBROUTINE xios(set_filegroup_attr_hdl_) & 102 ( filegroup_hdl, append_, compression_level_, c yclic_, description_, enabled_, format_, group_ref_ &103 , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_ &104 , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_ &105 , t s_prefix_, type_ )104 ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_ & 105 , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_ & 106 , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_ & 107 , timeseries_, ts_prefix_, type_ ) 106 108 107 109 IMPLICIT NONE … … 110 112 LOGICAL (KIND=C_BOOL) :: append__tmp 111 113 INTEGER , OPTIONAL, INTENT(IN) :: compression_level_ 114 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_ 112 115 LOGICAL , OPTIONAL, INTENT(IN) :: cyclic_ 113 116 LOGICAL (KIND=C_BOOL) :: cyclic__tmp … … 143 146 ENDIF 144 147 148 IF (PRESENT(convention_)) THEN 149 CALL cxios_set_filegroup_convention(filegroup_hdl%daddr, convention_, len(convention_)) 150 ENDIF 151 145 152 IF (PRESENT(cyclic_)) THEN 146 153 cyclic__tmp = cyclic_ … … 232 239 233 240 SUBROUTINE xios(get_filegroup_attr) & 234 ( filegroup_id, append, compression_level, c yclic, description, enabled, format, group_ref, min_digits&235 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq&236 , split_freq _format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type&237 )241 ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format & 242 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 243 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 244 , type ) 238 245 239 246 IMPLICIT NONE … … 243 250 LOGICAL (KIND=C_BOOL) :: append_tmp 244 251 INTEGER , OPTIONAL, INTENT(OUT) :: compression_level 252 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 245 253 LOGICAL , OPTIONAL, INTENT(OUT) :: cyclic 246 254 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 269 277 CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl) 270 278 CALL xios(get_filegroup_attr_hdl_) & 271 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&272 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &279 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 280 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 273 281 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 274 282 , type ) … … 277 285 278 286 SUBROUTINE xios(get_filegroup_attr_hdl) & 279 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&280 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &287 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 288 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 281 289 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 282 290 , type ) … … 287 295 LOGICAL (KIND=C_BOOL) :: append_tmp 288 296 INTEGER , OPTIONAL, INTENT(OUT) :: compression_level 297 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 289 298 LOGICAL , OPTIONAL, INTENT(OUT) :: cyclic 290 299 LOGICAL (KIND=C_BOOL) :: cyclic_tmp … … 312 321 313 322 CALL xios(get_filegroup_attr_hdl_) & 314 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&315 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &323 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 324 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 316 325 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 317 326 , type ) … … 320 329 321 330 SUBROUTINE xios(get_filegroup_attr_hdl_) & 322 ( filegroup_hdl, append_, compression_level_, c yclic_, description_, enabled_, format_, group_ref_ &323 , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_ &324 , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_ &325 , t s_prefix_, type_ )331 ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_ & 332 , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_ & 333 , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_ & 334 , timeseries_, ts_prefix_, type_ ) 326 335 327 336 IMPLICIT NONE … … 330 339 LOGICAL (KIND=C_BOOL) :: append__tmp 331 340 INTEGER , OPTIONAL, INTENT(OUT) :: compression_level_ 341 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_ 332 342 LOGICAL , OPTIONAL, INTENT(OUT) :: cyclic_ 333 343 LOGICAL (KIND=C_BOOL) :: cyclic__tmp … … 363 373 ENDIF 364 374 375 IF (PRESENT(convention_)) THEN 376 CALL cxios_get_filegroup_convention(filegroup_hdl%daddr, convention_, len(convention_)) 377 ENDIF 378 365 379 IF (PRESENT(cyclic_)) THEN 366 380 CALL cxios_get_filegroup_cyclic(filegroup_hdl%daddr, cyclic__tmp) … … 452 466 453 467 SUBROUTINE xios(is_defined_filegroup_attr) & 454 ( filegroup_id, append, compression_level, c yclic, description, enabled, format, group_ref, min_digits&455 , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq&456 , split_freq _format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type&457 )468 ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format & 469 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 470 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 471 , type ) 458 472 459 473 IMPLICIT NONE … … 464 478 LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 465 479 LOGICAL(KIND=C_BOOL) :: compression_level_tmp 480 LOGICAL, OPTIONAL, INTENT(OUT) :: convention 481 LOGICAL(KIND=C_BOOL) :: convention_tmp 466 482 LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 467 483 LOGICAL(KIND=C_BOOL) :: cyclic_tmp … … 509 525 CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl) 510 526 CALL xios(is_defined_filegroup_attr_hdl_) & 511 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&512 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &527 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 528 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 513 529 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 514 530 , type ) … … 517 533 518 534 SUBROUTINE xios(is_defined_filegroup_attr_hdl) & 519 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&520 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &535 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 536 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 521 537 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 522 538 , type ) … … 528 544 LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 529 545 LOGICAL(KIND=C_BOOL) :: compression_level_tmp 546 LOGICAL, OPTIONAL, INTENT(OUT) :: convention 547 LOGICAL(KIND=C_BOOL) :: convention_tmp 530 548 LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 531 549 LOGICAL(KIND=C_BOOL) :: cyclic_tmp … … 572 590 573 591 CALL xios(is_defined_filegroup_attr_hdl_) & 574 ( filegroup_hdl, append, compression_level, c yclic, description, enabled, format, group_ref&575 , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset &592 ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format & 593 , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset & 576 594 , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix & 577 595 , type ) … … 580 598 581 599 SUBROUTINE xios(is_defined_filegroup_attr_hdl_) & 582 ( filegroup_hdl, append_, compression_level_, c yclic_, description_, enabled_, format_, group_ref_ &583 , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_ &584 , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_ &585 , t s_prefix_, type_ )600 ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_ & 601 , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_ & 602 , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_ & 603 , timeseries_, ts_prefix_, type_ ) 586 604 587 605 IMPLICIT NONE … … 591 609 LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 592 610 LOGICAL(KIND=C_BOOL) :: compression_level__tmp 611 LOGICAL, OPTIONAL, INTENT(OUT) :: convention_ 612 LOGICAL(KIND=C_BOOL) :: convention__tmp 593 613 LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic_ 594 614 LOGICAL(KIND=C_BOOL) :: cyclic__tmp … … 644 664 ENDIF 645 665 666 IF (PRESENT(convention_)) THEN 667 convention__tmp = cxios_is_defined_filegroup_convention(filegroup_hdl%daddr) 668 convention_ = convention__tmp 669 ENDIF 670 646 671 IF (PRESENT(cyclic_)) THEN 647 672 cyclic__tmp = cxios_is_defined_filegroup_cyclic(filegroup_hdl%daddr) -
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) -
XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
r817 r932 12 12 13 13 SUBROUTINE xios(set_gridgroup_attr) & 14 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 14 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 15 , mask_7d, name ) 15 16 16 17 IMPLICIT NONE … … 25 26 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 26 27 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 28 LOGICAL , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 29 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 30 LOGICAL , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 31 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 32 LOGICAL , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 33 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 34 LOGICAL , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 35 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 27 36 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 28 37 29 38 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 30 39 CALL xios(set_gridgroup_attr_hdl_) & 31 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 40 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 41 , mask_7d, name ) 32 42 33 43 END SUBROUTINE xios(set_gridgroup_attr) 34 44 35 45 SUBROUTINE xios(set_gridgroup_attr_hdl) & 36 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 46 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 47 , mask_7d, name ) 37 48 38 49 IMPLICIT NONE … … 46 57 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 47 58 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 59 LOGICAL , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 60 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 61 LOGICAL , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 62 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 63 LOGICAL , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 64 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 65 LOGICAL , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 66 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 48 67 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 49 68 50 69 CALL xios(set_gridgroup_attr_hdl_) & 51 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 70 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 71 , mask_7d, name ) 52 72 53 73 END SUBROUTINE xios(set_gridgroup_attr_hdl) 54 74 55 75 SUBROUTINE xios(set_gridgroup_attr_hdl_) & 56 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 76 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_ & 77 , mask_6d_, mask_7d_, name_ ) 57 78 58 79 IMPLICIT NONE … … 66 87 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:) 67 88 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 89 LOGICAL , OPTIONAL, INTENT(IN) :: mask_4d_(:,:,:,:) 90 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 91 LOGICAL , OPTIONAL, INTENT(IN) :: mask_5d_(:,:,:,:,:) 92 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 93 LOGICAL , OPTIONAL, INTENT(IN) :: mask_6d_(:,:,:,:,:,:) 94 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 95 LOGICAL , OPTIONAL, INTENT(IN) :: mask_7d_(:,:,:,:,:,:,:) 96 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 68 97 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 69 98 … … 94 123 ENDIF 95 124 125 IF (PRESENT(mask_4d_)) THEN 126 ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 127 mask_4d__tmp = mask_4d_ 128 CALL cxios_set_gridgroup_mask_4d(gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 129 ENDIF 130 131 IF (PRESENT(mask_5d_)) THEN 132 ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 133 mask_5d__tmp = mask_5d_ 134 CALL cxios_set_gridgroup_mask_5d(gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 135 ENDIF 136 137 IF (PRESENT(mask_6d_)) THEN 138 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))) 139 mask_6d__tmp = mask_6d_ 140 CALL cxios_set_gridgroup_mask_6d(gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 141 ENDIF 142 143 IF (PRESENT(mask_7d_)) THEN 144 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))) 145 mask_7d__tmp = mask_7d_ 146 CALL cxios_set_gridgroup_mask_7d(gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 147 ENDIF 148 96 149 IF (PRESENT(name_)) THEN 97 150 CALL cxios_set_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_)) … … 101 154 102 155 SUBROUTINE xios(get_gridgroup_attr) & 103 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 156 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 157 , mask_7d, name ) 104 158 105 159 IMPLICIT NONE … … 114 168 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 115 169 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 170 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 171 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 172 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 173 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 174 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 175 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 176 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 177 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 116 178 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 117 179 118 180 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 119 181 CALL xios(get_gridgroup_attr_hdl_) & 120 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 182 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 183 , mask_7d, name ) 121 184 122 185 END SUBROUTINE xios(get_gridgroup_attr) 123 186 124 187 SUBROUTINE xios(get_gridgroup_attr_hdl) & 125 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 188 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 189 , mask_7d, name ) 126 190 127 191 IMPLICIT NONE … … 135 199 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 136 200 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 201 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 202 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 203 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 204 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 205 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 206 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 207 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 208 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 137 209 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 138 210 139 211 CALL xios(get_gridgroup_attr_hdl_) & 140 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 212 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 213 , mask_7d, name ) 141 214 142 215 END SUBROUTINE xios(get_gridgroup_attr_hdl) 143 216 144 217 SUBROUTINE xios(get_gridgroup_attr_hdl_) & 145 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 218 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_ & 219 , mask_6d_, mask_7d_, name_ ) 146 220 147 221 IMPLICIT NONE … … 155 229 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:) 156 230 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 231 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_4d_(:,:,:,:) 232 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 233 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_5d_(:,:,:,:,:) 234 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 235 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_6d_(:,:,:,:,:,:) 236 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 237 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_7d_(:,:,:,:,:,:,:) 238 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 157 239 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 158 240 … … 183 265 ENDIF 184 266 267 IF (PRESENT(mask_4d_)) THEN 268 ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 269 CALL cxios_get_gridgroup_mask_4d(gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 270 mask_4d_ = mask_4d__tmp 271 ENDIF 272 273 IF (PRESENT(mask_5d_)) THEN 274 ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 275 CALL cxios_get_gridgroup_mask_5d(gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 276 mask_5d_ = mask_5d__tmp 277 ENDIF 278 279 IF (PRESENT(mask_6d_)) THEN 280 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))) 281 CALL cxios_get_gridgroup_mask_6d(gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 282 mask_6d_ = mask_6d__tmp 283 ENDIF 284 285 IF (PRESENT(mask_7d_)) THEN 286 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))) 287 CALL cxios_get_gridgroup_mask_7d(gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 288 mask_7d_ = mask_7d__tmp 289 ENDIF 290 185 291 IF (PRESENT(name_)) THEN 186 292 CALL cxios_get_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_)) … … 190 296 191 297 SUBROUTINE xios(is_defined_gridgroup_attr) & 192 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 298 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 299 , mask_7d, name ) 193 300 194 301 IMPLICIT NONE … … 205 312 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 206 313 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 314 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 315 LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 316 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 317 LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 318 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 319 LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 320 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 321 LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 207 322 LOGICAL, OPTIONAL, INTENT(OUT) :: name 208 323 LOGICAL(KIND=C_BOOL) :: name_tmp … … 210 325 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 211 326 CALL xios(is_defined_gridgroup_attr_hdl_) & 212 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 327 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 328 , mask_7d, name ) 213 329 214 330 END SUBROUTINE xios(is_defined_gridgroup_attr) 215 331 216 332 SUBROUTINE xios(is_defined_gridgroup_attr_hdl) & 217 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 333 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 334 , mask_7d, name ) 218 335 219 336 IMPLICIT NONE … … 229 346 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 230 347 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 348 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 349 LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 350 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 351 LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 352 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 353 LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 354 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 355 LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 231 356 LOGICAL, OPTIONAL, INTENT(OUT) :: name 232 357 LOGICAL(KIND=C_BOOL) :: name_tmp 233 358 234 359 CALL xios(is_defined_gridgroup_attr_hdl_) & 235 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 360 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d & 361 , mask_7d, name ) 236 362 237 363 END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 238 364 239 365 SUBROUTINE xios(is_defined_gridgroup_attr_hdl_) & 240 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 366 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_ & 367 , mask_6d_, mask_7d_, name_ ) 241 368 242 369 IMPLICIT NONE … … 252 379 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_ 253 380 LOGICAL(KIND=C_BOOL) :: mask_3d__tmp 381 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d_ 382 LOGICAL(KIND=C_BOOL) :: mask_4d__tmp 383 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d_ 384 LOGICAL(KIND=C_BOOL) :: mask_5d__tmp 385 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d_ 386 LOGICAL(KIND=C_BOOL) :: mask_6d__tmp 387 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d_ 388 LOGICAL(KIND=C_BOOL) :: mask_7d__tmp 254 389 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 255 390 LOGICAL(KIND=C_BOOL) :: name__tmp … … 280 415 ENDIF 281 416 417 IF (PRESENT(mask_4d_)) THEN 418 mask_4d__tmp = cxios_is_defined_gridgroup_mask_4d(gridgroup_hdl%daddr) 419 mask_4d_ = mask_4d__tmp 420 ENDIF 421 422 IF (PRESENT(mask_5d_)) THEN 423 mask_5d__tmp = cxios_is_defined_gridgroup_mask_5d(gridgroup_hdl%daddr) 424 mask_5d_ = mask_5d__tmp 425 ENDIF 426 427 IF (PRESENT(mask_6d_)) THEN 428 mask_6d__tmp = cxios_is_defined_gridgroup_mask_6d(gridgroup_hdl%daddr) 429 mask_6d_ = mask_6d__tmp 430 ENDIF 431 432 IF (PRESENT(mask_7d_)) THEN 433 mask_7d__tmp = cxios_is_defined_gridgroup_mask_7d(gridgroup_hdl%daddr) 434 mask_7d_ = mask_7d__tmp 435 ENDIF 436 282 437 IF (PRESENT(name_)) THEN 283 438 name__tmp = cxios_is_defined_gridgroup_name(gridgroup_hdl%daddr) -
XIOS/trunk/src/node/field_decl.cpp
r593 r932 6 6 template void CField::setData<2>(const CArray<double, 2>& _data); 7 7 template void CField::setData<3>(const CArray<double, 3>& _data); 8 template void CField::setData<4>(const CArray<double, 4>& _data); 9 template void CField::setData<5>(const CArray<double, 5>& _data); 10 template void CField::setData<6>(const CArray<double, 6>& _data); 11 template void CField::setData<7>(const CArray<double, 7>& _data); 8 12 9 13 template void CField::getData<1>(CArray<double, 1>& _data) const; 10 14 template void CField::getData<2>(CArray<double, 2>& _data) const; 11 15 template void CField::getData<3>(CArray<double, 3>& _data) const; 16 template void CField::getData<4>(CArray<double, 4>& _data) const; 17 template void CField::getData<5>(CArray<double, 5>& _data) const; 18 template void CField::getData<6>(CArray<double, 6>& _data) const; 19 template void CField::getData<7>(CArray<double, 7>& _data) const; 12 20 } -
XIOS/trunk/src/node/grid.cpp
r927 r932 353 353 checkGridMask(mask_3d, domainMasks, axisMasks, axis_domain_order); 354 354 break; 355 //case 4:356 // checkGridMask(mask4, domainMasks, axisMasks, axis_domain_order);357 //break;358 //case 5:359 // checkGridMask(mask5, domainMasks, axisMasks, axis_domain_order);360 //break;361 //case 6:362 // checkGridMask(mask6, domainMasks, axisMasks, axis_domain_order);363 //break;364 //case 7:365 // checkGridMask(mask7, domainMasks, axisMasks, axis_domain_order);366 //break;355 case 4: 356 checkGridMask(mask_4d, domainMasks, axisMasks, axis_domain_order); 357 break; 358 case 5: 359 checkGridMask(mask_5d, domainMasks, axisMasks, axis_domain_order); 360 break; 361 case 6: 362 checkGridMask(mask_6d, domainMasks, axisMasks, axis_domain_order); 363 break; 364 case 7: 365 checkGridMask(mask_7d, domainMasks, axisMasks, axis_domain_order); 366 break; 367 367 default: 368 368 break; … … 387 387 modifyGridMask(mask_3d, indexToModify); 388 388 break; 389 389 case 4: 390 modifyGridMask(mask_1d, indexToModify); 391 break; 392 case 5: 393 modifyGridMask(mask_2d, indexToModify); 394 break; 395 case 6: 396 modifyGridMask(mask_3d, indexToModify); 397 break; 398 case 7: 399 modifyGridMask(mask_3d, indexToModify); 400 break; 390 401 default: 391 402 break;
Note: See TracChangeset
for help on using the changeset viewer.