Ignore:
Timestamp:
09/01/17 13:39:53 (7 years ago)
Author:
mhnguyen
Message:

Fixing bug on mask grid

+) Add mask_0d for scalar grid
+) Transmit grid's attributes (mask) from client and reconstruct them correctly on server
+) Rebuild data in the input of data flow on the server side

Test
+) On Curie
+) Simple test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/XIOS_DEV_CMIP6/src/distribution_client.cpp

    r1158 r1250  
    478478  localDataIndex_.resize(indexLocalDataOnClientCount); 
    479479  localMaskIndex_.resize(indexSend2ServerCount); 
     480  localMaskedDataIndex_.resize(indexSend2ServerCount); 
    480481  globalDataIndex_.rehash(std::ceil(indexLocalDataOnClientCount/globalDataIndex_.max_load_factor())); //globalLocalDataSendToServerMap_.reserve(indexSend2ServerCount); 
    481482  globalLocalDataSendToServerMap_.rehash(std::ceil(indexSend2ServerCount/globalLocalDataSendToServerMap_.max_load_factor())); //globalLocalDataSendToServerMap_.reserve(indexSend2ServerCount); 
     
    561562              globalLocalDataSendToServerMap_[globalIndex] = indexLocalDataOnClientCount; 
    562563              localMaskIndex_[indexSend2ServerCount] = gridMaskIndex; 
     564              localMaskedDataIndex_[indexSend2ServerCount] = indexLocalDataOnClientCount; 
    563565              ++indexSend2ServerCount; 
    564566            } 
     
    653655} 
    654656 
     657/*! 
     658  Return local mask index of client 
     659*/ 
     660const std::vector<int>& CDistributionClient::getLocalMaskedDataIndexOnClient() 
     661{ 
     662  if (!isComputed_) createGlobalIndexSendToServer(); 
     663  return localMaskedDataIndex_; 
     664} 
     665 
    655666} // namespace xios 
Note: See TracChangeset for help on using the changeset viewer.