Ignore:
Timestamp:
01/14/19 13:33:48 (5 years ago)
Author:
oabramkina
Message:

Merging dev to trunk. Major changes:

(1) Grid mask is applied in the source filter of clients: unmasked values are replaced by NaN. It is not reconstructed any more by servers.

(2) Domain/axis mask has been incorporated into data index, with only data index sent to servers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/transformation/grid_transformation.cpp

    r1622 r1637  
    359359      std::list<RecvIndexGridDestinationMap>().swap(localIndexToReceiveOnGridDest_); 
    360360      std::list<size_t>().swap(nbLocalIndexOnGridDest_); 
    361       std::list<std::vector<bool> >().swap(localMaskOnGridDest_); 
    362361    } 
    363362    else 
     
    412411        vector<int> localDst ; 
    413412        vector<double> weight ; 
    414         localMaskOnGridDest_.push_back(vector<bool>()) ; 
     413        int nbLocalIndexOnGridDest; 
    415414        CTimer::get("computeTransformationMappingNonDistributed").resume();   
    416415        algo->computeTransformationMappingNonDistributed(elementPosition, gridSource_, tmpGridDestination_,  
    417                                                          localSrc, localDst, weight, localMaskOnGridDest_.back()) ; 
     416                                                         localSrc, localDst, weight, nbLocalIndexOnGridDest) ; 
    418417        CTimer::get("computeTransformationMappingNonDistributed").suspend();   
    419418 
    420419        CTimer::get("computeTransformationMappingConvert").resume();   
    421         nbLocalIndexOnGridDest_.push_back(localMaskOnGridDest_.back().size()) ; 
     420        nbLocalIndexOnGridDest_.push_back(nbLocalIndexOnGridDest) ; 
    422421        int clientRank=client->clientRank ; 
    423422        { 
     
    487486  size_t nbLocalIndex = globalLocalIndexGridDestSendToServer.size(); 
    488487  nbLocalIndexOnGridDest_.push_back(nbLocalIndex); 
    489   localMaskOnGridDest_.push_back(std::vector<bool>()); 
    490   std::vector<bool>& tmpMask = localMaskOnGridDest_.back(); 
    491   tmpMask.resize(nbLocalIndex,false); 
     488//  localMaskOnGridDest_.push_back(std::vector<bool>()); 
     489//  std::vector<bool>& tmpMask = localMaskOnGridDest_.back(); 
     490//  tmpMask.resize(nbLocalIndex,false); 
    492491 
    493492  // Find out number of index sent from grid source and number of index received on grid destination 
     
    672671        recvTmp[recvRank][realRecvSize].first = globalLocalIndexGridDestSendToServer[recvIndexDst(idx)]; 
    673672        recvTmp[recvRank][realRecvSize].second = recvWeightDst(idx); 
    674         tmpMask[globalLocalIndexGridDestSendToServer[recvIndexDst(idx)]] = true; 
    675673         ++realRecvSize; 
    676674      } 
     
    732730CATCH 
    733731 
    734 /*! 
    735   Local mask of data which will be received on the grid destination 
    736   \return local mask of data 
    737 */ 
    738 const std::list<std::vector<bool> >& CGridTransformation::getLocalMaskIndexOnGridDest() const 
    739 TRY 
    740 { 
    741   return localMaskOnGridDest_; 
    742 } 
    743 CATCH 
    744  
    745 } 
     732} 
Note: See TracChangeset for help on using the changeset viewer.