metobs_toolkit.dataset.Dataset.fill_gaps_with_diurnal_debiased_modeldata#

Dataset.fill_gaps_with_diurnal_debiased_modeldata(target_obstype: str, leading_period_duration: str | Timedelta = Timedelta('1 days 00:00:00'), trailing_period_duration: str | Timedelta = Timedelta('1 days 00:00:00'), min_debias_sample_size: int = 6, overwrite_fill: bool = False) None[source]#

Fill the gaps using model data corrected for the diurnal bias.

This method fills the gap using model data corrected for its diurnal bias. The diurnal bias is a bias that is estimated for each timestamp in the leading and trailing period. All biases are averaged over hour, minute and second, to obtain a diurnal bias (for each timestamp).

Parameters:
  • target_obstype (str) – The target obstype to fill the gaps for.

  • leading_period_duration (str or pd.Timedelta, optional) – The duration of the leading period. That is the period before the gap, used for bias estimation. The default is “24h”.

  • trailing_period_duration (str or pd.Timedelta, optional) – The duration of the trailing period. That is the period after the gap, used for bias estimation. The default is “24h”.

  • min_debias_sample_size (int, optional) – The minimum number of samples required for bias estimation. The default is 6.

  • overwrite_fill (bool, optional) – If True, the status of a gap and present gapfill info will be ignored and overwritten. If False, only gaps without gapfill data are filled. The default is False.

Return type:

None

Notes

A schematic description of the diurnal debiased model data gap fill:

  1. Check if the target_obstype is known, and if the corresponding model data is present.

  2. Iterate over the gaps of the target_obstype.

  3. Check the compatibility of the ModelTimeSeries with the gap.

  4. Construct a leading and trailing sample, and test if they meet the required conditions. The required conditions are tested by testing the sample sizes per hour, minute and second for the leading + trailing periods.

  5. A diurnal bias is computed by grouping to hour, minute and second, and averaging the biases.

  6. Fill the gap records by using raw (interpolated) model data that is corrected by subtracting the corresponding diurnal bias.

  7. Update the gap attributes with the interpolated values, labels, and details.

Notes

Note that a suitable min_debias_sample_size depends on the sizes of the leading- and trailing periods, and also on the time resolution gap (=time resolution of the corresponding SensorData).

References

Jacobs A, et. al. (2024) Filling gaps in urban temperature observations by debiasing ERA5 reanalysis data