Index: XIOS/dev/dev_olga/src/node/axis.cpp
===================================================================
--- XIOS/dev/dev_olga/src/node/axis.cpp	(revision 1600)
+++ XIOS/dev/dev_olga/src/node/axis.cpp	(revision 1612)
@@ -48,4 +48,5 @@
    bool CAxis::dummyTransformationMapList_ = CAxis::initializeTransformationMap(CAxis::transformationMapList_);
    bool CAxis::initializeTransformationMap(std::map<StdString, ETranformationType>& m)
+   TRY
    {
      m["zoom_axis"] = TRANS_ZOOM_AXIS;
@@ -60,31 +61,40 @@
 
    }
+   CATCH
 
    ///---------------------------------------------------------------
 
    const std::set<StdString> & CAxis::getRelFiles(void) const
+   TRY
    {
       return (this->relFiles);
    }
+   CATCH
 
    bool CAxis::IsWritten(const StdString & filename) const
+   TRY
    {
       return (this->relFiles.find(filename) != this->relFiles.end());
    }
+   CATCH
 
    bool CAxis::isWrittenCompressed(const StdString& filename) const
+   TRY
    {
       return (this->relFilesCompressed.find(filename) != this->relFilesCompressed.end());
    }
+   CATCH
 
    bool CAxis::isDistributed(void) const
+   TRY
    {
       bool distributed = (!this->begin.isEmpty() && !this->n.isEmpty() && (this->begin + this->n < this->n_glo)) ||
              (!this->n.isEmpty() && (this->n != this->n_glo));
-      // A same stupid condition to make sure that if there is only one client, axis
+      // A condition to make sure that if there is only one client, axis
       // should be considered to be distributed. This should be a temporary solution     
       distributed |= (1 == CContext::getCurrent()->client->clientSize);
       return distributed;
    }
+   CATCH
 
    /*!
@@ -94,17 +104,23 @@
     */
    bool CAxis::isCompressible(void) const
+   TRY
    {
       return isCompressible_;
    }
+   CATCH
 
    void CAxis::addRelFile(const StdString & filename)
+   TRY
    {
       this->relFiles.insert(filename);
    }
+   CATCH_DUMP_ATTR
 
    void CAxis::addRelFileCompressed(const StdString& filename)
+   TRY
    {
       this->relFilesCompressed.insert(filename);
    }
+   CATCH_DUMP_ATTR
 
    //----------------------------------------------------------------
@@ -115,4 +131,5 @@
    */
    int CAxis::getNumberWrittenIndexes(MPI_Comm writtenCom)
+   TRY
    {
      int writtenSize;
@@ -120,4 +137,5 @@
      return numberWrittenIndexes_[writtenSize];
    }
+   CATCH_DUMP_ATTR
 
    /*!
@@ -126,4 +144,5 @@
    */
    int CAxis::getTotalNumberWrittenIndexes(MPI_Comm writtenCom)
+   TRY
    {
      int writtenSize;
@@ -131,4 +150,5 @@
      return totalNumberWrittenIndexes_[writtenSize];
    }
+   CATCH_DUMP_ATTR
 
    /*!
@@ -137,4 +157,5 @@
    */
    int CAxis::getOffsetWrittenIndexes(MPI_Comm writtenCom)
+   TRY
    {
      int writtenSize;
@@ -142,6 +163,8 @@
      return offsetWrittenIndexes_[writtenSize];
    }
+   CATCH_DUMP_ATTR
 
    CArray<int, 1>& CAxis::getCompressedIndexToWriteOnServer(MPI_Comm writtenCom)
+   TRY
    {
      int writtenSize;
@@ -149,4 +172,6 @@
      return compressedIndexToWriteOnServer[writtenSize];
    }
+   CATCH_DUMP_ATTR
+
    //----------------------------------------------------------------
 
@@ -158,4 +183,5 @@
    std::map<int, StdSize> CAxis::getAttributesBufferSize(CContextClient* client, const std::vector<int>& globalDim, int orderPositionInGrid,
                                                          CServerDistributionDescription::ServerDistributionType distType)
+   TRY
    {
 
@@ -221,7 +247,7 @@
        }
      }
-
      return attributesSizes;
    }
+   CATCH_DUMP_ATTR
 
    //----------------------------------------------------------------
@@ -234,8 +260,10 @@
 
    CAxis* CAxis::createAxis()
+   TRY
    {
      CAxis* axis = CAxisGroup::get("axis_definition")->createChild();
      return axis;
    }
+   CATCH
 
    /*!
@@ -244,4 +272,5 @@
    */
    void CAxis::checkAttributes(void)
