|
| CDMExtractor (boost::shared_ptr< CDMReader > dataReader) |
|
virtual | ~CDMExtractor () |
|
virtual DataPtr | getDataSlice (const std::string &varName, size_t unLimDimPos=0) |
| data-reading function to be called from the CDMWriter More...
|
|
virtual DataPtr | getDataSlice (const std::string &varName, const SliceBuilder &sb) |
| data-reading function to be called from the CDMWriter More...
|
|
virtual void | removeVariable (std::string varName) |
| Remove a variable from the CDM. More...
|
|
virtual void | selectVariables (std::set< std::string > variables, bool keepLogical=false) |
| select only a set of variables More...
|
|
void | reduceDimension (std::string dimName, const std::set< std::size_t > &slices) |
| Reduce a dimension of the file. More...
|
|
virtual void | reduceDimension (std::string dimName, size_t start, size_t length) |
| Reduce a dimension of the file. More...
|
|
virtual void | reduceDimensionStartEnd (std::string dimName, size_t start=0, long long end=0) |
| Reduce a dimension of the file. More...
|
|
virtual void | reduceAxes (const std::vector< CoordinateAxis::AxisType > &types, const std::string &aUnits, double startVal, double endVal) |
| reduce the axes of a file with an explicit unit More...
|
|
virtual void | reduceTime (const FimexTime &startTime, const FimexTime &endTime) |
| reduce the time explicitly by a timestamp More...
|
|
virtual void | reduceVerticalAxis (const std::string &units, double startVal, double endVal) |
| reduce a vertical axis by value More...
|
|
virtual void | reduceLatLonBoundingBox (double south, double north, double west, double east) |
| reduce the horizontal layer to the latitude-longitude bounding box More...
|
|
virtual void | changeDataType (std::string variable, CDMDataType datatype) |
| change the datatype of the variable More...
|
|
| CDMReader () |
|
virtual | ~CDMReader () |
|
virtual const CDM & | getCDM () const |
|
virtual CDM & | getInternalCDM () |
|
virtual std::vector< std::size_t > | getDims (std::string varName) |
| Read the sizes of the dimensions belonging to a variable. More...
|
|
virtual std::vector< std::size_t > | getDimsSlice (std::string varName) |
| Read the sizes of the dimensions belonging to a variable slice. More...
|
|
virtual DataPtr | getData (const std::string &varName) |
| data-reading function to be called from the CDMWriter More...
|
|
virtual DataPtr | getScaledDataSlice (const std::string &varName, size_t unLimDimPos) |
| read and scale a dataslice More...
|
|
virtual DataPtr | getScaledDataSliceInUnit (const std::string &varName, const std::string &unit, size_t unLimDimPos) |
| read and scale a dataslice to a known unit More...
|
|
virtual DataPtr | getScaledDataSlice (const std::string &varName, const SliceBuilder &sb) |
| read and scale a dataslice More...
|
|
virtual DataPtr | getScaledDataSliceInUnit (const std::string &varName, const std::string &unit, const SliceBuilder &sb) |
| read and scale a dataslice to a set unit More...
|
|
virtual DataPtr | getScaledData (const std::string &varName) |
| read and scale the complete data More...
|
|
virtual DataPtr | getScaledDataInUnit (const std::string &varName, const std::string &unit) |
| read and scale the complete data to a set unit More...
|
|
virtual DataPtr MetNoFimex::CDMExtractor::getDataSlice |
( |
const std::string & |
varName, |
|
|
size_t |
unLimDimPos = 0 |
|
) |
| |
|
virtual |
data-reading function to be called from the CDMWriter
This methods needs to be implemented by the CDMReader. It should provide the data for each variable, either by reading from disk, converting from another CDMReader or reading from an in-memory data-section.
This function should retrieve the whole data for a dataset without unlimited dimension if the unLimDimPos == 0.
- Parameters
-
varName | name of the variable to read |
unLimDimPos | (optional) if the variable contains a unlimited dimension (max one allowed) an slice of this position is returned |
- Exceptions
-
CDMException | on errors related to the CDM in combination with the underlying data-structure. It might also throw other (IO-)exceptions. |
Implements MetNoFimex::CDMReader.
virtual void MetNoFimex::CDMExtractor::reduceVerticalAxis |
( |
const std::string & |
units, |
|
|
double |
startVal, |
|
|
double |
endVal |
|
) |
| |
|
virtual |
reduce a vertical axis by value
In contrast to reduceDimension, this method allows the usage of vertical axes values having a compatible unit to units. It will try to detect the reduction of dimensions as needed.
- Parameters
-
units | the units of the start and end value. Only vertical axes with compatible units will be reduced. |
startVal | the lower value of the axis (included) |
endVal | the upper value of the axis (included) |
This is implemented using reduceAxes() and the axis types: pressure, height, geoZ.
- Warning
- see warnings in reduceAxes()