- Timestamp:
- 10/28/15 15:58:31 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/io/nc4_data_input.cpp
r685 r765 53 53 case ONE_FILE: 54 54 { 55 /* 55 56 std::vector<int> nZoomBeginGlobal = grid->getDistributionServer()->getZoomBeginGlobal(); 56 57 std::vector<int> nZoomBeginServer = grid->getDistributionServer()->getZoomBeginServer(); … … 67 68 count[i] = nZoomSizeServer[ssize - i - 1]; 68 69 } 70 */ 69 71 72 std::vector<int> nZoomBeginGlobal = grid->getDistributionServer()->getZoomBeginGlobal(); 73 std::vector<int> nZoomBeginServer = grid->getDistributionServer()->getZoomBeginServer(); 74 std::vector<int> nZoomSizeServer = grid->getDistributionServer()->getZoomSizeServer(); 75 76 std::vector<StdSize> start, count; 77 78 CArray<bool,1> axisDomainOrder = grid->axis_domain_order; 79 std::vector<StdString> domainList = grid->getDomainList(); 80 std::vector<StdString> axisList = grid->getAxisList(); 81 int numElement = axisDomainOrder.numElements(); 82 int idxDomain = domainList.size() - 1, idxAxis = axisList.size() - 1; 83 int idx = nZoomBeginGlobal.size() - 1; 84 85 start.reserve(nZoomBeginGlobal.size()); 86 count.reserve(nZoomBeginGlobal.size()); 87 88 for (int i = numElement - 1; i >= 0; --i) 89 { 90 if (axisDomainOrder(i)) 91 { 92 CDomain* domain = CDomain::get(domainList[idxDomain]); 93 if ((domain->type) != CDomain::type_attr::unstructured) 94 { 95 start.push_back(nZoomBeginServer[idx] - nZoomBeginGlobal[idx]); 96 count.push_back(nZoomSizeServer[idx]); 97 } 98 --idx ; 99 start.push_back(nZoomBeginServer[idx] - nZoomBeginGlobal[idx]); 100 count.push_back(nZoomSizeServer[idx]); 101 --idx ; 102 --idxDomain; 103 } 104 else 105 { 106 start.push_back(nZoomBeginServer[idx] - nZoomBeginGlobal[idx]); 107 count.push_back(nZoomSizeServer[idx]); 108 --idx; 109 } 110 } 111 70 112 SuperClassWriter::getData(fieldData, fieldId, isCollective, field->getNStep() - 1, &start, &count); 71 113 break;
Note: See TracChangeset
for help on using the changeset viewer.