Index: /XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp
===================================================================
--- /XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp	(revision 612)
+++ /XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp	(revision 613)
@@ -82,4 +82,5 @@
          StdString dimXid, dimYid ;
 
+         bool isRegularDomain = (domain->type == CDomain::type_attr::regular);
          switch (domain->type)
          {
@@ -188,6 +189,6 @@
                  }
 
-                 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);
-                 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                 this->writeAxisAttributes(lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid);
+                 this->writeAxisAttributes(latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid);
 
                  dim0.clear();
@@ -274,7 +275,7 @@
 
                  this->writeAxisAttributes
-                    (lonid, "X", "longitude", "Longitude", "degrees_east", domid);
+                    (lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid);
                  this->writeAxisAttributes
-                    (latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                    (latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid);
 
                  SuperClassWriter::definition_end();
@@ -412,7 +413,7 @@
 
 
-                 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);
+                 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid);
-                 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid);
                  if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex);
@@ -463,7 +464,7 @@
                  SuperClassWriter::addVariable(latid, NC_FLOAT, dim0);
                  SuperClassWriter::addVariable(lonid, NC_FLOAT, dim0);
-                 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);
+                 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid);
-                 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid);
                  if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex);
@@ -566,6 +567,4 @@
                  SuperClassWriter::addVariable(axisid, NC_FLOAT, dims);
 
-                 SuperClassWriter::addAttribute("axis", StdString("Z"), &axisid);
-
                  if (!axis->standard_name.isEmpty())
                     SuperClassWriter::addAttribute
@@ -581,6 +580,10 @@
 
                  if (!axis->positive.isEmpty())
-                   if (axis->positive==CAxis::positive_attr::up) SuperClassWriter::addAttribute("positive", string("up"), &axisid);
-                   else SuperClassWriter::addAttribute("positive", string("down"), &axisid);
+                 {
+                   SuperClassWriter::addAttribute("axis", string("Z"), &axisid);
+                   SuperClassWriter::addAttribute("positive",
+                                                  (axis->positive == CAxis::positive_attr::up) ? string("up") : string("down"),
+                                                  &axisid);
+                 }
 
                  StdString axisBoundsId = axisid + "_bounds";
@@ -1290,6 +1293,5 @@
                                                    const StdString & time_bounds,
                                                    const StdString & standard_name,
-                                                   const StdString & long_name,
-                                                   const StdString & title)
+                                                   const StdString & long_name)
       {
          try
@@ -1297,5 +1299,4 @@
            SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name);
            SuperClassWriter::addAttribute("long_name",     long_name    , &axis_name);
-           SuperClassWriter::addAttribute("title",         title        , &axis_name);
            SuperClassWriter::addAttribute("calendar",      calendar     , &axis_name);
            SuperClassWriter::addAttribute("units",         units        , &axis_name);
@@ -1311,11 +1312,10 @@
            msg.append(e.what());
            ERROR("CNc4DataOutput::writeTimeAxisAttributes(const StdString & axis_name, \
-                                                   const StdString & calendar,\
-                                                   const StdString & units, \
-                                                   const StdString & time_origin, \
-                                                   const StdString & time_bounds, \
-                                                   const StdString & standard_name, \
-                                                   const StdString & long_name, \
-                                                   const StdString & title)", << msg);
+                                                          const StdString & calendar,\
+                                                          const StdString & units, \
+                                                          const StdString & time_origin, \
+                                                          const StdString & time_bounds, \
+                                                          const StdString & standard_name, \
+                                                          const StdString & long_name)", << msg);
          }
       }
@@ -1332,5 +1332,7 @@
          try
          {
-          SuperClassWriter::addAttribute("axis"         , axis         , &axis_name);
+          if (!axis.empty())
+            SuperClassWriter::addAttribute("axis"       , axis         , &axis_name);
+
           SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name);
           SuperClassWriter::addAttribute("long_name"    , long_name    , &axis_name);
@@ -1346,9 +1348,9 @@
            msg.append(e.what());
            ERROR("CNc4DataOutput::writeAxisAttributes(const StdString & axis_name, \
-                                               const StdString & axis, \
-                                               const StdString & standard_name, \
-                                               const StdString & long_name, \
-                                               const StdString & units, \
-                                               const StdString & nav_model)", << msg);
+                                                      const StdString & axis, \
+                                                      const StdString & standard_name, \
+                                                      const StdString & long_name, \
+                                                      const StdString & units, \
+                                                      const StdString & nav_model)", << msg);
          }
       }
@@ -1432,5 +1434,6 @@
            SuperClassWriter::addAttribute("name"       , name);
            SuperClassWriter::addAttribute("description", description);
-           SuperClassWriter::addAttribute("conventions", conventions);
+           SuperClassWriter::addAttribute("title"      , description);
+           SuperClassWriter::addAttribute("Conventions", conventions);
            SuperClassWriter::addAttribute("production" , production);
            SuperClassWriter::addAttribute("timeStamp"  , timeStamp);
Index: /XIOS/branchs/xios-1.0/src/output/nc4_data_output.hpp
===================================================================
--- /XIOS/branchs/xios-1.0/src/output/nc4_data_output.hpp	(revision 612)
+++ /XIOS/branchs/xios-1.0/src/output/nc4_data_output.hpp	(revision 613)
@@ -63,6 +63,5 @@
                                          const StdString & time_bounds   = StdString("bounds"),
                                          const StdString & standard_name = StdString("time"),
