pypsa-eur/scripts/build_industry_sector_ratios.py
Tom Brown 52581466b6 Account for chemical industry process emissions more carefully
Remove emissions from hydrogen production for ammonia (since H2 now
comes from electrolysis).

Allow process emissions from petrochemical production to be captured
(the carbon is not necessarily fossil, but could come from CCU).
2019-12-18 09:45:14 +01:00

1376 lines
47 KiB
Python

import pandas as pd
import numpy as np
base_dir = "data/jrc-idees-2015"
# year for wich data is retrieved
year = 2015
year = year-2016
conv_factor=11.630 #ktoe/kton -> MWh/ton
country = 'EU28'
sub_sheet_name_dict = { 'Iron and steel':'ISI',
'Chemicals Industry':'CHI',
'Non-metallic mineral products': 'NMM',
'Pulp, paper and printing': 'PPA',
'Food, beverages and tobacco': 'FBT',
'Non Ferrous Metals' : 'NFM',
'Transport Equipment': 'TRE',
'Machinery Equipment': 'MAE',
'Textiles and leather':'TEL',
'Wood and wood products': 'WWP',
'Other Industrial Sectors': 'OIS'}
index = ['elec','biomass','methane','hydrogen','heat','naphtha','process emission','process emission from feedstock']
df = pd.DataFrame(index=index)
## Iron and steel
#
#> There are two different approaches to produce iron and steel: i.e., integrated steelworks and electric arc.
#
#> Electric arc approach has higher efficiency and relies more on electricity.
#
#> We assume that integrated steelworks will be replaced by electric arc entirely.
sector = 'Iron and steel'
# read the input sheets
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True) # the summary sheet
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True) # the final energy consumption sheet
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True) # the used energy sheet
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
### Electric arc
sector = 'Electric arc'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[51:57,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec',sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat',sector] += s_fec['Low enthalpy heat']
#### Steel: Smelters
subsector = 'Steel: Smelters'
# read the corresponding lines
s_fec = excel_fec.iloc[61:67,year]
s_ued = excel_ued.iloc[61:67,year]
assert s_fec.index[0] == subsector
# Efficiency changes due to transforming all the smelters into methane
eff_met=s_ued['Natural gas (incl. biogas)']/s_fec['Natural gas (incl. biogas)']
df.loc['methane', sector] += s_ued[subsector]/eff_met
#### Steel: Electric arc
subsector = 'Steel: Electric arc'
# read the corresponding lines
s_fec = excel_fec.iloc[67:68,year]
assert s_fec.index[0] == subsector
# only electricity
df.loc['elec',sector] += s_fec[subsector]
#### Steel: Furnaces, Refining and Rolling
#> assume fully electrified
#
#> other processes are scaled by the used energy
subsector = 'Steel: Furnaces, Refining and Rolling'
# read the corresponding lines
s_fec = excel_fec.iloc[68:75,year]
s_ued = excel_ued.iloc[68:75,year]
assert s_fec.index[0] == subsector
# this process can be electrified
eff = s_ued['Steel: Furnaces, Refining and Rolling - Electric']/s_fec['Steel: Furnaces, Refining and Rolling - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff
#### Steel: Products finishing
#> assume fully electrified
subsector = 'Steel: Products finishing'
# read the corresponding lines
s_fec = excel_fec.iloc[75:92,year]
s_ued = excel_ued.iloc[75:92,year]
assert s_fec.index[0] == subsector
# this process can be electrified
eff = s_ued['Steel: Products finishing - Electric']/s_fec['Steel: Products finishing - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff
#### Process emissions (per physical output)
s_emi = excel_emi.iloc[51:93,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[7:8,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] = s_emi['Process emissions']/s_out[sector] # unit tCO2/t material
# final energy consumption per t
df.loc[['elec','heat','methane'],sector] = df.loc[['elec','heat','methane'],sector]*conv_factor/s_out[sector] # unit MWh/t material
## Integrated steelworks is converted to Electric arc
#
#> Electric arc uses scrap metal and Direct Reduced Iron
#
#> We assume that when substituting Integrated Steelworks by Electric arc furnaces.
#> 50% of Integrated steelworks is substituted by scrap metal + electric furnaces
#> 50% of Integrated steelworks is substituted by Direct Reduce Iron (with Hydrogen) + electric furnaces
df['Integrated steelworks']=df['Electric arc']
# adding the Hydrogen necessary for the Direct Reduction of Iron. consumption 1.7 MWh H2 /ton steel
#(0.5 because only half of the steel requires DRI, the rest is scrap metal)
df.loc['hydrogen', 'Integrated steelworks'] =snakemake.config["industry"]["H2_DRI"] * snakemake.config["industry"]["DRI_ratio"]
## Chemicals Industry
sector = 'Chemicals Industry'
# read the input sheets
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True) # the summary sheet
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True) # the final energy consumption sheet
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True) # the used energy sheet
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
### Basic chemicals
sector = 'Basic chemicals'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:9,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec',sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat',sector] += s_fec['Low enthalpy heat']
#### Chemicals: Feedstock (energy used as raw material)
#> There are Solids, Refinery gas, LPG, Diesel oil, Residual fuel oil, Other liquids, Naphtha, Natural gas for feedstock.
#
#> Naphta represents 47%, methane 17%. LPG (18%) solids, refinery gas, diesel oil, residual fuel oils and other liquids are asimilated to Napthta
#
#> Following Lechtenbohmer 2016, the 85 TWh/year of methane for the ammonia industry are substited by hydrogen.
subsector = 'Chemicals: Feedstock (energy used as raw material)'
# read the corresponding lines
s_fec = excel_fec.iloc[13:22,year]
assert s_fec.index[0] == subsector
# naphtha
df.loc['naphtha',sector] += s_fec['Naphtha']
# natural gas
# 85 TWh/year of methane for the ammonia industry are substituted by hydrogen
df.loc['methane',sector] += s_fec['Natural gas'] - snakemake.config["industry"]["H2_for_NH3"]/conv_factor
df.loc['hydrogen',sector] += snakemake.config["industry"]["H2_for_NH3"]/conv_factor
# 1 ktoe = 11630 MWh
# LPG and other feedstock materials are assimilated to naphtha since they will be produced trough Fischer-Tropsh process
df.loc['naphtha',sector] += (s_fec['Solids'] + s_fec['Refinery gas'] + s_fec['LPG'] + s_fec['Diesel oil']
+ s_fec['Residual fuel oil'] + s_fec['Other liquids'])
#### Chemicals: Steam processing
#> All the final energy consumption in the Stem processing is converted to biomass.
#
#> The current efficiency of biomass is assumed in the conversion.
subsector = 'Chemicals: Steam processing'
# read the corresponding lines
s_fec = excel_fec.iloc[22:33,year]
s_ued = excel_ued.iloc[22:33,year]
assert s_fec.index[0] == subsector
# efficiency of biomass
eff_bio = s_ued['Biomass']/s_fec['Biomass']
# replace all fec by biomass
df.loc['biomass',sector] += s_ued[subsector]/eff_bio
#### Chemicals: Furnaces
#> assume fully electrified
subsector = 'Chemicals: Furnaces'
# read the corresponding lines
s_fec = excel_fec.iloc[33:41,year]
s_ued = excel_ued.iloc[33:41,year]
assert s_fec.index[0] == subsector
#efficiency of electrification
eff_elec = s_ued['Chemicals: Furnaces - Electric']/s_fec['Chemicals: Furnaces - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff_elec
#### Chemicals: Process cooling
#> assume fully electrified
subsector = 'Chemicals: Process cooling'
# read the corresponding lines
s_fec = excel_fec.iloc[41:55,year]
s_ued = excel_ued.iloc[41:55,year]
assert s_fec.index[0] == subsector
eff_elec = s_ued['Chemicals: Process cooling - Electric']/s_fec['Chemicals: Process cooling - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff_elec
#### Chemicals: Generic electric process
subsector = 'Chemicals: Generic electric process'
# read the corresponding lines
s_fec = excel_fec.iloc[55:56,year]
assert s_fec.index[0] == subsector
df.loc['elec',sector] += s_fec[subsector]
#### Process emissions
s_emi = excel_emi.iloc[3:57,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[8:9,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] += (s_emi['Process emissions'] - snakemake.config["industry"]['petrochemical_process_emissions']*1e3 - snakemake.config["industry"]['NH3_process_emissions']*1e3)/s_out.values # unit tCO2/t material
#these are emissions originating from feedstock, i.e. could be non-fossil origin
df.loc['process emission from feedstock',sector] += (snakemake.config["industry"]['petrochemical_process_emissions']*1e3)/s_out.values # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out.values# unit MWh/t material
# 1 ktoe = 11630 MWh
### Other chemicals
sector = 'Other chemicals'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[58:64,year]
# check the position
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec',sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat',sector] += s_fec['Low enthalpy heat']
#### Chemicals: High enthalpy heat processing
#> assume fully electrified
subsector = 'Chemicals: High enthalpy heat processing'
# read the corresponding lines
s_fec = excel_fec.iloc[68:81,year]
s_ued = excel_ued.iloc[68:81,year]
assert s_fec.index[0] == subsector
eff_elec = s_ued['High enthalpy heat processing - Electric (microwave)']/s_fec['High enthalpy heat processing - Electric (microwave)']
df.loc['elec',sector] += s_ued[subsector]/eff_elec
#### Chemicals: Furnaces
#> assume fully electrified
subsector = 'Chemicals: Furnaces'
# read the corresponding lines
s_fec = excel_fec.iloc[81:89,year]
s_ued = excel_ued.iloc[81:89,year]
assert s_fec.index[0] == subsector
eff_elec = s_ued['Chemicals: Furnaces - Electric']/s_fec['Chemicals: Furnaces - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff_elec
#### Chemicals: Process cooling
#> assume fully electrified
subsector = 'Chemicals: Process cooling'
# read the corresponding lines
s_fec = excel_fec.iloc[89:103,year]
s_ued = excel_ued.iloc[89:103,year]
assert s_fec.index[0] == subsector
eff = s_ued['Chemicals: Process cooling - Electric']/s_fec['Chemicals: Process cooling - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff
#### Chemicals: Generic electric process
subsector = 'Chemicals: Generic electric process'
# read the corresponding lines
s_fec = excel_fec.iloc[103:104,year]
assert s_fec.index[0] == subsector
df.loc['elec',sector] += s_fec[subsector]
#### Process emissions
s_emi = excel_emi.iloc[58:105,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[9:10,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] += s_emi['Process emissions']/s_out.values # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*11.630/s_out.values # unit MWh/t material
# 1 ktoe = 11630 MWh
### Pharmaceutical products etc.
sector = 'Pharmaceutical products etc.'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[106:112,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec',sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat',sector] += s_fec['Low enthalpy heat']
#### Chemicals: High enthalpy heat processing
#> assume fully electrified
subsector = 'Chemicals: High enthalpy heat processing'
# read the corresponding lines
s_fec = excel_fec.iloc[116:129,year]
s_ued = excel_ued.iloc[116:129,year]
assert s_fec.index[0] == subsector
eff_elec = s_ued['High enthalpy heat processing - Electric (microwave)']/s_fec['High enthalpy heat processing - Electric (microwave)']
df.loc['elec',sector] += s_ued[subsector]/eff_elec
#### Chemicals: Furnaces
#> assume fully electrified
subsector = 'Chemicals: Furnaces'
# read the corresponding lines
s_fec = excel_fec.iloc[129:137,year]
s_ued = excel_ued.iloc[129:137,year]
assert s_fec.index[0] == subsector
eff = s_ued['Chemicals: Furnaces - Electric']/s_fec['Chemicals: Furnaces - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff
#### Chemicals: Process cooling
#> assume fully electrified
subsector = 'Chemicals: Process cooling'
# read the corresponding lines
s_fec = excel_fec.iloc[137:151,year]
s_ued = excel_ued.iloc[137:151,year]
assert s_fec.index[0] == subsector
eff_elec = s_ued['Chemicals: Process cooling - Electric']/s_fec['Chemicals: Process cooling - Electric']
df.loc['elec',sector] += s_ued[subsector]/eff_elec
#### Chemicals: Generic electric process
subsector = 'Chemicals: Generic electric process'
# read the corresponding lines
s_fec = excel_fec.iloc[151:152,year]
assert s_fec.index[0] == subsector
df.loc['elec',sector] += s_fec[subsector]
# read the corresponding lines
s_out = excel_out.iloc[10:11,year]
# check the position
assert sector in str(s_out.index)
df.loc['process emission',sector] += 0 # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat', 'naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*11.630/s_out.values # unit MWh/t material
# 1 ktoe = 11630 MWh
## Non-metallic mineral products
#
#> This includes cement, ceramic and glass production.
#
#> This sector includes process-emissions related to the fabrication of clinker.
sector = 'Non-metallic mineral products'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True)
### Cement
#
#> This sector has process-emissions.
#
#> Includes three subcategories: (a) Grinding, milling of raw material, (b) Pre-heating and pre-calcination, (c) clinker production (kilns), (d) Grinding, packaging. (b)+(c) represent 94% of fec. So (a) is joined to (b) and (d) is joined to (c).
#
#> Temperatures above 1400C are required for procesing limestone and sand into clinker.
#
#> Everything (except current electricity and heat consumption) is transformed into biomass
sector = 'Cement'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:25,year]
s_ued = excel_ued.iloc[3:25,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec',sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat',sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to biomass
eff_bio=s_ued['Biomass']/s_fec['Biomass']
df.loc['biomass', sector] += s_ued[['Cement: Grinding, milling of raw material', 'Cement: Pre-heating and pre-calcination']].sum()/eff_bio
#### Cement: Clinker production (kilns)
subsector = 'Cement: Clinker production (kilns)'
# read the corresponding lines
s_fec = excel_fec.iloc[34:43,year]
s_ued = excel_ued.iloc[34:43,year]
assert s_fec.index[0] == subsector
# Efficiency changes due to biomass
eff_bio=s_ued['Biomass']/s_fec['Biomass']
df.loc['biomass', sector] += s_ued[['Cement: Clinker production (kilns)', 'Cement: Grinding, packaging']].sum()/eff_bio
#### Process-emission came from the calcination of limestone to chemically reactive calcium oxide (lime).
#> Calcium carbonate -> lime + CO2
#
#> CaCO3 -> CaO + CO2
s_emi = excel_emi.iloc[3:44,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[7:8,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] +=s_emi['Process emissions']/s_out.values # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out.values # unit MWh/t material
### Ceramics & other NMM
#
#> This sector has process emissions.
#
#> Includes four subcategories: (a) Mixing of raw material, (b) Drying and sintering of raw material, (c) Primary production process, (d) Product finishing. (b)represents 65% of fec and (a) 4%. So (a) is joined to (b).
#
#> Everything is electrified
sector = 'Ceramics & other NMM'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[45:94,year]
s_ued = excel_ued.iloc[45:94,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Ceramics: Microwave drying and sintering']/s_fec['Ceramics: Microwave drying and sintering']
df.loc['elec', sector] += s_ued[['Ceramics: Mixing of raw material','Ceramics: Drying and sintering of raw material']].sum()/eff_elec
eff_elec=s_ued['Ceramics: Electric kiln']/s_fec['Ceramics: Electric kiln']
df.loc['elec', sector] += s_ued['Ceramics: Primary production process']/eff_elec
eff_elec=s_ued['Ceramics: Electric furnace']/s_fec['Ceramics: Electric furnace']
df.loc['elec', sector] += s_ued['Ceramics: Product finishing']/eff_elec
s_emi = excel_emi.iloc[45:94,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[8:9,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] += s_emi['Process emissions']/s_out.values # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*11.630/s_out.values # unit MWh/t material
# 1 ktoe = 11630 MWh
### Glass production
#
#> This sector has process emissions.
#
#> Includes four subcategories: (a) Melting tank, (b) Forming, (c) Annealing, (d) Finishing processes. (a)represents 73%. (b), (d) are joined to (c).
#
#> Everything is electrified.
sector = 'Glass production'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[95:123,year]
s_ued = excel_ued.iloc[95:123,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Glass: Electric melting tank']/s_fec['Glass: Electric melting tank']
df.loc['elec', sector] += s_ued['Glass: Melting tank']/eff_elec
eff_elec=s_ued['Glass: Annealing - electric']/s_fec['Glass: Annealing - electric']
df.loc['elec', sector] += s_ued[['Glass: Forming','Glass: Annealing','Glass: Finishing processes']].sum()/eff_elec
s_emi = excel_emi.iloc[95:124,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[9:10,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] += s_emi['Process emissions']/s_out.values # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out.values # unit MWh/t material
## Pulp, paper and printing
#
#> Pulp, paper and printing can be completely electrified.
#
#> There are no process emissions associated to this sector.
sector = 'Pulp, paper and printing'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
### Pulp production
#
#> Includes three subcategories: (a) Wood preparation, grinding; (b) Pulping; (c) Cleaning.
#
#> (b) Pulping is electrified. The efficiency is calculated from the pulping process that is already electric.
#
#> (a) Wood preparation, grinding and (c) Cleaning represent only 10% their current energy consumption is assumed to be electrified without any change in efficiency
sector = 'Pulp production'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:28,year]
s_ued = excel_ued.iloc[3:28,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Industry-specific
df.loc['elec', sector] += s_fec[['Pulp: Wood preparation, grinding', 'Pulp: Cleaning']].sum()
# Efficiency changes due to electrification
eff_elec=s_ued['Pulp: Pulping electric']/s_fec['Pulp: Pulping electric']
df.loc['elec', sector] += s_ued['Pulp: Pulping thermal']/eff_elec
# add electricity from process that is already electrified
df.loc['elec', sector] += s_fec['Pulp: Pulping electric']
s_out = excel_out.iloc[8:9,year]
assert sector in str(s_out.index)
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Pulp production (kt)'] # unit MWh/t material
### Paper production
#
#> Includes three subcategories: (a) Stock preparation; (b) Paper machine; (c) Product finishing.
#
#> (b) Paper machine and (c) Product finishing are electrified. The efficiency is calculated from the pulping process that is already electric.
#
#> (a) Stock preparation represents only 7% and its current energy consumption is assumed to be electrified without any change in efficiency.
sector = 'Paper production'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[29:78,year]
s_ued = excel_ued.iloc[29:78,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Industry-specific
df.loc['elec', sector] += s_fec['Paper: Stock preparation']
# Efficiency changes due to electrification
eff_elec=s_ued['Paper: Paper machine - Electricity']/s_fec['Paper: Paper machine - Electricity']
df.loc['elec', sector] += s_ued['Paper: Paper machine - Steam use']/eff_elec
eff_elec=s_ued['Paper: Product finishing - Electricity']/s_fec['Paper: Product finishing - Electricity']
df.loc['elec', sector] += s_ued['Paper: Product finishing - Steam use']/eff_elec
# add electricity from process that is already electrified
df.loc['elec', sector] += s_fec['Paper: Paper machine - Electricity']
# read the corresponding lines
s_out = excel_out.iloc[9:10,year]
assert sector in str(s_out.index)
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out.values # unit MWh/t material\
### Printing and media reproduction
#
#> (a) Printing and publishing is assumed to be electrified without any change in efficiency.
sector='Printing and media reproduction'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[79:90,year]
s_ued = excel_ued.iloc[79:90,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec',sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
df.loc['elec',sector] += s_ued[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat',sector] += s_fec['Low enthalpy heat']
df.loc['heat',sector] += s_ued['Low enthalpy heat']
# Industry-specific
df.loc['elec', sector] += s_fec['Printing and publishing']
df.loc['elec', sector] += s_ued['Printing and publishing']
# read the corresponding lines
s_out = excel_out.iloc[10:11,year]
assert sector in str(s_out.index)
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out.values # unit MWh/t material
## Food, beverages and tobaco
#
#> Food, beverages and tobaco can be completely electrified.
#
#> There are no process emissions associated to this sector.
sector = 'Food, beverages and tobacco'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:78,year]
s_ued = excel_ued.iloc[3:78,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Food: Direct Heat - Electric']/s_fec['Food: Direct Heat - Electric']
df.loc['elec', sector] += s_ued['Food: Oven (direct heat)']/eff_elec
eff_elec=s_ued['Food: Process Heat - Electric']/s_fec['Food: Process Heat - Electric']
df.loc['elec', sector] += s_ued['Food: Specific process heat']/eff_elec
eff_elec=s_ued['Food: Electric drying']/s_fec['Food: Electric drying']
df.loc['elec', sector] += s_ued['Food: Drying']/eff_elec
eff_elec=s_ued['Food: Electric cooling']/s_fec['Food: Electric cooling']
df.loc['elec', sector] += s_ued['Food: Process cooling and refrigeration']/eff_elec
# Steam processing is electrified without change in efficiency
df.loc['elec', sector] += s_fec['Food: Steam processing']
# add electricity from process that is already electrified
df.loc['elec', sector] += s_fec['Food: Electric machinery']
# read the corresponding lines
s_out = excel_out.iloc[3:4,year]
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Physical output (index)'] # unit MWh/t material
## Non Ferrous Metals
sector = 'Non Ferrous Metals'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
### Alumina
#
#> High enthalpy heat is converted to methane. Process heat at T>500ºC is required here.
#
#> Refining is electrified.
#
#> There are no process emissions associated to Alumina manufacturing
sector = 'Alumina production'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:31,year]
s_ued = excel_ued.iloc[3:31,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# High-enthalpy heat is transformed into methane
s_fec = excel_fec.iloc[13:24,year]
s_ued = excel_ued.iloc[13:24,year]
assert s_fec.index[0] == 'Alumina production: High enthalpy heat'
eff_met=s_ued['Natural gas (incl. biogas)']/s_fec['Natural gas (incl. biogas)']
df.loc['methane', sector] += s_fec['Alumina production: High enthalpy heat']/eff_met
# Efficiency changes due to electrification
s_fec = excel_fec.iloc[24:30,year]
s_ued = excel_ued.iloc[24:30,year]
assert s_fec.index[0] == 'Alumina production: Refining'
eff_elec=s_ued['Electricity']/s_fec['Electricity']
df.loc['elec', sector] += s_ued['Alumina production: Refining']/eff_elec
# read the corresponding lines
s_out = excel_out.iloc[9:10,year]
assert sector in str(s_out.index)
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Alumina production (kt)'] # unit MWh/t material
### Aluminium primary route
#
#> Production through the primary route is divided into 50% remains as today and 50% is transformed into secondary route
sector = 'Aluminium - primary production'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[31:66,year]
s_ued = excel_ued.iloc[31:66,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Add aluminium electrolysis (smelting
df.loc['elec', sector] += s_fec['Aluminium electrolysis (smelting)']
# Efficiency changes due to electrification
eff_elec=s_ued['Aluminium processing - Electric']/s_fec['Aluminium processing - Electric']
df.loc['elec', sector] += s_ued['Aluminium processing (metallurgy e.g. cast house, reheating)']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Aluminium finishing - Electric']/s_fec['Aluminium finishing - Electric']
df.loc['elec', sector] += s_ued['Aluminium finishing']/eff_elec
s_emi = excel_emi.iloc[31:67,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[11:12,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] = s_emi['Process emissions']/s_out['Aluminium - primary production'] # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Aluminium - primary production'] # unit MWh/t material
### Aluminium secondary route
#
#> All is coverted into secondary route fully electrified
sector = 'Aluminium - secondary production'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[68:109,year]
s_ued = excel_ued.iloc[68:109,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Secondary aluminium - Electric']/s_fec['Secondary aluminium - Electric']
df.loc['elec', sector] += s_ued['Secondary aluminium (incl. pre-treatment, remelting)']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Aluminium processing - Electric']/s_fec['Aluminium processing - Electric']
df.loc['elec', sector] += s_ued['Aluminium processing (metallurgy e.g. cast house, reheating)']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Aluminium finishing - Electric']/s_fec['Aluminium finishing - Electric']
df.loc['elec', sector] += s_ued['Aluminium finishing']/eff_elec
# read the corresponding lines
s_out = excel_out.iloc[12:13,year]
assert sector in str(s_out.index)
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Aluminium - secondary production'] # unit MWh/t material
# 1 ktoe = 11630 MWh
# primary route is divided into 50% remains as today and 50% is transformed into secondary route
df.loc[sources,'Aluminium - primary production'] = (1-snakemake.config["industry"]["Al_to_scrap"])*df.loc[sources,'Aluminium - primary production'] + snakemake.config["industry"]["Al_to_scrap"]*df.loc[sources,'Aluminium - secondary production']
df.loc['process emission','Aluminium - primary production'] = (1-snakemake.config["industry"]["Al_to_scrap"])*df.loc['process emission','Aluminium - primary production']
### Other non-ferrous metals
sector = 'Other non-ferrous metals'
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[110:152,year]
s_ued = excel_ued.iloc[110:152,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Metal production - Electric']/s_fec['Metal production - Electric']
df.loc['elec', sector] += s_ued['Other Metals: production']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Metal processing - Electric']/s_fec['Metal processing - Electric']
df.loc['elec', sector] += s_ued['Metal processing (metallurgy e.g. cast house, reheating)']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Metal finishing - Electric']/s_fec['Metal finishing - Electric']
df.loc['elec', sector] += s_ued['Metal finishing']/eff_elec
s_emi = excel_emi.iloc[110:153,year]
assert s_emi.index[0] == sector
s_out = excel_out.iloc[13:14,year]
assert sector in str(s_out.index)
df.loc['process emission',sector] = s_emi['Process emissions']/s_out['Other non-ferrous metals (kt lead eq.)'] # unit tCO2/t material
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Other non-ferrous metals (kt lead eq.)'] # unit MWh/t material
## Transport Equipment
sector = 'Transport Equipment'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:45,year]
s_ued = excel_ued.iloc[3:45,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Trans. Eq.: Electric Foundries']/s_fec['Trans. Eq.: Electric Foundries']
df.loc['elec', sector] += s_ued['Trans. Eq.: Foundries']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Trans. Eq.: Electric connection']/s_fec['Trans. Eq.: Electric connection']
df.loc['elec', sector] += s_ued['Trans. Eq.: Connection techniques']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Trans. Eq.: Heat treatment - Electric']/s_fec['Trans. Eq.: Heat treatment - Electric']
df.loc['elec', sector] += s_ued['Trans. Eq.: Heat treatment']/eff_elec
df.loc['elec', sector] += s_fec['Trans. Eq.: General machinery']
df.loc['elec', sector] += s_fec['Trans. Eq.: Product finishing']
# Steam processing is supplied with biomass
eff_biomass=s_ued['Biomass']/s_fec['Biomass']
df.loc['biomass', sector] += s_ued['Trans. Eq.: Steam processing']/eff_biomass
# read the corresponding lines
s_out = excel_out.iloc[3:4,year]
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Physical output (index)'] # unit MWh/t material
# 1 ktoe = 11630 MWh
## Machinery Equipment
sector = 'Machinery Equipment'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:45,year]
s_ued = excel_ued.iloc[3:45,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Mach. Eq.: Electric Foundries']/s_fec['Mach. Eq.: Electric Foundries']
df.loc['elec', sector] += s_ued['Mach. Eq.: Foundries']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Mach. Eq.: Electric connection']/s_fec['Mach. Eq.: Electric connection']
df.loc['elec', sector] += s_ued['Mach. Eq.: Connection techniques']/eff_elec
# Efficiency changes due to electrification
eff_elec=s_ued['Mach. Eq.: Heat treatment - Electric']/s_fec['Mach. Eq.: Heat treatment - Electric']
df.loc['elec', sector] += s_ued['Mach. Eq.: Heat treatment']/eff_elec
df.loc['elec', sector] += s_fec['Mach. Eq.: General machinery']
df.loc['elec', sector] += s_fec['Mach. Eq.: Product finishing']
# Steam processing is supplied with biomass
eff_biomass=s_ued['Biomass']/s_fec['Biomass']
df.loc['biomass', sector] += s_ued['Mach. Eq.: Steam processing']/eff_biomass
# read the corresponding lines
s_out = excel_out.iloc[3:4,year]
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Physical output (index)'] # unit MWh/t material
## Textiles and leather
sector = 'Textiles and leather'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:57,year]
s_ued = excel_ued.iloc[3:57,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Textiles: Electric drying']/s_fec['Textiles: Electric drying']
df.loc['elec', sector] += s_ued['Textiles: Drying']/eff_elec
df.loc['elec', sector] += s_fec['Textiles: Electric general machinery']
df.loc['elec', sector] += s_fec['Textiles: Finishing Electric']
# Steam processing is supplied with biomass
eff_biomass=s_ued[15:26]['Biomass']/s_fec[15:26]['Biomass']
df.loc['biomass', sector] += s_ued['Textiles: Pretreatment with steam']/eff_biomass
df.loc['biomass', sector] += s_ued['Textiles: Wet processing with steam']/eff_biomass
# read the corresponding lines
s_out = excel_out.iloc[3:4,year]
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Physical output (index)'] # unit MWh/t material
## Wood and wood products
sector = 'Wood and wood products'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:46,year]
s_ued = excel_ued.iloc[3:46,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Wood: Electric drying']/s_fec['Wood: Electric drying']
df.loc['elec', sector] += s_ued['Wood: Drying']/eff_elec
df.loc['elec', sector] += s_fec['Wood: Electric mechanical processes']
df.loc['elec', sector] += s_fec['Wood: Finishing Electric']
# Steam processing is supplied with biomass
eff_biomass=s_ued[15:25]['Biomass']/s_fec[15:25]['Biomass']
df.loc['biomass', sector] += s_ued['Wood: Specific processes with steam']/eff_biomass
# read the corresponding lines
s_out = excel_out.iloc[3:4,year]
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Physical output (index)'] # unit MWh/t material
## Other Industrial Sectors
sector = 'Other Industrial Sectors'
# read the input sheets
excel_fec = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_fec',
index_col=0,header=0,squeeze=True)
excel_ued = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_ued',
index_col=0,header=0,squeeze=True)
excel_out = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector],
index_col=0,header=0,squeeze=True)
excel_emi = pd.read_excel('{}/JRC-IDEES-2015_Industry_{}.xlsx'.format(base_dir,country), sheet_name=sub_sheet_name_dict[sector]+'_emi',
index_col=0,header=0,squeeze=True) # the emission sheet
df[sector] = 0
# read the corresponding lines
s_fec = excel_fec.iloc[3:67,year]
s_ued = excel_ued.iloc[3:67,year]
assert s_fec.index[0] == sector
# Lighting, Air compressors, Motor drives, Fans and pumps
df.loc['elec', sector] += s_fec[['Lighting','Air compressors','Motor drives','Fans and pumps']].sum()
# Low enthalpy heat
df.loc['heat', sector] += s_fec['Low enthalpy heat']
# Efficiency changes due to electrification
eff_elec=s_ued['Other Industrial sectors: Electric processing']/s_fec['Other Industrial sectors: Electric processing']
df.loc['elec', sector] += s_ued['Other Industrial sectors: Process heating']/eff_elec
eff_elec=s_ued['Other Industries: Electric drying']/s_fec['Other Industries: Electric drying']
df.loc['elec', sector] += s_ued['Other Industrial sectors: Drying']/eff_elec
eff_elec=s_ued['Other Industries: Electric cooling']/s_fec['Other Industries: Electric cooling']
df.loc['elec', sector] += s_ued['Other Industrial sectors: Process Cooling']/eff_elec
# Diesel motors are electrified
df.loc['elec', sector] += s_fec['Other Industrial sectors: Diesel motors (incl. biofuels)']
df.loc['elec', sector] += s_fec['Other Industrial sectors: Electric machinery']
# Steam processing is supplied with biomass
eff_biomass=s_ued[15:25]['Biomass']/s_fec[15:25]['Biomass']
df.loc['biomass', sector] += s_ued['Other Industrial sectors: Steam processing']/eff_biomass
# read the corresponding lines
s_out = excel_out.iloc[3:4,year]
# final energy consumption per t
sources=['elec','biomass', 'methane', 'hydrogen', 'heat','naphtha']
df.loc[sources,sector] = df.loc[sources,sector]*conv_factor/s_out['Physical output (index)'] # unit MWh/t material
df.to_csv('resources/industry_sector_ratios.csv', sep=';')