+   TRY
    {
      CContext* context=CContext::getCurrent();
@@ -311,4 +340,5 @@
       }
    }
+   CATCH_DUMP_ATTR
 
    /*!
@@ -317,4 +347,5 @@
 
    void CAxis::checkData()
+   TRY
    {
       if (data_begin.isEmpty()) data_begin.setValue(0);
@@ -363,4 +394,5 @@
 
    }
+   CATCH_DUMP_ATTR
 
     size_t CAxis::getGlobalWrittenSize(void)
@@ -373,4 +405,5 @@
    */
    void CAxis::checkMask()
+   TRY
    {
       if (!mask.isEmpty())
@@ -391,4 +424,5 @@
       }
    }
+   CATCH_DUMP_ATTR
 
    /*!
@@ -396,4 +430,5 @@
    */
    void CAxis::checkBounds()
+   TRY
    {
      if (!bounds.isEmpty())
@@ -408,6 +443,8 @@
      else hasBounds = false;
    }
+   CATCH_DUMP_ATTR
 
   void CAxis::checkLabel()
+  TRY
   {
     if (!label.isEmpty())
@@ -422,4 +459,5 @@
     else hasLabel = false;
   }
+  CATCH_DUMP_ATTR
 
   /*!
@@ -427,8 +465,10 @@
   */
   void CAxis::checkEligibilityForCompressedOutput()
+  TRY
   {
     // We don't check if the mask is valid here, just if a mask has been defined at this point.
     isCompressible_ = !mask.isEmpty();
   }
+  CATCH_DUMP_ATTR
 
   /*!
@@ -436,4 +476,5 @@
   */
   bool CAxis::dispatchEvent(CEventServer& event)
+  TRY
   {
      if (SuperClass::dispatchEvent(event)) return true;
@@ -461,4 +502,5 @@
      }
   }
+  CATCH
 
    /*!
@@ -466,4 +508,5 @@
    */
    void CAxis::checkAttributesOnClient()
+   TRY
    {
      if (this->areClientAttributesChecked_) return;
@@ -474,4 +517,5 @@
      this->areClientAttributesChecked_ = true;
    }
+   CATCH_DUMP_ATTR
 
    /*
@@ -481,4 +525,5 @@
    void CAxis::checkAttributesOnClientAfterTransformation(const std::vector<int>& globalDim, int orderPositionInGrid,
                                                           CServerDistributionDescription::ServerDistributionType distType)
+   TRY
    {
      CContext* context=CContext::getCurrent() ;
@@ -494,4 +539,5 @@
      this->isClientAfterTransformationChecked = true;
    }
+   CATCH_DUMP_ATTR
 
    /*
@@ -504,4 +550,5 @@
    void CAxis::sendCheckedAttributes(const std::vector<int>& globalDim, int orderPositionInGrid,
                                      CServerDistributionDescription::ServerDistributionType distType)
+   TRY
    {
      if (!this->areClientAttributesChecked_) checkAttributesOnClient();
@@ -514,4 +561,5 @@
      this->isChecked = true;
    }
+   CATCH_DUMP_ATTR
 
   /*!
@@ -522,4 +570,5 @@
   void CAxis::sendAttributes(const std::vector<int>& globalDim, int orderPositionInGrid,
                              CServerDistributionDescription::ServerDistributionType distType)
+  TRY
   {
      sendDistributionAttribute(globalDim, orderPositionInGrid, distType);
@@ -536,4 +585,5 @@
      }     
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -547,4 +597,5 @@
   void CAxis::computeConnectedClients(const std::vector<int>& globalDim, int orderPositionInGrid,
                                      CServerDistributionDescription::ServerDistributionType distType)
+  TRY
   {
     CContext* context = CContext::getCurrent();
@@ -666,4 +717,5 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -673,4 +725,5 @@
   */
   void CAxis::computeWrittenIndex()
+  TRY
   {  
     if (computedWrittenIndex_) return;
@@ -714,6 +767,8 @@
 
   }
+  CATCH_DUMP_ATTR
 
   void CAxis::computeWrittenCompressedIndex(MPI_Comm writtenComm)
