Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions src/opsinputs/CxWriter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
namespace opsinputs {

CxWriter::CxWriter(ioda::ObsSpace & obsdb, const Parameters_ & params,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors)
: obsdb_(obsdb), geovars_(), flags_(std::move(flags)), obsErrors_(std::move(obsErrors)),
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors)
: obsdb_(obsdb), geovars_(), extradiagvars_(), flags_(flags), obsErrors_(obsErrors),
parameters_(params)
{
oops::Log::trace() << "CxWriter constructor starting" << std::endl;
Expand Down Expand Up @@ -93,14 +93,14 @@ void CxWriter::postFilter(const ufo::GeoVaLs & gv,
for (const ufo::Variable &var : parameters_.variables_for_qc.value().get())
filtervars += var;
ioda::ObsDataVector<int> flags(obsdb_, filtervars.toOopsObsVariables());
for (int ivar = 0; ivar < flags.nvars(); ivar++) {
for (size_t ivar = 0; ivar < flags.nvars(); ivar++) {
const std::string varname = flags.varnames()[ivar];
flags[varname] = flags_->operator[](varname);
flags[varname] = flags_.operator[](varname);
}
opsinputs_cxwriter_post_f90(key_, obsdb_, gv.toFortran(), flags,
hofx.nvars(), hofx.nlocs(), hofx.varnames(), &hofx.toFortran());
} else {
opsinputs_cxwriter_post_f90(key_, obsdb_, gv.toFortran(), *flags_,
opsinputs_cxwriter_post_f90(key_, obsdb_, gv.toFortran(), flags_,
hofx.nvars(), hofx.nlocs(), hofx.varnames(), &hofx.toFortran());
}
}
Expand Down
8 changes: 4 additions & 4 deletions src/opsinputs/CxWriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ class CxWriter : public ufo::ObsFilterBase,
typedef CxWriterParameters Parameters_;

CxWriter(ioda::ObsSpace &, const Parameters_ &,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors);
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors);
~CxWriter();

void preProcess() override {}
Expand All @@ -78,8 +78,8 @@ class CxWriter : public ufo::ObsFilterBase,
ioda::ObsSpace & obsdb_;
oops::Variables geovars_;
oops::ObsVariables extradiagvars_;
std::shared_ptr<ioda::ObsDataVector<int>> flags_;
std::shared_ptr<ioda::ObsDataVector<float>> obsErrors_;
ioda::ObsDataVector<int> & flags_;
ioda::ObsDataVector<float> & obsErrors_;

CxWriterParameters parameters_;
};
Expand Down
16 changes: 8 additions & 8 deletions src/opsinputs/VarObsWriter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
namespace opsinputs {

VarObsWriter::VarObsWriter(ioda::ObsSpace & obsdb, const Parameters_ & params,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors)
: obsdb_(obsdb), geovars_(), extradiagvars_(), flags_(std::move(flags)),
obsErrors_(std::move(obsErrors)), parameters_(params)
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors)
: obsdb_(obsdb), geovars_(), extradiagvars_(), flags_(flags),
obsErrors_(obsErrors), parameters_(params)
{
oops::Log::trace() << "VarObsWriter constructor starting" << std::endl;

Expand Down Expand Up @@ -121,15 +121,15 @@ void VarObsWriter::postFilter(const ufo::GeoVaLs & gv,
for (const ufo::Variable &var : parameters_.variables_for_qc.value().get())
filtervars += var;
ioda::ObsDataVector<int> flags(obsdb_, filtervars.toOopsObsVariables());
for (int ivar = 0; ivar < flags.nvars(); ivar++) {
for (size_t ivar = 0; ivar < flags.nvars(); ivar++) {
std::string varname = flags.varnames()[ivar];
flags[varname] = flags_->operator[](varname);
flags[varname] = flags_.operator[](varname);
}
opsinputs_varobswriter_post_f90(key_, obsdb_, flags, *obsErrors_,
opsinputs_varobswriter_post_f90(key_, obsdb_, flags, obsErrors_,
hofx.nvars(), hofx.nlocs(), hofx.toFortran(),
obsdiags.toFortran());
} else {
opsinputs_varobswriter_post_f90(key_, obsdb_, *flags_, *obsErrors_,
opsinputs_varobswriter_post_f90(key_, obsdb_, flags_, obsErrors_,
hofx.nvars(), hofx.nlocs(), hofx.toFortran(),
obsdiags.toFortran());
}
Expand Down
8 changes: 4 additions & 4 deletions src/opsinputs/VarObsWriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ class VarObsWriter : public ufo::ObsFilterBase,
typedef VarObsWriterParameters Parameters_;

VarObsWriter(ioda::ObsSpace &, const Parameters_ &,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors);
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors);
~VarObsWriter();

void preProcess() override {}
Expand All @@ -87,8 +87,8 @@ class VarObsWriter : public ufo::ObsFilterBase,
ioda::ObsSpace & obsdb_;
oops::Variables geovars_;
oops::ObsVariables extradiagvars_;
std::shared_ptr<ioda::ObsDataVector<int>> flags_;
std::shared_ptr<ioda::ObsDataVector<float>> obsErrors_;
ioda::ObsDataVector<int> & flags_;
ioda::ObsDataVector<float> & obsErrors_;
std::vector<int> varchannels_;

VarObsWriterParameters parameters_;
Expand Down
6 changes: 3 additions & 3 deletions test/opsinputs/CxChecker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ struct CxChecker::PrintCxFileOutput {


CxChecker::CxChecker(ioda::ObsSpace & obsdb, const Parameters_ & params,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors)
: obsdb_(obsdb), geovars_(), flags_(std::move(flags)), obsErrors_(std::move(obsErrors)),
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors)
: obsdb_(obsdb), geovars_(), flags_(flags), obsErrors_(obsErrors),
parameters_(params)
{
oops::Log::trace() << "CxChecker constructor starting" << std::endl;
Expand Down
8 changes: 4 additions & 4 deletions test/opsinputs/CxChecker.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ class CxChecker : public ufo::ObsFilterBase,
typedef CxCheckerParameters Parameters_;

CxChecker(ioda::ObsSpace &, const Parameters_ &,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors);
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors);
~CxChecker();

void preProcess() override {}
Expand Down Expand Up @@ -96,8 +96,8 @@ class CxChecker : public ufo::ObsFilterBase,
ioda::ObsSpace & obsdb_;
oops::Variables geovars_;
oops::ObsVariables extradiagvars_;
std::shared_ptr<ioda::ObsDataVector<int>> flags_;
std::shared_ptr<ioda::ObsDataVector<float>> obsErrors_;
ioda::ObsDataVector<int> & flags_;
ioda::ObsDataVector<float> & obsErrors_;

CxCheckerParameters parameters_;
};
Expand Down
12 changes: 6 additions & 6 deletions test/opsinputs/ResetFlagsToPass.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ namespace opsinputs {
namespace test {

ResetFlagsToPass::ResetFlagsToPass(ioda::ObsSpace & obsdb, const Parameters_ & params,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > /*obsErrors*/)
: obsdb_(obsdb), geovars_(), flags_(std::move(flags)), parameters_(params)
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & /*obsErrors*/)
: obsdb_(obsdb), geovars_(), flags_(flags), parameters_(params)
{
oops::Log::trace() << "ResetFlagsToPass constructor starting" << std::endl;

Expand All @@ -36,9 +36,9 @@ void ResetFlagsToPass::postFilter(const ufo::GeoVaLs &,
const ioda::ObsVector &/*bias*/,
const ufo::ObsDiagnostics &) {
oops::Log::trace() << "ResetFlagsToPass postFilter" << std::endl;
for (size_t v = 0; v < flags_->nvars(); ++v) {
ioda::ObsDataRow<int> &varflags = (*flags_)[v];
for (size_t i = 0; i < flags_->nlocs(); ++i)
for (size_t v = 0; v < flags_.nvars(); ++v) {
ioda::ObsDataRow<int> &varflags = flags_[v];
for (size_t i = 0; i < flags_.nlocs(); ++i)
if (oops::contains(flagsToReset_, varflags[i]))
varflags[i] = ufo::QCflags::pass;
}
Expand Down
6 changes: 3 additions & 3 deletions test/opsinputs/ResetFlagsToPass.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ class ResetFlagsToPass : public ufo::ObsFilterBase,
typedef ResetFlagsToPassParameters Parameters_;

ResetFlagsToPass(ioda::ObsSpace &, const Parameters_ &,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors);
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors);
~ResetFlagsToPass();

void preProcess() override {}
Expand All @@ -71,7 +71,7 @@ class ResetFlagsToPass : public ufo::ObsFilterBase,
ioda::ObsSpace & obsdb_;
oops::Variables geovars_;
oops::ObsVariables extradiagvars_;
std::shared_ptr<ioda::ObsDataVector<int>> flags_;
ioda::ObsDataVector<int> & flags_;

ResetFlagsToPassParameters parameters_;

Expand Down
6 changes: 3 additions & 3 deletions test/opsinputs/VarObsChecker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ struct VarObsChecker::PrintVarObsOutput {


VarObsChecker::VarObsChecker(ioda::ObsSpace & obsdb, const Parameters_ & params,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors)
: obsdb_(obsdb), geovars_(), flags_(std::move(flags)), obsErrors_(std::move(obsErrors)),
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors)
: obsdb_(obsdb), geovars_(), flags_(flags), obsErrors_(obsErrors),
parameters_(params)
{
oops::Log::trace() << "VarObsChecker constructor starting" << std::endl;
Expand Down
8 changes: 4 additions & 4 deletions test/opsinputs/VarObsChecker.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ class VarObsChecker : public ufo::ObsFilterBase,
typedef VarObsCheckerParameters Parameters_;

VarObsChecker(ioda::ObsSpace &, const Parameters_ &,
std::shared_ptr<ioda::ObsDataVector<int> > flags,
std::shared_ptr<ioda::ObsDataVector<float> > obsErrors);
ioda::ObsDataVector<int> & flags,
ioda::ObsDataVector<float> & obsErrors);
~VarObsChecker();

void preProcess() override {}
Expand Down Expand Up @@ -89,8 +89,8 @@ class VarObsChecker : public ufo::ObsFilterBase,
ioda::ObsSpace & obsdb_;
oops::Variables geovars_;
oops::ObsVariables extradiagvars_;
std::shared_ptr<ioda::ObsDataVector<int>> flags_;
std::shared_ptr<ioda::ObsDataVector<float>> obsErrors_;
ioda::ObsDataVector<int> & flags_;
ioda::ObsDataVector<float> & obsErrors_;

VarObsCheckerParameters parameters_;
};
Expand Down
Loading