11 #ifndef OOPS_GENERIC_OBSERRORDIAG_H_ 12 #define OOPS_GENERIC_OBSERRORDIAG_H_ 17 #include <boost/scoped_ptr.hpp> 20 #include "oops/util/Logger.h" 31 template<
typename MODEL>
56 void print(std::ostream &)
const;
64 template<
typename MODEL>
66 : stddev_(), inverseVariance_()
69 const std::string col = config.getString(
"obserror");
76 Log::trace() <<
"ObsErrorDiag:ObsErrorDiag constructed" << std::endl;
81 template<
typename MODEL>
83 Log::trace() <<
"ObsErrorDiag:~ObsErrorDiag destructed" << std::endl;
88 template<
typename MODEL>
91 *res /= *inverseVariance_;
97 template<
typename MODEL>
100 *res *= *inverseVariance_;
106 template<
typename MODEL>
114 template<
typename MODEL>
116 os <<
"ObsErrorDiag<MODEL>::print not implemeted yet";
124 #endif // OOPS_GENERIC_OBSERRORDIAG_H_ double getRMSE() const
Get mean error for Jo table.
boost::scoped_ptr< ObsVector_ > inverseVariance_
MODEL::ObsSpace ObsSpace_
MODEL::ObsVector ObsVector_
ObsErrorDiag(const ObsSpace_ &, const eckit::Configuration &)
The namespace for the main oops code.
void randomize(ObsVector_ &) const
Generate random perturbation.
void print(std::ostream &) const
ObsVector_ * inverseMultiply(const ObsVector_ &) const
Multiply a Departure by .
Diagonal observation error covariance matrix.
ObsVector_ * multiply(const ObsVector_ &) const
Multiply a Departure by .
Base class for observation error covariance matrices.
void linearize(const ObsVector_ &)
Linearize and reset for inner loop (nothing in this simple case)
boost::scoped_ptr< ObsVector_ > stddev_