2019-07-18 09:40:38 +00:00
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 ' }
2019-12-18 08:45:14 +00:00
index = [ ' elec ' , ' biomass ' , ' methane ' , ' hydrogen ' , ' heat ' , ' naphtha ' , ' process emission ' , ' process emission from feedstock ' ]
2019-07-18 09:40:38 +00:00
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
2019-10-07 14:21:14 +00:00
#(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 " ]
2019-07-18 09:40:38 +00:00
## 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
2019-10-07 14:21:14 +00:00
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
2019-07-18 09:40:38 +00:00
# 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 )
2019-12-18 08:45:14 +00:00
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
2019-07-18 09:40:38 +00:00
# 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
2019-10-07 14:21:14 +00:00
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 ' ]
2019-07-18 09:40:38 +00:00
### 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 = ' ; ' )