Ignore:
Timestamp:
07/12/18 19:12:32 (6 years ago)
Author:
oabramkina
Message:

Replacing axis zoom by axis extract.
Zoom private attributes are gone for good.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/grid.cpp

    r1553 r1559  
    16311631          std::vector<CDomain*> domainList = getDomains(); 
    16321632          std::vector<CAxis*> axisList = getAxis(); 
    1633           std::vector<int> nZoomBegin(ssize), nZoomSize(ssize), nGlob(ssize), nZoomBeginGlobal(ssize), nGlobElement(numElement); 
    1634           std::vector<CArray<int,1> > globalZoomIndex(numElement);  // RENAME INTO globalIndex 
     1633          std::vector<int> nBegin(ssize), nSize(ssize), nGlob(ssize), nBeginGlobal(ssize), nGlobElement(numElement); 
     1634          std::vector<CArray<int,1> > globalIndex(numElement); 
    16351635          for (int i = 0; i < numElement; ++i) 
    16361636          { 
     
    16381638            if (2 == axis_domain_order(i)) //domain 
    16391639            { 
    1640               nZoomBegin[indexMap[i]] = domainList[domainId]->ibegin; 
    1641               nZoomSize[indexMap[i]]  = domainList[domainId]->ni; 
    1642               nZoomBeginGlobal[indexMap[i]] = 0; 
     1640              nBegin[indexMap[i]] = domainList[domainId]->ibegin; 
     1641              nSize[indexMap[i]]  = domainList[domainId]->ni; 
     1642              nBeginGlobal[indexMap[i]] = 0; 
    16431643              nGlob[indexMap[i]] = domainList[domainId]->ni_glo; 
    16441644 
    1645               nZoomBegin[indexMap[i] + 1] = domainList[domainId]->jbegin; 
    1646               nZoomSize[indexMap[i] + 1] = domainList[domainId]->nj; 
    1647               nZoomBeginGlobal[indexMap[i] + 1] = 0; 
     1645              nBegin[indexMap[i] + 1] = domainList[domainId]->jbegin; 
     1646              nSize[indexMap[i] + 1] = domainList[domainId]->nj; 
     1647              nBeginGlobal[indexMap[i] + 1] = 0; 
    16481648              nGlob[indexMap[i] + 1] = domainList[domainId]->nj_glo; 
    16491649 
    16501650              { 
    16511651                int count = 0; 
    1652                 globalZoomIndex[i].resize(nZoomSize[indexMap[i]]*nZoomSize[indexMap[i]+1]); 
    1653                 for (int jdx = 0; jdx < nZoomSize[indexMap[i]+1]; ++jdx) 
    1654                   for (int idx = 0; idx < nZoomSize[indexMap[i]]; ++idx)                 
     1652                globalIndex[i].resize(nSize[indexMap[i]]*nSize[indexMap[i]+1]); 
     1653                for (int jdx = 0; jdx < nSize[indexMap[i]+1]; ++jdx) 
     1654                  for (int idx = 0; idx < nSize[indexMap[i]]; ++idx) 
    16551655                  { 
    1656                     globalZoomIndex[i](count) = (nZoomBegin[indexMap[i]] + idx) + (nZoomBegin[indexMap[i]+1] + jdx) * nGlob[indexMap[i]]; 
     1656                    globalIndex[i](count) = (nBegin[indexMap[i]] + idx) + (nBegin[indexMap[i]+1] + jdx) * nGlob[indexMap[i]]; 
    16571657                    ++count; 
    16581658                  } 
     
    16631663            else if (1 == axis_domain_order(i)) // axis 
    16641664            { 
    1665               nZoomBegin[indexMap[i]] = axisList[axisId]->zoom_begin; 
    1666               nZoomSize[indexMap[i]]  = axisList[axisId]->zoom_n; 
    1667               nZoomBeginGlobal[indexMap[i]] = axisList[axisId]->global_zoom_begin;               
     1665              nBegin[indexMap[i]] = axisList[axisId]->begin; 
     1666              nSize[indexMap[i]]  = axisList[axisId]->n; 
     1667              nBeginGlobal[indexMap[i]] = 0; 
    16681668              nGlob[indexMap[i]] = axisList[axisId]->n_glo;      
    1669               if (axisList[axisId]->zoomByIndex()) 
    1670               { 
    1671                 globalZoomIndex[i].reference(axisList[axisId]->zoom_index);                 
    1672               } 
    1673               else 
    1674               { 
    1675                 globalZoomIndex[i].resize(nZoomSize[indexMap[i]]); 
    1676                 for (int idx = 0; idx < nZoomSize[indexMap[i]]; ++idx) 
    1677                   globalZoomIndex[i](idx) = nZoomBegin[indexMap[i]] + idx; 
    1678               } 
     1669              globalIndex[i].resize(nSize[indexMap[i]]); 
     1670              for (int idx = 0; idx < nSize[indexMap[i]]; ++idx) 
     1671                globalIndex[i](idx) = nBegin[indexMap[i]] + idx; 
    16791672 
    16801673              ++axisId; 
     
    16821675            else // scalar 
    16831676            {  
    1684               nZoomBegin[indexMap[i]] = 0; 
    1685               nZoomSize[indexMap[i]]  = 1; 
    1686               nZoomBeginGlobal[indexMap[i]] = 0;               
     1677              nBegin[indexMap[i]] = 0; 
     1678              nSize[indexMap[i]]  = 1; 
     1679              nBeginGlobal[indexMap[i]] = 0; 
    16871680              nGlob[indexMap[i]] = 1; 
    1688               globalZoomIndex[i].resize(1); 
    1689               globalZoomIndex[i](0) = 0; 
     1681              globalIndex[i].resize(1); 
     1682              globalIndex[i](0) = 0; 
    16901683              ++scalarId; 
    16911684            } 
     
    16931686          dataSize = 1; 
    16941687 
    1695           for (int i = 0; i < nZoomSize.size(); ++i) 
    1696             dataSize *= nZoomSize[i]; 
     1688          for (int i = 0; i < nSize.size(); ++i) 
     1689            dataSize *= nSize[i]; 
    16971690          serverDistribution_ = new CDistributionServer(server->intraCommRank,  
    1698                                                         globalZoomIndex, axis_domain_order, 
    1699                                                         nZoomBegin, nZoomSize, nZoomBeginGlobal, nGlob); 
     1691                                                        globalIndex, axis_domain_order, 
     1692                                                        nBegin, nSize, nBeginGlobal, nGlob); 
    17001693        } 
    17011694 
Note: See TracChangeset for help on using the changeset viewer.