From 75ff4134fb39a17a26f3c0b86463fd29f0ed856e Mon Sep 17 00:00:00 2001 From: Koen van Greevenbroek Date: Fri, 1 Mar 2024 15:26:47 +0100 Subject: [PATCH] Select correct snapshots for hourly heating demand --- rules/build_sector.smk | 1 + scripts/build_hourly_heat_demand.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/rules/build_sector.smk b/rules/build_sector.smk index e8af7f7b..b4e41df8 100644 --- a/rules/build_sector.smk +++ b/rules/build_sector.smk @@ -194,6 +194,7 @@ rule build_daily_heat_demand: rule build_hourly_heat_demand: params: snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), input: heat_profile="data/heat_load_profile_BDEW.csv", heat_demand=resources( diff --git a/scripts/build_hourly_heat_demand.py b/scripts/build_hourly_heat_demand.py index a1dacd51..664b4499 100644 --- a/scripts/build_hourly_heat_demand.py +++ b/scripts/build_hourly_heat_demand.py @@ -24,7 +24,16 @@ if __name__ == "__main__": ) set_scenario_config(snakemake) - snapshots = pd.date_range(freq="h", **snakemake.params.snapshots) + year = snakemake.wildcards.weather_year + + if year: + snapshots = dict(start=year, end=str(int(year) + 1), inclusive="left") + else: + snapshots = snakemake.params.snapshots + + snapshots = pd.date_range(freq="h", **snapshots) + if snakemake.params.drop_leap_day: + snapshots = snapshots[~((snapshots.month == 2) & (snapshots.day == 29))] daily_space_heat_demand = ( xr.open_dataarray(snakemake.input.heat_demand)