Index: XIOS/branchs/xios-1.0/src/node/axis.cpp
===================================================================
--- XIOS/branchs/xios-1.0/src/node/axis.cpp	(revision 712)
+++ XIOS/branchs/xios-1.0/src/node/axis.cpp	(revision 713)
@@ -82,7 +82,7 @@
       if (!bounds.isEmpty())
       {
-        if (bounds.extent(0) != size || bounds.extent(1) != 2)
+        if (bounds.extent(0) != 2 || bounds.extent(1) != size)
             ERROR("CAxis::checkAttributes(void)",
-                  << "The bounds array of the axis [ id = '" << getId() << "' , context = '" << CObjectFactory::GetCurrentContextId() << "' ] must be of dimension axis size x 2" << endl
+                  << "The bounds array of the axis [ id = '" << getId() << "' , context = '" << CObjectFactory::GetCurrentContextId() << "' ] must be of dimension axis 2 x size" << endl
                   << "Axis size is " << size << endl
                   << "Bounds size is "<< bounds.extent(0) << " x " << bounds.extent(1));
Index: XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp
===================================================================
--- XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp	(revision 712)
+++ XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp	(revision 713)
@@ -658,6 +658,6 @@
                    for (int i = 0; i < zoom_size; i++)
                    {
-                     axisBounds(0, i) = axis->bounds(i + zoom_begin, 0);
-                     axisBounds(1, i) = axis->bounds(i + zoom_begin, 1);
+                     axisBounds(0, i) = axis->bounds(0, i + zoom_begin);
+                     axisBounds(1, i) = axis->bounds(1, i + zoom_begin);
                    }
                    SuperClassWriter::writeData(axisBounds, axisBoundsId, isCollective, 0);
Index: XIOS/trunk/src/io/nc4_data_output.cpp
===================================================================
--- XIOS/trunk/src/io/nc4_data_output.cpp	(revision 712)
+++ XIOS/trunk/src/io/nc4_data_output.cpp	(revision 713)
@@ -685,13 +685,5 @@
 
               if (!axis->bounds.isEmpty())
-              {
-                CArray<double,2> axisBounds(2, zoom_size_srv);
-                for (int i = 0; i < zoom_size_srv; i++)
-                {
-                  axisBounds(0, i) = axis->bound_srv(i, 0);
-                  axisBounds(1, i) = axis->bound_srv(i, 1);
-                }
-                SuperClassWriter::writeData(axisBounds, axisBoundsId, isCollective, 0);
-              }
+                SuperClassWriter::writeData(axis->bound_srv, axisBoundsId, isCollective, 0);
 
               SuperClassWriter::definition_start();
@@ -711,13 +703,5 @@
 
               if (!axis->bounds.isEmpty())
-              {
-                CArray<double,2> axisBounds(2, zoom_size_srv);
-                for (int i = 0; i < zoom_size_srv; ++i)
-                {
-                  axisBounds(0, i+zoom_begin_srv) = axis->bound_srv(i, 0);
-                  axisBounds(1, i+zoom_begin_srv) = axis->bound_srv(i, 1);
-                }
-                SuperClassWriter::writeData(axisBounds, axisBoundsId, isCollective, 0, &start, &count);
-              }
+                SuperClassWriter::writeData(axis->bound_srv, axisBoundsId, isCollective, 0, &start, &count);
 
               SuperClassWriter::definition_start();
Index: XIOS/trunk/src/node/axis.cpp
===================================================================
--- XIOS/trunk/src/node/axis.cpp	(revision 712)
+++ XIOS/trunk/src/node/axis.cpp	(revision 713)
@@ -224,9 +224,9 @@
     if (!bounds.isEmpty())
     {
-      if (bounds.extent(0) != n || bounds.extent(1) != 2)
-          ERROR("CAxis::checkAttributes(void)",
-                << "The bounds array of the axis [ id = '" << getId() << "' , context = '" << CObjectFactory::GetCurrentContextId() << "' ] must be of dimension axis size x 2." << std::endl
-                << "Axis size is " << n.getValue() << "." << std::endl
-                << "Bounds size is "<< bounds.extent(0) << " x " << bounds.extent(1) << ".");
+      if (bounds.extent(0) != 2 || bounds.extent(1) != n)
+        ERROR("CAxis::checkAttributes(void)",
+              << "The bounds array of the axis [ id = '" << getId() << "' , context = '" << CObjectFactory::GetCurrentContextId() << "' ] must be of dimension 2 x axis size." << std::endl
+              << "Axis size is " << n.getValue() << "." << std::endl
+              << "Bounds size is "<< bounds.extent(0) << " x " << bounds.extent(1) << ".");
       hasBounds_ = true;
     }
