11 #ifndef OOPS_GENERIC_LINEARMODELID_H_
12 #define OOPS_GENERIC_LINEARMODELID_H_
24 #include "oops/util/Duration.h"
25 #include "oops/util/Logger.h"
26 #include "oops/util/ObjectCounter.h"
27 #include "oops/util/Printable.h"
28 #include "oops/util/Timer.h"
43 template <
typename MODEL>
49 typedef typename MODEL::State
State_;
52 static const std::string
classname() {
return "oops::LinearModelId";}
73 void print(std::ostream &)
const override {}
82 template<
typename MODEL>
84 : tstep_(
util::Duration(tlConf.getString(
"tstep"))), vars_()
86 Log::trace() <<
"LinearModelId<MODEL>::LinearModelId" << std::endl;
91 template<
typename MODEL>
93 Log::trace() <<
"LinearModelId<MODEL>::~LinearModelId" << std::endl;
98 template<
typename MODEL>
100 Log::trace() <<
"LinearModelId<MODEL>::setTrajectory" << std::endl;
105 template<
typename MODEL>
107 Log::trace() <<
"LinearModelId<MODEL>::initializeTL" << std::endl;
112 template<
typename MODEL>
115 Log::trace() <<
"LinearModelId<MODEL>::stepTL" << std::endl;
120 template<
typename MODEL>
122 Log::trace() <<
"LinearModelId<MODEL>::finalizeTL" << std::endl;
127 template<
typename MODEL>
129 Log::trace() <<
"LinearModelId<MODEL>::initializeAD" << std::endl;
134 template<
typename MODEL>
137 Log::trace() <<
"LinearModelId<MODEL>::stepAD" << std::endl;
142 template<
typename MODEL>
144 Log::trace() <<
"LinearModelId<MODEL>::finalizeAD" << std::endl;
Geometry class used in oops; subclass of interface class interface::Geometry.
Increment class used in oops.
Base class for encapsulation of the linear forecast model.
Encapsulates the linear forecast model.
void initializeAD(Increment_ &) const override
MODEL::Increment Increment_
void stepAD(Increment_ &dx, ModelAuxIncr_ &) const override
const util::Duration tstep_
void finalizeAD(Increment_ &) const override
void setTrajectory(const State_ &, State_ &, const ModelAux_ &) override
MODEL::ModelAuxIncrement ModelAuxIncr_
LinearModelId(const Geometry_ &, const eckit::Configuration &)
void finalizeTL(Increment_ &) const override
const util::Duration & timeResolution() const override
void initializeTL(Increment_ &) const override
const oops::Variables & variables() const override
void print(std::ostream &) const override
void stepTL(Increment_ &dx, const ModelAuxIncr_ &) const override
static const std::string classname()
MODEL::Geometry Geometry_
MODEL::ModelAuxControl ModelAux_
State class used in oops; subclass of interface class interface::State.
void updateTime(const util::Duration &dt)
Updates this Increment's valid time by dt (used in PseudoModel)
The namespace for the main oops code.