add simplified power distribution grid losses

This commit is contained in:
Fabian Neumann 2024-05-20 12:41:54 +02:00
parent 6c9fc50a1c
commit 7ce15931e5
3 changed files with 21 additions and 0 deletions

View File

@ -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

View File

@ -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
<https://nbviewer.org/github/Open-Power-System-Data/datapackage_timeseries/blob/2020-10-06/main.ipynb>`_),
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
<https://www.epj-pv.org/articles/epjpv/full_html/2024/01/pv230071/pv230071.html>`_.

View File

@ -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")]