Changeset 1486
- Timestamp:
- 04/20/18 14:33:46 (6 years ago)
- Location:
- XIOS/dev/XIOS_DEV_CMIP6/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/io/nc4_data_input.cpp
r1485 r1486 11 11 { 12 12 CNc4DataInput::CNc4DataInput(const StdString& filename, MPI_Comm comm_file, bool multifile, bool isCollective /*= true*/, 13 bool readMetaDataPar /*= false*/, const StdString& timeCounterName /*= "time_counter"*/)13 bool readMetaDataPar /*= false*/, bool ugridConvention /*= false*/, const StdString& timeCounterName /*= "time_counter"*/) 14 14 : SuperClass() 15 15 , SuperClassWriter(filename, &comm_file, multifile, readMetaDataPar, timeCounterName) … … 17 17 , filename(filename) 18 18 , isCollective(isCollective) 19 , ugridConvention(ugridConvention) 19 20 , readMetaDataDomains_(), readValueDomains_() 20 21 , readMetaDataAxis_(), readValueAxis_() … … 419 420 StdString boundsLonName = this->getBoundsId(lonName); 420 421 421 int nbVertex = this->getNbVertex(fieldId); 422 if (ugridConvention && domain->nvertex.isEmpty()) 423 { 424 ERROR("void CNc4DataInput::readDomainAttributeValueFromFile(...)", 425 << " Attribute nvertex must be specified for domain " << domain->getDomainOutputName() 426 << " read from UGRID file " << this->filename << " ."<< std::endl); 427 } 428 // int nbVertex = this->getNbVertex(fieldId); 429 int nbVertex = (ugridConvention) ? domain->nvertex : this->getNbVertex(fieldId); 422 430 if (!domain->nvertex.isEmpty() && (domain->nvertex != nbVertex)) 423 431 { -
XIOS/dev/XIOS_DEV_CMIP6/src/io/nc4_data_input.hpp
r1485 r1486 24 24 /// Constructors /// 25 25 CNc4DataInput(const StdString& filename, MPI_Comm comm_file, bool multifile, bool isCollective = true, 26 bool readMetaDataPar = false, const StdString& timeCounterName = "time_counter");26 bool readMetaDataPar = false, bool ugridConvention = false, const StdString& timeCounterName = "time_counter"); 27 27 CNc4DataInput(const CNc4DataInput& dataInput); // Not implemented. 28 28 CNc4DataInput(const CNc4DataInput* const dataInput); // Not implemented. … … 73 73 const StdString filename; 74 74 bool isCollective; 75 bool ugridConvention; 75 76 }; // class CNc4DataInput 76 77 -
XIOS/dev/XIOS_DEV_CMIP6/src/node/domain.cpp
r1457 r1486 1498 1498 << "Since 'bounds_lat_2d' is defined, 'latvalue_2d' must be defined too." << std::endl); 1499 1499 1500 hasBounds = true; 1500 // In case of reading UGRID bounds values are not required 1501 hasBounds = (!bounds_lat_1d.isEmpty() || !bounds_lat_2d.isEmpty() ); 1501 1502 } 1502 1503 else if (hasBoundValues) -
XIOS/dev/XIOS_DEV_CMIP6/src/node/file.cpp
r1485 r1486 661 661 662 662 if (isOpen) data_out->closeFile(); 663 if (time_counter_name.isEmpty()) data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective, readMetaDataPar)); 664 else data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective, readMetaDataPar, time_counter_name)); 663 bool ugridConvention = !convention.isEmpty() ? (convention == convention_attr::UGRID) : false; 664 if (time_counter_name.isEmpty()) 665 data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective, readMetaDataPar, ugridConvention)); 666 else 667 data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective, readMetaDataPar, ugridConvention, time_counter_name)); 665 668 isOpen = true; 666 669 }
Note: See TracChangeset
for help on using the changeset viewer.