Changeset 1589 for XIOS/dev/dev_olga/src/node/domain.cpp
- Timestamp:
- 11/05/18 13:57:52 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/node/domain.cpp
r1576 r1589 33 33 , lonvalue(), latvalue(), bounds_lonvalue(), bounds_latvalue() 34 34 , globalLocalIndexMap_(), computedWrittenIndex_(false) 35 , clients() 35 , clients(), hasLatInReadFile_(false), hasBoundsLatInReadFile_(false) 36 , hasLonInReadFile_(false), hasBoundsLonInReadFile_(false) 36 37 { 37 38 } … … 45 46 , lonvalue(), latvalue(), bounds_lonvalue(), bounds_latvalue() 46 47 , globalLocalIndexMap_(), computedWrittenIndex_(false) 47 , clients() 48 , clients(), hasLatInReadFile_(false), hasBoundsLatInReadFile_(false) 49 , hasLonInReadFile_(false), hasBoundsLonInReadFile_(false) 48 50 { 49 51 } … … 161 163 // size estimation for sendIndex (and sendArea which is always smaller or equal) 162 164 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 // }169 165 170 166 // size estimation for sendLonLat … … 1908 1904 itSrve = writtenGlobalIndex.end(), itSrv; 1909 1905 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);1920 1906 localIndexToWriteOnServer.resize(writtenGlobalIndex.numElements()); 1921 1922 1907 nbWritten = 0; 1923 1908 for (itSrv = itSrvb; itSrv != itSrve; ++itSrv) … … 1934 1919 ++nbWritten; 1935 1920 } 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 // else1979 // totalNumberWrittenIndexes_ = numberWrittenIndexes_;1980 // }1981 1921 } 1982 1922 … … 2533 2473 jIndex = (jIndex < 0) ? 0 : jIndex; 2534 2474 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; 2546 2479 } 2547 2480 } … … 3001 2934 dataIIndex(lInd) = (-1 == dataIIndex(lInd)) ? tmpI(ind) : dataIIndex(lInd); // Only fill in dataIndex if there is no data 3002 2935 dataJIndex(lInd) = (-1 == dataJIndex(lInd)) ? tmpJ(ind) : dataJIndex(lInd); 3003 3004 // if (!domainMask(lInd)) // Include mask info into data index on the RECEIVE getServerDimensionSizes3005 // {3006 // dataIIndex(lInd) = dataJIndex(lInd) = -1;3007 // }3008 2936 } 3009 2937 }
Note: See TracChangeset
for help on using the changeset viewer.