JOSS publication figures creator#

This script will create the figures that are used in the JOSS publication of the Metob-toolkit.

[1]:
#!pip install MetObs-toolkit
%config InlineBackend.print_figure_kwargs = {'bbox_inches':None} #else the legend is cutoff in ipython inline plots
[2]:
import logging
import math
import os
import sys
import time
from pathlib import Path

import metobs_toolkit
print(f'Metobs_toolkit version: v{metobs_toolkit.__version__}')

import matplotlib.pyplot as plt
import pandas as pd

Metobs_toolkit version: v1.0.0

Creation of the Dataset#

[3]:
datadf = pd.read_csv(metobs_toolkit.demo_datafile, sep=';')
metadf = pd.read_csv(metobs_toolkit.demo_metadatafile, sep=',')

# Subset to regio ghent
ghent_stations = [ 'vlinder24', 'vlinder25', 'vlinder05', 'vlinder27',
                  'vlinder02', 'vlinder01', 'vlinder28']


datadf = datadf[datadf['Vlinder'].isin(ghent_stations)]
metadf = metadf[metadf['Vlinder'].isin(ghent_stations)]

# subset period
datadf['dummy_dt'] = datadf['Datum'] + datadf['Tijd (UTC)']
datadf['dummy_dt'] = pd.to_datetime(datadf['dummy_dt'], format='%Y-%m-%d%H:%M:%S')

#Subset to period
from datetime import datetime
startdt = datetime(2022, 9, 1)
enddt = datetime(2022, 9, 10)
datadf = datadf[(datadf['dummy_dt'] >= startdt) & (datadf['dummy_dt'] <= enddt)]
datadf = datadf.drop(columns=['dummy_dt'])

# Inducing outliers as demo
datadf = datadf.drop(index=datadf.iloc[180:200, :].index.tolist())

# save in paper folder
folder = os.path.abspath('')
datadf.to_csv(os.path.join(folder, 'datafile.csv'))
metadf.to_csv(os.path.join(folder, 'metadatafile.csv'))

#Importing raw data
dataset = metobs_toolkit.Dataset()

dataset.import_data_from_file(input_data_file=os.path.join(folder, 'datafile.csv'),
                        input_metadata_file=os.path.join(folder, 'metadatafile.csv'),
                        template_file=metobs_toolkit.demo_template)
Unnamed: 0 is present in the datafile, but not found in the template! This column will be ignored.
Luchtdruk is present in the datafile, but not found in the template! This column will be ignored.
Neerslagintensiteit is present in the datafile, but not found in the template! This column will be ignored.
Neerslagsom is present in the datafile, but not found in the template! This column will be ignored.
Rukwind is present in the datafile, but not found in the template! This column will be ignored.
Luchtdruk_Zeeniveau is present in the datafile, but not found in the template! This column will be ignored.
Globe Temperatuur is present in the datafile, but not found in the template! This column will be ignored.
The following columns are present in the data file, but not in the template! They are skipped!
 ['Luchtdruk_Zeeniveau', 'Neerslagsom', 'Luchtdruk', 'Rukwind', 'Globe Temperatuur', 'Neerslagintensiteit', 'Unnamed: 0']
The following columns are found in the metadata, but not in the template and are therefore ignored:
['Network', 'sponsor', 'stad', 'Unnamed: 0', 'benaming']

Timeseries for each station#

[4]:
#1. Coarsen resolution and apply quality control with non-defaults as demonstration
dataset.resample(target_freq='20min')

ax1 = dataset.make_plot(colorby='station', title='Temperature for all stations')

#translate axes
ax1.set_ylabel('T2m in °C')
plt.show()
The present gaps are removed, new gaps are constructed for wind_speed data of station vlinder01..
The present gaps are removed, new gaps are constructed for temp data of station vlinder01..
The present gaps are removed, new gaps are constructed for humidity data of station vlinder01..
The present gaps are removed, new gaps are constructed for wind_direction data of station vlinder01..
../_images/paper_paper_figures_6_2.png

Timeseries with quality control labels#

[5]:

