61 virtual int initialize(
const vector<string> &paths,
const std::vector<string> &options);
62 virtual int initialize_impl(
const vector<string> &paths,
const std::vector<string> &options,
63 std::unique_ptr<NetCDFCFCollection> ncdfc);
117 return (_proj4String);
122 virtual bool getAtt(
string varname,
string attname, vector<double> &values)
const;
123 virtual bool getAtt(
string varname,
string attname, vector<long> &values)
const;
124 virtual bool getAtt(
string varname,
string attname,
string &values)
const;
136 virtual int getDimLensAtLevel(
string varname,
int level, std::vector<size_t> &dims_at_level, std::vector<size_t> &bs_at_level)
const;
140 virtual int openVariableRead(
size_t ts,
string varname,
int,
int) {
return (DCCF::openVariableRead(ts, varname)); }
150 virtual int readRegion(
int fd,
const vector<size_t> &min,
const vector<size_t> &max,
float *region) {
return (_readRegionTemplate(fd, min, max, region)); }
151 virtual int readRegion(
int fd,
const vector<size_t> &min,
const vector<size_t> &max,
double *region) {
return (_readRegionTemplate(fd, min, max, region)); }
152 virtual int readRegion(
int fd,
const vector<size_t> &min,
const vector<size_t> &max,
int *region) {
return (_readRegionTemplate(fd, min, max, region)); }
156 virtual bool variableExists(
size_t ts,
string varname,
int reflevel = 0,
int lod = 0)
const;
177 std::map<string, DC::Dimension> _dimsMap;
178 std::map<string, DC::CoordVar> _coordVarsMap;
179 std::map<string, DC::Mesh> _meshMap;
180 std::map<string, DC::DataVar> _dataVarsMap;
181 std::map<string, DC::AuxVar> _auxVarsMap;
183 int _initHorizontalCoordinates(
NetCDFCFCollection *ncdfc, std::map<string, DC::CoordVar> &coordVarsMap);
185 int _initVerticalCoordinates(
NetCDFCFCollection *ncdfc, std::map<string, DC::CoordVar> &coordVarsMap);
187 int _initTimeCoordinates(
NetCDFCFCollection *ncdfc, std::map<string, DC::CoordVar> &coordVarsMap);
194 template<
class T>
int _readRegionTemplate(
int fd,
const vector<size_t> &min,
const vector<size_t> &max, T *region);
196 template<
class T>
bool _getAttTemplate(
string varname,
string attname, T &values)
const;
Class for reading a NetCDF Climate Forecast (CF) data set stored as a series of NetCDF files.
virtual XType getAttType(string varname, string attname) const
std::vector< string > getMeshNames() const
virtual bool getAuxVarInfo(string varname, DC::AuxVar &var) const
virtual int getDimLensAtLevel(string varname, int level, std::vector< size_t > &dims_at_level, std::vector< size_t > &bs_at_level) const
virtual int openVariableRead(size_t ts, string varname, int, int)
virtual int readRegion(int fd, const vector< size_t > &min, const vector< size_t > &max, double *region)
virtual int getVarCoordinates(NetCDFCFCollection *ncdfc, string varname, vector< string > &sdimnames, vector< string > &scoordvars, string &time_dim_name, string &time_coordvar) const
virtual bool getAtt(string varname, string attname, vector< long > &values) const
virtual int openVariableRead(size_t ts, string varname)
virtual std::vector< string > getCoordVarNames() const
virtual bool getDataVarInfo(string varname, DC::DataVar &datavar) const
virtual std::vector< string > getAttNames(string varname) const
virtual int initAuxilliaryVars(NetCDFCFCollection *ncdfc, std::map< string, DC::AuxVar > &auxVarsMap)
virtual bool getAtt(string varname, string attname, vector< double > &values) const
virtual int readRegion(int fd, const vector< size_t > &min, const vector< size_t > &max, int *region)
virtual int readRegion(int fd, const vector< size_t > &min, const vector< size_t > &max, float *region)
virtual bool getDimension(string dimname, DC::Dimension &dimension) const
virtual string getMapProjection() const
virtual bool getMesh(string mesh_name, DC::Mesh &mesh) const
virtual bool getCoordVarInfo(string varname, DC::CoordVar &cvar) const
virtual int initialize(const vector< string > &paths, const std::vector< string > &options)
virtual int initialize_impl(const vector< string > &paths, const std::vector< string > &options, std::unique_ptr< NetCDFCFCollection > ncdfc)
virtual std::vector< string > getDataVarNames() const
virtual std::vector< string > getDimensionNames() const
virtual std::vector< string > getAuxVarNames() const
virtual bool getAtt(string varname, string attname, string &values) const
virtual int closeVariable(int fd)
virtual bool variableExists(size_t ts, string varname, int reflevel=0, int lod=0) const
virtual size_t getNumRefLevels(string varname) const
virtual int initDimensions(NetCDFCFCollection *ncdfc, std::map< string, DC::Dimension > &dimsMap)
virtual bool getBaseVarInfo(string varname, DC::BaseVar &var) const
virtual int initMesh(NetCDFCFCollection *ncdfc, std::map< string, DC::Mesh > &_meshMap)
virtual int initDataVars(NetCDFCFCollection *ncdfc, std::map< string, DC::DataVar > &dataVarsMap)
virtual int addCoordvars(NetCDFCFCollection *ncdfc, const vector< string > &cvars, std::map< string, DC::CoordVar > &coordVarsMap)
virtual int initCoordinates(NetCDFCFCollection *ncdfc, std::map< string, DC::CoordVar > &coordVarsMap)
Auxiliary variable metadata.
Base class for storing variable metadata.
Coordinate variable metadata.
Metadata describing a named dimension length.
Metadata describing a computational mesh.
A Template Method design pattern for reading a collection of data.
XType
External storage types for primitive data.
Wrapper for a collection of netCDF files.