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/calendar.cpp

    r300 r334  
    1212         : CObject() 
    1313         , initDate(*this) 
    14          , currentDate(initDate) 
    15       { /* Ne rien faire de plus */ } 
     14         , timeOrigin(*this) 
     15         , currentDate(*this) 
     16      {   } 
    1617 
     18      CCalendar::CCalendar(const StdString & id) 
     19               : CObject(id) 
     20               , initDate(*this) 
     21               , timeOrigin(*this) 
     22               , currentDate(*this) 
     23      { } 
     24       
    1725      CCalendar::CCalendar(const StdString & id, 
    1826                           int yr, int mth, int d  , 
    1927                           int hr, int min, int sec) 
    2028               : CObject(id) 
    21                , initDate(*this, yr, mth, d, hr, min, sec) 
    22                , currentDate(initDate) 
    23       { /* Ne rien faire de plus */ } 
     29               , initDate(*this) 
     30               , timeOrigin(*this) 
     31               , currentDate(*this) 
     32      {  
     33        initializeDate(yr, mth, d, hr, min, sec) ; 
     34      } 
    2435 
    2536      CCalendar::CCalendar(const StdString & id, const StdString & dateStr) 
    2637               : CObject(id) 
    2738               , initDate(CDate::FromString(dateStr, *this)) 
     39               , timeOrigin(initDate) 
    2840               , currentDate(initDate) 
    29       { /* Ne rien faire de plus */ } 
     41      {  
     42        initializeDate(dateStr) ; 
     43      } 
     44 
     45      CCalendar::CCalendar(const StdString & id, const StdString & dateStr, const StdString & timeOriginStr) 
     46               : CObject(id) 
     47               , initDate(*this) 
     48               , timeOrigin(*this) 
     49               , currentDate(*this) 
     50      {  
     51        initializeDate(dateStr, timeOriginStr) ; 
     52      } 
     53 
     54 
     55      void CCalendar::initializeDate( int yr, int mth, int d  , 
     56                                 int hr, int min, int sec) 
     57      {  
     58        initDate=CDate(*this,yr, mth, d, hr, min, sec) ; 
     59        timeOrigin=initDate; 
     60        currentDate=initDate ; 
     61      } 
     62 
     63      void CCalendar::initializeDate(const StdString & dateStr) 
     64      {  
     65        initDate=CDate::FromString(dateStr, *this) ; 
     66        timeOrigin=initDate ; 
     67        currentDate=initDate ; 
     68      } 
     69 
     70      void CCalendar::initializeDate(const StdString & dateStr, const StdString & timeOriginStr) 
     71      {  
     72        initDate=CDate::FromString(dateStr, *this) ; 
     73        timeOrigin=CDate::FromString(timeOriginStr, *this) ; 
     74        currentDate=initDate ; 
     75      } 
     76       
    3077 
    3178      CCalendar::~CCalendar(void) 
     
    62109      const CDuration & CCalendar::getTimeStep(void) const { return (this->timestep); } 
    63110      const CDate & CCalendar::getInitDate(void) const     { return (this->initDate); } 
     111      const CDate & CCalendar::getTimeOrigin(void) const     { return (this->timeOrigin); } 
    64112      CDate & CCalendar::getCurrentDate(void)              { return (this->currentDate); } 
    65113 
Note: See TracChangeset for help on using the changeset viewer.