11 #ifndef LORENZ95_FIELDL95_H_
12 #define LORENZ95_FIELDL95_H_
18 #include "oops/util/Printable.h"
19 #include "oops/util/Serializable.h"
34 public util::Serializable {
36 static const std::string
classname() {
return "lorenz95::FieldL95";}
47 void dirac(
const eckit::Configuration &);
57 void generate(
const eckit::Configuration &);
60 void read(std::ifstream &);
61 void write(std::ofstream &)
const;
69 const std::vector<double> &
asVector()
const {
return x_;}
73 void serialize(std::vector<double> &)
const override;
74 void deserialize(
const std::vector<double> &,
size_t &)
override;
77 void print(std::ostream &)
const override;
79 std::vector<double>
x_;
Class to represent fields for the L95 model.
FieldL95(const Resolution &)
Constructors and basic operators.
void generate(const eckit::Configuration &)
FieldL95 & operator-=(const FieldL95 &)
FieldL95 & operator+=(const FieldL95 &)
void write(std::ofstream &) const
void diff(const FieldL95 &, const FieldL95 &)
const int & resol() const
Set and get.
void deserialize(const std::vector< double > &, size_t &) override
void axpy(const double &, const FieldL95 &)
const double & operator[](const int ii) const
double & operator[](const int ii)
void schur(const FieldL95 &)
static const std::string classname()
void zero()
Linear algebra.
FieldL95 & operator*=(const double &)
FieldL95 & operator=(const FieldL95 &)
void dirac(const eckit::Configuration &)
const std::vector< double > & asVector() const
double dot_product_with(const FieldL95 &) const
void serialize(std::vector< double > &) const override
std::vector< double > & asVector()
void read(std::ifstream &)
Utilities.
size_t serialSize() const override
Serialize and deserialize.
void print(std::ostream &) const override
The namespace for the L95 model.