UFO
ufo::ObsErrorModelQuad Class Reference

Parameterize the observation error as a piece-wise quadratic function of a ufo::Variable. More...

#include <ObsErrorModelQuad.h>

Inheritance diagram for ufo::ObsErrorModelQuad:
Collaboration diagram for ufo::ObsErrorModelQuad:

Public Member Functions

 ObsErrorModelQuad (const eckit::LocalConfiguration &)
 
 ~ObsErrorModelQuad ()
 
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_
 
ObsErrorModelQuadParameters 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

Parameterize the observation error as a piece-wise quadratic function of a ufo::Variable.

The piece-wise function includes:

  1. initial constant value
  2. quadratic or inverse-quadratic growth
  3. final constant value

and is specified by a, b, err0, and err1 as follows:

p0 * x^2 + p1 * x + p2 ≡ a * (x - b)^2 + c
a = p0
b = p1 / 2p0
c = p2 - p1^2 / (4 * p0)
For a < 0
c = err1 |- - _,.-----
| .' '
| ,' '
err0 |__/ '
| '
'----------+-----
'
b
For a > 0
err1 |- - - ,-----
| /
| _.'
c = err0 |___.-'
| .
'--+-------------
'
b

example configurations for a FilterBase derived class:

- Filter: {Filter Name}

ABI/AHI

  filter variables:
  - name: brightness_temperature
    channels: &errassignchan 8-10
  action:
    name: assign error
    error function:
      name: ObsErrorModelQuad@ObsFunction
      channels: *errassignchan
      options:
        channels: *errassignchan
        xvar:
          name: OkamotoSCIforIR@ObsFunction
          channels: *errassignchan
          options:
            channels: *errassignchan
        a: [-0.069, -0.045, -0.032]
        b: [15.0,  20.0,  25.0]
        err0: [ 2.5,  3.2,  3.2]
        err1: [17.0, 20.5, 21.1]
       {save: true}

Definition at line 116 of file ObsErrorModelQuad.h.

Constructor & Destructor Documentation

◆ ObsErrorModelQuad()

ufo::ObsErrorModelQuad::ObsErrorModelQuad ( const eckit::LocalConfiguration &  config)
explicit

Definition at line 31 of file ObsErrorModelQuad.cc.

Here is the call graph for this function:

◆ ~ObsErrorModelQuad()

ufo::ObsErrorModelQuad::~ObsErrorModelQuad ( )

Definition at line 77 of file ObsErrorModelQuad.cc.

Member Function Documentation

◆ classname()

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

Definition at line 118 of file ObsErrorModelQuad.h.

Here is the caller graph for this function:

◆ compute()

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

compute the result of the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 81 of file ObsErrorModelQuad.cc.

Here is the call graph for this function:

◆ requiredVariables()

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

geovals required to compute the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 137 of file ObsErrorModelQuad.cc.

Member Data Documentation

◆ invars_

ufo::Variables ufo::ObsErrorModelQuad::invars_
private

Definition at line 127 of file ObsErrorModelQuad.h.

◆ options_

ObsErrorModelQuadParameters ufo::ObsErrorModelQuad::options_
private

Definition at line 128 of file ObsErrorModelQuad.h.


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