diff --git a/src/opsinputs/CxWriter.cc b/src/opsinputs/CxWriter.cc index 1ca7058a..e72a54a0 100644 --- a/src/opsinputs/CxWriter.cc +++ b/src/opsinputs/CxWriter.cc @@ -24,9 +24,9 @@ namespace opsinputs { CxWriter::CxWriter(ioda::ObsSpace & obsdb, const Parameters_ & params, - std::shared_ptr > flags, - std::shared_ptr > obsErrors) - : obsdb_(obsdb), geovars_(), flags_(std::move(flags)), obsErrors_(std::move(obsErrors)), + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors) + : obsdb_(obsdb), geovars_(), extradiagvars_(), flags_(flags), obsErrors_(obsErrors), parameters_(params) { oops::Log::trace() << "CxWriter constructor starting" << std::endl; @@ -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 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()); } } diff --git a/src/opsinputs/CxWriter.h b/src/opsinputs/CxWriter.h index 17e65ffd..7843a1cd 100644 --- a/src/opsinputs/CxWriter.h +++ b/src/opsinputs/CxWriter.h @@ -51,8 +51,8 @@ class CxWriter : public ufo::ObsFilterBase, typedef CxWriterParameters Parameters_; CxWriter(ioda::ObsSpace &, const Parameters_ &, - std::shared_ptr > flags, - std::shared_ptr > obsErrors); + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors); ~CxWriter(); void preProcess() override {} @@ -78,8 +78,8 @@ class CxWriter : public ufo::ObsFilterBase, ioda::ObsSpace & obsdb_; oops::Variables geovars_; oops::ObsVariables extradiagvars_; - std::shared_ptr> flags_; - std::shared_ptr> obsErrors_; + ioda::ObsDataVector & flags_; + ioda::ObsDataVector & obsErrors_; CxWriterParameters parameters_; }; diff --git a/src/opsinputs/VarObsWriter.cc b/src/opsinputs/VarObsWriter.cc index d254f145..63853deb 100644 --- a/src/opsinputs/VarObsWriter.cc +++ b/src/opsinputs/VarObsWriter.cc @@ -29,10 +29,10 @@ namespace opsinputs { VarObsWriter::VarObsWriter(ioda::ObsSpace & obsdb, const Parameters_ & params, - std::shared_ptr > flags, - std::shared_ptr > obsErrors) - : obsdb_(obsdb), geovars_(), extradiagvars_(), flags_(std::move(flags)), - obsErrors_(std::move(obsErrors)), parameters_(params) + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors) + : obsdb_(obsdb), geovars_(), extradiagvars_(), flags_(flags), + obsErrors_(obsErrors), parameters_(params) { oops::Log::trace() << "VarObsWriter constructor starting" << std::endl; @@ -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 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()); } diff --git a/src/opsinputs/VarObsWriter.h b/src/opsinputs/VarObsWriter.h index 4a76bfff..33fc8a85 100644 --- a/src/opsinputs/VarObsWriter.h +++ b/src/opsinputs/VarObsWriter.h @@ -60,8 +60,8 @@ class VarObsWriter : public ufo::ObsFilterBase, typedef VarObsWriterParameters Parameters_; VarObsWriter(ioda::ObsSpace &, const Parameters_ &, - std::shared_ptr > flags, - std::shared_ptr > obsErrors); + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors); ~VarObsWriter(); void preProcess() override {} @@ -87,8 +87,8 @@ class VarObsWriter : public ufo::ObsFilterBase, ioda::ObsSpace & obsdb_; oops::Variables geovars_; oops::ObsVariables extradiagvars_; - std::shared_ptr> flags_; - std::shared_ptr> obsErrors_; + ioda::ObsDataVector & flags_; + ioda::ObsDataVector & obsErrors_; std::vector varchannels_; VarObsWriterParameters parameters_; diff --git a/test/opsinputs/CxChecker.cc b/test/opsinputs/CxChecker.cc index 17d93927..e83354ca 100644 --- a/test/opsinputs/CxChecker.cc +++ b/test/opsinputs/CxChecker.cc @@ -53,9 +53,9 @@ struct CxChecker::PrintCxFileOutput { CxChecker::CxChecker(ioda::ObsSpace & obsdb, const Parameters_ & params, - std::shared_ptr > flags, - std::shared_ptr > obsErrors) - : obsdb_(obsdb), geovars_(), flags_(std::move(flags)), obsErrors_(std::move(obsErrors)), + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors) + : obsdb_(obsdb), geovars_(), flags_(flags), obsErrors_(obsErrors), parameters_(params) { oops::Log::trace() << "CxChecker constructor starting" << std::endl; diff --git a/test/opsinputs/CxChecker.h b/test/opsinputs/CxChecker.h index ea103d28..c3dcfb1e 100644 --- a/test/opsinputs/CxChecker.h +++ b/test/opsinputs/CxChecker.h @@ -58,8 +58,8 @@ class CxChecker : public ufo::ObsFilterBase, typedef CxCheckerParameters Parameters_; CxChecker(ioda::ObsSpace &, const Parameters_ &, - std::shared_ptr > flags, - std::shared_ptr > obsErrors); + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors); ~CxChecker(); void preProcess() override {} @@ -96,8 +96,8 @@ class CxChecker : public ufo::ObsFilterBase, ioda::ObsSpace & obsdb_; oops::Variables geovars_; oops::ObsVariables extradiagvars_; - std::shared_ptr> flags_; - std::shared_ptr> obsErrors_; + ioda::ObsDataVector & flags_; + ioda::ObsDataVector & obsErrors_; CxCheckerParameters parameters_; }; diff --git a/test/opsinputs/ResetFlagsToPass.cc b/test/opsinputs/ResetFlagsToPass.cc index e4da069c..2efe194f 100644 --- a/test/opsinputs/ResetFlagsToPass.cc +++ b/test/opsinputs/ResetFlagsToPass.cc @@ -17,9 +17,9 @@ namespace opsinputs { namespace test { ResetFlagsToPass::ResetFlagsToPass(ioda::ObsSpace & obsdb, const Parameters_ & params, - std::shared_ptr > flags, - std::shared_ptr > /*obsErrors*/) - : obsdb_(obsdb), geovars_(), flags_(std::move(flags)), parameters_(params) + ioda::ObsDataVector & flags, + ioda::ObsDataVector & /*obsErrors*/) + : obsdb_(obsdb), geovars_(), flags_(flags), parameters_(params) { oops::Log::trace() << "ResetFlagsToPass constructor starting" << std::endl; @@ -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 &varflags = (*flags_)[v]; - for (size_t i = 0; i < flags_->nlocs(); ++i) + for (size_t v = 0; v < flags_.nvars(); ++v) { + ioda::ObsDataRow &varflags = flags_[v]; + for (size_t i = 0; i < flags_.nlocs(); ++i) if (oops::contains(flagsToReset_, varflags[i])) varflags[i] = ufo::QCflags::pass; } diff --git a/test/opsinputs/ResetFlagsToPass.h b/test/opsinputs/ResetFlagsToPass.h index d728073e..71ea3a56 100644 --- a/test/opsinputs/ResetFlagsToPass.h +++ b/test/opsinputs/ResetFlagsToPass.h @@ -50,8 +50,8 @@ class ResetFlagsToPass : public ufo::ObsFilterBase, typedef ResetFlagsToPassParameters Parameters_; ResetFlagsToPass(ioda::ObsSpace &, const Parameters_ &, - std::shared_ptr > flags, - std::shared_ptr > obsErrors); + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors); ~ResetFlagsToPass(); void preProcess() override {} @@ -71,7 +71,7 @@ class ResetFlagsToPass : public ufo::ObsFilterBase, ioda::ObsSpace & obsdb_; oops::Variables geovars_; oops::ObsVariables extradiagvars_; - std::shared_ptr> flags_; + ioda::ObsDataVector & flags_; ResetFlagsToPassParameters parameters_; diff --git a/test/opsinputs/VarObsChecker.cc b/test/opsinputs/VarObsChecker.cc index a0820c4a..fd86d2d2 100644 --- a/test/opsinputs/VarObsChecker.cc +++ b/test/opsinputs/VarObsChecker.cc @@ -75,9 +75,9 @@ struct VarObsChecker::PrintVarObsOutput { VarObsChecker::VarObsChecker(ioda::ObsSpace & obsdb, const Parameters_ & params, - std::shared_ptr > flags, - std::shared_ptr > obsErrors) - : obsdb_(obsdb), geovars_(), flags_(std::move(flags)), obsErrors_(std::move(obsErrors)), + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors) + : obsdb_(obsdb), geovars_(), flags_(flags), obsErrors_(obsErrors), parameters_(params) { oops::Log::trace() << "VarObsChecker constructor starting" << std::endl; diff --git a/test/opsinputs/VarObsChecker.h b/test/opsinputs/VarObsChecker.h index 8757c4ff..bd29ace9 100644 --- a/test/opsinputs/VarObsChecker.h +++ b/test/opsinputs/VarObsChecker.h @@ -57,8 +57,8 @@ class VarObsChecker : public ufo::ObsFilterBase, typedef VarObsCheckerParameters Parameters_; VarObsChecker(ioda::ObsSpace &, const Parameters_ &, - std::shared_ptr > flags, - std::shared_ptr > obsErrors); + ioda::ObsDataVector & flags, + ioda::ObsDataVector & obsErrors); ~VarObsChecker(); void preProcess() override {} @@ -89,8 +89,8 @@ class VarObsChecker : public ufo::ObsFilterBase, ioda::ObsSpace & obsdb_; oops::Variables geovars_; oops::ObsVariables extradiagvars_; - std::shared_ptr> flags_; - std::shared_ptr> obsErrors_; + ioda::ObsDataVector & flags_; + ioda::ObsDataVector & obsErrors_; VarObsCheckerParameters parameters_; };