UFO
|
BayesianBackgroundCheck: check observation closeness to background, accounting for probability of gross error, i.e. that observation is bad. More...
#include <BayesianBackgroundCheck.h>
Public Types | |
typedef BayesianBackgroundCheckParameters | Parameters_ |
Public Member Functions | |
BayesianBackgroundCheck (ioda::ObsSpace &obsdb, const Parameters_ ¶meters, std::shared_ptr< ioda::ObsDataVector< int > > flags, std::shared_ptr< ioda::ObsDataVector< float > > obserr) | |
~BayesianBackgroundCheck () | |
![]() | |
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 > &apply, const Variables &filtervars, std::vector< std::vector< bool >> &flagged) const override |
Apply Bayesian background check filter. Return flagged=true for rejected obs. More... | |
int | qcFlag () const override |
Return bayesianQC flag for observations rejected by Bayesian BG check. More... | |
Variable | backgrErrVariable (const Variable &filterVariable) const |
Return the name of the variable containing the background error estimate of the specified filter variable. More... | |
template<class T > | |
std::vector< T > | reduceVector (const std::vector< T > &vector_full, const std::vector< size_t > &j_reduced) const |
Reduce a vector to only the elements for which j_reduced=true. More... | |
template<class T > | |
void | unreduceVector (const std::vector< T > &vector_reduced, std::vector< T > &vector_full, const std::vector< size_t > &j_reduced) const |
Copy a reduced vector back into the correct indices of the full vector. More... | |
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_ |
BayesianBackgroundCheck: check observation closeness to background, accounting for probability of gross error, i.e. that observation is bad.
Flag observations whose values differ from their model equivalents by too much. "Too much" depends on the uncertainties of both observation and model background, and the prior probability of the observation being "bad", or in gross error. Can apply to scalar or vector observation types on single-level. (Cannot handle profiles.) Calls function ufo::BayesianPGEUpdate.
Requires the following be specified in .yaml, under
obs filters:
May also specify the following optional parameters (defaults in ufo/utils/ProbabilityOfGrossErrorParameters.h):
Definition at line 75 of file BayesianBackgroundCheck.h.
The type of parameters accepted by the constructor of this filter. This typedef is used by the FilterFactory.
Definition at line 80 of file BayesianBackgroundCheck.h.
ufo::BayesianBackgroundCheck::BayesianBackgroundCheck | ( | ioda::ObsSpace & | obsdb, |
const Parameters_ & | parameters, | ||
std::shared_ptr< ioda::ObsDataVector< int > > | flags, | ||
std::shared_ptr< ioda::ObsDataVector< float > > | obserr | ||
) |
BayesianBackgroundCheck: check observation closeness to background, accounting for probability of gross error, i.e. that observation is bad.
Definition at line 34 of file BayesianBackgroundCheck.cc.
ufo::BayesianBackgroundCheck::~BayesianBackgroundCheck | ( | ) |
Definition at line 51 of file BayesianBackgroundCheck.cc.
|
overrideprivatevirtual |
Apply Bayesian background check filter. Return flagged=true for rejected obs.
Apply the Bayesian background check filter.
Implements ufo::FilterBase.
Definition at line 93 of file BayesianBackgroundCheck.cc.
|
private |
Return the name of the variable containing the background error estimate of the specified filter variable.
Return the name of the variable containing the background error estimate of the specified filter variable.
Definition at line 59 of file BayesianBackgroundCheck.cc.
|
inlinestatic |
Definition at line 82 of file BayesianBackgroundCheck.h.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 266 of file BayesianBackgroundCheck.cc.
|
inlineoverrideprivatevirtual |
Return bayesianQC flag for observations rejected by Bayesian BG check.
Implements ufo::FilterBase.
Definition at line 97 of file BayesianBackgroundCheck.h.
|
private |
Reduce a vector to only the elements for which j_reduced=true.
[in] | vector_full | full vector, |
[in] | j_reduced | indices of vector_full to be copied into... |
Definition at line 67 of file BayesianBackgroundCheck.cc.
|
private |
Copy a reduced vector back into the correct indices of the full vector.
[in] | vector_reduced | reduced vector to restore to... |
[in,out] | vector_full | full vector, |
[in] | j_reduced | indices of vector_full to be populated. |
Definition at line 81 of file BayesianBackgroundCheck.cc.
|
private |
Definition at line 119 of file BayesianBackgroundCheck.h.