Ignore:
Timestamp:
01/12/21 23:05:02 (3 years ago)
Author:
ymipsl
Message:
  • bug fix when createing mask on server side when overlapping grid
  • implement axis interpolation on pressure coordinate
  • big cleaning in transformation

YM

File:
1 edited

Legend:

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

    r1943 r2011  
    6565        transfer(dataIn, dataOut) ; 
    6666      } 
    67   
     67       
     68 
     69      void transfer_or(CEventServer& event, CArray<bool,1>& dataOut) 
     70      { 
     71        map<int, CArray<bool,1>> dataIn ; 
     72        for (auto& subEvent : event.subEvents)  
     73        { 
     74          auto& data = dataIn[subEvent.rank];  
     75          (*subEvent.buffer) >> data ; 
     76        } 
     77        transfer_or(dataIn, dataOut) ; 
     78      } 
     79 
    6880      template<typename T> 
    6981      void transfer(CEventServer& event, CArray<T,1>& dataOut, T missingValue) 
     
    7890      } 
    7991 
     92      void transfer_or(const map<int, CArray<bool,1>>& input, CArray<bool,1>& output) 
     93      { 
     94        int n = elementsConnector_.size()-1 ; 
     95        CGathererConnector** connector = elementsConnector_.data() + n ; 
     96        output.resize(dstSize_) ; 
     97        output = false ; 
     98        for(auto& rankDataIn : input)  
     99        { 
     100          elementsConnector_[n]->transfer_or(rankDataIn.first, connector, n, rankDataIn.second.dataFirst(), output.dataFirst()) ; 
     101        } 
     102      }  
     103 
    80104  }; 
    81105} 
Note: See TracChangeset for help on using the changeset viewer.