Changeset 2121 for XIOS/dev/dev_ym/XIOS_COUPLING/src/interface
- Timestamp:
- 03/30/21 18:25:37 (3 years ago)
- Location:
- XIOS/dev/dev_ym/XIOS_COUPLING/src/interface
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c/iccontext.cpp
r1622 r2121 68 68 CATCH_DUMP_STACK 69 69 70 void cxios_context_get_id(XContextPtr context, char * _id, int _id_len) 71 TRY 72 { 73 string_copy(context->getId(),_id,_id_len); 74 } 75 CATCH_DUMP_STACK 76 70 77 void cxios_context_set_current(XContextPtr context, bool withswap) 71 78 TRY -
XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c/icdata.cpp
r1761 r2121 412 412 413 413 // ---------------------- Ecriture des données ------------------------------ 414 415 void cxios_write_data_k80_hdl(CField* field, double* data_k8, int data_Xsize) 416 TRY 417 { 418 CTimer::get("XIOS").resume(); 419 CTimer::get("XIOS send field").resume(); 420 CContext* context = CContext::getCurrent(); 421 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 422 context->eventLoop(); 423 CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 424 field->setData(data); 425 CTimer::get("XIOS send field").suspend(); 426 CTimer::get("XIOS").suspend(); 427 } 428 CATCH_DUMP_STACK 414 429 415 430 void cxios_write_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) … … 418 433 std::string fieldid_str; 419 434 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 420 421 CTimer::get("XIOS").resume(); 422 CTimer::get("XIOS send field").resume(); 423 CContext* context = CContext::getCurrent(); 424 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 425 context->eventLoop(); 426 //ym context->checkBuffersAndListen(); 435 cxios_write_data_k80_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 436 } 437 CATCH_DUMP_STACK 438 439 440 441 442 void cxios_write_data_k81_hdl(CField* field, double* data_k8, int data_Xsize) 443 TRY 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->eventLoop(); 451 427 452 CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 428 CField::get(fieldid_str)->setData(data); 429 CTimer::get("XIOS send field").suspend(); 430 CTimer::get("XIOS").suspend(); 431 } 432 CATCH_DUMP_STACK 433 453 field->setData(data); 454 455 CTimer::get("XIOS send field").suspend(); 456 CTimer::get("XIOS").suspend(); 457 } 458 CATCH_DUMP_STACK 459 434 460 void cxios_write_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 435 461 TRY … … 437 463 std::string fieldid_str; 438 464 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 439 440 CTimer::get("XIOS").resume(); 441 CTimer::get("XIOS send field").resume(); 442 443 CContext* context = CContext::getCurrent(); 444 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 445 context->eventLoop(); 446 //ym context->checkBuffersAndListen(); 447 448 CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 449 CField::get(fieldid_str)->setData(data); 465 cxios_write_data_k81_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 466 467 } 468 CATCH_DUMP_STACK 469 470 471 472 void cxios_write_data_k82_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize) 473 TRY 474 { 475 CTimer::get("XIOS").resume(); 476 CTimer::get("XIOS send field").resume(); 477 478 CContext* context = CContext::getCurrent(); 479 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 480 context->eventLoop(); 481 482 CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 483 field->setData(data); 450 484 451 485 CTimer::get("XIOS send field").suspend(); … … 459 493 std::string fieldid_str; 460 494 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 461 462 CTimer::get("XIOS").resume(); 463 CTimer::get("XIOS send field").resume(); 464 465 CContext* context = CContext::getCurrent(); 466 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 467 context->eventLoop(); 468 //ym context->checkBuffersAndListen(); 469 470 CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 471 CField::get(fieldid_str)->setData(data); 472 473 CTimer::get("XIOS send field").suspend(); 474 CTimer::get("XIOS").suspend(); 475 } 476 CATCH_DUMP_STACK 477 495 cxios_write_data_k82_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize) ; 496 } 497 CATCH_DUMP_STACK 498 499 500 501 502 503 504 void cxios_write_data_k83_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 505 TRY 506 { 507 CTimer::get("XIOS").resume(); 508 CTimer::get("XIOS send field").resume(); 509 510 CContext* context = CContext::getCurrent(); 511 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 512 context->eventLoop(); 513 514 CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 515 field->setData(data); 516 517 CTimer::get("XIOS send field").suspend(); 518 CTimer::get("XIOS").suspend(); 519 } 520 CATCH_DUMP_STACK 521 478 522 void cxios_write_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 479 523 TRY … … 481 525 std::string fieldid_str; 482 526 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 483 484 CTimer::get("XIOS").resume(); 485 CTimer::get("XIOS send field").resume(); 486 487 CContext* context = CContext::getCurrent(); 488 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 489 context->eventLoop(); 490 //ym context->checkBuffersAndListen(); 491 492 CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 493 CField::get(fieldid_str)->setData(data); 527 cxios_write_data_k83_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize, data_Zsize) ; 528 529 530 } 531 CATCH_DUMP_STACK 532 533 534 535 536 537 538 void cxios_write_data_k84_hdl(CField* field, double* data_k8, int data_0size, int data_1size, int data_2size, int data_3size) 539 TRY 540 { 541 CTimer::get("XIOS").resume(); 542 CTimer::get("XIOS send field").resume(); 543 544 CContext* context = CContext::getCurrent(); 545 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 546 context->eventLoop(); 547 548 CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 549 field->setData(data); 494 550 495 551 CTimer::get("XIOS send field").suspend(); … … 506 562 CTimer::get("XIOS").resume(); 507 563 CTimer::get("XIOS send field").resume(); 508 509 CContext* context = CContext::getCurrent(); 510 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 511 context->eventLoop(); 512 //ym context->checkBuffersAndListen(); 513 514 CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 515 CField::get(fieldid_str)->setData(data); 564 cxios_write_data_k84_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size) ; 565 } 566 CATCH_DUMP_STACK 567 568 569 570 571 572 void cxios_write_data_k85_hdl(CField* field, double* data_k8, 573 int data_0size, int data_1size, int data_2size, 574 int data_3size, int data_4size) 575 TRY 576 { 577 CTimer::get("XIOS").resume(); 578 CTimer::get("XIOS send field").resume(); 579 580 CContext* context = CContext::getCurrent(); 581 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 582 context->eventLoop(); 583 584 CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 585 field->setData(data); 516 586 517 587 CTimer::get("XIOS send field").suspend(); … … 527 597 std::string fieldid_str; 528 598 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 529 530 CTimer::get("XIOS").resume(); 531 CTimer::get("XIOS send field").resume(); 532 533 CContext* context = CContext::getCurrent(); 534 context->eventLoop(); 535 //ym context->checkBuffersAndListen(); 536 537 CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 538 CField::get(fieldid_str)->setData(data); 539 540 CTimer::get("XIOS send field").suspend(); 541 CTimer::get("XIOS").suspend(); 542 } 543 CATCH_DUMP_STACK 544 599 cxios_write_data_k85_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size) ; 600 601 } 602 CATCH_DUMP_STACK 603 604 605 606 void cxios_write_data_k86_hdl(CField* field, double* data_k8, 607 int data_0size, int data_1size, int data_2size, 608 int data_3size, int data_4size, int data_5size) 609 TRY 610 { 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->eventLoop(); 618 619 CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 620 field->setData(data); 621 622 CTimer::get("XIOS send field").suspend(); 623 CTimer::get("XIOS").suspend(); 624 } 625 CATCH_DUMP_STACK 626 545 627 void cxios_write_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 546 628 int data_0size, int data_1size, int data_2size, … … 550 632 std::string fieldid_str; 551 633 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 552 553 CTimer::get("XIOS").resume(); 554 CTimer::get("XIOS send field").resume(); 555 556 CContext* context = CContext::getCurrent(); 557 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 558 context->eventLoop(); 559 // context->checkBuffersAndListen(); 560 561 CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 562 CField::get(fieldid_str)->setData(data); 563 564 CTimer::get("XIOS send field").suspend(); 565 CTimer::get("XIOS").suspend(); 566 } 567 CATCH_DUMP_STACK 568 634 cxios_write_data_k86_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 635 636 } 637 CATCH_DUMP_STACK 638 639 640 641 642 void cxios_write_data_k87_hdl(CField* field, double* data_k8, 643 int data_0size, int data_1size, int data_2size, 644 int data_3size, int data_4size, int data_5size, 645 int data_6size) 646 TRY 647 { 648 CTimer::get("XIOS").resume(); 649 CTimer::get("XIOS send field").resume(); 650 651 CContext* context = CContext::getCurrent(); 652 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 653 context->eventLoop(); 654 655 CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 656 field->setData(data); 657 658 CTimer::get("XIOS send field").suspend(); 659 CTimer::get("XIOS").suspend(); 660 } 661 CATCH_DUMP_STACK 662 569 663 void cxios_write_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 570 664 int data_0size, int data_1size, int data_2size, … … 575 669 std::string fieldid_str; 576 670 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 577 578 CTimer::get("XIOS").resume(); 579 CTimer::get("XIOS send field").resume(); 580 581 CContext* context = CContext::getCurrent(); 582 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 583 context->eventLoop(); 584 // context->checkBuffersAndListen(); 585 586 CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 587 CField::get(fieldid_str)->setData(data); 588 589 CTimer::get("XIOS send field").suspend(); 590 CTimer::get("XIOS").suspend(); 591 } 592 CATCH_DUMP_STACK 593 594 void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 595 TRY 596 { 597 std::string fieldid_str; 598 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 599 600 CTimer::get("XIOS").resume(); 601 CTimer::get("XIOS send field").resume(); 602 CContext* context = CContext::getCurrent(); 603 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 604 context->eventLoop(); 605 //ym context->checkBuffersAndListen(); 671 cxios_write_data_k87_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size) ; 672 } 673 CATCH_DUMP_STACK 674 675 676 677 678 679 void cxios_write_data_k40_hdl(CField* field, float* data_k4, int data_Xsize) 680 TRY 681 { 682 CTimer::get("XIOS").resume(); 683 CTimer::get("XIOS send field").resume(); 684 CContext* context = CContext::getCurrent(); 685 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 686 context->eventLoop(); 606 687 607 688 CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 608 689 CArray<double, 1> data(data_Xsize) ; 609 690 data = data_tmp; 610 CField::get(fieldid_str)->setData(data); 611 CTimer::get("XIOS send field").suspend(); 612 CTimer::get("XIOS").suspend(); 613 } 614 CATCH_DUMP_STACK 615 616 void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 617 TRY 618 { 619 std::string fieldid_str; 620 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 621 622 CTimer::get("XIOS").resume(); 623 CTimer::get("XIOS send field").resume(); 624 625 CContext* context = CContext::getCurrent(); 626 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 627 context->eventLoop(); 628 //ym context->checkBuffersAndListen(); 691 field->setData(data); 692 CTimer::get("XIOS send field").suspend(); 693 CTimer::get("XIOS").suspend(); 694 } 695 CATCH_DUMP_STACK 696 697 void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 698 TRY 699 { 700 std::string fieldid_str; 701 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 702 cxios_write_data_k40_hdl(CField::get(fieldid_str), data_k4, data_Xsize); 703 704 } 705 CATCH_DUMP_STACK 706 707 708 void cxios_write_data_k41_hdl(CField* field, float* data_k4, int data_Xsize) 709 TRY 710 { 711 CTimer::get("XIOS").resume(); 712 CTimer::get("XIOS send field").resume(); 713 714 CContext* context = CContext::getCurrent(); 715 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 716 context->eventLoop(); 629 717 630 718 CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 631 719 CArray<double, 1> data(data_Xsize); 632 720 data = data_tmp; 633 CField::get(fieldid_str)->setData(data); 634 635 CTimer::get("XIOS send field").suspend(); 636 CTimer::get("XIOS").suspend(); 637 } 638 CATCH_DUMP_STACK 639 640 void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 641 TRY 642 { 643 std::string fieldid_str; 644 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 645 646 CTimer::get("XIOS").resume(); 647 CTimer::get("XIOS send field").resume(); 648 649 CContext* context = CContext::getCurrent(); 650 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 651 context->eventLoop(); 652 //ym context->checkBuffersAndListen(); 721 field->setData(data); 722 723 CTimer::get("XIOS send field").suspend(); 724 CTimer::get("XIOS").suspend(); 725 } 726 CATCH_DUMP_STACK 727 728 void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 729 TRY 730 { 731 std::string fieldid_str; 732 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 733 cxios_write_data_k41_hdl(CField::get(fieldid_str), data_k4, data_Xsize); 734 } 735 CATCH_DUMP_STACK 736 737 738 void cxios_write_data_k42_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize) 739 TRY 740 { 741 CTimer::get("XIOS").resume(); 742 CTimer::get("XIOS send field").resume(); 743 744 CContext* context = CContext::getCurrent(); 745 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 746 context->eventLoop(); 653 747 654 748 CArray<float, 2> data_tmp(data_k4, shape(data_Xsize, data_Ysize), neverDeleteData); 655 749 CArray<double, 2> data(data_Xsize, data_Ysize); 656 750 data = data_tmp; 657 CField::get(fieldid_str)->setData(data); 658 659 CTimer::get("XIOS send field").suspend(); 660 CTimer::get("XIOS").suspend(); 661 } 662 CATCH_DUMP_STACK 663 664 void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 665 TRY 666 { 667 std::string fieldid_str; 668 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 669 670 CTimer::get("XIOS").resume(); 671 CTimer::get("XIOS send field").resume(); 672 673 CContext* context = CContext::getCurrent(); 674 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 675 context->eventLoop(); 676 //ym context->checkBuffersAndListen(); 751 field->setData(data); 752 753 CTimer::get("XIOS send field").suspend(); 754 CTimer::get("XIOS").suspend(); 755 } 756 CATCH_DUMP_STACK 757 758 void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 759 TRY 760 { 761 std::string fieldid_str; 762 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 763 cxios_write_data_k42_hdl(CField::get(fieldid_str), data_k4, data_Xsize,data_Ysize); 764 } 765 CATCH_DUMP_STACK 766 767 768 769 770 void cxios_write_data_k43_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 771 TRY 772 { 773 CTimer::get("XIOS").resume(); 774 CTimer::get("XIOS send field").resume(); 775 776 CContext* context = CContext::getCurrent(); 777 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 778 context->eventLoop(); 677 779 678 780 CArray<float, 3> data_tmp(data_k4, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 679 781 CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize); 680 782 data = data_tmp; 681 CField::get(fieldid_str)->setData(data); 783 field->setData(data); 784 785 CTimer::get("XIOS send field").suspend(); 786 CTimer::get("XIOS").suspend(); 787 } 788 CATCH_DUMP_STACK 789 790 void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 791 TRY 792 { 793 std::string fieldid_str; 794 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 795 cxios_write_data_k43_hdl(CField::get(fieldid_str), data_k4, data_Xsize,data_Ysize, data_Zsize); 796 } 797 CATCH_DUMP_STACK 798 799 800 801 void cxios_write_data_k44_hdl(CField* field, float* data_k4, 802 int data_0size, int data_1size, int data_2size, 803 int data_3size) 804 TRY 805 { 806 CTimer::get("XIOS").resume(); 807 CTimer::get("XIOS send field").resume(); 808 809 CContext* context = CContext::getCurrent(); 810 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 811 context->eventLoop(); 812 813 CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 814 CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 815 data = data_tmp; 816 field->setData(data); 682 817 683 818 CTimer::get("XIOS send field").suspend(); … … 693 828 std::string fieldid_str; 694 829 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 695 696 CTimer::get("XIOS").resume(); 697 CTimer::get("XIOS send field").resume(); 698 699 CContext* context = CContext::getCurrent(); 700 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 701 context->eventLoop(); 702 //ym context->checkBuffersAndListen(); 703 704 CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 705 CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 830 cxios_write_data_k44_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size) ; 831 } 832 CATCH_DUMP_STACK 833 834 835 836 837 void cxios_write_data_k45_hdl(CField* field, float* data_k4, 838 int data_0size, int data_1size, int data_2size, 839 int data_3size, int data_4size) 840 TRY 841 { 842 CTimer::get("XIOS").resume(); 843 CTimer::get("XIOS send field").resume(); 844 845 CContext* context = CContext::getCurrent(); 846 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 847 context->eventLoop(); 848 849 CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 850 CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 706 851 data = data_tmp; 707 CField::get(fieldid_str)->setData(data);852 field->setData(data); 708 853 709 854 CTimer::get("XIOS send field").suspend(); … … 719 864 std::string fieldid_str; 720 865 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 721 722 CTimer::get("XIOS").resume(); 723 CTimer::get("XIOS send field").resume(); 724 725 CContext* context = CContext::getCurrent(); 726 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 727 context->eventLoop(); 728 //ym context->checkBuffersAndListen(); 729 730 CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 731 CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 866 cxios_write_data_k45_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size) ; 867 } 868 CATCH_DUMP_STACK 869 870 871 872 void cxios_write_data_k46_hdl(CField* field, float* data_k4, 873 int data_0size, int data_1size, int data_2size, 874 int data_3size, int data_4size, int data_5size) 875 TRY 876 { 877 CTimer::get("XIOS").resume(); 878 CTimer::get("XIOS send field").resume(); 879 880 CContext* context = CContext::getCurrent(); 881 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 882 context->eventLoop(); 883 884 CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 885 CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 732 886 data = data_tmp; 733 CField::get(fieldid_str)->setData(data);887 field->setData(data); 734 888 735 889 CTimer::get("XIOS send field").suspend(); … … 745 899 std::string fieldid_str; 746 900 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 747 748 CTimer::get("XIOS").resume(); 749 CTimer::get("XIOS send field").resume(); 750 751 CContext* context = CContext::getCurrent(); 752 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 753 context->eventLoop(); 754 //ym context->checkBuffersAndListen(); 755 756 CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 757 CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 758 data = data_tmp; 759 CField::get(fieldid_str)->setData(data); 760 761 CTimer::get("XIOS send field").suspend(); 762 CTimer::get("XIOS").suspend(); 763 } 764 CATCH_DUMP_STACK 765 766 void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 901 cxios_write_data_k46_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 902 } 903 CATCH_DUMP_STACK 904 905 906 void cxios_write_data_k47_hdl(CField* field, float* data_k4, 767 907 int data_0size, int data_1size, int data_2size, 768 908 int data_3size, int data_4size, int data_5size, … … 770 910 TRY 771 911 { 772 std::string fieldid_str; 773 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 774 775 CTimer::get("XIOS").resume(); 776 CTimer::get("XIOS send field").resume(); 777 778 CContext* context = CContext::getCurrent(); 779 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 780 context->eventLoop(); 781 //ym context->checkBuffersAndListen(); 912 CTimer::get("XIOS").resume(); 913 CTimer::get("XIOS send field").resume(); 914 915 CContext* context = CContext::getCurrent(); 916 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 917 context->eventLoop(); 782 918 783 919 CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 784 920 CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 785 921 data = data_tmp; 786 CField::get(fieldid_str)->setData(data); 787 788 CTimer::get("XIOS send field").suspend(); 789 CTimer::get("XIOS").suspend(); 790 } 791 CATCH_DUMP_STACK 922 field->setData(data); 923 924 CTimer::get("XIOS send field").suspend(); 925 CTimer::get("XIOS").suspend(); 926 } 927 CATCH_DUMP_STACK 928 929 void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 930 int data_0size, int data_1size, int data_2size, 931 int data_3size, int data_4size, int data_5size, 932 int data_6size) 933 TRY 934 { 935 std::string fieldid_str; 936 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 937 cxios_write_data_k47_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size) ; 938 } 939 CATCH_DUMP_STACK 940 792 941 793 942 // ---------------------- Lecture des données ------------------------------ 794 943 944 void cxios_read_data_k80_hdl(CField* field, double* data_k8, int data_Xsize) 945 TRY 946 { 947 CTimer::get("XIOS").resume(); 948 CTimer::get("XIOS recv field").resume(); 949 950 CContext* context = CContext::getCurrent(); 951 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 952 context->eventLoop(); 953 954 CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 955 field->getData(data); 956 957 CTimer::get("XIOS recv field").suspend(); 958 CTimer::get("XIOS").suspend(); 959 } 960 CATCH_DUMP_STACK 961 795 962 void cxios_read_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 796 963 TRY … … 798 965 std::string fieldid_str; 799 966 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 800 801 CTimer::get("XIOS").resume(); 802 CTimer::get("XIOS recv field").resume(); 803 804 CContext* context = CContext::getCurrent(); 805 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 806 context->eventLoop(); 807 //ym context->checkBuffersAndListen(); 967 cxios_read_data_k80_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 968 } 969 CATCH_DUMP_STACK 970 971 972 void cxios_read_data_k81_hdl(CField* field, double* data_k8, int data_Xsize) 973 TRY 974 { 975 CTimer::get("XIOS").resume(); 976 CTimer::get("XIOS recv field").resume(); 977 978 CContext* context = CContext::getCurrent(); 979 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 980 context->eventLoop(); 808 981 809 982 CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 810 CField::get(fieldid_str)->getData(data);983 field->getData(data); 811 984 812 985 CTimer::get("XIOS recv field").suspend(); … … 820 993 std::string fieldid_str; 821 994 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 822 823 CTimer::get("XIOS").resume(); 824 CTimer::get("XIOS recv field").resume(); 825 826 CContext* context = CContext::getCurrent(); 827 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 828 context->eventLoop(); 829 //ym context->checkBuffersAndListen(); 830 831 CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 832 CField::get(fieldid_str)->getData(data); 995 cxios_read_data_k81_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 996 } 997 CATCH_DUMP_STACK 998 999 void cxios_read_data_k82_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize) 1000 TRY 1001 { 1002 CTimer::get("XIOS").resume(); 1003 CTimer::get("XIOS recv field").resume(); 1004 1005 CContext* context = CContext::getCurrent(); 1006 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1007 context->eventLoop(); 1008 1009 CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 1010 field->getData(data); 833 1011 834 1012 CTimer::get("XIOS recv field").suspend(); … … 842 1020 std::string fieldid_str; 843 1021 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 844 845 CTimer::get("XIOS").resume(); 846 CTimer::get("XIOS recv field").resume(); 847 848 CContext* context = CContext::getCurrent(); 849 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 850 context->eventLoop(); 851 //ym context->checkBuffersAndListen(); 852 853 CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 854 CField::get(fieldid_str)->getData(data); 855 856 CTimer::get("XIOS recv field").suspend(); 857 CTimer::get("XIOS").suspend(); 858 } 859 CATCH_DUMP_STACK 1022 cxios_read_data_k82_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize) ; 1023 } 1024 CATCH_DUMP_STACK 1025 1026 1027 void cxios_read_data_k83_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 1028 TRY 1029 { 1030 CTimer::get("XIOS").resume(); 1031 CTimer::get("XIOS recv field").resume(); 1032 1033 CContext* context = CContext::getCurrent(); 1034 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1035 context->eventLoop(); 1036 1037 CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 1038 field->getData(data); 1039 1040 CTimer::get("XIOS recv field").suspend(); 1041 CTimer::get("XIOS").suspend(); 1042 } 1043 CATCH_DUMP_STACK 1044 860 1045 861 1046 void cxios_read_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) … … 864 1049 std::string fieldid_str; 865 1050 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 866 867 CTimer::get("XIOS").resume(); 868 CTimer::get("XIOS recv field").resume(); 869 870 CContext* context = CContext::getCurrent(); 871 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 872 context->eventLoop(); 873 //ym context->checkBuffersAndListen(); 874 875 CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 876 CField::get(fieldid_str)->getData(data); 1051 cxios_read_data_k83_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize, data_Zsize) ; 1052 } 1053 CATCH_DUMP_STACK 1054 1055 void cxios_read_data_k84_hdl(CField* field, double* data_k8, 1056 int data_0size, int data_1size, int data_2size, 1057 int data_3size) 1058 TRY 1059 { 1060 CTimer::get("XIOS").resume(); 1061 CTimer::get("XIOS recv field").resume(); 1062 1063 CContext* context = CContext::getCurrent(); 1064 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1065 context->eventLoop(); 1066 1067 CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 1068 field->getData(data); 877 1069 878 1070 CTimer::get("XIOS recv field").suspend(); … … 888 1080 std::string fieldid_str; 889 1081 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 890 891 CTimer::get("XIOS").resume(); 892 CTimer::get("XIOS recv field").resume(); 893 894 CContext* context = CContext::getCurrent(); 895 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 896 context->eventLoop(); 897 //ym context->checkBuffersAndListen(); 898 899 CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 900 CField::get(fieldid_str)->getData(data); 1082 cxios_read_data_k84_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size) ; 1083 } 1084 CATCH_DUMP_STACK 1085 1086 void cxios_read_data_k85_hdl(CField* field, double* data_k8, 1087 int data_0size, int data_1size, int data_2size, 1088 int data_3size, int data_4size) 1089 TRY 1090 { 1091 CTimer::get("XIOS").resume(); 1092 CTimer::get("XIOS recv field").resume(); 1093 1094 CContext* context = CContext::getCurrent(); 1095 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1096 context->eventLoop(); 1097 1098 CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 1099 field->getData(data); 901 1100 902 1101 CTimer::get("XIOS recv field").suspend(); … … 912 1111 std::string fieldid_str; 913 1112 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 914 915 CTimer::get("XIOS").resume(); 916 CTimer::get("XIOS recv field").resume(); 917 918 CContext* context = CContext::getCurrent(); 919 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 920 context->eventLoop(); 921 //ym context->checkBuffersAndListen(); 922 923 CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 924 CField::get(fieldid_str)->getData(data); 1113 cxios_read_data_k85_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size) ; 1114 } 1115 CATCH_DUMP_STACK 1116 1117 void cxios_read_data_k86_hdl(CField* field, double* data_k8, 1118 int data_0size, int data_1size, int data_2size, 1119 int data_3size, int data_4size, int data_5size) 1120 TRY 1121 { 1122 CTimer::get("XIOS").resume(); 1123 CTimer::get("XIOS recv field").resume(); 1124 1125 CContext* context = CContext::getCurrent(); 1126 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1127 context->eventLoop(); 1128 1129 CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 1130 field->getData(data); 925 1131 926 1132 CTimer::get("XIOS recv field").suspend(); … … 936 1142 std::string fieldid_str; 937 1143 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 938 939 CTimer::get("XIOS").resume(); 940 CTimer::get("XIOS recv field").resume(); 941 942 CContext* context = CContext::getCurrent(); 943 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 944 context->eventLoop(); 945 //ym context->checkBuffersAndListen(); 946 947 CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 948 CField::get(fieldid_str)->getData(data); 949 950 CTimer::get("XIOS recv field").suspend(); 951 CTimer::get("XIOS").suspend(); 952 } 953 CATCH_DUMP_STACK 954 955 void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 1144 cxios_read_data_k86_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 1145 } 1146 CATCH_DUMP_STACK 1147 1148 void cxios_read_data_k87_hdl(CField* field, double* data_k8, 956 1149 int data_0size, int data_1size, int data_2size, 957 1150 int data_3size, int data_4size, int data_5size, … … 959 1152 TRY 960 1153 { 961 std::string fieldid_str; 962 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 963 964 CTimer::get("XIOS").resume(); 965 CTimer::get("XIOS recv field").resume(); 966 967 CContext* context = CContext::getCurrent(); 968 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 969 context->eventLoop(); 970 //ym context->checkBuffersAndListen(); 1154 CTimer::get("XIOS").resume(); 1155 CTimer::get("XIOS recv field").resume(); 1156 1157 CContext* context = CContext::getCurrent(); 1158 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1159 context->eventLoop(); 971 1160 972 1161 CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 973 CField::get(fieldid_str)->getData(data); 974 975 CTimer::get("XIOS recv field").suspend(); 976 CTimer::get("XIOS").suspend(); 977 } 978 CATCH_DUMP_STACK 979 980 void cxios_read_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 981 TRY 982 { 983 std::string fieldid_str; 984 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 985 986 CTimer::get("XIOS").resume(); 987 CTimer::get("XIOS recv field").resume(); 988 989 CContext* context = CContext::getCurrent(); 990 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 991 context->eventLoop(); 992 //ym context->checkBuffersAndListen(); 1162 field->getData(data); 1163 1164 CTimer::get("XIOS recv field").suspend(); 1165 CTimer::get("XIOS").suspend(); 1166 } 1167 CATCH_DUMP_STACK 1168 1169 void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 1170 int data_0size, int data_1size, int data_2size, 1171 int data_3size, int data_4size, int data_5size, 1172 int data_6size) 1173 TRY 1174 { 1175 std::string fieldid_str; 1176 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1177 cxios_read_data_k87_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size) ; 1178 } 1179 CATCH_DUMP_STACK 1180 1181 1182 1183 1184 1185 1186 void cxios_read_data_k40_hdl(CField* field, float* data_k4, int data_Xsize) 1187 TRY 1188 { 1189 CTimer::get("XIOS").resume(); 1190 CTimer::get("XIOS recv field").resume(); 1191 1192 CContext* context = CContext::getCurrent(); 1193 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1194 context->eventLoop(); 993 1195 994 1196 CArray<double, 1> data(data_Xsize); 995 CField::get(fieldid_str)->getData(data);1197 field->getData(data); 996 1198 CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 997 1199 data_tmp = data; … … 1002 1204 CATCH_DUMP_STACK 1003 1205 1004 void cxios_read_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 1005 TRY 1006 { 1007 std::string fieldid_str; 1008 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1009 1010 CTimer::get("XIOS").resume(); 1011 CTimer::get("XIOS recv field").resume(); 1012 1013 CContext* context = CContext::getCurrent(); 1014 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1015 context->eventLoop(); 1016 //ym context->checkBuffersAndListen(); 1206 void cxios_read_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 1207 TRY 1208 { 1209 std::string fieldid_str; 1210 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1211 cxios_read_data_k40_hdl(CField::get(fieldid_str), data_k4, data_Xsize) ; 1212 } 1213 CATCH_DUMP_STACK 1214 1215 1216 1217 void cxios_read_data_k41_hdl(CField* field, float* data_k4, int data_Xsize) 1218 TRY 1219 { 1220 CTimer::get("XIOS").resume(); 1221 CTimer::get("XIOS recv field").resume(); 1222 1223 CContext* context = CContext::getCurrent(); 1224 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1225 context->eventLoop(); 1017 1226 1018 1227 CArray<double, 1> data(data_Xsize); 1019 CField::get(fieldid_str)->getData(data);1228 field->getData(data); 1020 1229 CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 1021 1230 data_tmp = data; … … 1026 1235 CATCH_DUMP_STACK 1027 1236 1028 void cxios_read_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 1029 TRY 1030 { 1031 std::string fieldid_str; 1032 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1033 1034 CTimer::get("XIOS").resume(); 1035 CTimer::get("XIOS recv field").resume(); 1036 1037 CContext* context = CContext::getCurrent(); 1038 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1039 context->eventLoop(); 1040 //ym context->checkBuffersAndListen(); 1237 void cxios_read_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 1238 TRY 1239 { 1240 std::string fieldid_str; 1241 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1242 cxios_read_data_k41_hdl(CField::get(fieldid_str), data_k4, data_Xsize) ; 1243 } 1244 CATCH_DUMP_STACK 1245 1246 1247 1248 1249 void cxios_read_data_k42_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize) 1250 TRY 1251 { 1252 CTimer::get("XIOS").resume(); 1253 CTimer::get("XIOS recv field").resume(); 1254 1255 CContext* context = CContext::getCurrent(); 1256 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1257 context->eventLoop(); 1041 1258 1042 1259 CArray<double, 2> data(data_Xsize, data_Ysize); 1043 CField::get(fieldid_str)->getData(data);1260 field->getData(data); 1044 1261 CArray<float, 2> data_tmp(data_k4, shape(data_Xsize, data_Ysize), neverDeleteData); 1045 1262 data_tmp = data; … … 1050 1267 CATCH_DUMP_STACK 1051 1268 1052 void cxios_read_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 1053 TRY 1054 { 1055 std::string fieldid_str; 1056 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1057 1058 CTimer::get("XIOS").resume(); 1059 CTimer::get("XIOS recv field").resume(); 1060 1061 CContext* context = CContext::getCurrent(); 1062 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1063 context->eventLoop(); 1064 //ym context->checkBuffersAndListen(); 1269 void cxios_read_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 1270 TRY 1271 { 1272 std::string fieldid_str; 1273 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1274 cxios_read_data_k42_hdl(CField::get(fieldid_str), data_k4, data_Xsize, data_Ysize) ; 1275 } 1276 CATCH_DUMP_STACK 1277 1278 1279 1280 void cxios_read_data_k43_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 1281 TRY 1282 { 1283 CTimer::get("XIOS").resume(); 1284 CTimer::get("XIOS recv field").resume(); 1285 1286 CContext* context = CContext::getCurrent(); 1287 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1288 context->eventLoop(); 1065 1289 1066 1290 CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize); 1067 CField::get(fieldid_str)->getData(data);1291 field->getData(data); 1068 1292 CArray<float, 3> data_tmp(data_k4, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 1069 1293 data_tmp = data; … … 1074 1298 CATCH_DUMP_STACK 1075 1299 1076 void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 1300 void cxios_read_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 1301 TRY 1302 { 1303 std::string fieldid_str; 1304 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1305 cxios_read_data_k43_hdl(CField::get(fieldid_str), data_k4,data_Xsize, data_Ysize, data_Zsize) ; 1306 } 1307 CATCH_DUMP_STACK 1308 1309 1310 void cxios_read_data_k44_hdl(CField* field, float* data_k4, 1077 1311 int data_0size, int data_1size, int data_2size, 1078 1312 int data_3size) 1079 1313 TRY 1080 1314 { 1081 std::string fieldid_str; 1082 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1083 1084 CTimer::get("XIOS").resume(); 1085 CTimer::get("XIOS recv field").resume(); 1086 1087 CContext* context = CContext::getCurrent(); 1088 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1089 context->eventLoop(); 1090 //ym context->checkBuffersAndListen(); 1315 CTimer::get("XIOS").resume(); 1316 CTimer::get("XIOS recv field").resume(); 1317 1318 CContext* context = CContext::getCurrent(); 1319 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1320 context->eventLoop(); 1091 1321 1092 1322 CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 1093 CField::get(fieldid_str)->getData(data);1323 field->getData(data); 1094 1324 CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 1095 1325 data_tmp = data; … … 1100 1330 CATCH_DUMP_STACK 1101 1331 1102 void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 1332 void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 1333 int data_0size, int data_1size, int data_2size, 1334 int data_3size) 1335 TRY 1336 { 1337 std::string fieldid_str; 1338 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1339 cxios_read_data_k44_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size) ; 1340 } 1341 CATCH_DUMP_STACK 1342 1343 1344 1345 void cxios_read_data_k45_hdl(CField* field, float* data_k4, 1103 1346 int data_0size, int data_1size, int data_2size, 1104 1347 int data_3size, int data_4size) 1105 1348 TRY 1106 1349 { 1107 std::string fieldid_str; 1108 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1109 1110 CTimer::get("XIOS").resume(); 1111 CTimer::get("XIOS recv field").resume(); 1112 1113 CContext* context = CContext::getCurrent(); 1114 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1115 context->eventLoop(); 1116 //ym context->checkBuffersAndListen(); 1350 CTimer::get("XIOS").resume(); 1351 CTimer::get("XIOS recv field").resume(); 1352 1353 CContext* context = CContext::getCurrent(); 1354 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1355 context->eventLoop(); 1117 1356 1118 1357 CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 1119 CField::get(fieldid_str)->getData(data);1358 field->getData(data); 1120 1359 CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 1121 1360 data_tmp = data; … … 1126 1365 CATCH_DUMP_STACK 1127 1366 1128 void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 1367 void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 1368 int data_0size, int data_1size, int data_2size, 1369 int data_3size, int data_4size) 1370 TRY 1371 { 1372 std::string fieldid_str; 1373 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1374 cxios_read_data_k45_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size) ; 1375 } 1376 CATCH_DUMP_STACK 1377 1378 1379 void cxios_read_data_k46_hdl(CField* field, float* data_k4, 1129 1380 int data_0size, int data_1size, int data_2size, 1130 1381 int data_3size, int data_4size, int data_5size) 1131 1382 TRY 1132 1383 { 1133 std::string fieldid_str; 1134 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1135 1136 CTimer::get("XIOS").resume(); 1137 CTimer::get("XIOS recv field").resume(); 1138 1139 CContext* context = CContext::getCurrent(); 1140 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1141 context->eventLoop(); 1142 //ym context->checkBuffersAndListen(); 1384 CTimer::get("XIOS").resume(); 1385 CTimer::get("XIOS recv field").resume(); 1386 1387 CContext* context = CContext::getCurrent(); 1388 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1389 context->eventLoop(); 1143 1390 1144 1391 CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 1145 CField::get(fieldid_str)->getData(data);1392 field->getData(data); 1146 1393 CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 1147 1394 data_tmp = data; … … 1152 1399 CATCH_DUMP_STACK 1153 1400 1154 void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 1401 void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 1402 int data_0size, int data_1size, int data_2size, 1403 int data_3size, int data_4size, int data_5size) 1404 TRY 1405 { 1406 std::string fieldid_str; 1407 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1408 cxios_read_data_k46_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 1409 } 1410 CATCH_DUMP_STACK 1411 1412 1413 1414 void cxios_read_data_k47_hdl(CField* field, float* data_k4, 1155 1415 int data_0size, int data_1size, int data_2size, 1156 1416 int data_3size, int data_4size, int data_5size, … … 1158 1418 TRY 1159 1419 { 1160 std::string fieldid_str; 1161 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1162 1163 CTimer::get("XIOS").resume(); 1164 CTimer::get("XIOS recv field").resume(); 1165 1166 CContext* context = CContext::getCurrent(); 1167 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1168 context->eventLoop(); 1169 //ym context->checkBuffersAndListen(); 1420 CTimer::get("XIOS").resume(); 1421 CTimer::get("XIOS recv field").resume(); 1422 1423 CContext* context = CContext::getCurrent(); 1424 if (!context->hasServer && !context->client->isAttachedModeEnabled()) 1425 context->eventLoop(); 1170 1426 1171 1427 CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 1172 CField::get(fieldid_str)->getData(data);1428 field->getData(data); 1173 1429 CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 1174 1430 data_tmp = data; … … 1178 1434 } 1179 1435 CATCH_DUMP_STACK 1436 1437 void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 1438 int data_0size, int data_1size, int data_2size, 1439 int data_3size, int data_4size, int data_5size, 1440 int data_6size) 1441 TRY 1442 { 1443 std::string fieldid_str; 1444 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 1445 cxios_read_data_k47_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size) ; 1446 } 1447 CATCH_DUMP_STACK 1180 1448 } // extern "C" -
XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran/context_interface.f90
r545 r2121 16 16 END SUBROUTINE cxios_context_get_current 17 17 18 SUBROUTINE cxios_context_get_id(context, idt, idt_size) BIND(C) 19 import C_CHAR, C_INTPTR_T, C_INT 20 INTEGER (kind = C_INTPTR_T) :: context 21 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: idt 22 INTEGER (kind = C_INT) , VALUE :: idt_size 23 END SUBROUTINE cxios_context_get_id 24 18 25 SUBROUTINE cxios_context_set_current(context, withswap) BIND(C) 19 26 import C_BOOL, C_INT, C_INTPTR_T -
XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran/icontext.F90
r947 r2121 17 17 END INTERFACE xios(set_current_context) 18 18 19 INTERFACE xios(get_current_context) 20 MODULE PROCEDURE xios(get_current_context_hdl), xios(get_current_context_id) 21 END INTERFACE xios(get_current_context) 22 19 23 CONTAINS ! Fonctions disponibles pour les utilisateurs. 20 24 … … 27 31 END SUBROUTINE xios(get_context_handle) 28 32 29 SUBROUTINE xios(get_current_context )(context)33 SUBROUTINE xios(get_current_context_hdl)(context) 30 34 IMPLICIT NONE 31 35 32 TYPE(txios(context)), INTENT( IN) :: context36 TYPE(txios(context)), INTENT(OUT) :: context 33 37 34 38 CALL cxios_context_get_current(context%daddr) 35 39 36 END SUBROUTINE xios(get_current_context )40 END SUBROUTINE xios(get_current_context_hdl) 37 41 42 SUBROUTINE xios(get_current_context_id)(idt) 43 IMPLICIT NONE 44 CHARACTER(len = *) , INTENT(OUT) :: idt 45 TYPE(txios(context)) :: context 46 47 CALL cxios_context_get_current(context%daddr) 48 CALL cxios_context_get_id(context%daddr, idt, len(idt)) 49 50 END SUBROUTINE xios(get_current_context_id) 51 38 52 SUBROUTINE xios(set_current_context_hdl)(context, withswap) 39 53 IMPLICIT NONE -
XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran/idata.F90
r2115 r2121 4 4 USE, INTRINSIC :: ISO_C_BINDING 5 5 USE ICONTEXT 6 USE IFIELD 6 7 7 8 INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 … … 52 53 END SUBROUTINE cxios_solve_inheritance 53 54 55 SUBROUTINE cxios_write_data_k80_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 56 USE ISO_C_BINDING 57 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 58 REAL (kind = C_DOUBLE) :: data_k8 59 INTEGER (kind = C_INT) , VALUE :: data_Xsize 60 END SUBROUTINE cxios_write_data_k80_hdl 61 54 62 SUBROUTINE cxios_write_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 55 63 USE ISO_C_BINDING … … 60 68 END SUBROUTINE cxios_write_data_k80 61 69 70 SUBROUTINE cxios_write_data_k81_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 71 USE ISO_C_BINDING 72 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 73 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 74 INTEGER (kind = C_INT) , VALUE :: data_Xsize 75 END SUBROUTINE cxios_write_data_k81_hdl 76 62 77 SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 63 78 USE ISO_C_BINDING … … 67 82 INTEGER (kind = C_INT) , VALUE :: data_Xsize 68 83 END SUBROUTINE cxios_write_data_k81 84 85 SUBROUTINE cxios_write_data_k82_hdl(field_hdl, data_k8, data_Xsize, data_Ysize) BIND(C) 86 USE ISO_C_BINDING 87 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 88 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 89 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize 90 END SUBROUTINE cxios_write_data_k82_hdl 69 91 70 92 SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) … … 76 98 END SUBROUTINE cxios_write_data_k82 77 99 100 SUBROUTINE cxios_write_data_k83_hdl(field_hdl, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 101 USE ISO_C_BINDING 102 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 103 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 104 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 105 END SUBROUTINE cxios_write_data_k83_hdl 106 78 107 SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 79 108 USE ISO_C_BINDING … … 84 113 END SUBROUTINE cxios_write_data_k83 85 114 115 SUBROUTINE cxios_write_data_k84_hdl(field_hdl, data_k8, & 116 data_0size, data_1size, data_2size, & 117 data_3size) BIND(C) 118 USE ISO_C_BINDING 119 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 120 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 121 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 122 INTEGER (kind = C_INT) , VALUE :: data_3size 123 END SUBROUTINE cxios_write_data_k84_hdl 124 86 125 SUBROUTINE cxios_write_data_k84(fieldid, fieldid_size, data_k8, & 87 126 data_0size, data_1size, data_2size, & … … 95 134 END SUBROUTINE cxios_write_data_k84 96 135 136 SUBROUTINE cxios_write_data_k85_hdl(field_hdl, data_k8, & 137 data_0size, data_1size, data_2size, & 138 data_3size, data_4size) BIND(C) 139 USE ISO_C_BINDING 140 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 141 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 142 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 143 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 144 END SUBROUTINE cxios_write_data_k85_hdl 145 97 146 SUBROUTINE cxios_write_data_k85(fieldid, fieldid_size, data_k8, & 98 147 data_0size, data_1size, data_2size, & … … 106 155 END SUBROUTINE cxios_write_data_k85 107 156 157 SUBROUTINE cxios_write_data_k86_hdl(field_hdl, data_k8, & 158 data_0size, data_1size, data_2size, & 159 data_3size, data_4size, data_5size) BIND(C) 160 USE ISO_C_BINDING 161 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 162 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 163 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 164 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 165 END SUBROUTINE cxios_write_data_k86_hdl 166 108 167 SUBROUTINE cxios_write_data_k86(fieldid, fieldid_size, data_k8, & 109 168 data_0size, data_1size, data_2size, & … … 117 176 END SUBROUTINE cxios_write_data_k86 118 177 119 SUBROUTINE cxios_write_data_k87 (fieldid, fieldid_size, data_k8, &178 SUBROUTINE cxios_write_data_k87_hdl(field_hdl, data_k8, & 120 179 data_0size, data_1size, data_2size, & 121 180 data_3size, data_4size, data_5size, & 122 181 data_6size) BIND(C) 123 182 USE ISO_C_BINDING 183 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 184 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 185 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 186 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 187 INTEGER (kind = C_INT) , VALUE :: data_6size 188 END SUBROUTINE cxios_write_data_k87_hdl 189 190 SUBROUTINE cxios_write_data_k87(fieldid, fieldid_size, data_k8, & 191 data_0size, data_1size, data_2size, & 192 data_3size, data_4size, data_5size, & 193 data_6size) BIND(C) 194 USE ISO_C_BINDING 124 195 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 125 196 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 … … 130 201 END SUBROUTINE cxios_write_data_k87 131 202 203 SUBROUTINE cxios_write_data_k40_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 204 USE ISO_C_BINDING 205 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 206 REAL (kind = C_FLOAT) :: data_k4 207 INTEGER (kind = C_INT) , VALUE :: data_Xsize 208 END SUBROUTINE cxios_write_data_k40_hdl 209 132 210 SUBROUTINE cxios_write_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 133 211 USE ISO_C_BINDING … … 138 216 END SUBROUTINE cxios_write_data_k40 139 217 218 SUBROUTINE cxios_write_data_k41_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 219 USE ISO_C_BINDING 220 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 221 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 222 INTEGER (kind = C_INT) , VALUE :: data_Xsize 223 END SUBROUTINE cxios_write_data_k41_hdl 224 140 225 SUBROUTINE cxios_write_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 141 226 USE ISO_C_BINDING … … 146 231 END SUBROUTINE cxios_write_data_k41 147 232 233 SUBROUTINE cxios_write_data_k42_hdl(field_hdl, data_k4, data_Xsize, data_Ysize) BIND(C) 234 USE ISO_C_BINDING 235 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 236 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 237 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize 238 END SUBROUTINE cxios_write_data_k42_hdl 239 148 240 SUBROUTINE cxios_write_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) 149 241 USE ISO_C_BINDING … … 154 246 END SUBROUTINE cxios_write_data_k42 155 247 248 SUBROUTINE cxios_write_data_k43_hdl(field_hdl, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 249 USE ISO_C_BINDING 250 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 251 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 252 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 253 END SUBROUTINE cxios_write_data_k43_hdl 254 156 255 SUBROUTINE cxios_write_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 157 256 USE ISO_C_BINDING … … 162 261 END SUBROUTINE cxios_write_data_k43 163 262 263 SUBROUTINE cxios_write_data_k44_hdl(field_hdl, data_k4, & 264 data_0size, data_1size, data_2size, & 265 data_3size) BIND(C) 266 USE ISO_C_BINDING 267 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 268 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 269 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 270 INTEGER (kind = C_INT) , VALUE :: data_3size 271 END SUBROUTINE cxios_write_data_k44_hdl 272 164 273 SUBROUTINE cxios_write_data_k44(fieldid, fieldid_size, data_k4, & 165 274 data_0size, data_1size, data_2size, & … … 173 282 END SUBROUTINE cxios_write_data_k44 174 283 284 SUBROUTINE cxios_write_data_k45_hdl(field_hdl, data_k4, & 285 data_0size, data_1size, data_2size, & 286 data_3size, data_4size) BIND(C) 287 USE ISO_C_BINDING 288 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 289 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 290 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 291 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 292 END SUBROUTINE cxios_write_data_k45_hdl 293 175 294 SUBROUTINE cxios_write_data_k45(fieldid, fieldid_size, data_k4, & 176 295 data_0size, data_1size, data_2size, & … … 184 303 END SUBROUTINE cxios_write_data_k45 185 304 305 SUBROUTINE cxios_write_data_k46_hdl(field_hdl, data_k4, & 306 data_0size, data_1size, data_2size, & 307 data_3size, data_4size, data_5size) BIND(C) 308 USE ISO_C_BINDING 309 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 310 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 311 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 312 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 313 END SUBROUTINE cxios_write_data_k46_hdl 314 186 315 SUBROUTINE cxios_write_data_k46(fieldid, fieldid_size, data_k4, & 187 316 data_0size, data_1size, data_2size, & … … 195 324 END SUBROUTINE cxios_write_data_k46 196 325 197 SUBROUTINE cxios_write_data_k47 (fieldid, fieldid_size, data_k4, &326 SUBROUTINE cxios_write_data_k47_hdl(field_hdl, data_k4, & 198 327 data_0size, data_1size, data_2size, & 199 328 data_3size, data_4size, data_5size, & 200 329 data_6size) BIND(C) 201 330 USE ISO_C_BINDING 331 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 332 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 333 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 334 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 335 INTEGER (kind = C_INT) , VALUE :: data_6size 336 END SUBROUTINE cxios_write_data_k47_hdl 337 338 SUBROUTINE cxios_write_data_k47(fieldid, fieldid_size, data_k4, & 339 data_0size, data_1size, data_2size, & 340 data_3size, data_4size, data_5size, & 341 data_6size) BIND(C) 342 USE ISO_C_BINDING 202 343 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 203 344 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 … … 208 349 END SUBROUTINE cxios_write_data_k47 209 350 351 210 352 ! Read data 353 SUBROUTINE cxios_read_data_k80_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 354 USE ISO_C_BINDING 355 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 356 REAL (kind = C_DOUBLE) :: data_k8 357 INTEGER (kind = C_INT) , VALUE :: data_Xsize 358 END SUBROUTINE cxios_read_data_k80_hdl 359 211 360 SUBROUTINE cxios_read_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 212 361 USE ISO_C_BINDING … … 217 366 END SUBROUTINE cxios_read_data_k80 218 367 368 SUBROUTINE cxios_read_data_k81_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 369 USE ISO_C_BINDING 370 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 371 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 372 INTEGER (kind = C_INT) , VALUE :: data_Xsize 373 END SUBROUTINE cxios_read_data_k81_hdl 374 219 375 SUBROUTINE cxios_read_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 220 376 USE ISO_C_BINDING … … 224 380 INTEGER (kind = C_INT) , VALUE :: data_Xsize 225 381 END SUBROUTINE cxios_read_data_k81 382 383 SUBROUTINE cxios_read_data_k82_hdl(field_hdl, data_k8, data_Xsize, data_Ysize) BIND(C) 384 USE ISO_C_BINDING 385 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 386 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 387 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize 388 END SUBROUTINE cxios_read_data_k82_hdl 226 389 227 390 SUBROUTINE cxios_read_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) … … 233 396 END SUBROUTINE cxios_read_data_k82 234 397 235 SUBROUTINE cxios_read_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 398 SUBROUTINE cxios_read_data_k83_hdl(field_hdl, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 399 USE ISO_C_BINDING 400 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 401 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 402 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 403 END SUBROUTINE cxios_read_data_k83_hdl 404 405 SUBROUTINE cxios_read_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 236 406 USE ISO_C_BINDING 237 407 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid … … 241 411 END SUBROUTINE cxios_read_data_k83 242 412 243 SUBROUTINE cxios_read_data_k84(fieldid, fieldid_size, data_k8, & 413 SUBROUTINE cxios_read_data_k84_hdl(field_hdl, data_k8, & 414 data_0size, data_1size, data_2size, & 415 data_3size) BIND(C) 416 USE ISO_C_BINDING 417 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 418 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 419 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 420 INTEGER (kind = C_INT) , VALUE :: data_3size 421 END SUBROUTINE cxios_read_data_k84_hdl 422 423 SUBROUTINE cxios_read_data_k84(fieldid, fieldid_size, data_k8, & 244 424 data_0size, data_1size, data_2size, & 245 425 data_3size) BIND(C) … … 252 432 END SUBROUTINE cxios_read_data_k84 253 433 434 SUBROUTINE cxios_read_data_k85_hdl(field_hdl, data_k8, & 435 data_0size, data_1size, data_2size, & 436 data_3size, data_4size) BIND(C) 437 USE ISO_C_BINDING 438 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 439 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 440 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 441 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 442 END SUBROUTINE cxios_read_data_k85_hdl 443 254 444 SUBROUTINE cxios_read_data_k85(fieldid, fieldid_size, data_k8, & 255 445 data_0size, data_1size, data_2size, & … … 263 453 END SUBROUTINE cxios_read_data_k85 264 454 455 SUBROUTINE cxios_read_data_k86_hdl(field_hdl, data_k8, & 456 data_0size, data_1size, data_2size, & 457 data_3size, data_4size, data_5size) BIND(C) 458 USE ISO_C_BINDING 459 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 460 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 461 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 462 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 463 END SUBROUTINE cxios_read_data_k86_hdl 464 265 465 SUBROUTINE cxios_read_data_k86(fieldid, fieldid_size, data_k8, & 266 466 data_0size, data_1size, data_2size, & … … 274 474 END SUBROUTINE cxios_read_data_k86 275 475 276 SUBROUTINE cxios_read_data_k87 (fieldid, fieldid_size, data_k8, &476 SUBROUTINE cxios_read_data_k87_hdl(field_hdl, data_k8, & 277 477 data_0size, data_1size, data_2size, & 278 478 data_3size, data_4size, data_5size, & 279 479 data_6size) BIND(C) 280 480 USE ISO_C_BINDING 481 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 482 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 483 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 484 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 485 INTEGER (kind = C_INT) , VALUE :: data_6size 486 END SUBROUTINE cxios_read_data_k87_hdl 487 488 SUBROUTINE cxios_read_data_k87(fieldid, fieldid_size, data_k8, & 489 data_0size, data_1size, data_2size, & 490 data_3size, data_4size, data_5size, & 491 data_6size) BIND(C) 492 USE ISO_C_BINDING 281 493 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 282 494 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 … … 287 499 END SUBROUTINE cxios_read_data_k87 288 500 501 SUBROUTINE cxios_read_data_k40_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 502 USE ISO_C_BINDING 503 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 504 REAL (kind = C_FLOAT) :: data_k4 505 INTEGER (kind = C_INT) , VALUE :: data_Xsize 506 END SUBROUTINE cxios_read_data_k40_hdl 507 289 508 SUBROUTINE cxios_read_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 290 509 USE ISO_C_BINDING … … 295 514 END SUBROUTINE cxios_read_data_k40 296 515 516 SUBROUTINE cxios_read_data_k41_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 517 USE ISO_C_BINDING 518 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 519 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 520 INTEGER (kind = C_INT) , VALUE :: data_Xsize 521 END SUBROUTINE cxios_read_data_k41_hdl 522 297 523 SUBROUTINE cxios_read_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 298 524 USE ISO_C_BINDING … … 302 528 INTEGER (kind = C_INT) , VALUE :: data_Xsize 303 529 END SUBROUTINE cxios_read_data_k41 530 531 SUBROUTINE cxios_read_data_k42_hdl(field_hdl, data_k4, data_Xsize, data_Ysize) BIND(C) 532 USE ISO_C_BINDING 533 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 534 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 535 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize 536 END SUBROUTINE cxios_read_data_k42_hdl 304 537 305 538 SUBROUTINE cxios_read_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) … … 311 544 END SUBROUTINE cxios_read_data_k42 312 545 546 SUBROUTINE cxios_read_data_k43_hdl(field_hdl, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 547 USE ISO_C_BINDING 548 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 549 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 550 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 551 END SUBROUTINE cxios_read_data_k43_hdl 552 313 553 SUBROUTINE cxios_read_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 314 554 USE ISO_C_BINDING … … 319 559 END SUBROUTINE cxios_read_data_k43 320 560 561 SUBROUTINE cxios_read_data_k44_hdl(field_hdl, data_k4, & 562 data_0size, data_1size, data_2size, & 563 data_3size) BIND(C) 564 USE ISO_C_BINDING 565 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 566 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 567 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 568 INTEGER (kind = C_INT) , VALUE :: data_3size 569 END SUBROUTINE cxios_read_data_k44_hdl 570 321 571 SUBROUTINE cxios_read_data_k44(fieldid, fieldid_size, data_k4, & 322 572 data_0size, data_1size, data_2size, & … … 330 580 END SUBROUTINE cxios_read_data_k44 331 581 582 SUBROUTINE cxios_read_data_k45_hdl(field_hdl, data_k4, & 583 data_0size, data_1size, data_2size, & 584 data_3size, data_4size) BIND(C) 585 USE ISO_C_BINDING 586 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 587 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 588 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 589 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size 590 END SUBROUTINE cxios_read_data_k45_hdl 591 332 592 SUBROUTINE cxios_read_data_k45(fieldid, fieldid_size, data_k4, & 333 593 data_0size, data_1size, data_2size, & … … 341 601 END SUBROUTINE cxios_read_data_k45 342 602 603 SUBROUTINE cxios_read_data_k46_hdl(field_hdl, data_k4, & 604 data_0size, data_1size, data_2size, & 605 data_3size, data_4size, data_5size) BIND(C) 606 USE ISO_C_BINDING 607 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 608 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 609 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 610 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 611 END SUBROUTINE cxios_read_data_k46_hdl 612 343 613 SUBROUTINE cxios_read_data_k46(fieldid, fieldid_size, data_k4, & 344 614 data_0size, data_1size, data_2size, & … … 351 621 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 352 622 END SUBROUTINE cxios_read_data_k46 623 624 SUBROUTINE cxios_read_data_k47_hdl(field_hdl, data_k4, & 625 data_0size, data_1size, data_2size, & 626 data_3size, data_4size, data_5size, & 627 data_6size) BIND(C) 628 USE ISO_C_BINDING 629 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 630 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 631 INTEGER (kind = C_INT) , VALUE :: data_0size, data_1size, data_2size 632 INTEGER (kind = C_INT) , VALUE :: data_3size, data_4size, data_5size 633 INTEGER (kind = C_INT) , VALUE :: data_6size 634 END SUBROUTINE cxios_read_data_k47_hdl 353 635 354 636 SUBROUTINE cxios_read_data_k47(fieldid, fieldid_size, data_k4, & … … 436 718 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: vardid 437 719 INTEGER (kind = C_INT) , VALUE :: varid_size 438 LOGICAL (kind = C_BOOL) , VALUE:: data_logic720 LOGICAL (kind = C_BOOL) , VALUE :: data_logic 439 721 LOGICAL (kind = C_BOOL) :: is_var_existed 440 722 END SUBROUTINE cxios_set_variable_data_logic … … 534 816 535 817 ! Send field functions 818 SUBROUTINE xios(send_field_r8_0d_hdl)(field_hdl, data_k8) 819 IMPLICIT NONE 820 TYPE(txios(field)) :: field_hdl 821 REAL (kind = 8), INTENT(IN) :: data_k8 822 CALL cxios_write_data_k80_hdl(field_hdl%daddr, data_k8, 1) 823 END SUBROUTINE xios(send_field_r8_0d_hdl) 824 536 825 SUBROUTINE xios(send_field_r8_0d)(fieldid, data_k8) 537 826 IMPLICIT NONE … … 541 830 END SUBROUTINE xios(send_field_r8_0d) 542 831 832 SUBROUTINE xios(send_field_r8_1d_hdl)(field_hdl, data1d_k8) 833 IMPLICIT NONE 834 TYPE(txios(field)) :: field_hdl 835 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:) 836 CALL cxios_write_data_k81_hdl(field_hdl%daddr, data1d_k8, size(data1d_k8, 1)) 837 END SUBROUTINE xios(send_field_r8_1d_hdl) 838 543 839 SUBROUTINE xios(send_field_r8_1d)(fieldid, data1d_k8) 544 840 IMPLICIT NONE … … 548 844 END SUBROUTINE xios(send_field_r8_1d) 549 845 846 SUBROUTINE xios(send_field_r8_2d_hdl)(field_hdl, data2d_k8) 847 IMPLICIT NONE 848 TYPE(txios(field)) :: field_hdl 849 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:) 850 CALL cxios_write_data_k82_hdl(field_hdl%daddr, data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2)) 851 END SUBROUTINE xios(send_field_r8_2d_hdl) 852 550 853 SUBROUTINE xios(send_field_r8_2d)(fieldid, data2d_k8) 551 854 IMPLICIT NONE … … 555 858 END SUBROUTINE xios(send_field_r8_2d) 556 859 860 SUBROUTINE xios(send_field_r8_3d_hdl)(field_hdl, data3d_k8) 861 IMPLICIT NONE 862 TYPE(txios(field)) :: field_hdl 863 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:) 864 CALL cxios_write_data_k83_hdl(field_hdl%daddr, data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 865 END SUBROUTINE xios(send_field_r8_3d_hdl) 866 557 867 SUBROUTINE xios(send_field_r8_3d)(fieldid, data3d_k8) 558 868 IMPLICIT NONE … … 561 871 CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 562 872 END SUBROUTINE xios(send_field_r8_3d) 873 874 SUBROUTINE xios(send_field_r8_4d_hdl)(field_hdl, data4d_k8) 875 IMPLICIT NONE 876 TYPE(txios(field)) :: field_hdl 877 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:) 878 CALL cxios_write_data_k84_hdl(field_hdl%daddr, data4d_k8, & 879 size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 880 size(data4d_k8, 4)) 881 END SUBROUTINE xios(send_field_r8_4d_hdl) 563 882 564 883 SUBROUTINE xios(send_field_r8_4d)(fieldid, data4d_k8) … … 571 890 END SUBROUTINE xios(send_field_r8_4d) 572 891 892 SUBROUTINE xios(send_field_r8_5d_hdl)(field_hdl, data5d_k8) 893 IMPLICIT NONE 894 TYPE(txios(field)) :: field_hdl 895 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:) 896 CALL cxios_write_data_k85_hdl(field_hdl%daddr, data5d_k8, & 897 size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 898 size(data5d_k8, 4), size(data5d_k8, 5)) 899 END SUBROUTINE xios(send_field_r8_5d_hdl) 900 573 901 SUBROUTINE xios(send_field_r8_5d)(fieldid, data5d_k8) 574 902 IMPLICIT NONE … … 580 908 END SUBROUTINE xios(send_field_r8_5d) 581 909 910 SUBROUTINE xios(send_field_r8_6d_hdl)(field_hdl, data6d_k8) 911 IMPLICIT NONE 912 TYPE(txios(field)) :: field_hdl 913 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:) 914 CALL cxios_write_data_k86_hdl(field_hdl%daddr, data6d_k8, & 915 size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 916 size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 917 END SUBROUTINE xios(send_field_r8_6d_hdl) 918 582 919 SUBROUTINE xios(send_field_r8_6d)(fieldid, data6d_k8) 583 920 IMPLICIT NONE … … 588 925 size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 589 926 END SUBROUTINE xios(send_field_r8_6d) 927 928 SUBROUTINE xios(send_field_r8_7d_hdl)(field_hdl, data7d_k8) 929 IMPLICIT NONE 930 TYPE(txios(field)) :: field_hdl 931 REAL (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:) 932 CALL cxios_write_data_k87_hdl(field_hdl%daddr, data7d_k8, & 933 size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 934 size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 935 size(data7d_k8, 7)) 936 END SUBROUTINE xios(send_field_r8_7d_hdl) 590 937 591 938 SUBROUTINE xios(send_field_r8_7d)(fieldid, data7d_k8) … … 599 946 END SUBROUTINE xios(send_field_r8_7d) 600 947 948 SUBROUTINE xios(send_field_r4_0d_hdl)(field_hdl, data_k4) 949 IMPLICIT NONE 950 TYPE(txios(field)) :: field_hdl 951 REAL (kind = 4), INTENT(IN) :: data_k4 952 CALL cxios_write_data_k40_hdl(field_hdl%daddr, data_k4, 1) 953 END SUBROUTINE xios(send_field_r4_0d_hdl) 954 601 955 SUBROUTINE xios(send_field_r4_0d)(fieldid, data_k4) 602 956 IMPLICIT NONE … … 606 960 END SUBROUTINE xios(send_field_r4_0d) 607 961 962 SUBROUTINE xios(send_field_r4_1d_hdl)(field_hdl, data1d_k4) 963 IMPLICIT NONE 964 TYPE(txios(field)) :: field_hdl 965 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data1d_k4(:) 966 CALL cxios_write_data_k41_hdl(field_hdl%daddr, data1d_k4, size(data1d_k4, 1)) 967 END SUBROUTINE xios(send_field_r4_1d_hdl) 968 608 969 SUBROUTINE xios(send_field_r4_1d)(fieldid, data1d_k4) 609 970 IMPLICIT NONE … … 613 974 END SUBROUTINE xios(send_field_r4_1d) 614 975 976 SUBROUTINE xios(send_field_r4_2d_hdl)(field_hdl, data2d_k4) 977 IMPLICIT NONE 978 TYPE(txios(field)) :: field_hdl 979 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data2d_k4(:,:) 980 CALL cxios_write_data_k42_hdl(field_hdl%daddr, data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2)) 981 END SUBROUTINE xios(send_field_r4_2d_hdl) 982 615 983 SUBROUTINE xios(send_field_r4_2d)(fieldid, data2d_k4) 616 984 IMPLICIT NONE … … 620 988 END SUBROUTINE xios(send_field_r4_2d) 621 989 990 SUBROUTINE xios(send_field_r4_3d_hdl)(field_hdl, data3d_k4) 991 IMPLICIT NONE 992 TYPE(txios(field)) :: field_hdl 993 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data3d_k4(:,:,:) 994 CALL cxios_write_data_k43_hdl(field_hdl%daddr, data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 995 END SUBROUTINE xios(send_field_r4_3d_hdl) 996 622 997 SUBROUTINE xios(send_field_r4_3d)(fieldid, data3d_k4) 623 998 IMPLICIT NONE … … 627 1002 END SUBROUTINE xios(send_field_r4_3d) 628 1003 1004 SUBROUTINE xios(send_field_r4_4d_hdl)(field_hdl, data4d_k4) 1005 IMPLICIT NONE 1006 TYPE(txios(field)) :: field_hdl 1007 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:) 1008 CALL cxios_write_data_k44_hdl(field_hdl%daddr, data4d_k4, & 1009 size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 1010 size(data4d_k4, 4)) 1011 END SUBROUTINE xios(send_field_r4_4d_hdl) 1012 629 1013 SUBROUTINE xios(send_field_r4_4d)(fieldid, data4d_k4) 630 1014 IMPLICIT NONE … … 636 1020 END SUBROUTINE xios(send_field_r4_4d) 637 1021 1022 SUBROUTINE xios(send_field_r4_5d_hdl)(field_hdl, data5d_k4) 1023 IMPLICIT NONE 1024 TYPE(txios(field)) :: field_hdl 1025 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:) 1026 CALL cxios_write_data_k45_hdl(field_hdl%daddr, data5d_k4, & 1027 size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 1028 size(data5d_k4, 4), size(data5d_k4, 5)) 1029 END SUBROUTINE xios(send_field_r4_5d_hdl) 1030 638 1031 SUBROUTINE xios(send_field_r4_5d)(fieldid, data5d_k4) 639 1032 IMPLICIT NONE … … 645 1038 END SUBROUTINE xios(send_field_r4_5d) 646 1039 1040 SUBROUTINE xios(send_field_r4_6d_hdl)(field_hdl, data6d_k4) 1041 IMPLICIT NONE 1042 TYPE(txios(field)) :: field_hdl 1043 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:) 1044 CALL cxios_write_data_k46_hdl(field_hdl%daddr, data6d_k4, & 1045 size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 1046 size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 1047 END SUBROUTINE xios(send_field_r4_6d_hdl) 1048 647 1049 SUBROUTINE xios(send_field_r4_6d)(fieldid, data6d_k4) 648 1050 IMPLICIT NONE … … 654 1056 END SUBROUTINE xios(send_field_r4_6d) 655 1057 1058 SUBROUTINE xios(send_field_r4_7d_hdl)(field_hdl, data7d_k4) 1059 IMPLICIT NONE 1060 TYPE(txios(field)) :: field_hdl 1061 REAL (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:) 1062 CALL cxios_write_data_k47_hdl(field_hdl%daddr, data7d_k4, & 1063 size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 1064 size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 1065 size(data7d_k4, 7)) 1066 END SUBROUTINE xios(send_field_r4_7d_hdl) 1067 656 1068 SUBROUTINE xios(send_field_r4_7d)(fieldid, data7d_k4) 657 1069 IMPLICIT NONE … … 665 1077 666 1078 ! Receive field functions 1079 SUBROUTINE xios(recv_field_r8_0d_hdl)(field_hdl, data0d_k8) 1080 IMPLICIT NONE 1081 TYPE(txios(field)) :: field_hdl 1082 REAL (kind = 8) , INTENT(OUT):: data0d_k8 1083 CALL cxios_read_data_k80_hdl(field_hdl%daddr, data0d_k8, 1) 1084 END SUBROUTINE xios(recv_field_r8_0d_hdl) 1085 667 1086 SUBROUTINE xios(recv_field_r8_0d)(fieldid, data0d_k8) 668 1087 IMPLICIT NONE … … 672 1091 END SUBROUTINE xios(recv_field_r8_0d) 673 1092 1093 SUBROUTINE xios(recv_field_r8_1d_hdl)(field_hdl, data1d_k8) 1094 IMPLICIT NONE 1095 TYPE(txios(field)) :: field_hdl 1096 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data1d_k8(:) 1097 CALL cxios_read_data_k81_hdl(field_hdl%daddr, data1d_k8, size(data1d_k8, 1)) 1098 END SUBROUTINE xios(recv_field_r8_1d_hdl) 1099 674 1100 SUBROUTINE xios(recv_field_r8_1d)(fieldid, data1d_k8) 675 1101 IMPLICIT NONE … … 679 1105 END SUBROUTINE xios(recv_field_r8_1d) 680 1106 1107 SUBROUTINE xios(recv_field_r8_2d_hdl)(field_hdl, data2d_k8) 1108 IMPLICIT NONE 1109 TYPE(txios(field)) :: field_hdl 1110 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data2d_k8(:,:) 1111 CALL cxios_read_data_k82_hdl(field_hdl%daddr, data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2)) 1112 END SUBROUTINE xios(recv_field_r8_2d_hdl) 1113 681 1114 SUBROUTINE xios(recv_field_r8_2d)(fieldid, data2d_k8) 682 1115 IMPLICIT NONE … … 686 1119 END SUBROUTINE xios(recv_field_r8_2d) 687 1120 1121 SUBROUTINE xios(recv_field_r8_3d_hdl)(field_hdl, data3d_k8) 1122 IMPLICIT NONE 1123 TYPE(txios(field)) :: field_hdl 1124 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data3d_k8(:,:,:) 1125 CALL cxios_read_data_k83_hdl(field_hdl%daddr, data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 1126 END SUBROUTINE xios(recv_field_r8_3d_hdl) 1127 688 1128 SUBROUTINE xios(recv_field_r8_3d)(fieldid, data3d_k8) 689 1129 IMPLICIT NONE … … 692 1132 CALL cxios_read_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 693 1133 END SUBROUTINE xios(recv_field_r8_3d) 1134 1135 SUBROUTINE xios(recv_field_r8_4d_hdl)(field_hdl, data4d_k8) 1136 IMPLICIT NONE 1137 TYPE(txios(field)) :: field_hdl 1138 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data4d_k8(:,:,:,:) 1139 CALL cxios_read_data_k84_hdl(field_hdl%daddr, data4d_k8, & 1140 size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 1141 size(data4d_k8, 4)) 1142 END SUBROUTINE xios(recv_field_r8_4d_hdl) 694 1143 695 1144 SUBROUTINE xios(recv_field_r8_4d)(fieldid, data4d_k8) … … 702 1151 END SUBROUTINE xios(recv_field_r8_4d) 703 1152 1153 SUBROUTINE xios(recv_field_r8_5d_hdl)(field_hdl, data5d_k8) 1154 IMPLICIT NONE 1155 TYPE(txios(field)) :: field_hdl 1156 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data5d_k8(:,:,:,:,:) 1157 CALL cxios_read_data_k85_hdl(field_hdl%daddr, data5d_k8, & 1158 size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 1159 size(data5d_k8, 4), size(data5d_k8, 5)) 1160 END SUBROUTINE xios(recv_field_r8_5d_hdl) 1161 704 1162 SUBROUTINE xios(recv_field_r8_5d)(fieldid, data5d_k8) 705 1163 IMPLICIT NONE … … 711 1169 END SUBROUTINE xios(recv_field_r8_5d) 712 1170 1171 SUBROUTINE xios(recv_field_r8_6d_hdl)(field_hdl, data6d_k8) 1172 IMPLICIT NONE 1173 TYPE(txios(field)) :: field_hdl 1174 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data6d_k8(:,:,:,:,:,:) 1175 CALL cxios_read_data_k86_hdl(field_hdl%daddr, data6d_k8, & 1176 size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 1177 size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 1178 END SUBROUTINE xios(recv_field_r8_6d_hdl) 1179 713 1180 SUBROUTINE xios(recv_field_r8_6d)(fieldid, data6d_k8) 714 1181 IMPLICIT NONE … … 720 1187 END SUBROUTINE xios(recv_field_r8_6d) 721 1188 722 SUBROUTINE xios(recv_field_r8_7d)(fieldid, data7d_k8) 1189 SUBROUTINE xios(recv_field_r8_7d_hdl)(field_hdl, data7d_k8) 1190 IMPLICIT NONE 1191 TYPE(txios(field)) :: field_hdl 1192 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data7d_k8(:,:,:,:,:,:,:) 1193 CALL cxios_read_data_k87_hdl(field_hdl%daddr, data7d_k8, & 1194 size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 1195 size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 1196 size(data7d_k8, 7)) 1197 END SUBROUTINE xios(recv_field_r8_7d_hdl) 1198 1199 SUBROUTINE xios(recv_field_r8_7d)(fieldid, data7d_k8) 723 1200 IMPLICIT NONE 724 1201 CHARACTER(len = *) , INTENT(IN) :: fieldid … … 730 1207 END SUBROUTINE xios(recv_field_r8_7d) 731 1208 1209 SUBROUTINE xios(recv_field_r4_0d_hdl)(field_hdl, data0d_k4) 1210 IMPLICIT NONE 1211 TYPE(txios(field)) :: field_hdl 1212 REAL (kind = 4) , INTENT(OUT):: data0d_k4 1213 CALL cxios_read_data_k40_hdl(field_hdl%daddr, data0d_k4, 1) 1214 END SUBROUTINE xios(recv_field_r4_0d_hdl) 1215 732 1216 SUBROUTINE xios(recv_field_r4_0d)(fieldid, data0d_k4) 733 1217 IMPLICIT NONE … … 737 1221 END SUBROUTINE xios(recv_field_r4_0d) 738 1222 1223 SUBROUTINE xios(recv_field_r4_1d_hdl)(field_hdl, data1d_k4) 1224 IMPLICIT NONE 1225 TYPE(txios(field)) :: field_hdl 1226 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data1d_k4(:) 1227 CALL cxios_read_data_k41_hdl(field_hdl%daddr, data1d_k4, size(data1d_k4, 1)) 1228 END SUBROUTINE xios(recv_field_r4_1d_hdl) 1229 739 1230 SUBROUTINE xios(recv_field_r4_1d)(fieldid, data1d_k4) 740 1231 IMPLICIT NONE … … 744 1235 END SUBROUTINE xios(recv_field_r4_1d) 745 1236 1237 SUBROUTINE xios(recv_field_r4_2d_hdl)(field_hdl, data2d_k4) 1238 IMPLICIT NONE 1239 TYPE(txios(field)) :: field_hdl 1240 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data2d_k4(:,:) 1241 CALL cxios_read_data_k42_hdl(field_hdl%daddr, data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2)) 1242 END SUBROUTINE xios(recv_field_r4_2d_hdl) 1243 746 1244 SUBROUTINE xios(recv_field_r4_2d)(fieldid, data2d_k4) 747 1245 IMPLICIT NONE … … 751 1249 END SUBROUTINE xios(recv_field_r4_2d) 752 1250 1251 SUBROUTINE xios(recv_field_r4_3d_hdl)(field_hdl, data3d_k4) 1252 IMPLICIT NONE 1253 TYPE(txios(field)) :: field_hdl 1254 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data3d_k4(:,:,:) 1255 CALL cxios_read_data_k43_hdl(field_hdl%daddr, data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 1256 END SUBROUTINE xios(recv_field_r4_3d_hdl) 1257 753 1258 SUBROUTINE xios(recv_field_r4_3d)(fieldid, data3d_k4) 754 1259 IMPLICIT NONE … … 757 1262 CALL cxios_read_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 758 1263 END SUBROUTINE xios(recv_field_r4_3d) 1264 1265 SUBROUTINE xios(recv_field_r4_4d_hdl)(field_hdl, data4d_k4) 1266 IMPLICIT NONE 1267 TYPE(txios(field)) :: field_hdl 1268 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data4d_k4(:,:,:,:) 1269 CALL cxios_read_data_k44_hdl(field_hdl%daddr, data4d_k4, & 1270 size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 1271 size(data4d_k4, 4)) 1272 END SUBROUTINE xios(recv_field_r4_4d_hdl) 759 1273 760 1274 SUBROUTINE xios(recv_field_r4_4d)(fieldid, data4d_k4) … … 767 1281 END SUBROUTINE xios(recv_field_r4_4d) 768 1282 1283 SUBROUTINE xios(recv_field_r4_5d_hdl)(field_hdl, data5d_k4) 1284 IMPLICIT NONE 1285 TYPE(txios(field)) :: field_hdl 1286 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data5d_k4(:,:,:,:,:) 1287 CALL cxios_read_data_k45_hdl(field_hdl%daddr, data5d_k4, & 1288 size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 1289 size(data5d_k4, 4), size(data5d_k4, 5)) 1290 END SUBROUTINE xios(recv_field_r4_5d_hdl) 1291 769 1292 SUBROUTINE xios(recv_field_r4_5d)(fieldid, data5d_k4) 770 1293 IMPLICIT NONE … … 776 1299 END SUBROUTINE xios(recv_field_r4_5d) 777 1300 1301 SUBROUTINE xios(recv_field_r4_6d_hdl)(field_hdl, data6d_k4) 1302 IMPLICIT NONE 1303 TYPE(txios(field)) :: field_hdl 1304 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data6d_k4(:,:,:,:,:,:) 1305 CALL cxios_read_data_k46_hdl(field_hdl%daddr, data6d_k4, & 1306 size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 1307 size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 1308 END SUBROUTINE xios(recv_field_r4_6d_hdl) 1309 778 1310 SUBROUTINE xios(recv_field_r4_6d)(fieldid, data6d_k4) 779 1311 IMPLICIT NONE … … 784 1316 size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 785 1317 END SUBROUTINE xios(recv_field_r4_6d) 1318 1319 SUBROUTINE xios(recv_field_r4_7d_hdl)(field_hdl, data7d_k4) 1320 IMPLICIT NONE 1321 TYPE(txios(field)) :: field_hdl 1322 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data7d_k4(:,:,:,:,:,:,:) 1323 CALL cxios_read_data_k47_hdl(field_hdl%daddr, data7d_k4, & 1324 size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 1325 size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 1326 size(data7d_k4, 7)) 1327 END SUBROUTINE xios(recv_field_r4_7d_hdl) 786 1328 787 1329 SUBROUTINE xios(recv_field_r4_7d)(fieldid, data7d_k4) … … 837 1379 LOGICAL (kind = C_BOOL) :: val 838 1380 CHARACTER(len = *) , INTENT(IN) :: varId 839 LOGICAL , INTENT(OUT):: data_logic1381 LOGICAL ,INTENT(OUT) :: data_logic 840 1382 LOGICAL (C_BOOL) :: data_tmp 841 1383 … … 885 1427 USE ISO_C_BINDING 886 1428 IMPLICIT NONE 887 LOGICAL (kind = C_BOOL) :: val1429 LOGICAL (kind = C_BOOL) :: val 888 1430 CHARACTER(len = *) , INTENT(IN) :: varId 889 1431 INTEGER , INTENT(IN) :: data_int … … 897 1439 USE ISO_C_BINDING 898 1440 IMPLICIT NONE 899 LOGICAL (kind = C_BOOL):: val1441 LOGICAL(kind = C_BOOL) :: val 900 1442 CHARACTER(len = *) , INTENT(IN) :: varId 901 LOGICAL (kind = 4), INTENT(IN) :: data_logic1443 LOGICAL , INTENT(IN) :: data_logic 902 1444 LOGICAL (kind = C_BOOL) :: data_tmp 903 1445 … … 906 1448 907 1449 xios(setVar_logic) = val 908 909 1450 END FUNCTION xios(setVar_logic) 910 1451 -
XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran/ixios_interfaces.F90
r981 r2121 11 11 xios(send_field_r4_0d), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 12 12 xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d), & 13 xios(send_field_r8_0d_hdl), xios(send_field_r8_1d_hdl), xios(send_field_r8_2d_hdl), xios(send_field_r8_3d_hdl), & 14 xios(send_field_r8_4d_hdl), xios(send_field_r8_5d_hdl), xios(send_field_r8_6d_hdl), xios(send_field_r8_7d_hdl), & 15 xios(send_field_r4_0d_hdl), xios(send_field_r4_1d_hdl), xios(send_field_r4_2d_hdl), xios(send_field_r4_3d_hdl), & 16 xios(send_field_r4_4d_hdl), xios(send_field_r4_5d_hdl), xios(send_field_r4_6d_hdl), xios(send_field_r4_7d_hdl), & 13 17 xios(recv_field_r8_0d), xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 14 18 xios(recv_field_r8_4d), xios(recv_field_r8_5d), xios(recv_field_r8_6d), xios(recv_field_r8_7d), & 15 19 xios(recv_field_r4_0d), xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d), & 16 20 xios(recv_field_r4_4d), xios(recv_field_r4_5d), xios(recv_field_r4_6d), xios(recv_field_r4_7d), & 21 xios(recv_field_r8_0d_hdl), xios(recv_field_r8_1d_hdl), xios(recv_field_r8_2d_hdl), xios(recv_field_r8_3d_hdl), & 22 xios(recv_field_r8_4d_hdl), xios(recv_field_r8_5d_hdl), xios(recv_field_r8_6d_hdl), xios(recv_field_r8_7d_hdl), & 23 xios(recv_field_r4_0d_hdl), xios(recv_field_r4_1d_hdl), xios(recv_field_r4_2d_hdl), xios(recv_field_r4_3d_hdl), & 24 xios(recv_field_r4_4d_hdl), xios(recv_field_r4_5d_hdl), xios(recv_field_r4_6d_hdl), xios(recv_field_r4_7d_hdl), & 17 25 xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char), & 18 26 xios(setVar_k8), xios(setVar_k4), xios(setVar_int), xios(setVar_logic), xios(setVar_char) … … 239 247 xios(send_field_r8_4d), xios(send_field_r8_5d), xios(send_field_r8_6d), xios(send_field_r8_7d), & 240 248 xios(send_field_r4_0d), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 241 xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d) 249 xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d), & 250 xios(send_field_r8_0d_hdl), xios(send_field_r8_1d_hdl), xios(send_field_r8_2d_hdl), xios(send_field_r8_3d_hdl), & 251 xios(send_field_r8_4d_hdl), xios(send_field_r8_5d_hdl), xios(send_field_r8_6d_hdl), xios(send_field_r8_7d_hdl), & 252 xios(send_field_r4_0d_hdl), xios(send_field_r4_1d_hdl), xios(send_field_r4_2d_hdl), xios(send_field_r4_3d_hdl), & 253 xios(send_field_r4_4d_hdl), xios(send_field_r4_5d_hdl), xios(send_field_r4_6d_hdl), xios(send_field_r4_7d_hdl) 242 254 END INTERFACE xios(send_field) 243 255 … … 246 258 xios(recv_field_r8_4d), xios(recv_field_r8_5d), xios(recv_field_r8_6d), xios(recv_field_r8_7d), & 247 259 xios(recv_field_r4_0d), xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d), & 248 xios(recv_field_r4_4d), xios(recv_field_r4_5d), xios(recv_field_r4_6d), xios(recv_field_r4_7d) 260 xios(recv_field_r4_4d), xios(recv_field_r4_5d), xios(recv_field_r4_6d), xios(recv_field_r4_7d), & 261 xios(recv_field_r8_0d_hdl), xios(recv_field_r8_1d_hdl), xios(recv_field_r8_2d_hdl), xios(recv_field_r8_3d_hdl), & 262 xios(recv_field_r8_4d_hdl), xios(recv_field_r8_5d_hdl), xios(recv_field_r8_6d_hdl), xios(recv_field_r8_7d_hdl), & 263 xios(recv_field_r4_0d_hdl), xios(recv_field_r4_1d_hdl), xios(recv_field_r4_2d_hdl), xios(recv_field_r4_3d_hdl), & 264 xios(recv_field_r4_4d_hdl), xios(recv_field_r4_5d_hdl), xios(recv_field_r4_6d_hdl), xios(recv_field_r4_7d_hdl) 249 265 END INTERFACE xios(recv_field) 250 266
Note: See TracChangeset
for help on using the changeset viewer.