Index: XIOS/dev/dev_trunk_graph/src/interface/c/iccontext.cpp
===================================================================
--- XIOS/dev/dev_trunk_graph/src/interface/c/iccontext.cpp	(revision 2019)
+++ XIOS/dev/dev_trunk_graph/src/interface/c/iccontext.cpp	(revision 2137)
@@ -68,4 +68,11 @@
    CATCH_DUMP_STACK
 
+   void cxios_context_get_id(XContextPtr context, char * _id, int _id_len)
+   TRY
+   {
+      string_copy(context->getId(),_id,_id_len);
+   }
+   CATCH_DUMP_STACK
+   
    void cxios_context_set_current(XContextPtr context, bool withswap)
    TRY
Index: XIOS/dev/dev_trunk_graph/src/interface/c/icdata.cpp
===================================================================
--- XIOS/dev/dev_trunk_graph/src/interface/c/icdata.cpp	(revision 2019)
+++ XIOS/dev/dev_trunk_graph/src/interface/c/icdata.cpp	(revision 2137)
@@ -412,4 +412,19 @@
 
    // ---------------------- Ecriture des donnÃ©es ------------------------------
+   
+   void cxios_write_data_k80_hdl(CField* field, double* data_k8, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData);
+      field->setData(data);
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
 
    void cxios_write_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize)
@@ -418,18 +433,29 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      cxios_write_data_k80_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ;
+   }
+   CATCH_DUMP_STACK
+
+
+
+  
+   void cxios_write_data_k81_hdl(CField* field, double* data_k8, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
       CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+   
    void cxios_write_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize)
    TRY
@@ -437,15 +463,23 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
+      cxios_write_data_k81_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ;
+    
+   }
+   CATCH_DUMP_STACK
+
+
+
+   void cxios_write_data_k82_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData);
+      field->setData(data);
 
       CTimer::get("XIOS send field").suspend();
@@ -459,21 +493,31 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
+      cxios_write_data_k82_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize) ;
+   }
+   CATCH_DUMP_STACK
+
+
+
+
+
+
+   void cxios_write_data_k83_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData);
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+   
    void cxios_write_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize)
    TRY
@@ -481,15 +525,27 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
+      cxios_write_data_k83_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize, data_Zsize) ;
+
+
+   }
+   CATCH_DUMP_STACK
+
+
+
+
+
+
+   void cxios_write_data_k84_hdl(CField* field, double* data_k8, int data_0size, int data_1size, int data_2size, int data_3size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData);
+      field->setData(data);
 
       CTimer::get("XIOS send field").suspend();
@@ -506,12 +562,26 @@
       CTimer::get("XIOS").resume();
       CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
+      cxios_write_data_k84_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size) ;
+   }
+   CATCH_DUMP_STACK
+
+
+
+   
+
+   void cxios_write_data_k85_hdl(CField* field, double* data_k8,
+                             int data_0size, int data_1size, int data_2size,
+                             int data_3size, int data_4size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData);
+      field->setData(data);
 
       CTimer::get("XIOS send field").suspend();
@@ -527,20 +597,32 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
+      cxios_write_data_k85_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size) ;
+
+   }
+   CATCH_DUMP_STACK
+
+
+
+   void cxios_write_data_k86_hdl(CField* field, double* data_k8,
+                             int data_0size, int data_1size, int data_2size,
+                             int data_3size, int data_4size, int data_5size)
+   TRY
+   {
+ 
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData);
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+   
    void cxios_write_data_k86(const char* fieldid, int fieldid_size, double* data_k8,
                              int data_0size, int data_1size, int data_2size,
@@ -550,21 +632,33 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//        context->checkBuffersAndListen();
-
-      CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
+      cxios_write_data_k86_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ;
+
+  }
+   CATCH_DUMP_STACK
+   
+
+
+
+   void cxios_write_data_k87_hdl(CField* field, double* data_k8,
+                             int data_0size, int data_1size, int data_2size,
+                             int data_3size, int data_4size, int data_5size,
+                             int data_6size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData);
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+   
    void cxios_write_data_k87(const char* fieldid, int fieldid_size, double* data_k8,
                              int data_0size, int data_1size, int data_2size,
@@ -575,109 +669,150 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//        context->checkBuffersAndListen();
-
-      CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData);
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
-   void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      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) ;
+   }
+   CATCH_DUMP_STACK
+   
+
+
+
+
+   void cxios_write_data_k40_hdl(CField* field, float* data_k4, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData);
       CArray<double, 1> data(data_Xsize) ;
       data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
