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

Wrapper for change of variable. More...

#include <LinearVariableChange.h>

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

Public Types

typedef TParameters_IfAvailableElseFallbackType_t< CHVAR, GenericLinearVariableChangeParametersParameters_
 

Public Member Functions

 LinearVariableChange (const State_ &, const State_ &, const Geometry_ &, const Parameters_ &)
 
virtual ~LinearVariableChange ()
 
void multiply (const Increment_ &, Increment_ &) const override
 
void multiplyInverse (const Increment_ &, Increment_ &) const override
 
void multiplyAD (const Increment_ &, Increment_ &) const override
 
void multiplyInverseAD (const Increment_ &, Increment_ &) const override
 
- Public Member Functions inherited from oops::LinearVariableChangeBase< MODEL >
 LinearVariableChangeBase (const LinearVariableChangeParametersBase &)
 
 LinearVariableChangeBase (const eckit::Configuration &)
 
virtual ~LinearVariableChangeBase ()
 
void setInputVariables (const Variables &vars)
 
void setOutputVariables (const Variables &vars)
 
Increment_ multiply (const Increment_ &) const
 
Increment_ multiplyInverse (const Increment_ &) const
 
Increment_ multiplyAD (const Increment_ &) const
 
Increment_ multiplyInverseAD (const Increment_ &) const
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

typedef Geometry< MODEL > Geometry_
 
typedef Increment< MODEL > Increment_
 
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::LinearVariableChange< MODEL, CHVAR >

Wrapper for change of variable.

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

Member Typedef Documentation

◆ Geometry_

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

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

◆ Increment_

template<typename MODEL , typename CHVAR >
typedef Increment<MODEL> oops::LinearVariableChange< MODEL, CHVAR >::Increment_
private

Definition at line 38 of file oops/interface/LinearVariableChange.h.

◆ Parameters_

template<typename MODEL , typename CHVAR >
typedef TParameters_IfAvailableElseFallbackType_t< CHVAR, GenericLinearVariableChangeParameters> oops::LinearVariableChange< MODEL, CHVAR >::Parameters_

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

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

◆ State_

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

Definition at line 39 of file oops/interface/LinearVariableChange.h.

Constructor & Destructor Documentation

◆ LinearVariableChange()

template<typename MODEL , typename CHVAR >
oops::LinearVariableChange< MODEL, CHVAR >::LinearVariableChange ( const State_ bg,
const State_ fg,
const Geometry_ geom,
const Parameters_ params 
)

Definition at line 67 of file oops/interface/LinearVariableChange.h.

Here is the call graph for this function:

◆ ~LinearVariableChange()

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

Definition at line 82 of file oops/interface/LinearVariableChange.h.

Member Function Documentation

◆ classname()

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

Definition at line 47 of file oops/interface/LinearVariableChange.h.

Here is the caller graph for this function:

◆ multiply()

template<typename MODEL , typename CHVAR >
void oops::LinearVariableChange< MODEL, CHVAR >::multiply ( const Increment_ dx1,
Increment_ dx2 
) const
overridevirtual

Implements oops::LinearVariableChangeBase< MODEL >.

Definition at line 92 of file oops/interface/LinearVariableChange.h.

Here is the call graph for this function:

◆ multiplyAD()

template<typename MODEL , typename CHVAR >
void oops::LinearVariableChange< MODEL, CHVAR >::multiplyAD ( const Increment_ dx1,
Increment_ dx2 
) const
overridevirtual

Implements oops::LinearVariableChangeBase< MODEL >.

Definition at line 113 of file oops/interface/LinearVariableChange.h.

Here is the call graph for this function:

◆ multiplyInverse()

template<typename MODEL , typename CHVAR >
void oops::LinearVariableChange< MODEL, CHVAR >::multiplyInverse ( const Increment_ dx1,
Increment_ dx2 
) const
overridevirtual

Implements oops::LinearVariableChangeBase< MODEL >.

Definition at line 102 of file oops/interface/LinearVariableChange.h.

Here is the call graph for this function:

◆ multiplyInverseAD()

template<typename MODEL , typename CHVAR >
void oops::LinearVariableChange< MODEL, CHVAR >::multiplyInverseAD ( const Increment_ dx1,
Increment_ dx2 
) const
overridevirtual

Implements oops::LinearVariableChangeBase< MODEL >.

Definition at line 124 of file oops/interface/LinearVariableChange.h.

Here is the call graph for this function:

◆ print()

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

Member Data Documentation

◆ chvar_

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

Definition at line 61 of file oops/interface/LinearVariableChange.h.


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