Index: XIOS/trunk/src/output/nc4_data_output.cpp
===================================================================
--- XIOS/trunk/src/output/nc4_data_output.cpp	(revision 613)
+++ XIOS/trunk/src/output/nc4_data_output.cpp	(revision 614)
@@ -215,4 +215,5 @@
                  {
                    SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0);
+                   SuperClassWriter::addAttribute("standard_name", StdString("cell_area"), &areaId);
                    SuperClassWriter::addAttribute("units", StdString("m2"), &areaId);
                  }
@@ -271,4 +272,5 @@
                    dim0.push_back(dimYid); dim0.push_back(dimXid);
                    SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0);
+                   SuperClassWriter::addAttribute("standard_name", StdString("cell_area"), &areaId);
                    SuperClassWriter::addAttribute("units", StdString("m2"), &areaId);
                    dim0.clear();
@@ -433,4 +435,5 @@
                  {
                    SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0);
+                   SuperClassWriter::addAttribute("standard_name", StdString("cell_area"), &areaId);
                    SuperClassWriter::addAttribute("units", StdString("m2"), &areaId);
                  }
@@ -484,4 +487,5 @@
                    dim0.push_back(dimXid);
                    SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0);
+                   SuperClassWriter::addAttribute("standard_name", StdString("cell_area"), &areaId);
                    SuperClassWriter::addAttribute("units", StdString("m2"), &areaId);
                  }
@@ -640,9 +644,8 @@
        {
         SuperClassWriter::addDimension("time_counter");
-        SuperClassWriter::addDimension("time_bounds", 2);
        }
        catch (CNetCdfException& e)
        {
-         StdString msg("On writing time dimension : time_couter, time_bounds \n");
+         StdString msg("On writing time dimension : time_couter\n");
          msg.append("In the context : ");
          CContext* context = CContext::getCurrent() ;
@@ -818,12 +821,12 @@
            if (wtime)
            {
-              CDuration duration = field->freq_op.getValue();
-              duration.solveTimeStep(*context->calendar);
-              StdString freqOpStr = duration.toStringUDUnits();
+              CDuration freqOp = field->freq_op.getValue();
+              freqOp.solveTimeStep(*context->calendar);
+              StdString freqOpStr = freqOp.toStringUDUnits();
               SuperClassWriter::addAttribute("interval_operation", freqOpStr, &fieldid);
 
-              duration = field->getRelFile()->output_freq.getValue();
-              duration.solveTimeStep(*context->calendar);
-              SuperClassWriter::addAttribute("interval_write", duration.toStringUDUnits(), &fieldid);
+              CDuration freqOut = field->getRelFile()->output_freq.getValue();
+              freqOut.solveTimeStep(*context->calendar);
+              SuperClassWriter::addAttribute("interval_write", freqOut.toStringUDUnits(), &fieldid);
 
               StdString cellMethods = coodinates.front() + ": ";
@@ -832,5 +835,6 @@
               else if (field->operation.getValue() == "accumulate") cellMethods += "sum";
               else cellMethods += field->operation;
-              cellMethods += " (interval: " + freqOpStr + ")";
+              if (freqOp.resolve(*context->calendar) != freqOut.resolve(*context->calendar))
+                cellMethods += " (interval: " + freqOpStr + ")";
               SuperClassWriter::addAttribute("cell_methods", cellMethods, &fieldid);
            }
@@ -1100,10 +1104,9 @@
          {
            this->writeFileAttributes(filename, description,
-                                     StdString("CF-1.1"),
+                                     StdString("CF-1.5"),
                                      StdString("An IPSL model"),
                                      this->getTimeStamp());
 
-           if (file->nbAxis >= 1)
-             SuperClassWriter::addDimension("axis_nbounds", 2);
+           SuperClassWriter::addDimension("axis_nbounds", 2);
          }
          catch (CNetCdfException& e)
@@ -1569,5 +1572,5 @@
          StdString axisBoundId("time_centered_bounds");
          StdString timeid("time_counter");
-         StdString timeBoundId("time_bounds");
+         StdString timeBoundId("axis_nbounds");
 
          if (field->foperation->timeType() == func::CFunctor::instant)
