OOPS
oops::ModelBase< MODEL > Class Template Referenceabstract

Base class for the forecasting model Defines the interfaces for a forecast model. More...

#include <ModelBase.h>

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

Public Member Functions

 ModelBase ()=default
 
virtual ~ModelBase ()=default
 
virtual void initialize (State_ &) const =0
 Forecast initialization, called before every forecast run. More...
 
virtual void step (State_ &, const ModelAux_ &) const =0
 Forecast "step", called during forecast run; updates state to the next time. More...
 
virtual void finalize (State_ &) const =0
 Forecast finalization; called after each forecast run. More...
 
virtual const util::Duration & timeResolution () const =0
 Time step for running Model's forecast in oops (frequency with which the State will be updated) More...
 
virtual const oops::Variablesvariables () const =0
 Model variables (only used in 4DVar) More...
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

typedef MODEL::ModelAuxControl ModelAux_
 
typedef MODEL::State State_
 

Private Member Functions

virtual void print (std::ostream &) const =0
 Print; used for logging. More...
 

Detailed Description

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

Base class for the forecasting model Defines the interfaces for a forecast model.

Definition at line 44 of file ModelBase.h.

Member Typedef Documentation

◆ ModelAux_

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

Definition at line 46 of file ModelBase.h.

◆ State_

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

Definition at line 47 of file ModelBase.h.

Constructor & Destructor Documentation

◆ ModelBase()

template<typename MODEL >
oops::ModelBase< MODEL >::ModelBase ( )
default

◆ ~ModelBase()

template<typename MODEL >
virtual oops::ModelBase< MODEL >::~ModelBase ( )
virtualdefault

Member Function Documentation

◆ classname()

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

Definition at line 50 of file ModelBase.h.

◆ finalize()

template<typename MODEL >
virtual void oops::ModelBase< MODEL >::finalize ( State_ ) const
pure virtual

Forecast finalization; called after each forecast run.

Implemented in oops::IdentityModel< MODEL >, and oops::PseudoModel< MODEL >.

◆ initialize()

template<typename MODEL >
virtual void oops::ModelBase< MODEL >::initialize ( State_ ) const
pure virtual

Forecast initialization, called before every forecast run.

Implemented in oops::IdentityModel< MODEL >, and oops::PseudoModel< MODEL >.

◆ print()

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

◆ step()

template<typename MODEL >
virtual void oops::ModelBase< MODEL >::step ( State_ ,
const ModelAux_  
) const
pure virtual

Forecast "step", called during forecast run; updates state to the next time.

Implemented in oops::IdentityModel< MODEL >, and oops::PseudoModel< MODEL >.

◆ timeResolution()

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

Time step for running Model's forecast in oops (frequency with which the State will be updated)

Implemented in oops::IdentityModel< MODEL >, and oops::PseudoModel< MODEL >.

◆ variables()

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

Model variables (only used in 4DVar)

Implemented in oops::IdentityModel< MODEL >, and oops::PseudoModel< MODEL >.


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