14 #include "ioda/ObsVector.h"
16 #include "oops/base/Variables.h"
18 #include "ufo/GeoVaLs.h"
19 #include "ufo/ObsDiagnostics.h"
28 const eckit::Configuration & config)
31 std::vector<std::string> vvin{
"sea_ice_category_area_fraction",
32 "sea_ice_category_thickness"};
33 if (odb.obsvariables().has(
"sea_ice_freeboard")) {
34 vvin.push_back(
"sea_ice_category_snow_thickness");
36 varin_.reset(
new oops::Variables(vvin));
38 oops::Log::trace() <<
"ObsSeaIceThickness created." << std::endl;
45 oops::Log::trace() <<
"ObsSeaIceThickness destructed" << std::endl;
53 oops::Log::trace() <<
"ObsSeaIceThickness: observation operator run" << std::endl;
59 os <<
"ObsSeaIceThickness::print not implemented";
GeoVaLs: geophysical values at locations.
const ioda::ObsSpace & odb_
ObsSeaIceThickness(const ioda::ObsSpace &, const eckit::Configuration &)
void print(std::ostream &) const override
virtual ~ObsSeaIceThickness()
void simulateObs(const GeoVaLs &, ioda::ObsVector &, ObsDiagnostics &) const override
Obs Operator.
std::unique_ptr< const oops::Variables > varin_
void ufo_seaicethickness_setup_f90(F90hop &, const eckit::Configuration &, const oops::Variables &)
Interface to Fortran UFO marine/seaicethickness routines.
static ObsOperatorMaker< ObsSeaIceThickness > makerSeaIceThickness_("SeaIceThickness")
void ufo_seaicethickness_delete_f90(F90hop &)
void ufo_seaicethickness_simobs_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, double &)