8 #ifndef UFO_FILTERS_OBSFUNCTIONS_OBSERRORMODELSTEPWISELINEAR_H_
9 #define UFO_FILTERS_OBSFUNCTIONS_OBSERRORMODELSTEPWISELINEAR_H_
14 #include "ioda/ObsDataVector.h"
16 #include "oops/util/parameters/OptionalParameter.h"
17 #include "oops/util/parameters/Parameter.h"
18 #include "oops/util/parameters/Parameters.h"
19 #include "oops/util/parameters/RequiredParameter.h"
34 oops::RequiredParameter<Variable>
xvar{
"xvar",
this};
36 oops::RequiredParameter<std::vector<float>>
xvals{
"xvals",
this};
38 oops::RequiredParameter<std::vector<float>>
errors{
"errors",
this};
96 static const std::string
classname() {
return "ObsErrorModelStepwiseLinear";}
Parameterize the observation error as a series of steps with linear interpolation between each step.
const ufo::Variables & requiredVariables() const
geovals required to compute the function
void compute(const ObsFilterData &, ioda::ObsDataVector< float > &) const
compute the result of the function
static const std::string classname()
~ObsErrorModelStepwiseLinear()
ObsErrorModelStepwiseLinearParameters options_
ObsErrorModelStepwiseLinear(const eckit::LocalConfiguration)
Options controlling ObsErrorModelStepwiseLinear ObsFunction.
oops::OptionalParameter< Variable > scale_factor_var
When final answer is a multiplication factor, we need to know which variable to multiply.
oops::RequiredParameter< Variable > xvar
the name of the xvar
oops::RequiredParameter< std::vector< float > > errors
vector of error values corresponding to vector of X-steps
oops::RequiredParameter< std::vector< float > > xvals
vector of X-steps
ObsFilterData provides access to all data related to an ObsFilter.