Go to the documentation of this file.
8 #ifndef QG_MODEL_OBSOPBASEQG_H_
9 #define QG_MODEL_OBSOPBASEQG_H_
15 #include <boost/noncopyable.hpp>
17 #include "eckit/config/Configuration.h"
20 #include "oops/util/abor1_cpp.h"
21 #include "oops/util/DateTime.h"
22 #include "oops/util/Printable.h"
24 #include "oops/qg/ObsSpaceQG.h"
36 private boost::noncopyable {
45 virtual std::unique_ptr<LocationsQG>
locations(
const util::DateTime &,
46 const util::DateTime &)
const = 0;
49 virtual void print(std::ostream &)
const = 0;
63 static std::map < std::string, ObsOpFactory * > &
getMakers() {
64 static std::map < std::string, ObsOpFactory * > makers_;
74 {
return new T(odb, conf); }
83 #endif // QG_MODEL_OBSOPBASEQG_H_
static ObsOpBaseQG * create(const ObsSpaceQG &, const eckit::Configuration &)
virtual ObsOpBaseQG * make(const ObsSpaceQG &odb, const eckit::Configuration &conf)
virtual ~ObsOpFactory()=default
The namespace for the qg model.
Class to handle observation bias parameters.
GomQG class to handle local model values for QG model.
virtual void simulateObs(const GomQG &, ObsVecQG &, const ObsBias &) const =0
Obs Operator.
ObsOpFactory(const std::string &)
virtual ObsOpBaseQG * make(const ObsSpaceQG &, const eckit::Configuration &)=0
static std::map< std::string, ObsOpFactory * > & getMakers()
ObsOpMaker(const std::string &name)
Base class for observation operators.
ObsVecQG class to handle vectors in observation space for QG model.
virtual std::unique_ptr< LocationsQG > locations(const util::DateTime &, const util::DateTime &) const =0
virtual void print(std::ostream &) const =0
virtual const oops::Variables & requiredVars() const =0
Other.