13 #include "oops/util/Logger.h"
15 #include "ioda/ObsVector.h"
18 #include "ufo/GeoVaLs.h"
19 #include "ufo/ObsDiagnostics.h"
32 std::vector<int> operatorVarIndices;
36 operatorVars_, operatorVarIndices.data(), operatorVarIndices.size(),
39 oops::Log::trace() <<
"ObsAtmSfcInterp created." << std::endl;
46 oops::Log::trace() <<
"ObsAtmSfcInterp destructed" << std::endl;
54 ovec.nvars(), ovec.nlocs(), ovec.toFortran());
55 oops::Log::trace() <<
"ObsAtmSfcInterp: observation operator executed" << std::endl;
61 os <<
"ObsAtmSfcInterp::print not implemented";
GeoVaLs: geophysical values at locations.
oops::Variables operatorVars_
const ioda::ObsSpace & odb_
virtual ~ObsAtmSfcInterp()
void print(std::ostream &) const override
ObsAtmSfcInterp(const ioda::ObsSpace &, const eckit::Configuration &)
void simulateObs(const GeoVaLs &, ioda::ObsVector &, ObsDiagnostics &) const override
Obs Operator.
F90hop keyOperAtmSfcInterp_
void ufo_atmsfcinterp_delete_f90(F90hop &)
void ufo_atmsfcinterp_simobs_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, const int &, double &)
void ufo_atmsfcinterp_setup_f90(F90hop &, const eckit::Configuration &, const oops::Variables &operatorVars, const int *operatorVarIndices, const int numOperatorVarIndices, oops::Variables &requiredVars)
Interface to Fortran UFO atmsfcinterp routines.
static ObsOperatorMaker< ObsAtmSfcInterp > makerGSISfcModel_("GSISfcModel")
void getOperatorVariables(const eckit::Configuration &conf, const oops::Variables &simulatedVariables, oops::Variables &operatorVariables, std::vector< int > &operatorVariableIndices)