13 #include "ioda/ObsDataVector.h"
44 std::vector<float> lats;
46 for (
size_t jj = 0; jj <
nlocs; ++jj) {
48 if (
std::abs(lats[jj]) < params[0] ) {
49 out[0][jj] = params[1] *(
std::abs(lats[jj]) * params[2] + params[3]);
51 out[0][jj] = sqrt(1.0 / out[0][jj]);
ObsErrorFactorLatRad(const eckit::LocalConfiguration &)
void compute(const ObsFilterData &, ioda::ObsDataVector< float > &) const
compute the result of the function
ObsErrorFactorLatRadParameters options_
const ufo::Variables & requiredVariables() const
geovals required to compute the function
oops::RequiredParameter< std::vector< float > > latitudeParameters
ObsFilterData provides access to all data related to an ObsFilter.
size_t nlocs() const
Returns the number of locations in the associated ObsSpace.
void get(const Variable &varname, std::vector< float > &values) const
Fills a std::vector with values of the specified variable.
integer function nlocs(this)
Return the number of observational locations in this Locations object.
util::Duration abs(const util::Duration &duration)
static ObsFunctionMaker< ObsErrorFactorLatRad > makerObsErrorFactorLatRad_("ObsErrorFactorLatRad")