UFO
|
This filter calculates the probability that an entire report is affected by gross error. More...
#include <ProbabilityGrossErrorWholeReport.h>
Public Types | |
typedef ProbabilityGrossErrorWholeReportParameters | Parameters_ |
Public Member Functions | |
ProbabilityGrossErrorWholeReport (ioda::ObsSpace &, const Parameters_ &, std::shared_ptr< ioda::ObsDataVector< int >>, std::shared_ptr< ioda::ObsDataVector< float >>) | |
~ProbabilityGrossErrorWholeReport () | |
![]() | |
FilterBase (ioda::ObsSpace &, const FilterParametersBaseWithAbstractAction ¶meters, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
FilterBase (ioda::ObsSpace &, const eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~FilterBase () | |
![]() | |
ObsProcessorBase (ioda::ObsSpace &, bool deferToPost, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~ObsProcessorBase () | |
void | preProcess () override |
void | priorFilter (const GeoVaLs &) override |
void | postFilter (const ioda::ObsVector &, const ioda::ObsVector &, const ObsDiagnostics &) override |
oops::Variables | requiredVars () const override |
oops::Variables | requiredHdiagnostics () const override |
Static Public Member Functions | |
static const std::string | classname () |
Private Member Functions | |
void | print (std::ostream &) const override |
void | applyFilter (const std::vector< bool > &, const Variables &, std::vector< std::vector< bool >> &) const override |
int | qcFlag () const override |
Private Attributes | |
Parameters_ | parameters_ |
Additional Inherited Members | |
![]() | |
const eckit::LocalConfiguration | config_ |
ufo::Variables | filtervars_ |
![]() | |
ioda::ObsSpace & | obsdb_ |
std::shared_ptr< ioda::ObsDataVector< int > > | flags_ |
std::shared_ptr< ioda::ObsDataVector< float > > | obserr_ |
ufo::Variables | allvars_ |
ObsFilterData | data_ |
This filter calculates the probability that an entire report is affected by gross error.
Synoptic stations typically provide reports at regular intervals. A report is a combination of variables observed by different sensors at a single location. Reports may include some, but not necessarily all, of pressure, temperature, dew point and wind speed and direction.
The probability that the whole report is affected by gross error is calculated through the Bayesian combination of the probability of gross error of individual observations. This is based on the logic that if multiple observations within a report appear dubious based on a Bayesian Background check, it is likely that the whole report is affected by, for example, location error. This filter should be called after the Bayesian Background Check.
Variables which are to have their probability of gross error updated should be specified using the "filter variables" YAML option. All variables included in "filter variables" will be used to calculate the probability that the whole report is affected by gross error unless the option not_used_in_whole_report
is set to true for that variable.
Variables can be either scalar or vector (with two Cartesian components, such as the eastward and northward wind components). In the latter case the two components need to specified one after the other in the "filter variables" list, with the second component having the second_component_of_two
option set to true. For each variable, the option Probability_Density_Bad
is used to set the prior probability density of that variable being "bad". The filter can also apply a specific prior probability density of bad observations for the following Met Office SubTypes:
Definition at line 100 of file ProbabilityGrossErrorWholeReport.h.
typedef ProbabilityGrossErrorWholeReportParameters ufo::ProbabilityGrossErrorWholeReport::Parameters_ |
The type of parameters accepted by the constructor of this filter. This typedef is used by the FilterFactory.
Definition at line 105 of file ProbabilityGrossErrorWholeReport.h.
ufo::ProbabilityGrossErrorWholeReport::ProbabilityGrossErrorWholeReport | ( | ioda::ObsSpace & | , |
const Parameters_ & | , | ||
std::shared_ptr< ioda::ObsDataVector< int >> | , | ||
std::shared_ptr< ioda::ObsDataVector< float >> | |||
) |
Definition at line 27 of file ProbabilityGrossErrorWholeReport.cc.
ufo::ProbabilityGrossErrorWholeReport::~ProbabilityGrossErrorWholeReport | ( | ) |
Definition at line 39 of file ProbabilityGrossErrorWholeReport.cc.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 45 of file ProbabilityGrossErrorWholeReport.cc.
|
inlinestatic |
Definition at line 107 of file ProbabilityGrossErrorWholeReport.h.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 223 of file ProbabilityGrossErrorWholeReport.cc.
|
inlineoverrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 118 of file ProbabilityGrossErrorWholeReport.h.
|
private |
Definition at line 120 of file ProbabilityGrossErrorWholeReport.h.