MI - Fimex
|
Extract data with defined quality status. More...
#include <fimex/CDMQualityExtractor.h>
Public Member Functions | |
CDMQualityExtractor (boost::shared_ptr< CDMReader > dataReader, std::string autoConfString="", std::string configFile="") | |
virtual | ~CDMQualityExtractor () |
virtual DataPtr | getDataSlice (const std::string &varName, size_t unLimDimPos=0) |
const std::map< std::string, std::string > & | getStatusVariable () const |
const std::map< std::string, std::string > & | getVariableFlags () const |
const std::map< std::string, std::vector< double > > & | getVariableValues () const |
![]() | |
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 | getDataSlice (const std::string &varName, const SliceBuilder &sb) |
data-reading function to be called from the CDMWriter 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... | |
Additional Inherited Members | |
![]() | |
virtual DataPtr | getDataSliceFromMemory (const CDMVariable &variable, size_t unLimDimPos=0) |
void | getScaleAndOffsetOf (const std::string &varName, double &scale, double &offset) const |
![]() | |
boost::shared_ptr< CDM > | cdm_ |
Extract data with defined quality status.
The CDMQualityExtractor will select data from data-sources matching only configurable quality constraints. Data not matching these constraints will be set to undefined.
The configuration works either semi-automatic by interpreting the quality flags as given in CF-1.x at http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.4/cf-conventions.html#flags or by using a configuration-file describing the quality-relations between the different varibles.
All variables with no quality-configuration will not be changed.
MetNoFimex::CDMQualityExtractor::CDMQualityExtractor | ( | boost::shared_ptr< CDMReader > | dataReader, |
std::string | autoConfString = "" , |
||
std::string | configFile = "" |
||
) |
Initialize the CDMQualityExtractor
dataReader | the data-source |
autoConfString | the default value for CF-1.4 compatible status_flags, i.e. "all, highest, lowest, values=0,1,...,3", the values here might be overwritten by the config-file. If empty, no quality extraction on the basis of CF-1.4 will be used. |
configFile | filename of a cdmQualityConfig.xml file. If empty, no quality-file will be used. |
|
inlinevirtual |
References getDataSlice(), and MetNoFimex::CDMReader::getDataSlice().
|
virtual |
Read and manipulate the data
Implements MetNoFimex::CDMReader.
Referenced by ~CDMQualityExtractor().
|
inline |
Read the internals of statusVariable. This code is mainly thought for testing/debugging.
|
inline |
Read the internals of variableFlags, for testing/debugging.
|
inline |
Read the internals of variableValues, for testing/debugging.