Ignore:
Timestamp:
09/25/20 16:09:35 (4 years ago)
Author:
ymipsl
Message:

Solve issues for grid mask on server side.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/grid_gatherer_connector.hpp

    r1918 r1943  
    4141      }  
    4242 
     43      template<typename T>  
     44      void transfer(const map<int, CArray<T,1>>& input, CArray<T,1>& output, T missingValue) 
     45      { 
     46        int n = elementsConnector_.size()-1 ; 
     47        CGathererConnector** connector = elementsConnector_.data() + n ; 
     48        output.resize(dstSize_) ; 
     49        output = missingValue ; 
     50        for(auto& rankDataIn : input)  
     51        { 
     52          elementsConnector_[n]->transfer(rankDataIn.first, connector, n, rankDataIn.second.dataFirst(), output.dataFirst()) ; 
     53        } 
     54      }  
     55 
    4356      template<typename T> 
    4457      void transfer(CEventServer& event, CArray<T,1>& dataOut) 
     
    5265        transfer(dataIn, dataOut) ; 
    5366      } 
    54    
     67  
     68      template<typename T> 
     69      void transfer(CEventServer& event, CArray<T,1>& dataOut, T missingValue) 
     70      { 
     71        map<int, CArray<T,1>> dataIn ; 
     72        for (auto& subEvent : event.subEvents)  
     73        { 
     74          auto& data = dataIn[subEvent.rank];  
     75          (*subEvent.buffer) >> data ; 
     76        } 
     77        transfer(dataIn, dataOut, missingValue) ; 
     78      } 
     79 
    5580  }; 
    5681} 
Note: See TracChangeset for help on using the changeset viewer.