Go to the documentation of this file.
8 #ifndef FV3JEDI_INCREMENT_INCREMENT_H_
9 #define FV3JEDI_INCREMENT_INCREMENT_H_
16 #include "atlas/field.h"
21 #include "oops/base/GeneralizedDepartures.h"
22 #include "oops/base/LocalIncrement.h"
23 #include "oops/base/Variables.h"
24 #include "oops/util/DateTime.h"
25 #include "oops/util/dot_product.h"
26 #include "oops/util/Duration.h"
27 #include "oops/util/ObjectCounter.h"
28 #include "oops/util/Printable.h"
44 class ModelBiasIncrement;
51 class Increment :
public oops::GeneralizedDepartures,
public util::Printable,
52 private util::ObjectCounter<Increment> {
54 static const std::string
classname() {
return "fv3jedi::Increment";}
65 void zero(
const util::DateTime &);
71 void axpy(
const double &,
const Increment &,
const bool check =
true);
75 void dirac(
const eckit::Configuration &);
82 void setAtlas(atlas::FieldSet *)
const;
83 void toAtlas(atlas::FieldSet *)
const;
87 void read(
const eckit::Configuration &);
88 void write(
const eckit::Configuration &)
const;
99 void serialize(std::vector<double> &)
const;
100 void deserialize(
const std::vector<double> &,
size_t &);
115 void print(std::ostream &)
const;
117 std::shared_ptr<const Geometry>
geom_;
125 #endif // FV3JEDI_INCREMENT_INCREMENT_H_
std::shared_ptr< const Geometry > geom_
void write(const eckit::Configuration &) const
const util::DateTime & time() const
size_t serialSize() const
Serialize and deserialize.
void jnormgrad(const State &, const eckit::Configuration &)
Increment & operator*=(const double &)
oops::LocalIncrement getLocal(const GeometryIterator &) const
Get/Set increment values at grid points.
static const std::string classname()
void deserialize(const std::vector< double > &, size_t &)
void diff(const State &, const State &)
Basic operators.
void setLocal(const oops::LocalIncrement &, const GeometryIterator &)
void toAtlas(atlas::FieldSet *) const
void print(std::ostream &) const
Increment & operator=(const Increment &)
const util::DateTime & validTime() const
Increment(const Geometry &, const oops::Variables &, const util::DateTime &)
Constructor, destructor.
Geometry handles geometry for FV3JEDI model.
void updateTime(const util::Duration &dt)
void axpy(const double &, const Increment &, const bool check=true)
std::shared_ptr< const Geometry > geometry() const
void schur_product_with(const Increment &)
Increment & operator+=(const Increment &)
const int & toFortran() const
Configuration files should be formatted as e.g.
void accumul(const double &, const State &)
Other.
void setAtlas(atlas::FieldSet *) const
ATLAS.
void fromAtlas(atlas::FieldSet *)
util::DateTime & validTime()
void serialize(std::vector< double > &) const
void read(const eckit::Configuration &)
I/O and diagnostics.
void dirac(const eckit::Configuration &)
Increment & operator-=(const Increment &)
double dot_product_with(const Increment &) const