Index: XIOS/dev/branch_yushan/arch/arch-CURIE_Intel.fcm
===================================================================
--- XIOS/dev/branch_yushan/arch/arch-CURIE_Intel.fcm	(revision 1127)
+++ XIOS/dev/branch_yushan/arch/arch-CURIE_Intel.fcm	(revision 1128)
@@ -3,5 +3,5 @@
 ################################################################################
 
-%CCOMPILER      mpicc -openmp -D_intelmpi -D_usingEP 
+%CCOMPILER      mpicc -openmp -D_intelmpi -D_usingEP  
 %FCOMPILER      mpif90 -openmp
 %LINKER         mpif90 -openmp -Wl,-rpath -Wl,$HOME/lib/netcdf_f_intel/lib
Index: XIOS/dev/branch_yushan/bld.cfg
===================================================================
--- XIOS/dev/branch_yushan/bld.cfg	(revision 1127)
+++ XIOS/dev/branch_yushan/bld.cfg	(revision 1128)
@@ -33,5 +33,5 @@
 #bld::target libxios.a 
 #bld::target generate_fortran_interface.exe 
-bld::target xios_server.exe 
+#bld::target xios_server.exe 
 #bld::target test_remap.exe
 #bld::target test_new_features.exe test_unstruct_complete.exe 
Index: XIOS/dev/branch_yushan/extern/src_ep_dev/ep_fortran.cpp
===================================================================
--- XIOS/dev/branch_yushan/extern/src_ep_dev/ep_fortran.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/extern/src_ep_dev/ep_fortran.cpp	(revision 1128)
@@ -31,5 +31,5 @@
       {
         fc_comm_map.insert(std::make_pair( std::make_pair( fint, omp_get_thread_num()) , comm));
-        printf("EP_Comm_c2f : MAP insert: %d, %d, %p\n", fint, omp_get_thread_num(), comm.ep_comm_ptr);
+        //printf("EP_Comm_c2f : MAP insert: %d, %d, %p\n", fint, omp_get_thread_num(), comm.ep_comm_ptr);
       }
     }
@@ -54,5 +54,5 @@
       MPI_Comm comm_ptr;
       comm_ptr = it->second;
-      printf("EP_Comm_f2c : MAP find: %d, %d, %p\n", it->first.first, it->first.second, comm_ptr.ep_comm_ptr);
+      //printf("EP_Comm_f2c : MAP find: %d, %d, %p\n", it->first.first, it->first.second, comm_ptr.ep_comm_ptr);
       return  comm_ptr;
     }
Index: XIOS/dev/branch_yushan/src/buffer_client.cpp
===================================================================
--- XIOS/dev/branch_yushan/src/buffer_client.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/buffer_client.cpp	(revision 1128)
@@ -26,5 +26,6 @@
     buffer[1] = new char[bufferSize];
     retBuffer = new CBufferOut(buffer[current], bufferSize);
-    //info(10) << "CClientBuffer: allocated 2 x " << bufferSize << " bytes for server " << serverRank << " with a maximum of " << maxBufferedEvents << " buffered events" << endl;
+    #pragma omp critical (_output)
+    info(10) << "CClientBuffer: allocated 2 x " << bufferSize << " bytes for server " << serverRank << " with a maximum of " << maxBufferedEvents << " buffered events" << endl;
   }
 
Index: XIOS/dev/branch_yushan/src/calendar.cpp
===================================================================
--- XIOS/dev/branch_yushan/src/calendar.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/calendar.cpp	(revision 1128)
@@ -117,5 +117,6 @@
       const CDate& CCalendar::update(int step)
       {
-        //info(20) << "update step : " << step << " timestep " << this->timestep << std::endl;
+        #pragma omp critical (_output)
+        info(80)<< "update step : " << step << " timestep " << this->timestep << std::endl;
         return (this->currentDate = this->getInitDate() + step * this->timestep);
       }
Index: XIOS/dev/branch_yushan/src/client.cpp
===================================================================
--- XIOS/dev/branch_yushan/src/client.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/client.cpp	(revision 1128)
@@ -11,7 +11,11 @@
 #include "timer.hpp"
 #include "buffer_client.hpp"
