OOPS
oops::VariableChange< MODEL, CHVAR > Class Template Reference

Wrapper for change of variable. More...

#include <VariableChange.h>

Inheritance diagram for oops::VariableChange< MODEL, CHVAR >:
Collaboration diagram for oops::VariableChange< MODEL, CHVAR >:

Public Types

typedef TParameters_IfAvailableElseFallbackType_t< CHVAR, GenericVariableChangeParametersParameters_
 

Public Member Functions

 VariableChange (const Geometry_ &, const Parameters_ &)
 
virtual ~VariableChange ()
 
void changeVar (const State_ &, State_ &) const override
 
void changeVarInverse (const State_ &, State_ &) const override
 
- Public Member Functions inherited from oops::VariableChangeBase< MODEL >
 VariableChangeBase (const VariableChangeParametersBase &)
 
 VariableChangeBase (const eckit::Configuration &)
 
virtual ~VariableChangeBase ()
 
void setInputVariables (const Variables &vars)
 
void setOutputVariables (const Variables &vars)
 
State_ changeVar (const State_ &) const
 
State_ changeVarInverse (const State_ &) const
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

typedef Geometry< MODEL > Geometry_
 
typedef State< MODEL > State_
 

Private Member Functions

void print (std::ostream &) const override
 

Private Attributes

std::unique_ptr< CHVAR > chvar_
 

Detailed Description

template<typename MODEL, typename CHVAR>
class oops::VariableChange< MODEL, CHVAR >

Wrapper for change of variable.

Definition at line 35 of file oops/interface/VariableChange.h.

Member Typedef Documentation

◆ Geometry_

template<typename MODEL , typename CHVAR >
typedef Geometry<MODEL> oops::VariableChange< MODEL, CHVAR >::Geometry_
private

Definition at line 36 of file oops/interface/VariableChange.h.

◆ Parameters_

template<typename MODEL , typename CHVAR >
typedef TParameters_IfAvailableElseFallbackType_t< CHVAR, GenericVariableChangeParameters> oops::VariableChange< MODEL, CHVAR >::Parameters_

Defined as CHVAR::Parameters_ if CHVAR defines a Parameters_ type; otherwise as GenericVariableChangeParameters

Definition at line 43 of file oops/interface/VariableChange.h.

◆ State_

template<typename MODEL , typename CHVAR >
typedef State<MODEL> oops::VariableChange< MODEL, CHVAR >::State_
private

Definition at line 37 of file oops/interface/VariableChange.h.

Constructor & Destructor Documentation

◆ VariableChange()

template<typename MODEL , typename CHVAR >
oops::VariableChange< MODEL, CHVAR >::VariableChange ( const Geometry_ geom,
const Parameters_ params 
)

Definition at line 62 of file oops/interface/VariableChange.h.

Here is the call graph for this function:

◆ ~VariableChange()

template<typename MODEL , typename CHVAR >
oops::VariableChange< MODEL, CHVAR >::~VariableChange
virtual

Definition at line 76 of file oops/interface/VariableChange.h.

Member Function Documentation

◆ changeVar()

template<typename MODEL , typename CHVAR >
void oops::VariableChange< MODEL, CHVAR >::changeVar ( const State_ x1,
State_ x2 
) const
overridevirtual

Implements oops::VariableChangeBase< MODEL >.

Definition at line 86 of file oops/interface/VariableChange.h.

Here is the call graph for this function:

◆ changeVarInverse()

template<typename MODEL , typename CHVAR >
void oops::VariableChange< MODEL, CHVAR >::changeVarInverse ( const State_ x1,
State_ x2 
) const
overridevirtual

Implements oops::VariableChangeBase< MODEL >.

Definition at line 96 of file oops/interface/VariableChange.h.

Here is the call graph for this function:

◆ classname()

template<typename MODEL , typename CHVAR >
static const std::string oops::VariableChange< MODEL, CHVAR >::classname ( )
inlinestatic

Definition at line 45 of file oops/interface/VariableChange.h.

Here is the caller graph for this function:

◆ print()

template<typename MODEL , typename CHVAR >
void oops::VariableChange< MODEL, CHVAR >::print ( std::ostream &  os) const
overrideprivatevirtual

Member Data Documentation

◆ chvar_

template<typename MODEL , typename CHVAR >
std::unique_ptr<CHVAR> oops::VariableChange< MODEL, CHVAR >::chvar_
private

Definition at line 56 of file oops/interface/VariableChange.h.


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