UFO
ufo::ObsErrorFactorQuotient Class Reference

Calculate the ratio of two variables, typically related to ObsError. More...

#include <ObsErrorFactorQuotient.h>

Inheritance diagram for ufo::ObsErrorFactorQuotient:
Collaboration diagram for ufo::ObsErrorFactorQuotient:

Public Member Functions

 ObsErrorFactorQuotient (const eckit::LocalConfiguration)
 
 ~ObsErrorFactorQuotient ()
 
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_
 
ObsErrorFactorQuotientParameters options_
 

Additional Inherited Members

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

Detailed Description

Calculate the ratio of two variables, typically related to ObsError.

This routine was designed to mimic the GSI-Observer method of rejecting obs data when the ratio of the final ObsError, after inflation, is more than a threshold amount greater than the starting ObsError. A boolean optional save variable is available, false by default. The ObsFunction is simple division expected to be used with Bounds Check above a maximum threshold.

example configurations for a FilterBase derived class:

- Filter: Bounds Check
  filter variables:
  - name: air_temperature
  action:
    name: reject
  maxvalue: 3.6
  test variables:
  - name: ObsErrorFactorQuotient@ObsFunction
      options:
        numerator:
          name: air_temperature@ObsErrorData   # After inflation step
        denominator:
          name: air_temperature@ObsError
  defer to post: true                         # Likely necessary for order of filters

Definition at line 65 of file ObsErrorFactorQuotient.h.

Constructor & Destructor Documentation

◆ ObsErrorFactorQuotient()

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

Definition at line 23 of file ObsErrorFactorQuotient.cc.

Here is the call graph for this function:

◆ ~ObsErrorFactorQuotient()

ufo::ObsErrorFactorQuotient::~ObsErrorFactorQuotient ( )

Definition at line 43 of file ObsErrorFactorQuotient.cc.

Member Function Documentation

◆ classname()

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

Definition at line 67 of file ObsErrorFactorQuotient.h.

◆ compute()

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

compute the result of the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 47 of file ObsErrorFactorQuotient.cc.

Here is the call graph for this function:

◆ requiredVariables()

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

geovals required to compute the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 90 of file ObsErrorFactorQuotient.cc.

Member Data Documentation

◆ invars_

ufo::Variables ufo::ObsErrorFactorQuotient::invars_
private

Definition at line 75 of file ObsErrorFactorQuotient.h.

◆ options_

ObsErrorFactorQuotientParameters ufo::ObsErrorFactorQuotient::options_
private

Definition at line 76 of file ObsErrorFactorQuotient.h.


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