From 7ce15931e50a712c2cc59cd8f1ea3e859cce93ec Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 20 May 2024 12:41:54 +0200 Subject: [PATCH] add simplified power distribution grid losses --- config/config.default.yaml | 2 ++ doc/release_notes.rst | 9 +++++++++ scripts/prepare_sector_network.py | 10 ++++++++++ 3 files changed, 21 insertions(+) diff --git a/config/config.default.yaml b/config/config.default.yaml index 0ac06847..5e08a0dd 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -592,6 +592,8 @@ sector: gas pipeline: efficiency_per_1000km: 1 #0.977 compression_per_1000km: 0.01 + electricity distribution grid: + efficiency_static: 0.97 H2_network: true gas_network: false H2_retrofit: false diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 1affc00e..b9722464 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,6 +10,15 @@ Release Notes Upcoming Release ================ +* Added default values for power distribution losses, assuming uniform losses of + 3% on distribution grid links (cf. ``sector: transmission_efficiency: + electricity distribution grid: efficiency_static: 0.97``). Since distribution + losses are included in national load reports (cf. `this report + `_), + these are deducted from the national load time series to avoid double counting + of losses. Further extensions to country-specific loss factors and + developments by planning horizon are planned. + * Doubled solar rooftop potentials to roughly 1 TW for Europe based on `recent European Commission reports `_. diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 2718465e..1eb3783b 100755 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -966,6 +966,16 @@ def insert_electricity_distribution_grid(n, costs): capital_cost=costs.at["electricity distribution grid", "fixed"] * cost_factor, ) + # deduct distribution losses from electricity demand as these are included in total load + # https://nbviewer.org/github/Open-Power-System-Data/datapackage_timeseries/blob/2020-10-06/main.ipynb + if ( + efficiency := options["transmission_efficiency"] + .get("electricity distribution grid", {}) + .get("efficiency_static") + ): + logger.info(f"Deducting distribution losses from electricity demand: {100*(1-efficiency)}%") + n.loads_t.p_set.loc[:, n.loads.carrier == "electricity"] *= efficiency + # this catches regular electricity load and "industry electricity" and # "agriculture machinery electric" and "agriculture electricity" loads = n.loads.index[n.loads.carrier.str.contains("electric")]