OOPS
LocalIncrement.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2018-2020 UCAR.
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef OOPS_BASE_LOCALINCREMENT_H_
9 #define OOPS_BASE_LOCALINCREMENT_H_
10 
11 #include <string>
12 #include <vector>
13 
14 #include "oops/base/Variables.h"
15 #include "oops/util/Printable.h"
16 
17 namespace oops {
18 
19 class LocalIncrement: public util::Printable {
20  public:
22  std::vector<double> vals,
23  std::vector<int> varlens)
24  : vars_(vars), vals_(vals), varlens_(varlens) {}
25 
26  const oops::Variables & getVars() const {return vars_;}
27  const std::vector<double> & getVals() const {return vals_;}
28  void setVals(std::vector<double> &);
29 
30  /// Linear algebra operators
32  LocalIncrement & operator*=(const double &);
33  LocalIncrement & operator*=(const std::vector<double> &);
34 
35 
36  private:
37  void print(std::ostream & os) const {
38  os << "LocalIncrement, size: " << vals_.size() << ", first element: "
39  << vals_[0] << std::endl; }
40  const oops::Variables vars_; // variables in the object
41  std::vector<double> vals_; // data in flat array
42  const std::vector<int> varlens_; // vector containing nlevs for each variable
43 };
44 
45 } // namespace oops
46 
47 #endif // OOPS_BASE_LOCALINCREMENT_H_
oops
The namespace for the main oops code.
Definition: ErrorCovarianceL95.cc:22
oops::LocalIncrement::setVals
void setVals(std::vector< double > &)
Definition: LocalIncrement.cc:38
oops::LocalIncrement::operator+=
LocalIncrement & operator+=(const LocalIncrement &)
Linear algebra operators.
Definition: LocalIncrement.cc:14
oops::LocalIncrement::LocalIncrement
LocalIncrement(const oops::Variables vars, std::vector< double > vals, std::vector< int > varlens)
Definition: LocalIncrement.h:21
oops::LocalIncrement::getVars
const oops::Variables & getVars() const
Definition: LocalIncrement.h:26
oops::LocalIncrement::vars_
const oops::Variables vars_
Definition: LocalIncrement.h:40
oops::LocalIncrement
Definition: LocalIncrement.h:19
oops::LocalIncrement::vals_
std::vector< double > vals_
Definition: LocalIncrement.h:41
oops::LocalIncrement::operator*=
LocalIncrement & operator*=(const double &)
Definition: LocalIncrement.cc:23
oops::LocalIncrement::print
void print(std::ostream &os) const
Definition: LocalIncrement.h:37
oops::LocalIncrement::varlens_
const std::vector< int > varlens_
Definition: LocalIncrement.h:42
oops::Variables
Definition: oops/base/Variables.h:23
oops::LocalIncrement::getVals
const std::vector< double > & getVals() const
Definition: LocalIncrement.h:27
Variables.h