-   void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      field->setData(data);
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_write_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_write_data_k40_hdl(CField::get(fieldid_str), data_k4, data_Xsize);
+
+   }
+   CATCH_DUMP_STACK
+   
+   
+   void cxios_write_data_k41_hdl(CField* field, float* data_k4, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData);
       CArray<double, 1> data(data_Xsize);
       data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
-   void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_write_data_k41_hdl(CField::get(fieldid_str), data_k4, data_Xsize);
+   }
+   CATCH_DUMP_STACK
+
+
+   void cxios_write_data_k42_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<float, 2> data_tmp(data_k4, shape(data_Xsize, data_Ysize), neverDeleteData);
       CArray<double, 2> data(data_Xsize, data_Ysize);
       data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
-   void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_write_data_k42_hdl(CField::get(fieldid_str), data_k4, data_Xsize,data_Ysize);
+   }
+   CATCH_DUMP_STACK
+
+
+
+
+   void cxios_write_data_k43_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<float, 3> data_tmp(data_k4, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData);
       CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize);
       data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+    }
+   CATCH_DUMP_STACK
+   
+   void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_write_data_k43_hdl(CField::get(fieldid_str), data_k4, data_Xsize,data_Ysize, data_Zsize);
+    }
+   CATCH_DUMP_STACK
+   
+
+   
+   void cxios_write_data_k44_hdl(CField* field, float* data_k4,
+                             int data_0size, int data_1size, int data_2size,
+                             int data_3size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData);
+      CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size);
+      data = data_tmp;
+      field->setData(data);
 
       CTimer::get("XIOS send field").suspend();
@@ -693,17 +828,27 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData);
-      CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size);
+      cxios_write_data_k44_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size) ;
+    }
+   CATCH_DUMP_STACK
+
+
+
+
+   void cxios_write_data_k45_hdl(CField* field, float* data_k4,
+                             int data_0size, int data_1size, int data_2size,
+                             int data_3size, int data_4size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData);
+      CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size);
       data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
+      field->setData(data);
 
       CTimer::get("XIOS send field").suspend();
@@ -719,17 +864,26 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData);
-      CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size);
+      cxios_write_data_k45_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size) ;
+    }
+   CATCH_DUMP_STACK
+
+
+
+   void cxios_write_data_k46_hdl(CField* field, float* data_k4,
+                             int data_0size, int data_1size, int data_2size,
+                             int data_3size, int data_4size, int data_5size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData);
+      CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size);
       data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
+      field->setData(data);
 
       CTimer::get("XIOS send field").suspend();
@@ -745,24 +899,10 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData);
-      CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size);
-      data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-    }
-   CATCH_DUMP_STACK
-
-   void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4,
+      cxios_write_data_k46_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ;
+    }
+   CATCH_DUMP_STACK
+
+
+   void cxios_write_data_k47_hdl(CField* field, float* data_k4,
                              int data_0size, int data_1size, int data_2size,
                              int data_3size, int data_4size, int data_5size,
@@ -770,27 +910,54 @@
    TRY
    {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS send field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS send field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData);
       CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size);
       data = data_tmp;
-      CField::get(fieldid_str)->setData(data);
-
-      CTimer::get("XIOS send field").suspend();
-      CTimer::get("XIOS").suspend();
-    }
-   CATCH_DUMP_STACK
+      field->setData(data);
+
+      CTimer::get("XIOS send field").suspend();
+      CTimer::get("XIOS").suspend();
+    }
+   CATCH_DUMP_STACK
+
+  void cxios_write_data_k47(const char* fieldid, int fieldid_size, float* data_k4,
+                             int data_0size, int data_1size, int data_2size,
+                             int data_3size, int data_4size, int data_5size,
+                             int data_6size)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      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) ;
+    }
+   CATCH_DUMP_STACK
+
 
    // ---------------------- Lecture des donnÃ©es ------------------------------
 
