MI - Fimex
Public Member Functions | List of all members
MetNoFimex::CDMQualityExtractor Class Reference

Extract data with defined quality status. More...

#include <fimex/CDMQualityExtractor.h>

Inheritance diagram for MetNoFimex::CDMQualityExtractor:
MetNoFimex::CDMReader

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
 
- Public Member Functions inherited from MetNoFimex::CDMReader
 CDMReader ()
 
virtual ~CDMReader ()
 
virtual const CDMgetCDM () const
 
virtual CDMgetInternalCDM ()
 
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

- Protected Member Functions inherited from MetNoFimex::CDMReader
virtual DataPtr getDataSliceFromMemory (const CDMVariable &variable, size_t unLimDimPos=0)
 
void getScaleAndOffsetOf (const std::string &varName, double &scale, double &offset) const
 
- Protected Attributes inherited from MetNoFimex::CDMReader
boost::shared_ptr< CDMcdm_
 

Detailed Description

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.

Warning
The CDMQualityExtractor will read the status-variable after applying eventual quality-flags to them. It is therefore the task of the writer of the configuration, that no circular quality-flags exist.

Constructor & Destructor Documentation

MetNoFimex::CDMQualityExtractor::CDMQualityExtractor ( boost::shared_ptr< CDMReader dataReader,
std::string  autoConfString = "",
std::string  configFile = "" 
)

Initialize the CDMQualityExtractor

Parameters
dataReaderthe data-source
autoConfStringthe 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.
configFilefilename of a cdmQualityConfig.xml file. If empty, no quality-file will be used.
virtual MetNoFimex::CDMQualityExtractor::~CDMQualityExtractor ( )
inlinevirtual

Member Function Documentation

virtual DataPtr MetNoFimex::CDMQualityExtractor::getDataSlice ( const std::string varName,
size_t  unLimDimPos = 0 
)
virtual

Read and manipulate the data

Implements MetNoFimex::CDMReader.

Referenced by ~CDMQualityExtractor().

const std::map<std::string, std::string>& MetNoFimex::CDMQualityExtractor::getStatusVariable ( ) const
inline

Read the internals of statusVariable. This code is mainly thought for testing/debugging.

const std::map<std::string, std::string>& MetNoFimex::CDMQualityExtractor::getVariableFlags ( ) const
inline

Read the internals of variableFlags, for testing/debugging.

const std::map<std::string, std::vector<double> >& MetNoFimex::CDMQualityExtractor::getVariableValues ( ) const
inline

Read the internals of variableValues, for testing/debugging.


The documentation for this class was generated from the following file: