UFO
ufo::TransformBase Class Referenceabstract

Base class for variable conversion. More...

#include <TransformBase.h>

Inheritance diagram for ufo::TransformBase:
Collaboration diagram for ufo::TransformBase:

Public Member Functions

 TransformBase (const VariableTransformsParameters &options, const ObsFilterData &data, const std::shared_ptr< ioda::ObsDataVector< int >> &flags)
 
virtual ~TransformBase ()
 Destructor. More...
 
virtual void runTransform (const std::vector< bool > &apply)=0
 Run variable conversion. More...
 
virtual Variables requiredVariables () const
 Return list of required geovals. More...
 

Protected Member Functions

template<typename T >
void getObservation (const std::string &originalTag, const std::string &varName, std::vector< T > &obsVector, bool require=false) const
 templated function for float, int data types More...
 
template<typename T >
void putObservation (const std::string &varName, const std::vector< T > &obsVector)
 Save a transformed variable to the DerivedObsValue group of the obs space. More...
 
formulas::MethodFormulation method () const
 subclasses to access Method and formualtion used for the calculation More...
 
formulas::MethodFormulation formulation () const
 
bool UseValidDataOnly () const
 
bool AllowSuperSaturation () const
 
void SetUseValidDataOnly (bool t)
 
std::string obsName () const
 subclasses to access the observation name More...
 

Protected Attributes

const VariableTransformsParametersoptions_
 Configurable parameters. More...
 
ObsFilterData data_
 Observation and geoval data. More...
 
ioda::ObsSpace & obsdb_ = data_.obsspace()
 Observation space. More...
 
ioda::ObsDataVector< int > & flags_
 
const int missingValueInt = util::missingValue(1)
 Missing value (int) More...
 
const float missingValueFloat = util::missingValue(1.0f)
 Missing value (float) More...
 
const std::string outputTag = "DerivedObsValue"
 output tag for derived parameters More...
 

Private Member Functions

template<typename T >
void filterObservation (const std::string &variableName, std::vector< T > &obsVector) const
 templated function for float, int data types More...
 

Private Attributes

formulas::MethodFormulation method_
 Method used for the calculation. More...
 
formulas::MethodFormulation formulation_
 
bool UseValidDataOnly_
 
bool AllowSuperSaturation_
 
std::string obsName_
 The observation name. More...
 

Detailed Description

Base class for variable conversion.

Definition at line 53 of file TransformBase.h.

Constructor & Destructor Documentation

◆ TransformBase()

ufo::TransformBase::TransformBase ( const VariableTransformsParameters options,
const ObsFilterData data,
const std::shared_ptr< ioda::ObsDataVector< int >> &  flags 
)

Definition at line 15 of file TransformBase.cc.

Here is the call graph for this function:

◆ ~TransformBase()

virtual ufo::TransformBase::~TransformBase ( )
inlinevirtual

Destructor.

Definition at line 59 of file TransformBase.h.

Member Function Documentation

◆ AllowSuperSaturation()

bool ufo::TransformBase::AllowSuperSaturation ( ) const
inlineprotected

Definition at line 140 of file TransformBase.h.

Here is the caller graph for this function:

◆ filterObservation()

template<typename T >
void ufo::TransformBase::filterObservation ( const std::string &  variableName,
std::vector< T > &  obsVector 
) const
inlineprivate

templated function for float, int data types

Definition at line 68 of file TransformBase.h.

Here is the caller graph for this function:

◆ formulation()

formulas::MethodFormulation ufo::TransformBase::formulation ( ) const
inlineprotected

Definition at line 138 of file TransformBase.h.

Here is the caller graph for this function:

◆ getObservation()

template<typename T >
void ufo::TransformBase::getObservation ( const std::string &  originalTag,
const std::string &  varName,
std::vector< T > &  obsVector,
bool  require = false 
) const
inlineprotected

templated function for float, int data types

Definition at line 94 of file TransformBase.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ method()

formulas::MethodFormulation ufo::TransformBase::method ( ) const
inlineprotected

subclasses to access Method and formualtion used for the calculation

Definition at line 137 of file TransformBase.h.

Here is the caller graph for this function:

◆ obsName()

std::string ufo::TransformBase::obsName ( ) const
inlineprotected

subclasses to access the observation name

Definition at line 143 of file TransformBase.h.

Here is the caller graph for this function:

◆ putObservation()

template<typename T >
void ufo::TransformBase::putObservation ( const std::string &  varName,
const std::vector< T > &  obsVector 
)
inlineprotected

Save a transformed variable to the DerivedObsValue group of the obs space.

If the saved variable is a simulated variable, QC flags previously set to missing are reset to pass at locations where a valid obs value has been assigned. Conversely, QC flags previously set to pass are reset to missing at locations where the variable is set to a missing value.

Parameters
varNameVariable name.
obsVactorVariable values.

Definition at line 120 of file TransformBase.h.

Here is the caller graph for this function:

◆ requiredVariables()

virtual Variables ufo::TransformBase::requiredVariables ( ) const
inlinevirtual

Return list of required geovals.

Definition at line 63 of file TransformBase.h.

◆ runTransform()

◆ SetUseValidDataOnly()

void ufo::TransformBase::SetUseValidDataOnly ( bool  t)
inlineprotected

Definition at line 141 of file TransformBase.h.

Here is the caller graph for this function:

◆ UseValidDataOnly()

bool ufo::TransformBase::UseValidDataOnly ( ) const
inlineprotected

Definition at line 139 of file TransformBase.h.

Here is the caller graph for this function:

Member Data Documentation

◆ AllowSuperSaturation_

bool ufo::TransformBase::AllowSuperSaturation_
private

Definition at line 87 of file TransformBase.h.

◆ data_

ObsFilterData ufo::TransformBase::data_
protected

Observation and geoval data.

Definition at line 148 of file TransformBase.h.

◆ flags_

ioda::ObsDataVector<int>& ufo::TransformBase::flags_
protected

Definition at line 151 of file TransformBase.h.

◆ formulation_

formulas::MethodFormulation ufo::TransformBase::formulation_
private

Definition at line 85 of file TransformBase.h.

◆ method_

formulas::MethodFormulation ufo::TransformBase::method_
private

Method used for the calculation.

Definition at line 84 of file TransformBase.h.

◆ missingValueFloat

const float ufo::TransformBase::missingValueFloat = util::missingValue(1.0f)
protected

Missing value (float)

Definition at line 155 of file TransformBase.h.

◆ missingValueInt

const int ufo::TransformBase::missingValueInt = util::missingValue(1)
protected

Missing value (int)

Definition at line 153 of file TransformBase.h.

◆ obsdb_

ioda::ObsSpace& ufo::TransformBase::obsdb_ = data_.obsspace()
protected

Observation space.

Definition at line 150 of file TransformBase.h.

◆ obsName_

std::string ufo::TransformBase::obsName_
private

The observation name.

Definition at line 89 of file TransformBase.h.

◆ options_

const VariableTransformsParameters& ufo::TransformBase::options_
protected

Configurable parameters.

Definition at line 145 of file TransformBase.h.

◆ outputTag

const std::string ufo::TransformBase::outputTag = "DerivedObsValue"
protected

output tag for derived parameters

Definition at line 157 of file TransformBase.h.

◆ UseValidDataOnly_

bool ufo::TransformBase::UseValidDataOnly_
private

Definition at line 86 of file TransformBase.h.


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