Ignore:
Timestamp:
10/28/20 16:24:06 (4 years ago)
Author:
oabramkina
Message:

dev_oa: first working version for tiled domains

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_oa/src/node/grid.hpp

    r1927 r1966  
    9191         StdSize  getDataSize(void) const; 
    9292 
     93         StdSize  getTileDataSize(int tileId); 
     94 
     95         StdSize  getTileSize(int tileId); 
     96 
    9397         /// Entrees-sorties de champs 
    9498         template <int n> 
     
    100104         template <int n> 
    101105         void uncompressField(const CArray<double,n>& data, CArray<double,1>& outData) const;  
     106         template <int n> 
     107         void copyTile(const CArray<double,n>& tileData, CArray<double, 1>& stored, int tileId); 
    102108 
    103109         virtual void parse(xml::CXMLNode& node); 
     
    256262                                         const CArray<int,1>& axisDomainOrder); 
    257263 
     264         int getNTiles(); 
     265 
    258266      private: 
    259267       template<int N> 
     
    273281        void uncompressField_arr(const double* const data, CArray<double, 1>& outData) const; 
    274282        void maskField_arr(const double* const data, CArray<double, 1>& stored) const; 
     283        void copyTile_arr(const double* const tileData, CArray<double, 1>& stored, int tileId); 
    275284 
    276285        void setVirtualDomainGroup(CDomainGroup* newVDomainGroup); 
     
    303312        void computeConnectedClientsScalarGrid();  
    304313 
     314        void computeTileIndex(); 
     315 
    305316      private: 
    306317 
     
    312323        bool isDomainAxisChecked; 
    313324        bool isIndexSent; 
     325 
     326        int nTiles_; 
     327        bool isTiled_; 
     328/** Vector containing local domain indexes for each tile */ 
     329        std::vector<CArray<int,1> > storeTileIndex; 
    314330 
    315331        CDomainGroup* vDomainGroup_; 
     
    387403 
    388404   template <int n> 
     405   void CGrid::copyTile(const CArray<double,n>& tileData, CArray<double,1>& storedData, int tileId) 
     406   { 
     407      this->copyTile_arr(tileData.dataFirst(), storedData, tileId); 
     408   } 
     409 
     410   template <int n> 
    389411   void CGrid::maskField(const CArray<double,n>& field, CArray<double,1>& stored) const 
    390412   { 
    391413//#ifdef __XIOS_DEBUG 
    392414      if (this->getDataSize() != field.numElements()) 
    393          ERROR("void CGrid::inputField(const  CArray<double,n>& field, CArray<double,1>& stored) const", 
     415         ERROR("void CGrid::maskField(const  CArray<double,n>& field, CArray<double,1>& stored) const", 
    394416                << "[ Awaiting data of size = " << this->getDataSize() << ", " 
    395417                << "Received data size = "      << field.numElements() << " ] " 
Note: See TracChangeset for help on using the changeset viewer.