+   void cxios_read_data_k80_hdl(CField* field, double* data_k8, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData);
+      field->getData(data);
+
+      CTimer::get("XIOS recv field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+
    void cxios_read_data_k80(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize)
    TRY
@@ -798,15 +965,21 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      cxios_read_data_k80_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ;
+   }
+   CATCH_DUMP_STACK
+   
+   
+   void cxios_read_data_k81_hdl(CField* field, double* data_k8, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
 
       CTimer::get("XIOS recv field").suspend();
@@ -820,15 +993,20 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
+      cxios_read_data_k81_hdl(CField::get(fieldid_str), data_k8, data_Xsize) ;
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_read_data_k82_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData);
+      field->getData(data);
 
       CTimer::get("XIOS recv field").suspend();
@@ -842,20 +1020,27 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
-
-      CTimer::get("XIOS recv field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
+      cxios_read_data_k82_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize) ;
+   }
+   CATCH_DUMP_STACK
+
+
+   void cxios_read_data_k83_hdl(CField* field, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData);
+      field->getData(data);
+
+      CTimer::get("XIOS recv field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+
 
    void cxios_read_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize)
@@ -864,15 +1049,22 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
+      cxios_read_data_k83_hdl(CField::get(fieldid_str), data_k8, data_Xsize, data_Ysize, data_Zsize) ;
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_read_data_k84_hdl(CField* field, double* data_k8,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData);
+      field->getData(data);
 
       CTimer::get("XIOS recv field").suspend();
@@ -888,15 +1080,22 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
+      cxios_read_data_k84_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size) ;
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_read_data_k85_hdl(CField* field, double* data_k8,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size, int data_4size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData);
+      field->getData(data);
 
       CTimer::get("XIOS recv field").suspend();
@@ -912,15 +1111,22 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
+      cxios_read_data_k85_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size) ;
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_read_data_k86_hdl(CField* field, double* data_k8,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size, int data_4size, int data_5size)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
+
+      CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData);
+      field->getData(data);
 
       CTimer::get("XIOS recv field").suspend();
@@ -936,22 +1142,9 @@
       std::string fieldid_str;
       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
-
-      CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
-
-      CTimer::get("XIOS recv field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
-   void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8,
+      cxios_read_data_k86_hdl(CField::get(fieldid_str), data_k8, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ;
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_read_data_k87_hdl(CField* field, double* data_k8,
                             int data_0size, int data_1size, int data_2size,
                             int data_3size, int data_4size, int data_5size,
@@ -959,39 +1152,48 @@
    TRY
    {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData);
-      CField::get(fieldid_str)->getData(data);
-
-      CTimer::get("XIOS recv field").suspend();
-      CTimer::get("XIOS").suspend();
-   }
-   CATCH_DUMP_STACK
-
-   void cxios_read_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      field->getData(data);
+
+      CTimer::get("XIOS recv field").suspend();
+      CTimer::get("XIOS").suspend();
+   }
+   CATCH_DUMP_STACK
+
+   void cxios_read_data_k87(const char* fieldid, int fieldid_size, double* data_k8,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size, int data_4size, int data_5size,
+                            int data_6size)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      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) ;
+   }
+   CATCH_DUMP_STACK
+
+
+
+
+
+
+   void cxios_read_data_k40_hdl(CField* field, float* data_k4, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 1> data(data_Xsize);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData);
       data_tmp = data;
@@ -1002,20 +1204,27 @@
    CATCH_DUMP_STACK
 
-   void cxios_read_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+   void cxios_read_data_k40(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_read_data_k40_hdl(CField::get(fieldid_str), data_k4, data_Xsize) ;
+   }
+   CATCH_DUMP_STACK
+
+
+
+   void cxios_read_data_k41_hdl(CField* field, float* data_k4, int data_Xsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 1> data(data_Xsize);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 1> data_tmp(data_k4, shape(data_Xsize), neverDeleteData);
       data_tmp = data;
@@ -1026,20 +1235,28 @@
    CATCH_DUMP_STACK
 
-   void cxios_read_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+   void cxios_read_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_read_data_k41_hdl(CField::get(fieldid_str), data_k4, data_Xsize) ;
+   }
+   CATCH_DUMP_STACK
+
+
+
+
+   void cxios_read_data_k42_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 2> data(data_Xsize, data_Ysize);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 2> data_tmp(data_k4, shape(data_Xsize, data_Ysize), neverDeleteData);
       data_tmp = data;
