Changeset 1642 for XIOS/dev/branch_openmp/src/interface/c/icdata.cpp
- Timestamp:
- 01/23/19 10:31:44 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/src/interface/c/icdata.cpp
r1545 r1642 9 9 #include <iostream> 10 10 11 #include "mpi_std.hpp" 11 12 12 #include "xios.hpp" 13 //#include "oasis_cinterface.hpp"13 #include "oasis_cinterface.hpp" 14 14 15 15 #include "attribute_template.hpp" … … 23 23 #include "context.hpp" 24 24 #include "context_client.hpp" 25 25 #include "mpi.hpp" 26 26 #include "timer.hpp" 27 27 #include "array_new.hpp" … … 43 43 // it is only used from the parse_xml.exe standalone test tool. 44 44 void cxios_init(void) 45 TRY 45 46 { 46 47 CXios::initialize(); 47 48 } 49 CATCH_DUMP_STACK 48 50 49 51 void cxios_init_server(void) 52 TRY 50 53 { 51 54 CXios::initServerSide(); 52 55 } 56 CATCH_DUMP_STACK 53 57 54 58 void cxios_init_client(const char* client_id , int len_client_id, MPI_Fint* f_local_comm, MPI_Fint* f_return_comm ) 59 TRY 55 60 { 56 61 std::string str; … … 61 66 62 67 int initialized; 63 MPI_Initialized(&initialized);68 ep_lib::MPI_Initialized(&initialized); 64 69 #ifdef _usingMPI 65 70 if (initialized) local_comm=MPI_Comm_f2c(*f_local_comm); 66 71 else local_comm=MPI_COMM_NULL; 67 72 #elif _usingEP 68 ep_lib::fc_comm_map.clear(); 69 if (initialized) local_comm=ep_lib::EP_Comm_f2c((f_local_comm)); 70 else local_comm=MPI_COMM_NULL; 73 if (initialized) local_comm=EP_Comm_f2c(f_local_comm); 74 else local_comm=EP_COMM_NULL; 71 75 #endif 72 73 74 75 76 CXios::initClientSide(str, local_comm, return_comm); 76 77 #ifdef _usingMPI 77 78 *f_return_comm=MPI_Comm_c2f(return_comm); 78 79 #elif _usingEP 79 *f_return_comm=*static_cast<MPI_Fint* >(ep_lib::EP_Comm_c2f(return_comm));80 *f_return_comm=*static_cast<MPI_Fint* >(EP_Comm_c2f(return_comm)); 80 81 #endif 81 82 CTimer::get("XIOS init").suspend(); 82 83 CTimer::get("XIOS").suspend(); 83 84 } 85 CATCH_DUMP_STACK 84 86 85 87 void cxios_context_initialize(const char* context_id , int len_context_id, MPI_Fint* f_comm) 88 TRY 86 89 { 87 90 std::string str; … … 94 97 comm=MPI_Comm_f2c(*f_comm); 95 98 #elif _usingEP 96 comm = ep_lib::EP_Comm_f2c(f_comm);99 comm=EP_Comm_f2c(f_comm); 97 100 #endif 98 101 CClient::registerContext(str, comm); … … 100 103 CTimer::get("XIOS").suspend(); 101 104 } 105 CATCH_DUMP_STACK 106 107 void cxios_oasis_enddef() 108 TRY 109 { 110 CTimer::get("XIOS").resume(); 111 CClient::callOasisEnddef(); 112 CTimer::get("XIOS").suspend(); 113 } 114 CATCH_DUMP_STACK 102 115 103 116 void cxios_context_is_initialized(const char* context_id , int len_context_id, bool* initialized) 117 TRY 104 118 { 105 119 std::string str; … … 111 125 CTimer::get("XIOS").suspend(); 112 126 } 113 114 void cxios_context_close_definition() 127 CATCH_DUMP_STACK 128 129 void cxios_context_close_definition() 130 TRY 115 131 { 116 132 CTimer::get("XIOS").resume(); … … 121 137 CTimer::get("XIOS").suspend(); 122 138 } 139 CATCH_DUMP_STACK 123 140 124 141 void cxios_context_finalize() 142 TRY 125 143 { 126 144 CTimer::get("XIOS").resume(); … … 131 149 CTimer::get("XIOS").suspend(); 132 150 } 151 CATCH_DUMP_STACK 133 152 134 153 void cxios_finalize() 154 TRY 135 155 { 136 156 CTimer::get("XIOS").resume(); … … 138 158 CXios::clientFinalize(); 139 159 } 160 CATCH_DUMP_STACK 140 161 141 162 void cxios_solve_inheritance() 163 TRY 142 164 { 143 165 CTimer::get("XIOS").resume(); … … 146 168 CTimer::get("XIOS").suspend(); 147 169 } 170 CATCH_DUMP_STACK 148 171 149 172 /*! \brief This group of functions retrieve variable information from the configuration file (.xml) … … 158 181 */ 159 182 void cxios_get_variable_data_k8(const char* varId, int varIdSize, double* data, bool* isVarExisted) 183 TRY 160 184 { 161 185 std::string varIdStr; … … 176 200 CTimer::get("XIOS").suspend(); 177 201 } 202 CATCH_DUMP_STACK 178 203 179 204 void cxios_get_variable_data_k4(const char* varId, int varIdSize, float* data, bool* isVarExisted) 205 TRY 180 206 { 181 207 std::string varIdStr; … … 196 222 CTimer::get("XIOS").suspend(); 197 223 } 224 CATCH_DUMP_STACK 198 225 199 226 void cxios_get_variable_data_int(const char* varId, int varIdSize, int* data, bool* isVarExisted) 227 TRY 200 228 { 201 229 std::string varIdStr; … … 216 244 CTimer::get("XIOS").suspend(); 217 245 } 246 CATCH_DUMP_STACK 218 247 219 248 void cxios_get_variable_data_logic(const char* varId, int varIdSize, bool* data, bool* isVarExisted) 249 TRY 220 250 { 221 251 std::string varIdStr; … … 236 266 CTimer::get("XIOS").suspend(); 237 267 } 268 CATCH_DUMP_STACK 238 269 239 270 void cxios_get_variable_data_char(const char* varId, int varIdSize, char* data, int dataSizeIn, bool* isVarExisted) 271 TRY 240 272 { 241 273 std::string varIdStr; … … 257 289 CTimer::get("XIOS").suspend(); 258 290 } 291 CATCH_DUMP_STACK 259 292 260 293 /*! \brief This group of functions write information into existing variable in the configuration file (.xml) … … 269 302 */ 270 303 void cxios_set_variable_data_k8(const char* varId, int varIdSize, double data, bool* isVarExisted) 271 { 304 TRY 305 { 272 306 std::string varIdStr; 273 307 if (!cstr2string(varId, varIdSize, varIdStr)) return; … … 288 322 CTimer::get("XIOS").suspend(); 289 323 } 324 CATCH_DUMP_STACK 290 325 291 326 void cxios_set_variable_data_k4(const char* varId, int varIdSize, float data, bool* isVarExisted) 327 TRY 292 328 { 293 329 std::string varIdStr; … … 309 345 CTimer::get("XIOS").suspend(); 310 346 } 347 CATCH_DUMP_STACK 311 348 312 349 void cxios_set_variable_data_int(const char* varId, int varIdSize, int data, bool* isVarExisted) 350 TRY 313 351 { 314 352 std::string varIdStr; … … 331 369 CTimer::get("XIOS").suspend(); 332 370 } 371 CATCH_DUMP_STACK 333 372 334 373 void cxios_set_variable_data_logic(const char* varId, int varIdSize, bool data, bool* isVarExisted) 374 TRY 335 375 { 336 376 std::string varIdStr; … … 352 392 CTimer::get("XIOS").suspend(); 353 393 } 394 CATCH_DUMP_STACK 354 395 355 396 void cxios_set_variable_data_char(const char* varId, int varIdSize, const char* data, int dataSizeIn, bool* isVarExisted) 356 { 397 TRY 398 { 357 399 std::string varIdStr, dataStr; 358 400 if (!cstr2string(varId, varIdSize, varIdStr)) return; … … 378 420 CTimer::get("XIOS").suspend(); 379 421 } 380 422 CATCH_DUMP_STACK 381 423 382 424 // ---------------------- Ecriture des données ------------------------------ 383 425 384 426 void cxios_write_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 427 TRY 385 428 { 386 429 std::string fieldid_str; … … 397 440 CTimer::get("XIOS").suspend(); 398 441 } 442 CATCH_DUMP_STACK 399 443 400 444 void cxios_write_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 445 TRY 401 446 { 402 447 std::string fieldid_str; … … 416 461 CTimer::get("XIOS").suspend(); 417 462 } 463 CATCH_DUMP_STACK 418 464 419 465 void cxios_write_data_k82(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize) 466 TRY 420 467 { 421 468 std::string fieldid_str; … … 435 482 CTimer::get("XIOS").suspend(); 436 483 } 484 CATCH_DUMP_STACK 437 485 438 486 void cxios_write_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 487 TRY 439 488 { 440 489 std::string fieldid_str; … … 454 503 CTimer::get("XIOS").suspend(); 455 504 } 505 CATCH_DUMP_STACK 456 506 457 507 void cxios_write_data_k84(const char* fieldid, int fieldid_size, double* data_k8, int data_0size, int data_1size, int data_2size, int data_3size) 508 TRY 458 509 { 459 510 std::string fieldid_str; … … 473 524 CTimer::get("XIOS").suspend(); 474 525 } 526 CATCH_DUMP_STACK 475 527 476 528 void cxios_write_data_k85(const char* fieldid, int fieldid_size, double* data_k8, 477 529 int data_0size, int data_1size, int data_2size, 478 530 int data_3size, int data_4size) 531 TRY 479 532 { 480 533 std::string fieldid_str; … … 494 547 CTimer::get("XIOS").suspend(); 495 548 } 549 CATCH_DUMP_STACK 496 550 497 551 void cxios_write_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 498 552 int data_0size, int data_1size, int data_2size, 499 553 int data_3size, int data_4size, int data_5size) 554 TRY 500 555 { 501 556 std::string fieldid_str; … … 515 570 CTimer::get("XIOS").suspend(); 516 571 } 572 CATCH_DUMP_STACK 517 573 518 574 void cxios_write_data_k87(const char* fieldid, int fieldid_size, double* data_k8, … … 520 576 int data_3size, int data_4size, int data_5size, 521 577 int data_6size) 578 TRY 522 579 { 523 580 std::string fieldid_str; … … 537 594 CTimer::get("XIOS").suspend(); 538 595 } 596 CATCH_DUMP_STACK 539 597 540 598 void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 599 TRY 541 600 { 542 601 std::string fieldid_str; … … 556 615 CTimer::get("XIOS").suspend(); 557 616 } 617 CATCH_DUMP_STACK 558 618 559 619 void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 620 TRY 560 621 { 561 622 std::string fieldid_str; … … 577 638 CTimer::get("XIOS").suspend(); 578 639 } 640 CATCH_DUMP_STACK 579 641 580 642 void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 643 TRY 581 644 { 582 645 std::string fieldid_str; … … 598 661 CTimer::get("XIOS").suspend(); 599 662 } 663 CATCH_DUMP_STACK 600 664 601 665 void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 666 TRY 602 667 { 603 668 std::string fieldid_str; … … 619 684 CTimer::get("XIOS").suspend(); 620 685 } 686 CATCH_DUMP_STACK 621 687 622 688 void cxios_write_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 623 689 int data_0size, int data_1size, int data_2size, 624 690 int data_3size) 691 TRY 625 692 { 626 693 std::string fieldid_str; … … 642 709 CTimer::get("XIOS").suspend(); 643 710 } 711 CATCH_DUMP_STACK 644 712 645 713 void cxios_write_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 646 714 int data_0size, int data_1size, int data_2size, 647 715 int data_3size, int data_4size) 716 TRY 648 717 { 649 718 std::string fieldid_str; … … 665 734 CTimer::get("XIOS").suspend(); 666 735 } 736 CATCH_DUMP_STACK 667 737 668 738 void cxios_write_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 669 739 int data_0size, int data_1size, int data_2size, 670 740 int data_3size, int data_4size, int data_5size) 741 TRY 671 742 { 672 743 std::string fieldid_str; … … 688 759 CTimer::get("XIOS").suspend(); 689 760 } 761 CATCH_DUMP_STACK 690 762 691 763 void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4, … … 693 765 int data_3size, int data_4size, int data_5size, 694 766 int data_6size) 767 TRY 695 768 { 696 769 std::string fieldid_str; … … 712 785 CTimer::get("XIOS").suspend(); 713 786 } 787 CATCH_DUMP_STACK 714 788 715 789 // ---------------------- Lecture des données ------------------------------ 716 790 717 791 void cxios_read_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 792 TRY 718 793 { 719 794 std::string fieldid_str; … … 733 808 CTimer::get("XIOS").suspend(); 734 809 } 810 CATCH_DUMP_STACK 735 811 736 812 void cxios_read_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 813 TRY 737 814 { 738 815 std::string fieldid_str; … … 752 829 CTimer::get("XIOS").suspend(); 753 830 } 831 CATCH_DUMP_STACK 754 832 755 833 void cxios_read_data_k82(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize) 834 TRY 756 835 { 757 836 std::string fieldid_str; … … 771 850 CTimer::get("XIOS").suspend(); 772 851 } 852 CATCH_DUMP_STACK 773 853 774 854 void cxios_read_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 855 TRY 775 856 { 776 857 std::string fieldid_str; … … 790 871 CTimer::get("XIOS").suspend(); 791 872 } 873 CATCH_DUMP_STACK 792 874 793 875 void cxios_read_data_k84(const char* fieldid, int fieldid_size, double* data_k8, 794 876 int data_0size, int data_1size, int data_2size, 795 877 int data_3size) 878 TRY 796 879 { 797 880 std::string fieldid_str; … … 811 894 CTimer::get("XIOS").suspend(); 812 895 } 896 CATCH_DUMP_STACK 813 897 814 898 void cxios_read_data_k85(const char* fieldid, int fieldid_size, double* data_k8, 815 899 int data_0size, int data_1size, int data_2size, 816 900 int data_3size, int data_4size) 901 TRY 817 902 { 818 903 std::string fieldid_str; … … 832 917 CTimer::get("XIOS").suspend(); 833 918 } 919 CATCH_DUMP_STACK 834 920 835 921 void cxios_read_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 836 922 int data_0size, int data_1size, int data_2size, 837 923 int data_3size, int data_4size, int data_5size) 924 TRY 838 925 { 839 926 std::string fieldid_str; … … 853 940 CTimer::get("XIOS").suspend(); 854 941 } 942 CATCH_DUMP_STACK 855 943 856 944 void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8, … … 858 946 int data_3size, int data_4size, int data_5size, 859 947 int data_6size) 948 TRY 860 949 { 861 950 std::string fieldid_str; … … 875 964 CTimer::get("XIOS").suspend(); 876 965 } 966 CATCH_DUMP_STACK 877 967 878 968 void cxios_read_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 969 TRY 879 970 { 880 971 std::string fieldid_str; … … 896 987 CTimer::get("XIOS").suspend(); 897 988 } 989 CATCH_DUMP_STACK 898 990 899 991 void cxios_read_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 992 TRY 900 993 { 901 994 std::string fieldid_str; … … 917 1010 CTimer::get("XIOS").suspend(); 918 1011 } 1012 CATCH_DUMP_STACK 919 1013 920 1014 void cxios_read_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 1015 TRY 921 1016 { 922 1017 std::string fieldid_str; … … 938 1033 CTimer::get("XIOS").suspend(); 939 1034 } 1035 CATCH_DUMP_STACK 940 1036 941 1037 void cxios_read_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 1038 TRY 942 1039 { 943 1040 std::string fieldid_str; … … 959 1056 CTimer::get("XIOS").suspend(); 960 1057 } 1058 CATCH_DUMP_STACK 961 1059 962 1060 void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 963 1061 int data_0size, int data_1size, int data_2size, 964 1062 int data_3size) 1063 TRY 965 1064 { 966 1065 std::string fieldid_str; … … 982 1081 CTimer::get("XIOS").suspend(); 983 1082 } 1083 CATCH_DUMP_STACK 984 1084 985 1085 void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 986 1086 int data_0size, int data_1size, int data_2size, 987 1087 int data_3size, int data_4size) 1088 TRY 988 1089 { 989 1090 std::string fieldid_str; … … 1005 1106 CTimer::get("XIOS").suspend(); 1006 1107 } 1108 CATCH_DUMP_STACK 1007 1109 1008 1110 void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 1009 1111 int data_0size, int data_1size, int data_2size, 1010 1112 int data_3size, int data_4size, int data_5size) 1113 TRY 1011 1114 { 1012 1115 std::string fieldid_str; … … 1028 1131 CTimer::get("XIOS").suspend(); 1029 1132 } 1133 CATCH_DUMP_STACK 1030 1134 1031 1135 void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4, … … 1033 1137 int data_3size, int data_4size, int data_5size, 1034 1138 int data_6size) 1139 TRY 1035 1140 { 1036 1141 std::string fieldid_str; … … 1052 1157 CTimer::get("XIOS").suspend(); 1053 1158 } 1159 CATCH_DUMP_STACK 1054 1160 } // extern "C"
Note: See TracChangeset
for help on using the changeset viewer.