16 #include "ioda/ObsVector.h"
18 #include "oops/base/Variables.h"
19 #include "oops/util/IntSetParser.h"
21 #include "ufo/GeoVaLs.h"
22 #include "ufo/ObsBias.h"
23 #include "ufo/ObsDiagnostics.h"
33 const eckit::Configuration & config)
38 const oops::Variables & observed = odb.obsvariables();
39 std::vector<int> channels_list = observed.channels();
43 channels_list.size(), channels_list[0],
varin_);
45 oops::Log::info() <<
"ObsRadianceCRTM channels: " << channels_list << std::endl;
46 oops::Log::trace() <<
"ObsRadianceCRTM created." << std::endl;
53 oops::Log::trace() <<
"ObsRadianceCRTM destructed" << std::endl;
61 ovec.nvars(), ovec.nlocs(), ovec.toFortran(),
63 oops::Log::trace() <<
"ObsRadianceCRTM simulateObs done." << std::endl;
69 os <<
"ObsRadianceCRTM::print not implemented";
GeoVaLs: geophysical values at locations.
ObsRadianceCRTM(const ioda::ObsSpace &, const eckit::Configuration &)
void simulateObs(const GeoVaLs &, ioda::ObsVector &, ObsDiagnostics &) const override
Obs Operator.
virtual ~ObsRadianceCRTM()
F90hop keyOperRadianceCRTM_
const ioda::ObsSpace & odb_
void print(std::ostream &) const override
void ufo_radiancecrtm_setup_f90(F90hop &, const eckit::Configuration &, const int &, const int &, oops::Variables &)
Interface to Fortran UFO routines.
void ufo_radiancecrtm_delete_f90(F90hop &)
void ufo_radiancecrtm_simobs_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, const int &, double &, const F90goms &)
static ObsOperatorMaker< ObsRadianceCRTM > makerCRTM_("CRTM")