8 #ifndef QG_MODEL_OBSOPBASETLAD_H_
9 #define QG_MODEL_OBSOPBASETLAD_H_
14 #include <boost/noncopyable.hpp>
16 #include "eckit/config/Configuration.h"
19 #include "oops/util/abor1_cpp.h"
20 #include "oops/util/Logger.h"
21 #include "oops/util/Printable.h"
23 #include "oops/qg/ObsSpaceQG.h"
28 class ObsBiasIncrement;
35 private boost::noncopyable {
48 virtual void print(std::ostream &)
const = 0;
62 static std::map < std::string, ObsOpTLADFactory * > &
getMakers() {
63 static std::map < std::string, ObsOpTLADFactory * > makers_;
73 {
return new T(odb, conf); }
GomQG class to handle local model values for QG model.
Class to handle observation bias parameters.
Base class for observation operators.
virtual void simulateObsAD(GomQG &, const ObsVecQG &, ObsBiasIncrement &) const =0
virtual const oops::Variables & requiredVars() const =0
Other.
virtual void simulateObsTL(const GomQG &, ObsVecQG &, const ObsBiasIncrement &) const =0
virtual void print(std::ostream &) const =0
virtual void setTrajectory(const GomQG &, const ObsBias &)=0
Obs Operator.
virtual ObsOpBaseTLAD * make(const ObsSpaceQG &, const eckit::Configuration &)=0
static ObsOpBaseTLAD * create(const ObsSpaceQG &, const eckit::Configuration &)
ObsOpTLADFactory(const std::string &)
virtual ~ObsOpTLADFactory()=default
static std::map< std::string, ObsOpTLADFactory * > & getMakers()
ObsOpTLADMaker(const std::string &name)
virtual ObsOpBaseTLAD * make(const ObsSpaceQG &odb, const eckit::Configuration &conf)
ObsVecQG class to handle vectors in observation space for QG model.
The namespace for the qg model.