Ignore:
Timestamp:
08/10/17 18:13:06 (4 years ago)
Author:
ymipsl
Message:

Fix problem on incoming data from client to server when you have so masking.
The source filter on server side try to compress data but the data are already compressed by client. So just make a flat copy and enter into workflow.

Now data compression is not called on server side.

YM

File:
1 edited

Legend:

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

    r1210 r1241  
    77namespace xios 
    88{ 
    9   CSourceFilter::CSourceFilter(CGarbageCollector& gc, CGrid* grid, 
     9  CSourceFilter::CSourceFilter(CGarbageCollector& gc, CGrid* grid, bool compression,  
    1010                               const CDuration offset /*= NoneDu*/, bool manualTrigger /*= false*/, 
    1111                               bool hasMissingValue /*= false*/, 
     
    1313    : COutputPin(gc, manualTrigger) 
    1414    , grid(grid) 
     15    , compression(compression) 
    1516    , offset(offset) 
    1617    , hasMissingValue(hasMissingValue), defaultValue(defaultValue) 
     
    3233 
    3334    packet->data.resize(grid->storeIndex_client.numElements()); 
    34     grid->inputField(data, packet->data); 
    35  
     35    if (compression) grid->inputField(data, packet->data) ; 
     36    else 
     37    { 
     38      // just make a flat copy 
     39      CArray<double,1> dataTmp(data.copy().dataFirst(),shape(data.numElements())) ; 
     40      packet->data.reference(dataTmp) ; 
     41    } 
    3642    // Convert missing values to NaN 
    3743    if (hasMissingValue) 
Note: See TracChangeset for help on using the changeset viewer.