From 06a3b029d8b89f7841c375f1a207c8cfa5408759 Mon Sep 17 00:00:00 2001 From: Tom Brown Date: Mon, 7 Sep 2020 19:15:40 +0200 Subject: [PATCH] When changing prim/secondary production, take account of existing Don't fix uniform ratios e.g. of 0.3:0.7 primary:secondary for steel and aluminium, but convert the necessary amount of existing primary in each country so that the overall ratio applies at European level. This stops sudden swings from primary to secondary in countries dominated by primary production. --- ...ld_industrial_production_per_country_tomorrow.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/build_industrial_production_per_country_tomorrow.py b/scripts/build_industrial_production_per_country_tomorrow.py index c1d5d5da..1bfc40f2 100644 --- a/scripts/build_industrial_production_per_country_tomorrow.py +++ b/scripts/build_industrial_production_per_country_tomorrow.py @@ -6,16 +6,21 @@ industrial_production = pd.read_csv(snakemake.input.industrial_production_per_co total_steel = industrial_production[["Integrated steelworks","Electric arc"]].sum(axis=1) +fraction_primary_stays_primary = snakemake.config["industry"]["St_primary_fraction"]*total_steel.sum()/industrial_production["Integrated steelworks"].sum() + industrial_production.insert(2, "DRI + Electric arc", - snakemake.config["industry"]["St_primary_fraction"]*total_steel) -industrial_production["Electric arc"] = (1 - snakemake.config["industry"]["St_primary_fraction"])*total_steel + fraction_primary_stays_primary*industrial_production["Integrated steelworks"]) + +industrial_production["Electric arc"] = total_steel - industrial_production["DRI + Electric arc"] industrial_production["Integrated steelworks"] = 0. total_aluminium = industrial_production[["Aluminium - primary production","Aluminium - secondary production"]].sum(axis=1) -industrial_production["Aluminium - primary production"] = snakemake.config["industry"]["Al_primary_fraction"]*total_aluminium -industrial_production["Aluminium - secondary production"] = (1 - snakemake.config["industry"]["Al_primary_fraction"])*total_aluminium +fraction_primary_stays_primary = snakemake.config["industry"]["Al_primary_fraction"]*total_aluminium.sum()/industrial_production["Aluminium - primary production"].sum() + +industrial_production["Aluminium - primary production"] = fraction_primary_stays_primary*industrial_production["Aluminium - primary production"] +industrial_production["Aluminium - secondary production"] = total_aluminium - industrial_production["Aluminium - primary production"] industrial_production.to_csv(snakemake.output.industrial_production_per_country_tomorrow,