Ignore:
Timestamp:
07/10/17 18:17:04 (7 years ago)
Author:
yushan
Message:

branch merged with trunk @1200

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan_merged/src/node/grid.cpp

    r1134 r1205  
    12531253        std::vector<CAxis*> axisList = getAxis(); 
    12541254        std::vector<int> nZoomBegin(ssize), nZoomSize(ssize), nGlob(ssize), nZoomBeginGlobal(ssize); 
     1255        std::vector<CArray<int,1> > globalZoomIndex(numElement); 
    12551256        for (int i = 0; i < numElement; ++i) 
    12561257        { 
     
    12661267            nZoomBeginGlobal[indexMap[i] + 1] = domainList[domainId]->global_zoom_jbegin; 
    12671268            nGlob[indexMap[i] + 1] = domainList[domainId]->nj_glo; 
     1269 
     1270            { 
     1271              int count = 0; 
     1272              globalZoomIndex[i].resize(nZoomSize[indexMap[i]]*nZoomSize[indexMap[i]+1]); 
     1273              for (int jdx = 0; jdx < nZoomSize[indexMap[i]+1]; ++jdx) 
     1274                for (int idx = 0; idx < nZoomSize[indexMap[i]]; ++idx)                 
     1275                { 
     1276                  globalZoomIndex[i](count) = (nZoomBegin[indexMap[i]] + idx) + (nZoomBegin[indexMap[i]+1] + jdx) * nGlob[indexMap[i]]; 
     1277                  ++count; 
     1278                } 
     1279            } 
    12681280            ++domainId; 
    12691281          } 
     
    12721284            nZoomBegin[indexMap[i]] = axisList[axisId]->zoom_begin_srv; 
    12731285            nZoomSize[indexMap[i]]  = axisList[axisId]->zoom_size_srv; 
    1274             nZoomBeginGlobal[indexMap[i]] = axisList[axisId]->global_zoom_begin; 
     1286            nZoomBeginGlobal[indexMap[i]] = axisList[axisId]->global_zoom_begin_srv; 
    12751287            nGlob[indexMap[i]] = axisList[axisId]->n_glo; 
     1288            if (!axisList[axisId]->global_zoom_index.isEmpty()) 
     1289            { 
     1290              globalZoomIndex[i].reference(axisList[axisId]->zoom_index_srv);                 
     1291            } 
     1292            else 
     1293            { 
     1294              globalZoomIndex[i].resize(nZoomSize[indexMap[i]]); 
     1295              for (int idx = 0; idx < nZoomSize[indexMap[i]]; ++idx) 
     1296                globalZoomIndex[i](idx) = nZoomBegin[indexMap[i]] + idx; 
     1297            } 
     1298             
    12761299            ++axisId; 
    12771300          } 
     
    12821305            nZoomBeginGlobal[indexMap[i]] = 0; 
    12831306            nGlob[indexMap[i]] = 1; 
     1307            globalZoomIndex[i].resize(1); 
     1308            globalZoomIndex[i](0) = 0; 
    12841309            ++scalarId; 
    12851310          } 
     
    12891314          dataSize *= nZoomSize[i]; 
    12901315 
    1291         serverDistribution_ = new CDistributionServer(server->intraCommRank, nZoomBegin, nZoomSize, 
    1292                                                       nZoomBeginGlobal, nGlob); 
     1316/*        serverDistribution_ = new CDistributionServer(server->intraCommRank, nZoomBegin, nZoomSize, 
     1317                                                      nZoomBeginGlobal, nGlob);*/ 
     1318        serverDistribution_ = new CDistributionServer(server->intraCommRank,  
     1319                                                      globalZoomIndex, axis_domain_order, 
     1320                                                      nZoomBegin, nZoomSize, nZoomBeginGlobal, nGlob); 
    12931321      } 
    12941322 
Note: See TracChangeset for help on using the changeset viewer.