@@ -1050,20 +1267,27 @@
    CATCH_DUMP_STACK
 
-   void cxios_read_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize)
-   TRY
-   {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+   void cxios_read_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_read_data_k42_hdl(CField::get(fieldid_str), data_k4, data_Xsize, data_Ysize) ;
+   }
+   CATCH_DUMP_STACK
+
+
+
+   void cxios_read_data_k43_hdl(CField* field, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize)
+   TRY
+   {
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 3> data_tmp(data_k4, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData);
       data_tmp = data;
@@ -1074,22 +1298,28 @@
    CATCH_DUMP_STACK
 
-   void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4,
+   void cxios_read_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_read_data_k43_hdl(CField::get(fieldid_str), data_k4,data_Xsize, data_Ysize, data_Zsize) ;
+    }
+   CATCH_DUMP_STACK
+
+
+   void cxios_read_data_k44_hdl(CField* field, float* data_k4,
                             int data_0size, int data_1size, int data_2size,
                             int data_3size)
    TRY
    {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 4> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData);
       data_tmp = data;
@@ -1100,22 +1330,31 @@
    CATCH_DUMP_STACK
 
-   void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4,
+   void cxios_read_data_k44(const char* fieldid, int fieldid_size, float* data_k4,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_read_data_k44_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size) ;
+    }
+   CATCH_DUMP_STACK
+
+
+
+   void cxios_read_data_k45_hdl(CField* field, float* data_k4,
                             int data_0size, int data_1size, int data_2size,
                             int data_3size, int data_4size)
    TRY
    {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 5> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData);
       data_tmp = data;
@@ -1126,22 +1365,30 @@
    CATCH_DUMP_STACK
 
-   void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4,
+   void cxios_read_data_k45(const char* fieldid, int fieldid_size, float* data_k4,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size, int data_4size)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_read_data_k45_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size) ;
+    }
+   CATCH_DUMP_STACK
+
+
+   void cxios_read_data_k46_hdl(CField* field, float* data_k4,
                             int data_0size, int data_1size, int data_2size,
                             int data_3size, int data_4size, int data_5size)
    TRY
    {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 6> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData);
       data_tmp = data;
@@ -1152,5 +1399,18 @@
    CATCH_DUMP_STACK
 
-   void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4,
+   void cxios_read_data_k46(const char* fieldid, int fieldid_size, float* data_k4,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size, int data_4size, int data_5size)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      cxios_read_data_k46_hdl(CField::get(fieldid_str), data_k4, data_0size, data_1size, data_2size, data_3size, data_4size, data_5size) ;
+    }
+   CATCH_DUMP_STACK
+
+
+
+   void cxios_read_data_k47_hdl(CField* field, float* data_k4,
                             int data_0size, int data_1size, int data_2size,
                             int data_3size, int data_4size, int data_5size,
@@ -1158,17 +1418,13 @@
    TRY
    {
-      std::string fieldid_str;
-      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
-
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS recv field").resume();
-
-      CContext* context = CContext::getCurrent();
-      if (!context->hasServer && !context->client->isAttachedModeEnabled())
-        context->eventLoop();
-//ym        context->checkBuffersAndListen();
+      CTimer::get("XIOS").resume();
+      CTimer::get("XIOS recv field").resume();
+
+      CContext* context = CContext::getCurrent();
+      if (!context->hasServer && !context->client->isAttachedModeEnabled())
+        context->eventLoop();
 
       CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size);
-      CField::get(fieldid_str)->getData(data);
+      field->getData(data);
       CArray<float, 7> data_tmp(data_k4, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData);
       data_tmp = data;
@@ -1178,3 +1434,15 @@
     }
    CATCH_DUMP_STACK
+ 
+   void cxios_read_data_k47(const char* fieldid, int fieldid_size, float* data_k4,
+                            int data_0size, int data_1size, int data_2size,
+                            int data_3size, int data_4size, int data_5size,
+                            int data_6size)
+   TRY
+   {
+      std::string fieldid_str;
+      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;
+      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) ;
+    }
+   CATCH_DUMP_STACK
 } // extern "C"
