Changeset 1421 for XIOS/dev/XIOS_DEV_CMIP6/src/io
- Timestamp:
- 02/08/18 15:40:25 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/io/nc4_data_output.cpp
r1415 r1421 1285 1285 int nbWritten = indexToWrite.numElements(); 1286 1286 CArray<double,1> axis_value(indexToWrite.numElements()); 1287 for (int i = 0; i < nbWritten; i++) axis_value(i) = axis->value(indexToWrite(i)); 1287 for (int i = 0; i < nbWritten; i++) 1288 { 1289 if (i < axis->value.numElements()) 1290 axis_value(i) = axis->value(indexToWrite(i)); 1291 else 1292 axis_value(i) = 0.; 1293 } 1294 1288 1295 CArray<double,2> axis_bounds; 1289 1296 CArray<string,1> axis_label; … … 1291 1298 { 1292 1299 axis_label.resize(indexToWrite.numElements()); 1293 for (int i = 0; i < nbWritten; i++) axis_label(i) = axis->label(indexToWrite(i)); 1300 for (int i = 0; i < nbWritten; i++) 1301 { 1302 if (i < axis->label.numElements()) 1303 axis_label(i) = axis->label(indexToWrite(i)); 1304 else 1305 axis_label(i) = boost::lexical_cast<string>(0); // Write 0 as a label 1306 } 1294 1307 } 1295 1308 … … 1306 1319 for (int i = 0; i < nbWritten; ++i) 1307 1320 { 1308 axis_bounds(0, i) = axis->bounds(0, int(indexToWrite(i))); 1309 axis_bounds(1, i) = axis->bounds(1, int(indexToWrite(i))); 1321 if (i < axis->bounds.columns()) 1322 { 1323 axis_bounds(0, i) = axis->bounds(0, int(indexToWrite(i))); 1324 axis_bounds(1, i) = axis->bounds(1, int(indexToWrite(i))); 1325 } 1326 else 1327 { 1328 axis_bounds(0, i) = 0.; 1329 axis_bounds(1, i) = 0.; 1330 1331 } 1310 1332 } 1311 1333 … … 1337 1359 for (int i = 0; i < nbWritten; ++i) 1338 1360 { 1339 axis_bounds(0, i) = axis->bounds(0, int(indexToWrite(i))); 1340 axis_bounds(1, i) = axis->bounds(1, int(indexToWrite(i))); 1361 if (i < axis->bounds.columns()) 1362 { 1363 axis_bounds(0, i) = axis->bounds(0, int(indexToWrite(i))); 1364 axis_bounds(1, i) = axis->bounds(1, int(indexToWrite(i))); 1365 } 1366 else 1367 { 1368 axis_bounds(0, i) = 0.; 1369 axis_bounds(1, i) = 0.; 1370 } 1341 1371 } 1342 1372 SuperClassWriter::writeData(axis_bounds, axisBoundsId, isCollective, 0, &startBounds, &countBounds);
Note: See TracChangeset
for help on using the changeset viewer.