+#include "log.hpp"
+
 
 namespace xios
 {
+    extern int test_omp_rank;
+    #pragma omp threadprivate(test_omp_rank)
 
     MPI_Comm CClient::intraComm ;
@@ -24,4 +28,6 @@
     StdOFStream CClient::m_errorStream;
 
+    StdOFStream CClient::array_infoStream[10];
+
     void CClient::initialize(const string& codeId, MPI_Comm& localComm, MPI_Comm& returnComm)
     {
@@ -103,10 +109,13 @@
             MPI_Comm_size(intraComm,&intraCommSize) ;
             MPI_Comm_rank(intraComm,&intraCommRank) ;
+            
             #pragma omp critical(_output)
             {
-              info(50)<<"intercommCreate::client "<<rank<<" intraCommSize : "<<intraCommSize
+              info(10)<<"intercommCreate::client "<<test_omp_rank<< " "<< &test_omp_rank <<" intraCommSize : "<<intraCommSize
                  <<" intraCommRank :"<<intraCommRank<<"  serverLeader "<< serverLeader
                  <<" globalComm : "<< &(CXios::globalComm) << endl ;  
             }
+
+            
             
             MPI_Intercomm_create(intraComm,0,CXios::globalComm,serverLeader,0,&interComm) ;
@@ -162,4 +171,6 @@
       MPI_Comm_dup(intraComm,&returnComm) ;
 
+      
+
     }
 
@@ -167,6 +178,4 @@
     void CClient::registerContext(const string& id,MPI_Comm contextComm)
     {
-      //#pragma omp critical(_output)
-      //info(50) << "Client "<<getRank() << " start registerContext using info output" << endl;
 
       CContext::setCurrent(id) ;
@@ -175,8 +184,4 @@
       int tmp_rank;
       MPI_Comm_rank(contextComm,&tmp_rank) ;
-      
-      // #pragma omp critical (_output)
-      //printf("Client %d : client.cpp Client::registerContext %s context add = %p\n", tmp_rank, id, &(*context));
-      
       
       StdString idServer(id);
@@ -214,7 +219,7 @@
         MPI_Intercomm_create(contextComm,0,CXios::globalComm,serverLeader,10+globalRank,&contextInterComm) ;
         
-        //#pragma omp critical (_output)
-        //info(10)<<"Register new Context : "<<id<<endl ;
-                      
+        #pragma omp critical(_output)
+        info(10)<<" RANK "<< tmp_rank<<" Register new Context : "<<id<<endl ;
+
 
         MPI_Comm inter ;
@@ -224,9 +229,6 @@
         
         context->initClient(contextComm,contextInterComm) ;
-        
-        // #pragma omp critical (_output)
-        // printf("Client %d : context->initClient(contextComm,contextInterComm) OK \n", getRank()) ;
-        
-        //contextInterComms->push_back(contextInterComm);
+
+        
         if(contextInterComms_ptr == NULL) contextInterComms_ptr = new std::list<MPI_Comm>;
         contextInterComms_ptr->push_back(contextInterComm);
@@ -251,5 +253,5 @@
         if(contextInterComms_ptr == NULL) contextInterComms_ptr = new std::list<MPI_Comm>;
         contextInterComms_ptr->push_back(contextInterComm);
-        //contextInterComms->push_back(contextInterComm);
+
       }
     }
@@ -286,15 +288,18 @@
       }
       
