FV3 Bundle
oops::LinearModelBase< MODEL > Class Template Referenceabstract

Base class for encapsulation of the linear forecast model. More...

#include <LinearModelBase.h>

Inheritance diagram for oops::LinearModelBase< MODEL >:
[legend]
Collaboration diagram for oops::LinearModelBase< MODEL >:
[legend]

Public Member Functions

 LinearModelBase ()
 
virtual ~LinearModelBase ()
 
void setTrajectory (const State_ &, State_ &, const ModelAux_ &)
 
void initializeTL (Increment_ &) const
 
void stepTL (Increment_ &, const ModelAuxIncr_ &) const
 
void finalizeTL (Increment_ &) const
 
void initializeAD (Increment_ &) const
 
void stepAD (Increment_ &, ModelAuxIncr_ &) const
 
void finalizeAD (Increment_ &) const
 
virtual const util::Duration & timeResolution () const =0
 
virtual const oops::Variablesvariables () const =0
 

Static Public Member Functions

static const std::string classname ()
 

Protected Member Functions

virtual void setTrajectory (const typename MODEL::State &, typename MODEL::State &, const typename MODEL::ModelAuxControl &)=0
 
virtual void initializeTL (typename MODEL::Increment &) const =0
 
virtual void stepTL (typename MODEL::Increment &, const typename MODEL::ModelAuxIncrement &) const =0
 
virtual void finalizeTL (typename MODEL::Increment &) const =0
 
virtual void initializeAD (typename MODEL::Increment &) const =0
 
virtual void stepAD (typename MODEL::Increment &, typename MODEL::ModelAuxIncrement &) const =0
 
virtual void finalizeAD (typename MODEL::Increment &) const =0
 
virtual void print (std::ostream &) const =0
 

Private Types

typedef Increment< MODEL > Increment_
 
typedef Geometry< MODEL > Geometry_
 
typedef ModelAuxControl< MODEL > ModelAux_
 
typedef ModelAuxIncrement< MODEL > ModelAuxIncr_
 
typedef State< MODEL > State_
 

Detailed Description

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

Base class for encapsulation of the linear forecast model.

Defines the interfaces for the linear model.

Definition at line 46 of file LinearModelBase.h.

Member Typedef Documentation

◆ Geometry_

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

Definition at line 49 of file LinearModelBase.h.

◆ Increment_

template<typename MODEL>
typedef Increment<MODEL> oops::LinearModelBase< MODEL >::Increment_
private

Definition at line 48 of file LinearModelBase.h.

◆ ModelAux_

template<typename MODEL>
typedef ModelAuxControl<MODEL> oops::LinearModelBase< MODEL >::ModelAux_
private

Definition at line 50 of file LinearModelBase.h.

◆ ModelAuxIncr_

template<typename MODEL>
typedef ModelAuxIncrement<MODEL> oops::LinearModelBase< MODEL >::ModelAuxIncr_
private

Definition at line 51 of file LinearModelBase.h.

◆ State_

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

Definition at line 52 of file LinearModelBase.h.

Constructor & Destructor Documentation

◆ LinearModelBase()

template<typename MODEL>
oops::LinearModelBase< MODEL >::LinearModelBase ( )
inline

Definition at line 57 of file LinearModelBase.h.

◆ ~LinearModelBase()

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

Definition at line 58 of file LinearModelBase.h.

Member Function Documentation

◆ classname()

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

Definition at line 55 of file LinearModelBase.h.

◆ finalizeAD() [1/2]

template<typename MODEL >
void oops::LinearModelBase< MODEL >::finalizeAD ( Increment_ dx) const

Definition at line 225 of file LinearModelBase.h.

◆ finalizeAD() [2/2]

template<typename MODEL>
virtual void oops::LinearModelBase< MODEL >::finalizeAD ( typename MODEL::Increment &  ) const
protectedpure virtual

◆ finalizeTL() [1/2]

template<typename MODEL >
void oops::LinearModelBase< MODEL >::finalizeTL ( Increment_ dx) const

Definition at line 195 of file LinearModelBase.h.

◆ finalizeTL() [2/2]

template<typename MODEL>
virtual void oops::LinearModelBase< MODEL >::finalizeTL ( typename MODEL::Increment &  ) const
protectedpure virtual

◆ initializeAD() [1/2]

template<typename MODEL >
void oops::LinearModelBase< MODEL >::initializeAD ( Increment_ dx) const

Definition at line 205 of file LinearModelBase.h.

◆ initializeAD() [2/2]

template<typename MODEL>
virtual void oops::LinearModelBase< MODEL >::initializeAD ( typename MODEL::Increment &  ) const
protectedpure virtual

◆ initializeTL() [1/2]

template<typename MODEL >
void oops::LinearModelBase< MODEL >::initializeTL ( Increment_ dx) const

Definition at line 175 of file LinearModelBase.h.

◆ initializeTL() [2/2]

template<typename MODEL>
virtual void oops::LinearModelBase< MODEL >::initializeTL ( typename MODEL::Increment &  ) const
protectedpure virtual

◆ print()

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

◆ setTrajectory() [1/2]

template<typename MODEL >
void oops::LinearModelBase< MODEL >::setTrajectory ( const State_ xx,
State_ xlr,
const ModelAux_ maux 
)

Definition at line 164 of file LinearModelBase.h.

◆ setTrajectory() [2/2]

template<typename MODEL>
virtual void oops::LinearModelBase< MODEL >::setTrajectory ( const typename MODEL::State &  ,
typename MODEL::State &  ,
const typename MODEL::ModelAuxControl &   
)
protectedpure virtual

◆ stepAD() [1/2]

template<typename MODEL >
void oops::LinearModelBase< MODEL >::stepAD ( Increment_ dx,
ModelAuxIncr_ merr 
) const

Definition at line 215 of file LinearModelBase.h.

◆ stepAD() [2/2]

template<typename MODEL>
virtual void oops::LinearModelBase< MODEL >::stepAD ( typename MODEL::Increment &  ,
typename MODEL::ModelAuxIncrement &   
) const
protectedpure virtual

◆ stepTL() [1/2]

template<typename MODEL >
void oops::LinearModelBase< MODEL >::stepTL ( Increment_ dx,
const ModelAuxIncr_ merr 
) const

Definition at line 185 of file LinearModelBase.h.

◆ stepTL() [2/2]

template<typename MODEL>
virtual void oops::LinearModelBase< MODEL >::stepTL ( typename MODEL::Increment &  ,
const typename MODEL::ModelAuxIncrement &   
) const
protectedpure virtual

◆ timeResolution()

template<typename MODEL>
virtual const util::Duration& oops::LinearModelBase< MODEL >::timeResolution ( ) const
pure virtual

◆ variables()

template<typename MODEL>
virtual const oops::Variables& oops::LinearModelBase< MODEL >::variables ( ) const
pure virtual

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