-                                         const StdString & long_name     = StdString("Time axis"),
-                                         const StdString & title         = StdString("Time"));
+                                         const StdString & long_name     = StdString("Time axis"));
 
             void writeFileAttributes(const StdString & name,
Index: /XIOS/trunk/src/output/nc4_data_output.cpp
===================================================================
--- /XIOS/trunk/src/output/nc4_data_output.cpp	(revision 612)
+++ /XIOS/trunk/src/output/nc4_data_output.cpp	(revision 613)
@@ -83,4 +83,5 @@
          StdString dimXid, dimYid ;
 
+         bool isRegularDomain = (domain->type == CDomain::type_attr::regular);
          switch (domain->type)
          {
@@ -189,6 +190,6 @@
                  }
 
-                 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);
-                 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                 this->writeAxisAttributes(lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid);
+                 this->writeAxisAttributes(latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid);
 
                  dim0.clear();
@@ -275,7 +276,7 @@
 
                  this->writeAxisAttributes
-                    (lonid, "X", "longitude", "Longitude", "degrees_east", domid);
+                    (lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid);
                  this->writeAxisAttributes
-                    (latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                    (latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid);
 
                  SuperClassWriter::definition_end();
@@ -412,7 +413,7 @@
 
 
-                 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);
+                 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid);
-                 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid);
                  if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex);
@@ -463,7 +464,7 @@
                  SuperClassWriter::addVariable(latid, NC_FLOAT, dim0);
                  SuperClassWriter::addVariable(lonid, NC_FLOAT, dim0);
-                 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);
+                 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid);
-                 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);
+                 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid);
                  if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid);
                  if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex);
@@ -566,6 +567,4 @@
               SuperClassWriter::addVariable(axisid, NC_FLOAT, dims);
 
-              SuperClassWriter::addAttribute("axis", StdString("Z"), &axisid);
-
               if (!axis->name.isEmpty())
                 SuperClassWriter::addAttribute("name", axis->name.getValue(), &axisid);
@@ -581,6 +580,10 @@
 
               if (!axis->positive.isEmpty())
-                if (axis->positive == CAxis::positive_attr::up) SuperClassWriter::addAttribute("positive", string("up"), &axisid);
-                else SuperClassWriter::addAttribute("positive", string("down"), &axisid);
+              {
+                SuperClassWriter::addAttribute("axis", string("Z"), &axisid);
+                SuperClassWriter::addAttribute("positive",
+                                               (axis->positive == CAxis::positive_attr::up) ? string("up") : string("down"),
+                                               &axisid);
+              }
 
               StdString axisBoundsId = axisid + "_bounds";
@@ -1651,6 +1654,5 @@
                                                    const StdString & time_bounds,
                                                    const StdString & standard_name,
-                                                   const StdString & long_name,
-                                                   const StdString & title)
+                                                   const StdString & long_name)
       {
          try
@@ -1658,5 +1660,4 @@
            SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name);
            SuperClassWriter::addAttribute("long_name",     long_name    , &axis_name);
-           SuperClassWriter::addAttribute("title",         title        , &axis_name);
            SuperClassWriter::addAttribute("calendar",      calendar     , &axis_name);
            SuperClassWriter::addAttribute("units",         units        , &axis_name);
@@ -1672,11 +1673,10 @@
            msg.append(e.what());
            ERROR("CNc4DataOutput::writeTimeAxisAttributes(const StdString & axis_name, \
-                                                   const StdString & calendar,\
-                                                   const StdString & units, \
-                                                   const StdString & time_origin, \
-                                                   const StdString & time_bounds, \
-                                                   const StdString & standard_name, \
-                                                   const StdString & long_name, \
-                                                   const StdString & title)", << msg);
+                                                          const StdString & calendar,\
+                                                          const StdString & units, \
+                                                          const StdString & time_origin, \
+                                                          const StdString & time_bounds, \
+                                                          const StdString & standard_name, \
+                                                          const StdString & long_name)", << msg);
          }
       }
@@ -1693,5 +1693,7 @@
          try
          {
-          SuperClassWriter::addAttribute("axis"         , axis         , &axis_name);
+          if (!axis.empty())
+            SuperClassWriter::addAttribute("axis"       , axis         , &axis_name);
+
           SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name);
           SuperClassWriter::addAttribute("long_name"    , long_name    , &axis_name);
@@ -1707,9 +1709,9 @@
            msg.append(e.what());
            ERROR("CNc4DataOutput::writeAxisAttributes(const StdString & axis_name, \
-                                               const StdString & axis, \
-                                               const StdString & standard_name, \
-                                               const StdString & long_name, \
-                                               const StdString & units, \
-                                               const StdString & nav_model)", << msg);
+                                                      const StdString & axis, \
+                                                      const StdString & standard_name, \
+                                                      const StdString & long_name, \
+                                                      const StdString & units, \
+                                                      const StdString & nav_model)", << msg);
          }
       }
@@ -1793,5 +1795,6 @@
            SuperClassWriter::addAttribute("name"       , name);
            SuperClassWriter::addAttribute("description", description);
-           SuperClassWriter::addAttribute("conventions", conventions);
+           SuperClassWriter::addAttribute("title"      , description);
+           SuperClassWriter::addAttribute("Conventions", conventions);
            SuperClassWriter::addAttribute("production" , production);
            SuperClassWriter::addAttribute("timeStamp"  , timeStamp);
Index: /XIOS/trunk/src/output/nc4_data_output.hpp
===================================================================
--- /XIOS/trunk/src/output/nc4_data_output.hpp	(revision 612)
+++ /XIOS/trunk/src/output/nc4_data_output.hpp	(revision 613)
@@ -64,6 +64,5 @@
                                          const StdString & time_bounds   = StdString("bounds"),
                                          const StdString & standard_name = StdString("time"),
-                                         const StdString & long_name     = StdString("Time axis"),
-                                         const StdString & title         = StdString("Time"));
+                                         const StdString & long_name     = StdString("Time axis"));
 
             void writeFileAttributes(const StdString & name,