-      
-        //info(20) << "Client "<<rank<<" : Client side context is finalized "<< endl ;
-//         report(0) <<"     Performance report : total time spent for XIOS : "<< CTimer::get("XIOS").getCumulatedTime()<<" s"<<endl ;
-//         report(0)<< "     Performance report : time spent for waiting free buffer : "<< CTimer::get("Blocking time").getCumulatedTime()<<" s"<<endl ;
-//         report(0)<< "     Performance report : Ratio : "<< CTimer::get("Blocking time").getCumulatedTime()/CTimer::get("XIOS").getCumulatedTime()*100.<<" %"<<endl ;
-//         report(0)<< "     Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server"<<endl ;
-// //      report(0)<< "     Memory report : Current buffer_size : "<<CXios::bufferSize<<endl ;
-//         report(0)<< "     Memory report : Minimum buffer size required : " << CClientBuffer::maxRequestSize << " bytes" << endl ;
-//         report(0)<< "     Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file"<<endl ;
-      
-
+      #pragma omp critical (_output)
+      info(20) << "Client "<<rank<<" : Client side context is finalized "<< endl ;
+
+  /*    #pragma omp critical (_output)
+      {
+         report(0) <<"     Performance report : total time spent for XIOS : "<< CTimer::get("XIOS").getCumulatedTime()<<" s"<<endl ;
+         report(0)<< "     Performance report : time spent for waiting free buffer : "<< CTimer::get("Blocking time").getCumulatedTime()<<" s"<<endl ;
+         report(0)<< "     Performance report : Ratio : "<< CTimer::get("Blocking time").getCumulatedTime()/CTimer::get("XIOS").getCumulatedTime()*100.<<" %"<<endl ;
+         report(0)<< "     Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server"<<endl ;
+         report(0)<< "     Memory report : Current buffer_size : "<<CXios::bufferSize<<endl ;
+         report(0)<< "     Memory report : Minimum buffer size required : " << CClientBuffer::maxRequestSize << " bytes" << endl ;
+         report(0)<< "     Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file"<<endl ;
+       }      
+*/
    }
 
@@ -325,10 +330,9 @@
 
       fileNameClient << fileName << "_" << std::setfill('0') << std::setw(numDigit) << getRank() << ext;
-      //printf("getrank() = %d, file name = %s\n", getRank(), fileNameClient.str().c_str());
-      
-        fb->open(fileNameClient.str().c_str(), std::ios::out);
-        if (!fb->is_open())
-          ERROR("void CClient::openStream(const StdString& fileName, const StdString& ext, std::filebuf* fb)",
-              << std::endl << "Can not open <" << fileNameClient << "> file to write the client log(s).");  
+      
+      fb->open(fileNameClient.str().c_str(), std::ios::out);
+      if (!fb->is_open())
+        ERROR("void CClient::openStream(const StdString& fileName, const StdString& ext, std::filebuf* fb)",
+            << std::endl << "Can not open <" << fileNameClient << "> file to write the client log(s).");  
       
       
@@ -343,9 +347,13 @@
     void CClient::openInfoStream(const StdString& fileName)
     {
-      std::filebuf* fb = m_infoStream.rdbuf();
-      openStream(fileName, ".out", fb);
-
-      info.write2File(fb);
-      report.write2File(fb);
+      //std::filebuf* fb = m_infoStream.rdbuf();
+
+      info_FB[omp_get_thread_num()] = array_infoStream[omp_get_thread_num()].rdbuf();
+          
+      openStream(fileName, ".out", info_FB[omp_get_thread_num()]);
+
+      info.write2File(info_FB[omp_get_thread_num()]);
+      report.write2File(info_FB[omp_get_thread_num()]);
+      
     }
 
Index: XIOS/dev/branch_yushan/src/client.hpp
===================================================================
--- XIOS/dev/branch_yushan/src/client.hpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/client.hpp	(revision 1128)
@@ -59,4 +59,6 @@
         #pragma omp threadprivate(m_errorStream)
 
+        static StdOFStream array_infoStream[10];
+
         static void openStream(const StdString& fileName, const StdString& ext, std::filebuf* fb);
     };
