UFO
RejectObs.cc
Go to the documentation of this file.
1
/*
2
* (C) Copyright 2019 UCAR
3
*
4
* This software is licensed under the terms of the Apache Licence Version 2.0
5
* which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6
*/
7
8
#include "
ufo/filters/actions/RejectObs.h
"
9
10
#include "ioda/ObsDataVector.h"
11
#include "
ufo/filters/ObsFilterData.h
"
12
#include "
ufo/filters/QCflags.h
"
13
14
namespace
ufo
{
15
16
// -----------------------------------------------------------------------------
17
18
static
FilterActionMaker<RejectObs>
makerRejectObs_
(
"reject"
);
19
20
// -----------------------------------------------------------------------------
21
22
RejectObs::RejectObs
(
const
eckit::Configuration &
conf
)
23
: allvars_(), conf_(
conf
) {
24
}
25
26
// -----------------------------------------------------------------------------
27
28
void
RejectObs::apply
(
const
Variables
& vars,
29
const
std::vector<std::vector<bool>> & flagged,
30
const
ObsFilterData
&,
31
ioda::ObsDataVector<int>
& flags,
32
ioda::ObsDataVector<float>
&)
const
{
33
int
flag =
conf_
.getInt(
"flag"
);
34
for
(
size_t
jv = 0; jv < vars.
nvars
(); ++jv) {
35
size_t
iv = flags.varnames().find(vars.
variable
(jv).
variable
());
36
for
(
size_t
jobs = 0; jobs < flags.nlocs(); ++jobs) {
37
if
(flagged[jv][jobs] && flags[iv][jobs] ==
QCflags::pass
) flags[iv][jobs] = flag;
38
}
39
}
40
}
41
42
// -----------------------------------------------------------------------------
43
44
}
// namespace ufo
ufo::Variables::nvars
size_t nvars() const
Definition:
Variables.cc:104
ufo::QCflags::pass
constexpr int pass
Definition:
QCflags.h:14
ufo::Variables
Definition:
src/ufo/filters/Variables.h:24
RejectObs.h
ufo
Definition:
RunCRTM.h:27
ufo::makerRejectObs_
static FilterActionMaker< RejectObs > makerRejectObs_("reject")
ufo::FilterActionMaker
Definition:
FilterActionBase.h:60
QCflags.h
ufo::RejectObs::RejectObs
RejectObs(const eckit::Configuration &)
Definition:
RejectObs.cc:22
ufo::Variable::variable
const std::string & variable() const
Definition:
Variable.cc:100
ioda::ObsDataVector< int >
ufo::Variables::variable
Variable variable(const size_t) const
Definition:
Variables.cc:114
ufo::RejectObs::conf_
const eckit::Configuration & conf_
Definition:
RejectObs.h:33
ObsFilterData.h
ufo::RejectObs::apply
void apply(const Variables &, const std::vector< std::vector< bool >> &, const ObsFilterData &, ioda::ObsDataVector< int > &, ioda::ObsDataVector< float > &) const override
compute the diagnostic
Definition:
RejectObs.cc:28
ufo::ObsFilterData
ObsFilterData provides access to all data related to an ObsFilter.
Definition:
src/ufo/filters/ObsFilterData.h:40
conf
Definition:
conf.py:1
fv3-bundle
ufo
src
ufo
filters
actions
RejectObs.cc
Generated on Sat Oct 24 2020 19:14:56 for UFO by
1.8.18