#1. gross value check target = 'temp' dataset.gross_value_check( obstype=target, lower_threshold=10.7, upper_threshold=26.3) #2. persistence check dataset.persistence_check( obstype=target, timewindow='60min', min_records_per_window=3) #3. repetitions check dataset.repetitions_check( obstype=target, max_N_repetitions=5 ) #4. repetitions check dataset.step_check( obstype=target, max_increase_per_second = 5.0 / 3600.0, #depends on standard unit! max_decrease_per_second = -10.0 / 3600.0) #depends on standard unit! #5. window variation check dataset.window_variation_check( obstype=target, timewindow='60min', min_records_per_window=3, max_increase_per_second=8.0 / 3600.0, #depends on standard unit! max_decrease_per_second = -10.0 / 3600.0, #depends on standard unit! ) #6. buddy check dataset.buddy_check( obstype=target, #main check settings spatial_buddy_radius=15000, #15km defenition of buddy radius spatial_z_threshold=1.5, #outlier threshold #requirements min_sample_size=5, max_alt_diff=None, # Maximum elevation difference between stations N_iter=3, #Number of iterations instantaneous_tolerance='4min', #Max timestamp tolerance for 'at the same time' lapserate=None, #Specify the variation with altitude, if None no correction is applied min_std=1.0, # Minimum standart deviation )
/home/thoverga/.cache/pypoetry/virtualenvs/metobs-toolkit-o8p8H99O-py3.11/lib/python3.11/site-packages/numpy/_core/fromnumeric.py:57: FutureWarning: 'DataFrame.swapaxes' is deprecated and will be removed in a future version. Please use 'DataFrame.transpose' instead.
  return bound(*args, **kwds)
/home/thoverga/.cache/pypoetry/virtualenvs/metobs-toolkit-o8p8H99O-py3.11/lib/python3.11/site-packages/numpy/_core/fromnumeric.py:57: FutureWarning: 'DataFrame.swapaxes' is deprecated and will be removed in a future version. Please use 'DataFrame.transpose' instead.
  return bound(*args, **kwds)
/home/thoverga/.cache/pypoetry/virtualenvs/metobs-toolkit-o8p8H99O-py3.11/lib/python3.11/site-packages/numpy/_core/fromnumeric.py:57: FutureWarning: 'DataFrame.swapaxes' is deprecated and will be removed in a future version. Please use 'DataFrame.transpose' instead.
  return bound(*args, **kwds)
[6]:
#Specify plot settings
#change color from yellow to orange, for clarity.
metobs_toolkit.Settings.set('label_def.gross_value.plotkwargs.color', "#e59500")

# Create the plot
ax2 = dataset.make_plot(colorby='label')
#translate axes
ax2.set_title('Temperature for all stations')
ax2.set_ylabel('T2m in °C')

plt.show()
../_images/paper_paper_figures_9_1.png

Fill gaps and plot timeseries of Vlinder28#

[7]:
# 1. Convert the outliers to gaps
dataset.convert_outliers_to_gaps()

# 2. Extract ERA5 temperature timeseries at the location of the stations
era5_manager = metobs_toolkit.default_GEE_datasets['ERA5-land']
#Extract the timeseries
era5_temp = dataset.get_gee_timeseries_data(
            gee_dynamic_manager=era5_manager, #The datasetmanager to use
            obstypes=['temp'], #the observationtypes to extract, must be knonw modelobstypes
            get_all_bands=False, #If true, all bands are extracted (but not stored in the stations if the band is unknwown)
            force_direct_transfer=True,
            )