Index: XIOS/dev/branch_yushan/src/context_server.cpp
===================================================================
--- XIOS/dev/branch_yushan/src/context_server.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/context_server.cpp	(revision 1128)
@@ -221,5 +221,6 @@
     {
       finished=true;
-      //info(20)<<"Server Side context <"<<context->getId()<<"> finalized"<<endl;
+      #pragma omp critical (_output)
+      info(20)<<"Server Side context <"<<context->getId()<<"> finalized"<<endl;
       std::map<int, StdSize>::const_iterator itbMap = mapBufferSize_.begin(),
                                              iteMap = mapBufferSize_.end(), itMap;
Index: XIOS/dev/branch_yushan/src/cxios.cpp
===================================================================
--- XIOS/dev/branch_yushan/src/cxios.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/cxios.cpp	(revision 1128)
@@ -14,30 +14,34 @@
 namespace xios
 {
+
+  extern int test_omp_rank;
+  #pragma omp threadprivate(test_omp_rank)
+
   const string CXios::rootFile="./iodef.xml" ;
   const string CXios::xiosCodeId="xios.x" ;
   const string CXios::clientFile="./xios_client";
   const string CXios::serverFile="./xios_server";
-  //#pragma omp threadprivate(CXios::rootFile, CXios::xiosCodeId, CXios::clientFile, CXios::serverFile)
+
 
   bool CXios::isClient ;
   bool CXios::isServer ;
-  //#pragma omp threadprivate(CXios::isServer, CXios::isClient)
+
 
   MPI_Comm CXios::globalComm ;
-  //#pragma omp threadprivate(CXios::globalComm)
+
   
   bool CXios::usingOasis ;
   bool CXios::usingServer = false;
- // #pragma omp threadprivate(CXios::usingOasis, CXios::usingServer)
+
 
   double CXios::bufferSizeFactor = 1.0;
   const double CXios::defaultBufferSizeFactor = 1.0;
   StdSize CXios::minBufferSize = 1024 * sizeof(double);
-  //#pragma omp threadprivate(CXios::bufferSizeFactor, CXios::defaultBufferSizeFactor, CXios::minBufferSize)
+
 
   bool CXios::printLogs2Files;
   bool CXios::isOptPerformance = true;
   CRegistry* CXios::globalRegistry = 0;
-  //#pragma omp threadprivate(CXios::printLogs2Files, CXios::isOptPerformance)
+
 
 
@@ -46,4 +50,5 @@
   {    
     set_new_handler(noMemory);
+    
     
     #pragma omp critical
@@ -80,4 +85,5 @@
     bufferSizeFactor = getin<double>("buffer_size_factor", defaultBufferSizeFactor);
     minBufferSize = getin<int>("min_buffer_size", 1024 * sizeof(double));
+
  
     int num_ep;
@@ -85,5 +91,4 @@
     { 
       num_ep = omp_get_num_threads();
-      //printf("Client %d: num_ep = %d\n", omp_get_thread_num(), num_ep);
     }
     
@@ -91,5 +96,4 @@
     { 
       num_ep = omp_get_num_threads();
-      //printf("Server %d: num_ep = %d\n", omp_get_thread_num(), num_ep); 
     }
     
@@ -109,8 +113,7 @@
     int tmp_rank;
     MPI_Comm_rank(CXios::globalComm, &tmp_rank);
-    if(isClient) printf("client thread %d/%d, globalComm = %p, passage = %p\n", 
-                         omp_get_thread_num(), tmp_rank, 
-                         &(CXios::globalComm), passage);
-    //if(isServer) printf("server thread %d/%d, globalComm = %p\n", omp_get_thread_num(), tmp_rank, &globalComm);
+
+    
+    test_omp_rank = tmp_rank;
     
   }
@@ -136,10 +139,9 @@
     isServer = !usingServer;
     
-    //printf("CXios::initClientSide OK, printLogs2Files = %d\n", printLogs2Files);
-    
     if (printLogs2Files)
     {
+      #pragma omp critical
       CClient::openInfoStream(clientFile);
-      //CClient::openErrorStream(clientFile);
+      CClient::openErrorStream(clientFile);
     }
     else
@@ -157,9 +159,11 @@
      if (CClient::getRank()==0)
      {
-       //info(80)<<"Write data base Registry"<<endl<<globalRegistry->toString()<<endl ;
+       #pragma omp critical (_output)
+       info(80)<<"Write data base Registry"<<endl<<globalRegistry->toString()<<endl ;
        globalRegistry->toFile("xios_registry.bin") ;
        delete globalRegistry ;
      }
      CClient::closeInfoStream();
+
   
 
@@ -189,5 +193,5 @@
 
     xml::CXMLParser::ParseFile(rootFile, parseList);
-
+    
     parseXiosConfig();
   }
Index: XIOS/dev/branch_yushan/src/cxios.hpp
===================================================================
--- XIOS/dev/branch_yushan/src/cxios.hpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/cxios.hpp	(revision 1128)
@@ -5,8 +5,5 @@
 #include "mpi.hpp"
 #include "registry.hpp"
-#ifdef _usingEP
-//#include "ep_declaration.hpp"
-#endif
-
+#include "log.hpp"
 
 namespace xios
Index: XIOS/dev/branch_yushan/src/log.cpp
===================================================================
--- XIOS/dev/branch_yushan/src/log.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/log.cpp	(revision 1128)
@@ -1,8 +1,38 @@
 #include "log.hpp"
+#include <string>
+#include <iostream>
+#include <string>
 
 namespace xios
 {
+
+  std::filebuf* info_FB[10];
+
+
   CLog info("info") ;
   CLog report("report") ;
   CLog error("error", cerr.rdbuf()) ;
+
+  
+  CLog& CLog::operator()(int l)
+    {
+      if (l<=level)
+      {
+        omp_set_lock( &mutex );
+        //rdbuf(strBuf_); 
+        rdbuf(strBuf_array[omp_get_thread_num()]); 
+        *this<<"-> "<<name<<" : " ;
+        omp_unset_lock( &mutex );
+      }
+      else rdbuf(NULL) ;
+      return *this;
+    }
+
+
+
+  int test_omp_rank;
+  #pragma omp threadprivate(test_omp_rank)
+
+  
+
 }
Index: XIOS/dev/branch_yushan/src/log.hpp
===================================================================
--- XIOS/dev/branch_yushan/src/log.hpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/log.hpp	(revision 1128)
@@ -5,4 +5,6 @@
 #include <iostream>
 #include <string>
+#include <stdio.h>
+#include <omp.h>
 
 namespace xios
@@ -14,15 +16,18 @@
     public :
     CLog(const string& name_, std::streambuf* sBuff = cout.rdbuf())
-      : ostream(sBuff), level(0), name(name_), strBuf_(sBuff) {}
-    CLog& operator()(int l)
+      : ostream(cout.rdbuf()), level(0), name(name_), strBuf_(sBuff) 
     {
-      if (l<=level)
-      {
-        rdbuf(strBuf_);
-        *this<<"-> "<<name<<" : " ;
-      }
-      else rdbuf(NULL) ;
-      return *this;
+      omp_init_lock( &mutex );
+      for(int i=0; i<10; i++)
+        strBuf_array[i] = sBuff;
     }
+
+    ~CLog()
+    {
+      omp_destroy_lock( &mutex );
+    }
+
+
+    CLog& operator()(int l);
     void setLevel(int l) {level=l; }
     int  getLevel() {return level ;}
@@ -46,9 +51,16 @@
      * \param [in] pointer to new streambuf
     */
-    void changeStreamBuff(std::streambuf* sBuff) { strBuf_ = sBuff; rdbuf(sBuff); }
+    void changeStreamBuff(std::streambuf* sBuff) 
+    { 
+      strBuf_ = sBuff; 
+      strBuf_array[omp_get_thread_num()] = sBuff;
+      rdbuf(sBuff);
+    }
 
     int level ;
     string name ;
     std::streambuf* strBuf_;
+    std::streambuf* strBuf_array[10];
+    omp_lock_t mutex;
   };
 
