diff --git a/Conversion-Script/Convert_Wiliam_result_IAMC-format.ipynb b/Conversion-Script/Convert_Wiliam_result_IAMC-format.ipynb index 16ec6e0..eb58989 100644 --- a/Conversion-Script/Convert_Wiliam_result_IAMC-format.ipynb +++ b/Conversion-Script/Convert_Wiliam_result_IAMC-format.ipynb @@ -161,13 +161,24 @@ "metadata": {}, "outputs": [], "source": [ + "# Check for duplicate rows\n", + "duplicate_rows = scenario_variable_df[scenario_variable_df.duplicated()]\n", + "\n", + "# Display duplicate rows\n", + "print(\"Duplicate Rows:\")\n", + "print(duplicate_rows)\n", + "\n", + "# Count the number of duplicate rows\n", + "num_duplicate_rows = duplicate_rows.shape[0]\n", + "print(\"Number of Duplicate Rows:\", num_duplicate_rows)\n", + "\n", "# Read the CSV file into a pandas DataFrame\n", - "data_name_df = pd.read_excel('Variable_Reference/Variable_name_IAMC.xlsx')\n", + "data_name_df = pd.read_excel(\"Variable_Reference/Variable_name_IAMC.xlsx\")\n", "# Remplacer les tirets du bas par des espaces dans la colonne\n", "# data_name_df['WILIAM_variable'] = data_name_df['WILIAM_variable'].str.replace('_', ' ')\n", "# Drop rows with NaN values which corresponds to values not conserv for the final upload of data in IAMC format\n", - "data_name_df.dropna(subset=['IAMC_variable'],inplace=True)\n", - "data_name_df" + "data_name_df.dropna(subset=[\"IAMC_variable\"], inplace=True)\n", + "data_name_df\n" ] }, { @@ -184,7 +195,7 @@ "\n", "# Keep only the rows where the value in column 'Variable' belongs to the list of wanted values \n", "variable_required_list = data_name_df['IAMC_variable'].to_list()\n", - "scenario_variable_df = scenario_variable_df[scenario_variable_df['Variable'].isin(variable_required_list)]" + "# scenario_variable_df = scenario_variable_df[scenario_variable_df['Variable'].isin(variable_required_list)]\n" ] }, { @@ -273,39 +284,79 @@ "outputs": [], "source": [ "# Dict used to check if the subscripts are a country\n", - "country_dict= {'EU27':1, 'UK':1,'CHINA':1,'EASOC':1,'INDIA':1,'LATAM':1,'RUSSIA':1,'USMCA':1,'LROW':1,'AUSTRIA':1,'BELGIUM':1,'BULGARIA':1,'CROATIA':1,'CYPRUS':1,'CZECH_REPUBLIC':1,'DENMARK':1,'ESTONIA':1,'FINLAND':1,'FRANCE':1,'GERMANY':1,'GREECE':1,'HUNGARY':1,'IRELAND':1,'ITALY':1,'LATVIA':1,'LITHUANIA':1,'LUXEMBOURG':1,'MALTA':1,'NETHERLANDS':1,'POLAND':1,'PORTUGAL':1,'ROMANIA':1,'SLOVAKIA':1,'SLOVENIA':1,'SPAIN':1,'SWEDEN':1}\n", - "\n", - "# Aggregate the subscripts at the end of the variable \n", + "country_dict = {\n", + " \"EU27\": 1,\n", + " \"UK\": 1,\n", + " \"CHINA\": 1,\n", + " \"EASOC\": 1,\n", + " \"INDIA\": 1,\n", + " \"LATAM\": 1,\n", + " \"RUSSIA\": 1,\n", + " \"USMCA\": 1,\n", + " \"LROW\": 1,\n", + " \"AUSTRIA\": 1,\n", + " \"BELGIUM\": 1,\n", + " \"BULGARIA\": 1,\n", + " \"CROATIA\": 1,\n", + " \"CYPRUS\": 1,\n", + " \"CZECH_REPUBLIC\": 1,\n", + " \"DENMARK\": 1,\n", + " \"ESTONIA\": 1,\n", + " \"FINLAND\": 1,\n", + " \"FRANCE\": 1,\n", + " \"GERMANY\": 1,\n", + " \"GREECE\": 1,\n", + " \"HUNGARY\": 1,\n", + " \"IRELAND\": 1,\n", + " \"ITALY\": 1,\n", + " \"LATVIA\": 1,\n", + " \"LITHUANIA\": 1,\n", + " \"LUXEMBOURG\": 1,\n", + " \"MALTA\": 1,\n", + " \"NETHERLANDS\": 1,\n", + " \"POLAND\": 1,\n", + " \"PORTUGAL\": 1,\n", + " \"ROMANIA\": 1,\n", + " \"SLOVAKIA\": 1,\n", + " \"SLOVENIA\": 1,\n", + " \"SPAIN\": 1,\n", + " \"SWEDEN\": 1,\n", + "}\n", + "\n", + "\n", + "\n", + "\n", + "# Aggregate the subscripts at the end of the variable\n", "def aggregate_variable_name(row, counter):\n", " for k in range(counter):\n", - " subscript=row[\"Subscript \"+str(k)]\n", - " \n", - " if k==0 :\n", - " if country_dict.get(subscript)==1: \n", - " #Give the name of the region for that variable\n", - " row[\"Region\"]=subscript\n", - " \n", - " row[\"Subscript 0\"]=np.nan\n", + " subscript = row[\"Subscript \" + str(k)]\n", + "\n", + " if k == 0:\n", + " if country_dict.get(subscript) == 1:\n", + " # Give the name of the region for that variable\n", + " row[\"Region\"] = subscript\n", + "\n", + " row[\"Subscript 0\"] = np.nan\n", " continue\n", - " \n", + "\n", " if not pd.isnull(subscript):\n", - " \n", " if energy_dict.get(subscript, None) is not None:\n", - " \n", " subscript = energy_dict[subscript]\n", - " elif rest_dict.get(subscript,None): \n", + " elif rest_dict.get(subscript, None):\n", " subscript = rest_dict[subscript]\n", - " \n", - " row[\"Variable\"]=row[\"Variable\"]+\"|\"+subscript\n", - " \n", - " return row \n", "\n", + " row[\"Variable\"] = row[\"Variable\"] + \"|\" + subscript\n", + "\n", + " return row\n", "\n", - "# Apply the previous function on all the lines \n", - "scenario_variable_df= scenario_variable_df.apply(aggregate_variable_name, args=(counter,),axis=1)\n", + "\n", + "# Apply the previous function on all the lines\n", + "scenario_variable_df = scenario_variable_df.apply(\n", + " aggregate_variable_name, args=(counter,), axis=1\n", + ")\n", "\n", "# Remove the subscript columns once they have been added at the end of the variable name\n", - "drop_columns_list=[\"Subscript \" + str(k) for k in range(counter)]\n", + "drop_columns_list = [\"Subscript \" + str(k) for k in range(counter)]\n", "scenario_variable_df.drop(columns=drop_columns_list, inplace=True)\n", "\n", "scenario_variable_df" @@ -359,7 +410,26 @@ "\n", "# Capitalize each variable's name\n", "scenario_variable_df['Variable'] = scenario_variable_df['Variable'].apply(transform_string)\n", - "scenario_variable_df" + "scenario_variable_df.head(60)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import csv\n", + "\n", + "\n", + "# Step 1: Write to the first column\n", + "data_first_column = scenario_variable_df[\"Variable\"].to_list()\n", + "\n", + "# Open the CSV file in write mode and write the first column\n", + "with open(\"example.csv\", \"w\", newline=\"\") as csvfile:\n", + " csvwriter = csv.writer(csvfile)\n", + " for row in data_first_column:\n", + " csvwriter.writerow([row])\n" ] }, { @@ -645,7 +715,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.1" + "version": "3.10.14" } }, "nbformat": 4, diff --git a/Conversion-Script/Create_Variable_Dict/aggregation.txt b/Conversion-Script/Create_Variable_Dict/aggregation.txt new file mode 100644 index 0000000..23f974c --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/aggregation.txt @@ -0,0 +1,4 @@ +{ + ('world_PE_by_commodity|PE_waste', 'world_PE_by_commodity|PE_solar'): 'Primary Energy|New', + ('C', 'D', 'E'): 'Y' +} \ No newline at end of file diff --git a/Conversion-Script/Create_Variable_Dict/economy_dashboard_dict.txt b/Conversion-Script/Create_Variable_Dict/economy_dashboard_dict.txt new file mode 100644 index 0000000..90fc135 --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/economy_dashboard_dict.txt @@ -0,0 +1,37 @@ +{'DB CAPITAL STOCK': 'Capital Stock', + 'DB CONSUMPTION FIXED CAPITAL': 'Value Added|Consumption Fixed Capital', + 'DB DISPOSABLE INCOME PER CAPITA': 'Households|Consumer Price [index]', + 'DB EMPLOYMENT': 'Employment', + 'DB EXPORTS': 'Trade|Value|Exports', + 'DB GDP': 'GDP|PPP', + 'DB GDP PER CAPITA': 'Revenue|Households|Disposable [per capita]', + 'DB GOV BALANCE': 'Government|Budget Balance', + 'DB GOV BALANCE TO GDP': 'Government|Budget Balance to GDP', + 'DB GOV CONSUMPTION': 'Public Consumption', + 'DB GOV DEBT': 'Debt|Public', + 'DB GOV DEBT TO GDP': 'Revenues|Households|Disposable income', + 'DB GOV EXPENDITURE': 'Expenditure|Government', + 'DB GOV REVENUE': 'Revenue|Government', + 'DB GROSS FIXED CAPITAL FORMATION': 'Capital Formation', + 'DB GVA AGRICULTURE': 'Value Added|Agriculture', + 'DB GVA ENERGY': 'Value Added|Industry|Energy', + 'DB GVA EXTRACTION': 'Value Added|Extraction', + 'DB GVA INDUSTRY': 'Value Added|Industry', + 'DB GVA SERVICES': 'Value Added|Services', + 'DB GVA TAXES PRODUCTS TOTAL': 'Value Added|Taxes on products', + 'DB HH CONSUMPTION': 'Expenditure|Household', + 'DB HH CONSUMPTION COICOP': 'Households|Savings|Real', + 'DB HH CONSUMPTION COICOP NOMINAL': 'Households|Savings', + 'DB HH DISPOSABLE INCOME': 'Households|Consumption|COICOP', + 'DB HH DISPOSABLE INCOME NOMINAL': 'Households|Consumption nominal|COICOP', + 'DB HH SAVINGS': 'Revenues|Households|Disposable income|Nominal', + 'DB HH SAVINGS NOMINAL': 'GDP|Country [per capita]', + 'DB IMPORTS': 'Trade|Value|Imports', + 'DB LABOUR COMPENSATION': 'Value Added|Labour Compensation', + 'DB LABOUR FORCE': 'Labour Supply', + 'DB NET OPERATING SURPLUS': 'Value Added|Net Operating Surplus', + 'DB OTHER FINAL DEMAND': 'Final Demand|Other', + 'DB OUTPUT': 'Output', + 'DB TAXES PRODUCTION': 'Value Added|Taxes on production', + 'DB TRADE BALANCE': 'Trade|Value|Balance', + 'DB UNEMPLOYMENT RATE': 'Unemployment|Rate'} diff --git a/Conversion-Script/Create_Variable_Dict/energy_dict.txt b/Conversion-Script/Create_Variable_Dict/energy_dict.txt index b024359..3c79d4f 100644 --- a/Conversion-Script/Create_Variable_Dict/energy_dict.txt +++ b/Conversion-Script/Create_Variable_Dict/energy_dict.txt @@ -2,9 +2,9 @@ 'FE_gas': 'Gas', 'FE_heat': 'Heat', 'FE_hydrogen': 'Hydrogen', - 'FE_liquid': 'Liquid', - 'FE_solid_bio': 'Solid|Biomass', - 'FE_solid_fossil': 'Solid|Fossil', + 'FE_liquid': 'Liquids', + 'FE_solid_bio': 'Solids|Biomass', + 'FE_solid_fossil': 'Solids|Fossil', 'PE_agriculture_products': 'Agriculture Products', 'PE_coal': 'Coal', 'PE_forestry_products': 'Forestry Products', @@ -17,44 +17,44 @@ 'PE_solar': 'Solar', 'PE_waste': 'Waste', 'PE_wind': 'Wind', - 'PROTRA_CHP_gas_fuels': 'Electricity and Heat|gas fuels|w/o CCS', - 'PROTRA_CHP_gas_fuels_CCS': 'Electricity and Heat|gas fuels|w/ CCS', + 'PROTRA_CHP_gas_fuels': 'Electricity and Heat|Gas fuels|w/o CCS', + 'PROTRA_CHP_gas_fuels_CCS': 'Electricity and Heat|Gas fuels|w/ CCS', 'PROTRA_CHP_geothermal_DEACTIVATED': 'Electricity and ' - 'Heat|geothermal|DEACTIVATED', - 'PROTRA_CHP_liquid_fuels': 'Electricity and Heat|liquid fuels|w/o CCS', - 'PROTRA_CHP_liquid_fuels_CCS': 'Electricity and Heat|liquid fuels|w/ CCS', - 'PROTRA_CHP_solid_bio': 'Electricity and Heat|solid|biomass|w/o CCS', - 'PROTRA_CHP_solid_bio_CCS': 'Electricity and Heat|solid|biomass|w/ CCS', - 'PROTRA_CHP_solid_fossil': 'Electricity and Heat|solid|fossil|w/o CCS', - 'PROTRA_CHP_solid_fossil_CCS': 'Electricity and Heat|solid|fossil|w/ CCS', - 'PROTRA_CHP_waste': 'Electricity and Heat|waste', - 'PROTRA_HP_gas_fuels': 'Heat|gas fuels', - 'PROTRA_HP_geothermal': 'Heat|geothermal', - 'PROTRA_HP_liquid_fuels': 'Heat|liquid fuels', - 'PROTRA_HP_solar_DEACTIVATED': 'Heat|solar|DEACTIVATED', - 'PROTRA_HP_solid_bio': 'Heat|solid|biomass', - 'PROTRA_HP_solid_fossil': 'Heat|solid|fossil', - 'PROTRA_HP_waste': 'Heat|waste', - 'PROTRA_PP_gas_fuels': 'Electricity|gas fuels|w/o CCS', - 'PROTRA_PP_gas_fuels_CCS': 'Electricity|gas fuels|w/ CCS', - 'PROTRA_PP_geothermal': 'Electricity|geothermal', - 'PROTRA_PP_hydropower_dammed': 'Electricity|hydro|dammed', - 'PROTRA_PP_hydropower_run_of_river': 'Electricity|hydro|run of river', - 'PROTRA_PP_liquid_fuels': 'Electricity|liquid fuels|w/o CCS', - 'PROTRA_PP_liquid_fuels_CCS': 'Electricity|liquid fuels|w/ CCS', - 'PROTRA_PP_nuclear': 'Electricity|nuclear', - 'PROTRA_PP_oceanic': 'Electricity|ocean', - 'PROTRA_PP_solar_CSP': 'Electricity|solar|CSP', - 'PROTRA_PP_solar_open_space_PV': 'Electricity|solar|open space|PV', - 'PROTRA_PP_solar_urban_PV': 'Electricity|solar|urban|PV', - 'PROTRA_PP_solid_bio': 'Electricity|solid|biomass|w/o CCS', - 'PROTRA_PP_solid_bio_CCS': 'Electricity|solid|biomass|w/ CCS', - 'PROTRA_PP_solid_fossil': 'Electricity|solid|fossil|w/o CCS', - 'PROTRA_PP_solid_fossil_CCS': 'Electricity|solid|fossil|w/ CCS', - 'PROTRA_PP_waste': 'Electricity|waste|w/o CCS', - 'PROTRA_PP_waste_CCS': 'Electricity|waste|w/ CCS', - 'PROTRA_PP_wind_offshore': 'Electricity|wind|offshore', - 'PROTRA_PP_wind_onshore': 'Electricity|wind|onshore', + 'Heat|Geothermal|Deactivated', + 'PROTRA_CHP_liquid_fuels': 'Electricity and Heat|Liquid fuels|w/o CCS', + 'PROTRA_CHP_liquid_fuels_CCS': 'Electricity and Heat|Liquid fuels|w/ CCS', + 'PROTRA_CHP_solid_bio': 'Electricity and Heat|Solid|Biomass|w/o CCS', + 'PROTRA_CHP_solid_bio_CCS': 'Electricity and Heat|Solid|Biomass|w/ CCS', + 'PROTRA_CHP_solid_fossil': 'Electricity and Heat|Solid|Fossil|w/o CCS', + 'PROTRA_CHP_solid_fossil_CCS': 'Electricity and Heat|Solid|Fossil|w/ CCS', + 'PROTRA_CHP_waste': 'Electricity and Heat|Waste', + 'PROTRA_HP_gas_fuels': 'Heat|Gas fuels', + 'PROTRA_HP_geothermal': 'Heat|Geothermal', + 'PROTRA_HP_liquid_fuels': 'Heat|Liquid fuels', + 'PROTRA_HP_solar_DEACTIVATED': 'Heat|Solar|Deactivated', + 'PROTRA_HP_solid_bio': 'Heat|Solid|Biomass', + 'PROTRA_HP_solid_fossil': 'Heat|Solid|Fossil', + 'PROTRA_HP_waste': 'Heat|Waste', + 'PROTRA_PP_gas_fuels': 'Electricity|Gas fuels|w/o CCS', + 'PROTRA_PP_gas_fuels_CCS': 'Electricity|Gas fuels|w/ CCS', + 'PROTRA_PP_geothermal': 'Electricity|Geothermal', + 'PROTRA_PP_hydropower_dammed': 'Electricity|Hydro|Dammed', + 'PROTRA_PP_hydropower_run_of_river': 'Electricity|Hydro|Run of River', + 'PROTRA_PP_liquid_fuels': 'Electricity|Liquid fuels|w/o CCS', + 'PROTRA_PP_liquid_fuels_CCS': 'Electricity|Liquid fuels|w/ CCS', + 'PROTRA_PP_nuclear': 'Electricity|Nuclear', + 'PROTRA_PP_oceanic': 'Electricity|Ocean', + 'PROTRA_PP_solar_CSP': 'Electricity|Solar|Csp', + 'PROTRA_PP_solar_open_space_PV': 'Electricity|Solar|PV|Open Land', + 'PROTRA_PP_solar_urban_PV': 'Electricity|Solar|PV|Urban', + 'PROTRA_PP_solid_bio': 'Electricity|Solid|Biomass|w/o CCS', + 'PROTRA_PP_solid_bio_CCS': 'Electricity|Solid|Biomass|w/ CCS', + 'PROTRA_PP_solid_fossil': 'Electricity|Solid|Fossil|w/o CCS', + 'PROTRA_PP_solid_fossil_CCS': 'Electricity|Solid|Fossil|w/ CCS', + 'PROTRA_PP_waste': 'Electricity|Waste|w/o CCS', + 'PROTRA_PP_waste_CCS': 'Electricity|Waste|w/ CCS', + 'PROTRA_PP_wind_offshore': 'Electricity|Wind|Offshore', + 'PROTRA_PP_wind_onshore': 'Electricity|Wind|Onshore', 'PROTRA_blending_gas_fuels': 'Gas Fuels', 'PROTRA_blending_liquid_fuels': 'Liquid Fuels', 'PROTRA_no_process_TI_hydrogen': 'Hydrogen', @@ -64,6 +64,6 @@ 'TO_gas': 'Gas', 'TO_heat': 'Heat', 'TO_hydrogen': 'Hydrogen', - 'TO_liquid': 'Liquid', - 'TO_solid_bio': 'Solid Biomass', - 'TO_solid_fossil': 'Solid Fossil'} + 'TO_liquid': 'Liquids', + 'TO_solid_bio': 'Solids|Biomass', + 'TO_solid_fossil': 'Solids|Fossil'} diff --git a/Conversion-Script/Create_Variable_Dict/land_dict.txt b/Conversion-Script/Create_Variable_Dict/land_dict.txt new file mode 100644 index 0000000..f3d0629 --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/land_dict.txt @@ -0,0 +1,12 @@ +{'CROPLAND IRRIGATED': 'Cropland|Irrigated', + 'CROPLAND RAINFED': 'Cropland|Rainfed', + 'FOREST MANAGED': 'Forest|Managed', + 'FOREST PLANTATIONS': 'Forest|Forestry|Harvested Area', + 'FOREST PRIMARY': 'Forest|Natural Forest', + 'GRASSLAND': 'Grassland', + 'OTHER LAND': 'Other', + 'SHRUBLAND': 'Shrubland', + 'SNOW ICE WATERBODIES': 'Snow and Ice Land', + 'SOLAR LAND': 'Built-up Area|Solar', + 'URBAN LAND': 'Built-up Area', + 'WETLAND': 'Water Ecosystems|Wetlands'} diff --git a/Conversion-Script/Create_Variable_Dict/sectors_dict.txt b/Conversion-Script/Create_Variable_Dict/sectors_dict.txt new file mode 100644 index 0000000..44262b8 --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/sectors_dict.txt @@ -0,0 +1,66 @@ +{'ACCOMMODATION': 'Accommodation', + 'ANIMALS': 'Animals', + 'COKE': 'Coke', + 'CONSTRUCTION': 'Construction', + 'CROPS': 'Crops', + 'DISTRIBUTION_ELECTRICITY': 'Distribution|Electricity', + 'DISTRIBUTION_GAS': 'Distribution|Gas', + 'EDUCATION': 'Education', + 'ELECTRICITY_COAL': 'Electricity|Coal', + 'ELECTRICITY_GAS': 'Electricity|Gas', + 'ELECTRICITY_HYDRO': 'Electricity|Hydro', + 'ELECTRICITY_NUCLEAR': 'Electricity|Nuclear', + 'ELECTRICITY_OIL': 'Electricity|Oil', + 'ELECTRICITY_OTHER': 'Electricity|Other', + 'ELECTRICITY_SOLAR_PV': 'Electricity|Solar|PV', + 'ELECTRICITY_SOLAR_THERMAL': 'Electricity|Solar|CSP', + 'ELECTRICITY_WIND': 'Electricity|Wind', + 'ENTERTAIMENT': 'Entertainment', + 'EXTRACTION_GAS': 'Extraction|Gas', + 'EXTRACTION_OIL': 'Extraction|Oil', + 'EXTRACTION_OTHER_GAS': 'Extraction|Other Gas', + 'FINANCE': 'Finance', + 'FISHING': 'Fishing', + 'FORESTRY': 'Forestry', + 'HEALTH': 'Health', + 'HYDROGEN_PRODUCTION': 'Hydrogen Production', + 'MANUFACTURE_CHEMICAL': 'Manufacture|Chemicals', + 'MANUFACTURE_ELECTRICAL_EQUIPMENT': 'Manufacture|Electrical Equipment', + 'MANUFACTURE_ELECTRONICS': 'Manufacture|Electronics', + 'MANUFACTURE_FOOD': 'Manufacture|Food', + 'MANUFACTURE_MACHINERY': 'Manufacture|Machinery', + 'MANUFACTURE_METAL_PRODUCTS': 'Manufacture|Metal Products', + 'MANUFACTURE_OTHER': 'Manufacture|Other', + 'MANUFACTURE_OTHER_NON_METAL': 'Manufacture|Other Non Metals', + 'MANUFACTURE_PLASTIC': 'Manufacture|Plastics', + 'MANUFACTURE_VEHICLES': 'Manufacture|Vehicles', + 'MANUFACTURE_WOOD': 'Manufacture|Wood', + 'MINING_AND_MANUFACTURING_ALUMINIUM': 'Mining and Manufacturing|Aluminium', + 'MINING_AND_MANUFACTURING_COPPER': 'Mining and Manufacturing|Copper', + 'MINING_AND_MANUFACTURING_IRON': 'Mining and Manufacturing|Iron', + 'MINING_AND_MANUFACTURING_LEAD_ZINC_TIN': 'Mining and Manufacturing|Lead Zinc ' + 'Tin', + 'MINING_AND_MANUFACTURING_NICKEL': 'Mining and Manufacturing|Nickel', + 'MINING_AND_MANUFACTURING_OTHER_METALS': 'Mining and Manufacturing|Other ' + 'Metals', + 'MINING_AND_MANUFACTURING_PRECIOUS_METALS': 'Mining and ' + 'Manufacturing|Precious Metals', + 'MINING_AND_MANUFACTURING_URANIUM_THORIUM': 'Mining and Manufacturing|Uranium ' + 'Thorium', + 'MINING_COAL': 'Mining|Coal', + 'MINING_NON_METALS': 'Mining|Non Metals', + 'OTHER_SERVICES': 'Other Services', + 'PRIVATE_HOUSEHOLDS': 'Private Households', + 'PUBLIC_ADMINISTRATION': 'Public Administration', + 'REAL_ESTATE': 'Real Estate', + 'REFINING': 'Refining', + 'STEAM_HOT_WATER': 'Steam Hot Water', + 'TELECOMMUNICATIONS': 'Telecommunications', + 'TRADE_REPAIR_VEHICLES': 'Trade Repair Vehicles', + 'TRANSPORT_AIR': 'Transportation|Aviation', + 'TRANSPORT_INLAND_WATER': 'Transportation|Inland Water', + 'TRANSPORT_OTHER_LAND': 'Transportation|Other Land', + 'TRANSPORT_PIPELINE': 'Transportation|Pipeline', + 'TRANSPORT_RAIL': 'Transportation|Rail', + 'TRANSPORT_SEA': 'Transportation|Maritime', + 'WASTE_MANAGEMENT': 'Waste Management'} diff --git a/Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt b/Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt new file mode 100644 index 0000000..8801a4b --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt @@ -0,0 +1,11 @@ +{'AIR DOMESTIC': 'Domestic Aviation', + 'AIR INTERNATIONAL': 'International Aviation', + 'AIR INTRA EU': 'European Aviation', + 'BUS': 'Bus', + 'HDV': 'High Duty Vehicle', + 'LDV': 'Light Duty Vehicle', + 'MARINE': 'Navigation', + 'MDV': 'Medium Duty Vehicle', + 'MOTORCYCLES 2W 3W': '2W and 3W', + 'NMT': 'Bicycling and Walking', + 'RAIL': 'Rail'} diff --git a/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb b/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb index 05b5d96..babc667 100644 --- a/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb +++ b/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -19,9 +19,111 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\AdGeeds\\AppData\\Roaming\\Python\\Python310\\site-packages\\openpyxl\\styles\\stylesheet.py:226: UserWarning: Workbook contains no default style, apply openpyxl's default\n", + " warn(\"Workbook contains no default style, apply openpyxl's default\")\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDNameHierarchyParentSynonyms
00WorldCompare (global)WorldNaN
113Sao Tome and PrincipeCompare (individual countries and regions)WorldSTP
214TurkmenistanCompare (individual countries and regions)WorldTKM
315Saint HelenaCompare (individual countries and regions)WorldSHN
416LithuaniaCompare (individual countries and regions)WorldLTU
\n", + "
" + ], + "text/plain": [ + " ID Name Hierarchy \\\n", + "0 0 World Compare (global) \n", + "1 13 Sao Tome and Principe Compare (individual countries and regions) \n", + "2 14 Turkmenistan Compare (individual countries and regions) \n", + "3 15 Saint Helena Compare (individual countries and regions) \n", + "4 16 Lithuania Compare (individual countries and regions) \n", + "\n", + " Parent Synonyms \n", + "0 World NaN \n", + "1 World STP \n", + "2 World TKM \n", + "3 World SHN \n", + "4 World LTU " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "file_path = \"../Variable_Reference/reference.xlsx\" # Update this with the correct path\n", "\n", @@ -34,9 +136,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['World',\n", + " 'EU27',\n", + " 'UK',\n", + " 'CHINA',\n", + " 'EASOC',\n", + " 'INDIA',\n", + " 'LATAM',\n", + " 'RUSSIA',\n", + " 'USMCA',\n", + " 'LROW',\n", + " 'AUSTRIA',\n", + " 'BELGIUM',\n", + " 'BULGARIA',\n", + " 'CROATIA',\n", + " 'CYPRUS',\n", + " 'CZECH_REPUBLIC',\n", + " 'DENMARK',\n", + " 'ESTONIA',\n", + " 'FINLAND',\n", + " 'FRANCE',\n", + " 'GERMANY',\n", + " 'GREECE',\n", + " 'HUNGARY',\n", + " 'IRELAND',\n", + " 'ITALY',\n", + " 'LATVIA',\n", + " 'LITHUANIA',\n", + " 'LUXEMBOURG',\n", + " 'MALTA',\n", + " 'NETHERLANDS',\n", + " 'POLAND',\n", + " 'PORTUGAL',\n", + " 'ROMANIA',\n", + " 'SLOVAKIA',\n", + " 'SLOVENIA',\n", + " 'SPAIN',\n", + " 'SWEDEN']" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Put the country in list \n", "country_IPCC_list = country_IPCC_df[\"Name\"].to_list()\n", @@ -84,9 +233,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eu27\n", + "Uk\n", + "Easoc\n", + "Latam\n", + "Usmca\n", + "Lrow\n", + "Slovakia\n" + ] + } + ], "source": [ "# Put the country in lowercase except for the first letter (format used by IPCC for the Countries)\n", "new_country_Wiliam_list=[]\n", @@ -105,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -124,7 +287,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -142,9 +305,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'c0c4': 'Age 0-4',\n", + " 'c5c9': 'Age 5-9',\n", + " 'c10c14': 'Age 10-14',\n", + " 'c15c19': 'Age 15-19',\n", + " 'c20c24': 'Age 20-24',\n", + " 'c25c29': 'Age 25-29',\n", + " 'c30c34': 'Age 30-34',\n", + " 'c35c39': 'Age 35-39',\n", + " 'c40c44': 'Age 40-44',\n", + " 'c45c49': 'Age 45-49',\n", + " 'c50c54': 'Age 50-54',\n", + " 'c55c59': 'Age 55-59',\n", + " 'c60c64': 'Age 60-64',\n", + " 'c65c69': 'Age 65-69',\n", + " 'c70c74': 'Age 70-74',\n", + " 'c75c79': 'Age 75-79',\n", + " 'cover80': 'Age +80'}" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Create the subscript list of the Wiliam model \n", "number_list= [[0+5*k, 4+5*k] for k in range(16)]\n", @@ -171,15 +361,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'CO2': 'CO2',\n", + " 'CH4': 'CH4',\n", + " 'N2O': 'N2O',\n", + " 'PFCs': 'PFC',\n", + " 'SF6': 'SF6',\n", + " 'HFC134a': 'HFC134a',\n", + " 'HFC23': 'HFC23',\n", + " 'HFC32': 'HFC32',\n", + " 'HFC125': 'HFC125',\n", + " 'HFC143a': 'HFC143a',\n", + " 'HFC152a': 'HFC152a',\n", + " 'HFC227ea': 'HFC227ea',\n", + " 'HFC245ca': 'HFC245ca',\n", + " 'HFC4310mee': 'HFC43-10'}" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Old list of GHGs in Wiliam \n", "old_ghgs_list = ['CO2', 'CH4', 'N2O', 'PFCs', 'SF6', 'HFC134a', 'HFC23', 'HFC32', 'HFC125', 'HFC143a', 'HFC152a', 'HFC227ea', 'HFC245ca', 'HFC4310mee']\n", "\n", "# New list for GHGs \n", - "new_ghgs_list = ['CO2', 'CH4', 'N2O', 'PFC', 'SF6', 'HFC134a', 'HFC23', 'HFC32', 'HFC125', 'HFC143a', 'HFC152a', 'HFC227ea', 'HFC245ca', 'HFC43-10']\n", + "new_ghgs_list = ['CO2', 'CH4', 'N2O', 'PFC', 'SF6', 'HFC134a', 'HFC23', 'HFC32', 'HFC125', 'HFC143a', 'HFC152a', 'HFC227ea', 'HFC245ca', 'HFC4310mee']\n", "\n", "\n", "GHG_dict = dict(zip(old_ghgs_list, new_ghgs_list))\n", @@ -188,7 +402,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -210,18 +424,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'TO_elec': 'Electricity',\n", + " 'TO_gas': 'Gas',\n", + " 'TO_heat': 'Heat',\n", + " 'TO_hydrogen': 'Hydrogen',\n", + " 'TO_liquid': 'Liquids',\n", + " 'TO_solid_bio': 'Solids|Biomass',\n", + " 'TO_solid_fossil': 'Solids|Fossil'}" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "energy_sources_new = [\n", " \"Electricity\",\n", " \"Gas\",\n", " \"Heat\",\n", " \"Hydrogen\",\n", - " \"Liquid\",\n", - " \"Solid Biomass\",\n", - " \"Solid Fossil\"\n", + " \"Liquids\",\n", + " \"Solids|Biomass\",\n", + " \"Solids|Fossil\"\n", "]\n", "energy_sources_old = [\n", " \"TO_elec\",\n", @@ -238,9 +469,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'FE_elec': 'Electricity',\n", + " 'FE_gas': 'Gas',\n", + " 'FE_heat': 'Heat',\n", + " 'FE_hydrogen': 'Hydrogen',\n", + " 'FE_liquid': 'Liquids',\n", + " 'FE_solid_bio': 'Solids|Biomass',\n", + " 'FE_solid_fossil': 'Solids|Fossil'}" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "energy_final_old = [\n", " \"FE_elec\",\n", @@ -258,9 +506,9 @@ " \"Gas\",\n", " \"Heat\",\n", " \"Hydrogen\",\n", - " \"Liquid\",\n", - " \"Solid|Biomass\",\n", - " \"Solid|Fossil\"\n", + " \"Liquids\",\n", + " \"Solids|Biomass\",\n", + " \"Solids|Fossil\"\n", "]\n", "\n", "energy_final_dict= dict(zip(energy_final_old, energy_final_new))\n", @@ -269,9 +517,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'PE_agriculture_products': 'Agriculture Products',\n", + " 'PE_coal': 'Coal',\n", + " 'PE_oil': 'Oil',\n", + " 'PE_forestry_products': 'Forestry Products',\n", + " 'PE_geothermal': 'Geothermal',\n", + " 'PE_hydropower': 'Hydropower',\n", + " 'PE_natural_gas': 'Natural Gas',\n", + " 'PE_nuclear': 'Nuclear',\n", + " 'PE_oceanic': 'Ocean',\n", + " 'PE_solar': 'Solar',\n", + " 'PE_waste': 'Waste',\n", + " 'PE_wind': 'Wind'}" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "input_string = \"PE agriculture products,PE coal,PE oil,PE forestry products,PE geothermal,PE hydropower,PE natural gas,PE nuclear,PE oceanic,PE solar,PE waste,PE wind\"\n", "\n", @@ -302,9 +572,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['PROTRA_CHP_gas fuels_w/o CCS',\n", + " 'PROTRA_CHP_gas fuels_w/ CCS',\n", + " 'PROTRA_CHP_geothermal_DEACTIVATED',\n", + " 'PROTRA_CHP_liquid fuels_w/o CCS',\n", + " 'PROTRA_CHP_liquid fuels_w/ CCS',\n", + " 'PROTRA_CHP_solid_fossil_w/o CCS',\n", + " 'PROTRA_CHP_solid_fossil_w/ CCS',\n", + " 'PROTRA_CHP_waste',\n", + " 'PROTRA_CHP_solid_biomass_w/o CCS',\n", + " 'PROTRA_CHP_solid_biomass_w/ CCS',\n", + " 'PROTRA_HP_gas fuels',\n", + " 'PROTRA_HP_solid_biomass',\n", + " 'PROTRA_HP_geothermal',\n", + " 'PROTRA_HP_liquid fuels',\n", + " 'PROTRA_HP_solar_DEACTIVATED',\n", + " 'PROTRA_HP_solid_fossil',\n", + " 'PROTRA_HP_waste',\n", + " 'PROTRA_PP_solid_biomass_w/o CCS',\n", + " 'PROTRA_PP_solid_biomass_w/ CCS',\n", + " 'PROTRA_PP_gas fuels_w/o CCS',\n", + " 'PROTRA_PP_gas fuels_w/ CCS',\n", + " 'PROTRA_PP_geothermal',\n", + " 'PROTRA_PP_hydro_dammed',\n", + " 'PROTRA_PP_hydro_run of river',\n", + " 'PROTRA_PP_liquid fuels_w/o CCS',\n", + " 'PROTRA_PP_liquid fuels_w/ CCS',\n", + " 'PROTRA_PP_nuclear',\n", + " 'PROTRA_PP_ocean',\n", + " 'PROTRA_PP_solar_CSP',\n", + " 'PROTRA_PP_solar_open space_PV',\n", + " 'PROTRA_PP_solar_urban_PV',\n", + " 'PROTRA_PP_solid_fossil_w/o CCS',\n", + " 'PROTRA_PP_solid_fossil_w/ CCS',\n", + " 'PROTRA_PP_waste_w/o CCS',\n", + " 'PROTRA_PP_waste_w/ CCS',\n", + " 'PROTRA_PP_wind_offshore',\n", + " 'PROTRA_PP_wind_onshore']" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "energy_processes_old = [\n", " \"PROTRA_CHP_gas_fuels\",\n", @@ -390,14 +707,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# Fonction de modification de l'élément\n", "def modify_element(element):\n", " # Remplacer les underscores par des espaces et mettre chaque mot en majuscule\n", - " return \"|\".join([word for word in element.split(\"_\")])\n", + " return \"|\".join([word.capitalize() for word in element.split(\"_\")])\n", "\n", "\n", "energy_processes_new = []\n", @@ -429,15 +746,65 @@ " else : \n", " new_elem = new_elem + '|' + modify_element(elem[4:])\n", " energy_processes_new.append(new_elem)\n", - "\n", - " \n", - "energy_processes_dict = dict(zip(energy_processes_old, energy_processes_new))\n", - "energy_processes_dict" + "\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "energy_processes_dict = {\n", + " 'PROTRA_CHP_gas_fuels': 'Electricity and Heat|Gas fuels|w/o CCS',\n", + " 'PROTRA_CHP_gas_fuels_CCS': 'Electricity and Heat|Gas fuels|w/ CCS',\n", + " 'PROTRA_CHP_geothermal_DEACTIVATED': 'Electricity and '\n", + " 'Heat|Geothermal|Deactivated',\n", + " 'PROTRA_CHP_liquid_fuels': 'Electricity and Heat|Liquid fuels|w/o CCS',\n", + " 'PROTRA_CHP_liquid_fuels_CCS': 'Electricity and Heat|Liquid fuels|w/ CCS',\n", + " 'PROTRA_CHP_solid_bio': 'Electricity and Heat|Solid|Biomass|w/o CCS',\n", + " 'PROTRA_CHP_solid_bio_CCS': 'Electricity and Heat|Solid|Biomass|w/ CCS',\n", + " 'PROTRA_CHP_solid_fossil': 'Electricity and Heat|Solid|Fossil|w/o CCS',\n", + " 'PROTRA_CHP_solid_fossil_CCS': 'Electricity and Heat|Solid|Fossil|w/ CCS',\n", + " 'PROTRA_CHP_waste': 'Electricity and Heat|Waste',\n", + " 'PROTRA_HP_gas_fuels': 'Heat|Gas fuels',\n", + " 'PROTRA_HP_geothermal': 'Heat|Geothermal',\n", + " 'PROTRA_HP_liquid_fuels': 'Heat|Liquid fuels',\n", + " 'PROTRA_HP_solar_DEACTIVATED': 'Heat|Solar|Deactivated',\n", + " 'PROTRA_HP_solid_bio': 'Heat|Solid|Biomass',\n", + " 'PROTRA_HP_solid_fossil': 'Heat|Solid|Fossil',\n", + " 'PROTRA_HP_waste': 'Heat|Waste',\n", + " 'PROTRA_PP_gas_fuels': 'Electricity|Gas fuels|w/o CCS',\n", + " 'PROTRA_PP_gas_fuels_CCS': 'Electricity|Gas fuels|w/ CCS',\n", + " 'PROTRA_PP_geothermal': 'Electricity|Geothermal',\n", + " 'PROTRA_PP_hydropower_dammed': 'Electricity|Hydro|Dammed',\n", + " 'PROTRA_PP_hydropower_run_of_river': 'Electricity|Hydro|Run of River',\n", + " 'PROTRA_PP_liquid_fuels': 'Electricity|Liquid fuels|w/o CCS',\n", + " 'PROTRA_PP_liquid_fuels_CCS': 'Electricity|Liquid fuels|w/ CCS',\n", + " 'PROTRA_PP_nuclear': 'Electricity|Nuclear',\n", + " 'PROTRA_PP_oceanic': 'Electricity|Ocean',\n", + " 'PROTRA_PP_solar_CSP': 'Electricity|Solar|Csp',\n", + " 'PROTRA_PP_solar_open_space_PV': 'Electricity|Solar|PV|Open Land',\n", + " 'PROTRA_PP_solar_urban_PV': 'Electricity|Solar|PV|Urban',\n", + " 'PROTRA_PP_solid_bio': 'Electricity|Solid|Biomass|w/o CCS',\n", + " 'PROTRA_PP_solid_bio_CCS': 'Electricity|Solid|Biomass|w/ CCS',\n", + " 'PROTRA_PP_solid_fossil': 'Electricity|Solid|Fossil|w/o CCS',\n", + " 'PROTRA_PP_solid_fossil_CCS': 'Electricity|Solid|Fossil|w/ CCS',\n", + " 'PROTRA_PP_waste': 'Electricity|Waste|w/o CCS',\n", + " 'PROTRA_PP_waste_CCS': 'Electricity|Waste|w/ CCS',\n", + " 'PROTRA_PP_wind_offshore': 'Electricity|Wind|Offshore',\n", + " 'PROTRA_PP_wind_onshore': 'Electricity|Wind|Onshore',\n", + " 'PROTRA_blending_gas_fuels': 'Gas Fuels',\n", + " 'PROTRA_blending_liquid_fuels': 'Liquid Fuels',\n", + " 'PROTRA_no_process_TI_hydrogen': 'Hydrogen',\n", + " 'PROTRA_no_process_TI_solid_bio': 'Solids|Biomass',\n", + " 'PROTRA_no_process_TI_solid_fossil': 'Solids|Fossils'\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -461,7 +828,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "metadata": {}, "outputs": [], "source": [ @@ -475,6 +842,365 @@ "with open('energy_dict.txt', 'w') as f:\n", " pprint.pprint(energy_dict, f)" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Sectors Dictionnary \n" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "sector_list = [\n", + " \"CROPS\",\n", + " \"ANIMALS\",\n", + " \"FORESTRY\",\n", + " \"FISHING\",\n", + " \"MINING_COAL\",\n", + " \"EXTRACTION_OIL\",\n", + " \"EXTRACTION_GAS\",\n", + " \"EXTRACTION_OTHER_GAS\",\n", + " \"MINING_AND_MANUFACTURING_URANIUM_THORIUM\",\n", + " \"MINING_AND_MANUFACTURING_IRON\",\n", + " \"MINING_AND_MANUFACTURING_COPPER\",\n", + " \"MINING_AND_MANUFACTURING_NICKEL\",\n", + " \"MINING_AND_MANUFACTURING_ALUMINIUM\",\n", + " \"MINING_AND_MANUFACTURING_PRECIOUS_METALS\",\n", + " \"MINING_AND_MANUFACTURING_LEAD_ZINC_TIN\",\n", + " \"MINING_AND_MANUFACTURING_OTHER_METALS\",\n", + " \"MINING_NON_METALS\",\n", + " \"MANUFACTURE_FOOD\",\n", + " \"MANUFACTURE_WOOD\",\n", + " \"COKE\",\n", + " \"REFINING\",\n", + " \"MANUFACTURE_CHEMICAL\",\n", + " \"MANUFACTURE_PLASTIC\",\n", + " \"MANUFACTURE_OTHER_NON_METAL\",\n", + " \"HYDROGEN_PRODUCTION\",\n", + " \"MANUFACTURE_METAL_PRODUCTS\",\n", + " \"MANUFACTURE_ELECTRONICS\",\n", + " \"MANUFACTURE_ELECTRICAL_EQUIPMENT\",\n", + " \"MANUFACTURE_MACHINERY\",\n", + " \"MANUFACTURE_VEHICLES\",\n", + " \"MANUFACTURE_OTHER\",\n", + " \"ELECTRICITY_COAL\",\n", + " \"ELECTRICITY_GAS\",\n", + " \"ELECTRICITY_NUCLEAR\",\n", + " \"ELECTRICITY_HYDRO\",\n", + " \"ELECTRICITY_WIND\",\n", + " \"ELECTRICITY_OIL\",\n", + " \"ELECTRICITY_SOLAR_PV\",\n", + " \"ELECTRICITY_SOLAR_THERMAL\",\n", + " \"ELECTRICITY_OTHER\",\n", + " \"DISTRIBUTION_ELECTRICITY\",\n", + " \"DISTRIBUTION_GAS\",\n", + " \"STEAM_HOT_WATER\",\n", + " \"WASTE_MANAGEMENT\",\n", + " \"CONSTRUCTION\",\n", + " \"TRADE_REPAIR_VEHICLES\",\n", + " \"TRANSPORT_RAIL\",\n", + " \"TRANSPORT_OTHER_LAND\",\n", + " \"TRANSPORT_PIPELINE\",\n", + " \"TRANSPORT_SEA\",\n", + " \"TRANSPORT_INLAND_WATER\",\n", + " \"TRANSPORT_AIR\",\n", + " \"ACCOMMODATION\",\n", + " \"TELECOMMUNICATIONS\",\n", + " \"FINANCE\",\n", + " \"REAL_ESTATE\",\n", + " \"OTHER_SERVICES\",\n", + " \"PUBLIC_ADMINISTRATION\",\n", + " \"EDUCATION\",\n", + " \"HEALTH\",\n", + " \"ENTERTAIMENT\",\n", + " \"PRIVATE_HOUSEHOLDS\"\n", + "]\n", + "\n", + "\n", + "\n", + "new_sectors_list = [\n", + " \"Crops\",\n", + " \"Animals\",\n", + " \"Forestry\",\n", + " \"Fishing\",\n", + " \"Mining|Coal\",\n", + " \"Extraction|Oil\",\n", + " \"Extraction|Gas\",\n", + " \"Extraction|Other Gas\",\n", + " \"Mining and Manufacturing|Uranium Thorium\",\n", + " \"Mining and Manufacturing|Iron\",\n", + " \"Mining and Manufacturing|Copper\",\n", + " \"Mining and Manufacturing|Nickel\",\n", + " \"Mining and Manufacturing|Aluminium\",\n", + " \"Mining and Manufacturing|Precious Metals\",\n", + " \"Mining and Manufacturing|Lead Zinc Tin\",\n", + " \"Mining and Manufacturing|Other Metals\",\n", + " \"Mining|Non Metals\",\n", + " \"Manufacture|Food\",\n", + " \"Manufacture|Wood\",\n", + " \"Coke\",\n", + " \"Refining\",\n", + " \"Manufacture|Chemicals\",\n", + " \"Manufacture|Plastics\",\n", + " \"Manufacture|Other Non Metals\",\n", + " \"Hydrogen Production\",\n", + " \"Manufacture|Metal Products\",\n", + " \"Manufacture|Electronics\",\n", + " \"Manufacture|Electrical Equipment\",\n", + " \"Manufacture|Machinery\",\n", + " \"Manufacture|Vehicles\",\n", + " \"Manufacture|Other\",\n", + " \"Electricity|Coal\",\n", + " \"Electricity|Gas\",\n", + " \"Electricity|Nuclear\",\n", + " \"Electricity|Hydro\",\n", + " \"Electricity|Wind\",\n", + " \"Electricity|Oil\",\n", + " \"Electricity|Solar|PV\",\n", + " \"Electricity|Solar|CSP\",\n", + " \"Electricity|Other\",\n", + " \"Distribution|Electricity\",\n", + " \"Distribution|Gas\",\n", + " \"Steam Hot Water\",\n", + " \"Waste Management\",\n", + " \"Construction\",\n", + " \"Trade Repair Vehicles\",\n", + " \"Transportation|Rail\",\n", + " \"Transportation|Other Land\",\n", + " \"Transportation|Pipeline\",\n", + " \"Transportation|Maritime\",\n", + " \"Transportation|Inland Water\",\n", + " \"Transportation|Aviation\",\n", + " \"Accommodation\",\n", + " \"Telecommunications\",\n", + " \"Finance\",\n", + " \"Real Estate\",\n", + " \"Other Services\",\n", + " \"Public Administration\",\n", + " \"Education\",\n", + " \"Health\",\n", + " \"Entertainment\",\n", + " \"Private Households\"\n", + "]\n", + "\n", + "sectors_dict = dict(zip(sector_list, new_sectors_list))\n", + "# Save dictionary with pprint\n", + "with open('sectors_dict.txt', 'w') as f:\n", + " pprint.pprint(sectors_dict, f)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Economy Dashboard Dict" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "economy_dashboard_list = [\n", + " 'DB GDP',\n", + " 'DB GVA AGRICULTURE',\n", + " 'DB GVA EXTRACTION',\n", + " 'DB GVA ENERGY',\n", + " 'DB GVA INDUSTRY',\n", + " 'DB GVA SERVICES',\n", + " 'DB GVA TAXES PRODUCTS TOTAL',\n", + " 'DB LABOUR COMPENSATION',\n", + " 'DB NET OPERATING SURPLUS',\n", + " 'DB CONSUMPTION FIXED CAPITAL',\n", + " 'DB TAXES PRODUCTION',\n", + " 'DB HH CONSUMPTION',\n", + " 'DB GOV CONSUMPTION',\n", + " 'DB GROSS FIXED CAPITAL FORMATION',\n", + " 'DB OTHER FINAL DEMAND',\n", + " 'DB TRADE BALANCE',\n", + " 'DB EXPORTS',\n", + " 'DB IMPORTS',\n", + " 'DB OUTPUT',\n", + " 'DB CAPITAL STOCK',\n", + " 'DB EMPLOYMENT',\n", + " 'DB LABOUR FORCE',\n", + " 'DB UNEMPLOYMENT RATE',\n", + " 'DB GOV REVENUE',\n", + " 'DB GOV EXPENDITURE',\n", + " 'DB GOV BALANCE',\n", + " 'DB GOV BALANCE TO GDP',\n", + " 'DB GOV DEBT',\n", + " 'DB GOV DEBT TO GDP',\n", + " 'DB HH DISPOSABLE INCOME',\n", + " 'DB HH CONSUMPTION COICOP',\n", + " 'DB HH SAVINGS',\n", + " 'DB HH DISPOSABLE INCOME NOMINAL',\n", + " 'DB HH CONSUMPTION COICOP NOMINAL',\n", + " 'DB HH SAVINGS NOMINAL',\n", + " 'DB GDP PER CAPITA',\n", + " 'DB DISPOSABLE INCOME PER CAPITA',\n", + " 'DB CONSUMER PRICE INDEX'\n", + "]\n", + "\n", + "new_economy_dashboard_list = [\n", + " \"GDP|PPP\",\n", + " \"Value Added|Agriculture\",\n", + " \"Value Added|Extraction\",\n", + " \"Value Added|Industry|Energy\",\n", + " \"Value Added|Industry\",\n", + " \"Value Added|Services\",\n", + " \"Value Added|Taxes on products\",\n", + " \"Value Added|Labour Compensation\",\n", + " \"Value Added|Net Operating Surplus\",\n", + " \"Value Added|Consumption Fixed Capital\",\n", + " \"Value Added|Taxes on production\",\n", + " \"Expenditure|Household\",\n", + " \"Public Consumption\",\n", + " \"Capital Formation\",\n", + " \"Final Demand|Other\",\n", + " \"Trade|Value|Balance\",\n", + " \"Trade|Value|Exports\",\n", + " \"Trade|Value|Imports\",\n", + " \"Output\",\n", + " \"Capital Stock\",\n", + " \"Employment\",\n", + " \"Labour Supply\",\n", + " \"Unemployment|Rate\",\n", + " \"Revenue|Government\",\n", + " \"Expenditure|Government\",\n", + " \"Government|Budget Balance\",\n", + " \"Government|Budget Balance to GDP\",\n", + " \"Debt|Public\",\n", + " \"Revenues|Households|Disposable income\",\n", + " \"Households|Consumption|COICOP\",\n", + " \"Households|Savings|Real\",\n", + " \"Revenues|Households|Disposable income|Nominal\",\n", + " \"Households|Consumption nominal|COICOP\",\n", + " \"Households|Savings\",\n", + " \"GDP|Country [per capita]\",\n", + " \"Revenue|Households|Disposable [per capita]\",\n", + " \"Households|Consumer Price [index]\"\n", + "]\n", + "\n", + "economy_dashboard_dict = dict(zip(economy_dashboard_list, new_economy_dashboard_list))\n", + "# Save dictionary with pprint\n", + "with open('economy_dashboard_dict.txt', 'w') as f:\n", + " pprint.pprint(economy_dashboard_dict, f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Land Dict\n" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "12 12\n", + "{'CROPLAND RAINFED': 'Cropland|Rainfed', 'CROPLAND IRRIGATED': 'Cropland|Irrigated', 'FOREST MANAGED': 'Forest|Managed', 'FOREST PRIMARY': 'Forest|Natural Forest', 'FOREST PLANTATIONS': 'Forest|Forestry|Harvested Area', 'SHRUBLAND': 'Shrubland', 'GRASSLAND': 'Grassland', 'WETLAND': 'Water Ecosystems|Wetlands', 'URBAN LAND': 'Built-up Area', 'SOLAR LAND': 'Built-up Area|Solar', 'SNOW ICE WATERBODIES': 'Snow and Ice Land', 'OTHER LAND': 'Other'}\n" + ] + } + ], + "source": [ + "land_types = [\n", + " \"CROPLAND RAINFED\",\n", + " \"CROPLAND IRRIGATED\",\n", + " \"FOREST MANAGED\",\n", + " \"FOREST PRIMARY\",\n", + " \"FOREST PLANTATIONS\",\n", + " \"SHRUBLAND\",\n", + " \"GRASSLAND\",\n", + " \"WETLAND\",\n", + " \"URBAN LAND\",\n", + " \"SOLAR LAND\",\n", + " \"SNOW ICE WATERBODIES\",\n", + " \"OTHER LAND\"\n", + "]\n", + "\n", + "new_land_types = [\n", + " \"Cropland|Rainfed\",\n", + " \"Cropland|Irrigated\",\n", + " \"Forest|Managed\",\n", + " \"Forest|Natural Forest\",\n", + " \"Forest|Forestry|Harvested Area\",\n", + " \"Shrubland\",\n", + " \"Grassland\",\n", + " \"Water Ecosystems|Wetlands\",\n", + " \"Built-up Area\",\n", + " \"Built-up Area|Solar\",\n", + " \"Snow and Ice Land\",\n", + " \"Other\"\n", + "]\n", + "\n", + "print(len(land_types), len(new_land_types))\n", + "land_dict = dict(zip(land_types, new_land_types))\n", + "print(land_dict)\n", + "# Save dictionary with pprint\n", + "with open('land_dict.txt', 'w') as f:\n", + " pprint.pprint(land_dict, f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Transport Mode Dict" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "transportation_categories = [\n", + " \"LDV\", # Light-Duty Vehicles\n", + " \"MDV\", # Medium-Duty Vehicles\n", + " \"HDV\", # Heavy-Duty Vehicles\n", + " \"BUS\", # Buses\n", + " \"MOTORCYCLES 2W 3W\", # Motorcycles, 2/3 Wheels\n", + " \"RAIL\", # Rail transport\n", + " \"AIR DOMESTIC\", # Domestic Air transport\n", + " \"AIR INTRA EU\", # Intra-European Union Air transport\n", + " \"AIR INTERNATIONAL\", # International Air transport\n", + " \"MARINE\", # Marine transport\n", + " \"NMT\" # Non-Motorized Transport\n", + "]\n", + "\n", + "new_transport_categories = [\n", + " \"Light Duty Vehicle\",\n", + " \"Medium Duty Vehicle\", \n", + " \"High Duty Vehicle\",\n", + " \"Bus\",\n", + " \"2W and 3W\",\n", + " \"Rail\",\n", + " \"Domestic Aviation\", \n", + " \"European Aviation\", \n", + " \"International Aviation\",\n", + " \"Navigation\",\n", + " \"Bicycling and Walking\"\n", + "]\n", + "\n", + "transport_mode_dict = dict(zip(transportation_categories, new_transport_categories))\n", + "# Save dictionary with pprint\n", + "with open('transport_mode_dict.txt', 'w') as f:\n", + " pprint.pprint(transport_mode_dict, f)" + ] } ], "metadata": { @@ -493,7 +1219,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.1" + "version": "3.10.14" } }, "nbformat": 4, diff --git a/Conversion-Script/Create_Variable_Dict/variable_name_dict.txt b/Conversion-Script/Create_Variable_Dict/variable_name_dict.txt new file mode 100644 index 0000000..3638e91 --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/variable_name_dict.txt @@ -0,0 +1,14 @@ +{ + "world_PE_by_commodity|PE_agriculture_products": "Primary Energy|Agriculture Products", + "world_PE_by_commodity|PE_coal": "Primary Energy|Coal", + "world_PE_by_commodity|PE_oil": "Primary Energy|Oil", + "world_PE_by_commodity|PE_forestry_products": "Primary Energy|Forestry Products", + "world_PE_by_commodity|PE_geothermal": "Primary Energy|Geothermal", + "world_PE_by_commodity|PE_hydropower": "Primary Energy|Hydropower", + "world_PE_by_commodity|PE_natural_gas": "Primary Energy|Natural Gas", + "world_PE_by_commodity|PE_nuclear": "Primary Energy|Nuclear", + "world_PE_by_commodity|PE_oceanic": "Primary Energy|Ocean", + "world_PE_by_commodity|PE_solar": "Primary Energy|Solar", + "world_PE_by_commodity|PE_waste": "Primary Energy|Waste", + "total_PE_by_region": "Primary Energy" +} \ No newline at end of file diff --git a/Conversion-Script/Variable_Reference/Variable_name_IAMC.xlsx b/Conversion-Script/Variable_Reference/Variable_name_IAMC.xlsx index 8938885..a69ae5d 100644 Binary files a/Conversion-Script/Variable_Reference/Variable_name_IAMC.xlsx and b/Conversion-Script/Variable_Reference/Variable_name_IAMC.xlsx differ diff --git a/Conversion-Script/translation-one-by-one/Creation_global_dict_helpers.ipynb b/Conversion-Script/translation-one-by-one/Creation_global_dict_helpers.ipynb new file mode 100644 index 0000000..d64336e --- /dev/null +++ b/Conversion-Script/translation-one-by-one/Creation_global_dict_helpers.ipynb @@ -0,0 +1,826 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import os\n", + "import time\n", + "import ast\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Read normal variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "time0 = time.time()\n", + "\n", + "\n", + "def get_last_added_file(folder_path):\n", + " # Get a list of all files in the folder\n", + " files = os.listdir(folder_path)\n", + "\n", + " # Filter Excel files\n", + " excel_files = [\n", + " file\n", + " for file in files\n", + " if file.endswith(\".xlsx\") or file.endswith(\".xls\") or file.endswith(\".csv\")\n", + " ]\n", + "\n", + " if not excel_files:\n", + " return None # No Excel files found\n", + " print()\n", + " # Sort files by modification time (newest first)\n", + " excel_files.sort(\n", + " key=lambda x: os.path.getctime(os.path.join(folder_path, x)), reverse=True\n", + " )\n", + "\n", + " # Return the path to the last added Excel file\n", + " return os.path.join(folder_path, excel_files[0])\n", + "\n", + "\n", + "def create_folder_if_not_exists(folder_name):\n", + " # Get current folder\n", + " folder_path = os.getcwd()\n", + "\n", + " try:\n", + " os.makedirs(\"pip\")\n", + " print(\"DONE\")\n", + " except FileExistsError:\n", + " pass\n", + " if not os.path.exists(os.path.join(folder_path, folder_name)):\n", + " os.makedirs(folder_name)\n", + " print(\"Folder '{}' created.\".format(folder_name))\n", + " else:\n", + " print(\"Folder '{}' already exists.\".format(folder_name))\n", + "\n", + "\n", + "# Folder name to create\n", + "folder_name_to_convert = \"File_To_Convert\"\n", + "folder_name_converted = \"File_Converted\"\n", + "\n", + "# Get current folder\n", + "folder_path = os.getcwd()\n", + "\n", + "\n", + "# Create new folder\n", + "create_folder_if_not_exists(folder_name_converted)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Get the last upload excel file\n", + "real_folder_path = os.path.join(folder_path, folder_name_to_convert)\n", + "\n", + "last_file = get_last_added_file(real_folder_path)\n", + "\n", + "\n", + "if last_file:\n", + " print(\"Last added file:\", last_file)\n", + "else:\n", + " print(\"No files found in the folder.\")\n", + "\n", + "# Get the correct naming for the converted file\n", + "filename_with_extension = os.path.basename(last_file)\n", + "splited_filename_with_extension = os.path.splitext(filename_with_extension)\n", + "print(splited_filename_with_extension)\n", + "filename = (\n", + " splited_filename_with_extension[0]\n", + " + \"converted\"\n", + " + splited_filename_with_extension[1]\n", + ")\n", + "\n", + "# Possibility to create a thread to run all the code during the wait for the user answer.\n", + "# scenario = input(\"Give the name of the scenario\")\n", + "scenario = splited_filename_with_extension[0]\n", + "\n", + "# Read the selected file\n", + "if (\n", + " splited_filename_with_extension[1] == \".xls\"\n", + " or splited_filename_with_extension[1] == \".xlsx\"\n", + "):\n", + " scenario_variable_df = pd.read_excel(last_file)\n", + "elif splited_filename_with_extension[1] == \".csv\":\n", + " scenario_variable_df = pd.read_csv(last_file)\n", + "\n", + "\n", + "scenario_variable_df\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Check for duplicate rows\n", + "duplicate_rows = scenario_variable_df[scenario_variable_df.duplicated()]\n", + "\n", + "# Display duplicate rows\n", + "print(\"Duplicate Rows:\")\n", + "print(duplicate_rows)\n", + "\n", + "# Count the number of duplicate rows\n", + "num_duplicate_rows = duplicate_rows.shape[0]\n", + "print(\"Number of Duplicate Rows:\", num_duplicate_rows)\n", + "\n", + "scenario_variable_df = scenario_variable_df.drop_duplicates()\n", + "print(len(scenario_variable_df))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Rename the column of the file\n", + "columns = scenario_variable_df.columns.str.replace(\"Unnamed:\", \"Subscript\")\n", + "columns = columns.str.replace(\".\", \" \")\n", + "\n", + "# Define the string you want in column names\n", + "search_string = \"Subscript\"\n", + "counter = 0\n", + "\n", + "for k in range(len(columns)):\n", + " if search_string in columns[k]:\n", + " columns.values[k] = search_string + \" \" + str(counter)\n", + " counter += 1\n", + "\n", + "\n", + "# Create a dictionary using zip() and dictionary comprehension\n", + "my_dict = {k: v for k, v in zip(scenario_variable_df.columns[2:6], columns[2:6])}\n", + "scenario_variable_df.rename(columns=my_dict, inplace=True)\n", + "scenario_variable_df.rename(\n", + " columns={\"Time\": \"Variable\", \"Year\": \"Unit\", \"Subscript\": \"Subscript 0\"},\n", + " inplace=True,\n", + ")\n", + "\n", + "# Insert the three columns in the right place for IAMC format\n", + "scenario_variable_df.insert(0, \"Model\", \"WILIAM\")\n", + "scenario_variable_df.insert(1, \"Scenario\", scenario)\n", + "scenario_variable_df.insert(2, \"Region\", \"World\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Dict used to check if the subscripts are a country\n", + "country_dict = {\n", + " \"EU27\": 1,\n", + " \"UK\": 1,\n", + " \"CHINA\": 1,\n", + " \"EASOC\": 1,\n", + " \"INDIA\": 1,\n", + " \"LATAM\": 1,\n", + " \"RUSSIA\": 1,\n", + " \"USMCA\": 1,\n", + " \"LROW\": 1,\n", + " \"AUSTRIA\": 1,\n", + " \"BELGIUM\": 1,\n", + " \"BULGARIA\": 1,\n", + " \"CROATIA\": 1,\n", + " \"CYPRUS\": 1,\n", + " \"CZECH_REPUBLIC\": 1,\n", + " \"DENMARK\": 1,\n", + " \"ESTONIA\": 1,\n", + " \"FINLAND\": 1,\n", + " \"FRANCE\": 1,\n", + " \"GERMANY\": 1,\n", + " \"GREECE\": 1,\n", + " \"HUNGARY\": 1,\n", + " \"IRELAND\": 1,\n", + " \"ITALY\": 1,\n", + " \"LATVIA\": 1,\n", + " \"LITHUANIA\": 1,\n", + " \"LUXEMBOURG\": 1,\n", + " \"MALTA\": 1,\n", + " \"NETHERLANDS\": 1,\n", + " \"POLAND\": 1,\n", + " \"PORTUGAL\": 1,\n", + " \"ROMANIA\": 1,\n", + " \"SLOVAKIA\": 1,\n", + " \"SLOVENIA\": 1,\n", + " \"SPAIN\": 1,\n", + " \"SWEDEN\": 1,\n", + "}\n", + "\n", + "\n", + "# Aggregate the subscripts at the end of the variable\n", + "def aggregate_variable_name(row, counter):\n", + " for k in range(counter):\n", + " subscript = row[\"Subscript \" + str(k)]\n", + "\n", + " if k == 0:\n", + " if country_dict.get(subscript) == 1:\n", + " # Give the name of the region for that variable\n", + " row[\"Region\"] = subscript\n", + "\n", + " row[\"Subscript 0\"] = np.nan\n", + " continue\n", + "\n", + " if not pd.isnull(subscript):\n", + " row[\"Variable\"] = row[\"Variable\"] + \"|\" + subscript\n", + "\n", + " return row\n", + "\n", + "\n", + "# Apply the previous function on all the lines\n", + "scenario_variable_df = scenario_variable_df.apply(\n", + " aggregate_variable_name, args=(counter,), axis=1\n", + ")\n", + "\n", + "# Remove the subscript columns once they have been added at the end of the variable name\n", + "drop_columns_list = [\"Subscript \" + str(k) for k in range(counter)]\n", + "scenario_variable_df.drop(columns=drop_columns_list, inplace=True)\n", + "\n", + "scenario_variable_df\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Read Transform variables " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Get the last upload excel file\n", + "real_folder_path= os.path.join(folder_path , folder_name_to_convert)\n", + "\n", + "last_file = get_last_added_file(real_folder_path)\n", + "\n", + "\n", + "if last_file:\n", + " print(\"Last added file:\", last_file)\n", + "else:\n", + " print(\"No files found in the folder.\")\n", + "\n", + "# Get the correct naming for the converted file \n", + "filename_with_extension = os.path.basename(last_file)\n", + "splited_filename_with_extension = os.path.splitext(filename_with_extension)\n", + "print(splited_filename_with_extension)\n", + "filename = splited_filename_with_extension[0] + 'converted' + splited_filename_with_extension[1]\n", + "\n", + "# Possibility to create a thread to run all the code during the wait for the user answer. \n", + "# scenario = input(\"Give the name of the scenario\")\n", + "scenario = splited_filename_with_extension[0]\n", + "\n", + "# Read the selected file \n", + "if splited_filename_with_extension[1] == '.xls' or splited_filename_with_extension[1] == '.xlsx':\n", + " scenario_variable_2_df = pd.read_excel(last_file)\n", + "elif splited_filename_with_extension[1] == '.csv': \n", + " scenario_variable_2_df = pd.read_csv(last_file)\n", + "\n", + "\n", + "scenario_variable_2_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Rename the column of the file \n", + "columns = scenario_variable_2_df.columns.str.replace('Unnamed:', 'Subscript')\n", + "columns = columns.str.replace('.', ' ')\n", + "\n", + "# Define the string you want in column names\n", + "search_string = 'Subscript'\n", + "counter=0 \n", + "\n", + "for k in range(len(columns)): \n", + " if search_string in columns[k]: \n", + " columns.values[k]= search_string + ' ' + str(counter)\n", + " counter+=1\n", + "\n", + "\n", + "\n", + "# Create a dictionary using zip() and dictionary comprehension\n", + "my_dict = {k: v for k, v in zip(scenario_variable_2_df.columns[2:6], columns[2:6])}\n", + "scenario_variable_2_df.rename(columns=my_dict, inplace=True)\n", + "scenario_variable_2_df.rename(columns={\"Time\": \"Variable\", \"Year\": \"Unit\", \"Subscript\":\"Subscript 0\"}, inplace=True)\n", + "\n", + "\n", + "\n", + "# Insert the three columns in the right place for IAMC format\n", + "scenario_variable_2_df.insert(0, 'Model', \"WILIAM\")\n", + "scenario_variable_2_df.insert(1, 'Scenario', scenario)\n", + "scenario_variable_2_df.insert(2,\"Region\",\"World\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Check for duplicate rows\n", + "duplicate_rows = scenario_variable_2_df[scenario_variable_2_df.duplicated()]\n", + "\n", + "# Display duplicate rows\n", + "print(\"Duplicate Rows:\")\n", + "print(duplicate_rows)\n", + "\n", + "# Count the number of duplicate rows\n", + "num_duplicate_rows = duplicate_rows.shape[0]\n", + "print(\"Number of Duplicate Rows:\", num_duplicate_rows)\n", + "\n", + "scenario_variable_2_df = scenario_variable_2_df.drop_duplicates()\n", + "print(len(scenario_variable_2_df))\n", + "\n", + "# Read the CSV file into a pandas DataFrame\n", + "data_name_df = pd.read_excel(\"../Variable_Reference/Variable_name_IAMC.xlsx\")\n", + "# Remplacer les tirets du bas par des espaces dans la colonne\n", + "# data_name_df['WILIAM_variable'] = data_name_df['WILIAM_variable'].str.replace('_', ' ')\n", + "# Drop rows with NaN values which corresponds to values not conserv for the final upload of data in IAMC format\n", + "data_name_df.dropna(subset=[\"IAMC_variable\"], inplace=True)\n", + "data_name_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a dict with Wiliam's name as key, IAMC's name as value\n", + "IAMC_WILIAM_name_dict = data_name_df.set_index('WILIAM_variable')['IAMC_variable'].to_dict()\n", + "print(IAMC_WILIAM_name_dict)\n", + "# Replace the variable name used in William to the ones used for IAMC format. \n", + "scenario_variable_2_df['Variable']= scenario_variable_2_df['Variable'].replace(IAMC_WILIAM_name_dict)\n", + "\n", + "# Keep only the rows where the value in column 'Variable' belongs to the list of wanted values \n", + "variable_required_list = data_name_df['IAMC_variable'].to_list()\n", + "# scenario_variable_df = scenario_variable_df[scenario_variable_df['Variable'].isin(variable_required_list)]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "variables_used_list = scenario_variable_2_df['Variable'].to_list()\n", + "variables_required_not_in = list(set(variable_required_list) - set(variables_used_list))\n", + "print('The missing variable in the export dataset are the following:', variables_required_not_in)\n", + "print('The number of missing varibles is ', len(variables_required_not_in))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Open the text file containing the energy dictionary\n", + "with open('../Create_Variable_Dict/energy_dict.txt', 'r') as f:\n", + " # Read the contents of the file\n", + " energy_dict_str = f.read()\n", + "\n", + "# Convert the string representation of the dictionary back to a dictionary object\n", + "energy_dict = ast.literal_eval(energy_dict_str)\n", + "\n", + "\n", + "# Open the text file containing the rest dictionary\n", + "with open('../Create_Variable_Dict/rest_dict.txt', 'r') as f:\n", + " # Read the contents of the file\n", + " rest_dict_str = f.read()\n", + "\n", + "# Convert the string representation of the dictionary back to a dictionary object\n", + "rest_dict = ast.literal_eval(rest_dict_str)\n", + "\n", + "\n", + "# Open the text file containing the sectors dictionary\n", + "with open('../Create_Variable_Dict/sectors_dict.txt', 'r') as f:\n", + " # Read the contents of the file\n", + " sectors_str = f.read()\n", + "\n", + "# Convert the string representation of the dictionary back to a dictionary object\n", + "sectors_dict = ast.literal_eval(sectors_str)\n", + "\n", + "# Open the text file containing the dictionary\n", + "with open('../Create_Variable_Dict/country_dict.txt', 'r') as f:\n", + " # Read the contents of the file\n", + " dict_str = f.read()\n", + "\n", + "# Convert the string representation of the dictionary back to a dictionary object\n", + "country_Wiliam_dict = ast.literal_eval(dict_str)\n", + "\n", + "# Open the text file containing the dictionary\n", + "with open('../Create_Variable_Dict/economy_dashboard_dict.txt', 'r') as f:\n", + " # Read the contents of the file\n", + " economy_dashboard_str = f.read()\n", + "\n", + "# Convert the string representation of the dictionary back to a dictionary object\n", + "economy_dashboard_dict = ast.literal_eval(economy_dashboard_str)\n", + "\n", + "# Replace the region name by the ones adapted for Wiliam. \n", + "scenario_variable_2_df['Region'] = scenario_variable_2_df['Region'].replace(country_Wiliam_dict)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Dict used to check if the subscripts are a country\n", + "country_dict = {\n", + " \"EU27\": 1,\n", + " \"UK\": 1,\n", + " \"CHINA\": 1,\n", + " \"EASOC\": 1,\n", + " \"INDIA\": 1,\n", + " \"LATAM\": 1,\n", + " \"RUSSIA\": 1,\n", + " \"USMCA\": 1,\n", + " \"LROW\": 1,\n", + " \"AUSTRIA\": 1,\n", + " \"BELGIUM\": 1,\n", + " \"BULGARIA\": 1,\n", + " \"CROATIA\": 1,\n", + " \"CYPRUS\": 1,\n", + " \"CZECH_REPUBLIC\": 1,\n", + " \"DENMARK\": 1,\n", + " \"ESTONIA\": 1,\n", + " \"FINLAND\": 1,\n", + " \"FRANCE\": 1,\n", + " \"GERMANY\": 1,\n", + " \"GREECE\": 1,\n", + " \"HUNGARY\": 1,\n", + " \"IRELAND\": 1,\n", + " \"ITALY\": 1,\n", + " \"LATVIA\": 1,\n", + " \"LITHUANIA\": 1,\n", + " \"LUXEMBOURG\": 1,\n", + " \"MALTA\": 1,\n", + " \"NETHERLANDS\": 1,\n", + " \"POLAND\": 1,\n", + " \"PORTUGAL\": 1,\n", + " \"ROMANIA\": 1,\n", + " \"SLOVAKIA\": 1,\n", + " \"SLOVENIA\": 1,\n", + " \"SPAIN\": 1,\n", + " \"SWEDEN\": 1,\n", + "}\n", + "\n", + "\n", + "\n", + "\n", + "# Aggregate the subscripts at the end of the variable\n", + "def aggregate_variable_name(row, counter):\n", + " for k in range(counter):\n", + " subscript = row[\"Subscript \" + str(k)]\n", + "\n", + " if k == 0:\n", + " if country_dict.get(subscript) == 1:\n", + " # Give the name of the region for that variable\n", + " row[\"Region\"] = subscript\n", + "\n", + " row[\"Subscript 0\"] = np.nan\n", + " continue\n", + "\n", + " if not pd.isnull(subscript):\n", + " if energy_dict.get(subscript, None):\n", + " subscript = energy_dict[subscript]\n", + " elif rest_dict.get(subscript, None):\n", + " subscript = rest_dict[subscript]\n", + " elif sectors_dict.get(subscript, None):\n", + " subscript = sectors_dict[subscript]\n", + " elif economy_dashboard_dict.get(subscript, None):\n", + " subscript = economy_dashboard_dict[subscript]\n", + "\n", + " row[\"Variable\"] = row[\"Variable\"] + \"|\" + subscript\n", + "\n", + " return row\n", + "\n", + "\n", + "# Apply the previous function on all the lines\n", + "scenario_variable_2_df = scenario_variable_2_df.apply(\n", + " aggregate_variable_name, args=(counter,), axis=1\n", + ")\n", + "\n", + "# Remove the subscript columns once they have been added at the end of the variable name\n", + "drop_columns_list = [\"Subscript \" + str(k) for k in range(counter)]\n", + "scenario_variable_2_df.drop(columns=drop_columns_list, inplace=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# List with the words in uppercase which will not be capitalized by the next functions\n", + "upper_word_list = ['CO2', 'CH4', 'N2O', 'PFC', 'SF6', 'HFC134a', 'HFC23', 'HFC32', 'HFC125', 'HFC143a', 'HFC152a', 'HFC227ea', 'HFC245ca', 'HFC43-10', 'HFC', 'w/o CCS' ,'w/ CCS', 'PV', 'CSP', 'AFOLU', 'CO2eq', 'EROI', 'PV', 'CSP','ICE_gasoline','ICE_diesel', 'ICE_gas', 'ICE_LPG', 'BEV', 'PHEV', 'HEV', 'FCEV', 'EV', 'HPV', 'LMO', 'NMC622', 'NMC811', 'NCA', 'LFP', 'LDV','MDV','HDV','NMT','GDP', 'PPP']\n", + "vehicule_list = ['gasoline', 'gas' , 'diesel']\n", + "\n", + "# Change the format of the string to respect IAMC's format\n", + "def transform_string(s):\n", + " # Split the string into words\n", + " if pd.isnull(s): \n", + " return s\n", + " words = s.split('|')\n", + "\n", + " capitalized_words = []\n", + " # Capitalize the first letter of each word\n", + " for word in words: \n", + " if word not in upper_word_list:\n", + " new_word_list = word.split('_')\n", + " new_word_list = [new_word.capitalize() for new_word in new_word_list] \n", + " capitalized_words += [' '.join(new_word_list) + '|']\n", + " else: \n", + " new_word_list = word.split('_')\n", + " capitalized_words += [new_word + '|' if new_word in vehicule_list else new_word.capitalize() + '|' for new_word in new_word_list]\n", + " \n", + " # Join the words with spaces\n", + " transformed_string = ''.join(capitalized_words)\n", + "\n", + " result = ''\n", + " capitalize_next=False\n", + " # Capitalize the letter after each space\n", + " for char in transformed_string[:-1]:\n", + " if char == ' ' or char == '-':\n", + " capitalize_next = True\n", + " result += char\n", + " elif capitalize_next:\n", + " result += char.upper()\n", + " capitalize_next = False\n", + " else:\n", + " result += char\n", + " \n", + " \n", + " return result\n", + "\n", + "# Capitalize each variable's name\n", + "scenario_variable_2_df['Variable'] = scenario_variable_2_df['Variable'].apply(transform_string)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Make modifications on some variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Select rows with the name 'Emission'\n", + "emission_rows = scenario_variable_2_df[scenario_variable_2_df['Variable'].str.contains('Emission')]\n", + "emission_name_old = emission_rows['Variable'].to_list()\n", + "# List of Greenhouses Gases used in Wiliam \n", + "# We differentiate the treatment of HFC and others GHGs because they are handle differently in IAMC Format. \n", + "GHGs_to_check = ['CH4', 'N2O', 'PFC', 'SF6','CO2']\n", + "HFC_list = ['HFC134a', 'HFC23', 'HFC32', 'HFC125', 'HFC143a', 'HFC152a', 'HFC227ea', 'HFC245ca', 'HFC43-10']\n", + "\n", + "\n", + "# Iterate over the rows to create the name and the unit of emissions correctly. \n", + "# The new list of variables and unit is then updated to the real dataframe.\n", + "variable_list = []\n", + "unit_list = []\n", + "\n", + "for row_index, row in emission_rows[['Variable','Unit']].iterrows():\n", + " specific_word = 'Emissions'\n", + " ghg_bool = False\n", + " for string in GHGs_to_check:\n", + " \n", + " if string in row['Variable']:\n", + " \n", + " index_emission = row['Variable'].find('Emissions') + len(specific_word)\n", + " index_gas = row['Variable'].find(string)\n", + " row['Variable'] = row['Variable'][:index_emission] + '|' + string + row['Variable'][index_emission:index_gas-1] + row['Variable'][index_gas+len(string):] \n", + " ghg = string\n", + " ghg_bool = True\n", + " \n", + " break\n", + " \n", + " for string in HFC_list:\n", + " if string in row['Variable']:\n", + " \n", + " index_emission = row['Variable'].find('Emissions') + len(specific_word)\n", + " index_gas = row['Variable'].find(string)\n", + " row['Variable'] = row['Variable'][:index_emission] + '|HFC|' + string + row['Variable'][index_emission:index_gas-1] + row['Variable'][index_gas+len(string):]\n", + " \n", + " break\n", + " index_year = row['Unit'].find('/yr')\n", + " if row['Unit'] == 'Mt/yr' or row['Unit'] == 'Gt/yr':\n", + " if ghg_bool: \n", + " row['Unit'] = row['Unit'][:index_year] + ' ' + ghg + row['Unit'][index_year:]\n", + " else : \n", + " row['Unit'] = row['Unit'][:index_year] + ' ' + string + row['Unit'][index_year:]\n", + " variable_list.append(row['Variable'])\n", + " unit_list.append(row['Unit'])\n", + "\n", + "indexes = emission_rows.index\n", + "\n", + "# Assign new values to specific rows in the column for the Variable and Unit \n", + "scenario_variable_2_df.loc[indexes, 'Variable'] = variable_list\n", + "scenario_variable_2_df.loc[indexes, 'Unit'] = unit_list" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Change Primary Energy Naming\n", + "# Select the rows where the primary energy word \n", + "energy_rows = scenario_variable_2_df[scenario_variable_2_df['Variable'].str.contains('Per Capita')]\n", + "\n", + "\n", + "energy_name_old = energy_rows['Variable'].to_list()\n", + "\n", + "# Function to move the matched string after the specific word\n", + "def move_crochets(s):\n", + " specific_word_1 = '[per capita]'\n", + " specific_word_2 = '[intensity]'\n", + " specific_word_3 = '[share]'\n", + " \n", + " if specific_word_1 in s:\n", + " index_emission = s.find(specific_word_1) \n", + " \n", + " s = s[:index_emission-1] + s[index_emission+len(specific_word_1):] + specific_word_1\n", + " \n", + " if specific_word_2 in s:\n", + " index_emission = s.find(specific_word_2) \n", + " \n", + " s = s[:index_emission-1] + s[index_emission+len(specific_word_2):] + '[Intensity]'\n", + " \n", + " if specific_word_3 in s:\n", + " index_emission = s.find(specific_word_3) \n", + " \n", + " s = s[:index_emission-1] + s[index_emission+len(specific_word_1):] + '[Share]'\n", + "\n", + " return s\n", + "\n", + "# Apply the function to the 'Variable' column\n", + "energy_rows['Variable'] = energy_rows['Variable'].apply(move_crochets)\n", + "energy_name_new = energy_rows['Variable'].to_list()\n", + "\n", + "energy_per_capita_dict = dict(zip(energy_name_old, energy_name_new))\n", + "\n", + "scenario_variable_2_df['Variable'] = scenario_variable_2_df['Variable'].replace(energy_per_capita_dict)\n", + "scenario_variable_2_df['Variable'] = scenario_variable_2_df['Variable'].apply(move_crochets)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Change Secondary Energy Naming \n", + "secondary_energy_rows = scenario_variable_2_df[scenario_variable_2_df['Variable'].str.contains('Secondary Energy')]\n", + "\n", + "\n", + "# Change Secondary Energy Naming \n", + "# Select the rows for Primary Energy Price \n", + "price_energy_rows = scenario_variable_2_df[scenario_variable_2_df['Variable'].str.contains('Price')]\n", + "price_energy_rows = price_energy_rows[price_energy_rows['Variable'].str.contains('Primary Energy')]\n", + "price_energy_rows\n", + "\n", + "def remove_characters_between_indices(input_string, start_index, end_index):\n", + " \"\"\"\n", + " Remove characters between two given indices of a string.\n", + "\n", + " Args:\n", + " - input_string (str): The original string.\n", + " - start_index (int): The index of the first character to remove (inclusive).\n", + " - end_index (int): The index of the last character to remove (inclusive).\n", + "\n", + " Returns:\n", + " - str: The modified string with characters removed between the specified indices.\n", + " \"\"\"\n", + " if start_index >= end_index:\n", + " return input_string # Return the original string if start index is greater than or equal to end index\n", + " \n", + " # Ensure indices are within the range of the string\n", + " start_index = max(start_index, 0)\n", + " end_index = min(end_index, len(input_string) - 1)\n", + " \n", + " # Construct the new string by concatenating substrings before and after the characters to be removed\n", + " return input_string[:start_index] + input_string[end_index + 1:]\n", + "\n", + "def remove_string_between_pipe(input_string):\n", + " \"\"\"\n", + " Remove the string between the second and third '|' characters in the input string.\n", + "\n", + " Args:\n", + " - input_string (str): The original string.\n", + "\n", + " Returns:\n", + " - str: The modified string with the content between '|' characters removed.\n", + " \"\"\"\n", + " second_occurrence = input_string.find('|', input_string.find('|') + 1)\n", + " third_occurrence = input_string.find('|', second_occurrence + 1)-1\n", + " \n", + " # Remove characters between the '|' characters using the previous function\n", + " result = remove_characters_between_indices(input_string, second_occurrence, third_occurrence)\n", + "\n", + " # Remove CCS extension because it is not relevant \n", + " result = result.replace('|w/ CCS', '').replace('|w/o CCS', '')\n", + " \n", + " return result\n", + "\n", + "price_energy_rows['Variable'] = price_energy_rows['Variable'].apply(remove_string_between_pipe)\n", + "indexes = price_energy_rows.index\n", + "\n", + "# Assign new values to specific rows in the column for the Variable and Unit \n", + "scenario_variable_2_df.loc[indexes, 'Variable'] = price_energy_rows['Variable']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import csv\n", + "# Remove the duplication on the variable column \n", + "scenario_variable_df = scenario_variable_df.drop_duplicates(subset=[\"Variable\"])\n", + "print(len(scenario_variable_df))\n", + "\n", + "# Step 1: Get the column of old name\n", + "data_first_column = scenario_variable_df[\"Variable\"].to_list()\n", + "\n", + "\n", + "# Remove the duplication of the Variable column except when the region is 'World'\n", + "# Assign a temporary index column to keep track of the original order\n", + "scenario_variable_2_df['temp_index'] = scenario_variable_2_df.index\n", + "\n", + "\n", + "# Drop duplicates based on 'Variable' for non-'World' rows\n", + "non_world_rows = scenario_variable_2_df.drop_duplicates(subset='Variable')\n", + "\n", + "\n", + "\n", + "# Step 2: Get the column of old name\n", + "data_second_column = non_world_rows[\"Variable\"].to_list()\n", + "print(len(data_second_column))\n", + "\n", + "\n", + "\n", + "# Write the new data along with the existing data\n", + "with open(\"example.csv\", \"w\", newline=\"\") as csvfile:\n", + " csvwriter = csv.writer(csvfile)\n", + " for k in range(len(data_second_column)):\n", + " csvwriter.writerow([data_first_column[k], data_second_column[k]])\n", + " for k in range(len(data_second_column), len(data_first_column)): \n", + " csvwriter.writerow([data_first_column[k]])\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "IAMC_format", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Final_script/Geeds.jpg b/Final_script/Geeds.jpg new file mode 100644 index 0000000..a522e81 Binary files /dev/null and b/Final_script/Geeds.jpg differ diff --git a/Final_script/report_pdf.py b/Final_script/report_pdf.py new file mode 100644 index 0000000..6a452a1 --- /dev/null +++ b/Final_script/report_pdf.py @@ -0,0 +1,23 @@ +# Create a PDF class +from fpdf import FPDF + +class PDFReport(FPDF): + + + def header(self): + # Logo + self.image('Geeds.jpg', 10, 8, 33) + # Arial bold 15 + self.set_font('Arial', 'B', 15) + # Move to the right + self.cell(80) + # Title + self.cell(30, 10, 'Report Scenario', 1, 0, 'C') + # Line break + self.ln(20) + + def footer(self): + # Add page number at the bottom of each page + self.set_y(-15) + self.set_font("Arial", "I", 8) + self.cell(0, 10, f"Page {self.page_no()}", align="C") diff --git a/Final_script/translation.py b/Final_script/translation.py new file mode 100644 index 0000000..395cdb7 --- /dev/null +++ b/Final_script/translation.py @@ -0,0 +1,382 @@ +import numpy as np +import pandas as pd +import os +import ast +import pyam +import matplotlib.pyplot as plt +import report_pdf +import argparse +import translation_helpers + + +def get_last_added_file(folder_path): + # Get a list of all files in the folder + files = os.listdir(folder_path) + + # Filter Excel files + excel_files = [ + file + for file in files + if file.endswith(".xlsx") or file.endswith(".xls") or file.endswith(".csv") + ] + + if not excel_files: + return None # No Excel files found + print() + # Sort files by modification time (newest first) + excel_files.sort( + key=lambda x: os.path.getctime(os.path.join(folder_path, x)), reverse=True + ) + + # Return the path to the last added Excel file + return os.path.join(folder_path, excel_files[0]) + + +def create_folder_if_not_exists(folder_name): + # Get current folder + folder_path = os.getcwd() + + try: + os.makedirs("pip") + print("DONE") + except FileExistsError: + pass + if not os.path.exists(os.path.join(folder_path, folder_name)): + os.makedirs(folder_name) + print("Folder '{}' created.".format(folder_name)) + else: + print("Folder '{}' already exists.".format(folder_name)) + + +# Aggregate the subscripts at the end of the variable +def aggregate_subscript_variable_name(row, counter, existing_country_Wiliam_dict, country_dict): + for k in range(counter): + subscript = row["Subscript " + str(k)] + + if k == 0: + if existing_country_Wiliam_dict.get(subscript) == 1: + # Give the name of the region for that variable + row["Region"] = country_dict.get(subscript) + + row["Subscript 0"] = np.nan + continue + + if not pd.isnull(subscript): + row["Variable"] = row["Variable"] + "|" + subscript + + return row + +# Function to replace values and track missing ones +def replace_and_track(value, variable_name_dict,missing_variable): + if value in variable_name_dict: + return variable_name_dict[value] + else: + missing_variable.append(value) + return value + +# Function to create the aggregations of each row +def aggregate_rows(df, aggregations): + # List of new rows + new_rows = [] + # Get the list of all regions + regions = df['Region'].unique() + + for region in regions: + # Filter the dataframe on the actual region + df_region = df[df['Region'] == region] + for names, new_name in aggregations.items(): + # Check if all the names are present + if all(name in df_region["Variable"].values for name in names): + # Filter the dataframe with the names of interest + df_subset = df_region[df_region["Variable"].isin(names)] + + # Compute the sum of the aggregation of the value + summed_values = df_subset.drop(columns=["Variable", "Unit", "Model", "Scenario", "Region"]).sum() + + # Create the new aggreagted rows + new_row = { + "Model": df_subset["Model"].iloc[0], + "Scenario": df_subset["Scenario"].iloc[0], + "Region": region, + "Variable": new_name, + "Unit": df_subset["Unit"].iloc[0], + ** summed_values.to_dict(), + } + new_rows.append(new_row) + + # Create a dataframe with the new rows + new_df = pd.DataFrame(new_rows) + + # Concatenate the two dataframe to get the aggregated rows + df_final = pd.concat([df, new_df], ignore_index=True) + + return df_final + +def open_dict(dict_filename): + # Open the text file containing the dictionary + with open("../Conversion-Script/Create_Variable_Dict/" + dict_filename, "r") as f: + # Read the contents of the file + read_dict_str = f.read() + + # Convert the string representation of the dictionary back to a dictionary object + read_dict = ast.literal_eval(read_dict_str) + return read_dict + + +def main(): + # Parse the argument put in the command line. + parser = argparse.ArgumentParser() + parser.add_argument("--arguments", help="insert argg") + args = parser.parse_args() + + # Inform the user if a report will be created + report_creation_bool = False + if args.arguments == 'report': + report_creation_bool = True + + # Folder name to create + folder_name_to_convert = "File_To_Convert" + folder_name_converted = "File_Converted" + + # Get current folder + folder_path = os.getcwd() + + + # Create new folder + create_folder_if_not_exists(folder_name_converted) + + # Check the existence of the File_To_Convert folder + folder_created_bool = os.path.isdir(os.path.join(folder_path, folder_name_to_convert)) + if not folder_created_bool: + print('The path to the File_To_Convert folder', folder_path + folder_name_to_convert, ' is not a directory.' ) + + + # Get the last upload excel file + real_folder_path = os.path.join(folder_path, folder_name_to_convert) + + last_file = get_last_added_file(real_folder_path) + + + if last_file: + print("Last added file:", last_file) + else: + print("No files found in the folder.") + + # Get the correct naming for the converted file + filename_with_extension = os.path.basename(last_file) + splited_filename_with_extension = os.path.splitext(filename_with_extension) + + filename = ( + splited_filename_with_extension[0] + + "converted" + + splited_filename_with_extension[1] + ) + + + + # The scenario name is the name of the file to translate. + # Possibility to create a thread to run all the code during the wait for the user answer. + # scenario = input("Give the name of the scenario") + scenario = splited_filename_with_extension[0] + + # Read the selected file + if ( + splited_filename_with_extension[1] == ".xls" + or splited_filename_with_extension[1] == ".xlsx" + ): + scenario_variable_df = pd.read_excel(last_file) + elif splited_filename_with_extension[1] == ".csv": + scenario_variable_df = pd.read_csv(last_file) + + # Remove duplicated rows in the file. + scenario_variable_df = scenario_variable_df.drop_duplicates() + # Rename the column of the file + + + columns = scenario_variable_df.columns.str.replace("Unnamed:", "Subscript") + columns = columns.str.replace(".", " ") + + # Define the string you want in column names + search_string = "Subscript" + counter = 0 + + for k in range(len(columns)): + if search_string in columns[k]: + columns.values[k] = search_string + " " + str(counter) + counter += 1 + + + # Create a dictionary using zip() and dictionary comprehension + my_dict = {k: v for k, v in zip(scenario_variable_df.columns[2:6], columns[2:6])} + scenario_variable_df.rename(columns=my_dict, inplace=True) + scenario_variable_df.rename( + columns={"Time": "Variable", "Year": "Unit", "Subscript": "Subscript 0"}, + inplace=True, + ) + + # Insert the three columns in the right place for IAMC format + scenario_variable_df.insert(0, "Model", "WILIAM") + scenario_variable_df.insert(1, "Scenario", scenario) + scenario_variable_df.insert(2, "Region", "World") + + # Dict used to check if the subscripts is a region used in Wiliam. + existing_country_Wiliam_dict = { + "EU27": 1, + "UK": 1, + "CHINA": 1, + "EASOC": 1, + "INDIA": 1, + "LATAM": 1, + "RUSSIA": 1, + "USMCA": 1, + "LROW": 1, + "AUSTRIA": 1, + "BELGIUM": 1, + "BULGARIA": 1, + "CROATIA": 1, + "CYPRUS": 1, + "CZECH_REPUBLIC": 1, + "DENMARK": 1, + "ESTONIA": 1, + "FINLAND": 1, + "FRANCE": 1, + "GERMANY": 1, + "GREECE": 1, + "HUNGARY": 1, + "IRELAND": 1, + "ITALY": 1, + "LATVIA": 1, + "LITHUANIA": 1, + "LUXEMBOURG": 1, + "MALTA": 1, + "NETHERLANDS": 1, + "POLAND": 1, + "PORTUGAL": 1, + "ROMANIA": 1, + "SLOVAKIA": 1, + "SLOVENIA": 1, + "SPAIN": 1, + "SWEDEN": 1, + } + + # Open the text file containing the country dictionary to translate the country name of Wiliam to the IAMC format. + country_dict = open_dict("country_dict.txt") + + # Order the subscript of each variable and give the right region to each row + scenario_variable_df = scenario_variable_df.apply( + aggregate_subscript_variable_name, args=(counter, existing_country_Wiliam_dict, country_dict),axis=1 + ) + + # Remove the subscript columns once they have been added at the end of the variable name + drop_columns_list = ["Subscript " + str(k) for k in range(counter)] + scenario_variable_df.drop(columns=drop_columns_list, inplace=True) + + # Open the text file containing the variable dictionary to translate each variable name of Wiliam to the variable name in the IAMC format. + variable_name_dict = open_dict("variable_name_dict.txt") + + # Convert all the variable name to the IAMC format and get the variables with a missing translation. + # Create the list of missing variable. + missing_variable = [] + + # Apply the function to the DataFrame column + scenario_variable_df["Variable"] = scenario_variable_df["Variable"].apply( + replace_and_track, args=(variable_name_dict, missing_variable) + ) + + # Open the text file containing the aggregation dictionary . + aggregation_dict = open_dict("aggregation.txt") + + # Create the aggregations rows in the dataframe. + scenario_variable_df = aggregate_rows(scenario_variable_df, aggregation_dict) + + # Create the path for the file containing the missing variable. + print( + "The translation of ", + len(missing_variable), + " variables are missing. You can find all the translation in the file called new_variable_name_dict.txt") + # Process the automatic translation of missing variables. + translation_helpers.create_automatic_translation(missing_variable) + + + # Write the new excel file in the File_Converted folder + folder_file_converted = os.path.join(folder_path, folder_name_converted) + + # Get the correct naming for the converted file + filename_with_extension = os.path.basename(last_file) + filename = ( + splited_filename_with_extension[0] + + "converted" + + splited_filename_with_extension[1] + ) + + # Check for duplicate rows + duplicate_rows = scenario_variable_df[ + scenario_variable_df.duplicated(subset=["Region", "Variable", "Unit"]) + ] + + # Count the number of duplicate rows. Normally we should find zero duplicates. + num_duplicate_rows = duplicate_rows.shape[0] + if num_duplicate_rows > 0: + print("Number of Duplicate Rows:", num_duplicate_rows) + + # Remove duplicate rows + scenario_variable_df.drop_duplicates(subset=["Region", "Variable", "Unit"], inplace=True) + + # Write the following dataframe to excel + if ( + splited_filename_with_extension[1] == ".xls" + or splited_filename_with_extension[1] == ".xlsx" + ): + scenario_variable_df.to_excel(os.path.join(folder_file_converted, filename)) + elif splited_filename_with_extension[1] == ".csv": + scenario_variable_df.to_csv( + os.path.join(folder_file_converted, filename), index=False + ) + + print("Conversion Done") + + if not report_creation_bool: + exit() + + # Structure to check the existance of the file + try: + scenario_df = pyam.IamDataFrame( + os.path.join(folder_file_converted, filename) + ) + except: + print("ERROR opening the file with results in IAMC format") + exit() + + # 3. This defines the model and scenario used for the report + args = dict(model="WILIAM", scenario=scenario) + + # Create instance of FPDF class + pdf = report_pdf.PDFReport() + + # Plot + data = scenario_df.filter( + model=args["model"], scenario=args["scenario"], variable="Primary Energy|*" + ) + if len(data.variable)> 0: + + data.plot(color="region", title= 'Primary Energy') + data.timeseries() + plt.legend(loc=1) + plt.tight_layout() + plt.savefig('Primary_Energy.png') + + # Add a page + pdf.add_page() + pdf.cell(0, 10, "Figure 1: World Primary Energy Consumption", ln=True) + pdf.image("Primary_Energy.png", x=10, y=30, w=190) + + print("Report's creation in process") + pdf.output(scenario + "report.pdf", "F") + + + +if __name__ == "__main__": + main() + + + diff --git a/Final_script/translation_helpers.py b/Final_script/translation_helpers.py new file mode 100644 index 0000000..5058ef8 --- /dev/null +++ b/Final_script/translation_helpers.py @@ -0,0 +1,233 @@ +import pandas as pd +import ast +import csv +import pprint + +# Function to move the matched string after the specific word +def move_crochets(s): + specific_word_1 = "[per capita]" + specific_word_2 = "[intensity]" + specific_word_3 = "[share]" + + if specific_word_1 in s: + index_emission = s.find(specific_word_1) + + s = ( + s[: index_emission - 1] + + s[index_emission + len(specific_word_1) :] + + specific_word_1 + ) + + if specific_word_2 in s: + index_emission = s.find(specific_word_2) + + s = ( + s[: index_emission - 1] + + s[index_emission + len(specific_word_2) :] + + "[Intensity]" + ) + + if specific_word_3 in s: + index_emission = s.find(specific_word_3) + + s = ( + s[: index_emission - 1] + + s[index_emission + len(specific_word_1) :] + + "[Share]" + ) + + return s + + + + + +# Change the format of the string to respect IAMC's format +def format_string(s, upper_word_list, vehicule_list): + # Split the string into words + if pd.isnull(s): + return s + words = s.split("|") + + capitalized_words = [] + # Capitalize the first letter of each word + for word in words: + if word not in upper_word_list: + new_word_list = word.split("_") + new_word_list = [new_word.capitalize() for new_word in new_word_list] + capitalized_words += [" ".join(new_word_list) + "|"] + else: + new_word_list = word.split("_") + capitalized_words += [ + new_word + "|" + if new_word in vehicule_list + else new_word.capitalize() + "|" + for new_word in new_word_list + ] + + # Join the words with spaces + transformed_string = "".join(capitalized_words) + + result = "" + capitalize_next = False + # Capitalize the letter after each space + for char in transformed_string[:-1]: + if char == " " or char == "-": + capitalize_next = True + result += char + elif capitalize_next: + result += char.upper() + capitalize_next = False + else: + result += char + + return result + +def process_list( + missing_variable_list, + IAMC_WILIAM_name_dict, + energy_dict, + rest_dict, + sectors_dict, + economy_dashboard_dict, + upper_word_list, + vehicle_list, +): + original_to_transformed = {} + + + + for row in missing_variable_list: + original_string = row[0] # Get the original string + # Split the string by '|' to extract parts + parts = original_string.split("|") + + # Replace parts with dictionary values if they are keys in the dictionary + transformed_parts = [] + for part in parts: + if IAMC_WILIAM_name_dict.get(part,None): + part = IAMC_WILIAM_name_dict.get(part, None) + elif energy_dict.get(part, None): + part = energy_dict[part] + elif rest_dict.get(part, None): + part = rest_dict[part] + elif sectors_dict.get(part, None): + part = sectors_dict[part] + elif economy_dashboard_dict.get(part, None): + part = economy_dashboard_dict[part] + + transformed_parts.append(part) + + # Reconstruct the string with transformed parts + transformed_string = "|".join(transformed_parts) + + # Move the word in the brackets at the end of the word. + transformed_string = move_crochets(transformed_string) + + # Transform the string to respect the IAMC format + transformed_string = format_string(transformed_string, upper_word_list, vehicle_list) + + # Map the original string to the transformed string + original_to_transformed[original_string] = transformed_string + + return original_to_transformed + +def open_dict(dict_filename): + # Open the text file containing the dictionary + with open("../Conversion-Script/Create_Variable_Dict/" + dict_filename, "r") as f: + # Read the contents of the file + read_dict_str = f.read() + + # Convert the string representation of the dictionary back to a dictionary object + read_dict = ast.literal_eval(read_dict_str) + return read_dict + + +def create_automatic_translation(missing_variable_list): + + + # Open the text file containing the energy dictionary + energy_dict = open_dict("energy_dict.txt") + + + # Open the text file containing the rest dictionary + rest_dict = open_dict("rest_dict.txt") + + + # Open the text file containing the sectors dictionary + sectors_dict = open_dict("sectors_dict.txt") + + + # Open the text file containing the dictionary for the economy dashboard subscript. + economy_dashboard_dict = open_dict("economy_dashboard_dict.txt") + + # List with the words in uppercase which will not be capitalized by the next functions + upper_word_list = [ + "CO2", + "CH4", + "N2O", + "PFC", + "SF6", + "HFC134a", + "HFC23", + "HFC32", + "HFC125", + "HFC143a", + "HFC152a", + "HFC227ea", + "HFC245ca", + "HFC4310mee", + "HFC", + "w/o CCS", + "w/ CCS", + "PV", + "CSP", + "AFOLU", + "CO2eq", + "EROI", + "PV", + "CSP", + "ICE_gasoline", + "ICE_diesel", + "ICE_gas", + "ICE_LPG", + "BEV", + "PHEV", + "HEV", + "FCEV", + "EV", + "HPV", + "LMO", + "NMC622", + "NMC811", + "NCA", + "LFP", + "LDV", + "MDV", + "HDV", + "NMT", + "GDP", + "PPP", + ] + vehicle_list = ["gasoline", "gas", "diesel"] + + # Read the CSV file into a pandas DataFrame + data_name_df = pd.read_excel("../Conversion-Script/Variable_Reference/Variable_name_IAMC.xlsx") + # Create a dict with Wiliam's name as key, IAMC's name as value + IAMC_WILIAM_name_dict = data_name_df.set_index('WILIAM_variable')['IAMC_variable'].to_dict() + + translation_dict = process_list( + missing_variable_list, + IAMC_WILIAM_name_dict, + energy_dict, + rest_dict, + sectors_dict, + economy_dashboard_dict, + upper_word_list, + vehicle_list, + ) + + # Save dictionary with pprint + with open("new_variable_name_dict.txt", "w") as f: + pprint.pprint(translation_dict, f) + diff --git a/Final_script/update_variable_dict.py b/Final_script/update_variable_dict.py new file mode 100644 index 0000000..645cbe8 --- /dev/null +++ b/Final_script/update_variable_dict.py @@ -0,0 +1,191 @@ +import pprint +import ast + +def check_brackets(s): + """ + Checks that a string contains no hook or has a balanced pair of one open + and one close hook, with the close hook being the last character if present. + """ + # Count occurrences of open and close hook + open_bracket_count = s.count("[") + close_bracket_count = s.count("]") + + # Check if the string contains no hook + if open_bracket_count == 0 and close_bracket_count == 0: + return True + + # Check for exactly one pair of hook and proper placement + if open_bracket_count == 1 and close_bracket_count == 1: + # Ensure that the close hook is the last character + if s.endswith("]") and " [" in s: + if "[ " not in s and " ]" not in s: + return True + else: + print("A space should not be presented after the opening hook and before the closing hook: ", s) + return False + else: + print("The string does not finished by a closing hook or needs a supplementary space: ", s) + return False + print("The number of crochets is greater than the maximum number of crochets or the position of them are not good in the following string: ", s) + return False + +def is_valid_string(s): + """ + Checks that the string contains only spaces, letters, digits, or pipes. + """ + valid_string_bool = True + for char in s: + if not (char.isalnum() or char in " |[]"): + print('This character is not authorized in the IAMC Format: ', char) + valid_string_bool = False + # Check for spaces before or after each pipe + if " |" in s or "| " in s: + print('There is some unusual space before or after a pipe in the following string: ', s) + valid_string_bool = False + + # Check double space in the string. + if " " in s: + print("There is some double space: ", s) + valid_string_bool = False + + # Check the bracket conditions + if not check_brackets(s): + valid_string_bool = False + + # Check that the string is not finishing by a space. + if s.endswith(" "): + print("The string should not finished by a space: ", s) + valid_string_bool = False + + return valid_string_bool + +def remove_bracketed_parts(s): + """ + Removes all substrings enclosed in square brackets from the input string. + + This function iterates over the input string and removes any part of the string + that is enclosed within square brackets, including the brackets themselves. + """ + result = [] + inside_brackets = False + + for char in s: + if char == "[": + inside_brackets = True + elif char == "]": + inside_brackets = False + elif not inside_brackets: + result.append(char) + + return "".join(result) + + +def check_capitalization(words, conjunctions): + """ + Checks that each word is capitalized unless it is a conjunction. + """ + valid_capitalization_bool = True + for word in words: + if word.lower() in conjunctions: + if word != word.lower(): + print("This word should be in lowercase: ", word) + valid_capitalization_bool = False + else: + if word != word.capitalize(): + print("This word should be capitalized: ", word) + valid_capitalization_bool = False + return valid_capitalization_bool + + +def process_dictionary(data_dict): + """ + Checks and processes the values in a dictionary. + """ + # List of conjunctions and words that should not be capitalized + conjunctions = {"and", "or", "nor", "but", "so", "for", "yet", "of", "w/", "w/o"} + correct_format_bool = True + for key, value in data_dict.items(): + if isinstance(value, str): + # Check if the string contains only valid characters + if not is_valid_string(value): + print( + f"The value associated with key '{key}' is not following IAMC format rules." + ) + correct_format_bool = False + + + + # Split the string into words using spaces and pipes as separators + value = remove_bracketed_parts(value) + words = value.split() + split_words = [] + for word in words: + split_words.extend(word.split("|")) + + # Check the capitalization of words + if not check_capitalization(split_words, conjunctions): + print( + f"The value associated with key '{key}' does not have all words written properly." + ) + correct_format_bool = False + + return correct_format_bool + + +def open_dict(dict_path): + # Open the text file containing the dictionary + with open(dict_path, "r") as f: + # Read the contents of the file + read_dict_str = f.read() + + # Convert the string representation of the dictionary back to a dictionary object + read_dict = ast.literal_eval(read_dict_str) + return read_dict + +def check_and_merge_dicts(dict1, dict2): + # Find overlapping keys + overlapping_keys = set(dict1.keys()) & set(dict2.keys()) + + # Check if there are any differences in the overlapping keys + for key in overlapping_keys: + if dict1[key] != dict2[key]: + print(f"Conflict found for key '{key}':") + print(f" - Dict1 has {dict1[key]}") + print(f" - Dict2 has {dict2[key]}") + return None # Return None if there's a conflict + + # Merge the dictionaries if there are no conflicts + merged_dict = dict1.copy() # Start with a copy of the first dictionary + merged_dict.update(dict2) # Update it with the second dictionary + return merged_dict + +def write_dict(dict_path, name_dict): + # Save dictionary with pprint + with open(dict_path, 'w') as f: + pprint.pprint( name_dict, f) + +def main(): + # Read the dict file that contain the update of the translation dict + new_variable_dict = open_dict('new_variable_name_dict.txt') + + # Check the format of the new variable to translate + correct_foramt_bool = process_dictionary(new_variable_dict) + if not correct_foramt_bool: + exit() + + current_variable_translation_dict_path = ( + "../Conversion-Script/Create_Variable_Dict/variable_name_dict.txt" + ) + # Read the current dictionary of translation variable + current_variable_translation_dict = open_dict(current_variable_translation_dict_path) + + updated_variable_translation_dict = check_and_merge_dicts(new_variable_dict, current_variable_translation_dict) + + if updated_variable_translation_dict: + write_dict( + current_variable_translation_dict_path, updated_variable_translation_dict + ) + print("Update of the translation dictionary done.") + +if __name__ == "__main__": + main() diff --git a/Visualization/Plot_timeseries.ipynb b/Visualization/Plot_timeseries.ipynb index fab78fa..4fabb1b 100644 --- a/Visualization/Plot_timeseries.ipynb +++ b/Visualization/Plot_timeseries.ipynb @@ -2,17 +2,31 @@ "cells": [ { "cell_type": "code", - "execution_count": 38, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", - "import pandas as pd\n", "import pyam\n", + "import matplotlib.pyplot as plt\n", "# Import the library to efficiently search variables\n", "import triesearching" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Helpers : \n", + "This text is to help a future user to plot timeseries data in the IAMC format.\n", + "First of all, make sure you have done the translation of the Wiliam's variable before using this file. \n", + "If not, go to the ReadMe to know how to do it. \n", + "\n", + "The first three cells should be executed to load the file with the data and get all the required variable in the file. \n", + "\n", + "If you want to have the list of all scenario, model, region, variables, the execution in a python cell of df.category_wanted gives you a list all the available elements in the Region, Variable, Model and Scenario category. If you want a globally known the name of your variable the completion helpers can be useful. Put the beginning of your variable's name and it gives you all the variable corresponding to this prefix." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -22,16 +36,16 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "[INFO] 14:09:20 - pyam.core: Reading file ..\\Conversion-Script\\File_Converted\\Baseline no policies no CO2taxconverted.csv\n", - "c:\\Users\\34670\\.conda\\envs\\wiliamcformat\\Lib\\site-packages\\pyam\\utils.py:318: FutureWarning: The previous implementation of stack is deprecated and will be removed in a future version of pandas. See the What's New notes for pandas 2.1.0 for details. Specify future_stack=True to adopt the new implementation and silence this warning.\n", - " .stack(dropna=True)\n" + "[INFO] 10:50:57 - pyam.core: Reading file ..\\Conversion-Script\\File_Converted\\Baseline no policies no CO2taxconverted.csv\n", + "C:\\Users\\AdGeeds\\AppData\\Roaming\\Python\\Python310\\site-packages\\pyam\\utils.py:316: FutureWarning: The previous implementation of stack is deprecated and will be removed in a future version of pandas. See the What's New notes for pandas 2.1.0 for details. Specify future_stack=True to adopt the new implementation and silence this warning.\n", + " df.set_index(index + REQUIRED_COLS + extra_cols)\n" ] } ], @@ -56,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -69,55 +83,379 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Completions: Secondary Energy|Electricity And Heat|Gas Fuels|w/ CCS\n", - "Secondary Energy|Electricity And Heat|Gas Fuels|w/o CCS\n", - "Secondary Energy|Electricity And Heat|Geothermal|Deactivated\n", - "Secondary Energy|Electricity And Heat|Liquid Fuels|w/ CCS\n", - "Secondary Energy|Electricity And Heat|Liquid Fuels|w/o CCS\n", - "Secondary Energy|Electricity And Heat|Solid|Biomass|w/ CCS\n", - "Secondary Energy|Electricity And Heat|Solid|Biomass|w/o CCS\n", - "Secondary Energy|Electricity And Heat|Solid|Fossil|w/ CCS\n", - "Secondary Energy|Electricity And Heat|Solid|Fossil|w/o CCS\n", - "Secondary Energy|Electricity And Heat|Waste\n", - "Secondary Energy|Electricity|Gas Fuels|w/ CCS\n", - "Secondary Energy|Electricity|Gas Fuels|w/o CCS\n", - "Secondary Energy|Electricity|Geothermal\n", - "Secondary Energy|Electricity|Hydro|Dammed\n", - "Secondary Energy|Electricity|Hydro|Run Of River\n", - "Secondary Energy|Electricity|Liquid Fuels|w/ CCS\n", - "Secondary Energy|Electricity|Liquid Fuels|w/o CCS\n", - "Secondary Energy|Electricity|Nuclear\n", - "Secondary Energy|Electricity|Ocean\n", - "Secondary Energy|Electricity|Solar|CSP\n", - "Secondary Energy|Electricity|Solar|Open Space|PV\n", - "Secondary Energy|Electricity|Solar|Urban|PV\n", - "Secondary Energy|Electricity|Solid|Biomass|w/ CCS\n", - "Secondary Energy|Electricity|Solid|Biomass|w/o CCS\n", - "Secondary Energy|Electricity|Solid|Fossil|w/ CCS\n", - "Secondary Energy|Electricity|Solid|Fossil|w/o CCS\n", - "Secondary Energy|Electricity|Waste|w/ CCS\n", - "Secondary Energy|Electricity|Waste|w/o CCS\n", - "Secondary Energy|Electricity|Wind|Offshore\n", - "Secondary Energy|Electricity|Wind|Onshore\n", - "Secondary Energy|Gas Fuels\n", - "Secondary Energy|Heat|Gas Fuels\n", - "Secondary Energy|Heat|Geothermal\n", - "Secondary Energy|Heat|Liquid Fuels\n", - "Secondary Energy|Heat|Solar|Deactivated\n", - "Secondary Energy|Heat|Solid|Biomass\n", - "Secondary Energy|Heat|Solid|Fossil\n", - "Secondary Energy|Heat|Waste\n", - "Secondary Energy|Hydrogen\n", - "Secondary Energy|Liquid Fuels\n", - "Secondary Energy|Solids|Biomass\n", - "Secondary Energy|Solids|Fossils\n" + "Completions: Final Energy|Accommodation|Electricity\n", + "Final Energy|Accommodation|Gas\n", + "Final Energy|Accommodation|Heat\n", + "Final Energy|Accommodation|Hydrogen\n", + "Final Energy|Accommodation|Liquid\n", + "Final Energy|Accommodation|Solid|Biomass\n", + "Final Energy|Accommodation|Solid|Fossil\n", + "Final Energy|Animals|Electricity\n", + "Final Energy|Animals|Gas\n", + "Final Energy|Animals|Heat\n", + "Final Energy|Animals|Hydrogen\n", + "Final Energy|Animals|Liquid\n", + "Final Energy|Animals|Solid|Biomass\n", + "Final Energy|Animals|Solid|Fossil\n", + "Final Energy|Construction|Electricity\n", + "Final Energy|Construction|Gas\n", + "Final Energy|Construction|Heat\n", + "Final Energy|Construction|Hydrogen\n", + "Final Energy|Construction|Liquid\n", + "Final Energy|Construction|Solid|Biomass\n", + "Final Energy|Construction|Solid|Fossil\n", + "Final Energy|Crops|Electricity\n", + "Final Energy|Crops|Gas\n", + "Final Energy|Crops|Heat\n", + "Final Energy|Crops|Hydrogen\n", + "Final Energy|Crops|Liquid\n", + "Final Energy|Crops|Solid|Biomass\n", + "Final Energy|Crops|Solid|Fossil\n", + "Final Energy|Education|Electricity\n", + "Final Energy|Education|Gas\n", + "Final Energy|Education|Heat\n", + "Final Energy|Education|Hydrogen\n", + "Final Energy|Education|Liquid\n", + "Final Energy|Education|Solid|Biomass\n", + "Final Energy|Education|Solid|Fossil\n", + "Final Energy|Electricity\n", + "Final Energy|Electricity|Renewable|Share|Electricity\n", + "Final Energy|Electricity|Renewable|Share|Gas\n", + "Final Energy|Electricity|Renewable|Share|Heat\n", + "Final Energy|Electricity|Renewable|Share|Hydrogen\n", + "Final Energy|Electricity|Renewable|Share|Liquid\n", + "Final Energy|Electricity|Renewable|Share|Solid|Biomass\n", + "Final Energy|Electricity|Renewable|Share|Solid|Fossil\n", + "Final Energy|Entertaiment|Electricity\n", + "Final Energy|Entertaiment|Gas\n", + "Final Energy|Entertaiment|Heat\n", + "Final Energy|Entertaiment|Hydrogen\n", + "Final Energy|Entertaiment|Liquid\n", + "Final Energy|Entertaiment|Solid|Biomass\n", + "Final Energy|Entertaiment|Solid|Fossil\n", + "Final Energy|Extraction Gas|Electricity\n", + "Final Energy|Extraction Gas|Gas\n", + "Final Energy|Extraction Gas|Heat\n", + "Final Energy|Extraction Gas|Hydrogen\n", + "Final Energy|Extraction Gas|Liquid\n", + "Final Energy|Extraction Gas|Solid|Biomass\n", + "Final Energy|Extraction Gas|Solid|Fossil\n", + "Final Energy|Extraction Oil|Electricity\n", + "Final Energy|Extraction Oil|Gas\n", + "Final Energy|Extraction Oil|Heat\n", + "Final Energy|Extraction Oil|Hydrogen\n", + "Final Energy|Extraction Oil|Liquid\n", + "Final Energy|Extraction Oil|Solid|Biomass\n", + "Final Energy|Extraction Oil|Solid|Fossil\n", + "Final Energy|Extraction Other Gas|Electricity\n", + "Final Energy|Extraction Other Gas|Gas\n", + "Final Energy|Extraction Other Gas|Heat\n", + "Final Energy|Extraction Other Gas|Hydrogen\n", + "Final Energy|Extraction Other Gas|Liquid\n", + "Final Energy|Extraction Other Gas|Solid|Biomass\n", + "Final Energy|Extraction Other Gas|Solid|Fossil\n", + "Final Energy|Finance|Electricity\n", + "Final Energy|Finance|Gas\n", + "Final Energy|Finance|Heat\n", + "Final Energy|Finance|Hydrogen\n", + "Final Energy|Finance|Liquid\n", + "Final Energy|Finance|Solid|Biomass\n", + "Final Energy|Finance|Solid|Fossil\n", + "Final Energy|Fishing|Electricity\n", + "Final Energy|Fishing|Gas\n", + "Final Energy|Fishing|Heat\n", + "Final Energy|Fishing|Hydrogen\n", + "Final Energy|Fishing|Liquid\n", + "Final Energy|Fishing|Solid|Biomass\n", + "Final Energy|Fishing|Solid|Fossil\n", + "Final Energy|Flexibility Options|Electricity\n", + "Final Energy|Flexibility Options|Gas\n", + "Final Energy|Flexibility Options|Heat\n", + "Final Energy|Flexibility Options|Hydrogen\n", + "Final Energy|Flexibility Options|Liquid\n", + "Final Energy|Flexibility Options|Solid Biomass\n", + "Final Energy|Flexibility Options|Solid Fossil\n", + "Final Energy|Forestry|Electricity\n", + "Final Energy|Forestry|Gas\n", + "Final Energy|Forestry|Heat\n", + "Final Energy|Forestry|Hydrogen\n", + "Final Energy|Forestry|Liquid\n", + "Final Energy|Forestry|Solid|Biomass\n", + "Final Energy|Forestry|Solid|Fossil\n", + "Final Energy|Gas\n", + "Final Energy|Health|Electricity\n", + "Final Energy|Health|Gas\n", + "Final Energy|Health|Heat\n", + "Final Energy|Health|Hydrogen\n", + "Final Energy|Health|Liquid\n", + "Final Energy|Health|Solid|Biomass\n", + "Final Energy|Health|Solid|Fossil\n", + "Final Energy|Heat\n", + "Final Energy|Hydrogen\n", + "Final Energy|Liquid\n", + "Final Energy|Manufacture Chemical|Electricity\n", + "Final Energy|Manufacture Chemical|Gas\n", + "Final Energy|Manufacture Chemical|Heat\n", + "Final Energy|Manufacture Chemical|Hydrogen\n", + "Final Energy|Manufacture Chemical|Liquid\n", + "Final Energy|Manufacture Chemical|Solid|Biomass\n", + "Final Energy|Manufacture Chemical|Solid|Fossil\n", + "Final Energy|Manufacture Electrical Equipment|Electricity\n", + "Final Energy|Manufacture Electrical Equipment|Gas\n", + "Final Energy|Manufacture Electrical Equipment|Heat\n", + "Final Energy|Manufacture Electrical Equipment|Hydrogen\n", + "Final Energy|Manufacture Electrical Equipment|Liquid\n", + "Final Energy|Manufacture Electrical Equipment|Solid|Biomass\n", + "Final Energy|Manufacture Electrical Equipment|Solid|Fossil\n", + "Final Energy|Manufacture Electronics|Electricity\n", + "Final Energy|Manufacture Electronics|Gas\n", + "Final Energy|Manufacture Electronics|Heat\n", + "Final Energy|Manufacture Electronics|Hydrogen\n", + "Final Energy|Manufacture Electronics|Liquid\n", + "Final Energy|Manufacture Electronics|Solid|Biomass\n", + "Final Energy|Manufacture Electronics|Solid|Fossil\n", + "Final Energy|Manufacture Food|Electricity\n", + "Final Energy|Manufacture Food|Gas\n", + "Final Energy|Manufacture Food|Heat\n", + "Final Energy|Manufacture Food|Hydrogen\n", + "Final Energy|Manufacture Food|Liquid\n", + "Final Energy|Manufacture Food|Solid|Biomass\n", + "Final Energy|Manufacture Food|Solid|Fossil\n", + "Final Energy|Manufacture Machinery|Electricity\n", + "Final Energy|Manufacture Machinery|Gas\n", + "Final Energy|Manufacture Machinery|Heat\n", + "Final Energy|Manufacture Machinery|Hydrogen\n", + "Final Energy|Manufacture Machinery|Liquid\n", + "Final Energy|Manufacture Machinery|Solid|Biomass\n", + "Final Energy|Manufacture Machinery|Solid|Fossil\n", + "Final Energy|Manufacture Metal Products|Electricity\n", + "Final Energy|Manufacture Metal Products|Gas\n", + "Final Energy|Manufacture Metal Products|Heat\n", + "Final Energy|Manufacture Metal Products|Hydrogen\n", + "Final Energy|Manufacture Metal Products|Liquid\n", + "Final Energy|Manufacture Metal Products|Solid|Biomass\n", + "Final Energy|Manufacture Metal Products|Solid|Fossil\n", + "Final Energy|Manufacture Other Non Metal|Electricity\n", + "Final Energy|Manufacture Other Non Metal|Gas\n", + "Final Energy|Manufacture Other Non Metal|Heat\n", + "Final Energy|Manufacture Other Non Metal|Hydrogen\n", + "Final Energy|Manufacture Other Non Metal|Liquid\n", + "Final Energy|Manufacture Other Non Metal|Solid|Biomass\n", + "Final Energy|Manufacture Other Non Metal|Solid|Fossil\n", + "Final Energy|Manufacture Other|Electricity\n", + "Final Energy|Manufacture Other|Gas\n", + "Final Energy|Manufacture Other|Heat\n", + "Final Energy|Manufacture Other|Hydrogen\n", + "Final Energy|Manufacture Other|Liquid\n", + "Final Energy|Manufacture Other|Solid|Biomass\n", + "Final Energy|Manufacture Other|Solid|Fossil\n", + "Final Energy|Manufacture Plastic|Electricity\n", + "Final Energy|Manufacture Plastic|Gas\n", + "Final Energy|Manufacture Plastic|Heat\n", + "Final Energy|Manufacture Plastic|Hydrogen\n", + "Final Energy|Manufacture Plastic|Liquid\n", + "Final Energy|Manufacture Plastic|Solid|Biomass\n", + "Final Energy|Manufacture Plastic|Solid|Fossil\n", + "Final Energy|Manufacture Vehicles|Electricity\n", + "Final Energy|Manufacture Vehicles|Gas\n", + "Final Energy|Manufacture Vehicles|Heat\n", + "Final Energy|Manufacture Vehicles|Hydrogen\n", + "Final Energy|Manufacture Vehicles|Liquid\n", + "Final Energy|Manufacture Vehicles|Solid|Biomass\n", + "Final Energy|Manufacture Vehicles|Solid|Fossil\n", + "Final Energy|Manufacture Wood|Electricity\n", + "Final Energy|Manufacture Wood|Gas\n", + "Final Energy|Manufacture Wood|Heat\n", + "Final Energy|Manufacture Wood|Hydrogen\n", + "Final Energy|Manufacture Wood|Liquid\n", + "Final Energy|Manufacture Wood|Solid|Biomass\n", + "Final Energy|Manufacture Wood|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Aluminium|Electricity\n", + "Final Energy|Mining And Manufacturing Aluminium|Gas\n", + "Final Energy|Mining And Manufacturing Aluminium|Heat\n", + "Final Energy|Mining And Manufacturing Aluminium|Hydrogen\n", + "Final Energy|Mining And Manufacturing Aluminium|Liquid\n", + "Final Energy|Mining And Manufacturing Aluminium|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Aluminium|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Copper|Electricity\n", + "Final Energy|Mining And Manufacturing Copper|Gas\n", + "Final Energy|Mining And Manufacturing Copper|Heat\n", + "Final Energy|Mining And Manufacturing Copper|Hydrogen\n", + "Final Energy|Mining And Manufacturing Copper|Liquid\n", + "Final Energy|Mining And Manufacturing Copper|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Copper|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Iron|Electricity\n", + "Final Energy|Mining And Manufacturing Iron|Gas\n", + "Final Energy|Mining And Manufacturing Iron|Heat\n", + "Final Energy|Mining And Manufacturing Iron|Hydrogen\n", + "Final Energy|Mining And Manufacturing Iron|Liquid\n", + "Final Energy|Mining And Manufacturing Iron|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Iron|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Lead Zinc Tin|Electricity\n", + "Final Energy|Mining And Manufacturing Lead Zinc Tin|Gas\n", + "Final Energy|Mining And Manufacturing Lead Zinc Tin|Heat\n", + "Final Energy|Mining And Manufacturing Lead Zinc Tin|Hydrogen\n", + "Final Energy|Mining And Manufacturing Lead Zinc Tin|Liquid\n", + "Final Energy|Mining And Manufacturing Lead Zinc Tin|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Lead Zinc Tin|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Nickel|Electricity\n", + "Final Energy|Mining And Manufacturing Nickel|Gas\n", + "Final Energy|Mining And Manufacturing Nickel|Heat\n", + "Final Energy|Mining And Manufacturing Nickel|Hydrogen\n", + "Final Energy|Mining And Manufacturing Nickel|Liquid\n", + "Final Energy|Mining And Manufacturing Nickel|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Nickel|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Other Metals|Electricity\n", + "Final Energy|Mining And Manufacturing Other Metals|Gas\n", + "Final Energy|Mining And Manufacturing Other Metals|Heat\n", + "Final Energy|Mining And Manufacturing Other Metals|Hydrogen\n", + "Final Energy|Mining And Manufacturing Other Metals|Liquid\n", + "Final Energy|Mining And Manufacturing Other Metals|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Other Metals|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Precious Metals|Electricity\n", + "Final Energy|Mining And Manufacturing Precious Metals|Gas\n", + "Final Energy|Mining And Manufacturing Precious Metals|Heat\n", + "Final Energy|Mining And Manufacturing Precious Metals|Hydrogen\n", + "Final Energy|Mining And Manufacturing Precious Metals|Liquid\n", + "Final Energy|Mining And Manufacturing Precious Metals|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Precious Metals|Solid|Fossil\n", + "Final Energy|Mining And Manufacturing Uranium Thorium|Electricity\n", + "Final Energy|Mining And Manufacturing Uranium Thorium|Gas\n", + "Final Energy|Mining And Manufacturing Uranium Thorium|Heat\n", + "Final Energy|Mining And Manufacturing Uranium Thorium|Hydrogen\n", + "Final Energy|Mining And Manufacturing Uranium Thorium|Liquid\n", + "Final Energy|Mining And Manufacturing Uranium Thorium|Solid|Biomass\n", + "Final Energy|Mining And Manufacturing Uranium Thorium|Solid|Fossil\n", + "Final Energy|Mining Coal|Electricity\n", + "Final Energy|Mining Coal|Gas\n", + "Final Energy|Mining Coal|Heat\n", + "Final Energy|Mining Coal|Hydrogen\n", + "Final Energy|Mining Coal|Liquid\n", + "Final Energy|Mining Coal|Solid|Biomass\n", + "Final Energy|Mining Coal|Solid|Fossil\n", + "Final Energy|Mining Non Metals|Electricity\n", + "Final Energy|Mining Non Metals|Gas\n", + "Final Energy|Mining Non Metals|Heat\n", + "Final Energy|Mining Non Metals|Hydrogen\n", + "Final Energy|Mining Non Metals|Liquid\n", + "Final Energy|Mining Non Metals|Solid|Biomass\n", + "Final Energy|Mining Non Metals|Solid|Fossil\n", + "Final Energy|Net [per Capita]\n", + "Final Energy|Non-Energy Use|Electricity\n", + "Final Energy|Non-Energy Use|Gas\n", + "Final Energy|Non-Energy Use|Heat\n", + "Final Energy|Non-Energy Use|Hydrogen\n", + "Final Energy|Non-Energy Use|Liquid\n", + "Final Energy|Non-Energy Use|Solid|Biomass\n", + "Final Energy|Non-Energy Use|Solid|Fossil\n", + "Final Energy|Other Services|Electricity\n", + "Final Energy|Other Services|Gas\n", + "Final Energy|Other Services|Heat\n", + "Final Energy|Other Services|Hydrogen\n", + "Final Energy|Other Services|Liquid\n", + "Final Energy|Other Services|Solid|Biomass\n", + "Final Energy|Other Services|Solid|Fossil\n", + "Final Energy|Private Households|Electricity\n", + "Final Energy|Private Households|Gas\n", + "Final Energy|Private Households|Heat\n", + "Final Energy|Private Households|Hydrogen\n", + "Final Energy|Private Households|Liquid\n", + "Final Energy|Private Households|Solid|Biomass\n", + "Final Energy|Private Households|Solid|Fossil\n", + "Final Energy|Public Administration|Electricity\n", + "Final Energy|Public Administration|Gas\n", + "Final Energy|Public Administration|Heat\n", + "Final Energy|Public Administration|Hydrogen\n", + "Final Energy|Public Administration|Liquid\n", + "Final Energy|Public Administration|Solid|Biomass\n", + "Final Energy|Public Administration|Solid|Fossil\n", + "Final Energy|Real Estate|Electricity\n", + "Final Energy|Real Estate|Gas\n", + "Final Energy|Real Estate|Heat\n", + "Final Energy|Real Estate|Hydrogen\n", + "Final Energy|Real Estate|Liquid\n", + "Final Energy|Real Estate|Solid|Biomass\n", + "Final Energy|Real Estate|Solid|Fossil\n", + "Final Energy|Regional Consumption|Electricity\n", + "Final Energy|Regional Consumption|Gas\n", + "Final Energy|Regional Consumption|Heat\n", + "Final Energy|Regional Consumption|Hydrogen\n", + "Final Energy|Regional Consumption|Liquid\n", + "Final Energy|Regional Consumption|Solid|Biomass\n", + "Final Energy|Regional Consumption|Solid|Fossil\n", + "Final Energy|Renewable|Share\n", + "Final Energy|Solid|Biomass\n", + "Final Energy|Solid|Fossil\n", + "Final Energy|Telecommunications|Electricity\n", + "Final Energy|Telecommunications|Gas\n", + "Final Energy|Telecommunications|Heat\n", + "Final Energy|Telecommunications|Hydrogen\n", + "Final Energy|Telecommunications|Liquid\n", + "Final Energy|Telecommunications|Solid|Biomass\n", + "Final Energy|Telecommunications|Solid|Fossil\n", + "Final Energy|Trade Repair Vehicles|Electricity\n", + "Final Energy|Trade Repair Vehicles|Gas\n", + "Final Energy|Trade Repair Vehicles|Heat\n", + "Final Energy|Trade Repair Vehicles|Hydrogen\n", + "Final Energy|Trade Repair Vehicles|Liquid\n", + "Final Energy|Trade Repair Vehicles|Solid|Biomass\n", + "Final Energy|Trade Repair Vehicles|Solid|Fossil\n", + "Final Energy|Transport Air|Electricity\n", + "Final Energy|Transport Air|Gas\n", + "Final Energy|Transport Air|Heat\n", + "Final Energy|Transport Air|Hydrogen\n", + "Final Energy|Transport Air|Liquid\n", + "Final Energy|Transport Air|Solid|Biomass\n", + "Final Energy|Transport Air|Solid|Fossil\n", + "Final Energy|Transport Inland Water|Electricity\n", + "Final Energy|Transport Inland Water|Gas\n", + "Final Energy|Transport Inland Water|Heat\n", + "Final Energy|Transport Inland Water|Hydrogen\n", + "Final Energy|Transport Inland Water|Liquid\n", + "Final Energy|Transport Inland Water|Solid|Biomass\n", + "Final Energy|Transport Inland Water|Solid|Fossil\n", + "Final Energy|Transport Other Land|Electricity\n", + "Final Energy|Transport Other Land|Gas\n", + "Final Energy|Transport Other Land|Heat\n", + "Final Energy|Transport Other Land|Hydrogen\n", + "Final Energy|Transport Other Land|Liquid\n", + "Final Energy|Transport Other Land|Solid|Biomass\n", + "Final Energy|Transport Other Land|Solid|Fossil\n", + "Final Energy|Transport Pipeline|Electricity\n", + "Final Energy|Transport Pipeline|Gas\n", + "Final Energy|Transport Pipeline|Heat\n", + "Final Energy|Transport Pipeline|Hydrogen\n", + "Final Energy|Transport Pipeline|Liquid\n", + "Final Energy|Transport Pipeline|Solid|Biomass\n", + "Final Energy|Transport Pipeline|Solid|Fossil\n", + "Final Energy|Transport Rail|Electricity\n", + "Final Energy|Transport Rail|Gas\n", + "Final Energy|Transport Rail|Heat\n", + "Final Energy|Transport Rail|Hydrogen\n", + "Final Energy|Transport Rail|Liquid\n", + "Final Energy|Transport Rail|Solid|Biomass\n", + "Final Energy|Transport Rail|Solid|Fossil\n", + "Final Energy|Transport Sea|Electricity\n", + "Final Energy|Transport Sea|Gas\n", + "Final Energy|Transport Sea|Heat\n", + "Final Energy|Transport Sea|Hydrogen\n", + "Final Energy|Transport Sea|Liquid\n", + "Final Energy|Transport Sea|Solid|Biomass\n", + "Final Energy|Transport Sea|Solid|Fossil\n", + "Final Energy|Waste Management|Electricity\n", + "Final Energy|Waste Management|Gas\n", + "Final Energy|Waste Management|Heat\n", + "Final Energy|Waste Management|Hydrogen\n", + "Final Energy|Waste Management|Liquid\n", + "Final Energy|Waste Management|Solid|Biomass\n", + "Final Energy|Waste Management|Solid|Fossil\n" ] } ], @@ -129,592 +467,61 @@ "print(\"Completions:\", \"\\n\".join(completions))\n" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Plot differentiate by variable for a same region \n" + ] + }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
2005200620072008200920102011201220132014...2061206220632064206520662067206820692070
modelscenarioregionvariableunit
WILIAMBaseline no policies no CO2taxChinaSecondary Energy|Electricity|GeothermalEJ/yr0.0007250.0007250.0006880.0006260.0006260.0006260.0006550.0007040.0007040.000704...0.6401440.6110400.5877070.5660170.7015970.6657040.6400810.6175660.5898810.561562
East Asia and OceaniaSecondary Energy|Electricity|GeothermalEJ/yr0.0984420.0995300.1032100.1085320.1135710.1141610.1130960.1168850.1206880.125068...0.8538330.8201840.8520330.8184610.8498460.8135740.8346480.8026740.8318230.795460
European Union (27 member countries)Secondary Energy|Electricity|GeothermalEJ/yr0.0179340.0182540.0182910.0185830.0193790.0200520.0203030.0205010.0210990.021732...0.3930900.3725610.4017360.3883530.3732910.3894840.3756240.3647500.3871950.370103
IndiaSecondary Energy|Electricity|GeothermalEJ/yr0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.4582060.4249780.4406300.4271140.4457820.4143640.4260940.4670190.4453500.416520
Latin AmericaSecondary Energy|Electricity|GeothermalEJ/yr0.0043300.0043300.0043300.0043300.0043300.0047710.0055730.0056870.0056870.005677...1.0706501.0431901.0447801.0470201.0531701.0057801.0272301.0254201.0092300.976543
Rest of the WorldSecondary Energy|Electricity|GeothermalEJ/yr0.0234520.0248870.0282270.0306500.0325220.0344130.0376440.0415750.0482680.057504...1.8885701.7481701.7656701.9318801.8814901.7433701.8393301.7843801.7645101.683820
RussiaSecondary Energy|Electricity|GeothermalEJ/yr0.0020610.0020890.0021360.0021360.0021360.0021360.0021370.0021390.0021390.002139...0.0928250.0883760.0856390.0825540.0791630.1077930.1043990.1011850.0962270.091961
United KingdomSecondary Energy|Electricity|GeothermalEJ/yr0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0134730.0128850.0124550.0119830.0114860.0109580.0105680.0101260.0146960.014009
United States, Mexico and CanadaSecondary Energy|Electricity|GeothermalEJ/yr0.0843630.0837760.0829940.0848160.0875230.0871560.0871350.0892390.0884680.087969...0.6870980.6577210.6307440.6608290.6360160.6685440.6417520.6677590.6420320.648005
\n", - "

9 rows × 66 columns

\n", - "
" - ], + "image/png": "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110lovbHH388KE1mZiYGDhwIk8mEuLg4zJgxA263OyjNzp070blzZxgMBjRv3pz/CiSqAv5WgMBFo9GUuBXTuHFjvPjiixg3bhyio6PRqFEjLF++PCivmTNnomXLljCZTGjatClmz54Nl8tV4TLVrVu3RJl0Oh2A4ttK77//Pho3bgyLxYLhw4cjPz9fPV9RFMybNw9NmjRBREQEOnTogH//+9/q8Z07d0KSJHz55Zfo0qULDAYDvvnmG+Tn52PkyJGIjIxEgwYN8MorrwTVw9y5c9G2bdsS5e3YsSNmz55d6rX07dsXNpsN3333XdD7P/PMMzhw4ADsdjsA78SnBw4cUAO7sury+++/R9++fREdHQ2z2YwuXbrgu+++w86dO/HII48gLy9P/T32tww6HA5Mnz4dt912GyIjI9G9e/dy3fYbOXIkdu3ahfPnz6v73n33XYwcObJEMLx48WK0a9cOkZGRSEpKwhNPPAGbzaYe97cmbt68GSkpKYiKikL//v1x8eJFNc3Bgwdxzz33oF69erBYLOjTpw/+85//BL3PDz/8gJ49e8JoNKJ169bYunVr0C06ADh//jwefPBBxMTEoE6dOhg8eDDOnTunHvffknzxxRcRHx+PmJgYzJ07F263GzNmzECdOnXQsGHDEv/wKW++CxcuRIMGDVC3bl1MmjRJ/fvddddd+PnnnzF16lT1b1Sa3NxcfP3113j55ZfRt29fJCcn44477sCsWbPw+9//Xk2XmZmJwYMHIyoqCmazGQ8++CCys7Ov8dcseSu2oKAAo0ePRlRUFBo0aFChR7Nd/V31B40OhwNPPfUU4uLiYDQa0bNnTxw8eFA978qVKxg5ciTq16+PiIgItGjRQq1np9OJyZMno0GDBjAajUhOTsa8efPUc6/+O9dG1RrY7dq1C5MmTcL+/fuxZcsWuFwu9OvXDwUFBUHpHn30UVy8eFFd5s+frx7zeDwYOHAgnE4n9u7di1WrVmHlypV49tln1TRnz57FwIED0bdvX2RkZGDKlCmYMGECNm/eXGXXShQqQggoTk+1LJX5oJpFixaha9euOHz4MJ544glMnDgx6B960dHRWLlyJU6cOIGlS5firbfewiuvvBLycpw5cwbr16/Hhg0bsGHDBuzatQsvvfSSenzevHl477338Oabb+L48eOYOnUqHn74YezatSson2eeeQYvvfQSTp48ifbt22PatGnYs2cPPvvsM2zZsgVff/11UEAxbtw4nDx5Muh/UIcPH8aRI0fwyCOPlFrWli1bIjExETt27ADgfcbpf/7zH/zxj39E48aNsW/fPgDA3r174XA41MCurLocOXIkGjZsiIMHD+LQoUN45plnoNPpcOedd2LJkiUwm83q7/H06dMBAJMnT8a+ffuwZs0aHDlyBH/84x/Rv39//Pjjj9et7/j4eKSnp2PVqlUAgMLCQqxduxbjxo0rkVaWZbz66qs4fvw4Vq1ahe3bt+Ppp58OSlNYWIiFCxfi/fffx+7du5GZmamW0V9HY8aMwTfffIP9+/ejRYsWuPfee9Xg3ePxYMiQITCZTDhw4ACWL1+Ov/71r0Hv4XK5kJ6ejujoaHz99dfYs2ePGkQ6nU413fbt2/HLL79g9+7dWLx4MebMmYP77rsPsbGxOHDgAB5//HH86U9/woULFyqU744dO3DmzBns2LFD/X+ev7Hik08+QcOGDTF37lz1b1SaqKgoREVFYf369XA4HKWmURQFgwcPRk5ODnbt2oUtW7bgp59+wrBhw0pNX5oZM2Zg165d+PTTT/HVV19h586dJQLpinr66afx8ccfY9WqVfjPf/6D5s2bIz09HTk5OQCA2bNn48SJE/jyyy9x8uRJvPHGG+ozmV999VV89tln+PDDD3Hq1CmsXr26Rj5m7aaIGuTSpUsCgNi1a5e6r0+fPuLPf/7zNc/54osvhCzLIisrS933xhtvCLPZLBwOhxBCiKefflq0adMm6Lxhw4aJ9PT0cpUrLy9PABB5eXkVuBqim1dUVCROnDghioqK1H0eh1ucn7m7WhaPw13uso8ZM0ZoNBoRGRmpLg888IAQouT3Ojk5WTz88MPqa0VRRFxcnHjjjTeumf+CBQtEly5d1Ndz5swRHTp0uGb6s2fPCgAiIiIiqEyRkZFBeZhMJmG1WtV9M2bMEN27dxdCCGG324XJZBJ79+4Nynv8+PFixIgRQgghduzYIQCI9evXq8etVqvQ6XTio48+Uvfl5uYKk8kUVA8DBgwQEydOVF8/+eST4q677ipxDYFGjhwp+vXrJ4QQYuPGjaJ169ZCCCEee+wx8eyzzwohhJg9e7Zo0qTJNevm6rqMjo4WK1euLDXtihUrhMViCdr3888/C41GI/7v//4vaP/dd98tZs2adc33TU5OFq+88opYv369aNasmVAURaxatUp06tRJCCGExWIRK1asuOb5H330kahbt25Q2QCI06dPq/tef/11ER8ff808PB6PiI6OFp9//rkQQogvv/xSaLVacfHiRTXNli1bBACxbt06IYQQ77//vmjVqpVQFEVN43A4REREhNi8ebMQwvv5T05OFh6PR03TqlUr0atXL/W12+0WkZGR4oMPPqhwvm538Xfxj3/8oxg2bJj62l+vV0tOThY7duxQX//73/8WsbGxwmg0ijvvvFPMmjVLfP/99+rxr776Smg0GpGZmanuO378uAAgvv32WyFEye/dmDFjxODBg4UQQuTn5wu9Xi8+/PBD9fjly5dFRERE0Od+xYoVok+fPurra31X//Of/wibzSZ0Op1YvXq1mt7pdIrExEQxf/58IYQQgwYNEo888kiJ6xfC+536n//5n6A6DhT4d/aX4/Dhw6WmDbXSfu/9KhKH1KjBE3l5eQCAOnXqBO1fvXo16tWrh7Zt22LWrFkoLCxUj+3btw/t2rVDfHy8ui89PR1WqxXHjx9X06SlpQXlmZ6erv5r9moOhwNWqzVoIaKK87eS+5dXX331mmnbt2+vbkuShISEBFy6dEndt3btWvTo0QMJCQmIiorC3/72N2RmZla4TGvXrg0q09Uj3ho3bozo6Gj1dYMGDdRynD59GoWFhbjnnnvUFo+oqCi89957OHPmTFA+Xbt2Vbd/+uknuFwu3HHHHeo+i8WCVq1aBZ3z6KOP4oMPPoDdbofT6cS//vWvUluuAt11113Ys2cPXC4Xdu7cqY4u7NOnj3ordOfOnUH968qqy2nTpmHChAlIS0vDSy+9VOLarnb06FF4PB60bNkyqF527dpV5rkAMHDgQNhsNuzevRvvvvvuNa9569atuPvuu3HbbbchOjoao0aNwuXLl4P+n2AymdCsWTP1deDfDwCys7Px6KOPokWLFrBYLDCbzbDZbOr1nzp1CklJSUF9rQL/boD3VvXp06cRHR2tXmudOnVgt9uDrrdNmzaQ5eL/zcbHx6Ndu3bqa41Gg7p166rlq0i+gf1Ur77G8ho6dCh++eUXfPbZZ+jfv7/aZcnf+nfy5EkkJSUhKSlJPad169aIiYnByZMny8z/zJkzcDqd6N69u7qvTp06JT7313L1d7V169Y4c+YMXC4X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Gsz/6KDAZ2ESEVH48f/OX/3IuIri4AmiGkyj0SAmJkadgNtkMpV4UgEREdVeQggUFhbi0qVLiImJKfG85YpiYEdUw/kfjRf4dBUiIgovMTEx6u/9zWBgR1TDSZKEBg0aIC4uDi6Xq7qLQ0REIabT6W66pc6PgR1RLaHRaEL2xSciovDEwRNEREREYYKBHREREVGYYGBHREREFCYY2BERERGFCQZ2RERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYWJCgV2QghkZmbCbrdXVnmIiIiI6AZVOLBr3rw5zp8/X1nlISIiIqIbVKHATpZltGjRApcvX66s8hARERHRDapwH7uXXnoJM2bMwLFjxyqjPERERER0gyQhhKjICbGxsSgsLITb7YZer0dERETQ8ZycnJAWsCawWq2wWCzIy8uD2Wyu7uIQERHRLaQicYi2opm/8sorkCTphgtHRERERJWjwoHd2LFjK6EYRERERHSzKtzHrk+fPnjvvfdQVFRUGeUhIiIiohtU4cCuU6dOmD59OhISEvDoo49i//79lVEuIiIiIqqgCgd2S5YswS+//IIVK1bg0qVL6N27N1q3bo2FCxciOzu7MspIREREROVwQ48U02q1uP/++/Hpp5/iwoULeOihhzB79mwkJSVhyJAh2L59e6jLSURERERluKlnxX777beYM2cOFi1ahLi4OMyaNQv16tXDfffdh+nTp5d5/rx589CtWzdER0cjLi4OQ4YMwalTp4LS2O12TJo0CXXr1kVUVBSGDh1aomUwMzMTAwcOhMlkQlxcHGbMmAG32x2UZufOnejcuTMMBgOaN2+OlStX3sylExEREdU4FQ7sLl26hEWLFqFt27bo1asXfv31V3zwwQc4d+4cnn/+ebz99tv46quv8Oabb5aZ165duzBp0iTs378fW7ZsgcvlQr9+/VBQUKCmmTp1Kj7//HN89NFH2LVrF3755Rfcf//96nGPx4OBAwfC6XRi7969WLVqFVauXIlnn31WTXP27FkMHDgQffv2RUZGBqZMmYIJEyZg8+bNFb18IiIiohqrwhMU6/V6NGvWDOPGjcPYsWNRv379EmmsVisGDx6MHTt2VKgwv/76K+Li4rBr1y707t0beXl5qF+/Pv71r3/hgQceAAD88MMPSElJwb59+/C73/0OX375Je677z788ssviI+PBwC8+eabmDlzJn799Vfo9XrMnDkTGzduDHpaxvDhw5Gbm4tNmzaVWS5OUExERETVpSJxSLlb7AoLCwEA27Ztw8mTJzFjxoxSgzoAMJvNFQ7qACAvLw8AUKdOHQDAoUOH4HK5kJaWpqa5/fbb0ahRI+zbtw8AsG/fPrRr104N6gAgPT0dVqsVx48fV9ME5uFP48+DiIiIKByUO7Dz9507efJkpYx+VRQFU6ZMQY8ePdC2bVsAQFZWFvR6PWJiYoLSxsfHIysrS00TGNT5j/uPXS+N1WotdT4+h8MBq9UatBARERHVdOUO7H744Qekp6fjww8/RHJyMrp3746///3vOHr0aEgKMmnSJBw7dgxr1qwJSX43Y968ebBYLOqSlJRU3UUiIiIiKlO5A7tGjRrhySefxNatW5GdnY0pU6bg6NGj6NWrF5o2bYopU6Zg+/bt8Hg8FS7E5MmTsWHDBuzYsQMNGzZU9yckJMDpdCI3NzcofXZ2NhISEtQ0V7cg+l+XlcZsNiMiIqJEeWbNmoW8vDx1OX/+fIWviYiIiKiq3dB0JxaLBSNGjMCaNWvw66+/4s0334TH48EjjzyC+vXrY/Xq1eXKRwiByZMnY926ddi+fTuaNGkSdLxLly7Q6XTYtm2buu/UqVPIzMxEamoqACA1NRVHjx7FpUuX1DRbtmyB2WxG69at1TSBefjT+PO4msFggNlsDlqIiIiIaroKj4oty+HDh+F2u9GtW7cy0z7xxBP417/+hU8//RStWrVS91ssFrUlbeLEifjiiy+wcuVKmM1mPPnkkwCAvXv3AvBOd9KxY0ckJiZi/vz5yMrKwqhRozBhwgS8+OKLALzTnbRt2xaTJk3CuHHjsH37djz11FPYuHEj0tPTyywnR8USERFRdalIHFLuwO7IkSNlptFqtUhISFBHtZZFkqRS969YsQJjx44F4J2g+C9/+Qs++OADOBwOpKenY9myZeptVgD4+eefMXHiROzcuRORkZEYM2YMXnrpJWi1WjXNzp07MXXqVJw4cQINGzbE7Nmz1fcoCwM7IiIiqi6VEtjJsgxJklBWckmS0LFjR6xatUod3VrbMbAjIiKi6lKROER73aMBzp49W2YaRVGQnZ2NBQsWYOLEifj666/Lmz0RERER3aRyB3arVq3C9OnTYTKZrpuuSZMmePnll9GhQ4ebLhwRERERlV+5R8U+//zzsNls5UrbpEkTdXADEREREVWNcgd2FRk8q9Fo2GJHREREVMUqNI/dtUaxEhEREVH1K3cfOwBo2bJlmcFdTk7OTRWIiIiIiG5MhQK7559/HhaLpbLKQkREREQ3oUKB3fDhwxEXF1dZZSEiIiKim1DuPnbsX0dERERUs1XKqFgiIiIiqnrlvhWrKEplloOIiIiIblKFpjshIiIiopqLgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJBnZEREREYYKBHREREVGYYGBHREREFCYY2BERERGFCQZ2RERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJBnZEREREYYKBHREREVGYqNbAbvfu3Rg0aBASExMhSRLWr18fdHzs2LGQJClo6d+/f1CanJwcjBw5EmazGTExMRg/fjxsNltQmiNHjqBXr14wGo1ISkrC/PnzK/vSiIiIiKpctQZ2BQUF6NChA15//fVrpunfvz8uXryoLh988EHQ8ZEjR+L48ePYsmULNmzYgN27d+Oxxx5Tj1utVvTr1w/Jyck4dOgQFixYgOeeew7Lly+vtOsiIiIiqg7a6nzzAQMGYMCAAddNYzAYkJCQUOqxkydPYtOmTTh48CC6du0KAHjttddw7733YuHChUhMTMTq1avhdDrx7rvvQq/Xo02bNsjIyMDixYuDAkAiIiKi2q7G97HbuXMn4uLi0KpVK0ycOBGXL19Wj+3btw8xMTFqUAcAaWlpkGUZBw4cUNP07t0ber1eTZOeno5Tp07hypUrpb6nw+GA1WoNWoiIiIhquhod2PXv3x/vvfcetm3bhpdffhm7du3CgAED4PF4AABZWVmIi4sLOker1aJOnTrIyspS08THxwel8b/2p7navHnzYLFY1CUpKSnUl0ZEREQUctV6K7Ysw4cPV7fbtWuH9u3bo1mzZti5cyfuvvvuSnvfWbNmYdq0aeprq9XK4I6IiIhqvBrdYne1pk2bol69ejh9+jQAICEhAZcuXQpK43a7kZOTo/bLS0hIQHZ2dlAa/+tr9d0zGAwwm81BCxEREVFNV6sCuwsXLuDy5cto0KABACA1NRW5ubk4dOiQmmb79u1QFAXdu3dX0+zevRsul0tNs2XLFrRq1QqxsbFVewFERERElahaAzubzYaMjAxkZGQAAM6ePYuMjAxkZmbCZrNhxowZ2L9/P86dO4dt27Zh8ODBaN68OdLT0wEAKSkp6N+/Px599FF8++232LNnDyZPnozhw4cjMTERAPDQQw9Br9dj/PjxOH78ONauXYulS5cG3WolIiIiCgeSEEJU15vv3LkTffv2LbF/zJgxeOONNzBkyBAcPnwYubm5SExMRL9+/fDCCy8EDYbIycnB5MmT8fnnn0OWZQwdOhSvvvoqoqKi1DRHjhzBpEmTcPDgQdSrVw9PPvkkZs6cWe5yWq1WWCwW5OXl8bYsERERVamKxCHVGtjVFgzsiIiIqLpUJA6pVX3siIiIiOjaGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJBnZEREREYYKBHREREVGYYGBHREREFCYY2BERERGFCQZ2RERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJBnZEREREYYKBHREREVGYYGBHREREFCYY2BERERGFCQZ2RERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJBnZEREREYYKBHREREVGYYGBHREREFCaqNbDbvXs3Bg0ahMTEREiShPXr1wcdF0Lg2WefRYMGDRAREYG0tDT8+OOPQWlycnIwcuRImM1mxMTEYPz48bDZbEFpjhw5gl69esFoNCIpKQnz58+v7EsjIiIiqnLVGtgVFBSgQ4cOeP3110s9Pn/+fLz66qt48803ceDAAURGRiI9PR12u11NM3LkSBw/fhxbtmzBhg0bsHv3bjz22GPqcavVin79+iE5ORmHDh3CggUL8Nxzz2H58uWVfn1EREREVUkSQojqLgQASJKEdevWYciQIQC8rXWJiYn4y1/+gunTpwMA8vLyEB8fj5UrV2L48OE4efIkWrdujYMHD6Jr164AgE2bNuHee+/FhQsXkJiYiDfeeAN//etfkZWVBb1eDwB45plnsH79evzwww/lKpvVaoXFYkFeXh7MZnPoL56IiIjoGioSh9TYPnZnz55FVlYW0tLS1H0WiwXdu3fHvn37AAD79u1DTEyMGtQBQFpaGmRZxoEDB9Q0vXv3VoM6AEhPT8epU6dw5cqVUt/b4XDAarUGLUREREQ1XY0N7LKysgAA8fHxQfvj4+PVY1lZWYiLiws6rtVqUadOnaA0peUR+B5XmzdvHiwWi7okJSXd/AURERERVbIaG9hVp1mzZiEvL09dzp8/X91FIiIiIipTjQ3sEhISAADZ2dlB+7Ozs9VjCQkJuHTpUtBxt9uNnJycoDSl5RH4HlczGAwwm81BCxEREVFNV2MDuyZNmiAhIQHbtm1T91mtVhw4cACpqakAgNTUVOTm5uLQoUNqmu3bt0NRFHTv3l1Ns3v3brhcLjXNli1b0KpVK8TGxlbR1RARERFVvmoN7Gw2GzIyMpCRkQHAO2AiIyMDmZmZkCQJU6ZMwf/+7//is88+w9GjRzF69GgkJiaqI2dTUlLQv39/PProo/j222+xZ88eTJ48GcOHD0diYiIA4KGHHoJer8f48eNx/PhxrF27FkuXLsW0adOq6aqJiIiIKke1Tneyc+dO9O3bt8T+MWPGYOXKlRBCYM6cOVi+fDlyc3PRs2dPLFu2DC1btlTT5uTkYPLkyfj8888hyzKGDh2KV199FVFRUWqaI0eOYNKkSTh48CDq1auHJ598EjNnzix3OTndCREREVWXisQhNWYeu5qMgR0RERFVl7CYx46IiIiIKoaBHREREVGYYGBHREREFCYY2BERERGFCQZ2RERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJBnZEREREYYKBHREREVGYYGBHREREFCYY2BERERGFCQZ2RERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJBnZEREREYYKBHREREVGYYGBHREREFCYY2BERERGFCQZ2RERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhYkaHdg999xzkCQpaLn99tvV43a7HZMmTULdunURFRWFoUOHIjs7OyiPzMxMDBw4ECaTCXFxcZgxYwbcbndVXwoRERFRpdNWdwHK0qZNG2zdulV9rdUWF3nq1KnYuHEjPvroI1gsFkyePBn3338/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", "text/plain": [ - " 2005 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000725 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.098442 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.017934 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.004330 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.023452 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002061 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.084363 \n", - "\n", - " 2006 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000725 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.099530 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.018254 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.004330 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.024887 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002089 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.083776 \n", - "\n", - " 2007 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000688 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.103210 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.018291 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.004330 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.028227 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002136 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.082994 \n", - "\n", - " 2008 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000626 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.108532 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.018583 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.004330 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.030650 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002136 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.084816 \n", - "\n", - " 2009 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000626 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.113571 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.019379 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.004330 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.032522 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002136 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.087523 \n", - "\n", - " 2010 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000626 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.114161 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.020052 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.004771 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.034413 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002136 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.087156 \n", - "\n", - " 2011 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000655 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.113096 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.020303 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.005573 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.037644 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002137 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.087135 \n", - "\n", - " 2012 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000704 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.116885 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.020501 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.005687 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.041575 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002139 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.089239 \n", - "\n", - " 2013 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000704 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.120688 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.021099 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.005687 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.048268 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002139 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.088468 \n", - "\n", - " 2014 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.000704 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.125068 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.021732 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.005677 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 0.057504 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.002139 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.000000 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.087969 \n", - "\n", - " ... \\\n", - "model scenario region variable unit ... \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr ... \n", - "\n", - " 2061 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.640144 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.853833 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.393090 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.458206 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.070650 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.888570 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.092825 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.013473 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.687098 \n", - "\n", - " 2062 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.611040 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.820184 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.372561 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.424978 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.043190 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.748170 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.088376 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.012885 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.657721 \n", - "\n", - " 2063 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.587707 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.852033 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.401736 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.440630 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.044780 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.765670 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.085639 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.012455 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.630744 \n", - "\n", - " 2064 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.566017 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.818461 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.388353 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.427114 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.047020 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.931880 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.082554 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.011983 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.660829 \n", - "\n", - " 2065 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.701597 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.849846 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.373291 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.445782 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.053170 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.881490 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.079163 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.011486 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.636016 \n", - "\n", - " 2066 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.665704 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.813574 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.389484 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.414364 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.005780 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.743370 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.107793 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.010958 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.668544 \n", - "\n", - " 2067 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.640081 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.834648 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.375624 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.426094 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.027230 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.839330 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.104399 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.010568 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.641752 \n", - "\n", - " 2068 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.617566 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.802674 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.364750 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.467019 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.025420 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.784380 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.101185 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.010126 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.667759 \n", - "\n", - " 2069 \\\n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.589881 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.831823 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.387195 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.445350 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 1.009230 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.764510 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.096227 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.014696 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.642032 \n", - "\n", - " 2070 \n", - "model scenario region variable unit \n", - "WILIAM Baseline no policies no CO2tax China Secondary Energy|Electricity|Geothermal EJ/yr 0.561562 \n", - " East Asia and Oceania Secondary Energy|Electricity|Geothermal EJ/yr 0.795460 \n", - " European Union (27 member countries) Secondary Energy|Electricity|Geothermal EJ/yr 0.370103 \n", - " India Secondary Energy|Electricity|Geothermal EJ/yr 0.416520 \n", - " Latin America Secondary Energy|Electricity|Geothermal EJ/yr 0.976543 \n", - " Rest of the World Secondary Energy|Electricity|Geothermal EJ/yr 1.683820 \n", - " Russia Secondary Energy|Electricity|Geothermal EJ/yr 0.091961 \n", - " United Kingdom Secondary Energy|Electricity|Geothermal EJ/yr 0.014009 \n", - " United States, Mexico and Canada Secondary Energy|Electricity|Geothermal EJ/yr 0.648005 \n", - "\n", - "[9 rows x 66 columns]" + "
" ] }, - "execution_count": 42, "metadata": {}, - "output_type": "execute_result" - }, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "model, scenario = \"WILIAM\", \"Baseline no policies no CO2tax\"\n", + "variable = 'Final Energy|Waste Management|*'\n", + "title = 'Test Title' # To complete manually\n", + "region_of_interest = 'Austria' # To complete manually you can put all the existing region that are present in the country_dict file in the path IAMC_format\\Conversion-Script\\Create_Variable_Dict. \n", + "\n", + "data = df.filter(model=model, scenario=scenario, variable=variable, region= region_of_interest)\n", + "\n", + "data.plot(color=\"variable\", title= title)\n", + "data.timeseries()\n", + "plt.legend(loc=1)\n", + "plt.tight_layout()\n", + "plt.savefig('Final Energy')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Plot of a same variable differentiate by region " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ { "data": { - "image/png": "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LAICAsSVK1dEixYtRNOmTQt035m6desmBg4cqNl2dnYWNjY24rvvvhPXrl0Ts2bNEjo6OiI4ODjbvG7fvi1MTEzE8OHDRXBwsNiyZYuws7MTU6ZM0eTZqlUrYWFhIaZOnSpCQ0PFr7/+KhQKhdizZ0+OZV6wYIGoXr16jsczffnll6J+/fo5Hp83b56wtLQUSUlJueYDiIoVK4o//vhDhISEiO7duwsXFxfRpk0bsWvXLhEUFCSaNGkiOnbsqDln165dwsLCQqxatUpcv35d7NmzR7i4uIipU6e+UL5TpkwRpqamok2bNuLcuXPi4MGDws3NTbz77ruaND/++KNwdHQUmzZtEjdu3BCbNm0SNjY2YtWqVUKI/35OLi4umjR37tzJct8qlUo0adJE1KhRQ+zZs0dcv35d/P3332LHjh1CCCECAwOFjo6O+Prrr0VISIhYuXKlMDY2FitXrtS6xy1btmjla2lpqUmTWZbq1auL7du3i5CQENG7d2/h7Ows0tPTRWpqqliwYIGwsLAQlwNPiQvHj4qwC+dEVFiocKpUSVhYWIi5c+eKa9euiWvXrmX5DN69e1fY2dmJiRMniuDgYHH27FnRvn174evrqzmup6cnvv32WxEeHi7OnjkjZk2bKsIunBP3w8NE/ONH4vLlywIQERER2X4+snsuSlJONs2cLOb1eUPs+n5hkeed2/f382QAlI2CBkCJaYmi5qqaxfJKTEvM930NHDhQ6OrqClNTU63X119/LYQoWAC0detWTZqEhAShr68v1q5dq9mXlpYmKlSoIObOnat13vr16zVpHj16JIyNjcUff/whhBCif//+YsiQIVplPnz4sNDR0cnxwXrq1CkBiPj4eK3r7N27V5Pmn3/+EUCOeRQ0AHrvvfc022q1WpQvX158//332eb1xRdfCA8PD61A9bvvvhNmZmZCpVIJITICoObNm2tdt2HDhmLChAnZllcIIUaPHi3atGmT43EhhAgLCxMWFhbip59+yjGNl5eXGDZsWK75CJHxJf7VV19pto8fPy4AsWLFCs2+devWCSMjI812ixYtxMyZM7XyWbNmjXB0dHyhfKdMmSJ0dXXFrVu3NPt27twpdHR0RFRUlBBCCCcnJ/H7779rXXv69OnCx8dHCPHfz2nhwtwfwLt37xY6OjoiJCQk2+PvvvuuaN++vda+zz77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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABdvklEQVR4nO3dd3gU5f7+8femk04gIUBCkR5CCJ3YsFBELCgeFWkigkIUxaNH8atwQAUUC6iISFcpCspRUQRUQA8gPRCKNMEE0wQkm0I2ye78/uCwPyMtgSSTbO7Xde11zs48O/OZx01yMzPPMxbDMAxEREREpNJzM7sAERERESkdCnYiIiIiLkLBTkRERMRFKNiJiIiIuAgFOxEREREXoWAnIiIi4iIU7ERERERchIKdiIiIiItQsBMRERFxEQp2IiIVwL///W8sFkux2s6bNw+LxcLRo0fLtigRqXQU7ESk0rNYLMV6rV279or3lZuby7///e9ibatBgwbFqmvevHnn/fyECRP4z3/+c8U1i0jV4WF2ASIiV+qjjz4q8v7DDz9k9erV5yxv0aLFFe8rNzeXcePGAXDDDTdctO2UKVPIzs52vv/mm29YtGgRb731FjVr1nQuv/rqq+nfvz/PPfdckc9PmDCBe+65h969e19x3SJSNSjYiUil179//yLvf/75Z1avXn3O8vL290CWlpbGokWL6N27Nw0aNDinvYeHfiWLyJXRpVgRqRIcDgdTpkyhZcuW+Pj4UKtWLR555BH+/PPPIu22bt1Kjx49qFmzJtWqVaNhw4Y89NBDABw9epTQ0FAAxo0b57yU+u9///uK6/v7PXYWi4WcnBzmz5/v3M+DDz540W2sWLGC6667Dj8/PwICAujVqxd79uy54tpEpPLQPw9FpEp45JFHmDdvHoMHD2bkyJEcOXKEd999lx07drB+/Xo8PT3JyMige/fuhIaG8txzzxEcHMzRo0f5/PPPAQgNDWX69OkMHz6cu+66i7vvvhuAmJiYUq/3o48+4uGHH6Zjx44MGzYMgEaNGl20/aBBg+jRowevvvoqubm5TJ8+nWuvvZYdO3ac9wyhiLggQ0TExcTHxxt//fX2008/GYCxYMGCIu2+/fbbIsuXLVtmAMaWLVsuuO0//vjDAIyxY8eWuK7JkycbgHHkyJFz1o0dO9b4+69kPz8/Y9CgQee0nTt3bpHtZGVlGcHBwcbQoUOLtEtLSzOCgoLOWS4irkuXYkXE5S1ZsoSgoCC6devG8ePHna927drh7+/PmjVrAAgODgZg+fLlFBQUmFhxyaxevZpTp07Rt2/fIsfn7u5Op06dnMcnIq5Pl2JFxOUdPHiQzMxMwsLCzrs+IyMDgC5dutCnTx/GjRvHW2+9xQ033EDv3r154IEH8Pb2Ls+SS+TgwYMA3HTTTeddHxgYWJ7liIiJFOxExOU5HA7CwsJYsGDBedefHRBhsVhYunQpP//8M1999RUrV67koYce4o033uDnn3/G39+/PMsuNofDAZy5zy48PPyc9RptK1J16KddRFxeo0aN+O6777jmmmuoVq3aJdt37tyZzp0788orr7Bw4UL69evH4sWLefjhh4v9dIjSUNx9nR1UERYWRteuXcuyJBGp4HSPnYi4vHvvvRe73c5LL710zrrCwkJOnToFwJ9//olhGEXWx8bGAmCz2QDw9fUFcH6mLPn5+RVrPz169CAwMJAJEyac997AP/74owyqE5GKSGfsRMTldenShUceeYSJEyeSkJBA9+7d8fT05ODBgyxZsoSpU6dyzz33MH/+fN577z3uuusuGjVqRFZWFjNnziQwMJBbb70VgGrVqhEVFcUnn3xC06ZNCQkJITo6mujo6FKvu127dnz33Xe8+eab1KlTh4YNG9KpU6dz2gUGBjJ9+nQGDBhA27Ztuf/++wkNDSUpKYmvv/6aa665hnfffbfU6xORikfBTkSqhPfff5927doxY8YMnn/+eTw8PGjQoAH9+/fnmmuuAc4EwM2bN7N48WLS09MJCgqiY8eOLFiwgIYNGzq3NWvWLB5//HFGjRpFfn4+Y8eOLZNg9+abbzJs2DBeeOEFTp8+zaBBg84b7AAeeOAB6tSpw6RJk5g8eTI2m426dety3XXXMXjw4FKvTUQqJovx9+sOIiIiIlIp6R47ERERERehYCciIiLiIhTsRERERFyEgp2IiIiIi1CwExEREXERCnYiIiIiLqLCzGM3adIkRo8ezRNPPMGUKVM4evRokXmj/urTTz/lH//4B3D+R+4sWrSI+++/v9j7djgcpKSkEBAQUK6PCxIRERG5FMMwyMrKok6dOri5XfycXIUIdlu2bGHGjBnExMQ4l0VGRpKamlqk3QcffMDkyZPp2bNnkeVz587l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SZOwWCw8+eSTzmU33HADFoulyOvRRx8t8rmkpCR69eqFr68vYWFhPPPMMxQWFpZz9SIiInIpU747yNJtx3B3szDtgbbERASbXZLLqRCDJ7Zs2cKMGTOIiYk5Z93QoUMZP368872v7/9P9na7nV69ehEeHs6GDRtITU1l4MCBeHp6MmHChHKpXURERC7t0y3JTP3+IAAv947mxuZhJlfkmkw/Y5ednU2/fv2YOXMm1atXP2e9r68v4eHhzldgYKBz3apVq9i7dy8ff/wxsbGx9OzZk5deeolp06aRn59fnochIiIiF/BNYiqjlyUC8NiNjenbsZ7JFbku04NdfHw8vXr1omvXruddv2DBAmrWrEl0dDSjR48mNzfXuW7jxo20atWKWrVqOZf16NEDq9XKnj17LrhPm82G1Wot8hIREZHS5XAYvLn6ACMWbMfuMLi7TV3+2b2p2WW5NFMvxS5evJjt27ezZcuW865/4IEHqF+/PnXq1GHXrl08++yz7N+/n88//xyAtLS0IqEOcL5PS0u74H4nTpzIuHHjSukoRERE5O+ybYU89UkCq/amAzDk2oaM7tkci8VicmWuzbRgl5yczBNPPMHq1avx8fE5b5thw4Y5/3+rVq2oXbs2N998M4cPH6ZRo0aXve/Ro0fz1FNPOd9brVYiIyMve3siIiKubl+qlczTBXRoEIK728XD2W8nchj64VYOpGfj5e7GhLtbcU+7iHKqtGozLdht27aNjIwM2rZt61xmt9v58ccfeffdd7HZbLi7F52ssFOnTgAcOnSIRo0aER4ezubNm4u0SU8/8y+D8PDwC+7b29sbb289e05ERKQ49qVaufPd9eTbHYQH+tC7TV3uaVeXxmEB57Rdf+g48Qu3cyq3gLAAb2YMaEebeufeQy9lw7Rgd/PNN5OYmFhk2eDBg2nevDnPPvvsOaEOICEhAYDatWsDEBcXxyuvvEJGRgZhYWdG16xevZrAwECioqLK9gBERESqgPxCB099upN8uwOLBdKseby/7jDvrztMTEQQfdpGcHvrOlT39WTehqO8/PU+7A6D1pHBfDCgHbUCz39VTsqGacEuICCA6OjoIsv8/PyoUaMG0dHRHD58mIULF3LrrbdSo0YNdu3axahRo7j++uud06J0796dqKgoBgwYwGuvvUZaWhovvPAC8fHxOiMnIiJSCqZ+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FHTRNhajOPHPxTkcDlJSUggICMBisZhdTrmzWq1ERkaSnJxMYGCg2eVUCuqzy6N+Kzn12eVRv5Wc+uzylEe/GYZBVlYWderUwc3t4nfR6Ywd4ObmRkREhNllmC4wMFA/zCWkPrs86reSU59dHvVbyanPLk9Z99ulztSdpcETIiIiIi5CwU5ERETERSjYCd7e3owdOxZvb2+zS6k01GeXR/1Wcuqzy6N+Kzn12eWpaP2mwRMiIiIiLkJn7ERERERchIKdiIiIiItQsBMRERFxEQp2LmDixIl06NCBgIAAwsLC6N27N/v37y/SJi8vj/j4eGrUqIG/vz99+vQhPT29SJuRI0fSrl07vL29iY2NPe++du3axXXXXYePjw+RkZG89tprZXVYZa40+m3nzp307duXyMhIqlWrRosWLZg6deo5+1q7di1t27bF29ubxo0bM2/evLI+vDJRGn124sQJbrnlFurUqYO3tzeRkZE89thj5zzSz1X6DErvZ/SsEydOEBERgcVi4dSpU0XWuUq/lVafWSyWc16LFy8u0sZV+gxK97s2b948YmJi8PHxISwsjPj4+CLrXeXvQWn02bx58877XbNYLGRkZDjblct3zZBKr0ePHsbcuXON3bt3GwkJCcatt95q1KtXz8jOzna2efTRR43IyEjj+++/N7Zu3Wp07tzZuPrqq4ts5/HHHzfeffddY8CAAUbr1q3P2U9mZqZRq1Yto1+/fsbu3buNRYsWGdWqVTNmzJhR1odYJkqj32bPnm2MHDnSWLt2rXH48GHjo48+MqpVq2a88847zja//vqr4evrazz11FPG3r17jXfeecdwd3c3vv3223I93tJQGn128uRJ47333jO2bNliHD161Pjuu++MZs2aGX379nW2caU+M4zS+xk968477zR69uxpAMaff/7pXO5K/VZafQYYc+fONVJTU52v06dPO9e7Up8ZRun12xtvvGHUqVPHWLBggXHo0CFj586dxhdffOFc70p/D0qjz3Jzc4t8x1JTU40ePXoYXbp0cbYpr++agp0LysjIMABj3bp1hmEYxqlTpwxPT09jyZIlzjb79u0zAGPjxo3nfH7s2LHnDXbvvfeeUb16dcNmszmXPfvss0azZs1K/yBMcKX9dtaIESOMG2+80fn+X//6l9GyZcsibe677z6jR48epXwE5a+0+mzq1KlGRESE870r95lhXFm/vffee0aXLl2M77///pxg58r9drl9BhjLli274HZduc8M4/L67eTJk0a1atWM77777oLbdeW/B6Xxey0jI8Pw9PQ0PvzwQ+ey8vqu6VKsC8rMzAQgJCQEgG3btlFQUEDXrl2dbZo3b069evXYuHFjsbe7ceNGrr/+ery8vJzLevTowf79+/nzzz9LqXrzlFa/ZWZmOrcBZ/rtr9uAM/1Wkr6vqEqjz1JSUvj888/p0qWLc5kr9xlcfr/t3buX8ePH8+GHH573eZGu3G9X8l2Lj4+nZs2adOzYkTlz5mD8ZZYvV+4zuLx+W716NQ6Hg99//50WLVoQERHBvffeS3JysvMzrvz3oDR+r3344Yf4+vpyzz33OJeV13dNwc7FOBwOnnzySa655hqio6MBSEtLw8vLi+Dg4CJta9WqRVpaWrG3nZaWRq1atc7Zxtl1lVlp9duGDRv45JNPGDZsmHPZhfrNarVy+vTp0j2QcnSlfda3b198fX2pW7cugYGBzJo1y7nOVfsMLr/fbDYbffv2ZfLkydSrV++823bVfruS79r48eP59NNPWb16NX369GHEiBG88847zvWu2mdw+f3266+/4nA4mDBhAlOmTGHp0qWcPHmSbt26kZ+f79yOK/49KK2/BbNnz+aBBx6gWrVqzmXl9V3zKLUtSYUQHx/P7t27+e9//2t2KZVKafTb7t27ufPOOxk7dizdu3cvxeoqpivts7feeouxY8dy4MABRo8ezVNPPcV7771XylVWPJfbb6NHj6ZFixb079+/jCqruK7ku/biiy86/3+bNm3Iyclh8uTJjBw5sjRLrJAut98cDgcFBQW8/fbbzt9lixYtIjw8nDVr1tCjR4+yKLdCKI2/BRs3bmTfvn189NFHpVhZ8emMnQt57LHHWL58OWvWrCEiIsK5PDw8nPz8/HNGz6WnpxMeHl7s7YeHh58zcurs+5Jsp6IpjX7bu3cvN998M8OGDeOFF14osu5C/RYYGFjkX3OVSWn0WXh4OM2bN+eOO+5gxowZTJ8+ndTUVOc6V+szuLJ+++GHH1iyZAkeHh54eHhw8803A1CzZk3Gjh3r3I6r9Vtp/17r1KkTx44dw2azObfjan0GV9ZvtWvXBiAqKsq5PjQ0lJo1a5KUlOTcjqv9PSit79qsWbOIjY2lXbt2RZaX13dNwc4FGIbBY489xrJly/jhhx9o2LBhkfXt2rXD09OT77//3rls//79JCUlERcXV+z9xMXF8eOPP1JQUOBctnr1apo1a0b16tWv/EDKWWn12549e7jxxhsZNGgQr7zyyjn7iYuLK7INONNvJen7iqKsvmsOhwPA+cfWlfoMSqffPvvsM3bu3ElCQgIJCQnOS9c//fSTcxoKV+q3svquJSQkUL16dedzPV2pz6B0+u2aa65xLj/r5MmTHD9+nPr16wOu9fegNL9r2dnZfPrppwwZMuSc/ZTbd61Uh2KIKYYPH24EBQUZa9euLTLUOjc319nm0UcfNerVq2f88MMPxtatW424uDgjLi6uyHYOHjxo7Nixw3jkkUeMpk2bGjt27DB27NjhHPV06tQpo1atWsaAAQOM3bt3G4sXLzZ8fX0r5fB2wyidfktMTDRCQ0ON/v37F9lGRkaGs83ZIe7PPPOMsW/fPmPatGmVdjqF0uizr7/+2pgzZ46RmJhoHDlyxFi+fLnRokUL45prrnG2caU+M4zS+xn9qzVr1lxwuhNX6LfS6LMvv/zSmDlzppGYmGgcPHjQeO+99wxfX19jzJgxzjau1GeGUXrftTvvvNNo2bKlsX79eiMxMdG47bbbjKioKCM/P98wDNf6e1CaP5+zZs0yfHx8ivxcnlVe3zUFOxcAnPc1d+5cZ5vTp08bI0aMMKpXr274+voad911l5GamlpkO126dDnvdo4cOeJss3PnTuPaa681vL29jbp16xqTJk0qp6MsfaXRb2PHjj3vNurXr19kX2vWrDFiY2MNLy8v46qrriqyj8qkNPrshx9+MOLi4oygoCDDx8fHaNKkifHss8+e84vQVfrMMErvZ/Svzhfszi53hX4rjT5bsWKFERsba/j7+xt+fn5G69atjffff9+w2+1F9uUqfWYYpfddy8zMNB566CEjODjYCAkJMe666y4jKSmpSBtX+XtQmj+fcXFxxgMPPHDBfZXHd83yv4MSERERkUpO99iJiIiIuAgFOxEREREXoWAnIiIi4iIU7ERERERchIKdiIiIiItQsBMRERFxEQp2IiIiIi5CwU5ERETERSjYiYiIiLgIBTsRkQswDIOuXbvSo0ePc9a99957BAcHc+zYMRMqExE5PwU7EZELsFgszJ07l02bNjFjxgzn8iNHjvCvf/2Ld955h4iIiFLdZ0FBQaluT0SqFgU7EZGLiIyMZOrUqTz99NMcOXIEwzAYMmQI3bt3p02bNvTs2RN/f39q1arFgAEDOH78uPOz3377Lddeey3BwcHUqFGD2267jcOHDzvXHz16FIvFwieffEKXLl3w8fFhwYIFZhymiLgIi2EYhtlFiIhUdL179yYzM5O7776bl156iT179tCyZUsefvhhBg4cyOnTp3n22WcpLCzkhx9+AOCzzz7DYrEQExNDdnY2Y8aM4ejRoyQkJODm5sbRo0dp2LAhDRo04I033qBNmzb4+PhQu3Ztk49WRCorBTsRkWLIyMigZcuWnDx5ks8++4zdu3fz008/sXLlSmebY8eOERkZyf79+2natOk52zh+/DihoaEkJiYSHR3tDHZTpkzhiSeeKM/DEREXpUuxIiLFEBYWxiOPPEKLFi3o3bs3O3fuZM2aNfj7+ztfzZs3B3Bebj148CB9+/blqquuIjAwkAYNGgCQlJRUZNvt27cv12MREdflYXYBIiKVhYeHBx4eZ35tZmdnc/vtt/Pqq6+e0+7spdTbb7+d+vXrM3PmTOrUqYPD4SA6Opr8/Pwi7f38/Mq+eBGpEhTsREQuQ9u2bfnss89o0KCBM+z91YkTJ9i/fz8zZ87kuuuuA+C///1veZcpIlWMLsWKiFyG+Ph4Tp48Sd++fdmyZQuHDx9m5cqVDB48GLvdTvXq1alRowYffPABhw4d4ocffuCpp54yu2wRcXEKdiIil6FOnTqsX78eu91O9+7dadWqFU8++STBwcG4ubnh5ubG4sWL2bZtG9HR0YwaNYrJkyebXbaIuDiNihURERFxETpjJyIiIuIiFOxEREREXISCnYiIiIiLULATERERcREKdiIiIiIuQsFORERExEUo2ImIiIi4CAU7ERERERehYCciIiLiIhTsRERERFyEgp2IiIiIi1CwExEREXER/w+1NVnNAr5I6AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -724,22 +531,61 @@ } ], "source": [ - "# Choose one of your wanted variable with the completion\n", "model, scenario = \"WILIAM\", \"Baseline no policies no CO2tax\"\n", - "variable = input(\"Input the name of the variable\")\n", - "title = input(\"Enter the title of the chart\")\n", + "variable = 'Final Energy|Waste Management|Heat' # To change the variable you want to plot you can use the tree searching above to find all the available variables.\n", + "title = 'Test Title' # To complete manually\n", "\n", - "data = df.filter(model=model, scenario=scenario, variable=variable).filter(region=\"World\", keep=False)\n", "\n", + "# If you want to remove the region World, you need to add this at the end of the above line .filter(region=\"World\", keep=False)\n", + "data = df.filter(model=model, scenario=scenario, variable=variable)\n", "\n", - "data.plot(color=\"region\", title= title)\n", - "data.timeseries()\n" + "data.plot(color=\"region\", title=title)\n", + "data.timeseries()\n", + "plt.legend(loc=1)\n", + "plt.tight_layout()\n", + "plt.savefig('Final Energy')\n", + "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, - "source": [] + "source": [ + "# Plot of a same variable with the same region differentiate by scenario " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model = \"WILIAM\" \n", + "variable = 'Final Energy|Waste Management|Heat' # To change the variable you want to plot you can use the tree searching above to find all the available variables.\n", + "title = 'Test Title' # To complete manually\n", + "region = 'Austria' #To complete manually\n", + "\n", + "# If you want to remove the region World, you need to add this at the end of the above line .filter(region=\"World\", keep=False)\n", + "data = df.filter(model=model, variable=variable, region=region)\n", + "\n", + "data.plot(color=\"scenario\", title=title)\n", + "data.timeseries()\n", + "plt.legend(loc=1)\n", + "plt.tight_layout()\n", + "plt.savefig('Final Energy')\n", + "plt.show()" + ] } ], "metadata": { @@ -758,7 +604,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.4" + "version": "3.10.14" } }, "nbformat": 4, diff --git a/Visualization/Report.ipynb b/Visualization/Report.ipynb index 97d4a94..c9721ba 100644 --- a/Visualization/Report.ipynb +++ b/Visualization/Report.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -38,6 +38,11 @@ }, { "cell_type": "code", +<<<<<<< HEAD + "execution_count": null, + "metadata": {}, + "outputs": [], +======= "execution_count": 2, "metadata": {}, "outputs": [ @@ -51,6 +56,7 @@ ] } ], +>>>>>>> main "source": [ "# 1. path to the results file (in IAMC format)\n", "path = \"..\\\\Conversion-Script\\\\File_Converted\\\\\"\n", @@ -78,6 +84,11 @@ }, { "cell_type": "code", +<<<<<<< HEAD + "execution_count": null, + "metadata": {}, + "outputs": [], +======= "execution_count": 3, "metadata": {}, "outputs": [ @@ -92,6 +103,7 @@ "output_type": "display_data" } ], +>>>>>>> main "source": [ "# Aggregate all the regional populations\n", "#data = df.aggregate_region(\"Population\").timeseries()\n", @@ -102,13 +114,14 @@ "dataggtrans = datagg.transpose()\n", "\n", "# Generate the plot. To customize this plot, go to: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.plot.html\n", - "plot = dataggtrans.plot(kind='line',\n", + "dataggtrans.plot(kind='line',\n", " title=\"Global population\",\n", " legend=False,\n", " ylabel=\"People in billions\",\n", " xlabel=\"Year\",\n", " figsize=[10,5])\n", - "\n" + "\n", + "plt.savefig('Population.png')" ] }, { @@ -122,20 +135,13 @@ }, { "cell_type": "code", +<<<<<<< HEAD + "execution_count": null, +======= "execution_count": 4, +>>>>>>> main "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "data = df.filter(**args, variable=\"Primary Energy\", year=2050)\n", "\n", @@ -154,6 +160,11 @@ }, { "cell_type": "code", +<<<<<<< HEAD + "execution_count": null, + "metadata": {}, + "outputs": [], +======= "execution_count": 5, "metadata": {}, "outputs": [ @@ -1146,6 +1157,7 @@ "output_type": "display_data" } ], +>>>>>>> main "source": [ "sankey_mapping = {\n", " \"Primary Energy|Agriculture Products\": (\"Agriculture\", \"Solids\"),\n", @@ -1200,6 +1212,11 @@ }, { "cell_type": "code", +<<<<<<< HEAD + "execution_count": null, + "metadata": {}, + "outputs": [], +======= "execution_count": 21, "metadata": {}, "outputs": [ @@ -1321,6 +1338,7 @@ ] } ], +>>>>>>> main "source": [ "# Import the library to efficiently search variables\n", "import triesearching\n", @@ -1373,7 +1391,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.4" + "version": "3.10.14" } }, "nbformat": 4,