Changeset 613
- Timestamp:
- 06/10/15 16:39:54 (8 years ago)
- Location:
- XIOS
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp
r612 r613 82 82 StdString dimXid, dimYid ; 83 83 84 bool isRegularDomain = (domain->type == CDomain::type_attr::regular); 84 85 switch (domain->type) 85 86 { … … 188 189 } 189 190 190 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);191 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);191 this->writeAxisAttributes(lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid); 192 this->writeAxisAttributes(latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid); 192 193 193 194 dim0.clear(); … … 274 275 275 276 this->writeAxisAttributes 276 (lonid, "X", "longitude", "Longitude", "degrees_east", domid);277 (lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid); 277 278 this->writeAxisAttributes 278 (latid, "Y", "latitude", "Latitude", "degrees_north", domid);279 (latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid); 279 280 280 281 SuperClassWriter::definition_end(); … … 412 413 413 414 414 this->writeAxisAttributes(lonid, " X", "longitude", "Longitude", "degrees_east", domid);415 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid); 415 416 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid); 416 this->writeAxisAttributes(latid, " Y", "latitude", "Latitude", "degrees_north", domid);417 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid); 417 418 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid); 418 419 if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex); … … 463 464 SuperClassWriter::addVariable(latid, NC_FLOAT, dim0); 464 465 SuperClassWriter::addVariable(lonid, NC_FLOAT, dim0); 465 this->writeAxisAttributes(lonid, " X", "longitude", "Longitude", "degrees_east", domid);466 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid); 466 467 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid); 467 this->writeAxisAttributes(latid, " Y", "latitude", "Latitude", "degrees_north", domid);468 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid); 468 469 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid); 469 470 if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex); … … 566 567 SuperClassWriter::addVariable(axisid, NC_FLOAT, dims); 567 568 568 SuperClassWriter::addAttribute("axis", StdString("Z"), &axisid);569 570 569 if (!axis->standard_name.isEmpty()) 571 570 SuperClassWriter::addAttribute … … 581 580 582 581 if (!axis->positive.isEmpty()) 583 if (axis->positive==CAxis::positive_attr::up) SuperClassWriter::addAttribute("positive", string("up"), &axisid); 584 else SuperClassWriter::addAttribute("positive", string("down"), &axisid); 582 { 583 SuperClassWriter::addAttribute("axis", string("Z"), &axisid); 584 SuperClassWriter::addAttribute("positive", 585 (axis->positive == CAxis::positive_attr::up) ? string("up") : string("down"), 586 &axisid); 587 } 585 588 586 589 StdString axisBoundsId = axisid + "_bounds"; … … 1290 1293 const StdString & time_bounds, 1291 1294 const StdString & standard_name, 1292 const StdString & long_name, 1293 const StdString & title) 1295 const StdString & long_name) 1294 1296 { 1295 1297 try … … 1297 1299 SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name); 1298 1300 SuperClassWriter::addAttribute("long_name", long_name , &axis_name); 1299 SuperClassWriter::addAttribute("title", title , &axis_name);1300 1301 SuperClassWriter::addAttribute("calendar", calendar , &axis_name); 1301 1302 SuperClassWriter::addAttribute("units", units , &axis_name); … … 1311 1312 msg.append(e.what()); 1312 1313 ERROR("CNc4DataOutput::writeTimeAxisAttributes(const StdString & axis_name, \ 1313 const StdString & calendar,\ 1314 const StdString & units, \ 1315 const StdString & time_origin, \ 1316 const StdString & time_bounds, \ 1317 const StdString & standard_name, \ 1318 const StdString & long_name, \ 1319 const StdString & title)", << msg); 1314 const StdString & calendar,\ 1315 const StdString & units, \ 1316 const StdString & time_origin, \ 1317 const StdString & time_bounds, \ 1318 const StdString & standard_name, \ 1319 const StdString & long_name)", << msg); 1320 1320 } 1321 1321 } … … 1332 1332 try 1333 1333 { 1334 SuperClassWriter::addAttribute("axis" , axis , &axis_name); 1334 if (!axis.empty()) 1335 SuperClassWriter::addAttribute("axis" , axis , &axis_name); 1336 1335 1337 SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name); 1336 1338 SuperClassWriter::addAttribute("long_name" , long_name , &axis_name); … … 1346 1348 msg.append(e.what()); 1347 1349 ERROR("CNc4DataOutput::writeAxisAttributes(const StdString & axis_name, \ 1348 const StdString & axis, \1349 const StdString & standard_name, \1350 const StdString & long_name, \1351 const StdString & units, \1352 const StdString & nav_model)", << msg);1350 const StdString & axis, \ 1351 const StdString & standard_name, \ 1352 const StdString & long_name, \ 1353 const StdString & units, \ 1354 const StdString & nav_model)", << msg); 1353 1355 } 1354 1356 } … … 1432 1434 SuperClassWriter::addAttribute("name" , name); 1433 1435 SuperClassWriter::addAttribute("description", description); 1434 SuperClassWriter::addAttribute("conventions", conventions); 1436 SuperClassWriter::addAttribute("title" , description); 1437 SuperClassWriter::addAttribute("Conventions", conventions); 1435 1438 SuperClassWriter::addAttribute("production" , production); 1436 1439 SuperClassWriter::addAttribute("timeStamp" , timeStamp); -
XIOS/branchs/xios-1.0/src/output/nc4_data_output.hpp
r501 r613 63 63 const StdString & time_bounds = StdString("bounds"), 64 64 const StdString & standard_name = StdString("time"), 65 const StdString & long_name = StdString("Time axis"), 66 const StdString & title = StdString("Time")); 65 const StdString & long_name = StdString("Time axis")); 67 66 68 67 void writeFileAttributes(const StdString & name, -
XIOS/trunk/src/output/nc4_data_output.cpp
r612 r613 83 83 StdString dimXid, dimYid ; 84 84 85 bool isRegularDomain = (domain->type == CDomain::type_attr::regular); 85 86 switch (domain->type) 86 87 { … … 189 190 } 190 191 191 this->writeAxisAttributes(lonid, "X", "longitude", "Longitude", "degrees_east", domid);192 this->writeAxisAttributes(latid, "Y", "latitude", "Latitude", "degrees_north", domid);192 this->writeAxisAttributes(lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid); 193 this->writeAxisAttributes(latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid); 193 194 194 195 dim0.clear(); … … 275 276 276 277 this->writeAxisAttributes 277 (lonid, "X", "longitude", "Longitude", "degrees_east", domid);278 (lonid, isRegularDomain ? "X" : "", "longitude", "Longitude", "degrees_east", domid); 278 279 this->writeAxisAttributes 279 (latid, "Y", "latitude", "Latitude", "degrees_north", domid);280 (latid, isRegularDomain ? "Y" : "", "latitude", "Latitude", "degrees_north", domid); 280 281 281 282 SuperClassWriter::definition_end(); … … 412 413 413 414 414 this->writeAxisAttributes(lonid, " X", "longitude", "Longitude", "degrees_east", domid);415 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid); 415 416 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid); 416 this->writeAxisAttributes(latid, " Y", "latitude", "Latitude", "degrees_north", domid);417 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid); 417 418 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid); 418 419 if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex); … … 463 464 SuperClassWriter::addVariable(latid, NC_FLOAT, dim0); 464 465 SuperClassWriter::addVariable(lonid, NC_FLOAT, dim0); 465 this->writeAxisAttributes(lonid, " X", "longitude", "Longitude", "degrees_east", domid);466 this->writeAxisAttributes(lonid, "", "longitude", "Longitude", "degrees_east", domid); 466 467 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_lonid, &lonid); 467 this->writeAxisAttributes(latid, " Y", "latitude", "Latitude", "degrees_north", domid);468 this->writeAxisAttributes(latid, "", "latitude", "Latitude", "degrees_north", domid); 468 469 if (domain->hasBounds) SuperClassWriter::addAttribute("bounds",bounds_latid, &latid); 469 470 if (domain->hasBounds) SuperClassWriter::addDimension(dimVertId, domain->nvertex); … … 566 567 SuperClassWriter::addVariable(axisid, NC_FLOAT, dims); 567 568 568 SuperClassWriter::addAttribute("axis", StdString("Z"), &axisid);569 570 569 if (!axis->name.isEmpty()) 571 570 SuperClassWriter::addAttribute("name", axis->name.getValue(), &axisid); … … 581 580 582 581 if (!axis->positive.isEmpty()) 583 if (axis->positive == CAxis::positive_attr::up) SuperClassWriter::addAttribute("positive", string("up"), &axisid); 584 else SuperClassWriter::addAttribute("positive", string("down"), &axisid); 582 { 583 SuperClassWriter::addAttribute("axis", string("Z"), &axisid); 584 SuperClassWriter::addAttribute("positive", 585 (axis->positive == CAxis::positive_attr::up) ? string("up") : string("down"), 586 &axisid); 587 } 585 588 586 589 StdString axisBoundsId = axisid + "_bounds"; … … 1651 1654 const StdString & time_bounds, 1652 1655 const StdString & standard_name, 1653 const StdString & long_name, 1654 const StdString & title) 1656 const StdString & long_name) 1655 1657 { 1656 1658 try … … 1658 1660 SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name); 1659 1661 SuperClassWriter::addAttribute("long_name", long_name , &axis_name); 1660 SuperClassWriter::addAttribute("title", title , &axis_name);1661 1662 SuperClassWriter::addAttribute("calendar", calendar , &axis_name); 1662 1663 SuperClassWriter::addAttribute("units", units , &axis_name); … … 1672 1673 msg.append(e.what()); 1673 1674 ERROR("CNc4DataOutput::writeTimeAxisAttributes(const StdString & axis_name, \ 1674 const StdString & calendar,\ 1675 const StdString & units, \ 1676 const StdString & time_origin, \ 1677 const StdString & time_bounds, \ 1678 const StdString & standard_name, \ 1679 const StdString & long_name, \ 1680 const StdString & title)", << msg); 1675 const StdString & calendar,\ 1676 const StdString & units, \ 1677 const StdString & time_origin, \ 1678 const StdString & time_bounds, \ 1679 const StdString & standard_name, \ 1680 const StdString & long_name)", << msg); 1681 1681 } 1682 1682 } … … 1693 1693 try 1694 1694 { 1695 SuperClassWriter::addAttribute("axis" , axis , &axis_name); 1695 if (!axis.empty()) 1696 SuperClassWriter::addAttribute("axis" , axis , &axis_name); 1697 1696 1698 SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name); 1697 1699 SuperClassWriter::addAttribute("long_name" , long_name , &axis_name); … … 1707 1709 msg.append(e.what()); 1708 1710 ERROR("CNc4DataOutput::writeAxisAttributes(const StdString & axis_name, \ 1709 const StdString & axis, \1710 const StdString & standard_name, \1711 const StdString & long_name, \1712 const StdString & units, \1713 const StdString & nav_model)", << msg);1711 const StdString & axis, \ 1712 const StdString & standard_name, \ 1713 const StdString & long_name, \ 1714 const StdString & units, \ 1715 const StdString & nav_model)", << msg); 1714 1716 } 1715 1717 } … … 1793 1795 SuperClassWriter::addAttribute("name" , name); 1794 1796 SuperClassWriter::addAttribute("description", description); 1795 SuperClassWriter::addAttribute("conventions", conventions); 1797 SuperClassWriter::addAttribute("title" , description); 1798 SuperClassWriter::addAttribute("Conventions", conventions); 1796 1799 SuperClassWriter::addAttribute("production" , production); 1797 1800 SuperClassWriter::addAttribute("timeStamp" , timeStamp); -
XIOS/trunk/src/output/nc4_data_output.hpp
r591 r613 64 64 const StdString & time_bounds = StdString("bounds"), 65 65 const StdString & standard_name = StdString("time"), 66 const StdString & long_name = StdString("Time axis"), 67 const StdString & title = StdString("Time")); 66 const StdString & long_name = StdString("Time axis")); 68 67 69 68 void writeFileAttributes(const StdString & name,
Note: See TracChangeset
for help on using the changeset viewer.