Changeset 2025


Ignore:
Timestamp:
02/01/21 11:46:59 (3 years ago)
Author:
ymipsl
Message:

New feature : introduce handle acces to xios_send_field and xios_recv_field. Only access by id was possible before.
YM

Location:
XIOS/trunk/src/interface
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/c/icdata.cpp

    r1639 r2025  
    410410 
    411411   // ---------------------- Ecriture des données ------------------------------ 
     412    
     413   void cxios_write_data_k80_hdl(CField* field, double* data_k8, int data_Xsize) 
     414   TRY 
     415   { 
     416      CTimer::get("XIOS").resume(); 
     417      CTimer::get("XIOS send field").resume(); 
     418      CContext* context = CContext::getCurrent(); 
     419      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     420        context->checkBuffersAndListen(); 
     421      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
     422      field->setData(data); 
     423      CTimer::get("XIOS send field").suspend(); 
     424      CTimer::get("XIOS").suspend(); 
     425   } 
     426   CATCH_DUMP_STACK 
    412427 
    413428   void cxios_write_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 
     
    416431      std::string fieldid_str; 
    417432      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    418  
    419       CTimer::get("XIOS").resume(); 
    420       CTimer::get("XIOS send field").resume(); 
    421       CContext* context = CContext::getCurrent(); 
    422       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    423         context->checkBuffersAndListen(); 
     433      cxios_write_data_k80_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 
     434   } 
     435   CATCH_DUMP_STACK 
     436 
     437 
     438 
     439   
     440   void cxios_write_data_k81_hdl(CField* field, double* data_k8, int data_Xsize) 
     441   TRY 
     442   { 
     443      CTimer::get("XIOS").resume(); 
     444      CTimer::get("XIOS send field").resume(); 
     445 
     446      CContext* context = CContext::getCurrent(); 
     447      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     448        context->checkBuffersAndListen(); 
     449 
    424450      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
    425       CField::get(fieldid_str)->setData(data); 
    426       CTimer::get("XIOS send field").suspend(); 
    427       CTimer::get("XIOS").suspend(); 
    428    } 
    429    CATCH_DUMP_STACK 
    430  
     451      field->setData(data); 
     452 
     453      CTimer::get("XIOS send field").suspend(); 
     454      CTimer::get("XIOS").suspend(); 
     455   } 
     456   CATCH_DUMP_STACK 
     457    
    431458   void cxios_write_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 
    432459   TRY 
     
    434461      std::string fieldid_str; 
    435462      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    436  
    437       CTimer::get("XIOS").resume(); 
    438       CTimer::get("XIOS send field").resume(); 
    439  
    440       CContext* context = CContext::getCurrent(); 
    441       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    442         context->checkBuffersAndListen(); 
    443  
    444       CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
    445       CField::get(fieldid_str)->setData(data); 
     463      cxios_write_data_k81_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 
     464     
     465   } 
     466   CATCH_DUMP_STACK 
     467 
     468 
     469 
     470   void cxios_write_data_k82_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize) 
     471   TRY 
     472   { 
     473      CTimer::get("XIOS").resume(); 
     474      CTimer::get("XIOS send field").resume(); 
     475 
     476      CContext* context = CContext::getCurrent(); 
     477      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     478        context->checkBuffersAndListen(); 
     479 
     480      CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 
     481      field->setData(data); 
    446482 
    447483      CTimer::get("XIOS send field").suspend(); 
     
    455491      std::string fieldid_str; 
    456492      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    457  
    458       CTimer::get("XIOS").resume(); 
    459       CTimer::get("XIOS send field").resume(); 
    460  
    461       CContext* context = CContext::getCurrent(); 
    462       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    463         context->checkBuffersAndListen(); 
    464  
    465       CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 
    466       CField::get(fieldid_str)->setData(data); 
    467  
    468       CTimer::get("XIOS send field").suspend(); 
    469       CTimer::get("XIOS").suspend(); 
    470    } 
    471    CATCH_DUMP_STACK 
    472  
     493      cxios_write_data_k82_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize) ; 
     494   } 
     495   CATCH_DUMP_STACK 
     496 
     497 
     498 
     499 
     500 
     501 
     502   void cxios_write_data_k83_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 
     503   TRY 
     504   { 
     505      CTimer::get("XIOS").resume(); 
     506      CTimer::get("XIOS send field").resume(); 
     507 
     508      CContext* context = CContext::getCurrent(); 
     509      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     510        context->checkBuffersAndListen(); 
     511 
     512      CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
     513      field->setData(data); 
     514 
     515      CTimer::get("XIOS send field").suspend(); 
     516      CTimer::get("XIOS").suspend(); 
     517   } 
     518   CATCH_DUMP_STACK 
     519    
    473520   void cxios_write_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 
    474521   TRY 
     
    476523      std::string fieldid_str; 
    477524      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    478  
    479       CTimer::get("XIOS").resume(); 
    480       CTimer::get("XIOS send field").resume(); 
    481  
    482       CContext* context = CContext::getCurrent(); 
    483       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    484         context->checkBuffersAndListen(); 
    485  
    486       CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
    487       CField::get(fieldid_str)->setData(data); 
     525      cxios_write_data_k83_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize, data_Zsize) ; 
     526 
     527 
     528   } 
     529   CATCH_DUMP_STACK 
     530 
     531 
     532 
     533 
     534 
     535 
     536   void cxios_write_data_k84_hdl(CField* field, double* data_k8, int data_0size, int data_1size, int data_2size, int data_3size) 
     537   TRY 
     538   { 
     539      CTimer::get("XIOS").resume(); 
     540      CTimer::get("XIOS send field").resume(); 
     541 
     542      CContext* context = CContext::getCurrent(); 
     543      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     544        context->checkBuffersAndListen(); 
     545 
     546      CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
     547      field->setData(data); 
    488548 
    489549      CTimer::get("XIOS send field").suspend(); 
     
    500560      CTimer::get("XIOS").resume(); 
    501561      CTimer::get("XIOS send field").resume(); 
    502  
    503       CContext* context = CContext::getCurrent(); 
    504       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    505         context->checkBuffersAndListen(); 
    506  
    507       CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
    508       CField::get(fieldid_str)->setData(data); 
     562      cxios_write_data_k84_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size) ; 
     563   } 
     564   CATCH_DUMP_STACK 
     565 
     566 
     567 
     568    
     569 
     570   void cxios_write_data_k85_hdl(CField* field, double* data_k8, 
     571                             int data_0size, int data_1size, int data_2size, 
     572                             int data_3size, int data_4size) 
     573   TRY 
     574   { 
     575      CTimer::get("XIOS").resume(); 
     576      CTimer::get("XIOS send field").resume(); 
     577 
     578      CContext* context = CContext::getCurrent(); 
     579      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     580        context->checkBuffersAndListen(); 
     581 
     582      CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
     583      field->setData(data); 
    509584 
    510585      CTimer::get("XIOS send field").suspend(); 
     
    520595      std::string fieldid_str; 
    521596      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    522  
    523       CTimer::get("XIOS").resume(); 
    524       CTimer::get("XIOS send field").resume(); 
    525  
    526       CContext* context = CContext::getCurrent(); 
    527       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    528         context->checkBuffersAndListen(); 
    529  
    530       CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
    531       CField::get(fieldid_str)->setData(data); 
    532  
    533       CTimer::get("XIOS send field").suspend(); 
    534       CTimer::get("XIOS").suspend(); 
    535    } 
    536    CATCH_DUMP_STACK 
    537  
     597      cxios_write_data_k85_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size) ; 
     598 
     599   } 
     600   CATCH_DUMP_STACK 
     601 
     602 
     603 
     604   void cxios_write_data_k86_hdl(CField* field, double* data_k8, 
     605                             int data_0size, int data_1size, int data_2size, 
     606                             int data_3size, int data_4size, int data_5size) 
     607   TRY 
     608   { 
     609  
     610      CTimer::get("XIOS").resume(); 
     611      CTimer::get("XIOS send field").resume(); 
     612 
     613      CContext* context = CContext::getCurrent(); 
     614      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     615        context->checkBuffersAndListen(); 
     616 
     617      CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
     618      field->setData(data); 
     619 
     620      CTimer::get("XIOS send field").suspend(); 
     621      CTimer::get("XIOS").suspend(); 
     622   } 
     623   CATCH_DUMP_STACK 
     624    
    538625   void cxios_write_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 
    539626                             int data_0size, int data_1size, int data_2size, 
     
    543630      std::string fieldid_str; 
    544631      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    545  
    546       CTimer::get("XIOS").resume(); 
    547       CTimer::get("XIOS send field").resume(); 
    548  
    549       CContext* context = CContext::getCurrent(); 
    550       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    551         context->checkBuffersAndListen(); 
    552  
    553       CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
    554       CField::get(fieldid_str)->setData(data); 
    555  
    556       CTimer::get("XIOS send field").suspend(); 
    557       CTimer::get("XIOS").suspend(); 
    558    } 
    559    CATCH_DUMP_STACK 
    560  
     632      cxios_write_data_k86_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 
     633 
     634  } 
     635   CATCH_DUMP_STACK 
     636    
     637 
     638 
     639 
     640   void cxios_write_data_k87_hdl(CField* field, double* data_k8, 
     641                             int data_0size, int data_1size, int data_2size, 
     642                             int data_3size, int data_4size, int data_5size, 
     643                             int data_6size) 
     644   TRY 
     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->checkBuffersAndListen(); 
     652 
     653      CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 
     654      field->setData(data); 
     655 
     656      CTimer::get("XIOS send field").suspend(); 
     657      CTimer::get("XIOS").suspend(); 
     658   } 
     659   CATCH_DUMP_STACK 
     660    
    561661   void cxios_write_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 
    562662                             int data_0size, int data_1size, int data_2size, 
     
    567667      std::string fieldid_str; 
    568668      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    569  
    570       CTimer::get("XIOS").resume(); 
    571       CTimer::get("XIOS send field").resume(); 
    572  
    573       CContext* context = CContext::getCurrent(); 
    574       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    575         context->checkBuffersAndListen(); 
    576  
    577       CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 
    578       CField::get(fieldid_str)->setData(data); 
    579  
    580       CTimer::get("XIOS send field").suspend(); 
    581       CTimer::get("XIOS").suspend(); 
    582    } 
    583    CATCH_DUMP_STACK 
    584  
    585    void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
    586    TRY 
    587    { 
    588       std::string fieldid_str; 
    589       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    590  
     669      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) ; 
     670   } 
     671   CATCH_DUMP_STACK 
     672    
     673 
     674 
     675 
     676 
     677   void cxios_write_data_k40_hdl(CField* field, float* data_k4, int data_Xsize) 
     678   TRY 
     679   { 
    591680      CTimer::get("XIOS").resume(); 
    592681      CTimer::get("XIOS send field").resume(); 
     
    598687      CArray<double, 1> data(data_Xsize) ; 
    599688      data = data_tmp; 
    600       CField::get(fieldid_str)->setData(data); 
    601       CTimer::get("XIOS send field").suspend(); 
    602       CTimer::get("XIOS").suspend(); 
    603    } 
    604    CATCH_DUMP_STACK 
    605  
    606    void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
    607    TRY 
    608    { 
    609       std::string fieldid_str; 
    610       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    611  
     689      field->setData(data); 
     690      CTimer::get("XIOS send field").suspend(); 
     691      CTimer::get("XIOS").suspend(); 
     692   } 
     693   CATCH_DUMP_STACK 
     694 
     695   void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
     696   TRY 
     697   { 
     698      std::string fieldid_str; 
     699      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     700      cxios_write_data_k40_hdl(CField::get(fieldid_str), data_k4, data_Xsize); 
     701 
     702   } 
     703   CATCH_DUMP_STACK 
     704    
     705    
     706   void cxios_write_data_k41_hdl(CField* field, float* data_k4, int data_Xsize) 
     707   TRY 
     708   { 
    612709      CTimer::get("XIOS").resume(); 
    613710      CTimer::get("XIOS send field").resume(); 
     
    620717      CArray<double, 1> data(data_Xsize); 
    621718      data = data_tmp; 
    622       CField::get(fieldid_str)->setData(data); 
    623  
    624       CTimer::get("XIOS send field").suspend(); 
    625       CTimer::get("XIOS").suspend(); 
    626    } 
    627    CATCH_DUMP_STACK 
    628  
    629    void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 
    630    TRY 
    631    { 
    632       std::string fieldid_str; 
    633       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    634  
     719      field->setData(data); 
     720 
     721      CTimer::get("XIOS send field").suspend(); 
     722      CTimer::get("XIOS").suspend(); 
     723   } 
     724   CATCH_DUMP_STACK 
     725 
     726   void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
     727   TRY 
     728   { 
     729      std::string fieldid_str; 
     730      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     731      cxios_write_data_k41_hdl(CField::get(fieldid_str), data_k4, data_Xsize); 
     732   } 
     733   CATCH_DUMP_STACK 
     734 
     735 
     736   void cxios_write_data_k42_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize) 
     737   TRY 
     738   { 
    635739      CTimer::get("XIOS").resume(); 
    636740      CTimer::get("XIOS send field").resume(); 
     
    643747      CArray<double, 2> data(data_Xsize, data_Ysize); 
    644748      data = data_tmp; 
    645       CField::get(fieldid_str)->setData(data); 
    646  
    647       CTimer::get("XIOS send field").suspend(); 
    648       CTimer::get("XIOS").suspend(); 
    649    } 
    650    CATCH_DUMP_STACK 
    651  
    652    void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 
    653    TRY 
    654    { 
    655       std::string fieldid_str; 
    656       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    657  
     749      field->setData(data); 
     750 
     751      CTimer::get("XIOS send field").suspend(); 
     752      CTimer::get("XIOS").suspend(); 
     753   } 
     754   CATCH_DUMP_STACK 
     755 
     756   void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 
     757   TRY 
     758   { 
     759      std::string fieldid_str; 
     760      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     761      cxios_write_data_k42_hdl(CField::get(fieldid_str), data_k4, data_Xsize,data_Ysize); 
     762   } 
     763   CATCH_DUMP_STACK 
     764 
     765 
     766 
     767 
     768   void cxios_write_data_k43_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 
     769   TRY 
     770   { 
    658771      CTimer::get("XIOS").resume(); 
    659772      CTimer::get("XIOS send field").resume(); 
     
    666779      CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize); 
    667780      data = data_tmp; 
    668       CField::get(fieldid_str)->setData(data); 
     781      field->setData(data); 
     782 
     783      CTimer::get("XIOS send field").suspend(); 
     784      CTimer::get("XIOS").suspend(); 
     785    } 
     786   CATCH_DUMP_STACK 
     787    
     788   void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 
     789   TRY 
     790   { 
     791      std::string fieldid_str; 
     792      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     793      cxios_write_data_k43_hdl(CField::get(fieldid_str), data_k4, data_Xsize,data_Ysize, data_Zsize); 
     794    } 
     795   CATCH_DUMP_STACK 
     796    
     797 
     798    
     799   void cxios_write_data_k44_hdl(CField* field, float* data_k4, 
     800                             int data_0size, int data_1size, int data_2size, 
     801                             int data_3size) 
     802   TRY 
     803   { 
     804      CTimer::get("XIOS").resume(); 
     805      CTimer::get("XIOS send field").resume(); 
     806 
     807      CContext* context = CContext::getCurrent(); 
     808      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     809        context->checkBuffersAndListen(); 
     810 
     811      CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
     812      CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 
     813      data = data_tmp; 
     814      field->setData(data); 
    669815 
    670816      CTimer::get("XIOS send field").suspend(); 
     
    680826      std::string fieldid_str; 
    681827      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    682  
    683       CTimer::get("XIOS").resume(); 
    684       CTimer::get("XIOS send field").resume(); 
    685  
    686       CContext* context = CContext::getCurrent(); 
    687       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    688         context->checkBuffersAndListen(); 
    689  
    690       CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
    691       CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 
     828      cxios_write_data_k44_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size) ; 
     829    } 
     830   CATCH_DUMP_STACK 
     831 
     832 
     833 
     834 
     835   void cxios_write_data_k45_hdl(CField* field, float* data_k4, 
     836                             int data_0size, int data_1size, int data_2size, 
     837                             int data_3size, int data_4size) 
     838   TRY 
     839   { 
     840      CTimer::get("XIOS").resume(); 
     841      CTimer::get("XIOS send field").resume(); 
     842 
     843      CContext* context = CContext::getCurrent(); 
     844      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     845        context->checkBuffersAndListen(); 
     846 
     847      CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
     848      CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 
    692849      data = data_tmp; 
    693       CField::get(fieldid_str)->setData(data); 
     850      field->setData(data); 
    694851 
    695852      CTimer::get("XIOS send field").suspend(); 
     
    705862      std::string fieldid_str; 
    706863      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    707  
    708       CTimer::get("XIOS").resume(); 
    709       CTimer::get("XIOS send field").resume(); 
    710  
    711       CContext* context = CContext::getCurrent(); 
    712       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    713         context->checkBuffersAndListen(); 
    714  
    715       CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
    716       CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 
     864      cxios_write_data_k45_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size) ; 
     865    } 
     866   CATCH_DUMP_STACK 
     867 
     868 
     869 
     870   void cxios_write_data_k46_hdl(CField* field, float* data_k4, 
     871                             int data_0size, int data_1size, int data_2size, 
     872                             int data_3size, int data_4size, int data_5size) 
     873   TRY 
     874   { 
     875      CTimer::get("XIOS").resume(); 
     876      CTimer::get("XIOS send field").resume(); 
     877 
     878      CContext* context = CContext::getCurrent(); 
     879      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     880        context->checkBuffersAndListen(); 
     881 
     882      CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
     883      CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 
    717884      data = data_tmp; 
    718       CField::get(fieldid_str)->setData(data); 
     885      field->setData(data); 
    719886 
    720887      CTimer::get("XIOS send field").suspend(); 
     
    730897      std::string fieldid_str; 
    731898      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    732  
    733       CTimer::get("XIOS").resume(); 
    734       CTimer::get("XIOS send field").resume(); 
    735  
    736       CContext* context = CContext::getCurrent(); 
    737       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    738         context->checkBuffersAndListen(); 
    739  
    740       CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
    741       CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 
    742       data = data_tmp; 
    743       CField::get(fieldid_str)->setData(data); 
    744  
    745       CTimer::get("XIOS send field").suspend(); 
    746       CTimer::get("XIOS").suspend(); 
    747     } 
    748    CATCH_DUMP_STACK 
    749  
    750    void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 
     899      cxios_write_data_k46_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 
     900    } 
     901   CATCH_DUMP_STACK 
     902 
     903 
     904   void cxios_write_data_k47_hdl(CField* field, float* data_k4, 
    751905                             int data_0size, int data_1size, int data_2size, 
    752906                             int data_3size, int data_4size, int data_5size, 
     
    754908   TRY 
    755909   { 
    756       std::string fieldid_str; 
    757       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    758  
    759910      CTimer::get("XIOS").resume(); 
    760911      CTimer::get("XIOS send field").resume(); 
     
    767918      CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 
    768919      data = data_tmp; 
    769       CField::get(fieldid_str)->setData(data); 
    770  
    771       CTimer::get("XIOS send field").suspend(); 
    772       CTimer::get("XIOS").suspend(); 
    773     } 
    774    CATCH_DUMP_STACK 
     920      field->setData(data); 
     921 
     922      CTimer::get("XIOS send field").suspend(); 
     923      CTimer::get("XIOS").suspend(); 
     924    } 
     925   CATCH_DUMP_STACK 
     926 
     927  void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 
     928                             int data_0size, int data_1size, int data_2size, 
     929                             int data_3size, int data_4size, int data_5size, 
     930                             int data_6size) 
     931   TRY 
     932   { 
     933      std::string fieldid_str; 
     934      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     935      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) ; 
     936    } 
     937   CATCH_DUMP_STACK 
     938 
    775939 
    776940   // ---------------------- Lecture des données ------------------------------ 
    777941 
     942   void cxios_read_data_k80_hdl(CField* field, double* data_k8, int data_Xsize) 
     943   TRY 
     944   { 
     945      CTimer::get("XIOS").resume(); 
     946      CTimer::get("XIOS recv field").resume(); 
     947 
     948      CContext* context = CContext::getCurrent(); 
     949      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     950        context->checkBuffersAndListen(); 
     951 
     952      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
     953      field->getData(data); 
     954 
     955      CTimer::get("XIOS recv field").suspend(); 
     956      CTimer::get("XIOS").suspend(); 
     957   } 
     958   CATCH_DUMP_STACK 
     959 
    778960   void cxios_read_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 
    779961   TRY 
     
    781963      std::string fieldid_str; 
    782964      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    783  
     965      cxios_read_data_k80_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 
     966   } 
     967   CATCH_DUMP_STACK 
     968    
     969    
     970   void cxios_read_data_k81_hdl(CField* field, double* data_k8, int data_Xsize) 
     971   TRY 
     972   { 
    784973      CTimer::get("XIOS").resume(); 
    785974      CTimer::get("XIOS recv field").resume(); 
     
    790979 
    791980      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
    792       CField::get(fieldid_str)->getData(data); 
     981      field->getData(data); 
    793982 
    794983      CTimer::get("XIOS recv field").suspend(); 
     
    802991      std::string fieldid_str; 
    803992      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    804  
    805       CTimer::get("XIOS").resume(); 
    806       CTimer::get("XIOS recv field").resume(); 
    807  
    808       CContext* context = CContext::getCurrent(); 
    809       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    810         context->checkBuffersAndListen(); 
    811  
    812       CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
    813       CField::get(fieldid_str)->getData(data); 
     993      cxios_read_data_k81_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ; 
     994   } 
     995   CATCH_DUMP_STACK 
     996 
     997   void cxios_read_data_k82_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize) 
     998   TRY 
     999   { 
     1000      CTimer::get("XIOS").resume(); 
     1001      CTimer::get("XIOS recv field").resume(); 
     1002 
     1003      CContext* context = CContext::getCurrent(); 
     1004      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     1005        context->checkBuffersAndListen(); 
     1006 
     1007      CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 
     1008      field->getData(data); 
    8141009 
    8151010      CTimer::get("XIOS recv field").suspend(); 
     
    8231018      std::string fieldid_str; 
    8241019      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    825  
    826       CTimer::get("XIOS").resume(); 
    827       CTimer::get("XIOS recv field").resume(); 
    828  
    829       CContext* context = CContext::getCurrent(); 
    830       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    831         context->checkBuffersAndListen(); 
    832  
    833       CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 
    834       CField::get(fieldid_str)->getData(data); 
    835  
    836       CTimer::get("XIOS recv field").suspend(); 
    837       CTimer::get("XIOS").suspend(); 
    838    } 
    839    CATCH_DUMP_STACK 
     1020      cxios_read_data_k82_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize) ; 
     1021   } 
     1022   CATCH_DUMP_STACK 
     1023 
     1024 
     1025   void cxios_read_data_k83_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 
     1026   TRY 
     1027   { 
     1028      CTimer::get("XIOS").resume(); 
     1029      CTimer::get("XIOS recv field").resume(); 
     1030 
     1031      CContext* context = CContext::getCurrent(); 
     1032      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     1033        context->checkBuffersAndListen(); 
     1034 
     1035      CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
     1036      field->getData(data); 
     1037 
     1038      CTimer::get("XIOS recv field").suspend(); 
     1039      CTimer::get("XIOS").suspend(); 
     1040   } 
     1041   CATCH_DUMP_STACK 
     1042 
    8401043 
    8411044   void cxios_read_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 
     
    8441047      std::string fieldid_str; 
    8451048      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    846  
    847       CTimer::get("XIOS").resume(); 
    848       CTimer::get("XIOS recv field").resume(); 
    849  
    850       CContext* context = CContext::getCurrent(); 
    851       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    852         context->checkBuffersAndListen(); 
    853  
    854       CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
    855       CField::get(fieldid_str)->getData(data); 
     1049      cxios_read_data_k83_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize, data_Zsize) ; 
     1050   } 
     1051   CATCH_DUMP_STACK 
     1052 
     1053   void cxios_read_data_k84_hdl(CField* field, double* data_k8, 
     1054                            int data_0size, int data_1size, int data_2size, 
     1055                            int data_3size) 
     1056   TRY 
     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->checkBuffersAndListen(); 
     1064 
     1065      CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
     1066      field->getData(data); 
    8561067 
    8571068      CTimer::get("XIOS recv field").suspend(); 
     
    8671078      std::string fieldid_str; 
    8681079      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    869  
    870       CTimer::get("XIOS").resume(); 
    871       CTimer::get("XIOS recv field").resume(); 
    872  
    873       CContext* context = CContext::getCurrent(); 
    874       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    875         context->checkBuffersAndListen(); 
    876  
    877       CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
    878       CField::get(fieldid_str)->getData(data); 
     1080      cxios_read_data_k84_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size) ; 
     1081   } 
     1082   CATCH_DUMP_STACK 
     1083 
     1084   void cxios_read_data_k85_hdl(CField* field, double* data_k8, 
     1085                            int data_0size, int data_1size, int data_2size, 
     1086                            int data_3size, int data_4size) 
     1087   TRY 
     1088   { 
     1089      CTimer::get("XIOS").resume(); 
     1090      CTimer::get("XIOS recv field").resume(); 
     1091 
     1092      CContext* context = CContext::getCurrent(); 
     1093      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     1094        context->checkBuffersAndListen(); 
     1095 
     1096      CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
     1097      field->getData(data); 
    8791098 
    8801099      CTimer::get("XIOS recv field").suspend(); 
     
    8901109      std::string fieldid_str; 
    8911110      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    892  
    893       CTimer::get("XIOS").resume(); 
    894       CTimer::get("XIOS recv field").resume(); 
    895  
    896       CContext* context = CContext::getCurrent(); 
    897       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    898         context->checkBuffersAndListen(); 
    899  
    900       CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
    901       CField::get(fieldid_str)->getData(data); 
     1111      cxios_read_data_k85_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size) ; 
     1112   } 
     1113   CATCH_DUMP_STACK 
     1114 
     1115   void cxios_read_data_k86_hdl(CField* field, double* data_k8, 
     1116                            int data_0size, int data_1size, int data_2size, 
     1117                            int data_3size, int data_4size, int data_5size) 
     1118   TRY 
     1119   { 
     1120      CTimer::get("XIOS").resume(); 
     1121      CTimer::get("XIOS recv field").resume(); 
     1122 
     1123      CContext* context = CContext::getCurrent(); 
     1124      if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
     1125        context->checkBuffersAndListen(); 
     1126 
     1127      CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
     1128      field->getData(data); 
    9021129 
    9031130      CTimer::get("XIOS recv field").suspend(); 
     
    9131140      std::string fieldid_str; 
    9141141      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    915  
    916       CTimer::get("XIOS").resume(); 
    917       CTimer::get("XIOS recv field").resume(); 
    918  
    919       CContext* context = CContext::getCurrent(); 
    920       if (!context->hasServer && !context->client->isAttachedModeEnabled()) 
    921         context->checkBuffersAndListen(); 
    922  
    923       CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
    924       CField::get(fieldid_str)->getData(data); 
    925  
    926       CTimer::get("XIOS recv field").suspend(); 
    927       CTimer::get("XIOS").suspend(); 
    928    } 
    929    CATCH_DUMP_STACK 
    930  
    931    void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 
     1142      cxios_read_data_k86_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 
     1143   } 
     1144   CATCH_DUMP_STACK 
     1145 
     1146   void cxios_read_data_k87_hdl(CField* field, double* data_k8, 
    9321147                            int data_0size, int data_1size, int data_2size, 
    9331148                            int data_3size, int data_4size, int data_5size, 
     
    9351150   TRY 
    9361151   { 
    937       std::string fieldid_str; 
    938       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    939  
    9401152      CTimer::get("XIOS").resume(); 
    9411153      CTimer::get("XIOS recv field").resume(); 
     
    9461158 
    9471159      CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), 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_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
    956    TRY 
    957    { 
    958       std::string fieldid_str; 
    959       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    960  
     1160      field->getData(data); 
     1161 
     1162      CTimer::get("XIOS recv field").suspend(); 
     1163      CTimer::get("XIOS").suspend(); 
     1164   } 
     1165   CATCH_DUMP_STACK 
     1166 
     1167   void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8, 
     1168                            int data_0size, int data_1size, int data_2size, 
     1169                            int data_3size, int data_4size, int data_5size, 
     1170                            int data_6size) 
     1171   TRY 
     1172   { 
     1173      std::string fieldid_str; 
     1174      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1175      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) ; 
     1176   } 
     1177   CATCH_DUMP_STACK 
     1178 
     1179 
     1180 
     1181 
     1182 
     1183 
     1184   void cxios_read_data_k40_hdl(CField* field, float* data_k4, int data_Xsize) 
     1185   TRY 
     1186   { 
    9611187      CTimer::get("XIOS").resume(); 
    9621188      CTimer::get("XIOS recv field").resume(); 
     
    9671193 
    9681194      CArray<double, 1> data(data_Xsize); 
    969       CField::get(fieldid_str)->getData(data); 
     1195      field->getData(data); 
    9701196      CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 
    9711197      data_tmp = data; 
     
    9761202   CATCH_DUMP_STACK 
    9771203 
    978    void cxios_read_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
    979    TRY 
    980    { 
    981       std::string fieldid_str; 
    982       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    983  
     1204   void cxios_read_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
     1205   TRY 
     1206   { 
     1207      std::string fieldid_str; 
     1208      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1209      cxios_read_data_k40_hdl(CField::get(fieldid_str), data_k4, data_Xsize) ; 
     1210   } 
     1211   CATCH_DUMP_STACK 
     1212 
     1213 
     1214 
     1215   void cxios_read_data_k41_hdl(CField* field, float* data_k4, int data_Xsize) 
     1216   TRY 
     1217   { 
    9841218      CTimer::get("XIOS").resume(); 
    9851219      CTimer::get("XIOS recv field").resume(); 
     
    9901224 
    9911225      CArray<double, 1> data(data_Xsize); 
    992       CField::get(fieldid_str)->getData(data); 
     1226      field->getData(data); 
    9931227      CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData); 
    9941228      data_tmp = data; 
     
    9991233   CATCH_DUMP_STACK 
    10001234 
    1001    void cxios_read_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 
    1002    TRY 
    1003    { 
    1004       std::string fieldid_str; 
    1005       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    1006  
     1235   void cxios_read_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
     1236   TRY 
     1237   { 
     1238      std::string fieldid_str; 
     1239      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1240      cxios_read_data_k41_hdl(CField::get(fieldid_str), data_k4, data_Xsize) ; 
     1241   } 
     1242   CATCH_DUMP_STACK 
     1243 
     1244 
     1245 
     1246 
     1247   void cxios_read_data_k42_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize) 
     1248   TRY 
     1249   { 
    10071250      CTimer::get("XIOS").resume(); 
    10081251      CTimer::get("XIOS recv field").resume(); 
     
    10131256 
    10141257      CArray<double, 2> data(data_Xsize, data_Ysize); 
    1015       CField::get(fieldid_str)->getData(data); 
     1258      field->getData(data); 
    10161259      CArray<float, 2> data_tmp(data_k4, shape(data_Xsize, data_Ysize), neverDeleteData); 
    10171260      data_tmp = data; 
     
    10221265   CATCH_DUMP_STACK 
    10231266 
    1024    void cxios_read_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 
    1025    TRY 
    1026    { 
    1027       std::string fieldid_str; 
    1028       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    1029  
     1267   void cxios_read_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 
     1268   TRY 
     1269   { 
     1270      std::string fieldid_str; 
     1271      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1272      cxios_read_data_k42_hdl(CField::get(fieldid_str), data_k4, data_Xsize, data_Ysize) ; 
     1273   } 
     1274   CATCH_DUMP_STACK 
     1275 
     1276 
     1277 
     1278   void cxios_read_data_k43_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 
     1279   TRY 
     1280   { 
    10301281      CTimer::get("XIOS").resume(); 
    10311282      CTimer::get("XIOS recv field").resume(); 
     
    10361287 
    10371288      CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize); 
    1038       CField::get(fieldid_str)->getData(data); 
     1289      field->getData(data); 
    10391290      CArray<float, 3> data_tmp(data_k4, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
    10401291      data_tmp = data; 
     
    10451296   CATCH_DUMP_STACK 
    10461297 
    1047    void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 
     1298   void cxios_read_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 
     1299   TRY 
     1300   { 
     1301      std::string fieldid_str; 
     1302      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1303      cxios_read_data_k43_hdl(CField::get(fieldid_str), data_k4,data_Xsize, data_Ysize, data_Zsize) ; 
     1304    } 
     1305   CATCH_DUMP_STACK 
     1306 
     1307 
     1308   void cxios_read_data_k44_hdl(CField* field, float* data_k4, 
    10481309                            int data_0size, int data_1size, int data_2size, 
    10491310                            int data_3size) 
    10501311   TRY 
    10511312   { 
    1052       std::string fieldid_str; 
    1053       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    1054  
    10551313      CTimer::get("XIOS").resume(); 
    10561314      CTimer::get("XIOS recv field").resume(); 
     
    10611319 
    10621320      CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 
    1063       CField::get(fieldid_str)->getData(data); 
     1321      field->getData(data); 
    10641322      CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
    10651323      data_tmp = data; 
     
    10701328   CATCH_DUMP_STACK 
    10711329 
    1072    void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 
     1330   void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 
     1331                            int data_0size, int data_1size, int data_2size, 
     1332                            int data_3size) 
     1333   TRY 
     1334   { 
     1335      std::string fieldid_str; 
     1336      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1337      cxios_read_data_k44_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size) ; 
     1338    } 
     1339   CATCH_DUMP_STACK 
     1340 
     1341 
     1342 
     1343   void cxios_read_data_k45_hdl(CField* field, float* data_k4, 
    10731344                            int data_0size, int data_1size, int data_2size, 
    10741345                            int data_3size, int data_4size) 
    10751346   TRY 
    10761347   { 
    1077       std::string fieldid_str; 
    1078       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    1079  
    10801348      CTimer::get("XIOS").resume(); 
    10811349      CTimer::get("XIOS recv field").resume(); 
     
    10861354 
    10871355      CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 
    1088       CField::get(fieldid_str)->getData(data); 
     1356      field->getData(data); 
    10891357      CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
    10901358      data_tmp = data; 
     
    10951363   CATCH_DUMP_STACK 
    10961364 
    1097    void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 
     1365   void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 
     1366                            int data_0size, int data_1size, int data_2size, 
     1367                            int data_3size, int data_4size) 
     1368   TRY 
     1369   { 
     1370      std::string fieldid_str; 
     1371      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1372      cxios_read_data_k45_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size) ; 
     1373    } 
     1374   CATCH_DUMP_STACK 
     1375 
     1376 
     1377   void cxios_read_data_k46_hdl(CField* field, float* data_k4, 
    10981378                            int data_0size, int data_1size, int data_2size, 
    10991379                            int data_3size, int data_4size, int data_5size) 
    11001380   TRY 
    11011381   { 
    1102       std::string fieldid_str; 
    1103       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    1104  
    11051382      CTimer::get("XIOS").resume(); 
    11061383      CTimer::get("XIOS recv field").resume(); 
     
    11111388 
    11121389      CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 
    1113       CField::get(fieldid_str)->getData(data); 
     1390      field->getData(data); 
    11141391      CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
    11151392      data_tmp = data; 
     
    11201397   CATCH_DUMP_STACK 
    11211398 
    1122    void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 
     1399   void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 
     1400                            int data_0size, int data_1size, int data_2size, 
     1401                            int data_3size, int data_4size, int data_5size) 
     1402   TRY 
     1403   { 
     1404      std::string fieldid_str; 
     1405      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1406      cxios_read_data_k46_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ; 
     1407    } 
     1408   CATCH_DUMP_STACK 
     1409 
     1410 
     1411 
     1412   void cxios_read_data_k47_hdl(CField* field, float* data_k4, 
    11231413                            int data_0size, int data_1size, int data_2size, 
    11241414                            int data_3size, int data_4size, int data_5size, 
     
    11261416   TRY 
    11271417   { 
    1128       std::string fieldid_str; 
    1129       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
    1130  
    11311418      CTimer::get("XIOS").resume(); 
    11321419      CTimer::get("XIOS recv field").resume(); 
     
    11371424 
    11381425      CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 
    1139       CField::get(fieldid_str)->getData(data); 
     1426      field->getData(data); 
    11401427      CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 
    11411428      data_tmp = data; 
     
    11451432    } 
    11461433   CATCH_DUMP_STACK 
     1434  
     1435   void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4, 
     1436                            int data_0size, int data_1size, int data_2size, 
     1437                            int data_3size, int data_4size, int data_5size, 
     1438                            int data_6size) 
     1439   TRY 
     1440   { 
     1441      std::string fieldid_str; 
     1442      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     1443      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) ; 
     1444    } 
     1445   CATCH_DUMP_STACK 
     1446 
    11471447} // extern "C" 
  • XIOS/trunk/src/interface/fortran/idata.F90

    r1587 r2025  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE ICONTEXT 
     6   USE IFIELD 
    67 
    78   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 
     
    5253      END SUBROUTINE cxios_solve_inheritance 
    5354 
     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 
    5462      SUBROUTINE cxios_write_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    5563         USE ISO_C_BINDING 
     
    6068      END SUBROUTINE cxios_write_data_k80 
    6169 
     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 
    6277      SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    6378         USE ISO_C_BINDING 
     
    6782         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
    6883      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 
    6991 
    7092      SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) 
     
    7698      END SUBROUTINE cxios_write_data_k82 
    7799 
     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 
    78107      SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
    79108         USE ISO_C_BINDING 
     
    84113      END SUBROUTINE cxios_write_data_k83 
    85114 
     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 
    86125      SUBROUTINE cxios_write_data_k84(fieldid, fieldid_size, data_k8, & 
    87126                                      data_0size, data_1size, data_2size, & 
     
    95134      END SUBROUTINE cxios_write_data_k84 
    96135 
     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 
    97146      SUBROUTINE cxios_write_data_k85(fieldid, fieldid_size, data_k8, & 
    98147                                      data_0size, data_1size, data_2size, & 
     
    106155      END SUBROUTINE cxios_write_data_k85 
    107156 
     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 
    108167      SUBROUTINE cxios_write_data_k86(fieldid, fieldid_size, data_k8, & 
    109168                                      data_0size, data_1size, data_2size, & 
     
    117176      END SUBROUTINE cxios_write_data_k86 
    118177 
    119       SUBROUTINE cxios_write_data_k87(fieldid, fieldid_size, data_k8, & 
     178      SUBROUTINE cxios_write_data_k87_hdl(field_hdl, data_k8, & 
    120179                                      data_0size, data_1size, data_2size, & 
    121180                                      data_3size, data_4size, data_5size, & 
    122181                                      data_6size) BIND(C) 
    123182         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 
    124195         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
    125196         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     
    130201      END SUBROUTINE cxios_write_data_k87 
    131202 
     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 
    132210      SUBROUTINE cxios_write_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    133211         USE ISO_C_BINDING 
     
    138216      END SUBROUTINE cxios_write_data_k40 
    139217 
     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 
    140225      SUBROUTINE cxios_write_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    141226         USE ISO_C_BINDING 
     
    146231      END SUBROUTINE cxios_write_data_k41 
    147232 
     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  
    148240      SUBROUTINE cxios_write_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) 
    149241         USE ISO_C_BINDING 
     
    154246      END SUBROUTINE cxios_write_data_k42 
    155247 
     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 
    156255      SUBROUTINE cxios_write_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
    157256         USE ISO_C_BINDING 
     
    162261      END SUBROUTINE cxios_write_data_k43 
    163262 
     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 
    164273      SUBROUTINE cxios_write_data_k44(fieldid, fieldid_size, data_k4, & 
    165274                                      data_0size, data_1size, data_2size, & 
     
    173282      END SUBROUTINE cxios_write_data_k44 
    174283 
     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 
    175294      SUBROUTINE cxios_write_data_k45(fieldid, fieldid_size, data_k4, & 
    176295                                      data_0size, data_1size, data_2size, & 
     
    184303      END SUBROUTINE cxios_write_data_k45 
    185304 
     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  
    186315      SUBROUTINE cxios_write_data_k46(fieldid, fieldid_size, data_k4, & 
    187316                                      data_0size, data_1size, data_2size, & 
     
    195324      END SUBROUTINE cxios_write_data_k46 
    196325 
    197       SUBROUTINE cxios_write_data_k47(fieldid, fieldid_size, data_k4, & 
     326      SUBROUTINE cxios_write_data_k47_hdl(field_hdl, data_k4, & 
    198327                                      data_0size, data_1size, data_2size, & 
    199328                                      data_3size, data_4size, data_5size, & 
    200329                                      data_6size) BIND(C) 
    201330         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 
    202343         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
    203344         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     
    208349      END SUBROUTINE cxios_write_data_k47 
    209350 
     351 
    210352      ! 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 
    211360      SUBROUTINE cxios_read_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    212361         USE ISO_C_BINDING 
     
    217366      END SUBROUTINE cxios_read_data_k80 
    218367 
     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 
    219375      SUBROUTINE cxios_read_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    220376         USE ISO_C_BINDING 
     
    224380         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
    225381      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 
    226389 
    227390      SUBROUTINE cxios_read_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) 
     
    233396      END SUBROUTINE cxios_read_data_k82 
    234397 
    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) 
    236406         USE ISO_C_BINDING 
    237407         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    241411      END SUBROUTINE cxios_read_data_k83 
    242412 
    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, & 
    244424                                      data_0size, data_1size, data_2size, & 
    245425                                      data_3size) BIND(C) 
     
    252432      END SUBROUTINE cxios_read_data_k84 
    253433 
     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 
    254444      SUBROUTINE cxios_read_data_k85(fieldid, fieldid_size, data_k8, & 
    255445                                      data_0size, data_1size, data_2size, & 
     
    263453      END SUBROUTINE cxios_read_data_k85 
    264454 
     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  
    265465      SUBROUTINE cxios_read_data_k86(fieldid, fieldid_size, data_k8, & 
    266466                                      data_0size, data_1size, data_2size, & 
     
    274474      END SUBROUTINE cxios_read_data_k86 
    275475 
    276       SUBROUTINE cxios_read_data_k87(fieldid, fieldid_size, data_k8, & 
     476      SUBROUTINE cxios_read_data_k87_hdl(field_hdl, data_k8, & 
    277477                                      data_0size, data_1size, data_2size, & 
    278478                                      data_3size, data_4size, data_5size, & 
    279479                                      data_6size) BIND(C) 
    280480         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 
    281493         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
    282494         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     
    287499      END SUBROUTINE cxios_read_data_k87 
    288500 
     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 
    289508      SUBROUTINE cxios_read_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    290509         USE ISO_C_BINDING 
     
    295514      END SUBROUTINE cxios_read_data_k40 
    296515 
     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 
    297523      SUBROUTINE cxios_read_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    298524         USE ISO_C_BINDING 
     
    302528         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
    303529      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 
    304537 
    305538      SUBROUTINE cxios_read_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) 
     
    311544      END SUBROUTINE cxios_read_data_k42 
    312545 
     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 
    313553      SUBROUTINE cxios_read_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
    314554         USE ISO_C_BINDING 
     
    319559      END SUBROUTINE cxios_read_data_k43 
    320560 
     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  
    321571      SUBROUTINE cxios_read_data_k44(fieldid, fieldid_size, data_k4, & 
    322572                                      data_0size, data_1size, data_2size, & 
     
    330580      END SUBROUTINE cxios_read_data_k44 
    331581 
     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 
    332592      SUBROUTINE cxios_read_data_k45(fieldid, fieldid_size, data_k4, & 
    333593                                      data_0size, data_1size, data_2size, & 
     
    341601      END SUBROUTINE cxios_read_data_k45 
    342602 
     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  
    343613      SUBROUTINE cxios_read_data_k46(fieldid, fieldid_size, data_k4, & 
    344614                                      data_0size, data_1size, data_2size, & 
     
    351621         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
    352622      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 
    353635 
    354636      SUBROUTINE cxios_read_data_k47(fieldid, fieldid_size, data_k4, & 
     
    534816 
    535817   ! 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 
    536825   SUBROUTINE xios(send_field_r8_0d)(fieldid, data_k8) 
    537826   IMPLICIT NONE 
     
    541830   END SUBROUTINE xios(send_field_r8_0d) 
    542831 
     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 
    543839   SUBROUTINE xios(send_field_r8_1d)(fieldid, data1d_k8) 
    544840   IMPLICIT NONE 
     
    548844   END SUBROUTINE xios(send_field_r8_1d) 
    549845 
     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 
    550853   SUBROUTINE  xios(send_field_r8_2d)(fieldid, data2d_k8) 
    551854   IMPLICIT NONE 
     
    555858   END SUBROUTINE  xios(send_field_r8_2d) 
    556859 
     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 
    557867   SUBROUTINE  xios(send_field_r8_3d)(fieldid, data3d_k8) 
    558868   IMPLICIT NONE 
     
    561871      CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 
    562872   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) 
    563882 
    564883   SUBROUTINE  xios(send_field_r8_4d)(fieldid, data4d_k8) 
     
    571890   END SUBROUTINE  xios(send_field_r8_4d) 
    572891 
     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 
    573901   SUBROUTINE  xios(send_field_r8_5d)(fieldid, data5d_k8) 
    574902   IMPLICIT NONE 
     
    580908   END SUBROUTINE  xios(send_field_r8_5d) 
    581909 
     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 
    582919   SUBROUTINE  xios(send_field_r8_6d)(fieldid, data6d_k8) 
    583920   IMPLICIT NONE 
     
    588925                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 
    589926   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) 
    590937 
    591938   SUBROUTINE  xios(send_field_r8_7d)(fieldid, data7d_k8) 
     
    599946   END SUBROUTINE  xios(send_field_r8_7d) 
    600947 
     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 
    601955   SUBROUTINE xios(send_field_r4_0d)(fieldid, data_k4) 
    602956   IMPLICIT NONE 
     
    606960   END SUBROUTINE xios(send_field_r4_0d) 
    607961 
     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 
    608969   SUBROUTINE xios(send_field_r4_1d)(fieldid, data1d_k4) 
    609970   IMPLICIT NONE 
     
    613974   END SUBROUTINE xios(send_field_r4_1d) 
    614975 
     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 
    615983   SUBROUTINE xios(send_field_r4_2d)(fieldid, data2d_k4) 
    616984   IMPLICIT NONE 
     
    620988   END SUBROUTINE xios(send_field_r4_2d) 
    621989 
     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 
    622997   SUBROUTINE xios(send_field_r4_3d)(fieldid, data3d_k4) 
    623998   IMPLICIT NONE 
     
    6271002   END SUBROUTINE xios(send_field_r4_3d) 
    6281003 
     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    
    6291013   SUBROUTINE  xios(send_field_r4_4d)(fieldid, data4d_k4) 
    6301014   IMPLICIT NONE 
     
    6361020   END SUBROUTINE  xios(send_field_r4_4d) 
    6371021 
     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 
    6381031   SUBROUTINE  xios(send_field_r4_5d)(fieldid, data5d_k4) 
    6391032   IMPLICIT NONE 
     
    6451038   END SUBROUTINE  xios(send_field_r4_5d) 
    6461039 
     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    
    6471049   SUBROUTINE  xios(send_field_r4_6d)(fieldid, data6d_k4) 
    6481050   IMPLICIT NONE 
     
    6541056   END SUBROUTINE  xios(send_field_r4_6d) 
    6551057 
     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    
    6561068   SUBROUTINE  xios(send_field_r4_7d)(fieldid, data7d_k4) 
    6571069   IMPLICIT NONE 
     
    6651077 
    6661078   ! 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 
    6671086   SUBROUTINE xios(recv_field_r8_0d)(fieldid, data0d_k8) 
    6681087   IMPLICIT NONE 
     
    6721091   END SUBROUTINE xios(recv_field_r8_0d) 
    6731092 
     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 
    6741100   SUBROUTINE xios(recv_field_r8_1d)(fieldid, data1d_k8) 
    6751101   IMPLICIT NONE 
     
    6791105   END SUBROUTINE xios(recv_field_r8_1d) 
    6801106 
     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 
    6811114   SUBROUTINE  xios(recv_field_r8_2d)(fieldid, data2d_k8) 
    6821115   IMPLICIT NONE 
     
    6861119   END SUBROUTINE  xios(recv_field_r8_2d) 
    6871120 
     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 
    6881128   SUBROUTINE  xios(recv_field_r8_3d)(fieldid, data3d_k8) 
    6891129   IMPLICIT NONE 
     
    6921132      CALL cxios_read_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 
    6931133   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) 
    6941143 
    6951144   SUBROUTINE  xios(recv_field_r8_4d)(fieldid, data4d_k8) 
     
    7021151   END SUBROUTINE  xios(recv_field_r8_4d) 
    7031152 
     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 
    7041162   SUBROUTINE  xios(recv_field_r8_5d)(fieldid, data5d_k8) 
    7051163   IMPLICIT NONE 
     
    7111169   END SUBROUTINE  xios(recv_field_r8_5d) 
    7121170 
     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 
    7131180   SUBROUTINE  xios(recv_field_r8_6d)(fieldid, data6d_k8) 
    7141181   IMPLICIT NONE 
     
    7201187   END SUBROUTINE  xios(recv_field_r8_6d) 
    7211188 
    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) 
    7231200   IMPLICIT NONE 
    7241201      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     
    7301207   END SUBROUTINE  xios(recv_field_r8_7d) 
    7311208 
     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 
    7321216   SUBROUTINE xios(recv_field_r4_0d)(fieldid, data0d_k4) 
    7331217   IMPLICIT NONE 
     
    7371221   END SUBROUTINE xios(recv_field_r4_0d) 
    7381222 
     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 
    7391230   SUBROUTINE xios(recv_field_r4_1d)(fieldid, data1d_k4) 
    7401231   IMPLICIT NONE 
     
    7441235   END SUBROUTINE xios(recv_field_r4_1d) 
    7451236 
     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 
    7461244   SUBROUTINE xios(recv_field_r4_2d)(fieldid, data2d_k4) 
    7471245   IMPLICIT NONE 
     
    7511249   END SUBROUTINE xios(recv_field_r4_2d) 
    7521250 
     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 
    7531258   SUBROUTINE xios(recv_field_r4_3d)(fieldid, data3d_k4) 
    7541259   IMPLICIT NONE 
     
    7571262      CALL cxios_read_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 
    7581263   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) 
    7591273 
    7601274   SUBROUTINE  xios(recv_field_r4_4d)(fieldid, data4d_k4) 
     
    7671281   END SUBROUTINE  xios(recv_field_r4_4d) 
    7681282 
     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 
    7691292   SUBROUTINE  xios(recv_field_r4_5d)(fieldid, data5d_k4) 
    7701293   IMPLICIT NONE 
     
    7761299   END SUBROUTINE  xios(recv_field_r4_5d) 
    7771300 
     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 
    7781310   SUBROUTINE  xios(recv_field_r4_6d)(fieldid, data6d_k4) 
    7791311   IMPLICIT NONE 
     
    7841316                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 
    7851317   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) 
    7861328 
    7871329   SUBROUTINE  xios(recv_field_r4_7d)(fieldid, data7d_k4) 
  • XIOS/trunk/src/interface/fortran/ixios_interfaces.F90

    r981 r2025  
    1111                  xios(send_field_r4_0d), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 
    1212                  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), & 
    1317                  xios(recv_field_r8_0d), xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 
    1418                  xios(recv_field_r8_4d), xios(recv_field_r8_5d), xios(recv_field_r8_6d), xios(recv_field_r8_7d), & 
    1519                  xios(recv_field_r4_0d), xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d), & 
    1620                  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), & 
    1725                  xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char),      & 
    1826                  xios(setVar_k8), xios(setVar_k4), xios(setVar_int), xios(setVar_logic), xios(setVar_char) 
     
    239247                   xios(send_field_r8_4d), xios(send_field_r8_5d), xios(send_field_r8_6d), xios(send_field_r8_7d), & 
    240248                   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) 
    242254END INTERFACE xios(send_field) 
    243255 
     
    246258                   xios(recv_field_r8_4d), xios(recv_field_r8_5d), xios(recv_field_r8_6d), xios(recv_field_r8_7d), & 
    247259                   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) 
    249265END INTERFACE xios(recv_field) 
    250266 
Note: See TracChangeset for help on using the changeset viewer.