From 332285b18debab6fc197b843415cc4e6181c62a3 Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Sat, 27 Jul 2024 12:53:03 +0200 Subject: [PATCH 1/8] add aggregation in the translation file --- Final_script/translation.py | 55 +++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/Final_script/translation.py b/Final_script/translation.py index ca21b67..5f5fddf 100644 --- a/Final_script/translation.py +++ b/Final_script/translation.py @@ -73,6 +73,44 @@ def replace_and_track(value, variable_name_dict,missing_variable): 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 main(): # Parse the argument put in the command line. @@ -116,7 +154,7 @@ def main(): # 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) - print(splited_filename_with_extension) + filename = ( splited_filename_with_extension[0] + "converted" @@ -227,8 +265,21 @@ def main(): 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 aggregation dictionary . + with open("../Conversion-Script/Create_Variable_Dict/aggregation.txt", "r") as f: + # Read the contents of the file + aggregation_dict_str = f.read() + + # Convert the string representation of the dictionary back to a dictionary object + aggregation_dict = ast.literal_eval(aggregation_dict_str) + + # Create the aggregations rows in the dataframe. + scenario_variable_df = aggregate_rows(scenario_variable_df, aggregation_dict) + # Open the text file containing the variable dictionary to translate each variable name of Wiliam to the variable name in the IAMC format. - with open("../Conversion-Script/Create_Variable_Dict/variable_name_dict.txt", "r") as f: + with open( + "../Conversion-Script/Create_Variable_Dict/variable_name_dict.txt", "r" + ) as f: # Read the contents of the file variable_name_dict_str = f.read() From 9eaf5e13f1bcc09f5f6d03aa86e53b74e6697e0f Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Sat, 27 Jul 2024 12:56:04 +0200 Subject: [PATCH 2/8] create the dictionary for the subcript --- .../Create_Variable_Dict/aggregation.txt | 4 + .../Create_Variable_Dict/land_dict.txt | 9 ++ .../transport_mode_dict.txt | 9 ++ .../Create_Variable_Dict/variable_dict.ipynb | 96 +++++++++++++++++++ 4 files changed, 118 insertions(+) create mode 100644 Conversion-Script/Create_Variable_Dict/aggregation.txt create mode 100644 Conversion-Script/Create_Variable_Dict/land_dict.txt create mode 100644 Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt 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/land_dict.txt b/Conversion-Script/Create_Variable_Dict/land_dict.txt new file mode 100644 index 0000000..89db41f --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/land_dict.txt @@ -0,0 +1,9 @@ +{'CROPLAND IRRIGATED': 'Cropland|IrrigatedForest|Managed', + 'CROPLAND RAINFED': 'Cropland|Rainfed', + 'FOREST MANAGED': 'Forest|Natural Forest', + 'FOREST PLANTATIONS': 'Shrubland', + 'FOREST PRIMARY': 'Forest|Forestry|Harvested Area', + 'GRASSLAND': 'Water Ecosystems|WetlandsBuilt-up Area', + 'SHRUBLAND': 'Grassland', + 'URBAN LAND': 'Snow and Ice Land', + 'WETLAND': 'Built-up Area|Solar'} 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..2e53ad6 --- /dev/null +++ b/Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt @@ -0,0 +1,9 @@ +{'AIR DOMESTIC': 'European Aviation', + 'AIR INTERNATIONAL': 'NavigationBicycling and Walking', + 'AIR INTRA EU': 'International Aviation', + 'BUS': 'Bus', + 'HDV': 'High Duty Vehicle', + 'LDV': 'Light Duty Vehicle', + 'MDV': 'Medium Duty Vehicle', + 'MOTORCYCLES 2W 3W': '2W and 3W', + 'RAIL': 'RailDomestic Aviation'} diff --git a/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb b/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb index a4fe54a..c23308a 100644 --- a/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb +++ b/Conversion-Script/Create_Variable_Dict/variable_dict.ipynb @@ -777,6 +777,102 @@ "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": null, + "metadata": {}, + "outputs": [], + "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", + "]\n", + "\n", + "\n", + "land_dict = dict(zip(land_types, new_land_types))\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": null, + "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": { From 48eaa5291f2887124287fb1f032f9b89c72ebfea Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Sat, 27 Jul 2024 15:07:14 +0200 Subject: [PATCH 3/8] update report --- Visualization/Report.ipynb | 1085 +----------------------------------- 1 file changed, 15 insertions(+), 1070 deletions(-) diff --git a/Visualization/Report.ipynb b/Visualization/Report.ipynb index ebc65fe..c7d465f 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,19 +38,9 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[INFO] 20:33:43 - 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" - ] - } - ], + "outputs": [], "source": [ "# 1. path to the results file (in IAMC format)\n", "path = \"..\\\\Conversion-Script\\\\File_Converted\\\\\"\n", @@ -78,20 +68,9 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAHUCAYAAAANwniNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABoCklEQVR4nO3dd3gU5cLG4WfTQxokkAaBBKSHHqQIgqJIFRVFAamKgA3xcA5yPhs27OIRPViooghIESyIUgVCCb3X0BNCAul9d74/kBwjkEDYMCm/+7r2wszOzj6b1yT77My8YzEMwxAAAAAA4KoczA4AAAAAACUdxQkAAAAACkFxAgAAAIBCUJwAAAAAoBAUJwAAAAAoBMUJAAAAAApBcQIAAACAQlCcAAAAAKAQFCcAAAAAKATFCQDKuJ07d+qxxx5TrVq15O7uLnd3d9WuXVvDhw9XVFRUvnVfffVVWSyWIj1Px44dFR4ebo/I+bbZsWNHu27TTKGhoRo8eHCRHvvWW29p0aJFly1ftWqVLBaLVq1adUPZAAAFozgBQBn2+eefq0WLFtq4caNGjRqlH3/8UT/99JOee+457dmzRy1bttSRI0fMjolrcLXi1Lx5c0VGRqp58+Y3PxQAlCNOZgcAABSPdevW6cknn1T37t31/fffy8XFJe++O++8U0899ZTmzZsnd3d3E1PiRnl7e6t169ZmxwCAMo89TgBQRr311ltydHTU559/nq80/dVDDz2k4ODgArdjs9n07rvvql69enJ1dZW/v78GDhyoU6dOXXH9P/74Q61bt5a7u7uqVq2ql156SVarNd8648ePV6tWreTr6ytvb281b95cU6ZMkWEYRXqtoaGh6tGjhxYuXKjGjRvLzc1NNWvW1H/+85/L1j1x4oQeffRR+fv7y9XVVfXr19cHH3wgm82Wt86xY8dksVj07rvv6s0331T16tXl5uamiIgILV++PN/2Bg8erNDQ0Mue51oOe8zMzNQ//vEPNW3aVD4+PvL19VWbNm30ww8/5FvPYrEoLS1NM2bMkMVikcViyTuE8WqH6i1evFht2rRRhQoV5OXlpbvvvluRkZFXzLhnzx717dtXPj4+CggI0NChQ5WUlFRgdgAobyhOAFAGWa1WrVy5UhEREQoKCrqhbY0cOVJjx47V3XffrcWLF+v111/X0qVL1bZtW8XHx+dbNzY2Vo888oj69++vH374QQ8++KDeeOMNjRo1Kt96x44d0/DhwzV37lwtWLBADzzwgJ555hm9/vrrRc65fft2Pffccxo9erQWLlyotm3batSoUXr//ffz1jl37pzatm2rZcuW6fXXX9fixYt11113acyYMXr66acv2+akSZO0dOlSTZw4UbNmzZKDg4O6du16WQEpqqysLJ0/f15jxozRokWLNHv2bLVr104PPPCAZs6cmbdeZGSk3N3d1a1bN0VGRioyMlKfffbZVbf77bffqlevXvL29tbs2bM1ZcoUXbhwQR07dtTatWsvW793796qU6eO5s+frxdeeEHffvutRo8ebZfXCABlhgEAKHNiY2MNScYjjzxy2X25ublGTk5O3s1ms+Xd98orrxh//dOwb98+Q5Lx5JNP5tvGxo0bDUnGv//977xlHTp0MCQZP/zwQ751hw0bZjg4OBjHjx+/Ylar1Wrk5OQYr732muHn55cvT4cOHYwOHToU+npr1KhhWCwWY/v27fmW33333Ya3t7eRlpZmGIZhvPDCC4YkY+PGjfnWGzlypGGxWIwDBw4YhmEY0dHRhiQjODjYyMjIyFsvOTnZ8PX1Ne666668ZYMGDTJq1KhxWaa/fy8v5Rw0aNBVX8elsXnssceMZs2a5bvPw8Pjio9duXKlIclYuXKlYRgXv5/BwcFGo0aNDKvVmrdeSkqK4e/vb7Rt2/ayjO+++26+bT755JOGm5tbvrEAgPKuXO9xWrNmjXr27Kng4GBZLJYrnnRbmLlz56pp06aqUKGCatSooffee8/+QQHAjlq0aCFnZ+e82wcffHDVdVeuXClJl80Ed+utt6p+/fqXHbbm5eWle++9N9+yfv36yWazac2aNXnLVqxYobvuuks+Pj5ydHSUs7OzXn75ZSUkJCguLq5Ir6thw4Zq0qTJZc+dnJysrVu35j1vgwYNdOutt+Zbb/DgwTIMQytWrMi3/IEHHpCbm1u+19ezZ0+tWbPmssMPi2revHm67bbb5OnpKScnJzk7O2vKlCnat29fkbZ34MABnTlzRgMGDJCDw//+zHt6eqp3797asGGD0tPT8z3m72PWuHFjZWZmFnksAKAsKtfFKS0tTU2aNNGkSZOK9PhffvlF/fv314gRI7R792599tln+vDDD4u8PQCwl8qVK8vd3V3Hjx+/7L5vv/1W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cbLXmO3YscOQZBw+fNgwDMasuNzIeG3fvt2oVq2aERMTc1lxYryKT1HHrEOHDsaoUaOuul3GrHgUdbxatWplvPjii1fdLuNVPOz1N6xp06bG0KFD874uaePFoXq4JpcO1/L19ZUkRUdHKzY2Vp07d85bx9XVVR06dND69euvebuRkZHy8fFRq1at8pa1bt1aPj4+17Ud5Gev8UpKSpK3t7ecnJwkMV7FyR5jlpaWpmnTpiksLEwhISGSGLPiUtTxSk9PV9++fTVp0iQFBgZetl3Gq/jcyM/YN998o8qVK6thw4YaM2aMUlJS8u5jzIpHUcYrLi5OGzdulL+/v9q2bauAgAB16NBBa9euzXsM41U87PE3bMuWLdq+fbsee+yxvGUlbbwoTiiUYRh6/vnn1a5dO4WHh0uSYmNjJUkBAQH51g0ICMi771rExsbK39//suX+/v7XtR38j73GKyEhQa+//rqGDx+et4zxKh43OmafffaZPD095enpqaVLl+q3336Ti4tL3nYYM/u6kfEaPXq02rZtq169el1x24xX8biRMevfv79mz56tVatW6aWXXtL8+fP1wAMP5N3PmNlfUcfr6NGjkqRXX31Vw4YN09KlS9W8eXN16tRJhw4dytsO42Vf9nrfMWXKFNWvX19t27bNW1bSxsvppj8jSp2nn35aO3fuzPeJzSUWiyXf14ZhXLasMFdavyjbwUX2GK/k5GR1795dDRo00CuvvFLgNgraDq7NjY5Z//79dffddysmJkbvv/+++vTpo3Xr1snNze2K27jadnBtijpeixcv1ooVK7Rt27YCt8942d+N/IwNGzYs77/Dw8NVu3ZtRUREaOvWrWrevPkVt3Gl7eDaFXW8bDabpIuT5gwZMkSS1KxZMy1fvlxTp07VhAkTrriNv28H18ce7zsyMjL07bff6qWXXip0GwVtp7ixxwkFeuaZZ7R48WKtXLlS1apVy1t+6RCTv7f9uLi4yz5dKEhgYKDOnj172fJz585d13ZwkT3GKyUlRV26dJGnp6cWLlwoZ2fnfNthvOzLHmPm4+Oj2rVr6/bbb9f333+v/fv3a+HChXnbYczs50bGa8WKFTpy5IgqVqwoJyenvENge/furY4dO+Zth/GyL3v/HWvevLmcnZ3z9mAwZvZ1I+MVFBQkSWrQoEG+derXr68TJ07kbYfxsh97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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Aggregate all the regional populations\n", "#data = df.aggregate_region(\"Population\").timeseries()\n", @@ -102,13 +81,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\",\n", " xlabel=\"Year\",\n", " figsize=[10,5])\n", - "\n" + "\n", + "plt.savefig('Population.png')" ] }, { @@ -122,20 +102,9 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": null, "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,1000 +123,9 @@ }, { "cell_type": "code", - "execution_count": 154, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\34670\\.conda\\envs\\wiliamcformat\\Lib\\site-packages\\pyam\\figures.py:58: FutureWarning:\n", - "\n", - "Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", - "\n" - ] - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "link": { - "hovertemplate": "\"%{source.label}\" to \"%{target.label}\": %{value}", - "source": [ - 0, - 6, - 10, - 20, - 3, - 6, - 1, - 8, - 6, - 11, - 19, - 18, - 13, - 15, - 20, - 2, - 2, - 21, - 21, - 9, - 16, - 5, - 5, - 5, - 12, - 12, - 12, - 12, - 4, - 4, - 18, - 18 - ], - "target": [ - 12, - 12, - 12, - 17, - 2, - 13, - 9, - 16, - 21, - 5, - 4, - 14, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7, - 7 - ], - "value": [ - 0.118625, - 82.5054, - 11.7219, - 0.647644, - 4.88205, - 11.3326, - 11.2732, - 0.00000895725, - 28.5645, - 5.17917, - 0.12852, - 4.05397, - 0, - 4.61141, - 0.64425, - 4.25786, - 0.624191, - 0, - 0.000334759, - 3.75599, - 0.00000895725, - 0.000427612, - 4.46034, - 0.718402, - 0, - 1.55532, - 0, - 10.7275, - 0, - 0.0261382, - 1.71997, - 2.334 - ] - }, - "node": { - "color": "blue", - "hovertemplate": "%{label}: %{value}", - "label": [ - "Agriculture", - "Uranium", - "Hydro", - "Hydropower dams", - "Waste", - "Solar", - "Fossil", - "Power Grid", - "Sea", - "Nuclear", - "Forestry", - "Sun", - "Solids", - "Gas fuels", - "Wind plants", - "Gases wothout CCS", - "Ocean", - "Geothermal plants", - "Wind", - "Cities", - "Geothermal", - "Liquids" - ], - "line": { - "color": "black", - "width": 0.5 - }, - "pad": 15, - "thickness": 10 - }, - "type": "sankey", - "valuesuffix": "EJ/yr" - } - ], - "layout": { - "font": { - "size": 10 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "title": { - "text": "region: China, year: 2050" - } - } - } - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "sankey_mapping = {\n", " \"Primary Energy|Agriculture Products\": (\"Agriculture\", \"Solids\"),\n", @@ -1193,42 +171,9 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Completions: Primary Energy\n", - "Primary Energy|Agriculture Products\n", - "Primary Energy|Agriculture Products|Per Capita\n", - "Primary Energy|Coal\n", - "Primary Energy|Coal|Per Capita\n", - "Primary Energy|Forestry Products\n", - "Primary Energy|Forestry Products|Per Capita\n", - "Primary Energy|Geothermal\n", - "Primary Energy|Geothermal|Per Capita\n", - "Primary Energy|Hydropower\n", - "Primary Energy|Hydropower|Per Capita\n", - "Primary Energy|Natural Gas\n", - "Primary Energy|Natural Gas|Per Capita\n", - "Primary Energy|Nuclear\n", - "Primary Energy|Nuclear|Per Capita\n", - "Primary Energy|Ocean\n", - "Primary Energy|Ocean|Per Capita\n", - "Primary Energy|Oil\n", - "Primary Energy|Oil|Per Capita\n", - "Primary Energy|Renewable|Share\n", - "Primary Energy|Solar\n", - "Primary Energy|Solar|Per Capita\n", - "Primary Energy|Waste\n", - "Primary Energy|Waste|Per Capita\n", - "Primary Energy|Wind\n", - "Primary Energy|Wind|Per Capita\n" - ] - } - ], + "outputs": [], "source": [ "# Import the library to efficiently search variables\n", "import triesearching\n", @@ -1261,7 +206,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.4" + "version": "3.10.14" } }, "nbformat": 4, From 0b26c53196d06182d84638a19d1d4386df756b8b Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Sat, 27 Jul 2024 16:14:00 +0200 Subject: [PATCH 4/8] change to direct translation of missing variables --- Final_script/translation_helpers.py | 89 +++++++++++++---------------- 1 file changed, 41 insertions(+), 48 deletions(-) diff --git a/Final_script/translation_helpers.py b/Final_script/translation_helpers.py index e779f3a..ec28673 100644 --- a/Final_script/translation_helpers.py +++ b/Final_script/translation_helpers.py @@ -83,8 +83,8 @@ def format_string(s, upper_word_list, vehicule_list): return result -def process_csv( - input_file, +def process_list( + missing_variable_list, IAMC_WILIAM_name_dict, energy_dict, rest_dict, @@ -95,42 +95,40 @@ def process_csv( ): original_to_transformed = {} - # Open the CSV file and read it line by line - with open(input_file, mode="r") as file: - csv_reader = csv.reader(file) - - for row in csv_reader: - 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 + + + 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 @@ -145,10 +143,8 @@ def open_dict(dict_filename): return read_dict -def main(): - - # File that should be read. - csv_file_path = "missing_variable.csv" +def create_automatic_translation(missing_variable_list): + # Open the text file containing the energy dictionary energy_dict = open_dict("energy_dict.txt") @@ -163,7 +159,7 @@ def main(): # Open the text file containing the dictionary for the economy dashboard subscript. - economy_dashboard_dict = open_dict("economy_dashboard.txt") + 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 = [ @@ -220,8 +216,8 @@ def main(): # 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_csv( - csv_file_path, + translation_dict = process_list( + missing_variable_list, IAMC_WILIAM_name_dict, energy_dict, rest_dict, @@ -235,6 +231,3 @@ def main(): with open("new_variable_name_dict.txt", "w") as f: pprint.pprint(translation_dict, f) - -if __name__ == "__main__": - main() From 646ca1621addfa75c1b8f46fbbee7fa635b5052e Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Sat, 27 Jul 2024 16:14:45 +0200 Subject: [PATCH 5/8] change script to handle direct translation --- Final_script/translation.py | 60 +++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/Final_script/translation.py b/Final_script/translation.py index 5f5fddf..395cdb7 100644 --- a/Final_script/translation.py +++ b/Final_script/translation.py @@ -6,6 +6,7 @@ import matplotlib.pyplot as plt import report_pdf import argparse +import translation_helpers def get_last_added_file(folder_path): @@ -111,6 +112,16 @@ def aggregate_rows(df, aggregations): 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. @@ -249,12 +260,7 @@ def main(): } # Open the text file containing the country dictionary to translate the country name of Wiliam to the IAMC format. - with open("../Conversion-Script/Create_Variable_Dict/country_dict.txt", "r") as f: - # Read the contents of the file - country_dict_str = f.read() - - # Convert the string representation of the dictionary back to a dictionary object - country_dict = ast.literal_eval(country_dict_str) + 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( @@ -265,29 +271,11 @@ def main(): 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 aggregation dictionary . - with open("../Conversion-Script/Create_Variable_Dict/aggregation.txt", "r") as f: - # Read the contents of the file - aggregation_dict_str = f.read() - - # Convert the string representation of the dictionary back to a dictionary object - aggregation_dict = ast.literal_eval(aggregation_dict_str) - - # Create the aggregations rows in the dataframe. - scenario_variable_df = aggregate_rows(scenario_variable_df, aggregation_dict) - # Open the text file containing the variable dictionary to translate each variable name of Wiliam to the variable name in the IAMC format. - with open( - "../Conversion-Script/Create_Variable_Dict/variable_name_dict.txt", "r" - ) as f: - # Read the contents of the file - variable_name_dict_str = f.read() + variable_name_dict = open_dict("variable_name_dict.txt") - # Convert the string representation of the dictionary back to a dictionary object - variable_name_dict = ast.literal_eval(variable_name_dict_str) - - # Convert all the variable name to the IAMC format and get the variables with a missing translation. - # Create the list of missing variable. + # 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 @@ -295,12 +283,20 @@ def main(): replace_and_track, args=(variable_name_dict, missing_variable) ) - # Create the path for the file containing the missing variable. - missing_variable_path = os.path.join(folder_path , 'missing_variable.csv') - print("The translation of ", len(missing_variable), " variables are missing. You can find the file with all of them here", missing_variable_path) + # 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) - # Save the untranslated variable in csv file. - np.savetxt(missing_variable_path, missing_variable, delimiter=", ", fmt="% s") + # 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) From 5eecdfab1e3f3b433edf191d66326c53610ac95f Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Mon, 29 Jul 2024 10:47:08 +0200 Subject: [PATCH 6/8] change dict name --- .../economy_dashboard_dict.txt | 4 +- .../Create_Variable_Dict/land_dict.txt | 19 +- .../transport_mode_dict.txt | 10 +- .../Create_Variable_Dict/variable_dict.ipynb | 408 ++++++++++++++++-- 4 files changed, 387 insertions(+), 54 deletions(-) diff --git a/Conversion-Script/Create_Variable_Dict/economy_dashboard_dict.txt b/Conversion-Script/Create_Variable_Dict/economy_dashboard_dict.txt index cee3717..90fc135 100644 --- a/Conversion-Script/Create_Variable_Dict/economy_dashboard_dict.txt +++ b/Conversion-Script/Create_Variable_Dict/economy_dashboard_dict.txt @@ -4,7 +4,7 @@ 'DB EMPLOYMENT': 'Employment', 'DB EXPORTS': 'Trade|Value|Exports', 'DB GDP': 'GDP|PPP', - 'DB GDP PER CAPITA': 'Revenue|Households|Disposable[per capita]', + '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', @@ -25,7 +25,7 @@ '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 HH SAVINGS NOMINAL': 'GDP|Country [per capita]', 'DB IMPORTS': 'Trade|Value|Imports', 'DB LABOUR COMPENSATION': 'Value Added|Labour Compensation', 'DB LABOUR FORCE': 'Labour Supply', diff --git a/Conversion-Script/Create_Variable_Dict/land_dict.txt b/Conversion-Script/Create_Variable_Dict/land_dict.txt index 89db41f..f3d0629 100644 --- a/Conversion-Script/Create_Variable_Dict/land_dict.txt +++ b/Conversion-Script/Create_Variable_Dict/land_dict.txt @@ -1,9 +1,12 @@ -{'CROPLAND IRRIGATED': 'Cropland|IrrigatedForest|Managed', +{'CROPLAND IRRIGATED': 'Cropland|Irrigated', 'CROPLAND RAINFED': 'Cropland|Rainfed', - 'FOREST MANAGED': 'Forest|Natural Forest', - 'FOREST PLANTATIONS': 'Shrubland', - 'FOREST PRIMARY': 'Forest|Forestry|Harvested Area', - 'GRASSLAND': 'Water Ecosystems|WetlandsBuilt-up Area', - 'SHRUBLAND': 'Grassland', - 'URBAN LAND': 'Snow and Ice Land', - 'WETLAND': 'Built-up Area|Solar'} + '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/transport_mode_dict.txt b/Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt index 2e53ad6..8801a4b 100644 --- a/Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt +++ b/Conversion-Script/Create_Variable_Dict/transport_mode_dict.txt @@ -1,9 +1,11 @@ -{'AIR DOMESTIC': 'European Aviation', - 'AIR INTERNATIONAL': 'NavigationBicycling and Walking', - 'AIR INTRA EU': 'International Aviation', +{'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', - 'RAIL': 'RailDomestic Aviation'} + '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 c23308a..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,9 +424,26 @@ }, { "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", @@ -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", @@ -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,7 +707,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -434,7 +751,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "metadata": {}, "outputs": [], "source": [ @@ -487,7 +804,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -511,7 +828,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "metadata": {}, "outputs": [], "source": [ @@ -535,7 +852,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -687,7 +1004,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -767,8 +1084,8 @@ " \"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", + " \"GDP|Country [per capita]\",\n", + " \"Revenue|Households|Disposable [per capita]\",\n", " \"Households|Consumer Price [index]\"\n", "]\n", "\n", @@ -787,9 +1104,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "metadata": {}, - "outputs": [], + "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", @@ -808,20 +1134,22 @@ "\n", "new_land_types = [\n", " \"Cropland|Rainfed\",\n", - " \"Cropland|Irrigated\"\n", + " \"Cropland|Irrigated\",\n", " \"Forest|Managed\",\n", " \"Forest|Natural Forest\",\n", " \"Forest|Forestry|Harvested Area\",\n", " \"Shrubland\",\n", " \"Grassland\",\n", - " \"Water Ecosystems|Wetlands\"\n", + " \"Water Ecosystems|Wetlands\",\n", " \"Built-up Area\",\n", " \"Built-up Area|Solar\",\n", - " \"Snow and Ice Land\"\n", + " \"Snow and Ice Land\",\n", + " \"Other\"\n", "]\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)" @@ -836,7 +1164,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -860,11 +1188,11 @@ " \"High Duty Vehicle\",\n", " \"Bus\",\n", " \"2W and 3W\",\n", - " \"Rail\"\n", + " \"Rail\",\n", " \"Domestic Aviation\", \n", " \"European Aviation\", \n", " \"International Aviation\",\n", - " \"Navigation\"\n", + " \"Navigation\",\n", " \"Bicycling and Walking\"\n", "]\n", "\n", From cb979039ea8aba2c978cb77c2b6846c2a8a0c593 Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Mon, 29 Jul 2024 10:47:50 +0200 Subject: [PATCH 7/8] update list of greenhouses gases --- Final_script/translation_helpers.py | 90 ++++++++++++++--------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/Final_script/translation_helpers.py b/Final_script/translation_helpers.py index ec28673..5058ef8 100644 --- a/Final_script/translation_helpers.py +++ b/Final_script/translation_helpers.py @@ -163,51 +163,51 @@ def create_automatic_translation(missing_variable_list): # 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", - "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", + "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"] From 5739f4075ed434663b0ab8add61a2a9bdc0cff9b Mon Sep 17 00:00:00 2001 From: Tristan22400 Date: Mon, 29 Jul 2024 10:57:57 +0200 Subject: [PATCH 8/8] create multiples types of plot --- Visualization/Plot_timeseries.ipynb | 522 +++++++++++++++++++++++++++- 1 file changed, 509 insertions(+), 13 deletions(-) diff --git a/Visualization/Plot_timeseries.ipynb b/Visualization/Plot_timeseries.ipynb index c0f2549..4fabb1b 100644 --- a/Visualization/Plot_timeseries.ipynb +++ b/Visualization/Plot_timeseries.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -13,6 +13,20 @@ "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,9 +36,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[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" + ] + } + ], "source": [ "cwd = os.getcwd()\n", "\n", @@ -46,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -59,9 +83,382 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "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" + ] + } + ], "source": [ "# Enter the prefix of the variable you want to see.\n", "\n", @@ -70,24 +467,123 @@ "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": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "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/9uzZAwDweDwYOHAgEhISsHfvXly8eBGjR4+GTqfDiy++WOXXQkRERFSZanxgp9VqkZCQUGJ/Xl4e3nnnHfzrX//C//zP/wAAVqxYgZSUFOzfvx+/+93v8NVXX+HEiRPYunUr4uPj0bFjR7zwwguYOXMmnnvuOej1+qq+HCIiIqJKU6NvxQLAjz/+iMTERDRt2hQjR45EZmYmAODQoUNwuVxIS0tT095+++1o1KgR9u3bBwDYt28f2rVrh/j4eDVNeno6rFYrjh8/XrUXQkRERFTJanSLXffu3bFy5Uq0atUKFy9exPPPP49evXrh2LFjyMrKgl6vR0xMTNA58fHxyMrKAgBkZWUFBXX+4/5j1+JwOOBwONTXVqs1RFdEREREVHlqdGA3YMAAdbt9+/bo3r07kpOT8eGHHyIiIqLS3nfevHl4/vnnKy1/IiIiKqYoAna3Bw6XAkkCJEmCHLCWJQkAoJUlaGTvYMrrEULA7lJQ4HSjyOlR125FwOVW4PKt3YoCp0fA7fG+r0GrgV4jw6CTfWvva71WVssjAd4yQkJgMepHG2DUaSqxlsqnRgd2V4uJiUHLli1x+vRp3HPPPXA6ncjNzQ1qtcvOzlb75CUkJODbb78NysM/ara0fnt+s2bNwrRp09TXVqsVSUlJIbwSIiKqTfyBR6HTgyKnb+3ywO7yQCNL0MoSdBoZWo0ErSxDp5Gg1Xh7OzlcHjjcindxeWD3rR1uBUUub35FLm+edpcHhU43ipwKXB4FJr0GkQYtIv1rgxZRvrUswVcGBXZfWRzu4m2n7z2dbgUOj3ftXzxCwKjTwKiVEaHXwKjVIEKvgUEnw6jVwK0osNndyLe7ke9wI9/ugs3hfV3g8MCglWHUec816bQw6jWI0Mkw6bXQyBLcHgUuj4DTo5TY9pe3yL84veWuCJ3GV9+yBL1Whlb21r3DraDQ4UahywMh/Kk9gMYOSbZDkl2A5IQkOwHZCUlyedeyC4ACQAIgA0LybUsQvm1JUrxpJA8gKZCgAFLx6yUDHsO9rduE6BN342pVYGez2XDmzBmMGjUKXbp0gU6nw7Zt2zB06FAAwKlTp5CZmYnU1FQAQGpqKv7+97/j0qVLiIuLAwBs2bIFZrMZrVu3vub7GAwGGAyGyr8gIiJSeRSBQqcbhU4PChzB6yKXt7VFUQQ8ioBH+LaF97XTrZQIkAK3FSGgKIAiBITwrQHffgGXR8CtKHB7BFz+tUfAo3gDkSKXp7qrp5ZTAMnlDaBkOySNHZLsgCTbgUg7dLI38PIGWx5AEr5zFADCuw/Ct6g5wulbAHjP8eUZoSmCpCmCJBdB0jhRFXKdQwAwsLuu6dOnY9CgQUhOTsYvv/yCOXPmQKPRYMSIEbBYLBg/fjymTZuGOnXqwGw248knn0Rqaip+97vfAQD69euH1q1bY9SoUZg/fz6ysrLwt7/9DZMmTWLgRkRUQYoiUOB0w2p3w1rkgrXIhXy7G1a7d9vmcAe1TKnbbm/rkd3l3S5t7W9tqg2MvpapCJ23hatEYOhR4FYE3B5vEGLQyTBoNTBoZbVFzLtPRoTO21IWodMiQl+cb4ReA60swe7ywObwBrgFTrd37fDA5nBDADBqZW/Lm8671msENFoHZK0TsuwEJAegcULAASE5oEgOKLDDI9xQFAkeRYJHkaEoEtye4kVIDkiaQihSATxSAVwogMOTjyLFCru7AJIkQ4IMWdJChgYSNABkSEIDBQIe4YRb2OEWTrgU77q6RWgj1MWoMXrX2uK1VtJCgQJFKBBCQBEKFBRvayQNtLIWGlmjbmtlLbSSd1+Ppk2r+xIB1PDA7sKFCxgxYgQuX76M+vXro2fPnti/fz/q168PAHjllVcgyzKGDh0Kh8OB9PR0LFu2TD1fo9Fgw4YNmDhxIlJTUxEZGYkxY8Zg7ty51XVJREQ3RQjvLS1FgdpapSgCivC3YgF2l8d3C80Fm90Nm8Ot3kbLt7tR5HRfdeuv+JaY3eWBKyA48fZHUnytV6LsAoaALMF3+1ELk0GDSF+wo/H1r5JlCRoJ3m3Ju8/gv6Wo08Ck1yBC59/WwqiT1bSy2nfL33/L+1qrkaGTvbdPtRoJOtl7jk4jwagGX95FliW4FBdsThsK3YVQxLUDUpfiQpGrCAWuAhS6C9V1ocu7bXPZYHPaYHPZcMm3zrflo8BVALvbDq2shU6jg17WQ6/XQx+hh16jR6ysh0d4UOAqQLarAAW+xeVwVcnf6GaYtCZE6aMQpYtClD4K0bpoROoiEa2Phkln8gZPkkZdZElWgylZuv5kHhHaCJgNZph1ZpgNZkTro2HWmxGlj4JO1lXRFVYvSQhRNd/UWsxqtcJisSAvLw9ms7m6i0NEtYzd5VFbtfKKvC1chQ4PHG5Pqa1bdpe3f5PV7oLV7msVK3KpLWXuKgqwrkWvkWGO0MFs1CLatzZH6BBt0MKo87VMaYs7nvtbp/Rab2uVmsa39r+ONGhh0nu3y+ocfz0exYMCdwEKnN7AqcBVAKfHCZfiUpfA106PE3a3HQ6PA3aPvXjbty5wFajBV77TF3R57CGs0dAzaoww6UwwaU2I0EXApPVum3QmRGgjoNfo4VE88AgPPIoHbuFWX7sVN4xaI2IMMbAYLIgxxCDGEAOzwYwYQwyi9dEAALfiVheP8MCluOBWvE92itB63zOwRcyoMcKoNZYZnFFJFYlDanSLHRFRVRNCoNDpQW6RCwUOt7ezuUfxtlx5BJweD5xub6uZLeA2pNXuC9rUbResviDOWYW3GDWyBKNWRrRRhyijt6N9tNG7+DvdR+q1xS1Qem8Ll7+ly6DV+DqjS+pa5xsVqJUlRPqCt1BxeVy+Fqx8/ObMR74tHzanDfmufOQ7fdu+YMrhccCpOOH0BCyKEw6PA0XuIjWQK3QXhqx8ZTFqrh+oaGQNInWRiNRGqoGWSWdSt9WWK10UovXRaitWlC4KRq0RbsUNp+KEy+NSr9e/liEjSheFSL03/0hdJCL1kTBpva1edGviX56Iajz/1AVXCp24UuhEbqHLt+0NvopvR0LtVF98a9K3XxEQwt/Z3punyyOQV+RCXpE3z9wiF/IKXXB6Qh+ISRJgNupgjtDCbNQhUq8t7nvla9EK7IcVbdD6WsWKzzFH6BBt1MKk16rTPvhvJZZnCohQUYSCfGc+rA4rch25yHPmIdeRC6vDikJ3IYrcRSh0+da+10WuIvUWZKG7UN12KZV361Av6xGlj4JJa4JBY4BOo4NO9i2+bb2sh06jU1uTDBqD2rrk3zbpTEG3C/2BV6QukgEU1Tj8RBJRqYQQsNrdyPUFUEVO76hAETAqzb8pALWvln9UY9C2wwObr+N3oa/jt78juM0XmPn7P3mDFaj9qQCpylu9AO90CtFGHfQaGTqtr9XK13Kl03ins4gyBAddlsDbkkYtLP59ETpE6bWQ5aoJvK4mhEChuxD5znzkOfLU/lj+Pl6B24WuQtg9djjcV92W9G3nO/NhdVqv26/sRviDsGh9NKJ10cXbvteRukgYtAZvXzONdzFoDGpgFqGNQLTem84fdOk1fGwk3XoY2BHVUv4WJ6dvfiqH29v53T9izj+Kzr9t8/Xp8o/aUzvI+7Ydbo/aEuZvvaqqzvK+KyozhVaWEGPSI9akQ6xJjxiTDtFGHTQygjrHl9aSpZEBjeTf9h+TYYnQIcakQ0yEDjG+PGNMOkToNFXWAlYat+JWA7E8Z5537ciD1WlFvjO/RB+xwHWBq0ANwKwOb3q3cIe8jBHaCLUflsVggVlvRqQuUu1f5R+B6O/XFaGN8N4u1EUG3ZKM0EbcMh3biSobAzuiKiCEgMOtqFMV+DvE51+99rVgFfnm7/KPXAzc9ne0d3oUVMXQpwidBrEmHUwGLfxhTmC8I/n2qpOV+vpvRQZsm3SaoIlVIw0adTvKoIVWI/lupwaM9AxYm43eYCvKoK3WYKu83IobVqdVDcb8wVmuPVcN0mwuG4pcRd7blKUsNpct5OXSylqY9d6Rgv7+Xf5Ay9/K5Q/ASrsladQaEaWLUoM5togR1TwM7IiuQ1EEbE53UPDln7vLPxt7vt3tm6G9eH+h03vLsSBgXdmNXzqNBKNWUyJwKg6ovLPLazUy9L5Z8f23FP2d4/2tV7EmvdoiVhMekVNVhBCwuWzIdeQi156LfFc+HG6H2jnf4QneVlvUrmpVC2VQFq2Lhtlg9raK6b0tY5G6SG+fMVkHvUZfor+YSWuCWe+d7sGsN6vbRo2xVgTGRHTjGNjVEL/ZHFV826v2U4SAw6XA7vbPv6X4njUY/Igd7+N7FPU5hHZ38aN3nNeYTNXhUmD1PUIn1K1iETqNOkox2ujti2X2raONwaMWTb5WL+9jhbyTmBY/w1CGQaNRX1dX/62q5vQ4ccV+xRt8OXJhc9qCprFweVzXnNYi6JjHBYfHobak5TpykefIC+kty2hdtHqbMjAwsxgsiNZHB02YevVtS3/LGjvnE1FF8Bejhhj2z30482tBdReDrkGnkQKCL13A9BH+wEwbNL1ElNE3uWrAcx5NhuJJVsOZIhR18tUCd0HxRKy+ecAC5wILnMZCQAAC6kzv/v8URYHV6R19ecV+pUqmsvD3HYvSRyFCE1FytKTWAKPGiGh9tNq37OrgjUEZEVUH/urUEFrZO0cUlZ8kAQat91E6/rX/Ydb+R+wEToDqf4xP8br4uD5wqgnffn/wZjbqbnrC1JpGEYp3TjCPM+j2ov9W4hXHFeQ5iluych25KHIXeScjvWoiU/+6yO2dXb/IXVTp5ddIGlgMFsQaYhGtj/bejgyYxkIra4tfB05tEZjO99o/6WqsIVadjNWoNVb6NRARVQYGdjXE5qm9q7sIVAN5FE/xY4h8838VuYvUKSj8fb3sbjvsHnuJxxQFTmdhc9nUdP7Z4SuTRtLApDOpk7NG6aOCJmMNnIhVr9FDkiRIkCBLsjogQ5ZkyJKMaH20N/gyxqoz33P2eiKikhjYEVUCl8el3opUgzJXIQrcwY8mClz8+/yBmH8+scomS7L3NqPGGPT4IIvBglhjcSuWfzJW9UHYkiboYdgR2gh1dn1/5/5wauUkIqoNGNgRBRBCqC1hJR5rFLBtdVrVVrF8V35QsGZz2uBUnCEtl1bSBs355Z8l39/fK0ITEdTvK3BmfP+krf65w/wTuxo0Bug1evYDIyIKI/xFryF+tv4Mpye0wUC48/cT89+aDJwDzO7xvna4Hepru9u7FHmK1O3SbmeGkkFjUAMqNbjSmRCtj4ZZb1afD+lf/K8DJ3KN1EVCJ+vY+kVERGViYFdDPLn9SZzNO1vdxaAAEdqIoEcbRemjYNaZ1b5i0bpodX9QOl9LmUln4mz6RERUpRjY1RAWvQV1jHWquxi1jlFjVOf/MmqNQevA/YG3Lv3rCK3v9uXVs+v70vAWJRER1Tb8P1cN8f6971d3EYiIiKiW43wBRERERGGCgR0RERFRmGBgR0RERBQmGNgRERERhQkGdkRERERhgoEdERERUZhgYEdEREQUJhjYEREREYUJTlBMVAahCCiKgOLxroXH/1op3hd43LctFAEhBBTFm4c/HyFQnIeiBOQXnIcQUPPwngsIIQDhXQsBQACAgFC8m/60wiOgCEB4FO/al3/xRXm3RdB1wntNioDi9l6bx+29To9H+M6RIPn+OShJEvyPr5VkqbjMIrj8SuC1+OvhqteSLEHWytBoJWi0csAiQdbIkGTve0kSAMm/LQESIMsSNDoZWp0MjU7jW3tfa3Ua6AwydAYNdEatb62BzqCB3vdaH6GFLPM5vEQUHhjY1RCb3z6G/MuhfQB9uPMGNoHBRGDAc1VgJAKCosAAxBcclThPFAdbQdEPhSW9UQODSQe9SQtDhBYGk3/RwRiphTFSB0OkDkb/EqWDweQNDCWJQSER1RwM7GqIyxdsuJJVWN3FoAqQZQmyRoKkkYq3Ze+2JAdvyzJ8rU7F+2WNb5ED8vBte9MBslScV3Grla+lTAIkSIAMSEBxS1Zp7+vfd3UQ4m9x861ljQxZ4201kzUSNBoZstZ3bZLkDYIRHBD71/5r85chaNt/PQF1EFhWIQQ8bgUet3+tQAnYvlbwLQS8LYsubzq30+NbK3C7FXicClxOD1x2N5x2D1wOD1y+tdPhhuL2Ru1OuwdOuwfIqdhnQJIl6P0tgBG+FkCjrzXQqIFOr4FWr4HWoIFWL0On96bV+tYlWhCN3hZHBotEdKMY2NUQvUe0gsvhqe5i1DrFgUNxwOMPIry3DYP3+W/fBd7KCzwPgHquGnhpigMljUb2BV7g/3zDgMelwFHkhrPIDXuhC85CNxxFbjgK3XAUuuAo8O53FLhhL3AFLYrbexvZm9YNXHGEpEySBDX40+pl31oDnd57q1mnl6E1FAeG3sBSqwaIOkNAQKmXvYtOo65lbSkBPhGFDQZ2NUTDVrHVXQSiW45GJ8Ok08Nk1lfoPCGE2vrn9LcGXrV22t1w+1oM3U4FbofHt+1tMXQ7FTjtbrUF0f8POyECWhArgT9w9Pc51Bv9rYZa37a2OEC8evG1Qqp9GPXBfRplDcfjEVU3BnZERBUkSRL0Ri30Ri0iYQhJnkIR3tvGvoDR7fIEB4a+oNDtVLxpnMW3lV12t/f2st0fNPrOcRWf6xsvU6mBo6yRigM+fXHgpw1sQVQDQV9QqC8e6KLRFQ+YUQfP+AfSaIoH2JToMnDVmi2SdCtjYEdEVAN4++t5g0VYQpu3EN6BQG6Xr+XQt/hbDJ2O4pZDp90Dt8MDp8MDlyO4RVENGl0KPC5vX0aPW1HfR/EIOD2V19pYXmqQp/V2n9BofcFk4G1pf9Cpk6HRa6AJPCcgUFS3dXLQiG05YAS3v/9kYEDLkdZUXRjYERGFOUmS1KlkDBGh/dkXilAHqqgthK7AVsbiVkePyxsUqmlcAee5ggfMeKfbUYIG1ahTDLkFPB5FXV89ct07dZAHCE23xxsSGEj6g0Ktr0XS+1oTsB08xY8/ENVo5WvfEvcPwvEFk7wNTn4M7IiI6IZJsuQd7avXANBVSxn8AZ8/CFQ8wcGgxyWCAkmX0+NtcVQDUQWK2ztfo+IPJgO33YHbwaO3vfl4W0LdruLWS4+vVdMBd5XUgayRgloMdYEDb9RBNb6BN3pvcBh0zNffMnCfPz+NliO1a5NbKrB7/fXXsWDBAmRlZaFDhw547bXXcMcdd1R3sYiI6CZ4+9wBWr2mWsvhb70MHCDjnYJHqEFgYDDoCQgWFX/AGLjfpRT3u3QETNfj618Z2HdS8Qg4i9xwFlXChUkoDhZ9t7L9A3CCBt8EtCYGBofB28F9LjVsaQy5WyawW7t2LaZNm4Y333wT3bt3x5IlS5Ceno5Tp04hLi6uuotHRES1XGDrZURU5b+fEN7b0kEDbFweuBwlR2H7+0e6HMXBYmB/y6sXt9NT/LQaAW+LpMMDwBXSa5BkqUSfx6DR1nqN2o9RHWSjl9Xpf4IG6wQOwvH3nwzoXxnYZzKcWyAlIcQtMa9+9+7d0a1bN/zjH/8AACiKgqSkJDz55JN45plnrnuu1WqFxWJBXl4ezGZzyMumKAqcv+bgFvlTVKnrf3er64tdM//O/PgRkZ8kAR7f5N9ulwK3S8DlUqD4+kS6nIp3gI1Tgcc/Stsh4HR64PH3rfQHmf4WSt8+t6v6n+ij0frmJvX3aQwYde0dSOMfTCOrA2sk/6TtvuOBa1mW0bxHY8TERVZKeSsSh9wSLXZOpxOHDh3CrFmz1H2yLCMtLQ379u0rkd7hcMDhKO51a7VaK7V8rrxc/PTyNzDr61bq+xAREd0MCd6elDoApnKfJXsXPbxLTeX2LQC8kafHt5RPboQWMf1bhb5cFXRL3Nz+7bff4PF4EB8fH7Q/Pj4eWVlZJdLPmzcPFotFXZKSkqqqqERERFQLGUw1o62sZpSihpk1axamTZumvrZarZUa3OksMWg6q2el5X/LCGXTfnnyCscuGjd6TZVZX+Imzq3OvMNVONbXrdgNobZec7WVu+w31tWpUwXlKNstEdjVq1cPGo0G2dnZQfuzs7ORkJBQIr3BYIDBEJrZ5MtDlmUY69ersvcjIiKi8HRL3IrV6/Xo0qULtm3bpu5TFAXbtm1DampqNZaMiIiIKHRuiRY7AJg2bRrGjBmDrl274o477sCSJUtQUFCARx55pLqLRkRERBQSt0xgN2zYMPz666949tlnkZWVhY4dO2LTpk0lBlQQERER1Va3zDx2N6Oy57EjIiIiupaKxCG3RB87IiIiolsBAzsiIiKiMMHAjoiIiChMMLAjIiIiChMM7IiIiIjCBAM7IiIiojDBwI6IiIgoTDCwIyIiIgoTDOyIiIiIwgQDOyIiIqIwccs8K/Zm+J+6ZrVaq7kkREREdKvxxx/leQosA7tyyM/PBwAkJSVVc0mIiIjoVpWfnw+LxXLdNJIoT/h3i1MUBb/88guio6MhSVJ1F6dKWa1WJCUl4fz582U+eJi8WGcVw/qqGNZXxbHOKob1VTFVUV9CCOTn5yMxMRGyfP1edGyxKwdZltGwYcPqLka1MpvN/IJXEOusYlhfFcP6qjjWWcWwviqmsuurrJY6Pw6eICIiIgoTDOyIiIiIwgQDO7oug8GAOXPmwGAwVHdRag3WWcWwviqG9VVxrLOKYX1VTE2rLw6eICIiIgoTbLEjIiIiChMM7IiIiIjCBAM7IiIiojDBwO4WMG/ePHTr1g3R0dGIi4vDkCFDcOrUqaA0drsdkyZNQt26dREVFYWhQ4ciOzs7KM1TTz2FLl26wGAwoGPHjqW+15EjR9CrVy8YjUYkJSVh/vz5lXVZlSYU9fX9999jxIgRSEpKQkREBFJSUrB06dIS77Vz50507twZBoMBzZs3x8qVKyv78kIuFPV1+fJl9O/fH4mJiTAYDEhKSsLkyZNLPMYvHOoLCN130u/y5cto2LAhJElCbm5u0LFwqLNQ1ZckSSWWNWvWBKVhfQVbuXIl2rdvD6PRiLi4OEyaNCnoeDj85gOhqbOVK1eW+hmTJAmXLl1S01X6Z0xQ2EtPTxcrVqwQx44dExkZGeLee+8VjRo1EjabTU3z+OOPi6SkJLFt2zbx3Xffid/97nfizjvvDMrnySefFP/4xz/EqFGjRIcOHUq8T15enoiPjxcjR44Ux44dEx988IGIiIgQ//znPyv7EkMqFPX1zjvviKeeekrs3LlTnDlzRrz//vsiIiJCvPbaa2qan376SZhMJjFt2jRx4sQJ8dprrwmNRiM2bdpUpdd7s0JRXzk5OWLZsmXi4MGD4ty5c2Lr1q2iVatWYsSIEWqacKkvIUL3nfQbPHiwGDBggAAgrly5ou4PlzoLVX0BECtWrBAXL15Ul6KiIvU46yu4vhYtWiQSExPF6tWrxenTp8X3338vPv30U/V4uPzmCxGaOissLAz6bF28eFGkp6eLPn36qGmq4jPGwO4WdOnSJQFA7Nq1SwghRG5urtDpdOKjjz5S05w8eVIAEPv27Stx/pw5c0oN7JYtWyZiY2OFw+FQ982cOVO0atUq9BdRhW62vvyeeOIJ0bdvX/X1008/Ldq0aROUZtiwYSI9PT3EV1C1QlVfS5cuFQ0bNlRfh2t9CXFzdbZs2TLRp08fsW3bthKBXbjW2Y3WFwCxbt26a+bL+iqur5ycHBERESG2bt16zXzD9TdfiND8jl26dEnodDrx3nvvqfuq4jPGW7G3oLy8PABAnTp1AACHDh2Cy+VCWlqamub2229Ho0aNsG/fvnLnu2/fPvTu3Rt6vV7dl56ejlOnTuHKlSshKn3VC1V95eXlqXkA3voKzAPw1ldF6rwmCkV9/fLLL/jkk0/Qp08fdV+41hdw43V24sQJzJ07F++9916pz48M1zq7mc/YpEmTUK9ePdxxxx149913IQJm/GJ9FdfXli1boCgK/u///g8pKSlo2LAhHnzwQZw/f149J1x/84HQ/I699957MJlMeOCBB9R9VfEZY2B3i1EUBVOmTEGPHj3Qtm1bAEBWVhb0ej1iYmKC0sbHxyMrK6vceWdlZSE+Pr5EHv5jtVGo6mvv3r1Yu3YtHnvsMXXfterLarWiqKgotBdSRW62vkaMGAGTyYTbbrsNZrMZb7/9tnosHOsLuPE6czgcGDFiBBYsWIBGjRqVmnc41tnNfMbmzp2LDz/8EFu2bMHQoUPxxBNP4LXXXlOPs76K6+unn36Coih48cUXsWTJEvz73/9GTk4O7rnnHjidTjWfcPvNB0L3u//OO+/goYceQkREhLqvKj5j2pDkQrXGpEmTcOzYMXzzzTfVXZRaIRT1dezYMQwePBhz5sxBv379Qli6mudm6+uVV17BnDlz8N///hezZs3CtGnTsGzZshCXsma50TqbNWsWUlJS8PDDD1dSyWqmm/mMzZ49W93u1KkTCgoKsGDBAjz11FOhLGKNcqP1pSgKXC4XXn31VfV364MPPkBCQgJ27NiB9PT0yihujRCK3/19+/bh5MmTeP/990NYsvJhi90tZPLkydiwYQN27NiBhg0bqvsTEhLgdDpLjKbLzs5GQkJCufNPSEgoMarK/7oi+dQUoaivEydO4O6778Zjjz2Gv/3tb0HHrlVfZrM56F94tUUo6ishIQG33347fv/73+Of//wn3njjDVy8eFE9Fk71BdxcnW3fvh0fffQRtFottFot7r77bgBAvXr1MGfOHDWfcKqzUP+Gde/eHRcuXIDD4VDzYX1566tBgwYAgNatW6vH69evj3r16iEzM1PNJ5x+84HQfcbefvttdOzYEV26dAnaXxWfMQZ2twAhBCZPnox169Zh+/btaNKkSdDxLl26QKfTYdu2beq+U6dOITMzE6mpqeV+n9TUVOzevRsul0vdt2XLFrRq1QqxsbE3fyFVJFT1dfz4cfTt2xdjxozB3//+9xLvk5qaGpQH4K2vitR5TVBZny9FUQBA/Z9uuNQXEJo6+/jjj/H9998jIyMDGRkZ6m3rr7/+Wp2SIlzqrLI+YxkZGYiNjVWf8cn6Kq6vHj16qPv9cnJy8NtvvyE5ORlA+PzmA6H9jNlsNnz44YcYP358ifepks9YyIZhUI01ceJEYbFYxM6dO4OGYRcWFqppHn/8cdGoUSOxfft28d1334nU1FSRmpoalM+PP/4oDh8+LP70pz+Jli1bisOHD4vDhw+rI6Jyc3NFfHy8GDVqlDh27JhYs2aNMJlMtW7oeyjq6+jRo6J+/fri4YcfDsrj0qVLahr/sPcZM2aIkydPitdff71WTq0QivrauHGjePfdd8XRo0fF2bNnxYYNG0RKSoro0aOHmiZc6kuI0H0nA+3YseOa053U9joLRX199tln4q233hJHjx4VP/74o1i2bJkwmUzi2WefVdOwvoI/X4MHDxZt2rQRe/bsEUePHhX33XefaN26tXA6nUKI8PnNFyK038m3335bGI3GoO+iX1V8xhjY3QIAlLqsWLFCTVNUVCSeeOIJERsbK0wmk/jDH/4gLl68GJRPnz59Ss3n7Nmzaprvv/9e9OzZUxgMBnHbbbeJl156qYquMnRCUV9z5swpNY/k5OSg99qxY4fo2LGj0Ov1omnTpkHvUVuEor62b98uUlNThcViEUajUbRo0ULMnDmzxA9jONSXEKH7TgYqLbDz76/tdRaK+vryyy9Fx44dRVRUlIiMjBQdOnQQb775pvB4PEHvxfoqlpeXJ8aNGydiYmJEnTp1xB/+8AeRmZkZlCYcfvOFCO13MjU1VTz00EPXfK/K/oxJvgsiIiIiolqOfeyIiIiIwgQDOyIiIqIwwcCOiIiIKEwwsCMiIiIKEwzsiIiIiMIEAzsiIiKiMMHAjoiIiChMMLAjIiIiChMM7IiIiIjCBAM7IqJyEkIgLS0N6enpJY4tW7YMMTExuHDhQjWUjIjIi4EdEVE5SZKEFStW4MCBA/jnP/+p7j979iyefvppvPbaa2jYsGFI39PlcoU0PyIKbwzsiIgqICkpCUuXLsX06dNx9uxZCCEwfvx49OvXD506dcKAAQMQFRWF+Ph4jBo1Cr/99pt67qZNm9CzZ0/ExMSgbt26uO+++3DmzBn1+Llz5yBJEtauXYs+ffrAaDRi9erV1XGZRFRLSUIIUd2FICKqbYYMGYK8vDzcf//9eOGFF3D8+HG0adMGEyZMwOjRo1FUVISZM2fC7XZj+/btAICPP/4YkiShffv2sNlsePbZZ3Hu3DlkZGRAlmWcO3cOTZo0QePGjbFo0SJ06tQJRqMRDRo0qOarJaLagoEdEdENuHTpEtq0aYOcnBx8/PHHOHbsGL7++mts3rxZTXPhwgUkJSXh1KlTaNmyZYk8fvvtN9SvXx9Hjx5F27Zt1cBuyZIl+POf/1yVl0NEYYK3YomIbkBcXBz+9Kc/ISUlBUOGDMH333+PHTt2ICoqSl1uv/12AFBvt/74448YMWIEmjZtCrPZjMaNGwMAMjMzg/Lu2rVrlV4LEYUPbXUXgIiottJqtdBqvT+jNpsNgwYNwssvv1winf9W6qBBg5CcnIy33noLiYmJUBQFbdu2hdPpDEofGRlZ+YUnorDEwI6IKAQ6d+6Mjz/+GI0bN1aDvUCXL1/GqVOn8NZbb6FXr14AgG+++aaqi0lEYY63YomIQmDSpEnIycnBiBEjcPDgQZw5cwabN2/GI488Ao/Hg9jYWNStWxfLly/H6dOnsX37dkybNq26i01EYYaBHRFRCCQmJmLPnj3weDzo168f2rVrhylTpiAmJgayLEOWZaxZswaHDh1C27ZtMXXqVCxYsKC6i01EYYajYomIiIjCBFvsiIiIiMIEAzsiIiKiMMHAjoiIiChMMLAjIiIiChMM7IiIiIjCBAM7IiIiojDBwI6IiIgoTDCwIyIiIgoTDOyIiIiIwgQDOyIiIqIwwcCOiIiIKEwwsCMiIiIKE/8f2QPJUqP/ewoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Choose one of your wanted variable with the completion\n", + "\n", "model, scenario = \"WILIAM\", \"Baseline no policies no CO2tax\"\n", - "variable = 'Final Energy|Heat'\n", - "title = 'Final Energy|Heat'\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).filter(region=\"World\", keep=False)\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": "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": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model, scenario = \"WILIAM\", \"Baseline no policies no CO2tax\"\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", + "\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", + "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 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=\"region\", title= title)\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()" ] }