UFO
ufo::ObsErrorModelStepwiseLinear Class Reference

Parameterize the observation error as a series of steps with linear interpolation between each step. More...

#include <ObsErrorModelStepwiseLinear.h>

Inheritance diagram for ufo::ObsErrorModelStepwiseLinear:
Collaboration diagram for ufo::ObsErrorModelStepwiseLinear:

Public Member Functions

 ObsErrorModelStepwiseLinear (const eckit::LocalConfiguration)
 
 ~ObsErrorModelStepwiseLinear ()
 
void compute (const ObsFilterData &, ioda::ObsDataVector< float > &) const
 compute the result of the function More...
 
const ufo::VariablesrequiredVariables () const
 geovals required to compute the function More...
 
- Public Member Functions inherited from ufo::ObsFunctionBase< float >
 ObsFunctionBase (const eckit::LocalConfiguration conf=eckit::LocalConfiguration())
 
virtual ~ObsFunctionBase ()
 

Static Public Member Functions

static const std::string classname ()
 

Private Attributes

ufo::Variables invars_
 
ObsErrorModelStepwiseLinearParameters options_
 
bool isAscending_ = true
 
bool multiplicative_ = false
 

Additional Inherited Members

- Public Types inherited from ufo::ObsFunctionBase< float >
typedef float Value_
 Type of the values produced by the function. More...
 

Detailed Description

Parameterize the observation error as a series of steps with linear interpolation between each step.

This routine was designed to mimic the GSI fix-file of prepobs_errtable.txt Input is a vector of x-values (e.g. pressures) and corresponding vector of obserrors. Interpolation in X-coordinate requires the value of X for which the output, Y, is calculated using linear interp of obserrors between the steps. If the optional "scale_factor_var" exists, then the final output obserr is calculated as a result of linear interpolation of errors times the scale_factor_var. An example of such usage is RH obserror values between zero and one multiplied by specific_humidity@ObsValue for final ObsError.

+ err_n o
| /
| /
+ err_n-1 o
| /
obserr + *
| /
| /
err2 + o
| /
| /
err1 + o
| /
err0 +-----+------+---------*---+--------+
p_0, p_1, p_2,... p* p_n-1, p_n

example configurations for a FilterBase derived class:

- Filter: {Filter Name}

Example for air temperature assigned obserror by pressure (e.g., sonde data)

  filter variables:
  - name: air_temperature
  action:
    name: assign error
    error function:
      name: ObsErrorModelStepwiseLinear@ObsFunction
      options:
        xvar:
          name: air_pressure@ObsValue
        xvals: [110000, 85000, 50000, 25000, 10000, 1]   #Pressure (Pa)
        errors: [1.1, 1.3, 1.8, 2.4, 4.0, 4.5]

Definition at line 94 of file ObsErrorModelStepwiseLinear.h.

Constructor & Destructor Documentation

◆ ObsErrorModelStepwiseLinear()

ufo::ObsErrorModelStepwiseLinear::ObsErrorModelStepwiseLinear ( const eckit::LocalConfiguration  config)
explicit

Definition at line 28 of file ObsErrorModelStepwiseLinear.cc.

Here is the call graph for this function:

◆ ~ObsErrorModelStepwiseLinear()

ufo::ObsErrorModelStepwiseLinear::~ObsErrorModelStepwiseLinear ( )

Definition at line 88 of file ObsErrorModelStepwiseLinear.cc.

Member Function Documentation

◆ classname()

static const std::string ufo::ObsErrorModelStepwiseLinear::classname ( )
inlinestatic

Definition at line 96 of file ObsErrorModelStepwiseLinear.h.

◆ compute()

void ufo::ObsErrorModelStepwiseLinear::compute ( const ObsFilterData ,
ioda::ObsDataVector< float > &   
) const
virtual

compute the result of the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 92 of file ObsErrorModelStepwiseLinear.cc.

Here is the call graph for this function:

◆ requiredVariables()

const ufo::Variables & ufo::ObsErrorModelStepwiseLinear::requiredVariables ( ) const
virtual

geovals required to compute the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 172 of file ObsErrorModelStepwiseLinear.cc.

Member Data Documentation

◆ invars_

ufo::Variables ufo::ObsErrorModelStepwiseLinear::invars_
private

Definition at line 104 of file ObsErrorModelStepwiseLinear.h.

◆ isAscending_

bool ufo::ObsErrorModelStepwiseLinear::isAscending_ = true
private

Definition at line 106 of file ObsErrorModelStepwiseLinear.h.

◆ multiplicative_

bool ufo::ObsErrorModelStepwiseLinear::multiplicative_ = false
private

Definition at line 107 of file ObsErrorModelStepwiseLinear.h.

◆ options_

ObsErrorModelStepwiseLinearParameters ufo::ObsErrorModelStepwiseLinear::options_
private

Definition at line 105 of file ObsErrorModelStepwiseLinear.h.


The documentation for this class was generated from the following files: