11 #ifndef QG_MODEL_INCREMENTQG_H_ 12 #define QG_MODEL_INCREMENTQG_H_ 17 #include <boost/scoped_ptr.hpp> 18 #include <boost/shared_ptr.hpp> 23 #include "oops/util/DateTime.h" 24 #include "oops/util/dot_product.h" 25 #include "oops/util/Duration.h" 26 #include "oops/util/ObjectCounter.h" 27 #include "oops/util/Printable.h" 34 class UnstructuredGrid;
41 class ModelBiasIncrement;
42 class ErrorCovarianceQG;
56 public util::Printable,
57 private util::ObjectCounter<IncrementQG> {
59 static const std::string
classname() {
return "qg::IncrementQG";}
71 void zero(
const util::DateTime &);
80 void dirac(
const eckit::Configuration &);
89 void read(
const eckit::Configuration &);
90 void write(
const eckit::Configuration &)
const;
105 boost::shared_ptr<const GeometryQG>
geometry()
const {
114 void print(std::ostream &)
const;
122 #endif // QG_MODEL_INCREMENTQG_H_
IncrementQG & operator-=(const IncrementQG &)
void field_from_ug(const oops::UnstructuredGrid &)
GomQG class to handle local model values for QG model.
void write(const eckit::Configuration &) const
FieldsQG & fields()
Access to fields.
IncrementQG(const GeometryQG &, const oops::Variables &, const util::DateTime &)
Constructor, destructor.
Class to represent a FieldSet for the QG model.
boost::scoped_ptr< FieldsQG > fields_
void read(const eckit::Configuration &)
I/O and diagnostics.
void dirac(const eckit::Configuration &)
void schur_product_with(const IncrementQG &)
void print(std::ostream &) const
Data.
The namespace for the main oops code.
IncrementQG & operator=(const IncrementQG &)
boost::scoped_ptr< FieldsQG > stash_
IncrementQG & operator+=(const IncrementQG &)
util::DateTime & validTime()
static const std::string classname()
const util::DateTime & validTime() const
IncrementQG & operator*=(const double &)
void getValuesTL(const LocationsQG &, const oops::Variables &, GomQG &, const Nothing &) const
Get increment values at observation locations.
void ug_coord(oops::UnstructuredGrid &, const int &) const
Unstructured grid.
double dot_product_with(const IncrementQG &) const
void updateTime(const util::Duration &dt)
GeometryQG handles geometry for QG model.
boost::shared_ptr< const GeometryQG > geometry() const
const FieldsQG & fields() const
LocationsQG class to handle locations for QG model.
void field_to_ug(oops::UnstructuredGrid &, const int &) const
Abstract base class for quantities.
void getValuesAD(const LocationsQG &, const oops::Variables &, const GomQG &, const Nothing &)
void axpy(const double &, const IncrementQG &, const bool check=true)
void accumul(const double &, const StateQG &)
Other.
The namespace for the qg model.
void diff(const StateQG &, const StateQG &)
Basic operators.
Increment Class: Difference between two states.