17 #include "eckit/config/LocalConfiguration.h"
19 #include "oops/base/Variables.h"
20 #include "oops/util/ObjectCounter.h"
21 #include "oops/util/Printable.h"
37 class ObsBiasIncrement;
44 private util::ObjectCounter<ObsBias> {
48 static const std::string
classname() {
return "ufo::ObsBias";}
91 operator bool()
const {
96 void print(std::ostream &)
const override;
const oops::Variables & correctedVars() const
Return the list of bias-corrected variables.
ObsBiasParameters Parameters_
ObsBias & operator=(const ObsBias &)
size_t rank_
MPI rank, used to determine whether the task should output bias coeffs to a file.
const oops::Variables & requiredVars() const
Eigen::VectorXd biascoeffs_
bias correction coefficients (npredictors x nprimitivevariables)
Predictors predictors_
bias correction predictors
double operator()(size_t jpred, size_t jvar) const
void zero()
Set all variable predictors coefficients to zero (used in the test)
const Eigen::VectorXd & data() const
Return bias correction coefficients (for variable predictors)
oops::Variables geovars_
Variables that need to be requested from the model (for computation of predictors)
ObsBias(ioda::ObsSpace &, const Parameters_ &)
void print(std::ostream &) const override
void initPredictor(const PredictorParametersWrapper ¶ms)
ObsBias & operator+=(const ObsBiasIncrement &)
const Predictors & predictors() const
Return a reference to the vector of all (static and variable) predictors.
const std::vector< std::string > & requiredPredictors() const
static const std::string classname()
std::vector< std::string > prednames_
predictor names
std::size_t numStaticPredictors_
number of static predictors (i.e. predictors with fixed coefficients all equal to 1)
size_t index(size_t jpred, size_t jvar) const
index in the flattened biascoeffs_ for predictor jpred and variable jvar
std::vector< std::shared_ptr< const PredictorBase > > variablePredictors() const
Return the vector of variable predictors.
oops::Variables hdiags_
Diagnostics that need to be requested from the obs operator (for computation of predictors)
void read(const Parameters_ &)
Read bias correction coefficients from file.
oops::Variables vars_
corrected variables names (for now has to be same as "simulated variables")
std::size_t numVariablePredictors_
number of variable predictors (i.e. predictors with variable coefficients)
const oops::Variables & requiredHdiagnostics() const
void write(const Parameters_ &) const
Contains increments to bias correction coefficients.
Parameters influencing the bias correction process.
Contains a polymorphic parameter holding an instance of a subclass of PredictorParametersBase.
std::vector< std::shared_ptr< PredictorBase > > Predictors