Index: XIOS/dev/dev_ym/XIOS_COUPLING/src/config/domain_attribute_private.conf
===================================================================
--- XIOS/dev/dev_ym/XIOS_COUPLING/src/config/domain_attribute_private.conf	(revision 2311)
+++ XIOS/dev/dev_ym/XIOS_COUPLING/src/config/domain_attribute_private.conf	(revision 2312)
@@ -1,26 +1,30 @@
 /* PRIVATE ATTRIBUTES */
-DECLARE_ATTRIBUTE_PRIVATE(double,  lon_start)
-DECLARE_ATTRIBUTE_PRIVATE(double,  lon_end)
-DECLARE_ATTRIBUTE_PRIVATE(double,  lat_start)
-DECLARE_ATTRIBUTE_PRIVATE(double,  lat_end)
+DECLARE_ATTRIBUTE_PRIVATE(double,  lon_start, false)
+DECLARE_ATTRIBUTE_PRIVATE(double,  lon_end, false)
+DECLARE_ATTRIBUTE_PRIVATE(double,  lat_start, false)
+DECLARE_ATTRIBUTE_PRIVATE(double,  lat_end, false)
 
-DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lon_start)
-DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lon_end)
-DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lat_start)
-DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lat_end)
+DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lon_start, false)
+DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lon_end, false)
+DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lat_start, false)
+DECLARE_ATTRIBUTE_PRIVATE(double,  bounds_lat_end, false)
 
+DECLARE_ATTRIBUTE(bool             , hasLatInReadFile, false)
+DECLARE_ATTRIBUTE(bool             , hasLonInReadFile, false)
+DECLARE_ATTRIBUTE(bool             , hasBoundsLatInReadFile, false)
+DECLARE_ATTRIBUTE(bool             , hasBoundsLonInReadFile, false)
 //  Array contain whole value (non distributed) of longitude and latitude read from a file
-DECLARE_ARRAY_PRIVATE(double, 1, lonvalue_rectilinear_read_from_file)
-DECLARE_ARRAY_PRIVATE(double, 1, latvalue_rectilinear_read_from_file)
+DECLARE_ARRAY_PRIVATE(double, 1, lonvalue_rectilinear_read_from_file, false)
+DECLARE_ARRAY_PRIVATE(double, 1, latvalue_rectilinear_read_from_file, false)
 
 // Array containing longitude and latitude of LOCAL curvilinear domain to be read from a file
-DECLARE_ARRAY_PRIVATE(double, 2, lonvalue_curvilinear_read_from_file)
-DECLARE_ARRAY_PRIVATE(double, 2, latvalue_curvilinear_read_from_file)
-DECLARE_ARRAY_PRIVATE(double, 3, bounds_lonvalue_curvilinear_read_from_file)
-DECLARE_ARRAY_PRIVATE(double, 3, bounds_latvalue_curvilinear_read_from_file)
+DECLARE_ARRAY_PRIVATE(double, 2, lonvalue_curvilinear_read_from_file, false)
+DECLARE_ARRAY_PRIVATE(double, 2, latvalue_curvilinear_read_from_file, false)
+DECLARE_ARRAY_PRIVATE(double, 3, bounds_lonvalue_curvilinear_read_from_file, false)
+DECLARE_ARRAY_PRIVATE(double, 3, bounds_latvalue_curvilinear_read_from_file, false)
 
 // Array containing longitude and latitude of LOCAL unstructured domain to be read from a file
