diff --git a/TEMOA_Europe_Results/Results.xlsx b/TEMOA_Europe_Results/Results.xlsx index bb348df..b329d33 100644 Binary files a/TEMOA_Europe_Results/Results.xlsx and b/TEMOA_Europe_Results/Results.xlsx differ diff --git a/TEMOA_Europe_Results/_1_Transport_fueltechs.xlsx b/TEMOA_Europe_Results/_1_Transport_fueltechs.xlsx index c3c63d7..3f5de59 100644 Binary files a/TEMOA_Europe_Results/_1_Transport_fueltechs.xlsx and b/TEMOA_Europe_Results/_1_Transport_fueltechs.xlsx differ diff --git a/TEMOA_Europe_Results/_2_Primary energy supply.xlsx b/TEMOA_Europe_Results/_2_Primary energy supply.xlsx index 606d1cd..890b89c 100644 Binary files a/TEMOA_Europe_Results/_2_Primary energy supply.xlsx and b/TEMOA_Europe_Results/_2_Primary energy supply.xlsx differ diff --git a/TEMOA_Europe_Results/_3_Electricity.xlsx b/TEMOA_Europe_Results/_3_Electricity.xlsx index 638676e..2e2c367 100644 Binary files a/TEMOA_Europe_Results/_3_Electricity.xlsx and b/TEMOA_Europe_Results/_3_Electricity.xlsx differ diff --git a/TEMOA_Europe_Results/_4_Hydrogen.xlsx b/TEMOA_Europe_Results/_4_Hydrogen.xlsx index ade0a07..4b27f3f 100644 Binary files a/TEMOA_Europe_Results/_4_Hydrogen.xlsx and b/TEMOA_Europe_Results/_4_Hydrogen.xlsx differ diff --git a/TEMOA_Europe_Results/_5_Industry_fueltechs.xlsx b/TEMOA_Europe_Results/_5_Industry_fueltechs.xlsx index 3f98151..5c63f71 100644 Binary files a/TEMOA_Europe_Results/_5_Industry_fueltechs.xlsx and b/TEMOA_Europe_Results/_5_Industry_fueltechs.xlsx differ diff --git a/TEMOA_Europe_Results/test_run.xlsx b/TEMOA_Europe_Results/test_run.xlsx index 288cfdf..bd3b8fb 100644 Binary files a/TEMOA_Europe_Results/test_run.xlsx and b/TEMOA_Europe_Results/test_run.xlsx differ diff --git a/temoa-energysystem/1_Transport_consumption_postprocessing.py b/temoa-energysystem/1_Transport_consumption_postprocessing.py deleted file mode 100644 index 4bd21c2..0000000 --- a/temoa-energysystem/1_Transport_consumption_postprocessing.py +++ /dev/null @@ -1,382 +0,0 @@ -import pandas as pd -import numpy as np -import sqlite3 - -database_name = "Temoa_Europe_solved.sqlite" -sector_name = "_1_Transport_fueltechs" -years = np.array([2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050]) - -# Following 4 lines should be used to set the export results. -# Set the flags to 1 to split by technologies/commodities, to 0 to not split. -# Set to_excel_flag to 1 to export data into a Excel file -# The arrays are used to select the technologies/commodities that should be considered. - -technologies_in_flag = 1 -technologies_out_flag = 1 -commodities_in_flag = 1 -commodities_out_flag = 1 -to_excel_flag = 1 - -technologies=[ -'TRA_FT_COA', -'TRA_FT_AVG', -'TRA_FT_DST', -'TRA_FT_ELC', -'TRA_FT_GSL', -'TRA_FT_HFO', -'TRA_FT_JTK', -'TRA_FT_LPG', -'TRA_FT_NGA', -'TRA_FT_LNG', -'TRA_FT_ETH', -'TRA_FT_AMM_ELCSYS_CU', -'TRA_FT_AMM_ELCSYS_DT', -'TRA_FT_MTH', -'HH2_DEL_TRA_LH2_C_1_NEW', -'HH2_DEL_TRA_GH2_C_1_NEW', -'HH2_DEL_TRA_LH2_C_2_NEW', -'HH2_DEL_TRA_GH2_C_3_NEW', -'HH2_DEL_TRA_GH2_C_4_NEW', -'HH2_DEL_TRA_GH2_C_5_NEW', -'HH2_DEL_TRA_LH2_D_1_NEW', -'HH2_DEL_TRA_GH2_D_1_NEW', -'HH2_BLD_TRA_NEW', -'HH2_BLD_TRA_NEW', -] -commodities_in = [ -] -commodities_out = [ -'TRA_GSL', -'TRA_JTK', -'TRA_AVG', -'TRA_DST', -'TRA_HFO', -'TRA_COA', -'TRA_ELC', -'TRA_LPG', -'TRA_NGA', -'TRA_ETH', -'TRA_GH2', -'TRA_LH2', -'TRA_LNG', -'TRA_AMM', -'TRA_MTH' -] - -# Input - -comm = list() -tech = list() -vflow_in_2010 = list() -vflow_in_2015 = list() -vflow_in_2020 = list() -vflow_in_2025 = list() -vflow_in_2030 = list() -vflow_in_2035 = list() -vflow_in_2040 = list() -vflow_in_2045 = list() -vflow_in_2050 = list() - -# To classify by technologies, commodities or both -if technologies_in_flag == 1 and commodities_in_flag == 1: - for i_tech in range(0, len(technologies)): - for i_comm in range(0, len(commodities_in)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - vflow_in = np.zeros_like(years, dtype=float) - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append(commodities_in[i_comm]) - tech.append(technologies[i_tech]) - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -elif technologies_in_flag == 0 and commodities_in_flag == 1: - for i_comm in range(0, len(commodities_in)): - vflow_in = np.zeros_like(years, dtype=float) - for i_tech in range(0, len(technologies)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append(commodities_in[i_comm]) - tech.append('') - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -elif technologies_in_flag == 1 and commodities_in_flag == 0: - for i_tech in range(0, len(technologies)): - vflow_in = np.zeros_like(years, dtype=float) - for i_comm in range(0, len(commodities_in)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append('') - tech.append(technologies[i_tech]) - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -# To find rows with only zero elements -delete_index = list() -for i_comm in range(0, len(comm)): - flag_zero = 0 - if vflow_in_2010[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2015[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2020[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2025[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2030[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2035[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2040[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2045[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2050[i_comm] != 0: - flag_zero = 1 - - if flag_zero == 0: - delete_index.append(i_comm) - -# To remove rows with only zeros elements -for i_delete in range(0, len(delete_index)): - tech.pop(delete_index[i_delete]) - comm.pop(delete_index[i_delete]) - vflow_in_2010.pop(delete_index[i_delete]) - vflow_in_2015.pop(delete_index[i_delete]) - vflow_in_2020.pop(delete_index[i_delete]) - vflow_in_2025.pop(delete_index[i_delete]) - vflow_in_2030.pop(delete_index[i_delete]) - vflow_in_2035.pop(delete_index[i_delete]) - vflow_in_2040.pop(delete_index[i_delete]) - vflow_in_2045.pop(delete_index[i_delete]) - vflow_in_2050.pop(delete_index[i_delete]) - - for j_delete in range(0, len(delete_index)): - delete_index[j_delete] = delete_index[j_delete] - 1 - -# Building and printing the table -vflow_in_DF = pd.DataFrame( - { - "tech": pd.Series(tech, dtype='str'), - "input_comm": pd.Series(comm, dtype='str'), - "2010": pd.Series(vflow_in_2010, dtype='float'), - "2015": pd.Series(vflow_in_2015, dtype='float'), - "2020": pd.Series(vflow_in_2020, dtype='float'), - "2025": pd.Series(vflow_in_2025, dtype='float'), - "2030": pd.Series(vflow_in_2030, dtype='float'), - "2035": pd.Series(vflow_in_2035, dtype='float'), - "2040": pd.Series(vflow_in_2040, dtype='float'), - "2045": pd.Series(vflow_in_2045, dtype='float'), - "2050": pd.Series(vflow_in_2050, dtype='float'), - } -) - -pd.set_option('display.max_rows', len(vflow_in_DF)) -pd.set_option('display.max_columns', 16) -pd.set_option('display.precision', 2) -pd.set_option('display.float_format', '{:5,.2f}'.format) -print(vflow_in_DF) -print("\n") -pd.reset_option('display.max_rows') - - - -# Output - -comm = list() -tech = list() -vflow_out_2010 = list() -vflow_out_2015 = list() -vflow_out_2020 = list() -vflow_out_2025 = list() -vflow_out_2030 = list() -vflow_out_2035 = list() -vflow_out_2040 = list() -vflow_out_2045 = list() -vflow_out_2050 = list() - -# To classify by technologies, commodities or both -if technologies_out_flag == 1 and commodities_out_flag == 1: - for i_tech in range(0, len(technologies)): - for i_comm in range(0, len(commodities_out)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - vflow_out = np.zeros_like(years, dtype=float) - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append(commodities_out[i_comm]) - tech.append(technologies[i_tech]) - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -elif technologies_out_flag == 0 and commodities_out_flag == 1: - for i_comm in range(0, len(commodities_out)): - vflow_out = np.zeros_like(years, dtype=float) - for i_tech in range(0, len(technologies)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append(commodities_out[i_comm]) - tech.append('') - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -elif technologies_out_flag == 1 and commodities_out_flag == 0: - for i_tech in range(0, len(technologies)): - vflow_out = np.zeros_like(years, dtype=float) - for i_comm in range(0, len(commodities_out)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append('') - tech.append(technologies[i_tech]) - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -# To find rows with only zero elements -delete_index = list() -for i_comm in range(0, len(comm)): - flag_zero = 0 - if vflow_out_2010[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2015[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2020[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2025[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2030[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2035[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2040[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2045[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2050[i_comm] != 0: - flag_zero = 1 - - if flag_zero == 0: - delete_index.append(i_comm) - -# To remove rows with only zeros elements -for i_delete in range(0, len(delete_index)): - tech.pop(delete_index[i_delete]) - comm.pop(delete_index[i_delete]) - vflow_out_2010.pop(delete_index[i_delete]) - vflow_out_2015.pop(delete_index[i_delete]) - vflow_out_2020.pop(delete_index[i_delete]) - vflow_out_2025.pop(delete_index[i_delete]) - vflow_out_2030.pop(delete_index[i_delete]) - vflow_out_2035.pop(delete_index[i_delete]) - vflow_out_2040.pop(delete_index[i_delete]) - vflow_out_2050.pop(delete_index[i_delete]) - vflow_out_2045.pop(delete_index[i_delete]) - - for j_delete in range(0, len(delete_index)): - delete_index[j_delete] = delete_index[j_delete] - 1 - -# Building and printing the table -vflow_out_DF = pd.DataFrame( - { - "tech": pd.Series(tech, dtype='str'), - "output_comm": pd.Series(comm, dtype='str'), - "2010": pd.Series(vflow_out_2010, dtype='float'), - "2015": pd.Series(vflow_out_2015, dtype='float'), - "2020": pd.Series(vflow_out_2020, dtype='float'), - "2025": pd.Series(vflow_out_2025, dtype='float'), - "2030": pd.Series(vflow_out_2030, dtype='float'), - "2035": pd.Series(vflow_out_2035, dtype='float'), - "2040": pd.Series(vflow_out_2040, dtype='float'), - "2045": pd.Series(vflow_out_2045, dtype='float'), - "2050": pd.Series(vflow_out_2050, dtype='float'), - } -) - -pd.set_option('display.max_rows', len(vflow_out_DF)) -pd.set_option('display.max_columns', 16) -pd.set_option('display.precision', 2) -pd.set_option('display.float_format', '{:0,.2f}'.format) -print(vflow_out_DF) -print("\n") -pd.reset_option('display.max_rows') - - - -# Save to Excel - - - -if to_excel_flag == 1: - writer = pd.ExcelWriter(sector_name + '.xlsx', engine='xlsxwriter') - vflow_in_DF.to_excel(writer, sheet_name='Input') - vflow_out_DF.to_excel(writer, sheet_name='Output') - writer.save() \ No newline at end of file diff --git a/temoa-energysystem/2_Primary_energy_supply_postprocessing.py b/temoa-energysystem/2_Primary_energy_supply_postprocessing.py deleted file mode 100644 index 1f95685..0000000 --- a/temoa-energysystem/2_Primary_energy_supply_postprocessing.py +++ /dev/null @@ -1,442 +0,0 @@ -import pandas as pd -import numpy as np -import sqlite3 - -database_name = "Temoa_Europe_solved.sqlite" -sector_name = "_2_Primary energy supply" -years = np.array([2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050]) - -# Following 4 lines should be used to set the export results. -# Set the flags to 1 to split by technologies/commodities, to 0 to not split. -# Set to_excel_flag to 1 to export data into a Excel file -# The arrays are used to select the technologies/commodities that should be considered. - -technologies_in_flag = 1 -technologies_out_flag = 1 -commodities_in_flag = 0 -commodities_out_flag = 1 -to_excel_flag = 1 - -technologies=[ -'UPS_LOC_HOIL_1', -'UPS_LOC_HOIL_2', -'UPS_LOC_HOIL_3', -'UPS_GRO_HOIL_1', -'UPS_GRO_HOIL_2', -'UPS_GRO_HOIL_3', -'UPS_DIS_HOIL_1', -'UPS_DIS_HOIL_2', -'UPS_DIS_HOIL_3', -'UPS_LOC_HSAN_1', -'UPS_LOC_HSAN_2', -'UPS_LOC_HSAN_3', -'UPS_REC_HSAN_1', -'UPS_REC_HSAN_2', -'UPS_REC_HSAN_3', -'UPS_LOC_NGA_1', -'UPS_LOC_NGA_2', -'UPS_LOC_NGA_3', -'UPS_GRO_NGA_1', -'UPS_GRO_NGA_2', -'UPS_GRO_NGA_3', -'UPS_DIS_NGA_1', -'UPS_DIS_NGA_2', -'UPS_DIS_NGA_3', -'UPS_LOC_BCO', -'UPS_DIS_BCO', -'UPS_LOC_HCO', -'UPS_DIS_HCO', -'UPS_MIN_IMP_URA_NAT', -'UPS_RES_OIL_ADD', -'UPS_BIO_SLD_POT', -'UPS_BIO_WOD_POT', -'UPS_BIO_CRP_POT', -'UPS_BIO_OTH_POT', -'UPS_HYD_POT', -'UPS_GEO_POT', -'UPS_SOL_PV_POT', -'UPS_SOL_CSP_POT', -'UPS_TDL_POT', -'UPS_WAV_POT', -'UPS_WIN_ON_POT', -'UPS_WIN_OFF_POT', -'IMP_OIL_USA', -'IMP_OIL_CAN', -'IMP_OIL_MEX', -'IMP_OIL_OLA', -'IMP_OIL_BRA', -'IMP_OIL_RUS', -'IMP_OIL_MEA', -'IMP_OIL_AFR', -'IMP_OIL_CHI', -'IMP_OIL_JPN', -'IMP_OIL_ODA', -'EXP_OIL_GLB', -'IMP_GAS_PIP_AFR', -'IMP_GAS_PIP_RUS', -'IMP_GAS_PIP_CAC', -'IMP_GAS_PIP_MEA', -'EXP_NGA_GLB', -'IMP_LNG_AFR', -'IMP_LNG_MEA', -'IMP_LNG_GLB', -'IMP_LNG_OLA', -'IMP_LNG_USA', -'IMP_LNG_RUS', -'IMP_COA_AFR', -'IMP_COA_AUS', -'IMP_COA_CAC', -'IMP_COA_CAN', -'IMP_COA_ODA', -'IMP_COA_OEE', -'IMP_COA_OLA', -'IMP_COA_RUS', -'IMP_COA_USA', -] -commodities_in = [ -] -commodities_out = [ -'MIN_OIL_ADD', -'MIN_OIL_HOIL', -'MIN_OIL_OBI', -'MIN_GAS_NGA', -'MIN_COA_BCO', -'MIN_COA_HCO', -'RNW_POT_GEO', -'RNW_POT_HYD', -'RNW_POT_SOL_PV', -'RNW_POT_SOL_CSP', -'RNW_POT_TDL', -'RNW_POT_WAV', -'RNW_POT_WIN_ON', -'RNW_POT_WIN_OFF', -'RNW_POT_BIO_SLD', -'RNW_POT_BIO_CRP', -'RNW_POT_BIO_OTH', -'RNW_POT_BIO_WOD', -'IMP_GAS_NGA', -'IMP_OIL_PRD', -'IMP_COA_HCO', -'IMP_COA_BCO', -'IMP_GAS_LNG', -'UPS_URA_NAT', -'SNK_DMY' -] - -# Input - -comm = list() -tech = list() -vflow_in_2010 = list() -vflow_in_2015 = list() -vflow_in_2020 = list() -vflow_in_2025 = list() -vflow_in_2030 = list() -vflow_in_2035 = list() -vflow_in_2040 = list() -vflow_in_2045 = list() -vflow_in_2050 = list() - -# To classify by technologies, commodities or both -if technologies_in_flag == 1 and commodities_in_flag == 1: - for i_tech in range(0, len(technologies)): - for i_comm in range(0, len(commodities_in)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - vflow_in = np.zeros_like(years, dtype=float) - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append(commodities_in[i_comm]) - tech.append(technologies[i_tech]) - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -elif technologies_in_flag == 0 and commodities_in_flag == 1: - for i_comm in range(0, len(commodities_in)): - vflow_in = np.zeros_like(years, dtype=float) - for i_tech in range(0, len(technologies)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append(commodities_in[i_comm]) - tech.append('') - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -elif technologies_in_flag == 1 and commodities_in_flag == 0: - for i_tech in range(0, len(technologies)): - vflow_in = np.zeros_like(years, dtype=float) - for i_comm in range(0, len(commodities_in)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append('') - tech.append(technologies[i_tech]) - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -# To find rows with only zero elements -delete_index = list() -for i_comm in range(0, len(comm)): - flag_zero = 0 - if vflow_in_2010[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2015[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2020[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2025[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2030[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2035[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2040[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2045[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2050[i_comm] != 0: - flag_zero = 1 - - if flag_zero == 0: - delete_index.append(i_comm) - -# To remove rows with only zeros elements -for i_delete in range(0, len(delete_index)): - tech.pop(delete_index[i_delete]) - comm.pop(delete_index[i_delete]) - vflow_in_2010.pop(delete_index[i_delete]) - vflow_in_2015.pop(delete_index[i_delete]) - vflow_in_2020.pop(delete_index[i_delete]) - vflow_in_2025.pop(delete_index[i_delete]) - vflow_in_2030.pop(delete_index[i_delete]) - vflow_in_2035.pop(delete_index[i_delete]) - vflow_in_2040.pop(delete_index[i_delete]) - vflow_in_2045.pop(delete_index[i_delete]) - vflow_in_2050.pop(delete_index[i_delete]) - - for j_delete in range(0, len(delete_index)): - delete_index[j_delete] = delete_index[j_delete] - 1 - -# Building and printing the table -vflow_in_DF = pd.DataFrame( - { - "tech": pd.Series(tech, dtype='str'), - "input_comm": pd.Series(comm, dtype='str'), - "2010": pd.Series(vflow_in_2010, dtype='float'), - "2015": pd.Series(vflow_in_2015, dtype='float'), - "2020": pd.Series(vflow_in_2020, dtype='float'), - "2025": pd.Series(vflow_in_2025, dtype='float'), - "2030": pd.Series(vflow_in_2030, dtype='float'), - "2035": pd.Series(vflow_in_2035, dtype='float'), - "2040": pd.Series(vflow_in_2040, dtype='float'), - "2045": pd.Series(vflow_in_2045, dtype='float'), - "2050": pd.Series(vflow_in_2050, dtype='float'), - } -) - -pd.set_option('display.max_rows', len(vflow_in_DF)) -pd.set_option('display.max_columns', 16) -pd.set_option('display.precision', 2) -pd.set_option('display.float_format', '{:5,.2f}'.format) -print(vflow_in_DF) -print("\n") -pd.reset_option('display.max_rows') - - - -# Output - -comm = list() -tech = list() -vflow_out_2010 = list() -vflow_out_2015 = list() -vflow_out_2020 = list() -vflow_out_2025 = list() -vflow_out_2030 = list() -vflow_out_2035 = list() -vflow_out_2040 = list() -vflow_out_2045 = list() -vflow_out_2050 = list() - -# To classify by technologies, commodities or both -if technologies_out_flag == 1 and commodities_out_flag == 1: - for i_tech in range(0, len(technologies)): - for i_comm in range(0, len(commodities_out)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - vflow_out = np.zeros_like(years, dtype=float) - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append(commodities_out[i_comm]) - tech.append(technologies[i_tech]) - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -elif technologies_out_flag == 0 and commodities_out_flag == 1: - for i_comm in range(0, len(commodities_out)): - vflow_out = np.zeros_like(years, dtype=float) - for i_tech in range(0, len(technologies)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append(commodities_out[i_comm]) - tech.append('') - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -elif technologies_out_flag == 1 and commodities_out_flag == 0: - for i_tech in range(0, len(technologies)): - vflow_out = np.zeros_like(years, dtype=float) - for i_comm in range(0, len(commodities_out)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append('') - tech.append(technologies[i_tech]) - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -# To find rows with only zero elements -delete_index = list() -for i_comm in range(0, len(comm)): - flag_zero = 0 - if vflow_out_2010[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2015[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2020[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2025[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2030[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2035[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2040[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2045[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2050[i_comm] != 0: - flag_zero = 1 - - if flag_zero == 0: - delete_index.append(i_comm) - -# To remove rows with only zeros elements -for i_delete in range(0, len(delete_index)): - tech.pop(delete_index[i_delete]) - comm.pop(delete_index[i_delete]) - vflow_out_2010.pop(delete_index[i_delete]) - vflow_out_2015.pop(delete_index[i_delete]) - vflow_out_2020.pop(delete_index[i_delete]) - vflow_out_2025.pop(delete_index[i_delete]) - vflow_out_2030.pop(delete_index[i_delete]) - vflow_out_2035.pop(delete_index[i_delete]) - vflow_out_2040.pop(delete_index[i_delete]) - vflow_out_2050.pop(delete_index[i_delete]) - vflow_out_2045.pop(delete_index[i_delete]) - - for j_delete in range(0, len(delete_index)): - delete_index[j_delete] = delete_index[j_delete] - 1 - -# Building and printing the table -vflow_out_DF = pd.DataFrame( - { - "tech": pd.Series(tech, dtype='str'), - "output_comm": pd.Series(comm, dtype='str'), - "2010": pd.Series(vflow_out_2010, dtype='float'), - "2015": pd.Series(vflow_out_2015, dtype='float'), - "2020": pd.Series(vflow_out_2020, dtype='float'), - "2025": pd.Series(vflow_out_2025, dtype='float'), - "2030": pd.Series(vflow_out_2030, dtype='float'), - "2035": pd.Series(vflow_out_2035, dtype='float'), - "2040": pd.Series(vflow_out_2040, dtype='float'), - "2045": pd.Series(vflow_out_2045, dtype='float'), - "2050": pd.Series(vflow_out_2050, dtype='float'), - } -) - -pd.set_option('display.max_rows', len(vflow_out_DF)) -pd.set_option('display.max_columns', 16) -pd.set_option('display.precision', 2) -pd.set_option('display.float_format', '{:0,.2f}'.format) -print(vflow_out_DF) -print("\n") -pd.reset_option('display.max_rows') - - - -# Save to Excel - - - -if to_excel_flag == 1: - writer = pd.ExcelWriter(sector_name + '.xlsx', engine='xlsxwriter') - vflow_in_DF.to_excel(writer, sheet_name='Input') - vflow_out_DF.to_excel(writer, sheet_name='Output') - writer.save() \ No newline at end of file diff --git a/temoa-energysystem/Temoa_Europe.sql b/temoa-energysystem/Temoa_Europe.sql index 97b9778..eaa019b 100644 --- a/temoa-energysystem/Temoa_Europe.sql +++ b/temoa-energysystem/Temoa_Europe.sql @@ -2223,7 +2223,7 @@ INSERT INTO "groups" VALUES ('TRA_FT_COA_GRP',''); INSERT INTO "groups" VALUES ('TRA_FT_GSL_GRP',''); INSERT INTO "groups" VALUES ('TRA_FT_AVG_GRP',''); INSERT INTO "groups" VALUES ('TRA_FT_DST_GRP',''); -INSERT INTO "groups" VALUES ('TRA_FT_HFO_GRP',''); +--INSERT INTO "groups" VALUES ('TRA_FT_HFO_GRP',''); --INSERT INTO "groups" VALUES ('TRA_FT_DST_B30_GRP',''); INSERT INTO "groups" VALUES ('TRA_FT_JTK_DOM_GRP',''); --INSERT INTO "groups" VALUES ('TRA_FT_JTK_INT_GRP',''); @@ -2395,7 +2395,7 @@ INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_COA','TRA_FT_COA_GRP',1.0,'' INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_GSL','TRA_FT_GSL_GRP',1.0,''); INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_AVG','TRA_FT_AVG_GRP',1.0,''); INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_DST','TRA_FT_DST_GRP',1.0,''); -INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_HFO','TRA_FT_HFO_GRP',1.0,''); +--INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_HFO','TRA_FT_HFO_GRP',1.0,''); --INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_DST_B30','TRA_FT_DST_B30_GRP',1.0,''); INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_JTK_DOM','TRA_FT_JTK_DOM_GRP',1.0,''); --INSERT INTO "TechGroupWeight" VALUES ('EUR','TRA_FT_JTK_INT','TRA_FT_JTK_INT_GRP',1.0,''); @@ -8147,8 +8147,8 @@ insert into "Efficiency" VALUES ('EUR','PRI_OIL_AVG','TRA_FT_AVG',2005,'TRA_AVG' insert into "Efficiency" VALUES ('EUR','PRI_OIL_JTG','TRA_FT_AVG',2005,'TRA_AVG',1.0,''); -- EUROfusion WPSES, EUROfusion TIMES Model, 2023 insert into "Efficiency" VALUES ('EUR','SYN_MTH','TRA_FT_AVG',2005,'TRA_AVG',1.0*19.7/34.6,''); -- EUROfusion WPSES, EUROfusion TIMES Model, 2023 insert into "Efficiency" VALUES ('EUR','PRI_OIL_HFO_kt','TRA_FT_HFO',2005,'TRA_HFO',0.043,''); -- EUROfusion WPSES, EUROfusion TIMES Model, 2023 -INSERT INTO "Efficiency" VALUES ('EUR','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',0.037,''); -INSERT INTO "Efficiency" VALUES ('EUR','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',0.044,''); +--INSERT INTO "Efficiency" VALUES ('EUR','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',0.037,''); +--INSERT INTO "Efficiency" VALUES ('EUR','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',0.044,''); insert into "Efficiency" VALUES ('EUR','ELC_CEN','TRA_FT_ELC',2005,'TRA_ELC',0.925,''); -- EUROfusion WPSES, EUROfusion TIMES Model, 2023 insert into "Efficiency" VALUES ('EUR','ELC_DIS','TRA_FT_ELC',2005,'TRA_ELC',0.950,''); -- EUROfusion WPSES, EUROfusion TIMES Model, 2023 insert into "Efficiency" VALUES ('EUR','PRI_GAS_LNG','TRA_FT_LNG',2010,'TRA_LNG',1.0,''); -- EUROfusion WPSES, EUROfusion TIMES Model, 2023 @@ -10302,10 +10302,10 @@ INSERT INTO "TechInputSplit" VALUES ('EUR',2010,'PRI_OIL_DST_kt','TRA_FT_DST',0. INSERT INTO "TechInputSplit" VALUES ('EUR',2020,'PRI_OIL_DST_kt','TRA_FT_DST',0.520,''); INSERT INTO "TechInputSplit" VALUES ('EUR',2050,'PRI_OIL_DST_kt','TRA_FT_DST',0.050,''); INSERT INTO "TechInputSplit" VALUES ('EUR',2010,'RNW_BIO_EMHV','TRA_FT_DST',0.030,''); -INSERT INTO "TechInputSplit" VALUES ('EUR',2010,'PRI_OIL_HFO_kt','TRA_FT_HFO',0.520,''); -INSERT INTO "TechInputSplit" VALUES ('EUR',2020,'PRI_OIL_HFO_kt','TRA_FT_HFO',0.520,''); -INSERT INTO "TechInputSplit" VALUES ('EUR',2050,'PRI_OIL_HFO_kt','TRA_FT_HFO',0.050,''); -INSERT INTO "TechInputSplit" VALUES ('EUR',2010,'RNW_BIO_EMHV','TRA_FT_HFO',0.030,''); +--INSERT INTO "TechInputSplit" VALUES ('EUR',2010,'PRI_OIL_HFO_kt','TRA_FT_HFO',0.520,''); +--INSERT INTO "TechInputSplit" VALUES ('EUR',2020,'PRI_OIL_HFO_kt','TRA_FT_HFO',0.520,''); +--INSERT INTO "TechInputSplit" VALUES ('EUR',2050,'PRI_OIL_HFO_kt','TRA_FT_HFO',0.050,''); +--INSERT INTO "TechInputSplit" VALUES ('EUR',2010,'RNW_BIO_EMHV','TRA_FT_HFO',0.030,''); INSERT INTO "TechInputSplit" VALUES ('EUR',2010,'PRI_OIL_KER_kt','TRA_FT_JTK_DOM',0.528,''); INSERT INTO "TechInputSplit" VALUES ('EUR',2020,'PRI_OIL_KER_kt','TRA_FT_JTK_DOM',0.528,''); INSERT INTO "TechInputSplit" VALUES ('EUR',2050,'PRI_OIL_KER_kt','TRA_FT_JTK_DOM',0.050,''); @@ -11390,13 +11390,13 @@ INSERT INTO "MaxInputGroup" VALUES ('EUR',2015,'RNW_BIO_EMHV','TRA_FT_DST_GRP',0 INSERT INTO "MaxInputGroup" VALUES ('EUR',2015,'RNW_BIO_HVO','TRA_FT_DST_GRP',0.0484,''); INSERT INTO "MaxInputGroup" VALUES ('EUR',2020,'RNW_BIO_EMHV','TRA_FT_DST_GRP',0.105,''); INSERT INTO "MaxInputGroup" VALUES ('EUR',2020,'RNW_BIO_HVO','TRA_FT_DST_GRP',0.0484,''); ---INSERT INTO "MaxInputGroup" VALUES ('EUR',2050,'RNW_BIO_EMHV','TRA_FT_DST_GRP',0.900,''); ---INSERT INTO "MaxInputGroup" VALUES ('EUR',2050,'RNW_BIO_HVO','TRA_FT_DST_GRP',0.900,''); -INSERT INTO "MaxInputGroup" VALUES ('EUR',2010,'RNW_BIO_EMHV','TRA_FT_HFO_GRP',0.074,''); -INSERT INTO "MaxInputGroup" VALUES ('EUR',2015,'RNW_BIO_EMHV','TRA_FT_HFO_GRP',0.074,''); -INSERT INTO "MaxInputGroup" VALUES ('EUR',2015,'RNW_BIO_HVO','TRA_FT_HFO_GRP',0.0484,''); -INSERT INTO "MaxInputGroup" VALUES ('EUR',2020,'RNW_BIO_EMHV','TRA_FT_HFO_GRP',0.105,''); -INSERT INTO "MaxInputGroup" VALUES ('EUR',2020,'RNW_BIO_HVO','TRA_FT_HFO_GRP',0.0484,''); +INSERT INTO "MaxInputGroup" VALUES ('EUR',2050,'RNW_BIO_EMHV','TRA_FT_DST_GRP',0.900,''); +INSERT INTO "MaxInputGroup" VALUES ('EUR',2050,'RNW_BIO_HVO','TRA_FT_DST_GRP',0.900,''); +--INSERT INTO "MaxInputGroup" VALUES ('EUR',2010,'RNW_BIO_EMHV','TRA_FT_HFO_GRP',0.074,''); +--INSERT INTO "MaxInputGroup" VALUES ('EUR',2015,'RNW_BIO_EMHV','TRA_FT_HFO_GRP',0.074,''); +--INSERT INTO "MaxInputGroup" VALUES ('EUR',2015,'RNW_BIO_HVO','TRA_FT_HFO_GRP',0.0484,''); +--INSERT INTO "MaxInputGroup" VALUES ('EUR',2020,'RNW_BIO_EMHV','TRA_FT_HFO_GRP',0.105,''); +--INSERT INTO "MaxInputGroup" VALUES ('EUR',2020,'RNW_BIO_HVO','TRA_FT_HFO_GRP',0.0484,''); --INSERT INTO "MaxInputGroup" VALUES ('EUR',2050,'RNW_BIO_EMHV','TRA_FT_HFO_GRP',0.900,''); --INSERT INTO "MaxInputGroup" VALUES ('EUR',2050,'RNW_BIO_HVO','TRA_FT_HFO_GRP',0.900,''); --INSERT INTO "MaxInputGroup" VALUES ('EUR',2010,'RNW_BIO_ETH','TRA_FT_GSL_E85_GRP',0.859,''); @@ -18526,8 +18526,8 @@ INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_KER_FT','TRA_FT_ INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_EMHV','TRA_FT_DST',2005,'TRA_DST',(-73.25)*1.055,'(kt/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_HVO','TRA_FT_DST',2015,'TRA_DST',(-73.25)*1.055,'(kt/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_DST_FT','TRA_FT_DST',2020,'TRA_DST',(-73.25)*1.055,'(kt/PJ)',''); -INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',(-74.92)*1.055,'(kt/PJ)',''); -INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',(-74.92)*1.055,'(kt/PJ)',''); +--INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',(-74.92)*1.055,'(kt/PJ)',''); +--INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CO2','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',(-74.92)*1.055,'(kt/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','IND_CO2','RNW_POT_BIO_GAS','IND_FT_NGA',2005,'IND_NGA',(-53.06)*1.055,'(kt/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','IND_CO2','HH2_BL','IND_FT_NGA',2020,'IND_NGA',(-53.06)*1.055,'(kt/PJ)',''); @@ -18566,8 +18566,8 @@ INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_KER_FT','TRA_FT_ INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_EMHV','TRA_FT_DST',2005,'TRA_DST',(-3.00)*1.055,'(t/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_HVO','TRA_FT_DST',2015,'TRA_DST',(-3.00)*1.055,'(t/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_DST_FT','TRA_FT_DST',2020,'TRA_DST',(-3.00)*1.055,'(t/PJ)',''); -INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',(-3.00)*1.055,'(t/PJ)',''); -INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',(-3.00)*1.055,'(t/PJ)',''); +--INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',(-3.00)*1.055,'(t/PJ)',''); +--INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_CH4','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',(-3.00)*1.055,'(t/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','IND_CH4','RNW_POT_BIO_GAS','IND_FT_NGA',2005,'IND_NGA',(-1.00+3.20)*1.055,'(t/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','IND_CH4','HH2_BL','IND_FT_NGA',2020,'IND_NGA',(-1.00)*1.055,'(t/PJ)',''); @@ -18602,8 +18602,8 @@ INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_KER_FT','TRA_FT_ INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_EMHV','TRA_FT_DST',2005,'TRA_DST',(-0.60+0.11)*1.055,'(t/PJ)',''); -- U.S. EPA, "Emission Factors for Greenhouse Gas Inventories", 2014 INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_HVO','TRA_FT_DST',2015,'TRA_DST',(-0.60+0.11)*1.055,'(t/PJ)',''); -- U.S. EPA, "Emission Factors for Greenhouse Gas Inventories", 2014 INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_DST_FT','TRA_FT_DST',2020,'TRA_DST',(-0.60+0.11)*1.055,'(t/PJ)',''); -- U.S. EPA, "Emission Factors for Greenhouse Gas Inventories", 2014 -INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',(-0.60+0.11)*1.055,'(t/PJ)',''); -- U.S. EPA, "Emission Factors for Greenhouse Gas Inventories", 2014 -INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',(-0.60+0.11)*1.055,'(t/PJ)',''); -- U.S. EPA, "Emission Factors for Greenhouse Gas Inventories", 2014 +--INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_EMHV','TRA_FT_HFO',2005,'TRA_HFO',(-0.60+0.11)*1.055,'(t/PJ)',''); -- U.S. EPA, "Emission Factors for Greenhouse Gas Inventories", 2014 +--INSERT INTO "EmissionActivity" VALUES ('EUR','TRA_N2O','RNW_BIO_HVO','TRA_FT_HFO',2015,'TRA_HFO',(-0.60+0.11)*1.055,'(t/PJ)',''); -- U.S. EPA, "Emission Factors for Greenhouse Gas Inventories", 2014 INSERT INTO "EmissionActivity" VALUES ('EUR','IND_N2O','RNW_POT_BIO_GAS','IND_FT_NGA',2005,'IND_NGA',(-0.1)*1.055,'(t/PJ)',''); INSERT INTO "EmissionActivity" VALUES ('EUR','IND_N2O','HH2_BL','IND_FT_NGA',2020,'IND_NGA',(-0.1)*1.055,'(t/PJ)',''); diff --git a/temoa-energysystem/Temoa_Europe.sqlite b/temoa-energysystem/Temoa_Europe.sqlite index b178612..8cc86f6 100644 Binary files a/temoa-energysystem/Temoa_Europe.sqlite and b/temoa-energysystem/Temoa_Europe.sqlite differ diff --git a/temoa-energysystem/_1_Transport_fueltechs.xlsx b/temoa-energysystem/_1_Transport_fueltechs.xlsx deleted file mode 100644 index c3c63d7..0000000 Binary files a/temoa-energysystem/_1_Transport_fueltechs.xlsx and /dev/null differ diff --git a/temoa-energysystem/_2_Primary energy supply.xlsx b/temoa-energysystem/_2_Primary energy supply.xlsx deleted file mode 100644 index 606d1cd..0000000 Binary files a/temoa-energysystem/_2_Primary energy supply.xlsx and /dev/null differ diff --git a/temoa-energysystem/_3_Electricity.xlsx b/temoa-energysystem/_3_Electricity.xlsx deleted file mode 100644 index 638676e..0000000 Binary files a/temoa-energysystem/_3_Electricity.xlsx and /dev/null differ diff --git a/temoa-energysystem/_4_Hydrogen.xlsx b/temoa-energysystem/_4_Hydrogen.xlsx deleted file mode 100644 index ade0a07..0000000 Binary files a/temoa-energysystem/_4_Hydrogen.xlsx and /dev/null differ diff --git a/temoa-energysystem/_5_Industry_fueltechs.xlsx b/temoa-energysystem/_5_Industry_fueltechs.xlsx deleted file mode 100644 index 3f98151..0000000 Binary files a/temoa-energysystem/_5_Industry_fueltechs.xlsx and /dev/null differ diff --git a/temoa-energysystem/__1_Industry_postprocessing.py b/temoa-energysystem/__1_Industry_postprocessing.py deleted file mode 100644 index dca1f58..0000000 --- a/temoa-energysystem/__1_Industry_postprocessing.py +++ /dev/null @@ -1,410 +0,0 @@ -import pandas as pd -import numpy as np -import sqlite3 - -database_name = "Temoa_Europe_solved.sqlite" -sector_name = "_1_Transport_fueltechs" -years = np.array([2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050]) - -# Following 4 lines should be used to set the export results. -# Set the flags to 1 to split by technologies/commodities, to 0 to not split. -# Set to_excel_flag to 1 to export data into a Excel file -# The arrays are used to select the technologies/commodities that should be considered. - -technologies_in_flag = 1 -technologies_out_flag = 1 -commodities_in_flag = 1 -commodities_out_flag = 1 -to_excel_flag = 1 - -technologies=[ -'TRA_FT_COA', -'TRA_FT_AVG', -'TRA_FT_DST', -'TRA_FT_ELC', -'TRA_FT_GSL', -'TRA_FT_HFO', -'TRA_FT_JTK', -'TRA_FT_LPG', -'TRA_FT_NGA', -'TRA_FT_LNG', -'TRA_FT_ETH', -'TRA_FT_AMM_ELCSYS_CU', -'TRA_FT_AMM_ELCSYS_DT', -'TRA_FT_MTH', -'HH2_DEL_TRA_LH2_C_1_NEW', -'HH2_DEL_TRA_GH2_C_1_NEW', -'HH2_DEL_TRA_LH2_C_2_NEW', -'HH2_DEL_TRA_GH2_C_3_NEW', -'HH2_DEL_TRA_GH2_C_4_NEW', -'HH2_DEL_TRA_GH2_C_5_NEW', -'HH2_DEL_TRA_LH2_D_1_NEW', -'HH2_DEL_TRA_GH2_D_1_NEW', -'HH2_BLD_TRA_NEW', -'HH2_BLD_TRA_NEW', -] -commodities_in = [ -'PRI_COA_HCO', -'PRI_COA_BCO', -'PRI_GAS_NGA', -'SYN_NGA', -'SYN_CCUS_NGA', -'RNW_POT_BIO_GAS', -'HH2_BL', -'PRI_OIL_LPG', -'PRI_OIL_GSL_kt', -'RNW_BIO_ETBE', -'RNW_BIO_ETH', -'PRI_OIL_DST_kt', -'RNW_BIO_EMHV', -'RNW_BIO_HVO', -'RNW_BIO_DST_FT', -'SYN_DST_kt', -'PRI_OIL_KER_kt', -'RNW_BIO_KER_FT', -'PRI_OIL_AVG', -'PRI_OIL_JTG', -'SYN_MTH', -'SYN_DST', -'PRI_OIL_HFO', -'ELC_CEN', -'ELC_DIS', -'PRI_GAS_LNG', -'HH2_WE_CU', -'HH2_WE_DT', -] -commodities_out = [ -'TRA_GSL', -'TRA_JTK', -'TRA_AVG', -'TRA_DST', -'TRA_HFO', -'TRA_COA', -'TRA_ELC', -'TRA_LPG', -'TRA_NGA', -'TRA_ETH', -'TRA_GH2', -'TRA_LH2', -'TRA_LNG', -'TRA_AMM', -'TRA_MTH' -] - -# Input - -comm = list() -tech = list() -vflow_in_2010 = list() -vflow_in_2015 = list() -vflow_in_2020 = list() -vflow_in_2025 = list() -vflow_in_2030 = list() -vflow_in_2035 = list() -vflow_in_2040 = list() -vflow_in_2045 = list() -vflow_in_2050 = list() - -# To classify by technologies, commodities or both -if technologies_in_flag == 1 and commodities_in_flag == 1: - for i_tech in range(0, len(technologies)): - for i_comm in range(0, len(commodities_in)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - vflow_in = np.zeros_like(years, dtype=float) - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append(commodities_in[i_comm]) - tech.append(technologies[i_tech]) - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -elif technologies_in_flag == 0 and commodities_in_flag == 1: - for i_comm in range(0, len(commodities_in)): - vflow_in = np.zeros_like(years, dtype=float) - for i_tech in range(0, len(technologies)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append(commodities_in[i_comm]) - tech.append('') - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -elif technologies_in_flag == 1 and commodities_in_flag == 0: - for i_tech in range(0, len(technologies)): - vflow_in = np.zeros_like(years, dtype=float) - for i_comm in range(0, len(commodities_in)): - conn = sqlite3.connect(database_name) - Output_VFlow_In = pd.read_sql("select * from Output_VFlow_In where input_comm = '" + commodities_in[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_In.t_periods)): - if years[i_year] == Output_VFlow_In.t_periods[i]: - vflow_in[i_year] = vflow_in[i_year] + Output_VFlow_In.vflow_in[i] - comm.append('') - tech.append(technologies[i_tech]) - vflow_in_2010.append(vflow_in[0]) - vflow_in_2015.append(vflow_in[1]) - vflow_in_2020.append(vflow_in[2]) - vflow_in_2025.append(vflow_in[3]) - vflow_in_2030.append(vflow_in[4]) - vflow_in_2035.append(vflow_in[5]) - vflow_in_2040.append(vflow_in[6]) - vflow_in_2045.append(vflow_in[7]) - vflow_in_2050.append(vflow_in[8]) - -# To find rows with only zero elements -delete_index = list() -for i_comm in range(0, len(comm)): - flag_zero = 0 - if vflow_in_2010[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2015[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2020[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2025[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2030[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2035[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2040[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2045[i_comm] != 0: - flag_zero = 1 - elif vflow_in_2050[i_comm] != 0: - flag_zero = 1 - - if flag_zero == 0: - delete_index.append(i_comm) - -# To remove rows with only zeros elements -for i_delete in range(0, len(delete_index)): - tech.pop(delete_index[i_delete]) - comm.pop(delete_index[i_delete]) - vflow_in_2010.pop(delete_index[i_delete]) - vflow_in_2015.pop(delete_index[i_delete]) - vflow_in_2020.pop(delete_index[i_delete]) - vflow_in_2025.pop(delete_index[i_delete]) - vflow_in_2030.pop(delete_index[i_delete]) - vflow_in_2035.pop(delete_index[i_delete]) - vflow_in_2040.pop(delete_index[i_delete]) - vflow_in_2045.pop(delete_index[i_delete]) - vflow_in_2050.pop(delete_index[i_delete]) - - for j_delete in range(0, len(delete_index)): - delete_index[j_delete] = delete_index[j_delete] - 1 - -# Building and printing the table -vflow_in_DF = pd.DataFrame( - { - "tech": pd.Series(tech, dtype='str'), - "input_comm": pd.Series(comm, dtype='str'), - "2010": pd.Series(vflow_in_2010, dtype='float'), - "2015": pd.Series(vflow_in_2015, dtype='float'), - "2020": pd.Series(vflow_in_2020, dtype='float'), - "2025": pd.Series(vflow_in_2025, dtype='float'), - "2030": pd.Series(vflow_in_2030, dtype='float'), - "2035": pd.Series(vflow_in_2035, dtype='float'), - "2040": pd.Series(vflow_in_2040, dtype='float'), - "2045": pd.Series(vflow_in_2045, dtype='float'), - "2050": pd.Series(vflow_in_2050, dtype='float'), - } -) - -pd.set_option('display.max_rows', len(vflow_in_DF)) -pd.set_option('display.max_columns', 16) -pd.set_option('display.precision', 2) -pd.set_option('display.float_format', '{:5,.2f}'.format) -print(vflow_in_DF) -print("\n") -pd.reset_option('display.max_rows') - - - -# Output - -comm = list() -tech = list() -vflow_out_2010 = list() -vflow_out_2015 = list() -vflow_out_2020 = list() -vflow_out_2025 = list() -vflow_out_2030 = list() -vflow_out_2035 = list() -vflow_out_2040 = list() -vflow_out_2045 = list() -vflow_out_2050 = list() - -# To classify by technologies, commodities or both -if technologies_out_flag == 1 and commodities_out_flag == 1: - for i_tech in range(0, len(technologies)): - for i_comm in range(0, len(commodities_out)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - vflow_out = np.zeros_like(years, dtype=float) - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append(commodities_out[i_comm]) - tech.append(technologies[i_tech]) - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -elif technologies_out_flag == 0 and commodities_out_flag == 1: - for i_comm in range(0, len(commodities_out)): - vflow_out = np.zeros_like(years, dtype=float) - for i_tech in range(0, len(technologies)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append(commodities_out[i_comm]) - tech.append('') - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -elif technologies_out_flag == 1 and commodities_out_flag == 0: - for i_tech in range(0, len(technologies)): - vflow_out = np.zeros_like(years, dtype=float) - for i_comm in range(0, len(commodities_out)): - conn = sqlite3.connect(database_name) - Output_VFlow_Out = pd.read_sql("select * from Output_VFlow_Out where output_comm = '" + commodities_out[i_comm] + "' and tech = '" + technologies[i_tech] + "'", conn) - conn.close() - for i_year in range(0, len(years)): - for i in range(0, len(Output_VFlow_Out.t_periods)): - if years[i_year] == Output_VFlow_Out.t_periods[i]: - vflow_out[i_year] = vflow_out[i_year] + Output_VFlow_Out.vflow_out[i] - comm.append('') - tech.append(technologies[i_tech]) - vflow_out_2010.append(vflow_out[0]) - vflow_out_2015.append(vflow_out[1]) - vflow_out_2020.append(vflow_out[2]) - vflow_out_2025.append(vflow_out[3]) - vflow_out_2030.append(vflow_out[4]) - vflow_out_2035.append(vflow_out[5]) - vflow_out_2040.append(vflow_out[6]) - vflow_out_2045.append(vflow_out[7]) - vflow_out_2050.append(vflow_out[8]) - -# To find rows with only zero elements -delete_index = list() -for i_comm in range(0, len(comm)): - flag_zero = 0 - if vflow_out_2010[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2015[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2020[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2025[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2030[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2035[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2040[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2045[i_comm] != 0: - flag_zero = 1 - elif vflow_out_2050[i_comm] != 0: - flag_zero = 1 - - if flag_zero == 0: - delete_index.append(i_comm) - -# To remove rows with only zeros elements -for i_delete in range(0, len(delete_index)): - tech.pop(delete_index[i_delete]) - comm.pop(delete_index[i_delete]) - vflow_out_2010.pop(delete_index[i_delete]) - vflow_out_2015.pop(delete_index[i_delete]) - vflow_out_2020.pop(delete_index[i_delete]) - vflow_out_2025.pop(delete_index[i_delete]) - vflow_out_2030.pop(delete_index[i_delete]) - vflow_out_2035.pop(delete_index[i_delete]) - vflow_out_2040.pop(delete_index[i_delete]) - vflow_out_2050.pop(delete_index[i_delete]) - vflow_out_2045.pop(delete_index[i_delete]) - - for j_delete in range(0, len(delete_index)): - delete_index[j_delete] = delete_index[j_delete] - 1 - -# Building and printing the table -vflow_out_DF = pd.DataFrame( - { - "tech": pd.Series(tech, dtype='str'), - "output_comm": pd.Series(comm, dtype='str'), - "2010": pd.Series(vflow_out_2010, dtype='float'), - "2015": pd.Series(vflow_out_2015, dtype='float'), - "2020": pd.Series(vflow_out_2020, dtype='float'), - "2025": pd.Series(vflow_out_2025, dtype='float'), - "2030": pd.Series(vflow_out_2030, dtype='float'), - "2035": pd.Series(vflow_out_2035, dtype='float'), - "2040": pd.Series(vflow_out_2040, dtype='float'), - "2045": pd.Series(vflow_out_2045, dtype='float'), - "2050": pd.Series(vflow_out_2050, dtype='float'), - } -) - -pd.set_option('display.max_rows', len(vflow_out_DF)) -pd.set_option('display.max_columns', 16) -pd.set_option('display.precision', 2) -pd.set_option('display.float_format', '{:0,.2f}'.format) -print(vflow_out_DF) -print("\n") -pd.reset_option('display.max_rows') - - - -# Save to Excel - - - -if to_excel_flag == 1: - writer = pd.ExcelWriter(sector_name + '.xlsx', engine='xlsxwriter') - vflow_in_DF.to_excel(writer, sheet_name='Input') - vflow_out_DF.to_excel(writer, sheet_name='Output') - writer.save() \ No newline at end of file