Ignore:
Timestamp:
11/05/18 13:57:52 (3 years ago)
Author:
oabramkina
Message:

Backporting r1578 and r1586 to dev, cleaning the code before merging it to XIOS 2.5.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/src/node/domain.cpp

    r1576 r1589  
    3333      , lonvalue(), latvalue(), bounds_lonvalue(), bounds_latvalue() 
    3434      , globalLocalIndexMap_(), computedWrittenIndex_(false) 
    35       , clients() 
     35      , clients(), hasLatInReadFile_(false), hasBoundsLatInReadFile_(false) 
     36      , hasLonInReadFile_(false), hasBoundsLonInReadFile_(false) 
    3637   { 
    3738   } 
     
    4546      , lonvalue(), latvalue(), bounds_lonvalue(), bounds_latvalue() 
    4647      , globalLocalIndexMap_(), computedWrittenIndex_(false) 
    47       , clients() 
     48      , clients(), hasLatInReadFile_(false), hasBoundsLatInReadFile_(false) 
     49      , hasLonInReadFile_(false), hasBoundsLonInReadFile_(false) 
    4850   { 
    4951    } 
     
    161163       // size estimation for sendIndex (and sendArea which is always smaller or equal) 
    162164       size_t sizeIndexEvent = 2 * sizeof(size_t) + 2 * CArray<int,1>::size(idxCount); 
    163        // if (isCompressible_) 
    164        // { 
    165        //   std::map<int, std::vector<int> >::const_iterator itWritten = indWrittenSrv_.find(rank); 
    166        //   size_t writtenIdxCount = (itWritten != itWrittenIndexEnd) ? itWritten->second.size() : 0; 
    167        //   sizeIndexEvent += CArray<int,1>::size(writtenIdxCount); 
    168        // } 
    169165 
    170166       // size estimation for sendLonLat 
     
    19081904                                       itSrve = writtenGlobalIndex.end(), itSrv; 
    19091905 
    1910 //      for (itSrv = itSrvb; itSrv != itSrve; ++itSrv) 
    1911 //      { 
    1912 //        indGlo = *itSrv; 
    1913 //        if (ite != globalLocalIndexMap_.find(indGlo)) 
    1914 //        { 
    1915 //          ++nbWritten; 
    1916 //        } 
    1917 //      } 
    1918  
    1919 //      localIndexToWriteOnServer.resize(nbWritten); 
    19201906      localIndexToWriteOnServer.resize(writtenGlobalIndex.numElements()); 
    1921  
    19221907      nbWritten = 0; 
    19231908      for (itSrv = itSrvb; itSrv != itSrve; ++itSrv) 
     
    19341919        ++nbWritten; 
    19351920      } 
    1936        
    1937       // if (isCompressible()) 
    1938       // { 
    1939       //   nbWritten = 0; 
    1940       //   std::unordered_map<size_t,size_t> localGlobalIndexMap; 
    1941       //   for (itSrv = itSrvb; itSrv != itSrve; ++itSrv) 
    1942       //   { 
    1943       //     indGlo = *itSrv; 
    1944       //     if (ite != globalLocalIndexMap_.find(indGlo)) 
    1945       //     { 
    1946       //       localGlobalIndexMap[localIndexToWriteOnServer(nbWritten)] = indGlo; 
    1947       //       ++nbWritten; 
    1948       //     }                  
    1949       //   } 
    1950  
    1951       //   nbWritten = 0; 
    1952       //   for (int idx = 0; idx < data_i_index.numElements(); ++idx) 
    1953       //   { 
    1954       //     if (localGlobalIndexMap.end() != localGlobalIndexMap.find(data_i_index(idx))) 
    1955       //     { 
    1956       //       ++nbWritten; 
    1957       //     } 
    1958       //   } 
    1959  
    1960       //   compressedIndexToWriteOnServer.resize(nbWritten); 
    1961       //   nbWritten = 0; 
    1962       //   for (int idx = 0; idx < data_i_index.numElements(); ++idx) 
    1963       //   { 
    1964       //     if (localGlobalIndexMap.end() != localGlobalIndexMap.find(data_i_index(idx))) 
    1965       //     { 
    1966       //       compressedIndexToWriteOnServer(nbWritten) = localGlobalIndexMap[data_i_index(idx)]; 
    1967       //       ++nbWritten; 
    1968       //     } 
    1969       //   } 
    1970  
    1971       //   numberWrittenIndexes_ = nbWritten; 
    1972       //   if (isDistributed()) 
    1973       //   {             
    1974       //     MPI_Allreduce(&numberWrittenIndexes_, &totalNumberWrittenIndexes_, 1, MPI_INT, MPI_SUM, server->intraComm); 
    1975       //     MPI_Scan(&numberWrittenIndexes_, &offsetWrittenIndexes_, 1, MPI_INT, MPI_SUM, server->intraComm); 
    1976       //     offsetWrittenIndexes_ -= numberWrittenIndexes_; 
    1977       //   } 
    1978       //   else 
    1979       //     totalNumberWrittenIndexes_ = numberWrittenIndexes_; 
    1980       // }       
    19811921   } 
    19821922 
     
    25332473           jIndex = (jIndex < 0) ? 0 : jIndex; 
    25342474           nbIndLoc = iIndex + ni * jIndex; 
    2535 //           if (nbIndLoc < nbIndexGlobMax)  // THIS CONDITION IMPEDES THE CASE OF A HOLE 
    2536 //           { 
    2537 //             i_index(nbIndLoc) = index % ni_glo; 
    2538 //             j_index(nbIndLoc) = index / ni_glo; 
    2539 //             globalLocalIndexMap_[index] = nbIndLoc; 
    2540 //             ++nbIndGlob; 
    2541 //           } 
    2542             i_index(nbIndGlob) = index % ni_glo; 
    2543             j_index(nbIndGlob) = index / ni_glo; 
    2544             globalLocalIndexMap_[index] = nbIndGlob; 
    2545             ++nbIndGlob; 
     2475           i_index(nbIndGlob) = index % ni_glo; 
     2476           j_index(nbIndGlob) = index / ni_glo; 
     2477           globalLocalIndexMap_[index] = nbIndGlob; 
     2478           ++nbIndGlob; 
    25462479         }  
    25472480      }  
     
    30012934         dataIIndex(lInd) = (-1 == dataIIndex(lInd)) ? tmpI(ind) : dataIIndex(lInd); // Only fill in dataIndex if there is no data 
    30022935         dataJIndex(lInd) = (-1 == dataJIndex(lInd)) ? tmpJ(ind) : dataJIndex(lInd);   
    3003  
    3004 //         if (!domainMask(lInd))   // Include mask info into data index on the RECEIVE getServerDimensionSizes 
    3005 //         { 
    3006 //           dataIIndex(lInd) = dataJIndex(lInd) = -1; 
    3007 //         } 
    30082936      }  
    30092937    } 
Note: See TracChangeset for help on using the changeset viewer.