WARNING:<metobs_toolkit>:Outliers are flushed for wind_speed data of station vlinder01.!
WARNING:<metobs_toolkit>:Flushing current gaps for wind_speed data of station vlinder01.
WARNING:<metobs_toolkit>:Outliers are flushed for temp data of station vlinder01.!
WARNING:<metobs_toolkit>:Flushing current gaps for temp data of station vlinder01.
WARNING:<metobs_toolkit>:Outliers are flushed for humidity data of station vlinder01.!
WARNING:<metobs_toolkit>:Flushing current gaps for humidity data of station vlinder01.
WARNING:<metobs_toolkit>:Outliers are flushed for wind_direction data of station vlinder01.!
WARNING:<metobs_toolkit>:Flushing current gaps for wind_direction data of station vlinder01.
WARNING:<metobs_toolkit>:Outliers are flushed for wind_speed data of station vlinder02.!
WARNING:<metobs_toolkit>:Outliers are flushed for temp data of station vlinder02.!
WARNING:<metobs_toolkit>:Outliers are flushed for humidity data of station vlinder02.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_direction data of station vlinder02.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_speed data of station vlinder05.!
WARNING:<metobs_toolkit>:Outliers are flushed for temp data of station vlinder05.!
WARNING:<metobs_toolkit>:Outliers are flushed for humidity data of station vlinder05.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_direction data of station vlinder05.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_speed data of station vlinder24.!
WARNING:<metobs_toolkit>:Outliers are flushed for temp data of station vlinder24.!
WARNING:<metobs_toolkit>:Outliers are flushed for humidity data of station vlinder24.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_direction data of station vlinder24.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_speed data of station vlinder25.!
WARNING:<metobs_toolkit>:Outliers are flushed for temp data of station vlinder25.!
WARNING:<metobs_toolkit>:Outliers are flushed for humidity data of station vlinder25.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_direction data of station vlinder25.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_speed data of station vlinder27.!
WARNING:<metobs_toolkit>:Outliers are flushed for temp data of station vlinder27.!
WARNING:<metobs_toolkit>:Outliers are flushed for humidity data of station vlinder27.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_direction data of station vlinder27.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_speed data of station vlinder28.!
WARNING:<metobs_toolkit>:Outliers are flushed for temp data of station vlinder28.!
WARNING:<metobs_toolkit>:Outliers are flushed for humidity data of station vlinder28.!
WARNING:<metobs_toolkit>:Outliers are flushed for wind_direction data of station vlinder28.!
[8]:
# 3. Fill the gaps (For shorter gaps we use interpolation, and for longer gaps we use debiased ERA5 temperature).

dataset.interpolate_gaps(obstype='temp',
                         method='time',
                         max_gap_duration_to_fill=pd.Timedelta('6h'),
                         overwrite_fill=False,
)

# 4. Fill the gaps with ERA5 data
dataset.fill_gaps_with_debiased_modeldata(obstype='temp',
                                          leading_period_duration='24h',
                                          min_leading_records_total=3,
                                          trailing_period_duration='24h',
                                          min_trailing_records_total=3,
                                          overwrite_fill=False) #Do not overwrite the interpolated small gaps

# 4. Make plot (of single station for clearity)
ax3 = dataset.get_station('vlinder28').make_plot(colorby='label')

#translate axes
ax3.set_title('Temperature for vlinder28')
ax3.set_ylabel('T2m in °C')

