From 8830180fc965ea13ca7d9c68bc873f6a2a37c233 Mon Sep 17 00:00:00 2001 From: Max Nutz Date: Tue, 28 Apr 2026 18:18:02 +0200 Subject: [PATCH 1/2] add initial function for carrier Coal exclusively on industry --- .../configs/mapping.default.yaml | 1 + .../statistics_functions.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/pypsa_validation_processing/configs/mapping.default.yaml b/pypsa_validation_processing/configs/mapping.default.yaml index 12f27c9..2b690d8 100644 --- a/pypsa_validation_processing/configs/mapping.default.yaml +++ b/pypsa_validation_processing/configs/mapping.default.yaml @@ -6,6 +6,7 @@ # Primary Energy|Coal: primary_energy_coal Final Energy [by Carrier]|Electricity: Final_Energy_by_Carrier__Electricity +Final Energy [by Carrier]|Coal: Final_Energy_by_Carrier__Coal Final Energy [by Sector]|Transportation: Final_Energy_by_Sector__Transportation Final Energy [by Sector]|Industry: Final_Energy_by_Sector__Industry Final Energy [by Sector]|Agriculture: Final_Energy_by_Sector__Agriculture \ No newline at end of file diff --git a/pypsa_validation_processing/statistics_functions.py b/pypsa_validation_processing/statistics_functions.py index b7afb71..2b115f5 100644 --- a/pypsa_validation_processing/statistics_functions.py +++ b/pypsa_validation_processing/statistics_functions.py @@ -133,6 +133,20 @@ def Final_Energy_by_Carrier__Electricity( return result +def Final_Energy_by_Carrier__Coal( + n: pypsa.Network, + aggregate_per_year: bool = True, +) -> pd.Series | pd.DataFrame: + """Docstring for IAMC variable Final Energy [by Carrier]|Coal""" + industry = n.statistics.withdrawal( + carrier="coal for industry", + components="Load", + aggregate_time=aggregate_per_year, + **kwargs, + ) + return industry + + def Final_Energy_by_Sector__Transportation( n: pypsa.Network, aggregate_per_year: bool = True, From 0b65fb7f90fdae3b38dd8eec6e97980d82ac2b1d Mon Sep 17 00:00:00 2001 From: Max Nutz Date: Tue, 28 Apr 2026 19:03:13 +0200 Subject: [PATCH 2/2] catch cases with no coal demand in industry --- .../statistics_functions.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pypsa_validation_processing/statistics_functions.py b/pypsa_validation_processing/statistics_functions.py index 2b115f5..1edfadb 100644 --- a/pypsa_validation_processing/statistics_functions.py +++ b/pypsa_validation_processing/statistics_functions.py @@ -138,13 +138,17 @@ def Final_Energy_by_Carrier__Coal( aggregate_per_year: bool = True, ) -> pd.Series | pd.DataFrame: """Docstring for IAMC variable Final Energy [by Carrier]|Coal""" - industry = n.statistics.withdrawal( - carrier="coal for industry", - components="Load", - aggregate_time=aggregate_per_year, - **kwargs, - ) - return industry + try: + industry = n.statistics.withdrawal( + bus_carrier="coal for industry", + carrier="coal for industry", + components="Load", + aggregate_time=aggregate_per_year, + **kwargs, + ) + return industry + except ValueError: + return None def Final_Energy_by_Sector__Transportation(