12 #include "ioda/ObsVector.h"
14 #include "oops/base/Variables.h"
15 #include "oops/util/DateTime.h"
16 #include "oops/util/Duration.h"
17 #include "oops/util/Logger.h"
20 #include "ufo/GeoVaLs.h"
21 #include "ufo/Locations.h"
22 #include "ufo/ObsDiagnostics.h"
32 odb_(odb), parameters_(parameters)
34 oops::Log::trace() <<
"ObsBackgroundErrorVertInterp constructor entered" << std::endl;
39 const oops::Variables &obsvars = odb.obsvariables();
40 for (
size_t ivar = 0; ivar < obsvars.size(); ++ivar)
43 oops::Log::trace() <<
"ObsBackgroundErrorVertInterp created" << std::endl;
47 oops::Log::trace() <<
"ObsBackgroundErrorVertInterp destructed" << std::endl;
52 oops::Log::trace() <<
"ObsBackgroundErrorVertInterp: simulateObs entered" << std::endl;
57 oops::Variables variables;
60 variables += variable.toOopsVariables();
62 variables =
odb_.obsvariables();
65 obsVerticalCoordinate.c_str(),
66 verticalCoordinate.size(),
67 verticalCoordinate.c_str(),
72 oops::Log::trace() <<
"ObsBackgroundErrorVertInterp: simulateObs exit" << std::endl;
81 return oops::Variables();
85 os <<
"ObsBackgroundErrorVertInterp: config = " <<
parameters_ << std::endl;
GeoVaLs: geophysical values at locations.
oops::Variables requiredVars_
const ioda::ObsSpace & odb_
void print(std::ostream &) const override
const oops::Variables & requiredVars() const override
Operator input required from Model.
oops::Variables simulatedVars() const override
List of variables simulated by this operator.
void simulateObs(const GeoVaLs &, ioda::ObsVector &, ObsDiagnostics &) const override
Obs Operator.
ObsBackgroundErrorVertInterp(const ioda::ObsSpace &, const Parameters_ &)
virtual ~ObsBackgroundErrorVertInterp()
Options controlling the ObsBackgroundErrorVertInterp observation operator.
oops::RequiredParameter< std::string > verticalCoordinate
Name of the GeoVaL storing the interpolation levels of background errors.
oops::RequiredParameter< std::string > observationVerticalCoordinate
oops::OptionalParameter< std::vector< Variable > > variables
static ObsOperatorMaker< ObsBackgroundErrorIdentity > maker("BackgroundErrorIdentity")
void ufo_backgrounderrorvertinterp_fillobsdiags_f90(const int &len_obs_vcoord, const char *obs_vcoord, const int &len_vcoord, const char *vcoord, const F90goms &geovals, const ioda::ObsSpace &obsspace, const int &nlocs, const oops::Variables &obsvars, const F90goms &obsdiags)