11 #ifndef QG_MODEL_FIELDSQG_H_
12 #define QG_MODEL_FIELDSQG_H_
19 #include "atlas/field.h"
21 #include "eckit/config/LocalConfiguration.h"
25 #include "oops/util/DateTime.h"
26 #include "oops/util/Duration.h"
27 #include "oops/util/ObjectCounter.h"
28 #include "oops/util/Printable.h"
29 #include "oops/util/Serializable.h"
31 #include "oops/qg/GeometryQG.h"
32 #include "oops/qg/GeometryQGIterator.h"
51 public util::Serializable,
52 private util::ObjectCounter<FieldsQG> {
54 static const std::string
classname() {
return "qg::FieldsQG";}
65 void zero(
const util::DateTime &);
74 void dirac(
const eckit::Configuration &);
83 void setAtlas(atlas::FieldSet *)
const;
84 void toAtlas(atlas::FieldSet *)
const;
88 void read(
const eckit::Configuration &);
90 void write(
const eckit::Configuration &)
const;
108 void serialize(std::vector<double> &)
const override;
109 void deserialize(
const std::vector<double> &,
size_t &)
override;
112 void print(std::ostream &)
const override;
114 std::shared_ptr<const GeometryQG>
geom_;
Class to represent a Fields for the QG model.
FieldsQG & operator*=(const double &)
void toAtlas(atlas::FieldSet *) const
void deserialize(const std::vector< double > &, size_t &) override
const int & toFortran() const
FieldsQG & operator=(const FieldsQG &)
FieldsQG & operator-=(const FieldsQG &)
void add(const FieldsQG &)
void print(std::ostream &) const override
void updateTime(const util::Duration &dt)
void fromAtlas(atlas::FieldSet *)
void analytic_init(const eckit::Configuration &)
static const std::string classname()
void serialize(std::vector< double > &) const override
void setAtlas(atlas::FieldSet *) const
void setLocal(const oops::LocalIncrement &, const GeometryQGIterator &)
void write(const eckit::Configuration &) const
bool isForModel(const bool &) const
const oops::Variables vars_
FieldsQG & operator+=(const FieldsQG &)
void schur_product_with(const FieldsQG &)
oops::LocalIncrement getLocal(const GeometryQGIterator &) const
void axpy(const double &, const FieldsQG &)
std::shared_ptr< const GeometryQG > geom_
void read(const eckit::Configuration &)
FieldsQG(const GeometryQG &, const oops::Variables &, const bool &, const util::DateTime &)
std::shared_ptr< const GeometryQG > geometry() const
void changeResolution(const FieldsQG &)
void dirac(const eckit::Configuration &)
double dot_product_with(const FieldsQG &) const
void diff(const FieldsQG &, const FieldsQG &)
size_t serialSize() const override
Serialization.
const oops::Variables & variables() const
const util::DateTime & time() const
GeometryQG handles geometry for QG model.
The namespace for the main oops code.
The namespace for the qg model.