-DECLARE_ARRAY_PRIVATE(double, 1, lonvalue_unstructured_read_from_file)
-DECLARE_ARRAY_PRIVATE(double, 1, latvalue_unstructured_read_from_file)
-DECLARE_ARRAY_PRIVATE(double, 2, bounds_lonvalue_unstructured_read_from_file)
-DECLARE_ARRAY_PRIVATE(double, 2, bounds_latvalue_unstructured_read_from_file)
+DECLARE_ARRAY_PRIVATE(double, 1, lonvalue_unstructured_read_from_file, false)
+DECLARE_ARRAY_PRIVATE(double, 1, latvalue_unstructured_read_from_file, false)
+DECLARE_ARRAY_PRIVATE(double, 2, bounds_lonvalue_unstructured_read_from_file, false)
+DECLARE_ARRAY_PRIVATE(double, 2, bounds_latvalue_unstructured_read_from_file, false)
Index: XIOS/dev/dev_ym/XIOS_COUPLING/src/io/nc4_data_input.cpp
===================================================================
--- XIOS/dev/dev_ym/XIOS_COUPLING/src/io/nc4_data_input.cpp	(revision 2311)
+++ XIOS/dev/dev_ym/XIOS_COUPLING/src/io/nc4_data_input.cpp	(revision 2312)
@@ -495,17 +495,17 @@
     {
       // Ok, try to read some attributes such as longitude and latitude
-      domain->hasLatInReadFile_ = SuperClassWriter::hasVariable(itMapNj->first);
-      domain->hasLonInReadFile_  = SuperClassWriter::hasVariable(itMapNi->first);
+      domain->hasLatInReadFile = SuperClassWriter::hasVariable(itMapNj->first);
+      domain->hasLonInReadFile = SuperClassWriter::hasVariable(itMapNi->first);
     }
     else if ((CDomain::type_attr::curvilinear == domain->type) || (CDomain::type_attr::unstructured == domain->type) )
     {
       StdString latName = this->getLatCoordName(fieldId);
-      domain->hasLatInReadFile_ = SuperClassWriter::hasVariable(latName) ;
+      domain->hasLatInReadFile = SuperClassWriter::hasVariable(latName) ;
       StdString lonName = this->getLonCoordName(fieldId);        
-      domain->hasLonInReadFile_ = SuperClassWriter::hasVariable(lonName) ; 
+      domain->hasLonInReadFile = SuperClassWriter::hasVariable(lonName) ; 
       StdString boundsLatName = this->getBoundsId(latName);
-      domain->hasBoundsLatInReadFile_ = SuperClassWriter::hasVariable(boundsLatName) ; 
+      domain->hasBoundsLatInReadFile = SuperClassWriter::hasVariable(boundsLatName) ; 
       StdString boundsLonName = this->getBoundsId(lonName);
-      domain->hasBoundsLonInReadFile_ = SuperClassWriter::hasVariable(boundsLonName) ;
+      domain->hasBoundsLonInReadFile = SuperClassWriter::hasVariable(boundsLonName) ;
     }
   }
Index: XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.cpp
===================================================================
--- XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.cpp	(revision 2311)
+++ XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.cpp	(revision 2312)
@@ -42,6 +42,5 @@
       , isRedistributed_(false), hasPole(false)
       , lonvalue(), latvalue(), bounds_lonvalue(), bounds_latvalue()
-      , clients(), hasLatInReadFile_(false), hasBoundsLatInReadFile_(false)
-      , hasLonInReadFile_(false), hasBoundsLonInReadFile_(false)
+      , clients()
    {
    }
@@ -54,7 +53,6 @@
       , isRedistributed_(false), hasPole(false)
       , lonvalue(), latvalue(), bounds_lonvalue(), bounds_latvalue()
-      , clients(), hasLatInReadFile_(false), hasBoundsLatInReadFile_(false)
-      , hasLonInReadFile_(false), hasBoundsLonInReadFile_(false)
-   {
+      , clients()
+    {
     }
 
@@ -494,5 +492,5 @@
    TRY
    {
-     if (!lonvalue_rectilinear_read_from_file.isEmpty() && lonvalue_2d.isEmpty() && lonvalue_1d.isEmpty())
+     if (!lonvalue_rectilinear_read_from_file.isEmpty() && lonvalue_2d.isEmpty() && lonvalue_1d.isEmpty() )
      {
        lonvalue_1d.resize(ni);
@@ -502,5 +500,5 @@
        lon_end.setValue(lonvalue_rectilinear_read_from_file(ni_glo-1));
      }
-     else if (!hasLonInReadFile_)
+     else if (hasLonInReadFile.isEmpty() || !hasLonInReadFile)
      {
        if (!lonvalue_2d.isEmpty()) lonvalue_2d.free();
@@ -536,5 +534,5 @@
        lat_end.setValue(latvalue_rectilinear_read_from_file(nj_glo-1));
      }
-     else if (!hasLatInReadFile_)
+     else if (hasLatInReadFile.isEmpty() || !hasLatInReadFile)
      {
        if (!latvalue_2d.isEmpty()) latvalue_1d.free();
Index: XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.hpp
===================================================================
--- XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.hpp	(revision 2311)
+++ XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.hpp	(revision 2312)
@@ -219,9 +219,5 @@
          bool hasLonLat;
          bool hasPole ;
-         bool hasLatInReadFile_ ; // specify if latitude is defined on read file, so it can be read later when grid distribution will be defined
-         bool hasBoundsLatInReadFile_ ; // specify if latitude boundarues are defined on read file, so it can be read later when grid distribution will be defined
-         bool hasLonInReadFile_ ; // specify if longitude is defined on read file, so it can be read later when grid distribution will be defined
-         bool hasBoundsLonInReadFile_ ; // specify if longitude boundaries are defined on read file, so it can be read later when grid distribution will be defined
-
+        
          void computeLocalMask(void) ;
       
