Changeset 1930 for XIOS/dev/dev_ym/XIOS_COUPLING/src/io/nc4_data_output.cpp
- Timestamp:
- 09/10/20 13:51:02 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/io/nc4_data_output.cpp
r1882 r1930 58 58 StdString lonName,latName ; 59 59 60 domain->computeWrittenIndex();60 //domain->computeWrittenIndex(); 61 61 domain->computeWrittenCompressedIndex(comm_file); 62 62 … … 319 319 { 320 320 case CDomain::type_attr::curvilinear : 321 SuperClassWriter::writeData( writtenLat, latid, isCollective, 0);322 SuperClassWriter::writeData( writtenLon, lonid, isCollective, 0);321 SuperClassWriter::writeData(domain->latvalue, latid, isCollective, 0); 322 SuperClassWriter::writeData(domain->lonvalue, lonid, isCollective, 0); 323 323 break; 324 324 case CDomain::type_attr::rectilinear : 325 CArray<double,1> lat = writtenLat(Range(fromStart,toEnd,domain->ni)) ;325 CArray<double,1> lat = domain->latvalue(Range(fromStart,toEnd,domain->ni)) ; 326 326 SuperClassWriter::writeData(CArray<double,1>(lat.copy()), latid, isCollective, 0); 327 CArray<double,1> lon = writtenLon(Range(0,domain->ni-1)) ;327 CArray<double,1> lon = domain->lonvalue(Range(0,domain->ni-1)) ; 328 328 SuperClassWriter::writeData(CArray<double,1>(lon.copy()), lonid, isCollective, 0); 329 329 break; … … 332 332 if (domain->hasBounds) 333 333 { 334 SuperClassWriter::writeData( writtenBndsLon, bounds_lonid, isCollective, 0);335 SuperClassWriter::writeData( writtenBndsLat, bounds_latid, isCollective, 0);334 SuperClassWriter::writeData(domain->bounds_lonvalue, bounds_lonid, isCollective, 0); 335 SuperClassWriter::writeData(domain->bounds_latvalue, bounds_latid, isCollective, 0); 336 336 } 337 337 } … … 339 339 if (domain->hasArea) 340 340 { 341 SuperClassWriter::writeData( writtenArea, areaId, isCollective, 0);341 SuperClassWriter::writeData(domain->areavalue, areaId, isCollective, 0); 342 342 } 343 343 … … 432 432 if (domain->hasLonLat) 433 433 { 434 SuperClassWriter::writeData(writtenLat, latid, isCollective, 0,&start,&count); 435 SuperClassWriter::writeData(writtenLon, lonid, isCollective, 0,&start,&count); 434 // SuperClassWriter::writeData(writtenLat, latid, isCollective, 0,&start,&count); 435 // SuperClassWriter::writeData(writtenLon, lonid, isCollective, 0,&start,&count); 436 SuperClassWriter::writeData(domain->latvalue, latid, isCollective, 0,&start,&count); 437 SuperClassWriter::writeData(domain->lonvalue, lonid, isCollective, 0,&start,&count); 438 436 439 } 437 440 break; … … 443 446 std::vector<StdSize> start(1) ; 444 447 std::vector<StdSize> count(1) ; 445 if (domain->isEmpty()) 446 { 447 start[0]=0 ; 448 count[0]=0 ; 449 SuperClassWriter::writeData(writtenLat, latid, isCollective, 0,&start,&count); 450 SuperClassWriter::writeData(writtenLon, lonid, isCollective, 0,&start,&count); 451 } 452 else 453 { 454 start[0]=domain->jbegin; 455 count[0]=domain->nj; 456 CArray<double,1> lat = writtenLat(Range(fromStart,toEnd,domain->ni)); 457 SuperClassWriter::writeData(CArray<double,1>(lat.copy()), latid, isCollective, 0,&start,&count); 458 459 start[0]=domain->ibegin; 460 count[0]=domain->ni; 461 CArray<double,1> lon = writtenLon(Range(0,domain->ni-1)); 462 SuperClassWriter::writeData(CArray<double,1>(lon.copy()), lonid, isCollective, 0,&start,&count); 463 } 448 449 start[0]=domain->jbegin; 450 count[0]=domain->nj; 451 CArray<double,1> lat = domain->latvalue(Range(fromStart,toEnd,domain->ni)); 452 SuperClassWriter::writeData(CArray<double,1>(lat.copy()), latid, isCollective, 0,&start,&count); 453 454 start[0]=domain->ibegin; 455 count[0]=domain->ni; 456 CArray<double,1> lon = domain->lonvalue(Range(0,domain->ni-1)); 457 SuperClassWriter::writeData(CArray<double,1>(lon.copy()), lonid, isCollective, 0,&start,&count); 464 458 } 465 459 break; … … 486 480 } 487 481 488 SuperClassWriter::writeData(writtenBndsLon, bounds_lonid, isCollective, 0, &start, &count); 489 SuperClassWriter::writeData(writtenBndsLat, bounds_latid, isCollective, 0, &start, &count); 482 // SuperClassWriter::writeData(writtenBndsLon, bounds_lonid, isCollective, 0, &start, &count); 483 // SuperClassWriter::writeData(writtenBndsLat, bounds_latid, isCollective, 0, &start, &count); 484 SuperClassWriter::writeData(domain->bounds_lonvalue, bounds_lonid, isCollective, 0, &start, &count); // will probably not working for rectilinear 485 SuperClassWriter::writeData(domain->bounds_latvalue, bounds_latid, isCollective, 0, &start, &count); 490 486 } 491 487 … … 495 491 std::vector<StdSize> count(2); 496 492 497 if (domain->isEmpty()) 498 { 499 start[0] = 0; start[1] = 0; 500 count[0] = 0; count[1] = 0; 501 } 502 else 503 { 504 start[1] = domain->ibegin; 505 start[0] = domain->jbegin; 506 count[1] = domain->ni; 507 count[0] = domain->nj; 508 } 493 start[1] = domain->ibegin; 494 start[0] = domain->jbegin; 495 count[1] = domain->ni; 496 count[0] = domain->nj; 509 497 510 SuperClassWriter::writeData( writtenArea, areaId, isCollective, 0, &start, &count);498 SuperClassWriter::writeData(domain->areavalue, areaId, isCollective, 0, &start, &count); 511 499 } 512 500 … … 1044 1032 if (domain->hasLonLat) 1045 1033 { 1046 SuperClassWriter::writeData(writtenLat, latid, isCollective, 0); 1047 SuperClassWriter::writeData(writtenLon, lonid, isCollective, 0); 1034 // SuperClassWriter::writeData(writtenLat, latid, isCollective, 0); 1035 // SuperClassWriter::writeData(writtenLon, lonid, isCollective, 0); 1036 SuperClassWriter::writeData(domain->latvalue, latid, isCollective, 0); 1037 SuperClassWriter::writeData(domain->lonvalue, lonid, isCollective, 0); 1048 1038 if (domain->hasBounds) 1049 1039 { 1050 SuperClassWriter::writeData(writtenBndsLon, bounds_lonid, isCollective, 0); 1051 SuperClassWriter::writeData(writtenBndsLat, bounds_latid, isCollective, 0); 1040 // SuperClassWriter::writeData(writtenBndsLon, bounds_lonid, isCollective, 0); 1041 // SuperClassWriter::writeData(writtenBndsLat, bounds_latid, isCollective, 0); 1042 SuperClassWriter::writeData(domain->bounds_lonvalue, bounds_lonid, isCollective, 0); 1043 SuperClassWriter::writeData(domain->bounds_latvalue, bounds_latid, isCollective, 0); 1052 1044 } 1053 1045 } 1054 1046 1055 1047 if (domain->hasArea) 1056 SuperClassWriter::writeData(writtenArea, areaId, isCollective, 0); 1048 // SuperClassWriter::writeData(writtenArea, areaId, isCollective, 0); 1049 SuperClassWriter::writeData(domain->areavalue, areaId, isCollective, 0); 1057 1050 1058 1051 SuperClassWriter::definition_start(); … … 1126 1119 if (domain->hasLonLat) 1127 1120 { 1128 SuperClassWriter::writeData( writtenLat, latid, isCollective, 0,&start,&count);1129 SuperClassWriter::writeData( writtenLon, lonid, isCollective, 0,&start,&count);1121 SuperClassWriter::writeData(domain->latvalue, latid, isCollective, 0,&start,&count); 1122 SuperClassWriter::writeData(domain->lonvalue, lonid, isCollective, 0,&start,&count); 1130 1123 if (domain->hasBounds) 1131 1124 { 1132 SuperClassWriter::writeData( writtenBndsLon, bounds_lonid, isCollective, 0,&startBounds,&countBounds);1133 SuperClassWriter::writeData( writtenBndsLat, bounds_latid, isCollective, 0,&startBounds,&countBounds);1125 SuperClassWriter::writeData(domain->bounds_lonvalue, bounds_lonid, isCollective, 0,&startBounds,&countBounds); 1126 SuperClassWriter::writeData(domain->bounds_latvalue, bounds_latid, isCollective, 0,&startBounds,&countBounds); 1134 1127 } 1135 1128 } 1136 1129 1137 1130 if (domain->hasArea) 1138 SuperClassWriter::writeData( writtenArea, areaId, isCollective, 0, &start, &count);1131 SuperClassWriter::writeData(domain->areavalue, areaId, isCollective, 0, &start, &count); 1139 1132 1140 1133 SuperClassWriter::definition_start(); … … 1166 1159 axis->checkAttributes(); 1167 1160 1168 axis->computeWrittenIndex();1161 // axis->computeWrittenIndex(); 1169 1162 axis->computeWrittenCompressedIndex(comm_file); 1170 1163 … … 1303 1296 { 1304 1297 if (!axis->value.isEmpty()) 1305 SuperClassWriter::writeData(axis _value, axisid, isCollective, 0);1298 SuperClassWriter::writeData(axis->value, axisid, isCollective, 0); 1306 1299 1307 1300 if (!axis->bounds.isEmpty()) … … 1321 1314 } 1322 1315 } 1323 SuperClassWriter::writeData(axis _bounds, axisBoundsId, isCollective, 0);1316 SuperClassWriter::writeData(axis->bounds, axisBoundsId, isCollective, 0); 1324 1317 } 1325 1318 } … … 1342 1335 { 1343 1336 if (!axis->value.isEmpty()) 1344 SuperClassWriter::writeData(axis _value, axisid, isCollective, 0, &start, &count);1337 SuperClassWriter::writeData(axis->value, axisid, isCollective, 0, &start, &count); 1345 1338 1346 1339 if (!axis->bounds.isEmpty()) … … 1360 1353 } 1361 1354 } 1362 SuperClassWriter::writeData(axis _bounds, axisBoundsId, isCollective, 0, &startBounds, &countBounds);1355 SuperClassWriter::writeData(axis->bounds, axisBoundsId, isCollective, 0, &startBounds, &countBounds); 1363 1356 } 1364 1357 } … … 2475 2468 field->outputCompressedField(dataIn, fieldData); 2476 2469 else 2477 field->outputField(dataIn, fieldData); 2470 { 2471 //field->outputField(dataIn, fieldData); 2472 if (!field->default_value.isEmpty()) field->getGrid()->getWorkflowToFullConnector()->transfer(dataIn, fieldData, (double)field->default_value ) ; 2473 else field->getGrid()->getWorkflowToFullConnector()->transfer(dataIn, fieldData ) ; 2474 } 2478 2475 2479 2476 if (!field->prec.isEmpty() && field->prec == 2) fieldData = round(fieldData);
Note: See TracChangeset
for help on using the changeset viewer.