Ignore:
Timestamp:
03/27/12 10:49:42 (12 years ago)
Author:
ymipsl
Message:
  • Add new attribut : time_origin for time axis origin which appear in nectdf file
  • centered time averaging for time axis
  • correct bug in calendar due to call of virtual function in the constructor

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/output/nc4_data_output.cpp

    r321 r334  
    483483 //        ARRAY(double, 1) field_data = field->data_srv; 
    484484         ARRAY_CREATE(time_data, double, 1, [1]); 
    485          (*time_data)[0] = date::Time(*field->last_Write_srv); 
    486           
     485         if (field->operation.getValue()=="instant") (*time_data)[0] = date::Time(*field->last_Write_srv) 
     486                                                                      -date::Time(context->calendar->getTimeOrigin()); 
     487         else (*time_data)[0] = (date::Time(*field->last_Write_srv)+date::Time(*field->lastlast_Write_srv))/2 
     488                               -date::Time(context->calendar->getTimeOrigin()); 
     489            
    487490         if (grid->hasAxis()) // 3D 
    488491         { 
     
    574577         { 
    575578            SuperClassWriter::addVariable(axisid, NC_DOUBLE, dims); 
    576             date::CDate initDate=cal->getInitDate() ; 
     579            date::CDate timeOrigin=cal->getTimeOrigin() ; 
    577580//            StdOStringStream oss2; 
    578581//            oss2<<initDate.getYear()<<"-"<<initDate.getMonth()<<"-"<<initDate.getDay()<<" " 
    579582//                <<initDate.getHour()<<"-"<<initDate.getMinute()<<"-"<<initDate.getSecond() ; 
    580583//            StdString strInitdate=oss2.str() ; 
    581             StdString strInitdate=initDate.toString() ; 
     584            StdString strTimeOrigin=timeOrigin.toString() ; 
    582585            this->writeTimeAxisAttributes 
    583586               (axisid, cal->getType(), 
    584                 StdString("seconds since ").append(strInitdate), 
    585                 strInitdate); 
     587                StdString("seconds since ").append(strTimeOrigin), 
     588                strTimeOrigin); 
    586589         } 
    587590 
Note: See TracChangeset for help on using the changeset viewer.