+  TRY
   {
     int writtenCommSize;
@@ -804,4 +859,5 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   /*!
@@ -814,4 +870,5 @@
   void CAxis::sendDistributionAttribute(const std::vector<int>& globalDim, int orderPositionInGrid,
                                         CServerDistributionDescription::ServerDistributionType distType)
+  TRY
   {
     std::list<CContextClient*>::iterator it;
@@ -852,4 +909,5 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -858,4 +916,5 @@
   */
   void CAxis::recvDistributionAttribute(CEventServer& event)
+  TRY
   {
     CBufferIn* buffer = event.subEvents.begin()->buffer;
@@ -864,4 +923,5 @@
     get(axisId)->recvDistributionAttribute(*buffer);
   }
+  CATCH
 
   /*
@@ -870,4 +930,5 @@
   */
   void CAxis::recvDistributionAttribute(CBufferIn& buffer)
+  TRY
   {
     int ni_srv, begin_srv;
@@ -879,4 +940,5 @@
     begin.setValue(begin_srv);
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -886,4 +948,5 @@
   */
   void CAxis::sendNonDistributedAttributes()
+  TRY
   {
     std::list<CContextClient*>::iterator it;
@@ -939,4 +1002,5 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -945,4 +1009,5 @@
   */
   void CAxis::recvNonDistributedAttributes(CEventServer& event)
+  TRY
   {
     list<CEventServer::SSubEvent>::iterator it;
@@ -955,4 +1020,5 @@
     }
   }
+  CATCH
 
   /*
@@ -962,4 +1028,5 @@
   */
   void CAxis::recvNonDistributedAttributes(int rank, CBufferIn& buffer)
+  TRY
   { 
     CArray<int,1> tmp_index, tmp_data_index;
@@ -1003,4 +1070,5 @@
     for (int idx = 0; idx < index.numElements(); ++idx) globalLocalIndexMap_[index(idx)] = idx;
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -1010,4 +1078,5 @@
   */
   void CAxis::sendDistributedAttributes(void)
+  TRY
   {
     int ind, idx;
@@ -1113,4 +1182,5 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -1119,4 +1189,5 @@
   */
   void CAxis::recvDistributedAttributes(CEventServer& event)
+  TRY
   {
     string axisId;
@@ -1134,4 +1205,5 @@
     get(axisId)->recvDistributedAttributes(ranks, buffers);
   }
+  CATCH
 
   /*
@@ -1141,4 +1213,5 @@
   */
   void CAxis::recvDistributedAttributes(vector<int>& ranks, vector<CBufferIn*> buffers)
+  TRY
   {
     int nbReceived = ranks.size(), idx, ind, gloInd, locInd;
@@ -1259,4 +1332,5 @@
     data_n.setValue(data_index.numElements());
   }
+  CATCH_DUMP_ATTR
 
   /*!
@@ -1268,4 +1342,5 @@
   */
   bool CAxis::isEqual(CAxis* obj)
+  TRY
   {
     vector<StdString> excludedAttr;
@@ -1291,4 +1366,5 @@
     return objEqual;
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -1298,8 +1374,10 @@
   */
   CTransformation<CAxis>* CAxis::addTransformation(ETranformationType transType, const StdString& id)
+  TRY
   {
     transformationMap_.push_back(std::make_pair(transType, CTransformation<CAxis>::createTransformation(transType,id)));
     return transformationMap_.back().second;
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -1307,7 +1385,9 @@
   */
   bool CAxis::hasTransformation()
+  TRY
   {
     return (!transformationMap_.empty());
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -1316,7 +1396,9 @@
   */
   void CAxis::setTransformations(const TransMapTypes& axisTrans)
+  TRY
   {
     transformationMap_ = axisTrans;
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -1325,7 +1407,9 @@
   */
   CAxis::TransMapTypes CAxis::getAllTransformations(void)
+  TRY
   {
     return transformationMap_;
   }
+  CATCH_DUMP_ATTR
 
   /*
@@ -1334,4 +1418,5 @@
   */
   void CAxis::duplicateTransformation(CAxis* src)
+  TRY
   {
     if (src->hasTransformation())
@@ -1340,4 +1425,5 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   /*!
@@ -1345,4 +1431,5 @@
    */
   void CAxis::solveInheritanceTransformation()
+  TRY
   {
     if (hasTransformation() || !hasDirectAxisReference())
@@ -1361,6 +1448,8 @@
         refAxis[i]->setTransformations(axis->getAllTransformations());
   }
+  CATCH_DUMP_ATTR
 
   void CAxis::setContextClient(CContextClient* contextClient)
+  TRY
   {
     if (clientsSet.find(contextClient)==clientsSet.end())
@@ -1370,6 +1459,8 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   void CAxis::parse(xml::CXMLNode & node)
+  TRY
   {
     SuperClass::parse(node);
@@ -1402,4 +1493,5 @@
     }
   }
+  CATCH_DUMP_ATTR
 
   DEFINE_REF_FUNC(Axis,axis)
