UFO
ufo::ObsErrorFactorConventional Class Reference

Inflate the observation error for conventional as done by GSI-Observer. More...

#include <ObsErrorFactorConventional.h>

Inheritance diagram for ufo::ObsErrorFactorConventional:
Collaboration diagram for ufo::ObsErrorFactorConventional:

Public Member Functions

 ObsErrorFactorConventional (const eckit::Configuration &config)
 
 ~ObsErrorFactorConventional ()
 
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_
 
std::unique_ptr< ObsErrorFactorConventionalParametersoptions_
 

Additional Inherited Members

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

Detailed Description

Inflate the observation error for conventional as done by GSI-Observer.

This routine was designed to mimic the GSI observer code (i.e., subroutine errormod in qcmod.f90) to inflate the observation error for conventional/satwinds using the qc flags generated from a filter or from the input files with a group name (test QCflag) defined in the yaml. The inflation factor is determined by the obseravtion vertical spacing (in pressure) relative to the corresponding model pressure interval. This error inflation obsFuction is used in GSI for temperature, moiture, and winds from conventional obs as well as some of satellite retrievels, e.g., radiosonde/other conventional temperature, moisture, and wind, SCAT winds, VAD winds, and potentially aircraft ascent and descent profiles.

Notes: (1) If using this obs function in a filter, please make sure the "filter variables" and "inflate variables" prescribed with the same variable name. (2) This obs funciton requires each of the obs profiles are sorted by pressure in descending order

example configurations for testing this obs function:

obs function: name: ObsErrorFactorConventional@ObsFunction variables: [eastward_wind] # Variable name for output tolerance: 1.e-6 options: inflate variables: [eastward_wind] # Ok to be multiple dimensions for running

this obsFunction only (not within a filter)

test QCflag: PreQC # Optional. If not defined, use QCflags from prior filters test QCthreshold: 2 # Optonal, only when PreQC is used

Default is 3 for PreQC

In GSI(PreQC): if noiqc (no oiqc)=true, QCthreshold=7;

if noiqc=false, QCthreshold=3

example configurations for using this obs function in a filter:

  • filter: BlackList filter variables:

    • name: virtual_temperature # Have to be consistent with "inflate <h1>variables". Therefore, only one variable allowed

      while running with this obsFunc

    action: name: inflate error inflation variable: name: ObsErrorFactorConventional@ObsFunction options: inflate variables: [virtual_temperature] # Have to be consistent with "filter <h1>variables". Therefore, only one

    variable allowed

example configurations for using obsgrouping:

 obsgrouping:
   group variables: ["station_id", "datetime"] # Choose parameteres to identify each of
                                               # the obs profiles
   sort variable: "air_pressure"
   sort order: "descending"

Definition at line 100 of file ObsErrorFactorConventional.h.

Constructor & Destructor Documentation

◆ ObsErrorFactorConventional()

ufo::ObsErrorFactorConventional::ObsErrorFactorConventional ( const eckit::Configuration &  config)
explicit

Definition at line 33 of file ObsErrorFactorConventional.cc.

◆ ~ObsErrorFactorConventional()

ufo::ObsErrorFactorConventional::~ObsErrorFactorConventional ( )

Definition at line 64 of file ObsErrorFactorConventional.cc.

Member Function Documentation

◆ classname()

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

Definition at line 102 of file ObsErrorFactorConventional.h.

◆ compute()

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

compute the result of the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 70 of file ObsErrorFactorConventional.cc.

Here is the call graph for this function:

◆ requiredVariables()

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

geovals required to compute the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 215 of file ObsErrorFactorConventional.cc.

Member Data Documentation

◆ invars_

ufo::Variables ufo::ObsErrorFactorConventional::invars_
private

Definition at line 110 of file ObsErrorFactorConventional.h.

◆ options_

std::unique_ptr<ObsErrorFactorConventionalParameters> ufo::ObsErrorFactorConventional::options_
private

Definition at line 111 of file ObsErrorFactorConventional.h.


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