Changeset 1553 for XIOS/trunk/src/io/nc4_data_output.cpp
- Timestamp:
- 06/28/18 17:53:42 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/io/nc4_data_output.cpp
r1542 r1553 221 221 case (MULTI_FILE) : 222 222 { 223 // if (domain->isEmpty()) return;224 225 if (server->intraCommSize > 1)226 {227 // SuperClassWriter::addDimension(lonid, domain->zoom_ni.getValue());228 // SuperClassWriter::addDimension(latid, domain->zoom_nj.getValue());229 }230 231 223 switch (domain->type) 232 224 { … … 248 240 else bounds_latid = "bounds_"+latName+appendDomid; 249 241 250 SuperClassWriter::addDimension(dimXid, domain-> zoom_ni);251 SuperClassWriter::addDimension(dimYid, domain-> zoom_nj);242 SuperClassWriter::addDimension(dimXid, domain->ni); 243 SuperClassWriter::addDimension(dimYid, domain->nj); 252 244 253 245 if (domain->hasBounds) … … 256 248 if (server->intraCommSize > 1) 257 249 { 258 this->writeLocalAttributes(domain-> zoom_ibegin,259 domain-> zoom_ni,260 domain-> zoom_jbegin,261 domain-> zoom_nj,250 this->writeLocalAttributes(domain->ibegin, 251 domain->ni, 252 domain->jbegin, 253 domain->nj, 262 254 appendDomid); 263 255 264 256 if (singleDomain) 265 257 this->writeLocalAttributes_IOIPSL(dimXid, dimYid, 266 domain-> zoom_ibegin,267 domain-> zoom_ni,268 domain-> zoom_jbegin,269 domain-> zoom_nj,258 domain->ibegin, 259 domain->ni, 260 domain->jbegin, 261 domain->nj, 270 262 domain->ni_glo,domain->nj_glo, 271 263 server->intraCommRank,server->intraCommSize); … … 340 332 break; 341 333 case CDomain::type_attr::rectilinear : 342 CArray<double,1> lat = writtenLat(Range(fromStart,toEnd,domain-> zoom_ni)) ;334 CArray<double,1> lat = writtenLat(Range(fromStart,toEnd,domain->ni)) ; 343 335 SuperClassWriter::writeData(CArray<double,1>(lat.copy()), latid, isCollective, 0); 344 CArray<double,1> lon = writtenLon(Range(0,domain-> zoom_ni-1)) ;336 CArray<double,1> lon = writtenLon(Range(0,domain->ni-1)) ; 345 337 SuperClassWriter::writeData(CArray<double,1>(lon.copy()), lonid, isCollective, 0); 346 338 break; … … 365 357 case (ONE_FILE) : 366 358 { 367 SuperClassWriter::addDimension(dimXid, domain->global_zoom_ni);368 SuperClassWriter::addDimension(dimYid, domain->global_zoom_nj);359 SuperClassWriter::addDimension(dimXid, domain->ni_glo); 360 SuperClassWriter::addDimension(dimYid, domain->nj_glo); 369 361 370 362 if (domain->hasBounds) … … 441 433 else 442 434 { 443 start[1]=domain-> zoom_ibegin-domain->global_zoom_ibegin;444 start[0]=domain-> zoom_jbegin-domain->global_zoom_jbegin;445 count[1]=domain-> zoom_ni ; count[0]=domain->zoom_nj ;435 start[1]=domain->ibegin; 436 start[0]=domain->jbegin; 437 count[1]=domain->ni ; count[0]=domain->nj ; 446 438 } 447 439 … … 468 460 else 469 461 { 470 start[0]=domain-> zoom_jbegin-domain->global_zoom_jbegin;471 count[0]=domain-> zoom_nj;472 CArray<double,1> lat = writtenLat(Range(fromStart,toEnd,domain-> zoom_ni));462 start[0]=domain->jbegin; 463 count[0]=domain->nj; 464 CArray<double,1> lat = writtenLat(Range(fromStart,toEnd,domain->ni)); 473 465 SuperClassWriter::writeData(CArray<double,1>(lat.copy()), latid, isCollective, 0,&start,&count); 474 466 475 start[0]=domain-> zoom_ibegin-domain->global_zoom_ibegin;476 count[0]=domain-> zoom_ni;477 CArray<double,1> lon = writtenLon(Range(0,domain-> zoom_ni-1));467 start[0]=domain->ibegin; 468 count[0]=domain->ni; 469 CArray<double,1> lon = writtenLon(Range(0,domain->ni-1)); 478 470 SuperClassWriter::writeData(CArray<double,1>(lon.copy()), lonid, isCollective, 0,&start,&count); 479 471 } … … 495 487 { 496 488 start[2] = 0; 497 start[1] = domain-> zoom_ibegin - domain->global_zoom_ibegin;498 start[0] = domain-> zoom_jbegin - domain->global_zoom_jbegin;489 start[1] = domain->ibegin; 490 start[0] = domain->jbegin; 499 491 count[2] = domain->nvertex; 500 count[1] = domain-> zoom_ni;501 count[0] = domain-> zoom_nj;492 count[1] = domain->ni; 493 count[0] = domain->nj; 502 494 } 503 495 … … 518 510 else 519 511 { 520 start[1] = domain-> zoom_ibegin - domain->global_zoom_ibegin;521 start[0] = domain-> zoom_jbegin - domain->global_zoom_jbegin;522 count[1] = domain-> zoom_ni;523 count[0] = domain-> zoom_nj;512 start[1] = domain->ibegin; 513 start[0] = domain->jbegin; 514 count[1] = domain->ni; 515 count[0] = domain->nj; 524 516 } 525 517 … … 786 778 else 787 779 { 788 startNodes[0] = domain-> zoom_ibegin-domain->global_zoom_ibegin;789 countNodes[0] = domain-> zoom_ni ;780 startNodes[0] = domain->ibegin; 781 countNodes[0] = domain->ni ; 790 782 } 791 783 … … 809 801 else 810 802 { 811 startEdges[0] = domain-> zoom_ibegin-domain->global_zoom_ibegin;812 countEdges[0] = domain-> zoom_ni;803 startEdges[0] = domain->ibegin; 804 countEdges[0] = domain->ni; 813 805 startNodes[0] = domain->mesh->node_start; 814 806 countNodes[0] = domain->mesh->node_count; 815 startEdgeNodes[0] = domain-> zoom_ibegin-domain->global_zoom_ibegin;807 startEdgeNodes[0] = domain->ibegin; 816 808 startEdgeNodes[1] = 0; 817 countEdgeNodes[0] = domain-> zoom_ni;809 countEdgeNodes[0] = domain->ni; 818 810 countEdgeNodes[1] = 2; 819 811 } … … 845 837 else 846 838 { 847 startFaces[0] = domain-> zoom_ibegin-domain->global_zoom_ibegin;848 countFaces[0] = domain-> zoom_ni ;839 startFaces[0] = domain->ibegin; 840 countFaces[0] = domain->ni ; 849 841 startNodes[0] = domain->mesh->node_start; 850 842 countNodes[0] = domain->mesh->node_count; … … 859 851 countEdgeFaces[0] = domain->mesh->edge_count; 860 852 countEdgeFaces[1]= 2; 861 startFaceConctv[0] = domain-> zoom_ibegin-domain->global_zoom_ibegin;853 startFaceConctv[0] = domain->ibegin; 862 854 startFaceConctv[1] = 0; 863 countFaceConctv[0] = domain-> zoom_ni;855 countFaceConctv[0] = domain->ni; 864 856 countFaceConctv[1] = domain->nvertex; 865 857 } … … 1017 1009 { 1018 1010 dim0.push_back(dimXid); 1019 SuperClassWriter::addDimension(dimXid, domain-> zoom_ni);1011 SuperClassWriter::addDimension(dimXid, domain->ni); 1020 1012 1021 1013 lonid = lonName+appendDomid; … … 1130 1122 else 1131 1123 { 1132 start[0]=domain-> zoom_ibegin - domain->global_zoom_ibegin;1133 count[0]=domain-> zoom_ni;1134 startBounds[0]=domain-> zoom_ibegin-domain->global_zoom_ibegin;1124 start[0]=domain->ibegin; 1125 count[0]=domain->ni; 1126 startBounds[0]=domain->ibegin; 1135 1127 startBounds[1]=0 ; 1136 countBounds[0]=domain-> zoom_ni;1128 countBounds[0]=domain->ni; 1137 1129 countBounds[1]=nvertex ; 1138 1130 } … … 1188 1180 int zoom_count = axis->zoom_n; 1189 1181 int zoom_begin = axis->zoom_begin; 1190 // int zoom_begin = (MULTI_FILE == SuperClass::type) ? axis->global_zoom_begin1191 // : axis->zoom_begin;1192 1182 1193 1183 if ((0 == axis->zoom_n) && (MULTI_FILE == SuperClass::type)) return; … … 2512 2502 if ( wtimeData) 2513 2503 { 2514 // SuperClassWriter::writeData(time_data, timeAxisId, isCollective, field->getNStep() - 1);2515 // SuperClassWriter::writeData(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1);2516 2504 SuperClassWriter::writeTimeAxisData(time_data, timeAxisId, isCollective, field->getNStep() - 1, isRoot); 2517 2505 SuperClassWriter::writeTimeAxisDataBounds(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1, isRoot); … … 2519 2507 if (wtimeCounter) 2520 2508 { 2521 // SuperClassWriter::writeData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1);2522 // if (timeCounterType!=record) SuperClassWriter::writeData(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1);2523 2509 SuperClassWriter::writeTimeAxisData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1,isRoot); 2524 2510 if (timeCounterType!=record) SuperClassWriter::writeTimeAxisDataBounds(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1, isRoot); … … 2530 2516 case (ONE_FILE) : 2531 2517 { 2532 const std::vector<int>& nZoomBeginGlobal = grid->getDistributionServer()->getZoomBeginGlobal();2533 const std::vector<int>& nZoomBeginServer = grid->getDistributionServer()->getZoomBeginServer();2534 const std::vector<int>& nZoomSizeServer = grid->getDistributionServer()->getZoomSizeServer();2535 2518 2536 2519 std::vector<StdSize> start, count; … … 2550 2533 int numElement = axisDomainOrder.numElements(); 2551 2534 int idxDomain = domainList.size() - 1, idxAxis = axisList.size() - 1; 2552 int idx = nZoomBeginGlobal.size() - 1; 2553 2554 start.reserve(nZoomBeginGlobal.size()); 2555 count.reserve(nZoomBeginGlobal.size()); 2556 2535 int idx = domainList.size() * 2 + axisList.size() - 1; 2536 2537 start.reserve(idx+1); 2538 count.reserve(idx+1); 2557 2539 2558 2540 for (int i = numElement - 1; i >= 0; --i) … … 2572 2554 if ((domain->type) != CDomain::type_attr::unstructured) 2573 2555 { 2574 start.push_back( nZoomBeginServer[idx] - nZoomBeginGlobal[idx]);2575 count.push_back( nZoomSizeServer[idx]);2556 start.push_back(domain->jbegin); 2557 count.push_back(domain->nj); 2576 2558 } 2577 2559 --idx; 2578 start.push_back( nZoomBeginServer[idx] - nZoomBeginGlobal[idx]);2579 count.push_back( nZoomSizeServer[idx]);2560 start.push_back(domain->ibegin); 2561 count.push_back(domain->ni); 2580 2562 --idx; 2581 2563 } … … 2593 2575 else 2594 2576 { 2595 start.push_back( nZoomBeginServer[idx] - nZoomBeginGlobal[idx]);2596 count.push_back( nZoomSizeServer[idx]);2577 start.push_back(axis->begin); 2578 count.push_back(axis->n); 2597 2579 } 2598 2599 2580 --idxAxis; 2600 2581 --idx; … … 2610 2591 int numElement = axisDomainOrder.numElements(); 2611 2592 int idxDomain = domainList.size() - 1, idxAxis = axisList.size() - 1; 2612 int idx = domainList.size() * 2 + axisList.size() - 1; // nZoomBeginGlobal.size() - 1;2613 2614 start.reserve( nZoomBeginGlobal.size());2615 count.reserve( nZoomBeginGlobal.size());2593 int idx = domainList.size() * 2 + axisList.size() - 1; 2594 2595 start.reserve(idx+1); 2596 count.reserve(idx+1); 2616 2597 2617 2598 for (int i = numElement - 1; i >= 0; --i) … … 2622 2603 if ((domain->type) != CDomain::type_attr::unstructured) 2623 2604 { 2624 start.push_back(domain-> zoom_jbegin - domain->global_zoom_jbegin);2625 count.push_back(domain-> zoom_nj);2605 start.push_back(domain->jbegin); 2606 count.push_back(domain->nj); 2626 2607 } 2627 2608 --idx ; 2628 2609 2629 start.push_back(domain-> zoom_ibegin - domain->global_zoom_ibegin);2630 count.push_back(domain-> zoom_ni);2610 start.push_back(domain->ibegin); 2611 count.push_back(domain->ni); 2631 2612 --idx ; 2632 2613 --idxDomain; … … 2662 2643 if ( wtimeData) 2663 2644 { 2664 // SuperClassWriter::writeData(time_data, timeAxisId, isCollective, field->getNStep() - 1);2665 // SuperClassWriter::writeData(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1);2666 2645 SuperClassWriter::writeTimeAxisData(time_data, timeAxisId, isCollective, field->getNStep() - 1, isRoot); 2667 2646 SuperClassWriter::writeTimeAxisDataBounds(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1, isRoot); … … 2669 2648 if (wtimeCounter) 2670 2649 { 2671 // SuperClassWriter::writeData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1);2672 // if (timeCounterType!=record) SuperClassWriter::writeData(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1);2673 2650 SuperClassWriter::writeTimeAxisData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1,isRoot); 2674 2651 if (timeCounterType!=record) SuperClassWriter::writeTimeAxisDataBounds(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1, isRoot);
Note: See TracChangeset
for help on using the changeset viewer.