15 #include "eckit/config/LocalConfiguration.h"
16 #include "eckit/exception/Exceptions.h"
18 #include "oops/util/abor1_cpp.h"
19 #include "oops/util/Logger.h"
33 : keyConfig_(0), tstep_(), resol_(resol), linvars_({
"x"})
35 if (tlConf.has(
"tlm variables")) linvars_ =
oops::Variables(tlConf,
"tlm variables");
36 tstep_ = util::Duration(tlConf.getString(
"tstep"));
39 oops::Log::trace() <<
"TlmIdQG created" << std::endl;
44 oops::Log::trace() <<
"TlmIdQG destructed" << std::endl;
51 oops::Log::debug() <<
"TlmIdQG::initializeTL" << dx.
fields() << std::endl;
59 oops::Log::debug() <<
"TlmIdQG::finalizeTL" << dx.
fields() << std::endl;
64 oops::Log::debug() <<
"TlmIdQG::initializeAD" << dx.
fields() << std::endl;
72 oops::Log::debug() <<
"TlmIdQG::finalizeAD" << dx.
fields() << std::endl;
76 os <<
"QG Identity TLM";
bool isForModel(const bool &) const
GeometryQG handles geometry for QG model.
Increment Class: Difference between two states.
void updateTime(const util::Duration &dt)
FieldsQG & fields()
Access to fields.
Model error for the QG model.
void initializeAD(IncrementQG &) const override
void initializeTL(IncrementQG &) const override
Run TLM and its adjoint.
TlmIdQG(const GeometryQG &, const eckit::Configuration &)
void stepAD(IncrementQG &, ModelBiasIncrement &) const override
void setTrajectory(const StateQG &, StateQG &, const ModelBias &) override
Model trajectory computation.
void print(std::ostream &) const override
void finalizeAD(IncrementQG &) const override
void stepTL(IncrementQG &, const ModelBiasIncrement &) const override
void finalizeTL(IncrementQG &) const override
The namespace for the qg model.
void qg_model_setup_f90(F90model &, const eckit::Configuration &)
void qg_model_delete_f90(F90model &)
static oops::LinearModelMaker< QgTraits, TlmIdQG > makerQGIdTLM_("QgIdTLM")