Ignore:
Timestamp:
04/04/18 12:42:24 (3 years ago)
Author:
oabramkina
Message:

DEV_CMIP6: bugfix for certain cases of monthly output and freq_offset such as 1mo-2ts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/XIOS_DEV_CMIP6/src/node/field.cpp

    r1440 r1473  
    224224    CArray<double,1> recv_data_tmp(recvDataSrv.numElements());     
    225225    const CDate& currDate = context->getCalendar()->getCurrentDate(); 
    226     const CDate opeDate   = (last_operation_srv + context->getCalendar()->getTimeStep()) +freq_op + freq_operation_srv - freq_op - context->getCalendar()->getTimeStep(); 
     226    CDuration offsetAllButMonth (freq_offset.getValue().year, 0 , freq_offset.getValue().day, 
     227                                   freq_offset.getValue().hour, freq_offset.getValue().minute, 
     228                                   freq_offset.getValue().second, freq_offset.getValue().timestep); 
     229    const CDate opeDate   = (last_operation_srv - offsetAllButMonth + context->getCalendar()->getTimeStep()) 
     230                              + freq_op + freq_operation_srv - freq_op - context->getCalendar()->getTimeStep() + offsetAllButMonth; 
    227231 
    228232    if (opeDate <= currDate) 
     
    251255 
    252256    const CDate& currDate = context->getCalendar()->getCurrentDate(); 
    253     const CDate opeDate = (last_operation_srv + context->getCalendar()->getTimeStep()) + freq_op + freq_operation_srv - freq_op - context->getCalendar()->getTimeStep(); 
     257    CDuration offsetAllButMonth (freq_offset.getValue().year, 0 , freq_offset.getValue().day, 
     258                                   freq_offset.getValue().hour, freq_offset.getValue().minute, 
     259                                   freq_offset.getValue().second, freq_offset.getValue().timestep); 
     260    const CDate opeDate   = (last_operation_srv - offsetAllButMonth + context->getCalendar()->getTimeStep()) 
     261                              + freq_op + freq_operation_srv - freq_op - context->getCalendar()->getTimeStep() + offsetAllButMonth; 
    254262    const CDate writeDate = last_Write_srv + freq_write_srv; 
    255263 
Note: See TracChangeset for help on using the changeset viewer.