Ignore:
Timestamp:
03/30/21 18:25:37 (3 years ago)
Author:
ymipsl
Message:

Merge fortran interface functionnalities from trunk :

  • sendField & recvField with field handle
  • getCurrentContext

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/c/icdata.cpp

    r1761 r2121  
    412412 
    413413   // ---------------------- 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 
    414429 
    415430   void cxios_write_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 
     
    418433      std::string fieldid_str; 
    419434      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 
    427452      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    
    434460   void cxios_write_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 
    435461   TRY 
     
    437463      std::string fieldid_str; 
    438464      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); 
    450484 
    451485      CTimer::get("XIOS send field").suspend(); 
     
    459493      std::string fieldid_str; 
    460494      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    
    478522   void cxios_write_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 
    479523   TRY 
     
    481525      std::string fieldid_str; 
    482526      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); 
    494550 
    495551      CTimer::get("XIOS send field").suspend(); 
     
    506562      CTimer::get("XIOS").resume(); 
    507563      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); 
    516586 
    517587      CTimer::get("XIOS send field").suspend(); 
     
    527597      std::string fieldid_str; 
    528598      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    
    545627   void cxios_write_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 
    546628                             int data_0size, int data_1size, int data_2size, 
     
    550632      std::string fieldid_str; 
    551633      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    
    569663   void cxios_write_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 
    570664                             int data_0size, int data_1size, int data_2size, 
     
    575669      std::string fieldid_str; 
    576670      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(); 
    606687 
    607688      CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 
    608689      CArray<double, 1> data(data_Xsize) ; 
    609690      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(); 
    629717 
    630718      CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 
    631719      CArray<double, 1> data(data_Xsize); 
    632720      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(); 
    653747 
    654748      CArray<float, 2> data_tmp(data_k4, shape(data_Xsize, data_Ysize), neverDeleteData); 
    655749      CArray<double, 2> data(data_Xsize, data_Ysize); 
    656750      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(); 
    677779 
    678780      CArray<float, 3> data_tmp(data_k4, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
    679781      CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize); 
    680782      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); 
    682817 
    683818      CTimer::get("XIOS send field").suspend(); 
     
    693828      std::string fieldid_str; 
    694829      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); 
    706851      data = data_tmp; 
    707       CField::get(fieldid_str)->setData(data); 
     852      field->setData(data); 
    708853 
    709854      CTimer::get("XIOS send field").suspend(); 
     
    719864      std::string fieldid_str; 
    720865      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); 
    732886      data = data_tmp; 
    733       CField::get(fieldid_str)->setData(data); 
     887      field->setData(data); 
    734888 
    735889      CTimer::get("XIOS send field").suspend(); 
     
    745899      std::string fieldid_str; 
    746900      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, 
    767907                             int data_0size, int data_1size, int data_2size, 
    768908                             int data_3size, int data_4size, int data_5size, 
     
    770910   TRY 
    771911   { 
    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(); 
    782918 
    783919      CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 
    784920      CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 
    785921      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 
    792941 
    793942   // ---------------------- Lecture des données ------------------------------ 
    794943 
     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 
    795962   void cxios_read_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 
    796963   TRY 
     
    798965      std::string fieldid_str; 
    799966      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(); 
    808981 
    809982      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
    810       CField::get(fieldid_str)->getData(data); 
     983      field->getData(data); 
    811984 
    812985      CTimer::get("XIOS recv field").suspend(); 
     
    820993      std::string fieldid_str; 
    821994      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); 
    8331011 
    8341012      CTimer::get("XIOS recv field").suspend(); 
     
    8421020      std::string fieldid_str; 
    8431021      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 
    8601045 
    8611046   void cxios_read_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 
     
    8641049      std::string fieldid_str; 
    8651050      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); 
    8771069 
    8781070      CTimer::get("XIOS recv field").suspend(); 
     
    8881080      std::string fieldid_str; 
    8891081      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); 
    9011100 
    9021101      CTimer::get("XIOS recv field").suspend(); 
     
    9121111      std::string fieldid_str; 
    9131112      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); 
    9251131 
    9261132      CTimer::get("XIOS recv field").suspend(); 
     
    9361142      std::string fieldid_str; 
    9371143      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, 
    9561149                            int data_0size, int data_1size, int data_2size, 
    9571150                            int data_3size, int data_4size, int data_5size, 
     
    9591152   TRY 
    9601153   { 
    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(); 
    9711160 
    9721161      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(); 
    9931195 
    9941196      CArray<double, 1> data(data_Xsize); 
    995       CField::get(fieldid_str)->getData(data); 
     1197      field->getData(data); 
    9961198      CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 
    9971199      data_tmp = data; 
     
    10021204   CATCH_DUMP_STACK 
    10031205 
    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(); 
    10171226 
    10181227      CArray<double, 1> data(data_Xsize); 
    1019       CField::get(fieldid_str)->getData(data); 
     1228      field->getData(data); 
    10201229      CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 
    10211230      data_tmp = data; 
     
    10261235   CATCH_DUMP_STACK 
    10271236 
    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(); 
    10411258 
    10421259      CArray<double, 2> data(data_Xsize, data_Ysize); 
    1043       CField::get(fieldid_str)->getData(data); 
     1260      field->getData(data); 
    10441261      CArray<float, 2> data_tmp(data_k4, shape(data_Xsize, data_Ysize), neverDeleteData); 
    10451262      data_tmp = data; 
     
    10501267   CATCH_DUMP_STACK 
    10511268 
    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(); 
    10651289 
    10661290      CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize); 
    1067       CField::get(fieldid_str)->getData(data); 
     1291      field->getData(data); 
    10681292      CArray<float, 3> data_tmp(data_k4, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
    10691293      data_tmp = data; 
     
    10741298   CATCH_DUMP_STACK 
    10751299 
    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, 
    10771311                            int data_0size, int data_1size, int data_2size, 
    10781312                            int data_3size) 
    10791313   TRY 
    10801314   { 
    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(); 
    10911321 
    10921322      CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 
    1093       CField::get(fieldid_str)->getData(data); 
     1323      field->getData(data); 
    10941324      CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
    10951325      data_tmp = data; 
     
    11001330   CATCH_DUMP_STACK 
    11011331 
    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, 
    11031346                            int data_0size, int data_1size, int data_2size, 
    11041347                            int data_3size, int data_4size) 
    11051348   TRY 
    11061349   { 
    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(); 
    11171356 
    11181357      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); 
    11201359      CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
    11211360      data_tmp = data; 
     
    11261365   CATCH_DUMP_STACK 
    11271366 
    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, 
    11291380                            int data_0size, int data_1size, int data_2size, 
    11301381                            int data_3size, int data_4size, int data_5size) 
    11311382   TRY 
    11321383   { 
    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(); 
    11431390 
    11441391      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); 
    11461393      CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
    11471394      data_tmp = data; 
     
    11521399   CATCH_DUMP_STACK 
    11531400 
    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, 
    11551415                            int data_0size, int data_1size, int data_2size, 
    11561416                            int data_3size, int data_4size, int data_5size, 
     
    11581418   TRY 
    11591419   { 
    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(); 
    11701426 
    11711427      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); 
    11731429      CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 
    11741430      data_tmp = data; 
     
    11781434    } 
    11791435   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 
    11801448} // extern "C" 
Note: See TracChangeset for help on using the changeset viewer.