@@ -56,4 +68,9 @@
   extern CLog report;
   extern CLog error;
+
+
+  extern std::filebuf* info_FB[10];
+
+
 }
 #endif
Index: XIOS/dev/branch_yushan/src/node/context.cpp
===================================================================
--- XIOS/dev/branch_yushan/src/node/context.cpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/node/context.cpp	(revision 1128)
@@ -247,5 +247,5 @@
      hasClient=true;
      
-     #pragma omp critical
+
      client = new CContextClient(this, intraComm, interComm, cxtServer);
 
@@ -253,16 +253,10 @@
      MPI_Comm_rank(intraComm, &tmp_rank);
      MPI_Barrier(intraComm);
-
-     // #pragma omp critical (_output)
-     // printf("Client %d : context.cpp client = new CContextClient, client add = %p, clientRank = %d\n", tmp_rank, &(*client), client->clientRank) ;
      
-     #pragma omp critical
+
      registryIn=new CRegistry(intraComm);
-     
-
+    
      registryIn->setPath(getId()) ;
-     
-     // #pragma omp critical (_output)
-     // printf("Client %d : context.cpp registryIn->setPath, client add = %p, clientRank = %d\n", tmp_rank, &(*client), client->clientRank) ;
+   
 
      if (client->clientRank==0) registryIn->fromFile("xios_registry.bin") ;
