The resampling infrastructure is described in ResamplingAlgorithms (for its API). The goal of this page is to give an overview of the available resampling algorithms and their usage.
The resampling is specified for each parameter in the [Interpolations1D] section. This section contains a list of the various meteo parameters with their associated choice of resampling algorithm stacks and optional parameters. If a meteo parameter is not listed in this section, a linear resampling would be assumed. The Resampling is done by using a stack of resampling algorithms, with optional specifications of the maximum data gap that the respective algorithm should be used for. (The default for the maximum gap size is -999 = internal nodata value, meaning that the algorithm should be used for all gaps).
An example of such section is given below:
Most of the resampling algorithms allow you to define per-meteo parameter and per-algorithm the WINDOW_SIZE. Otherwise, the section's WINDOW_SIZE is used as default window size. This represents the biggest gap that can be interpolated (in seconds). Therefore if two valid points are less than WINDOW_SIZE seconds apart, points in between will be interpolated. If they are further apart, all points in between will remain IOUtils::nodata. If using the "extrapolate" optional argument, points at WINDOW_SIZE distance of only one valid point will be extrapolated, otherwise they will remain IOUtils::nodata. Please keep in mind that allowing extrapolated values can lead to grossly out of range data: using the slope between two hourly measurements to extrapolate a point 10 days ahead is obviously risky!
By default, WINDOW_SIZE is set to 2 days. This key has a potentially large impact on run time/performance.
Several algorithms for the resampling are implemented: