Changeset 1099 for XIOS/dev/dev_olga/src/io/nc4_data_output.cpp
- Timestamp:
- 04/14/17 16:53:56 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/io/nc4_data_output.cpp
r1054 r1099 74 74 else setWrittenDomain(domid); 75 75 76 const std::vector<int>& local_size_write = domain->getLocalWriteSize();77 const std::vector<int>& global_size_write = domain->getGlobalWriteSize();78 const std::vector<int>& start_write = domain->getStartWriteIndex();79 const std::vector<int>& count_write = domain->getCountWriteIndex();76 // const std::vector<int>& local_size_write = domain->getLocalWriteSize(); 77 // const std::vector<int>& global_size_write = domain->getGlobalWriteSize(); 78 // const std::vector<int>& start_write = domain->getStartWriteIndex(); 79 // const std::vector<int>& count_write = domain->getCountWriteIndex(); 80 80 int nvertex = (domain->nvertex.isEmpty()) ? 0 : domain->nvertex; 81 81 … … 140 140 bounds_latid = StdString("bounds_lat").append(appendDomid); 141 141 142 SuperClassWriter::addDimension(dimXid, local_size_write[0]);143 SuperClassWriter::addDimension(dimYid, local_size_write[1]);142 SuperClassWriter::addDimension(dimXid, domain->zoom_ni); 143 SuperClassWriter::addDimension(dimYid, domain->zoom_nj); 144 144 145 145 if (domain->hasBounds) … … 148 148 if (server->intraCommSize > 1) 149 149 { 150 this->writeLocalAttributes(0, count_write[0], 151 0, count_write[1], 150 this->writeLocalAttributes(domain->zoom_ibegin, 151 domain->zoom_ni, 152 domain->zoom_jbegin, 153 domain->zoom_nj, 152 154 appendDomid); 153 155 154 156 if (singleDomain) 155 157 this->writeLocalAttributes_IOIPSL(dimXid, dimYid, 156 0, count_write[0], 157 0, count_write[1], 158 domain->zoom_ibegin, 159 domain->zoom_ni, 160 domain->zoom_jbegin, 161 domain->zoom_nj, 158 162 domain->ni_glo,domain->nj_glo, 159 163 server->intraCommRank,server->intraCommSize); … … 228 232 break; 229 233 case CDomain::type_attr::rectilinear : 230 CArray<double,1> lat = domain->latvalue(Range(fromStart,toEnd, local_size_write[0])) ;234 CArray<double,1> lat = domain->latvalue(Range(fromStart,toEnd,domain->zoom_ni)) ; 231 235 SuperClassWriter::writeData(CArray<double,1>(lat.copy()), latid, isCollective, 0); 232 CArray<double,1> lon = domain->lonvalue(Range(0, local_size_write[1])) ;236 CArray<double,1> lon = domain->lonvalue(Range(0,domain->zoom_ni-1)) ; 233 237 // CArray<double,1> lon = domain->lonvalue(Range(0,local_size_write[1]-1)) ; 234 238 SuperClassWriter::writeData(CArray<double,1>(lon.copy()), lonid, isCollective, 0); … … 252 256 case (ONE_FILE) : 253 257 { 254 SuperClassWriter::addDimension(dimXid, global_size_write[0]);255 SuperClassWriter::addDimension(dimYid, global_size_write[1]);258 SuperClassWriter::addDimension(dimXid, domain->global_zoom_ni); 259 SuperClassWriter::addDimension(dimYid, domain->global_zoom_nj); 256 260 257 261 if (domain->hasBounds) … … 327 331 else 328 332 { 329 // start[1]=domain->zoom_ibegin_srv-domain->global_zoom_ibegin;330 // start[0]=domain->zoom_jbegin_srv-domain->global_zoom_jbegin;331 // count[1]=domain->zoom_ni_srv ; count[0]=domain->zoom_nj_srv;332 start[1]= start_write[0];333 start[0]= start_write[1];334 count[1]= count_write[0];335 count[0]= count_write[1];333 start[1]=domain->zoom_ibegin-domain->global_zoom_ibegin; 334 start[0]=domain->zoom_jbegin-domain->global_zoom_jbegin; 335 count[1]=domain->zoom_ni ; count[0]=domain->zoom_nj ; 336 // start[1]= start_write[0]; 337 // start[0]= start_write[1]; 338 // count[1]= count_write[0]; 339 // count[0]= count_write[1]; 336 340 } 337 341 … … 359 363 else 360 364 { 361 start[0]= start_write[1]; 362 count[0]= count_write[1]; 363 CArray<double,1> lat = domain->latvalue(Range(fromStart,toEnd,count_write[0])) ; 365 // start[0]= start_write[1]; 366 // count[0]= count_write[1]; 367 start[0]=domain->zoom_jbegin-domain->global_zoom_jbegin; 368 count[0]=domain->zoom_nj; 369 CArray<double,1> lat = domain->latvalue(Range(fromStart,toEnd,domain->zoom_ni)) ; 364 370 SuperClassWriter::writeData(CArray<double,1>(lat.copy()), latid, isCollective, 0,&start,&count); 365 371 366 start[0]= start_write[0]; 367 count[0]= count_write[0]; 368 CArray<double,1> lon=domain->lonvalue(Range(0,count_write[1])) ; 372 // start[0]= start_write[0]; 373 // count[0]= count_write[0]; 374 start[0]=domain->zoom_ibegin-domain->global_zoom_ibegin; 375 count[0]=domain->zoom_ni; 376 CArray<double,1> lon=domain->lonvalue(Range(0,domain->zoom_ni-1)) ; 369 377 SuperClassWriter::writeData(CArray<double,1>(lon.copy()), lonid, isCollective, 0,&start,&count); 370 378 } … … 386 394 { 387 395 start[2] = 0; 388 start[1] = start_write[0];389 start[0] = start_write[1];390 count[2] = nvertex;391 count[1] = count_write[0];392 count[0] = count_write[1];396 start[1] = domain->zoom_ibegin - domain->global_zoom_ibegin; 397 start[0] = domain->zoom_jbegin - domain->global_zoom_jbegin; 398 count[2] = domain->nvertex; 399 count[1] = domain->zoom_ni; 400 count[0] = domain->zoom_nj; 393 401 } 394 402 … … 409 417 else 410 418 { 411 // start[1] = domain->zoom_ibegin_srv- domain->global_zoom_ibegin;412 // start[0] = domain->zoom_jbegin_srv- domain->global_zoom_jbegin;413 // count[1] = domain->zoom_ni_srv;414 // count[0] = domain->zoom_nj_srv;415 416 start[1]= start_write[0];417 start[0]= start_write[1];418 count[1]= count_write[0];419 count[0]= count_write[1];419 start[1] = domain->zoom_ibegin - domain->global_zoom_ibegin; 420 start[0] = domain->zoom_jbegin - domain->global_zoom_jbegin; 421 count[1] = domain->zoom_ni; 422 count[0] = domain->zoom_nj; 423 424 // start[1]= start_write[0]; 425 // start[0]= start_write[1]; 426 // count[1]= count_write[0]; 427 // count[0]= count_write[1]; 420 428 } 421 429 … … 1048 1056 axis->checkAttributes(); 1049 1057 1050 int local_size_write = axis->getLocalWriteSize(); 1051 int global_size_write = axis->getGlobalWriteSize(); 1052 int start_write = axis->getStartWriteIndex(); 1053 int count_write = axis->getCountWriteIndex(); 1054 1055 if ((0 == local_size_write) && (MULTI_FILE == SuperClass::type)) return; 1058 // int local_size_write = axis->getLocalWriteSize(); 1059 // int global_size_write = axis->getGlobalWriteSize(); 1060 // int start_write = axis->getStartWriteIndex(); 1061 // int count_write = axis->getCountWriteIndex(); 1062 1063 1064 // if ((0 == local_size_write) && (MULTI_FILE == SuperClass::type)) return; 1065 1066 int zoom_size = (MULTI_FILE == SuperClass::type) ? axis->zoom_n 1067 : axis->global_zoom_n; 1068 int zoom_begin = (MULTI_FILE == SuperClass::type) ? axis->zoom_begin 1069 : axis->global_zoom_begin; 1070 1071 if ((0 == axis->zoom_n) && (MULTI_FILE == SuperClass::type)) return; 1056 1072 1057 1073 std::vector<StdString> dims; … … 1062 1078 try 1063 1079 { 1064 SuperClassWriter::addDimension(axisid, global_size_write);1080 SuperClassWriter::addDimension(axisid, zoom_size); 1065 1081 if (axis->hasValue) 1066 1082 { … … 1102 1118 case MULTI_FILE: 1103 1119 { 1104 CArray<double,1> axis_value( local_size_write);1105 for (int i = 0; i < local_size_write; i++) axis_value(i) = axis->value(i);1120 CArray<double,1> axis_value(axis->zoom_n); 1121 for (int i = 0; i < axis->zoom_n; i++) axis_value(i) = axis->value(i); 1106 1122 SuperClassWriter::writeData(axis_value, axisid, isCollective, 0); 1107 1123 … … 1115 1131 case ONE_FILE: 1116 1132 { 1117 CArray<double,1> axis_value( count_write);1133 CArray<double,1> axis_value(axis->zoom_n); 1118 1134 axis_value = axis->value; 1119 1120 1135 std::vector<StdSize> start(1), startBounds(2) ; 1121 1136 std::vector<StdSize> count(1), countBounds(2) ; 1122 start[0] = startBounds[0] = start_write;1123 count[0] = countBounds[0] = count_write;1137 start[0] = startBounds[0] = zoom_begin - axis->global_zoom_begin; 1138 count[0] = countBounds[0] = zoom_size; 1124 1139 startBounds[1] = 0; 1125 1140 countBounds[1] = 2; … … 2295 2310 // start.push_back(nZoomBeginServer[idx] - nZoomBeginGlobal[idx]); 2296 2311 // count.push_back(nZoomSizeServer[idx]); 2297 start.push_back((domain->getStartWriteIndex())[idx]); 2298 count.push_back((domain->getCountWriteIndex())[idx]); 2312 // start.push_back((domain->getStartWriteIndex())[idx]); 2313 // count.push_back((domain->getCountWriteIndex())[idx]); 2314 start.push_back(domain->zoom_jbegin - domain->global_zoom_jbegin); 2315 count.push_back(domain->zoom_nj); 2299 2316 } 2300 2317 --idx ; 2301 2318 // start.push_back(nZoomBeginServer[idx] - nZoomBeginGlobal[idx]); 2302 2319 // count.push_back(nZoomSizeServer[idx]); 2303 start.push_back((domain->getStartWriteIndex())[idx]); 2304 count.push_back((domain->getCountWriteIndex())[idx]); 2320 // start.push_back((domain->getStartWriteIndex())[idx]); 2321 // count.push_back((domain->getCountWriteIndex())[idx]); 2322 start.push_back(domain->zoom_ibegin - domain->global_zoom_ibegin); 2323 count.push_back(domain->zoom_ni); 2305 2324 --idx ; 2306 2325 --idxDomain; … … 2309 2328 { 2310 2329 CAxis* axis = CAxis::get(axisList[idxAxis]); 2311 start.push_back(axis->getStartWriteIndex()); 2312 count.push_back(axis->getCountWriteIndex()); 2330 // start.push_back(axis->getStartWriteIndex()); 2331 // count.push_back(axis->getCountWriteIndex()); 2332 start.push_back(axis->zoom_begin - axis->global_zoom_begin); 2333 count.push_back(axis->zoom_n); 2313 2334 --idx; 2314 2335 --idxAxis;
Note: See TracChangeset
for help on using the changeset viewer.