12 #include "ioda/ObsVector.h"
14 #include "oops/base/Variables.h"
15 #include "oops/util/Logger.h"
17 #include "ufo/GeoVaLs.h"
20 #include "ufo/ObsDiagnostics.h"
30 :
ObsOperatorBase(odb), keyOperGnssroRefMetOffice_(0), odb_(odb), varin_(),
31 parameters_(parameters)
35 const std::vector<std::string> vv{
"air_pressure_levels",
"specific_humidity",
36 "geopotential_height",
"geopotential_height_levels"};
37 varin_.reset(
new oops::Variables(vv));
44 oops::Log::trace() <<
"ObsGnssroRefMetOffice created." << std::endl;
51 oops::Log::trace() <<
"ObsGnssroRefMetOffice destructed" << std::endl;
59 ovec.size(), ovec.toFortran(), ydiags.
toFortran());
65 os <<
"ObsGnssroRefMetOffice: config = " <<
parameters_ << std::endl;
GeoVaLs: geophysical values at locations.
virtual ~ObsGnssroRefMetOffice()
const ioda::ObsSpace & odb_
void print(std::ostream &) const override
ObsGnssroRefMetOffice(const ioda::ObsSpace &, const Parameters_ &)
std::unique_ptr< const oops::Variables > varin_
F90hop keyOperGnssroRefMetOffice_
void simulateObs(const GeoVaLs &, ioda::ObsVector &, ObsDiagnostics &) const override
Obs Operator.
Configuration options recognized by the refractivity operator.
oops::Parameter< float > minTempGrad
oops::Parameter< bool > pseudoLevels
Whether to use pseudo-levels in the calculation.
oops::Parameter< bool > vertInterpOPS
Configuration options recognized by the refractivity operator.
oops::Parameter< ObsGnssroRefMetOfficeOptions > obsOptions
Obs Options - settings for the observation operator.
void ufo_gnssro_refmetoffice_simobs_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, double &, const F90goms &)
void ufo_gnssro_refmetoffice_setup_f90(F90hop &, const bool &, const bool &, const float &)
Interface to Fortran UFO routines.
static ObsOperatorMaker< ObsGnssroRefMetOffice > makerGnssroRefMetOffice_("GnssroRefMetOffice")
void ufo_gnssro_refmetoffice_delete_f90(F90hop &)