Ignore:
Timestamp:
02/15/21 21:14:02 (3 years ago)
Author:
oabramkina
Message:

Adding a possibility of tiled and non-tiled sent on the same domain.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_oa/src/filter/source_filter.cpp

    r1967 r2034  
    6161    { 
    6262      const double nanValue = std::numeric_limits<double>::quiet_NaN(); 
    63       storedTileData.resize(grid->storeIndex_client.numElements()); 
     63//      storedTileData.resize(grid->storeIndex_client.numElements()); 
     64      storedTileData.resize(grid->getDataSize()); 
    6465      storedTileData = nanValue; 
    6566    } 
     
    6970    { 
    7071      // Data entering workflow will be exactly of size ni*nj for a grid 2d or ni*nj*n for a grid 3d 
    71       streamData(date, storedTileData); 
     72      streamData(date, storedTileData, true); 
    7273      ntiles = 0; 
    7374    } 
     
    7576 
    7677  template <int N> 
    77   void CSourceFilter::streamData(CDate date, const CArray<double, N>& data) 
     78  void CSourceFilter::streamData(CDate date, const CArray<double, N>& data, bool isTiled) 
    7879  { 
    7980    date = date + offset; // this is a temporary solution, it should be part of a proper temporal filter 
     
    9495    { 
    9596      if (mask) 
    96         grid->maskField(data, packet->data); 
     97        if (isTiled) 
     98          grid->maskField(data, packet->data, isTiled); 
     99        else 
     100          grid->maskField(data, packet->data); 
    97101      else 
    98102        grid->inputField(data, packet->data); 
     
    117121  } 
    118122 
    119   template void CSourceFilter::streamData<1>(CDate date, const CArray<double, 1>& data); 
    120   template void CSourceFilter::streamData<2>(CDate date, const CArray<double, 2>& data); 
    121   template void CSourceFilter::streamData<3>(CDate date, const CArray<double, 3>& data); 
    122   template void CSourceFilter::streamData<4>(CDate date, const CArray<double, 4>& data); 
    123   template void CSourceFilter::streamData<5>(CDate date, const CArray<double, 5>& data); 
    124   template void CSourceFilter::streamData<6>(CDate date, const CArray<double, 6>& data); 
    125   template void CSourceFilter::streamData<7>(CDate date, const CArray<double, 7>& data); 
     123  template void CSourceFilter::streamData<1>(CDate date, const CArray<double, 1>& data, bool isTiled); 
     124  template void CSourceFilter::streamData<2>(CDate date, const CArray<double, 2>& data, bool isTiled); 
     125  template void CSourceFilter::streamData<3>(CDate date, const CArray<double, 3>& data, bool isTiled); 
     126  template void CSourceFilter::streamData<4>(CDate date, const CArray<double, 4>& data, bool isTiled); 
     127  template void CSourceFilter::streamData<5>(CDate date, const CArray<double, 5>& data, bool isTiled); 
     128  template void CSourceFilter::streamData<6>(CDate date, const CArray<double, 6>& data, bool isTiled); 
     129  template void CSourceFilter::streamData<7>(CDate date, const CArray<double, 7>& data, bool isTiled); 
    126130 
    127131  template void CSourceFilter::streamTile<1>(CDate date, const CArray<double, 1>& data, int ntile); 
Note: See TracChangeset for help on using the changeset viewer.