FV3 Bundle
oops::LinearVariableChange< MODEL, CHVAR > Class Template Reference

Wrapper for change of variable. More...

#include <LinearVariableChange.h>

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

Public Member Functions

 LinearVariableChange (const State_ &, const State_ &, const Geometry_ &, const eckit::Configuration &)
 
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 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

boost::scoped_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.

◆ 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 eckit::Configuration &  conf 
)

Definition at line 62 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 76 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 42 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 86 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 107 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 96 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 118 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 >
boost::scoped_ptr<CHVAR> oops::LinearVariableChange< MODEL, CHVAR >::chvar_
private

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


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