Go to the documentation of this file.
8 #ifndef UFO_OBSBIASCOVARIANCE_H_
9 #define UFO_OBSBIASCOVARIANCE_H_
14 #include <boost/noncopyable.hpp>
16 #include "eckit/config/LocalConfiguration.h"
18 #include "oops/util/ObjectCounter.h"
19 #include "oops/util/Printable.h"
31 class ObsBiasIncrement;
36 private boost::noncopyable,
37 private util::ObjectCounter<ObsBiasCovariance> {
39 static const std::string
classname() {
return "ufo::ObsBiasCovariance";}
53 void read(
const eckit::Configuration &);
54 void write(
const eckit::Configuration &);
58 void print(std::ostream &)
const {}
59 const eckit::LocalConfiguration
conf_;
100 #endif // UFO_OBSBIASCOVARIANCE_H_
std::vector< std::string > prednames_
void randomize(ObsBiasIncrement &) const
std::vector< double > ht_rinv_h_
const std::vector< std::string > predictorNames() const
void print(std::ostream &) const
double smallest_variance_
std::vector< std::size_t > obs_num_
std::size_t minimal_required_obs_number_
void write(const eckit::Configuration &)
ObsBiasCovariance(ioda::ObsSpace &, const eckit::Configuration &)
std::vector< double > analysis_variances_
void read(const eckit::Configuration &)
Class to handle observation bias parameters.
void linearize(const ObsBias &, const eckit::Configuration &)
double largest_analysis_variance_
std::vector< double > variances_
void multiply(const ObsBiasIncrement &, ObsBiasIncrement &) const
std::vector< double > preconditioner_
static const std::string classname()
void inverseMultiply(const ObsBiasIncrement &, ObsBiasIncrement &) const
const eckit::LocalConfiguration conf_
const eckit::Configuration & config() const