Changeset 202 for XMLIO_V2/dev/dev_rv/src/xmlio/output
- Timestamp:
- 05/24/11 17:47:01 (13 years ago)
- Location:
- XMLIO_V2/dev/dev_rv/src/xmlio/output
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/xmlio/output/nc4_data_output.cpp
r201 r202 5 5 6 6 #include "file.hpp" 7 #include "calendar.hpp" 7 8 8 9 namespace xmlioserver … … 231 232 ( field->operation.getValue().compare("once") == 0)); 232 233 233 if (wtime) dims.push_back(timeid); 234 if (wtime) 235 { 236 StdOStringStream oss; 237 oss << "time_" << field->operation.getValue() 238 << "_" << field->getRelFile()->output_freq.getValue(); 239 240 coodinates.push_back(oss.str()); 241 dims.push_back(timeid); 242 } 234 243 235 244 if (!grid->axis_ref.isEmpty()) … … 385 394 386 395 //--------------------------------------------------------------- 396 397 void CNc4DataOutput::writeTimeAxis_ 398 (const boost::shared_ptr<tree::CField> field, 399 const boost::shared_ptr<date::CCalendar> cal) 400 { 401 StdOStringStream oss; 402 oss << "time_" << field->operation.getValue() 403 << "_" << field->getRelFile()->output_freq.getValue(); 404 405 std::vector<StdString> dims; 406 StdString axisid = oss.str(); 407 StdString timeid = StdString("time_counter"); 408 409 dims.push_back(timeid); 410 if (!SuperClassWriter::varExist(axisid)) 411 { 412 SuperClassWriter::addVariable(axisid, NC_DOUBLE, dims); 413 this->writeTimeAxisAttributes(axisid, 414 cal->getId(), 415 "lol", 416 "lol"); 417 } 418 419 } 420 421 //--------------------------------------------------------------- 422 423 void CNc4DataOutput::writeTimeAxisAttributes(const StdString & axis_name, 424 const StdString & calendar, 425 const StdString & units, 426 const StdString & time_origin, 427 const StdString & standard_name, 428 const StdString & long_name, 429 const StdString & title) 430 { 431 SuperClassWriter::addAttribute("standard_name", standard_name, &axis_name); 432 SuperClassWriter::addAttribute("long_name", long_name , &axis_name); 433 SuperClassWriter::addAttribute("title", title , &axis_name); 434 SuperClassWriter::addAttribute("calendar", calendar , &axis_name); 435 SuperClassWriter::addAttribute("units", units , &axis_name); 436 SuperClassWriter::addAttribute("time_origin", time_origin , &axis_name); 437 } 438 439 //--------------------------------------------------------------- 440 387 441 void CNc4DataOutput::writeAxisAttributes(const StdString & axis_name, 388 442 const StdString & axis, -
XMLIO_V2/dev/dev_rv/src/xmlio/output/nc4_data_output.hpp
r201 r202 43 43 44 44 /// Ecriture /// 45 virtual void writeDomain_ (const boost::shared_ptr<tree::CDomain> domain); 46 virtual void writeAxis_ (const boost::shared_ptr<tree::CAxis> axis); 47 virtual void writeField_ (const boost::shared_ptr<tree::CField> field); 48 virtual void writeFieldData_ (const boost::shared_ptr<tree::CField> field); 49 virtual void writeFile_ (const boost::shared_ptr<tree::CFile> file); 50 45 virtual void writeDomain_ (const boost::shared_ptr<tree::CDomain> domain); 46 virtual void writeAxis_ (const boost::shared_ptr<tree::CAxis> axis); 47 virtual void writeField_ (const boost::shared_ptr<tree::CField> field); 48 virtual void writeFieldData_ (const boost::shared_ptr<tree::CField> field); 49 virtual void writeFile_ (const boost::shared_ptr<tree::CFile> file); 50 virtual void writeTimeAxis_ (const boost::shared_ptr<tree::CField> field, 51 const boost::shared_ptr<date::CCalendar> cal); 51 52 52 53 protected : 53 54 54 55 void writeLocalAttributes(int ibegin, int ni, int jbegin, int nj, StdString domid); 56 57 void writeTimeAxisAttributes(const StdString & axis_name, 58 const StdString & calendar, 59 const StdString & units, 60 const StdString & time_origin, 61 const StdString & standard_name = StdString("time"), 62 const StdString & long_name = StdString("Time axis"), 63 const StdString & title = StdString("Time")); 55 64 56 65 void writeFileAttributes(const StdString & name, -
XMLIO_V2/dev/dev_rv/src/xmlio/output/onetcdf4.cpp
r189 r202 356 356 } 357 357 358 //--------------------------------------------------------------- 359 360 bool CONetCDF4::varExist(const StdString & varname) 361 { 362 int varid = 0; 363 int grpid = this->getCurrentGroup(); 364 return (nc_inq_varid (grpid, varname.c_str(), &varid) == NC_NOERR); 365 } 366 358 367 ///-------------------------------------------------------------- 359 368 } // namespace io -
XMLIO_V2/dev/dev_rv/src/xmlio/output/onetcdf4.hpp
r201 r202 92 92 std::vector<StdSize> getDimensions(const StdString & varname); 93 93 int getUnlimitedDimension(void); 94 94 95 bool varExist(const StdString & varname); 96 95 97 //---------------------------------------------------------------- 96 98
Note: See TracChangeset
for help on using the changeset viewer.