Index: XMLIO_V2/dev/common/src/xmlio/node/domain.cpp
===================================================================
--- XMLIO_V2/dev/common/src/xmlio/node/domain.cpp	(revision 266)
+++ XMLIO_V2/dev/common/src/xmlio/node/domain.cpp	(revision 274)
@@ -6,4 +6,6 @@
 
 #include "mpi_manager.hpp"
+
+#include "tree_manager.hpp"
 
 #include <algorithm>
@@ -18,4 +20,5 @@
       , isChecked(false), local_mask(new CArray<int, 2>(boost::extents[0][0])), relFiles()
       , ibegin_sub(), iend_sub(), jbegin_sub(), jend_sub()
+      , ibegin_zoom_sub(), jbegin_zoom_sub()
       , lonvalue_sub(), latvalue_sub()
    { /* Ne rien faire de plus */ }
@@ -25,4 +28,5 @@
       , isChecked(false), local_mask(new CArray<int, 2>(boost::extents[0][0])), relFiles()
       , ibegin_sub(), iend_sub(), jbegin_sub(), jend_sub()
+      , ibegin_zoom_sub(), jbegin_zoom_sub()
       , lonvalue_sub(), latvalue_sub()
    { /* Ne rien faire de plus */ }
@@ -81,11 +85,23 @@
       SuperClass::fromBinary(is);
       
-      this->ibegin_sub.push_back(this->ibegin.getValue());
-      this->jbegin_sub.push_back(this->jbegin.getValue());
-      this->iend_sub.push_back(this->iend.getValue());
-      this->jend_sub.push_back(this->jend.getValue()); 
-      
-      this->latvalue_sub.push_back(this->latvalue.getValue());
-      this->lonvalue_sub.push_back(this->lonvalue.getValue());   
+      if ( !this->ibegin.isEmpty()   &&
+           !this->jbegin.isEmpty()   &&
+           !this->iend.isEmpty()     &&
+           !this->jend.isEmpty()     &&
+           !this->latvalue.isEmpty() &&
+           !this->lonvalue.isEmpty())
+      {
+      
+         this->ibegin_sub.push_back(this->ibegin.getValue());
+         this->jbegin_sub.push_back(this->jbegin.getValue());
+         this->iend_sub.push_back(this->iend.getValue());
+         this->jend_sub.push_back(this->jend.getValue()); 
+         
+         this->ibegin_zoom_sub.push_back(this->zoom_ibegin_loc.getValue());
+         this->jbegin_zoom_sub.push_back(this->zoom_jbegin_loc.getValue());
+      
+         this->latvalue_sub.push_back(this->latvalue.getValue());
+         this->lonvalue_sub.push_back(this->lonvalue.getValue());
+      }
       
 #define CLEAR_ATT(name_)\
@@ -107,8 +123,17 @@
 #undef CLEAR_ATT
 
-      this->ibegin.setValue(*std::min_element(this->ibegin_sub.begin(),this->ibegin_sub.end()));
-      this->jbegin.setValue(*std::min_element(this->jbegin_sub.begin(),this->jbegin_sub.end()));
-      this->iend.setValue(*std::max_element(this->iend_sub.begin(),this->iend_sub.end()));
-      this->jend.setValue(*std::max_element(this->jend_sub.begin(),this->jend_sub.end()));
+      if ( !this->ibegin.isEmpty()   &&
+           !this->jbegin.isEmpty()   &&
+           !this->iend.isEmpty()     &&
+           !this->jend.isEmpty()     &&
+           !this->latvalue.isEmpty() &&
+           !this->lonvalue.isEmpty())
+      {
+
+         this->ibegin.setValue(*std::min_element(this->ibegin_sub.begin(),this->ibegin_sub.end()));
+         this->jbegin.setValue(*std::min_element(this->jbegin_sub.begin(),this->jbegin_sub.end()));
+         this->iend.setValue(*std::max_element(this->iend_sub.begin(),this->iend_sub.end()));
+         this->jend.setValue(*std::max_element(this->jend_sub.begin(),this->jend_sub.end()));
+      }
    }
 
@@ -124,9 +149,12 @@
    {
       if ((ni_glo.isEmpty() || ni_glo.getValue() <= 0 ) ||
-          (ni_glo.isEmpty() || nj_glo.getValue() <= 0 ))
+          (nj_glo.isEmpty() || nj_glo.getValue() <= 0 ))
+      {
+         abort();
          ERROR("CDomain::checkAttributes(void)",
                << "[ Id = " << this->getId() << " ] "
                << "Le domaine global est mal dÃ©fini,"
-               << " vÃ©rifiez les valeurs de \'ni_glo\' et \'nj_glo\' !") ;
+               << " vÃ©rifiez les valeurs de \'ni_glo\' et \'nj_glo\' !") 
+      }
    }
 
@@ -675,4 +703,11 @@
    //----------------------------------------------------------------
    
+   const std::vector<int> & CDomain::getIBeginZoomSub(void) const
+   {
+      return (this->ibegin_zoom_sub);
+   }
+               
+   //----------------------------------------------------------------
+                     
    const std::vector<int> & CDomain::getIEndSub(void) const
    {
@@ -686,4 +721,12 @@
       return (this->jbegin_sub);
    }
+   
+   //----------------------------------------------------------------
+      
+   const std::vector<int> & CDomain::getJBeginZoomSub(void) const
+   {
+      return (this->jbegin_zoom_sub);
+   }
+                  
    
    //----------------------------------------------------------------