@@ -825,5 +819,4 @@
      MPI_Comm_rank(MPI_COMM_WORLD, &myRank);
 
-     //printf("myRank = %d, in postProcessing, isPostProcessed = %d\n", myRank, isPostProcessed);
      if (isPostProcessed) return;
 
@@ -834,41 +827,41 @@
         ERROR("CContext::postProcessing()", << "A timestep must be defined for the context \"" << getId() << "!\"")
       // Calendar first update to set the current date equals to the start date
-      calendar->update(0);  //printf("myRank = %d, calendar->update(0) OK\n", myRank);
+      calendar->update(0); 
 
       // Find all inheritance in xml structure
-      this->solveAllInheritance();  //printf("myRank = %d, this->solveAllInheritance OK\n", myRank);
+      this->solveAllInheritance();  
 
       // Check if some axis, domains or grids are eligible to for compressed indexed output.
       // Warning: This must be done after solving the inheritance and before the rest of post-processing
-      checkAxisDomainsGridsEligibilityForCompressedOutput();  //printf("myRank = %d, checkAxisDomainsGridsEligibilityForCompressedOutput OK\n", myRank);
+      checkAxisDomainsGridsEligibilityForCompressedOutput(); 
 
       // Check if some automatic time series should be generated
       // Warning: This must be done after solving the inheritance and before the rest of post-processing
-      prepareTimeseries();  //printf("myRank = %d, prepareTimeseries OK\n", myRank);
+      prepareTimeseries(); 
 
       //Initialisation du vecteur 'enabledFiles' contenant la liste des fichiers  sortir.
-      this->findEnabledFiles();  //printf("myRank = %d, this->findEnabledFiles OK\n", myRank);
-      this->findEnabledReadModeFiles();  //printf("myRank = %d, this->findEnabledReadModeFiles OK\n", myRank);
+      this->findEnabledFiles(); 
+      this->findEnabledReadModeFiles();
 
       // Find all enabled fields of each file
-      this->findAllEnabledFields();  //printf("myRank = %d, this->findAllEnabledFields OK\n", myRank);
-      this->findAllEnabledFieldsInReadModeFiles();  //printf("myRank = %d, this->findAllEnabledFieldsInReadModeFiles OK\n", myRank);
+      this->findAllEnabledFields();  
+      this->findAllEnabledFieldsInReadModeFiles();
 
      if (hasClient && !hasServer)
      {
       // Try to read attributes of fields in file then fill in corresponding grid (or domain, axis)
-      this->readAttributesOfEnabledFieldsInReadModeFiles();  //printf("myRank = %d, this->readAttributesOfEnabledFieldsInReadModeFiles OK\n", myRank);
+      this->readAttributesOfEnabledFieldsInReadModeFiles(); 
      }
 
       // Only search and rebuild all reference objects of enable fields, don't transform
-      this->solveOnlyRefOfEnabledFields(false);  //printf("myRank = %d, this->solveOnlyRefOfEnabledFields(false) OK\n", myRank);
+      this->solveOnlyRefOfEnabledFields(false);  
 
       // Search and rebuild all reference object of enabled fields
