Estimate the weighting applied at each time step and to each gauged catchment (donors) for the calculation of the average net rainfall of an ungauged catchment
Rn: net rainfall matrix of donor catchments (rows for time index, and columns for donors index)
distances: vector of the distances to each donor catchment, used for donor selection (see hdist )
similarities: vector of the hydrological similarities to each donor catchment, used for donor weighting (1/distances^power is used if not provided)
ndonors: maximum number of donor catchments to use
donors: vector of catchments id from which donors are selected. If empty, the ndonors closest catchments are used
power: exponent applied in the inverse distance weighting function (see details)
flexible_donor: boolean indicating if the donor catchments can change during the simulation period according to the availability of discharge observations (see details)
Returns
A matrix with the same dimensions as Rn.
Details
This function returns a matrix of weights for each time steps (rows) and each gauged catchments (columns) for the calculation of the average net rainfall of an ungauged catchment (see mixr ). The weights λ are estimated by an inverse distance weighting function \insertCite deLavenne2016transfR:
λi=dip1Σi=1ndonorsλi=1
where d is the distances argument and p is the power argument. The weights are rescaled so the sum is equal to 1.
Two strategies to handle missing data in the Rn matrix are possible. If flexible_donor is TRUE, donors catchments are redefined at each time steps, and are chosen among the ones that are effectively gauged at this given time step. This aims to keep a constant number of donor catchments throughout the simulation period. If flexible_donor is FALSE, the donor catchments are chosen once within all the gauged catchments, regardless of missing data and remain the same throughout the entire simulation period. This stability of donor catchments might however leads to a reduced number of donors (below ndonors) during periods of missing data.