Changeset 1559 for XIOS/trunk/src/node/grid.cpp
- Timestamp:
- 07/12/18 19:12:32 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/grid.cpp
r1553 r1559 1631 1631 std::vector<CDomain*> domainList = getDomains(); 1632 1632 std::vector<CAxis*> axisList = getAxis(); 1633 std::vector<int> n ZoomBegin(ssize), nZoomSize(ssize), nGlob(ssize), nZoomBeginGlobal(ssize), nGlobElement(numElement);1634 std::vector<CArray<int,1> > global ZoomIndex(numElement); // RENAME INTO globalIndex1633 std::vector<int> nBegin(ssize), nSize(ssize), nGlob(ssize), nBeginGlobal(ssize), nGlobElement(numElement); 1634 std::vector<CArray<int,1> > globalIndex(numElement); 1635 1635 for (int i = 0; i < numElement; ++i) 1636 1636 { … … 1638 1638 if (2 == axis_domain_order(i)) //domain 1639 1639 { 1640 n ZoomBegin[indexMap[i]] = domainList[domainId]->ibegin;1641 n ZoomSize[indexMap[i]] = domainList[domainId]->ni;1642 n ZoomBeginGlobal[indexMap[i]] = 0;1640 nBegin[indexMap[i]] = domainList[domainId]->ibegin; 1641 nSize[indexMap[i]] = domainList[domainId]->ni; 1642 nBeginGlobal[indexMap[i]] = 0; 1643 1643 nGlob[indexMap[i]] = domainList[domainId]->ni_glo; 1644 1644 1645 n ZoomBegin[indexMap[i] + 1] = domainList[domainId]->jbegin;1646 n ZoomSize[indexMap[i] + 1] = domainList[domainId]->nj;1647 n ZoomBeginGlobal[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; 1648 1648 nGlob[indexMap[i] + 1] = domainList[domainId]->nj_glo; 1649 1649 1650 1650 { 1651 1651 int count = 0; 1652 global ZoomIndex[i].resize(nZoomSize[indexMap[i]]*nZoomSize[indexMap[i]+1]);1653 for (int jdx = 0; jdx < n ZoomSize[indexMap[i]+1]; ++jdx)1654 for (int idx = 0; idx < n ZoomSize[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) 1655 1655 { 1656 global ZoomIndex[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]]; 1657 1657 ++count; 1658 1658 } … … 1663 1663 else if (1 == axis_domain_order(i)) // axis 1664 1664 { 1665 n ZoomBegin[indexMap[i]] = axisList[axisId]->zoom_begin;1666 n ZoomSize[indexMap[i]] = axisList[axisId]->zoom_n;1667 n ZoomBeginGlobal[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; 1668 1668 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; 1679 1672 1680 1673 ++axisId; … … 1682 1675 else // scalar 1683 1676 { 1684 n ZoomBegin[indexMap[i]] = 0;1685 n ZoomSize[indexMap[i]] = 1;1686 n ZoomBeginGlobal[indexMap[i]] = 0;1677 nBegin[indexMap[i]] = 0; 1678 nSize[indexMap[i]] = 1; 1679 nBeginGlobal[indexMap[i]] = 0; 1687 1680 nGlob[indexMap[i]] = 1; 1688 global ZoomIndex[i].resize(1);1689 global ZoomIndex[i](0) = 0;1681 globalIndex[i].resize(1); 1682 globalIndex[i](0) = 0; 1690 1683 ++scalarId; 1691 1684 } … … 1693 1686 dataSize = 1; 1694 1687 1695 for (int i = 0; i < n ZoomSize.size(); ++i)1696 dataSize *= n ZoomSize[i];1688 for (int i = 0; i < nSize.size(); ++i) 1689 dataSize *= nSize[i]; 1697 1690 serverDistribution_ = new CDistributionServer(server->intraCommRank, 1698 global ZoomIndex, axis_domain_order,1699 n ZoomBegin, nZoomSize, nZoomBeginGlobal, nGlob);1691 globalIndex, axis_domain_order, 1692 nBegin, nSize, nBeginGlobal, nGlob); 1700 1693 } 1701 1694
Note: See TracChangeset
for help on using the changeset viewer.