OOPS
oops::VariableChangeBase< MODEL > Class Template Referenceabstract

#include <VariableChangeBase.h>

Inheritance diagram for oops::VariableChangeBase< MODEL >:
Collaboration diagram for oops::VariableChangeBase< MODEL >:

Public Member Functions

 VariableChangeBase (const VariableChangeParametersBase &)
 
 VariableChangeBase (const eckit::Configuration &)
 
virtual ~VariableChangeBase ()
 
void setInputVariables (const Variables &vars)
 
void setOutputVariables (const Variables &vars)
 
virtual void changeVar (const State_ &, State_ &) const =0
 
virtual void changeVarInverse (const State_ &, State_ &) const =0
 
State_ changeVar (const State_ &) const
 
State_ changeVarInverse (const State_ &) const
 

Private Types

typedef State< MODEL > State_
 

Private Member Functions

virtual void print (std::ostream &) const =0
 

Private Attributes

std::unique_ptr< Variablesvarin_
 
std::unique_ptr< Variablesvarout_
 

Detailed Description

template<typename MODEL>
class oops::VariableChangeBase< MODEL >

Base class for generic variable transform

Note: subclasses can opt to extract their settings either from a Configuration object or from a subclass of Parameters.

In the former case, they should provide a constructor taking a const reference to an eckit::Configuration object. In the latter case, the implementer should first define a subclass of Parameters holding the settings of the variable change in question. The latter should then typedef Parameters_ to the name of that subclass and provide a constructor taking a const reference to an instance of that subclass.

Definition at line 48 of file VariableChangeBase.h.

Member Typedef Documentation

◆ State_

template<typename MODEL >
typedef State<MODEL> oops::VariableChangeBase< MODEL >::State_
private

Definition at line 50 of file VariableChangeBase.h.

Constructor & Destructor Documentation

◆ VariableChangeBase() [1/2]

template<typename MODEL >
oops::VariableChangeBase< MODEL >::VariableChangeBase ( const VariableChangeParametersBase params)
explicit

Definition at line 242 of file VariableChangeBase.h.

◆ VariableChangeBase() [2/2]

template<typename MODEL >
oops::VariableChangeBase< MODEL >::VariableChangeBase ( const eckit::Configuration &  conf)
explicit

Definition at line 260 of file VariableChangeBase.h.

◆ ~VariableChangeBase()

template<typename MODEL >
virtual oops::VariableChangeBase< MODEL >::~VariableChangeBase ( )
inlinevirtual

Definition at line 55 of file VariableChangeBase.h.

Member Function Documentation

◆ changeVar() [1/2]

template<typename MODEL >
State< MODEL > oops::VariableChangeBase< MODEL >::changeVar ( const State_ xin) const

Definition at line 267 of file VariableChangeBase.h.

Here is the call graph for this function:

◆ changeVar() [2/2]

template<typename MODEL >
virtual void oops::VariableChangeBase< MODEL >::changeVar ( const State_ ,
State_  
) const
pure virtual

◆ changeVarInverse() [1/2]

template<typename MODEL >
State< MODEL > oops::VariableChangeBase< MODEL >::changeVarInverse ( const State_ xin) const

Definition at line 279 of file VariableChangeBase.h.

Here is the call graph for this function:

◆ changeVarInverse() [2/2]

template<typename MODEL >
virtual void oops::VariableChangeBase< MODEL >::changeVarInverse ( const State_ ,
State_  
) const
pure virtual

◆ print()

template<typename MODEL >
virtual void oops::VariableChangeBase< MODEL >::print ( std::ostream &  ) const
privatepure virtual

◆ setInputVariables()

template<typename MODEL >
void oops::VariableChangeBase< MODEL >::setInputVariables ( const Variables vars)
inline

Definition at line 57 of file VariableChangeBase.h.

◆ setOutputVariables()

template<typename MODEL >
void oops::VariableChangeBase< MODEL >::setOutputVariables ( const Variables vars)
inline

Definition at line 58 of file VariableChangeBase.h.

Member Data Documentation

◆ varin_

template<typename MODEL >
std::unique_ptr<Variables> oops::VariableChangeBase< MODEL >::varin_
private

Definition at line 68 of file VariableChangeBase.h.

◆ varout_

template<typename MODEL >
std::unique_ptr<Variables> oops::VariableChangeBase< MODEL >::varout_
private

Definition at line 69 of file VariableChangeBase.h.


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