-      this->solveAllRefOfEnabledFields(false);  //printf("myRank = %d, this->solveAllRefOfEnabledFields(false) OK\n", myRank);
+      this->solveAllRefOfEnabledFields(false);  
 
       // Find all fields with read access from the public API
-      findFieldsWithReadAccess();  //printf("myRank = %d, findFieldsWithReadAccess OK\n", myRank);
+      findFieldsWithReadAccess(); 
       // and solve the all reference for them
-      solveAllRefOfFieldsWithReadAccess();  //printf("myRank = %d, solveAllRefOfFieldsWithReadAccess OK\n", myRank);
+      solveAllRefOfFieldsWithReadAccess();  
 
       isPostProcessed = true;
@@ -1159,7 +1152,5 @@
    void CContext::updateCalendar(int step)
    {
-      //info(50) << "updateCalendar : before : " << calendar->getCurrentDate() << endl;
       calendar->update(step);
-      //info(50) << "updateCalendar : after : " << calendar->getCurrentDate() << endl;
 
       if (hasClient)
Index: XIOS/dev/branch_yushan/src/node/transformation.hpp
===================================================================
--- XIOS/dev/branch_yushan/src/node/transformation.hpp	(revision 1127)
+++ XIOS/dev/branch_yushan/src/node/transformation.hpp	(revision 1128)
@@ -34,5 +34,5 @@
       typedef CTransformation<T>* (*CreateTransformationCallBack)(const StdString&, xml::CXMLNode*);
       typedef std::map<ETranformationType, CreateTransformationCallBack> CallBackMap;
-      static CallBackMap* transformationCreationCallBacks_;
+      static CallBackMap* transformationCreationCallBacks_;  
       //#pragma omp threadprivate(transformationCreationCallBacks_)
 
@@ -45,5 +45,5 @@
 
   template<typename T>
-  typename CTransformation<T>::CallBackMap* CTransformation<T>::transformationCreationCallBacks_ = 0; //CTransformation<T>::CallBackMap();
+  typename CTransformation<T>::CallBackMap* CTransformation<T>::transformationCreationCallBacks_ = 0;//CTransformation<T>::CallBackMap();
 
   template<typename T>
Index: XIOS/dev/branch_yushan/src/test/test_omp.f90
===================================================================
--- XIOS/dev/branch_yushan/src/test/test_omp.f90	(revision 1127)
+++ XIOS/dev/branch_yushan/src/test/test_omp.f90	(revision 1128)
@@ -83,9 +83,9 @@
     field_A(1:ni,1:nj,:)=field_A_glo(ibegin+1:iend+1,jbegin+1:jend+1,:)
 
-    print*, "xios init OK", rank, size
+    !print*, "xios init OK", rank, size
 
     CALL xios_context_initialize("test",comm)
 
-    print*, "xios_context_initialize OK", rank, size
+    !print*, "xios_context_initialize OK", rank, size
 
     CALL xios_get_handle("test",ctx_hdl)
@@ -94,5 +94,5 @@
   
     CALL xios_get_calendar_type(calendar_type)
-    print*, "xios_get_calendar_type OK", rank, size
+    !print*, "xios_get_calendar_type OK", rank, size
 
     CALL xios_set_axis_attr("axis_A",n_glo=llm ,value=lval) ;
@@ -101,5 +101,5 @@
     CALL xios_set_domain_attr("domain_A",lonvalue_2D=lon,latvalue_2D=lat)
     CALL xios_set_fieldgroup_attr("field_definition",enabled=.TRUE.)
-     print*, "test block OK", rank, size
+    !print*, "test block OK", rank, size
 
     CALL xios_get_handle("field_definition",fieldgroup_hdl)
@@ -113,38 +113,38 @@
     dtime%second = 3600
     CALL xios_set_timestep(dtime)
-    print*, "xios_set_timestep OK", rank, size    
+    !print*, "xios_set_timestep OK", rank, size    
 
    ! The calendar is created as soon as the calendar type is defined. This way
    ! calendar operations can be used before the context definition is closed
    CALL xios_get_time_origin(date)
-   PRINT *, "--> year length = ", xios_get_year_length_in_seconds(date%year)
-   PRINT *, "--> day length = ", xios_get_day_length_in_seconds()
+   !PRINT *, "--> year length = ", xios_get_year_length_in_seconds(date%year)
+   !PRINT *, "--> day length = ", xios_get_day_length_in_seconds()
    CALL xios_date_convert_to_string(date, date_str)
-   PRINT *, "time_origin = ", date_str
-   PRINT *, "xios_date_get_second_of_year(time_origin) = ", xios_date_get_second_of_year(date)
-   PRINT *, "xios_date_get_day_of_year(time_origin) = ", xios_date_get_day_of_year(date)
-   PRINT *, "xios_date_get_fraction_of_year(time_origin) = ", xios_date_get_fraction_of_year(date)
-   PRINT *, "xios_date_get_second_of_day(time_origin) = ", xios_date_get_second_of_day(date)
-   PRINT *, "xios_date_get_fraction_of_day(time_origin) = ", xios_date_get_fraction_of_day(date)
+   !PRINT *, "time_origin = ", date_str
+   !PRINT *, "xios_date_get_second_of_year(time_origin) = ", xios_date_get_second_of_year(date)
+   !PRINT *, "xios_date_get_day_of_year(time_origin) = ", xios_date_get_day_of_year(date)
+   !PRINT *, "xios_date_get_fraction_of_year(time_origin) = ", xios_date_get_fraction_of_year(date)
+   !PRINT *, "xios_date_get_second_of_day(time_origin) = ", xios_date_get_second_of_day(date)
+   !PRINT *, "xios_date_get_fraction_of_day(time_origin) = ", xios_date_get_fraction_of_day(date)
    dtime%timestep = 1
    dtime = 0.5 * dtime
    CALL xios_duration_convert_to_string(dtime, dtime_str)
-   PRINT *, "duration = ", dtime_str
+   !PRINT *, "duration = ", dtime_str
    date = date + 3 * (dtime + dtime)
    CALL xios_date_convert_to_string(date, date_str)
-   PRINT *, "date = time_origin + 3 * (duration + duration) = ", date_str
-   PRINT *, "xios_date_convert_to_seconds(date) = ", xios_date_convert_to_seconds(date)
-   PRINT *, "xios_date_convert_to_seconds(date - 2.5h) = ", xios_date_convert_to_seconds(date - 2.5 * xios_hour)
+   !PRINT *, "date = time_origin + 3 * (duration + duration) = ", date_str
+   !PRINT *, "xios_date_convert_to_seconds(date) = ", xios_date_convert_to_seconds(date)
+   !PRINT *, "xios_date_convert_to_seconds(date - 2.5h) = ", xios_date_convert_to_seconds(date - 2.5 * xios_hour)
 
    ni=0 ; lonvalue(:,:)=0;
    CALL xios_get_domain_attr("domain_A",ni=ni,lonvalue_2D=lonvalue)
-   print *,"ni",ni
+   !print *,"ni",ni
    !print *,"lonvalue",lonvalue;
 
    CALL xios_is_defined_field_attr("field_A",enabled=ok)
-   PRINT *,"field_A : attribute enabled is defined ? ",ok 
+   !PRINT *,"field_A : attribute enabled is defined ? ",ok 
 
    CALL xios_close_context_definition()
-   print*, "xios_close_context_definition OK"  
+   !print*, "xios_close_context_definition OK"  
 
    PRINT*,"field field_A is active ? ",xios_field_is_active("field_A")
@@ -157,5 +157,5 @@
 
     CALL xios_context_finalize()
-    print*, "xios_context_finalize OK", rank, size
+    !print*, "xios_context_finalize OK", rank, size
 
     CALL xios_finalize()
@@ -170,5 +170,5 @@
      !$omp barrier
 
-     print*, "MPI_COMM_FREE OK", rank, size
+     !print*, "MPI_COMM_FREE OK", rank, size
 
 
