UFO
ufo::ObsErrorModelRamp Class Reference

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

#include <ObsErrorModelRamp.h>

Inheritance diagram for ufo::ObsErrorModelRamp:
Collaboration diagram for ufo::ObsErrorModelRamp:

Public Member Functions

 ObsErrorModelRamp (const eckit::LocalConfiguration)
 
 ~ObsErrorModelRamp ()
 
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
 ObsFunctionBase (const eckit::LocalConfiguration conf=eckit::LocalConfiguration())
 
virtual ~ObsFunctionBase ()
 

Static Public Member Functions

static const std::string classname ()
 

Private Attributes

ufo::Variables invars_
 
ObsErrorModelRampParameters options_
 

Detailed Description

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

The output function is specified by the coordinates of the inflection points and includes:

  1. initial constant value
  2. linear growth or decay (ramp)
  3. final constant value
err1 |- - - *---
| ,'.
| ,' .
| ,' .
err0 |--*' .
| . .
'--+-------+---
' '
x0 x1

Notes:

  • for a decaying ramp, set err1 < err0
  • for a step function, set x0 == x1

example configurations for a FilterBase derived class:

- Filter: {Filter Name}

AMSUA

  filter variables:
  - name: brightness_temperature
    channels: &errassignchan 1-15
  action:
    name: assign error
    error function:
      name: ObsErrorModelRamp@ObsFunction
      channels: *errassignchan
      options:
        channels: *errassignchan
        xvar:
          name: CLWRetMean@ObsFunction
          options:
            clwret_ch238: 1
            clwret_ch314: 2
            clwret_types: [ObsValue, HofX]
            bias_application: HofX
        x0:    [ 0.050,  0.030,  0.030,  0.020,  0.000,
                 0.100,  0.000,  0.000,  0.000,  0.000,
                 0.000,  0.000,  0.000,  0.000,  0.030]
        x1:    [ 0.600,  0.450,  0.400,  0.450,  1.000,
                 1.500,  0.000,  0.000,  0.000,  0.000,
                 0.000,  0.000,  0.000,  0.000,  0.200]
        err0: [ 2.500,  2.200,  2.000,  0.550,  0.300,
                0.230,  0.230,  0.250,  0.250,  0.350,
                0.400,  0.550,  0.800,  3.000,  3.500]
        err1: [20.000, 18.000, 12.000,  3.000,  0.500,
                0.300,  0.230,  0.250,  0.250,  0.350,
                0.400,  0.550,  0.800,  3.000, 18.000]
       {save: true}

ABI/AHI

  filter variables:
  - name: brightness_temperature
    channels: &errassignchan 8-10
  action:
    name: assign error
    error function:
      name: ObsErrorModelRamp@ObsFunction
      channels: *errassignchan
      options:
        channels: *errassignchan
        xvar:
          name: SymmCldImpactIR@ObsFunction
          channels: *errassignchan
          options:
            channels: *errassignchan
        x0: [ 0.0,  0.0,  1.0]
        x1: [15.0, 20.0, 25.0]
        err0: [ 2.5,  3.2,  3.2]
        err1: [17.0, 20.5, 21.1]

Non-radiance ObsTypes

  filter variables:
  - name: {filter variable name}
  action:
    name: assign error
    error function:
      name: ObsErrorModelRamp@ObsFunction
      options:
        xvar:
          name: {xvar}@[ObsFunction, GeoVaLs, ObsDiag, ObsValue, etc...]
          options: {xvar options}
        x0: [{X0}]
        x1: [{X1}]
        err0: [{ERR0}]
        err1: [{ERR1}]

Definition at line 157 of file ObsErrorModelRamp.h.

Constructor & Destructor Documentation

◆ ObsErrorModelRamp()

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

Definition at line 29 of file ObsErrorModelRamp.cc.

Here is the call graph for this function:

◆ ~ObsErrorModelRamp()

ufo::ObsErrorModelRamp::~ObsErrorModelRamp ( )

Definition at line 69 of file ObsErrorModelRamp.cc.

Member Function Documentation

◆ classname()

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

Definition at line 159 of file ObsErrorModelRamp.h.

Here is the caller graph for this function:

◆ compute()

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

compute the result of the function

Implements ufo::ObsFunctionBase.

Definition at line 73 of file ObsErrorModelRamp.cc.

Here is the call graph for this function:

◆ requiredVariables()

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

geovals required to compute the function

Implements ufo::ObsFunctionBase.

Definition at line 125 of file ObsErrorModelRamp.cc.

Member Data Documentation

◆ invars_

ufo::Variables ufo::ObsErrorModelRamp::invars_
private

Definition at line 168 of file ObsErrorModelRamp.h.

◆ options_

ObsErrorModelRampParameters ufo::ObsErrorModelRamp::options_
private

Definition at line 169 of file ObsErrorModelRamp.h.


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