8 #ifndef SOCA_COVARIANCE_ERRORCOVARIANCE_H_
9 #define SOCA_COVARIANCE_ERRORCOVARIANCE_H_
14 #include <boost/noncopyable.hpp>
15 #include <boost/scoped_ptr.hpp>
17 #include "oops/base/Variables.h"
18 #include "oops/util/DateTime.h"
19 #include "oops/util/ObjectCounter.h"
20 #include "oops/util/Printable.h"
38 private boost::noncopyable,
39 private util::ObjectCounter<ErrorCovariance> {
41 static const std::string
classname() {
return "soca::ErrorCovariance";}
44 const eckit::Configuration &,
54 void print(std::ostream &)
const;
56 boost::scoped_ptr<const Geometry>
geom_;
57 boost::scoped_ptr<const State>
traj_;
void randomize(Increment &) const
void inverseMultiply(const Increment &, Increment &) const
ErrorCovariance(const Geometry &, const oops::Variables &, const eckit::Configuration &, const State &, const State &)
void multiply(const Increment &, Increment &) const
boost::scoped_ptr< const State > traj_
static const std::string classname()
boost::scoped_ptr< const Geometry > geom_
void print(std::ostream &) const
void linearize(const State &, const Geometry &)
Geometry handles geometry for SOCA model.
Increment Class: Difference between two states.