19#ifndef METEO1DINTERPOLATOR_H
20#define METEO1DINTERPOLATOR_H
90 void addAlgorithm(std::shared_ptr<ResamplingAlgorithms> algo,
const double& max_gap_size);
91 std::vector<std::shared_ptr<ResamplingAlgorithms>>
buildStack(
const ResamplingAlgorithms::gap_info& gap)
const;
99 std::vector<double> max_gap_sizes;
100 std::vector<std::shared_ptr<ResamplingAlgorithms>> stack;
144 std::vector< std::pair<std::string, std::string> > getArgumentsForAlgorithm(
const std::string& parname,
const std::string& algorithm)
const;
145 std::string getAlgorithmsForParameter(
const std::string& parname)
const;
147 void processAlgorithms(
const std::string& parname,
const std::vector<std::pair<int, std::string>>& vecAlgos, std::string base_parname=
"",
const IOUtils::OperationMode& mode=
IOUtils::STD,
const char& rank=1);
150 void addAlgorithmToStack(
const std::string& parname,
const std::string& algo_name ,
const std::vector<std::pair<std::string, std::string>>& vecArgs,
const double& i_max_gap_size);
151 void createDefaultAlgorithm(
const std::string &parname);
153 std::map< std::string, ResamplingStack > mapAlgorithms;
156 bool enable_resampling, data_qa_logs;
157 std::string gap_size_key;
A class that reads a key/value file. These files (typically named *.ini) follow the INI file format s...
Definition: Config.h:79
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:87
A class that can resample MeteoData objects.
Definition: Meteo1DInterpolator.h:103
static const std::string interpol_section
Definition: Meteo1DInterpolator.h:160
Meteo1DInterpolator(const Meteo1DInterpolator &org)=default
static const std::string arg_pattern
Definition: Meteo1DInterpolator.h:162
void getWindowSize(ProcessingProperties &o_properties) const
Definition: Meteo1DInterpolator.cc:189
static const std::string interpol_pattern
Definition: Meteo1DInterpolator.h:161
bool resampleData(const Date &date, const std::string &stationHash, const std::vector< MeteoData > &vecM, MeteoData &md)
A function that executes all the resampling algorithms that have been setup in the constructor.
Definition: Meteo1DInterpolator.cc:197
Meteo1DInterpolator & operator=(const Meteo1DInterpolator &)
Assignement operator.
Definition: Meteo1DInterpolator.cc:292
void resetResampling()
Call each ResamplingAlgorithms to reset its cached data (as might be needed after a rebuffer)
Definition: Meteo1DInterpolator.cc:277
Meteo1DInterpolator(const Config &in_cfg, const char &rank=1, const IOUtils::OperationMode &mode=IOUtils::STD)
The default constructor Set up the interpolation algorithm for each parameter Init tasklist: a vector...
Definition: Meteo1DInterpolator.cc:62
const std::string toString() const
Definition: Meteo1DInterpolator.cc:303
A class to represent a singular measurement received from one station at a certain time (represented ...
Definition: MeteoData.h:108
Definition: ProcessingBlock.h:36
ResamplingPosition
Definition: ResamplingAlgorithms.h:46
Definition: Meteo1DInterpolator.h:86
std::string getStackStr() const
Definition: Meteo1DInterpolator.cc:369
ResamplingStack()
Definition: Meteo1DInterpolator.cc:324
void resample(const std::string &stationHash, const size_t &index, const ResamplingAlgorithms::ResamplingPosition elementpos, const size_t &ii, const std::vector< MeteoData > &vecM, MeteoData &md, const double &max_gap_size) const
Definition: Meteo1DInterpolator.cc:351
std::vector< std::shared_ptr< ResamplingAlgorithms > > buildStack(const ResamplingAlgorithms::gap_info &gap) const
Definition: Meteo1DInterpolator.cc:331
bool empty() const
Definition: Meteo1DInterpolator.cc:367
void resetResampling()
Definition: Meteo1DInterpolator.cc:344
void addAlgorithm(std::shared_ptr< ResamplingAlgorithms > algo, const double &max_gap_size)
Definition: Meteo1DInterpolator.cc:326
OperationMode
Keywords for mode of operation. Please keep all the GRID_xxx last!
Definition: IOUtils.h:63
@ STD
default: extract timeseries from timeseries or grids from grids or spatially interpolate timeseries
Definition: IOUtils.h:64