OOPS
oops::VariableChange< MODEL > Class Template Reference

Encapsulates the nonlinear variable change Note: to see methods that need to be implemented in the implementation, see VariableChangeBase class. More...

#include <VariableChange.h>

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

Public Member Functions

 VariableChange (const Geometry_ &, const VariableChangeParametersBase &)
 
 VariableChange (const Geometry_ &, const eckit::Configuration &)
 
virtual ~VariableChange ()
 
 VariableChange (const VariableChange &)=delete
 
 VariableChange (VariableChange &&)=default
 
const VariableChangeoperator= (const VariableChange &)=delete
 
VariableChangeoperator= (VariableChange &&)=default
 
void changeVar (const State_ &xin, State_ &xout) const
 change variable from state xin to xout More...
 
void changeVarInverse (const State_ &xout, State_ &xin) const
 inverse of changeVar, change variables back from xout to xin More...
 
State_ changeVar (const State_ &xin) const
 return change of variable xin More...
 
State_ changeVarInverse (const State_ &xout) const
 return inverse of variable change applied to xout More...
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

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

Private Member Functions

void print (std::ostream &) const override
 

Private Attributes

std::unique_ptr< VariableChangeBase_chvar_
 
std::unique_ptr< Variablesvarin_
 pointer to the VariableChange implementation More...
 
std::unique_ptr< Variablesvarout_
 input variables More...
 

Detailed Description

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

Encapsulates the nonlinear variable change Note: to see methods that need to be implemented in the implementation, see VariableChangeBase class.

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

Member Typedef Documentation

◆ Geometry_

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

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

◆ State_

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

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

◆ VariableChangeBase_

template<typename MODEL >
typedef GenericVariableChangeBase<MODEL> oops::VariableChange< MODEL >::VariableChangeBase_
private

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

Constructor & Destructor Documentation

◆ VariableChange() [1/4]

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

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

Here is the call graph for this function:

◆ VariableChange() [2/4]

template<typename MODEL >
oops::VariableChange< MODEL >::VariableChange ( const Geometry_ geom,
const eckit::Configuration &  conf 
)

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

◆ ~VariableChange()

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

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

◆ VariableChange() [3/4]

template<typename MODEL >
oops::VariableChange< MODEL >::VariableChange ( const VariableChange< MODEL > &  )
delete

◆ VariableChange() [4/4]

template<typename MODEL >
oops::VariableChange< MODEL >::VariableChange ( VariableChange< MODEL > &&  )
default

Member Function Documentation

◆ changeVar() [1/2]

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

return change of variable xin

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

Here is the call graph for this function:

◆ changeVar() [2/2]

template<typename MODEL >
void oops::VariableChange< MODEL >::changeVar ( const State_ xin,
State_ xout 
) const

change variable from state xin to xout

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

◆ changeVarInverse() [1/2]

template<typename MODEL >
State< MODEL > oops::VariableChange< MODEL >::changeVarInverse ( const State_ xout) const

return inverse of variable change applied to xout

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

Here is the call graph for this function:

◆ changeVarInverse() [2/2]

template<typename MODEL >
void oops::VariableChange< MODEL >::changeVarInverse ( const State_ xout,
State_ xin 
) const

inverse of changeVar, change variables back from xout to xin

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

◆ classname()

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

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

Here is the caller graph for this function:

◆ operator=() [1/2]

template<typename MODEL >
const VariableChange& oops::VariableChange< MODEL >::operator= ( const VariableChange< MODEL > &  )
delete

◆ operator=() [2/2]

template<typename MODEL >
VariableChange& oops::VariableChange< MODEL >::operator= ( VariableChange< MODEL > &&  )
default

◆ print()

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

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

Member Data Documentation

◆ chvar_

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

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

◆ varin_

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

pointer to the VariableChange implementation

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

◆ varout_

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

input variables

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


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