UFO
|
Inflate the observation error for conventional as done by GSI-Observer. More...
#include <ObsErrorFactorConventional.h>
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::Variables & | requiredVariables () const |
geovals required to compute the function More... | |
![]() | |
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< ObsErrorFactorConventionalParameters > | options_ |
Additional Inherited Members | |
![]() | |
typedef float | Value_ |
Type of the values produced by the function. More... | |
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
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
test QCflag: PreQC # Optional. If not defined, use QCflags from prior filters test QCthreshold: 2 # Optonal, only when PreQC is used
if noiqc=false, QCthreshold=3
filter: BlackList filter variables:
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
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.
|
explicit |
Definition at line 33 of file ObsErrorFactorConventional.cc.
ufo::ObsErrorFactorConventional::~ObsErrorFactorConventional | ( | ) |
Definition at line 64 of file ObsErrorFactorConventional.cc.
|
inlinestatic |
Definition at line 102 of file ObsErrorFactorConventional.h.
|
virtual |
compute the result of the function
Implements ufo::ObsFunctionBase< float >.
Definition at line 70 of file ObsErrorFactorConventional.cc.
|
virtual |
geovals required to compute the function
Implements ufo::ObsFunctionBase< float >.
Definition at line 215 of file ObsErrorFactorConventional.cc.
|
private |
Definition at line 110 of file ObsErrorFactorConventional.h.
|
private |
Definition at line 111 of file ObsErrorFactorConventional.h.