plt.show()
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder01, obstype=temp, start=2022-09-02 11:40:00+00:00, end=2022-09-03 01:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 13:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder01, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder01, obstype=temp, start=2022-09-09 01:00:00+00:00, end=2022-09-09 08:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 07:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder02, obstype=temp, start=2022-09-02 12:20:00+00:00, end=2022-09-03 01:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 13:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder02, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder02, obstype=temp, start=2022-09-09 01:00:00+00:00, end=2022-09-09 08:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 07:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-01 00:00:00+00:00, end=2022-09-01 06:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 06:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-01 20:00:00+00:00, end=2022-09-02 06:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 10:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-02 15:40:00+00:00, end=2022-09-03 06:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 14:20:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-03 21:20:00+00:00, end=2022-09-05 05:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 07:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-05 20:00:00+00:00, end=2022-09-06 06:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 10:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-06 21:00:00+00:00, end=2022-09-07 06:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 09:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-07 07:00:00+00:00, end=2022-09-09 23:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 2 days 16:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder24, obstype=temp, start=2022-09-02 16:00:00+00:00, end=2022-09-03 01:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 09:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder24, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder24, obstype=temp, start=2022-09-09 00:20:00+00:00, end=2022-09-09 08:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 08:20:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder25, obstype=temp, start=2022-09-02 15:40:00+00:00, end=2022-09-03 01:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 09:20:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder25, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder25, obstype=temp, start=2022-09-09 01:00:00+00:00, end=2022-09-09 08:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 07:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder27, obstype=temp, start=2022-09-02 10:20:00+00:00, end=2022-09-03 01:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 15:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder27, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder27, obstype=temp, start=2022-09-09 01:00:00+00:00, end=2022-09-09 08:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 07:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder28, obstype=temp, start=2022-09-02 14:40:00+00:00, end=2022-09-03 01:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 10:40:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder28, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 13:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 06:20:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder28, obstype=temp, start=2022-09-09 00:40:00+00:00, end=2022-09-09 08:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 08:00:00 > 0 days 06:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-01 02:40:00+00:00, end=2022-09-01 02:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-01 15:00:00+00:00, end=2022-09-01 16:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-02 01:40:00+00:00, end=2022-09-02 01:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-02 02:20:00+00:00, end=2022-09-02 02:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-02 03:20:00+00:00, end=2022-09-02 03:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder01, obstype=temp, start=2022-09-02 11:40:00+00:00, end=2022-09-03 01:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 13:40:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-03 15:40:00+00:00, end=2022-09-03 17:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-03 18:00:00+00:00, end=2022-09-03 18:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-04 15:40:00+00:00, end=2022-09-04 17:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-04 21:40:00+00:00, end=2022-09-04 21:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-05 11:40:00+00:00, end=2022-09-05 16:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-05 18:20:00+00:00, end=2022-09-05 18:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-06 13:00:00+00:00, end=2022-09-06 13:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-06 22:00:00+00:00, end=2022-09-06 22:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder01, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-08 08:20:00+00:00, end=2022-09-08 13:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-08 14:20:00+00:00, end=2022-09-08 14:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-08 22:40:00+00:00, end=2022-09-08 23:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-09 00:00:00+00:00, end=2022-09-09 00:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
End of modeltimeseries is not compatible with the end of the gap (plus the trailing period size): 2022-09-10 00:00:00+00:00 >= (2022-09-09 08:40:00+00:00 + 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-09 09:20:00+00:00, end=2022-09-09 09:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder01, obstype=temp, start=2022-09-09 21:40:00+00:00, end=2022-09-09 23:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-01 20:40:00+00:00, end=2022-09-01 20:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder02, obstype=temp, start=2022-09-02 12:20:00+00:00, end=2022-09-03 01:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 13:00:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-03 03:00:00+00:00, end=2022-09-03 03:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-03 05:20:00+00:00, end=2022-09-03 05:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-03 15:00:00+00:00, end=2022-09-03 15:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-04 15:40:00+00:00, end=2022-09-04 17:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-05 11:20:00+00:00, end=2022-09-05 16:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-06 12:40:00+00:00, end=2022-09-06 13:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-06 23:00:00+00:00, end=2022-09-06 23:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-07 02:00:00+00:00, end=2022-09-07 02:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder02, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-08 08:20:00+00:00, end=2022-09-08 13:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-08 14:20:00+00:00, end=2022-09-08 14:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-08 20:20:00+00:00, end=2022-09-08 20:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
End of modeltimeseries is not compatible with the end of the gap (plus the trailing period size): 2022-09-10 00:00:00+00:00 >= (2022-09-09 08:40:00+00:00 + 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder02, obstype=temp, start=2022-09-09 22:00:00+00:00, end=2022-09-09 22:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
Start of modeltimeseries is not compatible with the start of the gap (minus the leading period size): 2022-09-01 00:00:00+00:00 <= (2022-09-01 00:00:00+00:00 - 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-01 08:00:00+00:00, end=2022-09-01 10:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-01 12:20:00+00:00, end=2022-09-01 12:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-01 14:00:00+00:00, end=2022-09-01 14:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-01 15:00:00+00:00, end=2022-09-01 15:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-01 16:20:00+00:00, end=2022-09-01 16:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-01 18:40:00+00:00, end=2022-09-01 19:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
Start of modeltimeseries is not compatible with the start of the gap (minus the leading period size): 2022-09-01 00:00:00+00:00 <= (2022-09-01 20:00:00+00:00 - 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-02 08:00:00+00:00, end=2022-09-02 10:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-02 11:00:00+00:00, end=2022-09-02 11:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-02 12:20:00+00:00, end=2022-09-02 13:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-02 14:20:00+00:00, end=2022-09-02 14:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-02 15:40:00+00:00, end=2022-09-03 06:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 14:20:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 06:40:00+00:00, end=2022-09-03 07:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 08:20:00+00:00, end=2022-09-03 08:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 09:20:00+00:00, end=2022-09-03 09:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 10:40:00+00:00, end=2022-09-03 12:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 14:20:00+00:00, end=2022-09-03 14:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 16:20:00+00:00, end=2022-09-03 16:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 17:20:00+00:00, end=2022-09-03 17:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-03 20:00:00+00:00, end=2022-09-03 20:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-03 21:20:00+00:00, end=2022-09-05 05:00:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 07:40:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-05 06:40:00+00:00, end=2022-09-05 07:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-05 08:00:00+00:00, end=2022-09-05 09:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-05 09:40:00+00:00, end=2022-09-05 10:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-05 11:00:00+00:00, end=2022-09-05 11:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-05 12:20:00+00:00, end=2022-09-05 17:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-05 17:40:00+00:00, end=2022-09-05 18:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-05 18:40:00+00:00, end=2022-09-05 18:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-06 07:40:00+00:00, end=2022-09-06 08:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-06 08:40:00+00:00, end=2022-09-06 10:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-06 13:00:00+00:00, end=2022-09-06 13:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-06 14:20:00+00:00, end=2022-09-06 14:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder05, obstype=temp, start=2022-09-06 19:40:00+00:00, end=2022-09-06 20:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-06 21:00:00+00:00, end=2022-09-07 06:00:00+00:00, status=failed gapfill) because no valid trailing period can be found.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder05, obstype=temp, start=2022-09-07 07:00:00+00:00, end=2022-09-09 23:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 2 days 16:40:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-02 08:00:00+00:00, end=2022-09-02 08:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-02 13:40:00+00:00, end=2022-09-02 13:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-03 01:40:00+00:00, end=2022-09-03 02:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-03 03:00:00+00:00, end=2022-09-03 03:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-03 04:00:00+00:00, end=2022-09-03 04:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-03 15:20:00+00:00, end=2022-09-03 15:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-03 23:20:00+00:00, end=2022-09-03 23:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-04 15:20:00+00:00, end=2022-09-04 15:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-05 13:00:00+00:00, end=2022-09-05 14:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-05 22:00:00+00:00, end=2022-09-05 22:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-05 23:00:00+00:00, end=2022-09-05 23:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-06 12:40:00+00:00, end=2022-09-06 13:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-07 01:20:00+00:00, end=2022-09-07 01:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-07 02:20:00+00:00, end=2022-09-07 03:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-07 04:00:00+00:00, end=2022-09-07 04:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder24, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-08 08:20:00+00:00, end=2022-09-08 13:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-08 14:20:00+00:00, end=2022-09-08 14:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
End of modeltimeseries is not compatible with the end of the gap (plus the trailing period size): 2022-09-10 00:00:00+00:00 >= (2022-09-09 08:40:00+00:00 + 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-09 09:20:00+00:00, end=2022-09-09 09:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-09 22:00:00+00:00, end=2022-09-09 22:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder24, obstype=temp, start=2022-09-09 23:40:00+00:00, end=2022-09-09 23:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-01 02:00:00+00:00, end=2022-09-01 02:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-01 14:40:00+00:00, end=2022-09-01 14:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-01 17:20:00+00:00, end=2022-09-01 17:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-02 14:20:00+00:00, end=2022-09-02 14:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-03 01:40:00+00:00, end=2022-09-03 01:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-03 22:20:00+00:00, end=2022-09-03 22:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-04 01:20:00+00:00, end=2022-09-04 01:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-05 01:00:00+00:00, end=2022-09-05 01:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-05 03:00:00+00:00, end=2022-09-05 03:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-05 05:00:00+00:00, end=2022-09-05 05:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-05 13:00:00+00:00, end=2022-09-05 16:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-05 17:40:00+00:00, end=2022-09-05 18:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-06 20:00:00+00:00, end=2022-09-06 20:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-06 21:00:00+00:00, end=2022-09-06 21:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-07 01:00:00+00:00, end=2022-09-07 01:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-07 02:40:00+00:00, end=2022-09-07 02:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-07 04:00:00+00:00, end=2022-09-07 04:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder25, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-08 08:20:00+00:00, end=2022-09-08 13:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-08 14:20:00+00:00, end=2022-09-08 14:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-08 20:20:00+00:00, end=2022-09-08 20:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
End of modeltimeseries is not compatible with the end of the gap (plus the trailing period size): 2022-09-10 00:00:00+00:00 >= (2022-09-09 08:40:00+00:00 + 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-09 18:20:00+00:00, end=2022-09-09 18:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder25, obstype=temp, start=2022-09-09 23:00:00+00:00, end=2022-09-09 23:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-01 11:00:00+00:00, end=2022-09-01 16:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-02 09:20:00+00:00, end=2022-09-02 09:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder27, obstype=temp, start=2022-09-02 10:20:00+00:00, end=2022-09-03 01:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 0 days 15:00:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-03 12:20:00+00:00, end=2022-09-03 12:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-03 13:20:00+00:00, end=2022-09-03 16:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-03 19:40:00+00:00, end=2022-09-03 19:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-04 04:00:00+00:00, end=2022-09-04 04:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-04 11:00:00+00:00, end=2022-09-04 11:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-04 11:40:00+00:00, end=2022-09-04 11:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-04 12:40:00+00:00, end=2022-09-04 17:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-05 09:40:00+00:00, end=2022-09-05 09:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-05 10:20:00+00:00, end=2022-09-05 10:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-05 11:00:00+00:00, end=2022-09-05 11:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-05 11:40:00+00:00, end=2022-09-05 17:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-06 11:40:00+00:00, end=2022-09-06 14:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-06 22:00:00+00:00, end=2022-09-06 22:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-07 02:20:00+00:00, end=2022-09-07 03:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-07 05:40:00+00:00, end=2022-09-07 05:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder27, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 07:20:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 00:00:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-08 08:20:00+00:00, end=2022-09-08 14:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-08 14:40:00+00:00, end=2022-09-08 15:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-08 18:00:00+00:00, end=2022-09-08 19:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-08 20:20:00+00:00, end=2022-09-08 20:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-08 23:40:00+00:00, end=2022-09-08 23:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
End of modeltimeseries is not compatible with the end of the gap (plus the trailing period size): 2022-09-10 00:00:00+00:00 >= (2022-09-09 08:40:00+00:00 + 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder27, obstype=temp, start=2022-09-09 23:00:00+00:00, end=2022-09-09 23:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-01 15:00:00+00:00, end=2022-09-01 15:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-02 01:40:00+00:00, end=2022-09-02 07:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-02 11:40:00+00:00, end=2022-09-02 11:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-02 12:20:00+00:00, end=2022-09-02 13:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-03 02:20:00+00:00, end=2022-09-03 02:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-03 16:40:00+00:00, end=2022-09-03 16:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-03 19:20:00+00:00, end=2022-09-03 19:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-04 03:40:00+00:00, end=2022-09-04 03:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-04 06:00:00+00:00, end=2022-09-04 07:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-04 21:20:00+00:00, end=2022-09-04 21:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-04 22:00:00+00:00, end=2022-09-04 22:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-04 23:00:00+00:00, end=2022-09-04 23:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-05 00:00:00+00:00, end=2022-09-05 00:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-05 01:20:00+00:00, end=2022-09-05 02:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-05 03:20:00+00:00, end=2022-09-05 04:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-05 05:20:00+00:00, end=2022-09-05 07:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-05 11:40:00+00:00, end=2022-09-05 16:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-05 18:20:00+00:00, end=2022-09-05 18:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-06 04:00:00+00:00, end=2022-09-06 05:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-06 06:20:00+00:00, end=2022-09-06 06:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-06 13:00:00+00:00, end=2022-09-06 13:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-07 03:00:00+00:00, end=2022-09-07 03:00:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Cannot fill Gap(station=vlinder28, obstype=temp, start=2022-09-07 07:20:00+00:00, end=2022-09-08 13:40:00+00:00, status=failed gapfill) because the gap is too large (gapsize: 1 days 06:20:00 > 0 days 12:00:00 : max_gapsize). Increase the max_gapsize or use another gapfill method.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-08 14:20:00+00:00, end=2022-09-08 14:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-08 20:40:00+00:00, end=2022-09-08 20:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Incompatible modeldata for debias_model_gapfill:
End of modeltimeseries is not compatible with the end of the gap (plus the trailing period size): 2022-09-10 00:00:00+00:00 >= (2022-09-09 08:40:00+00:00 + 1 days 00:00:00) == False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-09 09:20:00+00:00, end=2022-09-09 09:20:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
WARNING:<metobs_toolkit>:Gap(station=vlinder28, obstype=temp, start=2022-09-09 20:40:00+00:00, end=2022-09-09 20:40:00+00:00, status=successful gapfill) cannot be filled (because it has a fill status successful gapfill), and overwrite fill is False.
../_images/paper_paper_figures_12_2.png

Diurnal Analysis#

[9]:

# Get Meta data dataset.get_landcover_fractions(buffers=[50, 150, 500], aggregate=True) # Create analysis from the dataset ana = metobs_toolkit.Analysis(dataset) # Make diurnal cycle analysis with plot ax4 = ana.plot_diurnal_cycle(colorby='name', obstype='temp', title='Hourly average temperature diurnal cycle', legend=True, ) fig = plt.gcf() fig.set_dpi(200) fig.tight_layout() plt.show()
../_images/paper_paper_figures_14_1.png

Interactive spatial#

[10]:

geemanager_to_plot = metobs_toolkit.default_GEE_datasets['worldcover'] dataset.make_gee_plot(gee_manager=geemanager_to_plot)
[10]: