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.
This commit is contained in:
Tom Brown 2020-09-07 19:15:40 +02:00
parent c58f18667d
commit 06a3b029d8

View File

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