From 6137a634d4b6bc14be4861d109da7c3b6fead2e8 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 3 Jul 2023 12:51:26 +0200 Subject: [PATCH] build_electricity_demand: make data source snapshot dependent --- rules/retrieve.smk | 4 +++- scripts/build_electricity_demand.py | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/rules/retrieve.smk b/rules/retrieve.smk index 9f08b53c..cee9d49b 100644 --- a/rules/retrieve.smk +++ b/rules/retrieve.smk @@ -141,9 +141,11 @@ if config["sector"]["gas_network"] or config["sector"]["H2_retrofit"]: rule retrieve_electricity_demand: + params: + version="2019-06-05" if config["snapshots"]["end"] < "2019" else "latest", input: HTTP.remote( - "data.open-power-system-data.org/time_series/latest/time_series_60min_singleindex.csv", + "data.open-power-system-data.org/time_series/{params.version}/time_series_60min_singleindex.csv", keep_local=True, static=True, ), diff --git a/scripts/build_electricity_demand.py b/scripts/build_electricity_demand.py index f3787736..38c75544 100755 --- a/scripts/build_electricity_demand.py +++ b/scripts/build_electricity_demand.py @@ -80,11 +80,9 @@ def load_timeseries(fn, years, countries, powerstatistics=True): def rename(s): return s[: -len(pattern)] - def date_parser(x): - return dateutil.parser.parse(x, ignoretz=True) - return ( - pd.read_csv(fn, index_col=0, parse_dates=[0], date_parser=date_parser) + pd.read_csv(fn, index_col=0, parse_dates=[0]) + .tz_localize(None) .filter(like=pattern) .rename(columns=rename) .dropna(how="all", axis=0) @@ -303,6 +301,9 @@ if __name__ == "__main__": if snakemake.params.load["manual_adjustments"]: load = manual_adjustment(load, snakemake.input[0], powerstatistics) + if load.empty: + logger.warning("Build electricity demand time series is empty.") + logger.info(f"Linearly interpolate gaps of size {interpolate_limit} and less.") load = load.interpolate(method="linear", limit=interpolate_limit)