- Timestamp:
- 01/16/18 23:53:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/transformation/axis_algorithm_transformation.cpp
r1275 r1403 74 74 size_t globalIndex; 75 75 int nIndexSize = 0; 76 if (2 == elementType) nIndexSize = domainSrc_->i_index.numElements(); 77 else if (1 == elementType) nIndexSize = axisSrc_->index.numElements(); 78 else nIndexSize=1 ; // scalar 76 CArray<bool,1>* ptLocalMask ; 77 CArray<bool,1> scalarMask(1) ; 78 scalarMask=true ; 79 80 if (2 == elementType) 81 { 82 nIndexSize = domainSrc_->i_index.numElements(); 83 ptLocalMask=&(domainSrc_->localMask) ; 84 } 85 else if (1 == elementType) 86 { 87 nIndexSize = axisSrc_->index.numElements(); 88 ptLocalMask=&(axisSrc_->mask) ; 89 } 90 else 91 { 92 nIndexSize=1 ; // scalar 93 ptLocalMask=&scalarMask ; 94 } 95 CArray<bool,1>& localMask=*ptLocalMask ; 79 96 80 97 CClientClientDHTInt::Index2VectorInfoTypeMap globalIndex2ProcRank; … … 82 99 for (int idx = 0; idx < nIndexSize; ++idx) 83 100 { 84 if ( 2 == elementType) // domain101 if (localMask(idx)) 85 102 { 86 globalIndex = domainSrc_->i_index(idx) + domainSrc_->j_index(idx) * domainSrc_->ni_glo; 103 if (2 == elementType) // domain 104 { 105 globalIndex = domainSrc_->i_index(idx) + domainSrc_->j_index(idx) * domainSrc_->ni_glo; 106 } 107 else if (1 == elementType) // axis 108 { 109 globalIndex = axisSrc_->index(idx); 110 } 111 else // scalar 112 { 113 globalIndex = 0; 114 } 115 116 globalIndex2ProcRank[globalIndex].resize(1); 117 globalIndex2ProcRank[globalIndex][0] = clientRank; 87 118 } 88 else if (1 == elementType) // axis89 {90 globalIndex = axisSrc_->index(idx);91 }92 else // scalar93 {94 globalIndex = 0;95 }96 97 globalIndex2ProcRank[globalIndex].resize(1);98 globalIndex2ProcRank[globalIndex][0] = clientRank;99 119 } 100 120
Note: See TracChangeset
for help on using the changeset viewer.