13 #include "ioda/ObsSpace.h"
15 #include "oops/util/abor1_cpp.h"
16 #include "oops/util/Logger.h"
28 order_(parameters.order.value().value_or(1)),
29 var_name_(parameters.varName) {
30 if (parameters.
order.value() != boost::none) {
41 ioda::ObsVector & out)
const {
42 const size_t nlocs = out.nlocs();
43 const size_t nvars = out.nvars();
46 std::vector<float> view_angle(
nlocs, 0.0);
47 odb.get_db(
"MetaData",
var_name_, view_angle);
49 for (std::size_t jloc = 0; jloc <
nlocs; ++jloc) {
50 for (std::size_t jvar = 0; jvar < nvars; ++jvar) {
GeoVaLs: geophysical values at locations.
std::string & name()
predictor name
ScanAngle(const Parameters_ &, const oops::Variables &)
void compute(const ioda::ObsSpace &, const GeoVaLs &, const ObsDiagnostics &, ioda::ObsVector &) const override
compute the predictor
Configuration parameters of the ScanAngle predictor.
oops::OptionalParameter< int > order
integer function nlocs(this)
Return the number of observational locations in this Locations object.
static PredictorMaker< ScanAngle > makerFuncScanAngle_("scan_angle")
static constexpr double deg2rad