build_electricity_demand: make data source snapshot dependent

This commit is contained in:
Fabian 2023-07-03 12:51:26 +02:00
parent 6004e04354
commit 6137a634d4
2 changed files with 8 additions and 5 deletions

View File

@ -141,9 +141,11 @@ if config["sector"]["gas_network"] or config["sector"]["H2_retrofit"]:
rule retrieve_electricity_demand: rule retrieve_electricity_demand:
params:
version="2019-06-05" if config["snapshots"]["end"] < "2019" else "latest",
input: input:
HTTP.remote( 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, keep_local=True,
static=True, static=True,
), ),

View File

@ -80,11 +80,9 @@ def load_timeseries(fn, years, countries, powerstatistics=True):
def rename(s): def rename(s):
return s[: -len(pattern)] return s[: -len(pattern)]
def date_parser(x):
return dateutil.parser.parse(x, ignoretz=True)
return ( 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) .filter(like=pattern)
.rename(columns=rename) .rename(columns=rename)
.dropna(how="all", axis=0) .dropna(how="all", axis=0)
@ -303,6 +301,9 @@ if __name__ == "__main__":
if snakemake.params.load["manual_adjustments"]: if snakemake.params.load["manual_adjustments"]:
load = manual_adjustment(load, snakemake.input[0], powerstatistics) 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.") logger.info(f"Linearly interpolate gaps of size {interpolate_limit} and less.")
load = load.interpolate(method="linear", limit=interpolate_limit) load = load.interpolate(method="linear", limit=interpolate_limit)