UFO
ufo::SatwindIndivErrors Class Reference

Function calculates individual observation errors for Satwind u and v winds dependent on an input pressure error estimate and the model wind shear. More...

#include <SatwindIndivErrors.h>

Inheritance diagram for ufo::SatwindIndivErrors:
Collaboration diagram for ufo::SatwindIndivErrors:

Public Member Functions

 SatwindIndivErrors (const eckit::LocalConfiguration &)
 
 ~SatwindIndivErrors ()
 
void compute (const ObsFilterData &, ioda::ObsDataVector< float > &) const
 Function to calculate situation dependent observation errors for satwinds. 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 ()
 

Private Attributes

ufo::Variables invars_
 
SatwindIndivErrorsParameters 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

Function calculates individual observation errors for Satwind u and v winds dependent on an input pressure error estimate and the model wind shear.

Definition at line 57 of file SatwindIndivErrors.h.

Constructor & Destructor Documentation

◆ SatwindIndivErrors()

ufo::SatwindIndivErrors::SatwindIndivErrors ( const eckit::LocalConfiguration &  conf)
explicit

Definition at line 31 of file SatwindIndivErrors.cc.

◆ ~SatwindIndivErrors()

ufo::SatwindIndivErrors::~SatwindIndivErrors ( )

Definition at line 53 of file SatwindIndivErrors.cc.

Member Function Documentation

◆ compute()

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

Function to calculate situation dependent observation errors for satwinds.

The errors are calculated by combining an estimate of the error in the vector, with an estimate of the error in vector due to an error in the pressure (i.e. height assignment). The latter will depend on the AMV height error and the background vertical wind shear. In the future we aim to use estimates of the vector error and height error from the data producers.

Currently the vector error estimate \(E_{vector}\) is based on the quality index (QI) (ideally model-independent) and is calculated as:

\[ E_{vector} = \text{EuMult}\left(QI \times 0.01\right) + \text{EuAdd} \]

The defaults are EuMult=-5.0 and EuAdd=7.5, which gives errors in the range from 2.5 m/s (at QI=100) to 4.5 m/s (at QI=60).

The height error estimate \(E_{p}\) is currently set by a look up table (dependent on e.g. satellite, channel, pressure level). The values are based on the RMS of model best-fit pressure minus AMV observed pressure distributions. These are calculated from several months of data.

The error in vector due to the height error, \(E_{vpress}\), is calculated as:

\[ E_{vpress} = \sqrt{\frac{\sum{W_{i}\left(v_{i}-v_{n}\right)^{2}}} {\sum{W_{i}}} } \]

where

\[ W_{i} = \exp\left(- \left( \left( p_{i} - p_{n} \right)^2 / 2E_{p}^2 \right)\right) \times dP_{i} \]

i = model level
N = number of model levels (sum over)
\(v_i\) = wind component on model level
\(v_n\) = wind component at observation location
\(p_i\) = pressure on model level
\(p_n\) = pressure at observation location
\(E_p\) = error in height assignment
\(dP_i\) = layer thickness
This is calculated separately for the u and v components giving separate u and v component errors.

\[ E_{total}^2 = E_{vector}^2 + E_{vpress}^2 \]

Author
J.Cotton (Met Office)
Date
05/01/2021: Created

Implements ufo::ObsFunctionBase< float >.

Definition at line 107 of file SatwindIndivErrors.cc.

Here is the call graph for this function:

◆ requiredVariables()

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

geovals required to compute the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 245 of file SatwindIndivErrors.cc.

Member Data Documentation

◆ invars_

ufo::Variables ufo::SatwindIndivErrors::invars_
private

Definition at line 66 of file SatwindIndivErrors.h.

◆ options_

SatwindIndivErrorsParameters ufo::SatwindIndivErrors::options_
private

Definition at line 67 of file SatwindIndivErrors.h.


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