{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ " # [EEP 147]: ESG Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\"alternateBig Creek Hydroelectric Project - Southern California Edison
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook expands upon the concepts used in the tutorial notebook and can be utilized for analysis of rounds in the Electricity Strategy Game. Any of the following code can be changed to create new or different visualizations, but as is, running through the cells will allow you to visualize and calculate the profit that your plants have generated in a given hour.\n", "\n", "**Note:** This notebook does not currently take into account any loans, interest payments, or carbon credits, and is simply an evaluation of the individual hour you are examining." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First on our agenda is to import **dependencies** -- packages in Python that add to the basic functions in Python -- same as before." ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [], "source": [ "from datascience import *\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "import numpy as np\n", "import pandas as pd\n", "plt.style.use('fivethirtyeight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, let's select your portfolio. In the cell below, assign **section** to the section number that corresponds to your own according to the following table.\n", "\n", "| Number | Section Time |\n", "|---------|---------------|\n", "| 1 | Wednesday 8am |\n", "| 2 | Friday 2pm |\n", "| 3 | Wednesday 9am |\n", "| 4 | Friday 4pm |\n", "\n", "Assign **YOUR_PORTFOLIO** to the name of your portfolio from the following choices:\n", "\n", "**'Bay Views',\n", " 'Beachfront',\n", " 'Big Coal',\n", " 'Big Gas',\n", " 'East Bay',\n", " 'Fossil Light',\n", " 'Old Timers'**\n", " \n", "The variable, **demand**, should be set to the quantity demanded by the market for the given hour, and finally set **hour** to the hour (1-4) that you want to be examining. You can change these at any time, just be sure to rerun all cells after you make changes here." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [], "source": [ "section = 1\n", "YOUR_PORTFOLIO = \"Big Gas\"\n", "period = 2\n", "hour = 3\n", "permit_price = 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we import the demand realizations (for past rounds) and forecasts (for future rounds) and assign the current demand." ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "19500.0\n" ] } ], "source": [ "demand_table = Table.read_table('demand.csv')\n", "demand = demand_table.where(\"round\", period).where(\"hour\", hour)[\"load\"].item()\n", "print(demand)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we import our tables, one for each discussion section, and one with individualized information about our plants." ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [], "source": [ "bids_0 = Table.read_table('MC_bids.csv').sort('PORTFOLIO')\n", "bids_1 = Table.read_table('S1_bids_' + str(period) + '.csv').sort('PORTFOLIO')\n", "bids_2 = Table.read_table('S2_bids_' + str(period) + '.csv').sort('PORTFOLIO')\n", "bids_3 = Table.read_table('S3_bids_' + str(period) + '.csv').sort('PORTFOLIO')\n", "bids_4 = Table.read_table('S4_bids_' + str(period) + '.csv').sort('PORTFOLIO')\n", "ESG = Table.read_table('ESGPorfolios_forcsv.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The table below should now display the names and bids that your team and others in your discussion section assigned for each individual plant." ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TEAM TEAM_ID PORTFOLIO PORTFOLIO_ID PLANT PLANT_ID PERIOD PRICE1 PRICE2 PRICE3 PRICE4
Debreu 4 Bay_Views 3 MORRO_BAY_1-2 31 2 40 38.78 38.78 38.78
Debreu 4 Bay_Views 3 MORRO_BAY_3-4 32 2 40 36.61 36.61 36.61
Debreu 4 Bay_Views 3 MOSS_LANDING_6 33 2 40 32.56 32.56 32.56
Debreu 4 Bay_Views 3 MOSS_LANDING_7 34 2 40 32.56 32.56 32.56
Debreu 4 Bay_Views 3 OAKLAND 35 2 61.17 61.17 61.17 61.17
Arrow 1 Beachfront 4 COOLWATER 41 2 42.39 42.39 42.39 42.39
Arrow 1 Beachfront 4 ETIWANDA_1-4 42 2 42.67 42.67 42.67 42.67
Arrow 1 Beachfront 4 ETIWANDA_5 43 2 62.89 62.89 62.89 62.89
Arrow 1 Beachfront 4 ELLWOOD 44 2 75.61 75.61 75.61 75.61
Arrow 1 Beachfront 4 MANDALAY_1-2 45 2 39.06 39.06 39.06 39.06
Arrow 1 Beachfront 4 MANDALAY_3 46 2 52.06 52.06 52.06 52.06
Arrow 1 Beachfront 4 ORMOND_BEACH_1 47 2 38.06 38.06 38.06 38.06
Arrow 1 Beachfront 4 ORMOND_BEACH_2 48 2 38.06 38.06 38.06 38.06
Becker 2 Big_Coal 1 Four Corners 11 2 40.93 42.38 58.27 40
Becker 2 Big_Coal 1 ALAMITOS_7 12 2 73.73 73.73 73.73 73.73
Becker 2 Big_Coal 1 HUNTINGTON_BEACH_1-2 13 2 40.93 42.39 58.28 42.38
Becker 2 Big_Coal 1 HUNTINGTON_BEACH_5 14 2 66.51 66.51 66.51 66.51
Becker 2 Big_Coal 1 REDONDO_5-6 15 2 41.95 42.38 59.71 42.38
Becker 2 Big_Coal 1 REDONDO_7-8 16 2 41.95 42.38 58.28 42.38
Coase 3 Big_Gas 2 EL_SEGUNDO_1-2 21 2 44.83 47.33 399.99 47.33
Coase 3 Big_Gas 2 EL_SEGUNDO_3-4 22 2 41.22 47.33 250 47.33
Coase 3 Big_Gas 2 LONG_BEACH 23 2 52.5 52.93 449.99 52.93
Coase 3 Big_Gas 2 NORTH_ISLAND 24 2 65.5 65.5 499.99 65.5
Coase 3 Big_Gas 2 ENCINA 25 2 41.67 47.33 300 47.33
Coase 3 Big_Gas 2 KEARNY 26 2 500 500 499.99 500
Coase 3 Big_Gas 2 SOUTH_BAY 27 2 43.83 47.33 349.99 47.33
Friedman 5 East_Bay 5 PITTSBURGH_1-4 51 2 41 45 57 43
Friedman 5 East_Bay 5 PITTSBURGH_5-6 52 2 40.93 45 57 43
Friedman 5 East_Bay 5 PITTSBURG_7 53 2 60 60 60 60
Friedman 5 East_Bay 5 CONTRA_COSTA_4-5 54 2 58.29 58.29 58.28 58.29
Friedman 5 East_Bay 5 CONTRA_COSTA_6-7 55 2 40.93 44.5 56 42
Friedman 5 East_Bay 5 POTRERO_HILL 56 2 69.9 69.9 69.9 69.9
Krugman 7 Low_Fossil 7 HUMBOLDT 71 2 47.44 47.44 47.44 47.44
Krugman 7 Low_Fossil 7 HELMS 72 2 0.5 0.5 0.5 0.5
Krugman 7 Low_Fossil 7 HUNTERS_POINT_1-2 73 2 49.17 49.17 49.17 49.17
Krugman 7 Low_Fossil 7 HUNTERS_POINT_4 74 2 75.89 75.89 75.89 75.89
Krugman 7 Low_Fossil 7 DIABLO_CANYON_1 75 2 11.5 11.5 11.5 11.5
Heckman 6 Old_Timers 6 BIG_CREEK 61 2 0 0 0 0
Heckman 6 Old_Timers 6 MOHAVE_1 62 2 34.5 34.5 34.5 34.5
Heckman 6 Old_Timers 6 MOHAVE_2 63 2 34.5 34.5 34.5 34.5
Heckman 6 Old_Timers 6 HIGHGROVE 64 2 52.06 52.06 80 52.06
Heckman 6 Old_Timers 6 SAN_BERNARDINO 65 2 58.28 58.28 100 58.28
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bids = globals()['bids_' + str(section)]\n", "if section > 0:\n", " bids = bids.where(\"PERIOD\", period)\n", "bids.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recall the table ESG, which we used in the introductory notebook. Let's add in the permit cost per MWH using the permit price. This is just the tons per MWH times the permit price. We can add this to variable cost to get a new total variable cost. The first few rows are shown below." ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Group Group_num UNIT NAME Capacity_MW Heat_Rate_MMBTUperMWh Fuel_Price_USDperMMBTU Fuel_Cost_USDperMWH Var_OandM_USDperMWH Total_Var_Cost_USDperMWH Carbon_tonsperMWH FixedCst_OandM_perDay Plant_ID Permit_Cost_USDperMWH Var_Cost_USDperMWH
Big Coal 1 FOUR CORNERS 1900 11.67 3 35 1.5 36.5 1.1 $8,000 11 110 146.5
Big Coal 1 ALAMITOS 7 250 16.05 4.5 72.22 1.5 73.72 0.85 $0 12 85 158.72
Big Coal 1 HUNTINGTON BEACH 1&2 300 8.67 4.5 39 1.5 40.5 0.46 $2,000 13 46 86.5
Big Coal 1 HUNTINGTON BEACH 5 150 14.44 4.5 65 1.5 66.5 0.77 $2,000 14 77 143.5
Big Coal 1 REDONDO 5&6 350 8.99 4.5 40.44 1.5 41.94 0.48 $3,000 15 48 89.94
\n", "

... (37 rows omitted)

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ESG[\"Permit_Cost_USDperMWH\"] = permit_price * ESG.column(\"Carbon_tonsperMWH\")\n", "ESG[\"Var_Cost_USDperMWH\"] = ESG.column(\"Total_Var_Cost_USDperMWH\") + ESG.column(\"Permit_Cost_USDperMWH\")\n", "ESG.show(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will need both of these tables to generate an analysis of how our round went, so in the following cell we will join the tables based on the column **Plant_ID**:" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PLANT_ID TEAM TEAM_ID PORTFOLIO PORTFOLIO_ID PLANT PERIOD PRICE1 PRICE2 PRICE3 PRICE4 Group Group_num UNIT NAME Capacity_MW Heat_Rate_MMBTUperMWh Fuel_Price_USDperMMBTU Fuel_Cost_USDperMWH Var_OandM_USDperMWH Total_Var_Cost_USDperMWH Carbon_tonsperMWH FixedCst_OandM_perDay Permit_Cost_USDperMWH Var_Cost_USDperMWH
61 Heckman 6 Old_Timers 6 BIG_CREEK 2 0 0 0 0 Old Timers 7 BIG CREEK 1000 nan 0 0 0 0 0 $15,000 0 0
72 Krugman 7 Low_Fossil 7 HELMS 2 0.5 0.5 0.5 0.5 Fossil Light 8 HELMS 800 nan 0 0 0.5 0.5 0 $15,000 0 0.5
75 Krugman 7 Low_Fossil 7 DIABLO_CANYON_1 2 11.5 11.5 11.5 11.5 Fossil Light 8 DIABLO CANYON 1 1000 1 7.5 7.5 4 11.5 0 $20,000 0 11.5
33 Debreu 4 Bay_Views 3 MOSS_LANDING_6 2 40 32.56 32.56 32.56 Bay Views 4 MOSS LANDING 6 750 6.9 4.5 31.06 1.5 32.56 0.37 $8,000 37 69.56
34 Debreu 4 Bay_Views 3 MOSS_LANDING_7 2 40 32.56 32.56 32.56 Bay Views 4 MOSS LANDING 7 750 6.9 4.5 31.06 1.5 32.56 0.37 $8,000 37 69.56
\n", "

... (37 rows omitted)

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sorted_joined_table = bids.join(\"PLANT_ID\", ESG, \"Plant_ID\").sort(\"PRICE\" + str(hour), descending = False)\n", "sorted_joined_table.show(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Great! Now we have a table that has our bids for this round as well as information about the capacity of our plants as well as their marginal cost of production. Now we can continue and make plots similar to those in the introductory notebook, that will allow us to examine how we performed in this given hour. Run the following series of cells to generate a legend as well as a plot of plant capacity versus plant bid price, with bids ordered from least to greatest." ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "def find_x_pos(widths):\n", " cumulative_widths = [0]\n", " cumulative_widths.extend(np.cumsum(widths))\n", " half_widths = [i/2 for i in widths]\n", " x_pos = []\n", " for i in range(0, len(half_widths)):\n", " x_pos.append(half_widths[i] + cumulative_widths[i])\n", " return x_pos\n" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [], "source": [ "width = sorted_joined_table.column(\"Capacity_MW\")\n", "width\n", "height = sorted_joined_table.column('PRICE' + str(hour))\n", "height\n", "new_x = find_x_pos(width)" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [], "source": [ "energy_colors_dict = {}\n", "count = 0\n", "colors = ['#EC5F67', '#F29056', '#F9C863', '#99C794', '#5FB3B3', '#6699CC', '#C594C5']\n", "for i in set(sorted_joined_table['Group']):\n", " energy_colors_dict[i] = colors[count]\n", " count += 1" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [], "source": [ "colors_mapped = list(pd.Series(sorted_joined_table['Group']).map(energy_colors_dict))\n", "sorted_joined_table = sorted_joined_table.with_column('Color', colors_mapped)" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5,1))\n", "plt.bar(energy_colors_dict.keys(), 1, color = energy_colors_dict.values())\n", "plt.xticks(rotation=60)\n", "plt.title('Legend')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGpCAYAAAAA1HueAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xt8z/X///H725xmw1uzTWKEsaY528SHijlFDjmnjyKpffARMQ2VVGaI+aCVHAufMHJI8ckhx7FOWgkNOcY2Y2xrI/P+/eHr/ettp/dm25uX2/Vy2eXS+/V6vp6vx3vPvXW/PF+v1/NtSkpKsggAAAD3vGKOLgAAAAAFg2AHAABgEAQ7AAAAgyDYAQAAGATBDgAAwCAIdgAAAAZBsANgY9myZTKbzVq2bJnNdj8/P/n5+TmoKgCAPQh2wH0iIiJCZrNZZrNZ3333XaGfz8/Pz3q+7H5uD4+Q4uLiNH78eDVr1kyVK1eWp6en6tatqw4dOujNN9/Ur7/+6ugSAdzFiju6AABFY8mSJTKZTLJYLFq8eLGaNGlSJOd95ZVXVL58+Sz3MQNo69ChQ+rcubMSExPl6+urvn37qkKFCkpMTNQPP/yg2bNnq0KFCvL19XV0qQDuUgQ74D6wd+9eHT58WL169VJUVJQ+//xzTZ48WeXKlSv0cwcFBalatWqFfh4jGDdunBITE/X666/r9ddfz7T/zJkzunTpkgMqA3Cv4FIscB9YvHixJOm5555Tv379lJqaqlWrVjm2qNvs2rVLZrNZQUFBOnnypAYNGqQaNWrI09NTTzzxhDZt2pTtsevWrVPXrl1VvXp1eXh4qFGjRpo4caKuXLmSqe2tS8RXr15VaGioGjVqJHd3d5sgdf78ef3rX/9SrVq1VKlSJf3jH//Q8uXLrTWGhoZa27Zt21YVKlTQiRMnsqxt4cKFMpvNevfdd3P9Hezfv1/SzVnOrFSpUiXLWc74+HgFBwerfv368vDw0MMPP6w+ffpoz549mdpmdw/lLVndS3nrmNDQUH377bfq2bOnqlWrJrPZrKSkJGu72NhYDRs2TPXq1ZOHh4dq1qypdu3aac6cOZnOc/z4cQ0fPlyPPvqotW3//v114MCBTG2Tk5M1bdo0NW/eXF5eXnrooYdUr149Pffcc9q1a1eW7wO4XxHsAIO7dOmS1q9fr6pVq6pVq1bq37+/TCaTlixZ4ujSsnT69Gm1adNGp06dUp8+fdS9e3cdOnRIzz77rHbu3Jmp/Wuvvabnn39eR48eVefOnTVkyBB5eHgoPDxcHTp0UHJycpbnGTBggJYsWaLHHntMQUFB8vb2liQlJCSobdu2Wr58uby9vRUUFKR69epp9OjR+vDDDzP1M2jQIFksFn3yySdZnmfRokUqVqyYnn/++Vzfe4UKFSRJx44dy7XtLadOndKTTz6pefPmqUqVKho6dKg6dOignTt36umnny7Q+xijo6P11FNP6fr16xowYIB69+4tJycnSdLmzZvVqlUrLVu2TLVr19bQoUPVrVs3OTk5afr06Tb97NixQ61atdJ///tf1a9fX6+88opat26trVu3qn379tq6dau1rcViUc+ePfXee+/J2dlZ/fv31+DBg9WsWTMdOHBAO3bsKLD3BxgBl2IBg/vvf/+r9PR09evXTyaTSdWrV1fz5s21Z88e/fDDD2rUqFGhnj8iIiLbe+yCgoJkNptttu3evTvTpchevXqpR48emj17tlq1amXdvmLFCi1YsECdO3fWxx9/LGdnZ+u+adOm6b333tOUKVP03nvvZTr36dOntWfPHrm5udlsf/vtt3X69GkNHTrU5rigoCC1adMmUz/du3fX+PHjtXTpUoWEhKhEiRLWfd99951+/vlntW/fXlWrVs3uV2TT15w5c9S3b18NGjRILVu21KOPPprpd/R3o0aN0tmzZzP9zoYNG6bAwECNGjVKTzzxhB566KFcz5+b7du3Kzw8XC+88ILN9sTERL300kv666+/tHbtWj3++OM2+8+cOWP978uXL2vgwIEqUaKEtmzZIh8fH+u+I0eOqE2bNho6dKh++uknlSpVSr/++qv279+vp556SsuXL7fp12KxcGkauA0zdoDB3Xpo4tlnn7Vu69+/v6T/f4m2MH344YcKCwvL8ufy5cuZ2letWlVjxoyx2damTRtVqVJF33//vc32Dz74QE5OTpo9e7ZNqJNuBh43NzetXLkyy7rGjx+fKdRdu3ZNq1evVtmyZRUcHGyzz8/PT3379s3UT+nSpfXcc88pPj5eGzdutNm3aNEiSdLAgQOzrOF2b7zxhp5//nldunRJYWFh6ty5s6pXr66GDRtq5MiRmZ6I/eOPP7RlyxY99NBDGjVqlM2+unXratCgQbp69apWrFhh1/lz4+fnlynUSdLy5ct15coVvfDCC5lCnXTzEvItn332mS5evKixY8fahDpJqlOnjgYMGKDz589nmom7fXwlyWQy6YEHHsjnuwGMiRk7wMD27t2rI0eOqEWLFqpevbp1e9euXRUcHKw1a9bovffeU9myZQuthp9++ilPD0/4+flZL+/9XZUqVRQdHW19/eeffyomJkYVKlTI8hKpJJUsWVLnzp3TxYsXMwWAxo0bZ2ofGxurtLQ0+fv7ZznL2KxZsywvuQ4aNEhz5szRokWL1K1bN0k3Z6Y+//xzValSRe3atcv5Tf+fUqVKadasWRo/fry2bNmi77//Xj/99JN+/PFHLVq0SJ9++qlmzJihAQMGSLr5u5WkgIAAlSxZMlN/TzzxhObOnWttd6ey+p1Jsi6fExgYmGsft+4jPHjwoM29irccPXpU0s3Zu3bt2snHx0d+fn5avXq1Tp06paeeekoBAQFq1KiRSpcund+3AhgWwQ4wsFszcn+frZMkFxcXdevWTUuXLlVkZKTdM0pFIbvLtk5OTrpx44b1dVJSkiwWiy5evKiwsLAc+0xJSckU7Dw9PTO1u/Wwhbu7e5b9eHh4ZLm9evXqatOmjbZs2aJjx46pZs2a+uyzz/Tnn39q5MiRKlYsbxdHPDw89Oyzz1rH7dKlS3rrrbf0ySefaMyYMerQoYM8PDys9WZX1633mNXMaH5kd55b/T/44IO59nHx4kVJ0qeffppju9TUVEk3x33Dhg2aNm2a1q9fr7fffluSVKZMGXXv3l2TJk3KNPMK3M+4FAsY1KVLl7Ru3TpJ0tChQzMtDrx06VJJRXM5tjDcWqrF19dXSUlJOf54eXllOt5kMmXadmvmMiEhIctzxsfHZ1vPiy++aF0jULr5ey1evLj++c9/5vWtZVKhQgWFh4erSpUqunr1qvbt2yfp//8OsqsrLi7Opp0ka8jMyMjI8picQmBWvzPp/4fxc+fO5fQ2bGr55ptvchyzv98vaDab9d577+nnn3/WgQMH9MEHH6hBgwZatmxZlpeGgfsZM3aAQS1fvlxXr16Vn5+fGjRokGWbrVu36qefftKBAweybXO3cnV1la+vr2JjY5WYmFggsza1a9eWs7OzDh06pMuXL2eaPbwVqLLSrl07eXl5afny5QoMDNShQ4fUpUsXVapU6Y7rkm4GMhcXF0k3HxqQpHr16km6eXnz2rVrmS7H3rpP7e9je+tBjL8/0HDLsWPHdOXKlWxnTbPTpEkTrVu3Tlu2bFGHDh1ybNu0aVOtX79eUVFR+fqbq169uqpXr67evXurQYMG2rVrV5ZjBdyvmLEDDOrWciZhYWGaPXt2lj9BQUGS7t1Zu6FDh+qvv/7Sv/71ryyfjkxOTs7T16eVLFlS3bt3t66b9nc///yzPvvss2yPLVasmAYOHKjExETr73XQoEF2n1uSpkyZopMnT2a5b926dfrtt99UvHhx+fv7S5IeeughtWnTRmfPntWsWbNs2h86dEgLFy5UqVKl1Lt3b+v2hg0bqlixYlq5cqVSUlKs21NTUzM9tGKvZ599VuXKldPixYuzXJLm7Nmz1v9+7rnnZDabNW3aNJt7Jm+xWCyKiorStWvXJEknTpzIco3AlJQUpaamqkSJEipenDkK4BY+DYAB7dmzR7/99ptq166t5s2bZ9uuX79+euedd7R69Wq9++67cnV1LfBaclrupGnTpnbdcJ+d/v3766efftK8efPUoEEDtWnTRl5eXrp8+bJOnTqlvXv36sknn8y0TEZOJk6cqJ07d2rOnDn6/vvv9dhjjykuLk6ff/652rZtq40bN2Z7z9w///lPTZkyRX/88Ydq1qyZ5ROiOfnggw80ZcoU1atXTw0bNlTFihV15coV/fTTT9YQNGnSJJt72WbMmKEOHTrovffe086dO9W0aVOdP39ea9euVXp6uvUS7i2VKlVS3759tXz5crVs2VLt2rVTenq6tm7dKi8vL7vuk7udm5ubPv74Yz3//PPq1q2b2rRpo0cffVQpKSk6dOiQfvnlF2s4q1Chgj755BM999xzateunVq1aiUfHx+VKFFCZ8+e1XfffaczZ87oxIkTKlmypH755Rf985//VIMGDVSnTh09+OCDSkpK0ubNm3Xp0iUNGzbMOpMJgGAHGNKtGbhbT09mp2LFinrqqae0du1arV692q5FdPMquydWpZvfsHAnwU6Spk6dqnbt2mnBggXavXu3Ll26pPLly6ty5coaPHiwevbsmaf+PDw89L///U+TJk3S119/rR9//FG1atXS9OnT5eLioo0bN2b7FHHFihXVoUMHrVu3Ti+88EK296RlZ8WKFdq6dav27NmjrVu3KiEhQSaTSQ8+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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make the plot\n", "plt.figure(figsize=(9,6))\n", "plt.bar(new_x, height, width=width, color=sorted_joined_table['Color'], edgecolor = \"black\")\n", "#plt.xticks(y_pos, bars)\n", "# Add title and axis names\n", "plt.title('All Energy Sources')\n", "plt.xlabel('Capacity_MW')\n", "plt.ylabel('Variable Cost')\n", "\n", "plt.show()\n", "\n", "plt.figure(figsize=(5,1))\n", "plt.bar(energy_colors_dict.keys(), 1, color = energy_colors_dict.values())\n", "plt.xticks(rotation=60)\n", "plt.title('Legend')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can examine the plot above to determine our market price using the capacity demanded that we entered at the top of this notebook." ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [], "source": [ "def price_calc(demand, sorted_table):\n", " price = 0\n", " sum_cap = 0\n", " for i in range(0,len(sorted_table['Capacity_MW'])):\n", " if sum_cap + sorted_table['Capacity_MW'][i] > demand:\n", " price = sorted_table['PRICE' + str(hour)][i]\n", " break\n", " else:\n", " sum_cap += sorted_table['Capacity_MW'][i]\n", " price = sorted_table['PRICE' + str(hour)][i]\n", " return price" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "def price_line_plot(price):\n", " plt.axhline(y=price, color='r', linewidth = 2)\n", " print(\"Price: \" + str(price))" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [], "source": [ "def demand_plot(demand):\n", " plt.axvline(x=demand, color='r', linewidth = 2)\n", " print(\"Capacity: \" + str(demand))" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hour: 3\n", "Price: 300.0\n", "Capacity: 19500.0\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGpCAYAAAAA1HueAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xt8z/X///H725xmw1uzTWKEsaY528SXijlFDjmnjyKpffARMQ2VFDPEfNBKjoVPGDmk+OSQ41gnrYSGHGObMba1kXn//vDx/nnbwXuz7c3L7Xq57FLv1+v5er4e7z33rvvl+Xq9nm9TUlKSRQAAALjvFXF0AQAAAMgfBDsAAACDINgBAAAYBMEOAADAIAh2AAAABkGwAwAAMAiCHQAbS5culdls1tKlS222+/n5yc/Pz0FVAQDsQbADHhAREREym80ym836/vvvC/x8fn5+1vNl93N7eIQUFxensWPHqkmTJqpYsaI8PT1Vu3ZttWvXTm+//bZ+++03R5cI4B5W1NEFACgcixcvlslkksVi0aJFi9SoUaNCOe9rr72msmXLZrmPGUBbBw8eVMeOHZWYmChfX1/17t1b5cqVU2Jion788UfNmjVL5cqVk6+vr6NLBXCPItgBD4A9e/bo0KFD6tGjh6KiovTFF19o0qRJKlOmTIGfOygoSFWqVCnw8xjBmDFjlJiYqDfffFNvvvlmpv2nT5/WxYsXHVAZgPsFl2KBB8CiRYskSS+88IL69Omj1NRUrVy50rFF3Wbnzp0ym80KCgrSiRMnNGDAAFWrVk2enp566qmntHHjxmyPXbt2rTp37qyqVavKw8NDDRo00Pjx43X58uVMbW9eIr5y5YpCQ0PVoEEDubu72wSpc+fO6Z///Kdq1KihChUq6P/+7/+0bNkya42hoaHWtq1bt1a5cuV0/PjxLGtbsGCBzGaz3n///Tv+Dvbt2yfpxixnVipVqpTlLGd8fLyCg4NVt25deXh46NFHH1WvXr20e/fuTG2zu4fypqzupbx5TGhoqL777jt1795dVapUkdlsVlJSkrVdbGyshgwZojp16sjDw0PVq1dXmzZtNHv27EznOXbsmIYOHarHH3/c2rZv377av39/prbJycmaOnWqmjZtKi8vLz3yyCOqU6eOXnjhBe3cuTPL9wE8qAh2gMFdvHhR69atU+XKldWiRQv17dtXJpNJixcvdnRpWTp16pRatWqlkydPqlevXuratasOHjyo559/Xjt27MjU/o033tCLL76oI0eOqGPHjho0aJA8PDwUHh6udu3aKTk5Ocvz9OvXT4sXL9YTTzyhoKAgeXt7S5ISEhLUunVrLVu2TN7e3goKClKdOnU0cuRIffTRR5n6GTBggCwWiz799NMsz7Nw4UIVKVJEL7744h3fe7ly5SRJR48evWPbm06ePKmnn35ac+fOVaVKlTR48GC1a9dOO3bs0LPPPpuv9zFGR0frmWee0bVr19SvXz/17NlTTk5OkqRNmzapRYsWWrp0qWrWrKnBgwerS5cucnJy0rRp02z62b59u1q0aKH//Oc/qlu3rl577TW1bNlSW7ZsUdu2bbVlyxZrW4vFou7du2vixIlydnZW3759NXDgQDVp0kT79+/X9u3b8+39AUbApVjA4P7zn/8oPT1dffr0kclkUtWqVdW0aVPt3r1bP/74oxo0aFCg54+IiMj2HrugoCCZzWabbbt27cp0KbJHjx7q1q2bZs2apRYtWli3L1++XPPnz1fHjh31ySefyNnZ2bpv6tSpmjhxoiZPnqyJEydmOvepU6e0e/duubm52Wx/9913derUKQ0ePNjmuKCgILVq1SpTP127dtXYsWO1ZMkShYSEqFixYtZ933//vX755Re1bdtWlStXzu5XZNPX7Nmz1bt3bw0YMEDNmzfX448/nul3dKsRI0bozJkzmX5nQ4YMUWBgoEaMGKGnnnpKjzzyyB3Pfyfbtm1TeHi4XnrpJZvtiYmJeuWVV/T3339rzZo1evLJJ232nz592vrvly5dUv/+/VWsWDFt3rxZPj4+1n2HDx9Wq1atNHjwYP38888qUaKEfvvtN+3bt0/PPPOMli1bZtOvxWLh0jRwG2bsAIO7+dDE888/b93Wt29fSf//Em1B+uijjxQWFpblz6VLlzK1r1y5skaNGmWzrVWrVqpUqZJ++OEHm+0ffvihnJycNGvWLJtQJ90IPG5ublqxYkWWdY0dOzZTqLt69apWrVql0qVLKzg42Gafn5+fevfunamfkiVL6oUXXlB8fLw2bNhgs2/hwoWSpP79+2dZw+3eeustvfjii7p48aLCwsLUsWNHVa1aVfXr19fw4cMzPRH7559/avPmzXrkkUc0YsQIm321a9fWgAEDdOXKFS1fvtyu89+Jn59fplAnScuWLdPly5f10ksvZQp10o1LyDd9/vnnunDhgkaPHm0T6iSpVq1a6tevn86dO5dpJu728ZUkk8mkhx56KI/vBjAmZuwAA9uzZ48OHz6sZs2aqWrVqtbtnTt3VnBwsFavXq2JEyeqdOnSBVbDzz//nKuHJ/z8/KyX925VqVIlRUdHW1//9ddfiomJUbly5bK8RCpJxYsX19mzZ3XhwoVMAaBhw4aZ2sfGxiotLU3+/v5ZzjI2adIky0uuAwYM0OzZs7Vw4UJ16dJF0o2ZqS+++EKVKlVSmzZtcn7T/1OiRAnNnDlTY8eO1ebNm/XDDz/o559/1k8//aSFCxfqs88+0/Tp09WvXz9JN363khQQEKDixYtn6u+pp57SnDlzrO3uVla/M0nW5XMCAwPv2MfN+wgPHDhgc6/iTUeOHJF0Y/auTZs28vHxkZ+fn1atWqWTJ0/qmWeeUUBAgBo0aKCSJUvm9a0AhkWwAwzs5ozcrbN1kuTi4qIuXbpoyZIlioyMtHtGqTBkd9nWyclJ169ft75OSkqSxWLRhQsXFBYWlmOfKSkpmYKdp6dnpnY3H7Zwd3fPsh8PD48st1etWlWtWrXS5s2bdfToUVWvXl2ff/65/vrrLw0fPlxFiuTu4oiHh4eef/5567hdvHhR77zzjj799FONGjVK7dq1k4eHh7Xe7Oq6+R6zmhnNi+zOc7P/hx9++I59XLhwQZL02Wef5dguNTVV0o1xX79+vaZOnap169bp3XfflSSVKlVKXbt21YQJEzLNvAIPMi7FAgZ18eJFrV27VpI0ePDgTIsDL1myRFLhXI4tCDeXavH19VVSUlKOP15eXpmON5lMmbbdnLlMSEjI8pzx8fHZ1vPyyy9b1wiUbvxeixYtqn/84x+5fWuZlCtXTuHh4apUqZKuXLmivXv3Svr/v4Ps6oqLi7NpJ8kaMjMyMrI8JqcQmNXvTPr/Yfzs2bM5vQ2bWr799tscx+zW+wXNZrMmTpyoX375Rfv379eHH36oevXqaenSpVleGgYeZMzYAQa1bNkyXblyRX5+fqpXr16WbbZs2aKff/5Z+/fvz7bNvcrV1VW+vr6KjY1VYmJivsza1KxZU87Ozjp48KAuXbqUafbwZqDKSps2beTl5aVly5YpMDBQBw8eVKdOnVShQoW7rku6EchcXFwk3XhoQJLq1Kkj6cblzatXr2a6HHvzPrVbx/bmgxi3PtBw09GjR3X58uVsZ02z06hRI61du1abN29Wu3btcmzbuHFjrVu3TlFRUXn6m6tataqqVq2qnj17ql69etq5c2eWYwU8qJixAwzq5nImYWFhmjVrVpY/QUFBku7fWbvBgwfr77//1j//+c8sn45MTk7O1denFS9eXF27drWum3arX375RZ9//nm2xxYpUkT9+/dXYmKi9fc6YMAAu88tSZMnT9aJEyey3Ld27Vr9/vvvKlq0qPz9/SVJjzzyiFq1aqUzZ85o5syZNu0PHjyoBQsWqESJEurZs6d1e/369VWkSBGtWLFCKSkp1u2pqamZHlqx1/PPP68yZcpo0aJFWS5Jc+bMGeu/v/DCCzKbzZo6darNPZM3WSwWRUVF6erVq5Kk48ePZ7lGYEpKilJTU1WsWDEVLcocBXATnwbAgHbv3q3ff/9dNWvWVNOmTbNt16dPH7333ntatWqV3n//fbm6uuZ7LTktd9K4cWO7brjPTt++ffXzzz9r7ty5qlevnlq1aiUvLy9dunRJJ0+e1J49e/T0009nWiYjJ+PHj9eOHTs0e/Zs/fDDD3riiScUFxenL774Qq1bt9aGDRuyvWfuH//4hyZPnqw///xT1atXz/IJ0Zx8+OGHmjx5surUqaP69eurfPnyunz5sn7++WdrCJowYYLNvWzTp09Xu3btNHHiRO3YsUONGzfWuXPntGbNGqWnp1sv4d5UoUIF9e7dW8uWLVPz5s3Vpk0bpaena8uWLfLy8rLrPrnbubm56ZNPPtGLL76oLl26qFWrVnr88ceVkpKigwcP6tdff7WGs3LlyunTTz/VCy+8oDZt2qhFixby8fFRsWLFdObMGX3//fc6ffq0jh8/ruLFi+vXX3/VP/7xD9WrV0+1atXSww8/rKSkJG3atEkXL17UkCFDrDOZAAh2gCHdnIG7+fRkdsqXL69nnnlGa9as0apVq+xaRDe3sntiVbrxDQt3E+wkacqUKWrTpo3mz5+vXbt26eLFiypbtqwqVqyogQMHqnv37rnqz8PDQ//97381YcIEffPNN/rpp59Uo0YNTZs2TS4uLtqwYUO2TxGXL19e7dq109q1a/XSSy9le09adpYvX64tW7Zo9+7d2rJlixISEmQymfTwww+rV69eevnll62zdTdVqVJF3377raZNm6aNGzdq7969cnFxUbNmzfSvf/1LzZs3z3Se8PBweXp6auXKlVqwYIE8PT3Vo0cPBQcHZ+rfXm3bttX27dsVHh6u7du369tvv1WZMmVUo0aNTEvHtGjRQrt379bs2bO1ZcsWRUdHq2jRovL09JS/v7/Gjx9vvRevfv36GjFihHbt2qVt27bp4sWLeuihh1SzZk1NmjTJ+hQygBtMSUlJFkcXAQD3g/fee08ffPCBVq1aleVixRaLRf7+/jp58qQOHjzIGmsACh332AHAbbJ6uvPAgQP6+OOPVa5cOTVr1izL4zZs2KDY2Fh169aNUAfAIbgUCwC3ad26tSpXrixfX1+VKlVKR48e1X//+19dv35dH3/8caaFcWfMmKGLFy/q008/VcmSJTVy5EgHVQ7gQcelWAC4zZQpU/Tll1/qxIkTSklJUdmyZdW4cWMNGTIky3vWzGazihYtqpo1a2r8+PF2f9MEAOQ3gh0AAIBBcI8dAACAQRDsAAAADIJgBwAAYBAEuwIQGxvr6BKQjxhPY2E8jYXxvLeVNZtV9n/fT2wvxvTuEOwAAAAMgmAHAABgEAQ7AAAAgyDYAQAAGATBDgAAwCAIdgAAAAZBsAMAADAIgh0AAIBBEOwAAAAMwmHBLjQ0VGaz2eanZs2a1v0Wi0WhoaHy8fFRhQoV1KFDBx08eNCmj6SkJA0aNEheXl7y8vLSoEGDlJSUVNhvBQAA4J7g0Bk7b29vHT582PqzZ88e676ZM2dqzpw5CgsL09atW+Xu7q6uXbsqOTnZ2mbgwIGKiYlRZGSkIiMjFRMTo1dffdURbwUAAMDhijr05EWLytPTM9N2i8WiiIgIvf766+rcubMkKSIiQt7e3oqMjFT//v11+PBhbd68WRs3bpS/v78kacaMGWrfvr1iY2Pl7e1dqO8FAADA0Rw6Y3f8+HH5+PioTp06GjBggI4fPy5JOnHihOLi4tSyZUtrW2dnZzVt2lT79u2TJEVHR8vV1VUBAQHWNk2aNJGLi4u1DQAAwIPEYTN2jRo10ocffihvb2+dP39eU6dOVZs2bbR3717FxcVJktzd3W2OcXd319mzZyVJ8fHxcnNzk8lksu43mUwqX7684uPjC++NAAAA3CMcFuxat25t87pRo0aqV6+eli1bpsaNGxfouWNjYwu0/8I6BwoP42ksjKexMJ73rkb/+2dux+heHdOlH4XrevJ56+tjp8+pWqUK1tdFSpdX39deL9Aa7nSrmUPvsbuVq6urfHx8dOzYMXXs2FGSlJCQoMqVK1vbJCQkyMPDQ5Lk4eGhxMREWSwW66ydxWLR+fPnrW2yU9D333GPn7EwnsbCeBoL43l/yM0Y3ctjWvJaqsY0LWt9/drKk3r/lteTfkp1eO33zDp26enpio2Nlaenp6pUqSJPT09t27bNZn9UVJT1njp/f3+lpKQoOjra2iY6Olqpqak2990BAAA8KBw2Yzdu3Di1a9dOlSpVst5j99dff6lPnz4ymUwKCgrS9OnT5e3trRo1amjatGlycXFR9+7dJUm1atVSYGCghg8frvDwcEnS8OHD1bZtW4enZQAAAEdwWLD7888/NXDgQCUmJqp8+fJq1KiRvvnmG3l5eUmShg0bprS0NI0aNUpJSUlq2LChVq9erdKlS1v7mDdvnoKDg9WtWzdJUvv27TVlyhSHvB8AAABHc1iwW7BgQY77TSaTQkJCFBISkm0bs9msuXPn5ndpAAAA96V75h47AAAA3B2CHQAAgEEQ7AAAAAyCYAcAAGAQBDsAAACDINgBAAAYBMEOAADAIAh2AAAABkGwAwAAMAiCHQAAgEEQ7AAAAAyCYAcAAGAQBDsAAACDINgBAAAYBMEOAADAIAh2AAAABkGwAwAAMAiCHQAAgEEQ7AAAAAyCYAcAAGAQBDsAAACDINgBAAAYBMEOAADAIAh2AAAABkGwAwAAMAiCHQAAgEEQ7AAAAAyiqKMLAAAAKGwzJozRlcQ/c3XMqRN/SPVrFVBF+YNgBwAAHjhXEv/UmPrFc3XMa0euFlA1+YdLsQAAAAZBsAMAADAIgh0AAIBBEOwAAAAMgmAHAABgEAQ7AAAAgyDYAQAAGATBDgAAwCAIdgAAAAZBsAMAADAIgh0AAIBBEOwAAAAMgmAHAABgEAQ7AAAAgyDYAQAAGATBDgAAwCAIdgAAAAZBsAMAADAIgh0AAIBBEOwAAAAMgmAHAABgEAQ7AAAAgyDYAQAAGATBDgAAwCAIdgAAAAZBsAMAADAIgh0AAIBB3DPBbvr06TKbzRo1apR1m8ViUWhoqHx8fFShQgV16NBBBw8etDkuKSlJgwYNkpeXl7y8vDRo0CAlJSUVdvkAAAAOd08Eu++++06LFi1S7dq1bbbPnDlTc+bMUVhYmLZu3Sp3d3d17dpVycnJ1jYDBw5UTEyMIiMjFRkZqZiYGL366quF/RYAAAAczuHB7tKlS3rllVc0e/Zsmc1m63aLxaKIiAi9/vrr6ty5s3x9fRUREaGUlBRFRkZKkg4fPqzNmzcrPDxc/v7+8vf314wZM7Rp0ybFxsY66i0BAAA4hMOD3c3g1qJFC5vtJ06cUFxcnFq2bGnd5uzsrKZNm2rfvn2SpOjoaLm6uiogIMDapkmTJnJxcbG2AQAAeFAUdeTJFy9erGPHjmnu3LmZ9sXFxUmS3N3dbba7u7vr7NmzkqT4+Hi5ubnJZDJZ95tMJpUvX17x8fHZnrcwZvOYMTQWxtNYGE9jYTzvXY3+98/cjtHdjunSj8J1Pfl8jm3i/zwt1a+dY5vbZVzPyPH1X2lpBf736O3tneN+hwW72NhYTZgwQRs3blSxYsUK9dx3+qXcrdjY2AI/BwoP42ksjKexMJ73h9yMUX6MaclrqRrTtGyObV5beTLX/ToVccrxdSlnZ4f/PTrsUmx0dLQSExPVpEkTubm5yc3NTbt379a8efPk5uamhx56SJKUkJBgc1xCQoI8PDwkSR4eHkpMTJTFYrHut1gsOn/+vLUNAADAg8Jhwa5Dhw7as2ePdu7caf2pX7++unXrpp07d6pGjRry9PTUtm3brMekp6crKirKek+dv7+/UlJSFB0dbW0THR2t1NRUm/vuAAAAHgQOuxRrNpttnoKVpFKlSqlcuXLy9fWVJAUFBWn69Ony9vZWjRo1NG3aNLm4uKh79+6SpFq1aikwMFDDhw9XeHi4JGn48OFq27atw6dCAQAACptDH564k2HDhiktLU2jRo1SUlKSGjZsqNWrV6t06dLWNvPmzVNwcLC6desmSWrfvr2mTJniqJIBAAAc5p4Kdhs2bLB5bTKZFBISopCQkGyPMZvNWT5VCwAA8KBx+Dp2AAAAyB8EOwAAAIMg2AEAABgEwQ4AAMAgCHYAAAAGQbADAAAwCIIdAACAQRDsAAAADIJgBwAAYBAEOwAAAIMg2AEAABgEwQ4AAMAgCHYAAAAGQbADAAAwCIIdAACAQRDsAAAADIJgBwAAYBAEOwAAAIMg2AEAABgEwQ4AAMAgCHYAAAAGQbADAAAwCIIdAACAQRDsAAAADIJgBwAAYBAEOwAAAIMg2AEAABhEUUcXAAAAcKsZE8boSuKfeT7+1Ik/pPq18rGi+wfBDgAA3FOuJP6pMfWL5/n4145czcdq7i9cigUAADAIu4PdsGHD9MMPP2S7/6efftKwYcPypSgAAADknt3B7tNPP9WxY8ey3f/HH3/os88+y5eiAAAAkHv5din2woULKlGiRH51BwAAgFzK8eGJqKgo7dmzx/r6q6++0smTJzO1S0pKUmRkpGrXrp3/FQIAAMAuOQa77du3KywsTJJkMpm0Zs0arVmzJsu23t7emjx5cv5XCAAAALvkGOyGDh2qAQMGyGKxyMfHR9OmTdOzzz5r08ZkMqlUqVJycXEp0EIBAACQsxyDnYuLizWw/fjjj/Lw8CDAAQAA3KPsXqC4UqVKSktLs9l28eJFffbZZ7p06ZKeffZZ1atXL98LBAAAgH3sDnZDhw7VgQMHtHPnTklSWlqaAgMDrUugzJo1S19++aX8/f0LplIAAADkyO7lTnbv3q1nnnnG+nrlypU6duyYPv/8cx04cEA1atTQ1KlTC6RIAAAA3Jndwe78+fOqVKmS9fXXX3+txo0bq23btqpYsaJeeOEF/fzzzwVSJAAAAO7M7mDn4uKiS5cuSZKuXbum3bt366mnnrLuL1WqlJKTk/O9QAAAANjH7nvs6tatq88++0xPP/20vvrqK6WkpKhdu3bW/X/88Yc8PDwKpEgAAADcmd3Bbty4ceratauaN28ui8WiZ599Vg0aNLDu37BhgwICAgqkSAAAANyZ3cGufv36io6O1t69e1W2bFm1aNHCui8pKUkvvviimjdvXiBFAgAA4M7sDnaS5OHhoU6dOmXabjabNXTo0HwrCgAAALmXq2AnSVu3btWmTZt08uRJSZKXl5fat29v8yAFAAAACp/dwe7KlSt66aWXtGnTJkmyPiixadMmffLJJ2rXrp0WLVqk4sWLF0ylAAAAyJHdy51MnjxZGzdu1IgRI3Ts2DEdOnRIhw4d0h9//KGRI0fq66+/VlhYWEHWCgAAgBzYHewiIyPVt29fjRs3Tmaz2bq9bNmyGjNmjJ5//nmtWLGiQIoEAADAndkd7OLj422WN7ldgwYNFB8fny9FAQAAIPfsDnYVK1bUrl27st2/a9cuVaxYMV+KAgAAQO7ZHez69OmjL774QsOHD1dsbKwyMjJ0/fp1xcbGasSIEVq7dq2ef/75gqwVAAAAObD7qdg33nhDf/zxhxYtWqTFixerSJEbmfD69euyWCzq06eP3njjjQIrFAAAADmzO9g5OTkpIiJCr732mv773//q1KlTkqTKlSurTZs2qlu3boEVCQAAgDvL9QLFdevWJcQBAADcg3K8x+7KlSsaNWqU5s6dm2Mnc+fO1ahRo3Tt2jW7T/zJJ5+oadOmqly5sipXrqzWrVtbFz+WJIvFotDQUPn4+KhChQrq0KGDDh48aNNHUlKSBg0aJC8vL3l5eWnQoEFKSkqyuwYAAAAjyTHYLV68WIsXL1ZgYGCOnbRq1UqLFy/WkiVL7D5xxYoV9e6772r79u3atm2bWrRoob59++rXX3+VJM2cOVNz5sxRWFiYtm7dKnd3d3Xt2lXJycnWPgYOHKiYmBhFRkYqMjJSMTExevXVV+2uAQAAwEhyDHZr1qxRhw4dVK1atRw7qV69ujp16qSVK1fafeIOHTqodevWqlatmmrUqKG33npLrq6u+u6772SxWBQREaHXX39dnTt3lq+vryIiIpSSkqLIyEhJ0uHDh7V582aFh4fL399f/v7+mjFjhjZt2qTY2Fi76wAAADCKHO+xO3DggLp06WJXRwEBAZo4cWKeisjIyNCaNWuUmpoqf39/nThxQnFxcWrZsqW1jbOzs5o2bap9+/apf//+io6OlqurqwICAqxtmjRpIhcXF+3bt0/e3t7Znq/sLd+cURAaFWjvKGyMp7EwnsbCeN4fcvP/3Ub/+9HivJ9vqSTtPnjXbe50zO2vQyVpccFmjEt3uOUsx2CXnp4uZ2dnu05UsmRJpaWl2V+ZbgTHNm3aKD09XS4uLlqyZIlq166tffv2SZLc3d1t2ru7u+vs2bOSbnwThpubm0wmk3W/yWRS+fLl+QYMAADwQMox2Hl4eOjo0aN2dXT06NFMQexOvL29tXPnTl2+fFlr165VUFCQvvzyy1z1kRd3Srt3KzY2NscZQ9xfGE9jYTyNhfF0rMnDXtKY+sWz3V/69RvfIZ8c3jNX/b628hd91MMvz3XZc3xeznH7Mbe/nvTTVb05c1Gu+sxvOd5j16xZM61YsUKpqak5dpKamqrly5fr//7v/3J18uLFi6tatWqqV6+e3nnnHfn5+enDDz+Up6enJCkhIcGmfUJCgjw8PCTdCJ2JiYmyWCzW/RaLRefPn7e2AQAAeJDkGOyGDBmi+Ph49ezZ03oJ9HZnz55V7969df78eQ0ZMuSuirl+/bquXr2qKlWqyNPTU9u2bbPuS09PV1RUlPWeOn9/f6WkpCg6OtraJjo6WqmpqTb33QEAADwocrwU+/jjj2v69OkaMWKE6tatq+bNm6t27dpydXVVSkqKfvvtN+3cuVPXrl3TBx98oMcff9zuE48fP15t2rTRI488Yn3addeuXVqxYoVMJpOCgoI0ffp0eXt7q0aNGpo2bZpcXFzUvXt3SVKtWrUUGBio4cOHKzw8XJI0fPhwtW3blml5AADwQLrjN0/069cFphDkAAAgAElEQVRPPj4+Cg0N1fbt27V161brPicnJzVv3lyjR49WkyZNcnXiuLg4DRo0SPHx8SpTpoxq166tyMhItWrVSpI0bNgwpaWladSoUUpKSlLDhg21evVqlS5d2trHvHnzFBwcrG7dukmS2rdvrylTpuSqDgAAAKOw6yvF/P399cUXXyg1NVVHjhxRcnKySpcurerVq8vV1TVPJ46IiMhxv8lkUkhIiEJCQrJtYzab7/itGAAAAA+KXH1XrIuLC98TCwAAcI/K8eEJAAAA3D8IdgAAAAZBsAMAADAIgh0AAIBBEOwAAAAMIldPxUrS8ePHtWvXLp0/f17dunVT5cqV9ffff+v8+fMqX768ihUrVhB1AgAA4A7sDnYWi0UjR47UokWLdP36dZlMJtWvX1+VK1dWenq6AgICFBwcfNdfKwYAAIC8sftS7PTp07Vw4UIFBwfr66+/lsVise4rXbq0OnbsqC+//LJAigQAAMCd2R3slixZor59+2r06NGqWbNmpv2+vr46evRovhYHAAAA+9kd7M6cOaPGjRtnu9/FxUXJycn5UhQAAAByz+5g5+HhoVOnTmW7f//+/apUqVK+FAUAAIDcszvYdezYUQsWLNDx48et20wmkyRp69atWrZsmbp06ZLvBQIAAMA+dge7kJAQVahQQc2bN9drr70mk8mkmTNnql27durevbtq166tESNGFGStAAAAyIHdwa5s2bLavHmzhgwZotOnT6to0aLasWOHEhMTNXLkSH399dcqVapUQdYKAACAHORqgWJnZ2eNHj1ao0ePLqh6AAAAkEd8pRgAAIBBZDtj98EHH+S6M5PJxH12AAAADpJtsHv//fdz3RnBDgAAwHGyDXbn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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVMAAACsCAYAAADG+E8MAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsnXlcjtn7x98l2mlRoYiUXcouZCdGBg1jj7EvCWNsY48iY2fsoZHsS5aRvcgkjEqGErJESirat+f3h99zT1lmfOdbz1PzPe/Xa14zcz/L/ek89/25z7nOda6jkpycLEMgEAgE/xWqyhYgEAgE/waEmQoEAkERIMxUIBAIigBhpgKBQFAECDMVCASCIkCYqUAgEBQBwkwFgiJAT0+Pr776StkyBEpEmKngP0ZPTw89PT1lyxAIShTCTAUCgaAIEGYqEAgERYAwU0Gx8+rVK2bNmkXjxo0xMTHB3NycPn36EBAQ8Mn3p6SkMGvWLOrVq4eJiQnNmjVjw4YNxMTEoKenx/jx4z/6TGZmJuvXr6ddu3aYmppSpUoV2rdvj5eXFzJZ4RXTT548kWKciYmJuLq6Urt2bYyNjWnZsiV79uz5pK7s7Gw8PT2xsbHB2NgYa2trlixZQlZW1n/fSIJSj5qyBQj+3dy9e5c+ffqQkJBAx44d6dGjB2/evOHUqVP07t2bdevWMXToUOn9mZmZ9OrVi7CwMBo0aEC/fv14+/YtK1eu5LfffvvkOd69e0fv3r25desW1tbWDBo0CIALFy4wbdo0bty4waZNmz76XEpKCt26daNcuXL06tWL7Oxsjh07xqRJk1BVVZW+B0AmkzF8+HBOnz5N9erVGT16NDk5Ofj4+HD37t0ibjVBaUSYqaDYyMvLw9nZmZSUFE6cOEGbNm2k1+Li4ujUqRMzZszAwcEBIyMjANatW0dYWBhff/01O3fuRFX1/eDp+++/p127dp88z5w5c7h16xYLFy5kypQp0vGsrCyGDh2Kr68vvXr1onv37oU+FxERwdChQ1mzZg1lypQBYPz48bRu3Zq1a9cWMtNDhw5x+vRpGjduzKlTp9DU1JTO3alTpyJoLUFpRwzzBcXG2bNniY6OZuTIkYWMFKBSpUq4uLiQkZHB8ePHpeO+vr6oqKiwcOFCyUgBzMzMPjm8T0pKwtfXF2tr60JGCqCurs78+fMB2L9//0ef1dLSYunSpZKRAtSpU4cWLVoQGRlJamqqdNzHxweAefPmSUYK7zMbpk+f/kXtIfh3I3qmgmLj+vXrADx//hwPD4+PXn/06BEAkZGRALx9+5bHjx9TqVIlatSo8dH7W7Zs+dGxW7dukZubi6qq6ifPkZubC0BUVNRHr1lYWFC+fPmPjpuZmQGQnJyMjo4OAGFhYaioqGBnZ/fR+1u3bv3RMcH/HsJMBcXGmzdvAPDz88PPz++z70tLSwPexz4Bacj/IcbGxp89R2hoKKGhoZ89R8FeppwKFSp88r3ynmpeXp507O3bt5QvXx51dfUv0iX430OYqaDYkPf6vL296dWr19++X1dXF4CEhIRPvh4fH//Zc4wZMwZPT89/KvVvKV++PMnJyWRlZX1kqJ/SJfjfQ8RMBcVGs2bNAD47C/8h5cuXp3r16rx69YrHjx9/9HpwcPBHx5o2bYqqquoXn+Of0qhRI2QyGdeuXfvotaCgoGI9t6B0IMxUUGz06NEDCwsLdu7cyenTpz/5nrCwMGmoDjBgwABkMhmLFi0iPz9fOh4bG/vJ9KaKFSvy7bffcufOHTw8PKQYaUFiY2M/GTP9Txg8eDAAbm5uZGRkSMeTk5P56aef/qvvFvw7EMN8wT/mU7PrcpYsWYKhoSF79uyhb9++DBo0iKZNm9KoUSO0tbWJjY0lPDycBw8eEBgYiIGBAQCurq6cOnWKY8eO8fDhQzp27Mi7d+84evQodnZ2nDp1qtAsP4CnpyePHj1i+fLl7N+/Hzs7O0xMTHj16hXR0dHcuHGDpUuXUqtWrX/8t37zzTccOXKEX3/9lVatWvHVV1+Rk5PDiRMnsLGx4eHDh//4uwX/DoSZCv4xvr6+n31t1qxZGBoaUq9ePYKCgti0aROnT5/G19cXmUyGiYkJderUwcXFBSsrK+lzmpqanDhxAnd3d/z8/Ni0aRPm5uZMmzZNMlN5bFWOrq4uJ0+e5JdffuHgwYOcPHmSzMxMjIyMMDc3Z8GCBfTp0+e/+ltVVFTYvXs3q1evZu/evWzbtg0TExMGDRrEjBkzMDEx+a++X1D6URG7kwpKC7t378bV1ZXVq1czYsQIZcsRCAohYqaCEsfLly8/Ovbs2TNWrFiBmpoaDg4OSlAlEPw1YpgvKHF89913ZGRkYGNjQ4UKFXj69Cn+/v6kp6ezYMECKleurGyJAsFHiGG+oMTh5eXFvn37iI6O5u3bt2hra2Ntbc3o0aO/KF9VIFAGX2SmQUFBrF+/nrCwMF6+fMnGjRulVBGBQCAQfGHMNC0tjXr16rFs2bJCRR4EAoFA8J4vipl27dqVrl27AjBhwoRiFSQQCASlETGbLxAIBEXAv8pMHzx4oGwJf0tp0AhCZ1EjdBYtJVHnfzybb2pqiqen599OQP2nf6yRahnKpqX/R58panK0tUjIz/vL9xhrqlAu++Nybooku5wO8Rl//bOZ6JVBXSVNQYo+TZZMm1fJn29PLT1NclRyFKjo05SVlSU9OeOzr6vq6pImU37Si7aKCvn/X6bwU5TR0ic9R0WBij6NVlkZeelJn31dT1MPlP+zQ1lIzkj+jz5ScLXehxRbnulfnfRT5D94SP6OX4pJzZehOWkMen+n+2UkqoE/K0bQZ9Ds9j0VrGr/5XtU0qLReLZLMYI+Q2bV8ZQ3+nx7xqfFcfXpZcUJ+gwdqnXG6i90PkhOZsedOwpU9GkmNWyIVaVKn339YXw63ldfKFDRpxnboQpWVhU/+3paXBoxl2MUJ+gzVO9cHSOrT9fO/Sf8q4b5AoFAoCy+qGeampoqbTGRn5/P8+fPCQ8PR19fn6pVqxarQIFAICgNfFHP9Pbt29jb22Nvb09GRgYeHh7Y29vj7u5e3PoEAoGgVPBFPdO2bduSnPyfBWoFAoHgfwkRMxUIBIIiQJipQCAQFAHCTAUCgaAIEGYqEAgERYAwU4FAICgChJkKBAJBESDMVCAQCIoAYaYCgUBQBAgzFQgEgiJAmKlAIBAUAcJMBQKBoAgQZioQCARFgDBTgUAgKAKEmQoEAkERIMxUIBAIigBhpgKBQFAECDMVCASCIkCYqUAgEBQBwkwFAoGgCBBmKhAIBEWAMFOBQCAoAoSZCgQCQREgzFQgEAiKAGGmAoFAUAQIMxUIBIIiQJipQCAQFAHCTAUCgaAIEGYqEAgERYAwU4FAICgChJkKBAJBESDMVCAQCIoAYaYCgUBQBAgzFQgEgiJAmKlAIBAUAcJMBQKBoAgQZioQCARFgDBTgUAgKAKEmQoEAkERIMxUIBAIigBhpgKBQFAECDMVCASCIkCYqUAgEBQBwkwFAoGgCBBmKhAIBEWAMFOBQCAoAr7YTLdv3461tTUmJia0a9eOa9euFacugUAgKFV8kZkeOXKEWbNm8f333xMYGEjz5s3p168fz549K259AoFAUCr4IjPduHEjgwYNwtnZmdq1a7NixQpMTEzw8vIqbn0CgUBQKlBJTk6W/dUbsrOzqVy5Mjt27KB3797S8enTp/PHH39w+vTpYhcpEAgEJZ2/7ZkmJiaSl5eHkZFRoeNGRkbEx8cXmzCBQCAoTYjZfIFAICgC/tZMDQ0NKVOmDAkJCYWOJyQkYGxsXGzCBAKBoDTxt2Zarlw5bGxsuHTpUqHjly5dokWLFsUmTCAQCEoTal/ypokTJzJ27FiaNGlCixYt8PLyIi4ujhEjRhS3PoFAICgVfJGZ9u3blzdv3rBixQpevXpF3bp1OXDgANWqVStufYISjEwmQ0VFRdkyPoufnx9169bFyspK2VIESqbgtZqZmYmGhkaRn+NvU6P+jRRs2MjISGrXrq1kRaUPeRsmJCRw8uRJhg8fDlBizPXu3bsMGDCAxo0b061bN3r06IGenp6yZf1PUJIfsrt27aJcuXIMGjSoyL/7f3I2Pz8/H4DVq1czduxYAgMDlawI8vLyAEhKSuLKlStkZGQoWdFfI79ZTpw4wYYNG3jx4kWJuoHq16/PvHnzyMjIYOvWrSxYsIDz589L7VySkWt8+PAhN2/eJCUlRcmK/pqcnBwA4uLiyM3NLTHXgUz2vp945coVdu3aRUZGBlOnTv0ozbOo+J/rmebn56OqqkpCQgKNGzfm559/plOnTmhpaREaGkp+fj4GBgZUr15dKfqcnZ0xNDRk+PDhWFtbf1J7SUIeO3/z5g3e3t7Url27RPVM0tLS8PLyws/PjzJlymBnZ0evXr2wsbFRtrRPUrDt2rVrh52dHS4uLlSpUkXJygoj11nwmuzevTuzZ8/G3t5eyeoKM3/+fI4cOQJAlSpVOHv2LPBnp6qo7qkys2bNWlgk31RKkF+oc+bMQV9fnx9//JHU1FQOHz7MiBEj2L9/Pw8fPqR79+6ULVtWIZry8vJQVVXl+PHjbNmyhbVr11KvXj0ATp06xb1796hTp06JMSg5+fn56Orq0qlTJy5fvkxsbCydO3dGRUWlRBhqXl4e6urqtGjRgjZt2vDs2TMCAwO5efMmiYmJVKpUiQoVKihV44fIzWnVqlXcuXOHNWvWULlyZfLy8ti/fz8hISHo6emhr6+vVJ3y33bkyJGoqqri5+fH1atXWbZsmVJ1fQr5g/PUqVOoqKhw//596tSpg4GBgfR3xMXFER0dTaVKlf7xef7nzBTeL5G9dOkSBgYGdOnSheXLl3PlyhVGjx6Ni4sLGzdupFWrVlStWlUheuRPRhcXF4YNG8ZXX31FVFQUa9euxd3dnePHj3P16lW+/vprhRn858jPz5cuQPm/dXV10dDQYMmSJcTHx0uGqmwK9jj09fXp0qULFhYW3L17l6CgIH7//Xdyc3OpX7++ElUWRlVVlczMTCZPnswPP/xAixYtCAkJwc3NjXXr1hETE0NcXBxdu3ZVtlTevXvHtWvXcHd3Jzg4mOnTp9OsWTPgz15fSbgONDU1yczMpG7dutjZ2REUFIS3tzfJyck0bdoUNTU1evbsiY6ODs2bN//H5/mi2fx/EzKZjHLlytGoUSNcXV0JDg4mLi6OVatW0aVLF8qVK4eRkRFJSUkK1ZWSkkL58uV59+4dycnJeHh4IJPJ2Lx5Mzk5Oaxdu5aUlBQ0NTUVqutDVFVVyc7OZt++fdjY2JCXl4etrS19+vRBW1ubLVu2cPz48UJ1HJRFTEwMgYGBGBsbo62tTdu2bWnXrh3t2rVj7969bNy4keTkZGXLLIRMJiMrK4uqVauSnZ1NdHQ0y5cvp2LFigQHB3Pu3Dn27t1LbGwspqamStWqq6vLmjVriImJISgoiDlz5hAaGoqbm1uhBT07d+7E2tqaJk2aKFRfwdFRx44d6dixIzk5OdSvXx9/f39OnDiBr68vtWvXJi4ujkmTJv1X5/ufMdO8vDzKlClDWFgYjRo1YtiwYZQvX56IiAg6d+5My5YtAdi2bRtv3ryhR48eCtVXoUIFWrRogZ+fH4cOHaJy5cq4ubnRtGlT7t27R3x8PO/evfuvhiFFxa+//srMmTMxNjZGV1eXhIQEOnXqRGJiIjdu3CAqKgpTU1Opl6JIcnNzUVNT49y5c7i5uZGQkICBgQHq6uq0bt2avn37Ymtry6BBg+jRo4c0zFd2WEKu+/Xr1xgZGVG7dm0pVtqiRQumT59O9erVqVOnDikpKWhraytN64csWLAAbW1t7t27x9KlS7G1tWXGjBmMHj2amzdvMmvWLEJDQxWqqeDveevWLUJDQ7GyssLe3p62bdvSoEEDWrduzbVr10hJSWH79u3An7/DP+F/bgLKwcGB/Px8Nm/ejIWFhXQ8NzeX/fv34+HhwZIlS+jdu/d/1bD/CQXTjA4dOoSenh5du3bF0NCQvLw8Ro4cSUZGBvv371f6TQ+QnJyMnp4et27dQiaTERERwR9//EG5cuUICAggNTWVatWqsXXrVkxMTJSi0dramm+//ZYff/wRDw8PNm7ciKmpKbq6uvTp04fu3btjYWFRItqzIA0aNGD06NG4uroSEBBAQkICTk5OqKiokJ6ejqOjI02bNmX58uXKlgp8/BCKj4/H29ubn3/+mczMTExNTenWrRtLlixRqK6MjAw0NTVZuXIlW7dupWzZssTHx2NtbY27u7s0nM/JySmy0Nn/lJnKZDJCQkJYs2YNJiYmzJkzB2NjY/Lz83ny5AmnT58mMzOT77//vti1FJwFzcvL4/Xr1x8Zz7Nnzzh06BA7duzg7NmzVKlSRephl2R+++03XF1dsbe356efflL4+b29vdm2bZuUYmZra8uyZcvQ19dnxIgRqKurM2DAABYsWKBwbZ9Cfi3ExMQwbtw4vLy8Ppq9v3PnDuvXryciIkLpu1zIOxl//PEHZ8+eJTQ0lD59+tCyZUvpGo6Li+PMmTOUL1+evn37KkzbxYsXadeuHWXKlCE5OZm6deuyfft2LC0tefPmDatWreL8+fP079//o3DEf8u/fgLqwwkTMzMzjIyM2Lx5MxcvXsTR0RENDQ309fWpXbs2rVu3pkyZMoU+VxzIv3v9+vWsXLmSdevWERwcTN26dalYsSIAT58+5ffff2fIkCE0a9ZMaUYqzzaIiYlh7969+Pj4cPPmTdTU1ApN0mVnZ1OmTBmqVq2KmZkZ+/btw8HBAV1dXYXqvX37NsbGxtjb27NixQrS09OZM2cOlpaW3Lhxg/r16zNmzBgMDAyK/Xf+EuTn3717tzSBV6FCBak9AbKyskhNTWXo0KEKmxj9HPJOQMeOHXn+/Dlv375l8+bNBAcHY2hoiLGxMRUrVsTGxoa6desqTFdqair9+vVj1apVGBoaUrNmTdLS0hg7dixGRkZUrVoVBwcHGjRowPHjx1mwYAG2trZYWloWyfn/9T1T+TBkyZIl6Ovr0717dypWrEheXh6TJ08mMTGRxYsX07RpU4Vpkj/Z9+/fj7u7O05OTtjY2ODs7Iy6ujrOzs7MmDEDQ0NDpeeWFhzGtW/fHl1dXQwMDHj48CFZWVm0b9+eCRMmUKNGDeDP2PSGDRtYv349kZGRCtecmJjI69evqV27NuPGjaN8+fJ4enoCMGbMGLp06UK/fv0UruuvuHTpEuPGjePt27csX76cYcOGAX8mnivb8D9k+/btHDhwgIMHD1KhQgViYmKYOnUqly9fpl+/fgwbNowmTZoodMI0JyeHmzdvcvz4cXx9fTExMSEnJwc/Pz+qVq1aqDPy8uVLDhw4gLOzc5GtjPvX90xVVFR4/Pgxw4cP5+LFi0RHR3Pjxg1OnTpFlSpVSEpKIjw8nKZNm1K+fHmFaJKb48CBA3F1dWXq1Kn4+/vz6tUrJk2axPr16zl27BhZWVnSxJiykJv5ypUrCQ0N5dy5czg5ObFw4UIaN27MtWvXOHv2LK9evcLGxkZa85yUlISTkxPm5uYK16ylpSX17u/cucPly5fR09MjMDCQTZs2sXTpUsqXL1+i4qVaWlqYmZmRlZXFrl27uHv3rjRKUVFRkUYHykTei8/JySEhIQE9PT06dOiATCZDX1+fAQMG0KxZM7y8vNi8eTOjRo1CR0dHYfrko6KmTZvSuHFjEhMTuX37NpGRkbRr104aIeXn51O+fHlatmyJhoZGkY1O/vVmCu9zDGvVqiUlardq1QodHR0OHz5MTEwMYWFhNG/enDp16ihM07lz54iOjmbx4sWkpaUxbtw4Fi9ezJAhQ4iMjOT+/fvk5OQovQelqqpKRkYG8+fPZ+rUqTRo0IAffviBsmXLcujQIdLT0zlz5gxxcXF06NBBMjFLS0uFG2lmZibXr18nKyuLjIwMdHR0MDAw4Pz58/j5+REREYGLiwudO3cuEeZUEB0dHaytrbGzs8PExIRbt27h7e1NYmJioYeUMpEbzpQpU1i4cCGJiYlSfqY8r9TCwoLx48fTrFmzj1bwFTe5ubmoqqqioaGBpaUljRo1olatWly8eJEVK1aQmZlJ27ZtPzLOonqg/mvN9MObpW7dupQpU4aYmBiaNm3KkCFDGDduHLa2trRr145vvvlGofpyc3PJycmhSZMmHDx4kNjYWKZOnYqmpiZZWVlYWlqyfPly1NTUlH7jy3NfGzRogKamJm5ubsybNw8LCwu0tLR4/vw5U6dOpXnz5grv7clvoHPnzjFlyhS2bNnCxo0bCQsLIycnh65du9K/f38pr7hjx47A+xtImb1S+W+alpZGZGQkx48fJysrCz09PTp27IiVlRVqamocP36cY8eOMWDAgBIz8VijRg1SU1O5dOkST58+pW7duhgZGRXqQRfMlFEU8nvk559/pkGDBlSsWJH69evTpk0bKlSowJ49e9i6dSsVKlSgYcOGRX7+f62ZypPLZ82aRXJyMunp6XTt2pW4uDjmzp2LtrY2tra2VK9enQYNGgAoZDIiMTFRGoY2adIEDQ0NoqOjuXTpEi4uLgAsWbIEmUzGV199Jf0tiuRDQ9TU1MTGxoaqVasSGxuLn58fXbp0oUaNGjx+/JijR48yffp01NXVAcXF92QymWQw3bp1w8HBgblz5zJ27FjCw8PZvXs3r1+/pmvXrlSvXr1Qbqayh/fy33TcuHHs3buXmzdvsmHDBtLT0+nUqZM0XDU1NZXMtaRgZGREz549sbGx4dChQ2zcuJHMzEzq1Kmj0GF9QeTX7O3bt3F2dubKlStUqFBBMnobGxtatWpFbGws9+/fx8nJqcg1/KsnoB4+fMjAgQMxMjLi7du3qKqqMnHiREJCQjhx4gSurq44OzsXawK0POYYGBjIhQsXMDMzY/To0YXec+fOHRwdHdHR0aFGjRrcuXOH27dvo6+vr5QJqLy8PN69e8fdu3dp3LhxoUmEtLQ0nJycMDY2xtzcHH9/fzp27MiyZcuUNlm2e/duNm3aRHBwcKHjhw4dYsKECezcuVN6MJUE5BMhu3btYuXKlRw8eJA6depQtWpVFi5cyMiRI3nx4gUmJiYlojcq/11lMpm0YiwvL08K6axfv561a9cik8lYu3YtPXv2VKg+eXu+evWKXbt24efnR1JSEi9fvqRdu3YsXrxYCjnEx8ejqamJrq5ukWfHlJygUTFQs2ZNKa/Uzc2NTp064e7uzt27d0lMTMTT01MqH1YcyGQyVFVVefr0KfPmzaNMmTJSRR0/Pz92795NSkoKDRs25MiRIzg4ONCwYUN8fHzQ19dX2vB+5cqVODo6MmHCBL755hsiIiKk17S1tZk4cSKpqalcv36d5s2bS8UtFN3bk8fpdHR0kMlkvHnzBoD09HQAevfujY2NDQ8fPlSorr9DfgPv27ePcePGUadOHdzc3DA3N2fYsGHk5+fj5eXFjh07yM3NVapW+TUM4ObmRtu2benevTuDBg1i5cqVZGdn4+Liwm+//UanTp0UssjlQ+T6JkyYwKNHj9i2bRv+/v4cOHCAtLQ0OnXqxOLFi0lKSpJW7RUc1RQV/9rlpNnZ2QQFBVGtWjV0dHRo37497du3Z/78+QQGBvL8+XPU1NTQ09Mr9h7VlClTsLW1ZdasWZQrV05aB2xqakpISAhOTk507NiRxo0bF/qcMnolV65cYdOmTSxatIgyZcrw888/88cffyCTyYiJiaFu3bo4OjpiZ2eHuro6WlpaAErJgZX/ZjVq1ODJkyf4+Pjg4uIiaVJTU0NdXb1Err+X5zwbGhoC75cxb9++XVqNExsby9u3b5ViTgXJz8+nTJkyzJw5k8DAQFxdXSlbtiz37t3j2LFjhIeH89NPP2FkZMTWrVuVolFFRYXo6Ghu3brF4cOHpYprZmZm1KpVi1GjRrF69Wp2797NunXr+Oqrr4rlwf+vGubL8zcDAwNZs2YNd+/eJTs7m9q1a7NixQrq16//SdMsjkkT+XdeuXKFYcOGcfHiRSkX08nJibJly9K2bVvOnDlDeno6bdq0Ye7cuUqvCmVra0v//v2ZPXs2AO7u7hw9epScnBzi4+PR1tZmxYoVSilkIn/oPXz4ED8/Pzp06CCVV9u8eTOrV6+mYcOGTJ06FT09Pc6cOcPKlSu5e/eu0kImf8W0adO4e/cuurq6aGlp4e3tDUBERATdunXj3LlzkjEok4SEBJo3b46Pjw92dnbA+9j/mTNnWL58OdOnT5fyYpXFy5cvcXBw4IcffmDIkCGFXtu2bRvx8fGkpqZy/Phx9uzZ81HHpSgoOVdWESB/ik+aNIn69esTGRnJkCFDSExMpGbNmqiqqn6yl1IsT6n//87Lly9jb2+PsbExMpmMd+/eUa5cOTw9PZk4cSIbNmzAwMCA+/fvF7mG/5Tdu3eTnJzMtGnTpGOnTp2iUaNGbN68mbCwMBo3bsyMGTNITExUqDb5cPP58+e4uLhw7dq1Qr/l4MGDWbJkCWXLlqVPnz44ODjg7+/P8uXLlRoy+Svmz5+Pvr4+169fp2LFirx69Yp9+/Yxffp0HB0dS4SRAjx//hwDAwNpAQG83wJ+8ODB2NnZcerUKbKzsxWq6ebNm4X+v3LlynTo0IE1a9ZIOdpy3r17R1RUFGPHjkUmk3H37t1i0fSvG+b7+PhI6TtpaWkcOHCAJUuWoKWlRWBgIEFBQYwePVoKnhcX8p6ppqYmjx8/lia5dHV18fX1Bd73tMzNzenfv7+Us6nMYsUbNmxAV1eX48eP4+joyKlTp0hOTsbd3V1awzxo0CBiYmJISEiQhqiKxNXVFUtLS9zc3Aq1la6uLv369aNNmzZkZWXx5MkTmjVrJg35lW2kBSdx5A9aPT095syZg5eXF8HBwTRo0EAqDLJo0SKl6i2oU15I+eTJk9jY2KCpqSm1Z6NGjTh48KBC29fHx4dVq1Zx69atQsddXFxISEhgy5YtXLhwgWbNmklzIzt37pQyd+Li4opF17/OTDU1NaVk8R9//BErKysph1RFRYUzZ84wcODAYjcxJFoeAAAgAElEQVRT+YVoYGDAvXv3CAkJoVmzZtLxgoH9PXv2UK9ePSpUqKDUVTleXl4sW7aMRYsWcf78eS5cuMCUKVMKFYNQV1cnIyMDMzMzhemSt0lgYCC3bt1i1apVHz105DFbfX19NDQ0Ptp2pqSkQm3duhV/f3/Mzc3p0aMHbdq0YcWKFcTExEg7A8jDQcpE3l6bNm2if//+ODk5MX/+fNLS0hg9ejT6+vqkpKSwbds2hg4dqtDY7uDBg+ncuTOAVI1q4sSJ1KxZk+XLl+Pt7c2tW7dwd3enSpUqzJkzh+7du3Pnzh2CgoKK7UFVqmOmOTk55ObmFkrdCQgIYNSoUSxatIiZM2dy9uxZqdjCiBEjyM/PZ/fu3Qozrbi4OLp06ULNmjWZN28e9evXl1azZGRkcPjwYWbNmkVUVBRaWlpKi+sVbA8/Pz/WrVtHeHg4o0aNolevXtja2kpbgDg6OjJ37lyFTzotWrSIR48esWnTJqnH+SHTpk2jbNmyJaZEHfzZK92wYQOrV6+mc+fO3Llzh/j4eBwcHBg8eDDW1tYlqkYpwMaNG1m2bBkPHjxAQ0ODM2fOMHPmTJKSkjAxMSEjI4OGDRtKIy1l4OnpyapVq6hevTqzZs2SYvnyOrbv3r1DT0+PGzdusGTJEkxNTfn555+LRUupTtp3dnZGVVW10LYT1atXJyEhgdWrV2NmZsaIESPIyMhg9+7deHt7s3fvXoWuy9bR0aFmzZrs3LmTEydOkJGRwbt378jOzsbT05OjR48ydepUWrZsSW5urtLyCguuXqlduzbDhg1DQ0OD/fv3SyXfTpw4QXBwMIcOHZI+o4g2lP9WN27cIDg4mLFjxxY6XpCXL18SHx9Px44dlT60lyPfeG7JkiXMmDGDGTNmMHLkSIyMjDhw4ACnT58mNTUVLS0tKleurGy5ErGxsTRv3pzmzZuTn5+PlZUV48ePx8LCgsaNGzNixAiGDRum1N0fWrduzcCBA4mKisLd3Z3r169jZWWFpaWltLQU4NGjR2RnZ7N48eJi60WXajONjY2le/fu6OjocPbsWcqVK0eFChWwtLQkNzeX2NhYVqxYwdatW0lKSmLy5MnY29srvEdlaWkprb7avn07x48fZ/v27WRnZzN+/Hi+++47QPlxvYL1VVVVVWnRogV9+/YlKiqKPXv2cP78eTZt2kSdOnUUavxyw4yMjMTX1xd7e3vMzMwKhUzk/+3h4UHVqlWlAhzKHt7LUVFRIS0tDRMTE2rWrAlAw4YNGTVqFG/evMHT0xN9fX3at2+vFH0ZGRkEBwdLIbIlS5bg5eVFeno6ffr0QUVFhaysLNTU1KhTpw7W1taYmZkpfRsdgPLly9OzZ086dOiAv78/q1ev5unTp1hbW0vFi8zNzWnTpg3lypUrNh2lepgv58aNG3Tt2pV27drh4uJChw4dAPj9999JSUkhKSmJ7t27S8MoZd5k8fHx/Pbbb9SsWRMzMzOp/Jey03Y+bBOZTCblGAKEhIQQEBDADz/8oCyJUsikRo0aLFiwoFDIJCsriyNHjjBz5kzu37+PlpaW0s1U/tB+8+YN58+fZ8OGDdStW5e5c+d+VJP06dOnhapdKZrvvvuOihUr4unpSVZWFqtXr+bo0aM8f/6cn376iYEDBwLv/yaZTKbU/Ne/+13379/P1KlT2bBhg1SYWhHXQqk105s3b3LkyBHc3d0BCAsLY+bMmdy4cYMBAwYwYcKEj3adVPbN9SnDUqaeT80wf+o9Hw7nlWn8Z8+eZfz48WhoaDB06FAaNWpEtWrV2LFjB7/99hvDhw9n7NixCtty5kvo1asX8fHxJCcnk5aWRo8ePXB0dKRt27aFJtKUdT3ExMTQqlUrTp8+ja2tLb/++iv16tXj+fPn7NmzhyNHjkhbpcjrWChDa2RkJBYWFlIu9uc0JCUloaqqqvDMmFI7zA8ODmbevHloaWlJQ44hQ4ZQq1Yttm3bxp49e8jPz6dixYrS/tjKHvJ9uJ98SdADMGrUKAwNDalWrdon31OSdNesWZNu3bp9FDLJyspi7NixjBo1ClB+yETeXjdv3sTb25v9+/czf/58qZ7BpUuXiI+PR01NDTMzM1RVVZXWrklJSQQEBFC7dm1+//13xo8fz5IlS6hWrRotW7bE1taW8PBwVqxYwf379+nQoYNU1EZRXLhwgQkTJgDvN580NDSU2qtggaLw8HCmTp1Kly5dFL7DQ6ntmebl5fHjjz9y7tw5du/eLT0x5Xh4ePDTTz9RrVo1Ll26VGTVtL+E8PBwLCwslFZB50vYv38/tra23Lt3jzFjxhAZGanQNioKEhISuHbtWokLmRTE29ubO3fu4OnpKd3wmZmZrFu3jiNHjiCTydi1a5dCt/f4kLy8PGbPns22bdsoX748gwcPlkZ88P7B8OTJEy5cuICHhwfLly8vlqpLf0VcXByzZs3i5s2bNGzYECcnJ9q2bVto37ScnBy+/fZbMjIy+PXXXxWqD0qxmcL7ghYDBgzg8ePH7Nq1iyZNmpCVlSU9NRMSEjh58iQjRowo9mGJ/PtDQ0Pp0KEDEyZMYNCgQdSpU6dEVP4pSGpqKk2aNCE9PR1VVVWcnZ1ZvHix9HpJC0d8ipKo6UOOHTvG0qVLycjIYO/evR8VS46Ojubw4cPMnDlTSQoLM3z4cI4fP46mpiajR49mxIgRVK1aVbp+MzMzefbsmVLLAQYFBeHh4cGTJ0/o1KkTX3/9Nc2bN0dbW5szZ84wZMgQwsLCMDU1VfhEc6kd5ssTnJs2bcrVq1d58OABvXr1koop5+fno6uri62tLVC8N1/B737y5AlXr17l/PnzHD16lNzcXKpXr46urm6JufnLlSuHi4sLgYGBREVFkZSUhJaWFiYmJujo6Eg6Q0JCqFixYomJPRbkw9BDSeDSpUtUqFABDQ0NVFRUePPmDS9evODp06fcvn0bFRUVqlatKk2aGRgY0KZNGyWrft+Tz8vL48GDB8yePZtmzZqxZs0aDh48iI6ODlWrVkVTU5OyZcsqZdUb/JlhUq1aNQYNGoSuri5Hjhzh4sWLJCcno6qqysyZM+nXrx99+vRRSuGdUmmm8tVD8pqKBgYGrFixgsePH9O+fXvU1dU/GuYV500nH1Z6eHiwY8cOxo4dy6RJk9DX12f9+vWcPXsWQ0NDKleuXKR7zvxT5NXpExISGD58OOnp6Xh6ehIREUGlSpXQ19cnOzsbOzs77OzslLKPk5zw8HC0tbU/mdJSkow0JSWFSZMm0aZNG2n78GrVqvH1119jampKREQEV69e5f79+6irq2Nubl5i9KuoqKCqqkqbNm2oWrUq1tbWjBw5kpcvX7Js2TJu3LiBvr4+1apVU9qD9cO0vUaNGjFkyBBevXrFgQMH2L9/Pzk5ORw/flz6mxTdvqVqmH/z5k0pNvrhnjiHDx/Gw8NDejopmtTUVBo2bMjatWvp1auXdDwyMpIRI0Zw//59HBwcWLlypVITs+XGHxUVhampqZQuFh4ejqurK/fv38fe3p5Xr16hp6fHsWPHFN4DLE0hE3jfptnZ2dy/f1+qn7pw4UKcnZ2lZY9v375l+/btnDlzhry8PDp06MDs2bOV+vfIe2/v3r0jJiaGZ8+e0blz50IPrqioKL7//nt+++03Hj16pJBNJ+W/f15enmT0n9MO74vAL1iwgH79+vH1118rLZOj1PRMb9++Tf/+/Vm7di3Xrl3j0KFDPHr0iOfPn/P69WuaN29OUFAQe/bsoUGDBgpf35yUlMTp06dp1aoVdevWJT8/n/z8fIyMjHj9+jUGBgbExsayefNm2rdvj5GRkUL1wZ8XYFRUFC4uLpQtW5bq1aujoaGBiYkJw4cPx9zcnD/++IM2bdqwYMECtLW1FTqhU9pCJvJRUkZGBq9evcLU1JTLly9z4cIFrl+/TkREBFWqVMHMzIxWrVrRsmVL7t27R4MGDaQQlDKQ/6YqKiqMGDGCrVu38ssvv7Bjxw5UVFSwsrJCU1MTQ0NDBg0axDfffEOlSpUUok1FRYWYmBgpC0c+kiqIqqoq+fn5yGQyDA0N6du3r7QhprImH0uNmWZlZVG/fn26du3Kmzdv0NDQ4Ndff+XmzZv88ssv+Pr6oqenx7179wBwdHQsVj3Pnj0rdFOrqalx8uRJLly4QKdOndDX15d+1Hfv3vHkyRM8PT3Zu3cvNWrUoFGjRsWq71MU3GLa0tKSyZMnU758eZKTk7lw4QKmpqbY2NjQr18/7OzspIrkirw4S1vIBN7f/F999RW3b9+mX79+1K1bF1tbW1JSUrh16xbnzp0jISGBWrVqYWZmhqOjo1SHVRlER0dLqUUHDhzA19eX9evXM2XKFLS1tVm1ahWnTp3CxMSEqlWrUrZsWfT19RWmz9vbm969e/P27Vvatm0r5ZV+WEZRPpQvKeUVS9UwvyDyHswff/xB2bJluXHjBrGxsaSkpDBy5Ehq1KhRbEHowMBAvv/+e65cuVIo3BATE8O4ceMAcHBwwNnZmYiICKZPn46DgwOLFi1iwIAB1KxZk6VLlxa5rr9C3l6XLl1iwoQJ3Lp1Cy0tLa5du8bcuXN5/vw5SUlJHDp0iHbt2ilU24eUtpBJYGAggwYNIiQkhCpVqhR6j7xXfe/ePUxMTOjevTvDhg1T2uRZQEAAvXv3ZujQoSxcuJCAgACePXvG5MmTpfc8e/YMNzc3KVl/3759Ck2bi4yMxN/fH29vb96+fcvs2bMZMWIE8PHKvJJEqemZFoyjyJ9CKioqGBkZYWhoSMOGDWndujUdO3ZEX1+/WHtUlStXxszMjPr163PlyhXCwsIwNjamcuXKWFhYEB8fj7+/P/PmzSMwMJDq1auzefNmcnJyWLJkCf379/9odVZxI79xr127RmRkJN988w1BQUFs2rSJypUrs3btWiIiIqhQoQLNmzdXqLYPKQ0hE/izTeUl6r7++mvgzxtevuWxvb09Ojo63Lp1i8zMTLp376603rSBgQE1a9bk6NGjrFixgtTUVBISEujVq5dUkEVPTw9HR0datGjBmzdvpL9LUVSsWBEbGxtatmxJfn4+P//8M4cPH8bKygpzc3Np8rkkLMQpSKntmX6Iop70H55n6NChnDx5kkGDBjFmzBgaNWpEWloaMTExZGZmSjOPGRkZLFq0iICAAK5fv17sOj/Hw4cPpfzBs2fPMmPGDAYPHkyVKlUYN24c6urqrF27VqGanj17hqmpqfTwy8zMpF+/frx58wYfH59CtUl//fVXTp06xfTp0+nZsyczZsxQypYZ8lGPr68vEyZMYPTo0QwcOJA6depIxT/kG/7J/66YmBi0tbWVZv4FefHihVRF7fXr12zcuJE+ffoAn15CrAjOnj3L3r178fLyktosISGB0NBQdu/ezYULF+jcuTPLli3D1NQUKFn5xqWmZwp/va+9ohr0w/zGvn370rBhQ7Zt28bu3bvJzMykVq1aWFhYYGpqSuXKlZHJZPj7+xMeHs7ixYsVFsj/kPz8fAwNDVFTU0NLS4s+ffowceJEdHV1efDgAfPmzWPRokVUrVpVYbHIwMBARo4cibOzszQDq6amhp2dHefOnePkyZO8fv2a2rVrc/PmTebMmYO1tTV9+vQhMDCQ/Px8OnXqVOw6CyIf9eTn5+Pg4ICTkxMXLlzg5MmTyGQyKlasiJ6enjTBI+9F6evrK71mqfza1dHRoW3btrRt25bU1FSpfJ2NjQ1GRkZKyeONiIiQ4vahoaFUqlQJbW1tatasSZMmTahXrx4BAQH89NNPvHr1is6dO5cYI4US3jMtGJNq1KiRUrf0kF9Y+fn5PH/+HCMjo4/Kj3l6evLTTz9hYWHB5MmT6dixYyHjfPXqVaHlb4omJSVFasOCM/SBgYFs2rQJdXV1du3apdCbKDs7G39/fxwdHbly5QpJSUm0bdsWfX19rl27xsGDBwkODub+/fuYmppiZWUlbfDXuHFj5s2bR//+/RWiVY687SZOnEh0dDT+/v5kZ2czf/58vL29adSoEaNGjaJNmzZK/b0/RN6bfvDgAefPn6dDhw7UqVOH9PR0goODWbFiBb///jtDhgxh0aJFCl8OXXCOw97enidPnrB8+XIGDBgAvL9WoqOjOXPmDKtWrcLHx0fp8f2ClGgzhfcXbrdu3TA3N2fDhg3SDK4iZ+8Kxmu///57goKCiI2NZdasWUyePLmQnuTkZGbMmMHBgwdZtmyZtImXMp6g8otTvg1ySEgI6enpzJ49WypTmJGRwfbt23n06JG0wZui2rc0h0xevnxJ69atOXz4cKEUp0ePHjFz5kyCgoLo3r07zs7OSu8IfEj79u1p1qwZI0eOlNKJ4H2s+sSJE0yfPh0PDw9GjhypFH05OTkEBwdz/PhxDhw4QO3atfHw8KBp06bA+3ssLi6ukPaSQKkw00OHDrF48WKmTJkiVQVStAZVVVWmT58u5bumpKSwe/duLl26xIsXL8jOzsbY2FiK74WFhWFpaYm2trbS4zo9e/YkPz+f7t27c+rUKa5fv06HDh1YsGCBlKKVnJyMnp6e0h5Uck6dOsWMGTNITU1l3LhxDB06lCpVqkia8vPzOXnyJCdPnmTChAlKSzF68eIFoaGh9OjRA5lMJv0j71mdO3eOhQsX8uDBA+bOnVtotlwZyH9Xb29vPD09uXr1qjRDL3/oypPdlTGCkusr2DtNSkoiODgYLy8vrl69iqOjI+7u7kqr+fp3lHgzlbN582ZWrVrFokWLGDhwoMLW3spv9gcPHtCiRQsuXryIjY0NmZmZdO3aFRMTEy5cuICWlhadOnVi0aJF0lJBZZqo/OLcv38/CxculFKhmjZtSrt27QgNDeX+/fsMGDCAOXPmKHTN9b8hZPI5PrwuV6xYQdOmTaWRgLIZM2YMlSpVKlTYBt7rPnr0KDVq1KBJkyYK1yW/Jtzc3DA3N6dv375SmOHZs2dcuHCBHTt2EBERweHDh+nYsaPCNf4dys90/UKcnZ1xdHRk06ZNxMXFKXzLDFdXVwYOHCj1hFJSUoiIiKBZs2bcunWLpUuX4ufnh4+PT4mo+ynvyfn7+zN+/Hi0tLRYu3Yt6urquLu7M3/+fGlzQUUOlQuGTKZNm4aTkxM1a9Zk3bp1wJ8z4DNmzCAqKgpra2smTpworbmW792uLCMtuHf8p5Bfl7m5uQD88MMPJcJI5bqNjY25ceOGdFyus0yZMgQEBHDp0iWFa8vNzUVFRYVz587xyy+/oK2tXShR38jIiOHDh7Nlyxbmzp1L69atFa7xSyhxZpqXlwe8XxMcHh7O7du3gfdbOK9YsQIzMzP69+/Pw4cPgT9vvuIkIiKC27dvk56eTlBQEPD+Jvn666+ZMWMGNWrUwNnZmW+//Zbnz5+TlZVV7Jq+hPT0dFq2bEmNGjXIzs7m+PHjjBw5EnV1dWxsbHByciIgIIAePXooTJP8pp45cyZ37txh1KhRTJkyhS1bthAfH094eDghISHExMSgp6fH1q1buXz5MkOGDFGYxr9CPuL4O1NVU1P72/coEvmDvW7duoSHh0s7isozKEJDQzl48CBfffWVwrXJNcyePZsJEybg5OQkhfc6duzIxIkTuXXrFvXq1cPFxQV1dXWF3Pf/KSWutpr8ye7q6srDhw/R19cnLS2NVq1aoampiZWVFTdv3mTXrl24ubkpJL5nbGzMlClTCAkJwc3NjUqVKnHhwgXCwsIApBqqOTk5qKmpKbwKeUH2799Pfn4+AwcOREtLizFjxvD27VtkMhkaGhrShRsbG8vZs2eZMmWKwrTJU4oePHiAl5dXoZDJyZMnmThx4idDJo0aNZKMSVm9/ZcvX3Lq1CmcnJykpZV/F18uSWk7cgYPHizVZvDx8WH48OFcv36dkJAQvv32W6UVqQ4PD6dcuXJSZsa6des4ffo0NjY2XL58GS8vL5o0aSIVYSkJy0c/pMTmmX777be0bduWbt26SekbeXl50s128eJF3r59S5s2bYp9ywdtbW3atGlDrVq1SE5O5vbt25QtW1baxllHR4eoqChmzpzJtm3bqFixolLWjOfm5tKtWze++eYbatWqJR1XV1dHRUWFK1eusH79eqKioti2bRuNGzfmu+++U5hW+TmGDh1K27ZtpdnixMREFixYwLfffsvatWuxtLRk7dq16OrqYm9vX+izymLTpk3s2LGDBw8eAGBlZVVoUkzZ+j5FQV0F/7tDhw5YWVlx584dfHx8yMzMpFevXvz4449KW6aZm5vLjh07eP36NZcuXeLq1auMHDmSGTNmUKlSJa5evUq3bt1KxG6on6PETED9J5M1z549IyAggM2bN7NlyxaFL808f/48hw4dIioqChMTE5ydndmwYQNVqlRh69atSilMC+Di4sKDBw84c+aMdMzHx4fevXujra3Nmzdv2Lx5M1euXKFt27a4uroqvCpUREQEXbp0wcHBgVGjRtG6dWuGDRtGmTJl2Llzp/S+cePGoaKiwpo1a5Ta05fz9u1bfH19OXnyJCoqKjRo0IABAwYUqp6v7KyNz+Hr64uPjw+VK1emVq1a9OzZU+qBygsrK6K03t9x9OhRli5dSrly5Vi5ciXNmjVDTU2NMWPG8O7dOyk0UVIpcWYaEhLCzZs3iYmJoXXr1tK64Pz8fHJzc6VufkZGBn379qVBgwaF9tdRFMnJyRw/fpyzZ88SERFBQkICjx8/luI5ih6GREdH07x5c2noDDBnzhwePHjAvn37PjJ3eRqMorXGx8ezc+dOQkJCSEtLo1KlSpw7d46wsDAqVqwohUxGjhyJmpoaW7ZsUZi2z1HQJK9du8bq1asJDg7GwsKCvn370qdPH2kzwpKy/5T8gb5x40a2bt2Ko6MjSUlJnDp1inr16tG9e3d69+790ZbTitb36tUrgoKC6NSpExUqVEAmk5GUlISBgQFJSUlcuHCBadOmERAQUKzFi4qCEjHMlxcvCQ0NZeLEidy9excDAwPc3Ny4dOkS9erVw9TUlDJlypCTk4OKigrlypXj4MGDVKlSReHLCeF9cWobGxsaN25MTk4O48aNo27duuTm5irlxx48eDD29vbS0PnZs2e4urqydOlSatasWaiNTUxMJI2KfgiVlpBJQeRmmpaWxrx589DW1sbOzo7ExERu377N9evXUVFRwdzcvET0ouWx6czMTIYNG4a7uzsTJ04kLCyMp0+fUrlyZXx9fYmKiiIlJQUbGxuFt6/8gTNy5EhevHiBhYUFlStXRkVFRRrKX7p0iZ07d9K/f3969OhRoo0USoiZyhv222+/pU2bNvj6+koz5wYGBnh4ePD69WuaNm0q7VGUlJTE48ePWbRokVJvNH19fdq1aydtMqaMXsndu3fx9PTE3NwcIyMjqlWrhouLC5aWlkydOlXSlZKSQosWLWjSpInCi2d/SOXKlenUqRPVqlXj7du3BAQEcPnyZXR0dHBzc6N58+aMGDGixNxAKioqzJgxQyoQ4uDgwJAhQyhXrhyHDh0iICCAW7duYWFhobTaCwW1wvu6oK9evWLJkiU8evSIyZMns3fvXiZNmoS/vz9RUVFYWlpKcWlFIX+wHzt2jJ07d+Ll5SWtZtq2bRvXr1+nVq1a1KxZE1tbW3r37i39XSUxjCKnxAzzAwICmD17Nr/++isVKlSgSZMmDBs2jG+++YYhQ4YQGhpK9erVpVQpwZ/83dBZPqSfOnUq4eHhXLhwQdmSC1HSQiYFkfdKMzIyGDRoELVq1WL58uWFTP78+fNMnDiR2rVr4+XlVWJW6Ny+fZvw8HCcnZ1ZsmQJ0dHRbNmyBXV1dRYtWoS+vj4jRoxQ+P7ycnr27Ennzp2ZMmUK4eHheHt7c/ToUdTU1DA0NOTMmTMlIpb7pZSY1KjMzEwaN26MlpYW3t7eaGpq4uzsjJ6eHn369KFLly4MHToUQBpKl+SnlCIxNjZm5syZ3L59W+olGRkZceTIEfr374+enh5RUVHs3r2bq1evAh+v1FEmenp6ODs7Y29vzy+//ELTpk1RV1dX2l4+8H59eNmyZaUFBpqamtjZ2XHs2DESExMxNDSUjN7S0pJ27doxZsyYEmOkAPXq1ZNiojKZjISEBN69e4e6ujrXr1/H0dFRKUYqk8nIysrC0NCQyMhI4uLicHNzQ19fHx8fH7S1tZk0aRJxcXGlykyVHyn/f7p168aMGTMoW7Ys7969o2rVqtLa4ZcvX/L69WvpwlBTUxNG+glsbW1ZunQpCxcupGXLluzbt4/x48dz5swZpk2bxjfffEO9evVKlJEWpEaNGsyfP19aRKDMLaYXLFjA+vXrSU9Pl9qqffv2xMXFMWTIECIiIlBVVeXt27dcu3aNgIAApSzDLMiHiwTU1dUlc2/YsCFxcXHMnz+f3r178/DhQ8aMGaMMmaioqKChoUG3bt0ICwujbdu2ZGdnM3XqVFq2bImGhgavXr0qUYsevgSFD/O/ZF320aNH+e6773B1daVSpUrMmzePs2fPYmtrq/RhX2mhJA+dSzovX75kypQpvH79mipVqjBw4EDJ4B8/fsykSZO4du0arVq1IikpiTdv3jBr1ixpaw1lUDDj4Ny5c+zfvx8NDQ0aNWpEt27dMDU1Ze3atVy6dIlatWrRq1cvpZevS09P58aNG+Tn59OkSRPKly9Pamoq48ePJycnh3379pXYdLNPoVAz/btSdgXx9PSULggnJyemTZsmTOAf8PjxY2no3KNHD6UOnUsTiYmJ+Pn5cebMGRISErC2tmbIkCFSGbiAgACOHTtG9erVqV+/vrSls7KQjzbWrl2Lj48P9vb2xMTEcPXqVfz8/KStaNLT09HS0lKavqysLB49ekRcXBwaGhpYWFhIdRaePn3Kvn378PX15cyZM5iYmJSqe16hZvolpexyc3OpVq0ahlUrY64AAAbYSURBVIaGJCYmoq6ujq6urlTZvLQ0rKD0UvA6++OPPzhy5AhBQUFSVf+hQ4cqdSO/D5F3UpKTk2nYsCFeXl506dKFxYsXExISwsmTJ0lOTuaPP/6gVatWSu3pjR8/nt9//50HDx5Qo0YNzM3N6d27NwMGDODZs2f4+/tTu3ZtOnXqVGLDUZ9DYWb6paXsNDU16dixI56entIFW5q6+oJ/Dx8m6x86dIjQ0FD09PQkA5AvIikJ7N+/n23btnH+/Hl+//13evXqxYkTJ7C1teX69eusWLGCWbNmSb1rRSE3xT179rB48WJ+/vlnWrRowblz5zh//jx37txhzpw5dO/evVTf6wrr5n1pKTt3d3dOnjzJjh07PvqsQFBcyKsQJScnc/ToUaZPn87AgQPx9PTkyZMn2NnZ4eHhwbhx49DX12fz5s1MmDCBnJwcJSv/k7p165KamgqAh4cHTk5O0i4A79694/Hjx1haWipcl7x3Kc9x7dy5M7q6uvTt2xd3d3esrKyYPn068fHxpfpeV2jwTF7KzsTEhKCgIFq3bl2olB28n9H97bffiI2NlZYWCgTFiXzFUEJCAhMmTODevXvo6uqioaHBunXr2LJlC66urkyePJn+/ftLKVwWFhZS3U1lapcbkImJCerq6rRr145Hjx4RHR0NvO+wLFq0iJ49e0oZMorWmJeXh4GBAWFhYdIsvUwmQ09PjylTpjBmzBgSExMxNjZWuL6iQqFmWppK2Qn+95g4cSKamprs2bMHGxsb4uPjefr0Kd7e3ixYsIDIyEhWrlxJpUqV+OGHH5SmU26g8mHy8+fPmTt3LnXr1mXhwoUsX76cSpUq8eOPP2Jqairt4rpo0SKF6Cu47r5ixYqUKVMGNTU1WrVqxebNm7lx4wbNmzcv1At98eJFiQqZ/BOUsgKqYHJ5amoqEyZMKJRc3rp1a65evUrt2rXFpJOgWJEb0/Xr1+nfvz9Xr179qPhHYmIi69evZ8eOHfj7+1OvXj0lqf1zciwoKIixY8diZWVFRkYGd+/eJSQkRJp7uHjxIg8ePCAqKorhw4fj4OCgEN3y9sz5v/buICSVLYwD+B8kQcjMIiwwaNGignAjTGnRRoKIokVSRGEagYHhso0rd1ZEm7JVGmFCIJIthIgSajatKgsiw4LcVBtDC/LW8Bbh3HzvXe5dzHVG+35rhYM4/zkz55zv+/EDLS0tiEQifFW3l5cXWK1WxGIxTE1NYWhoiF/gq62thd/vL+nrXdTjpFItZUe+H4/Hg/Pzc/h8Pshksv/87ziOQ1tbG8bHx+FyuUQa5U86nQ5jY2NwOBzIZrOYnJxEX18fQqEQ6uvr0draCrvdjpqamqLO+PJh6HQ6EY/HcXBwAKDwdcTGxgaWlpaQyWSgUqnAMAwWFxdRWVlZ0mEq6oZDk8kEvV7Pby6fm5vD09MTQqEQAFp4IsVTV1eHRCLBB8/Xiz//TrWjo4NvqyOG/ORidXUVwGfrF+CzElcqlcLu7i56enpwdnYGr9cLjUaDmZmZoo0v/zvd3Nxgc3OTD1IAWFlZgUqlwsTEBCwWCywWC+LxODQaDdRqNSoqKko6SAEJnM2X4rls8v1otVokEgkEg0EMDw/zC0tfjzRms1lRn5RkMhk4jsPy8jK6urqQy+Ugl8sRDAaRy+Wwvr7Ov6Iwm82IxWKw2WxFW3vI33xmZ2cLduzc39/D4/EgEAgA+Hmjam9vL/h+KQcpIKGz+VI6l02+H6PRCL1ej4WFBezt7eH5+bng6HM0GsXx8TEcDoeo40yn02AYBqlUClarFTs7O3C73XC73WhsbMTr6ysAgGEYZDKZogfUxcUFTk9PC5pPulwumEwmybSg+VskU4KPELElk0nYbDZcX19jYGAAnZ2daGhowP7+PliWxcjICJxOp9jDBMdxODo6wtraGq6urpBOpxEIBGAwGPjPGAwGmM1mvp5tsfyuHGS+0Hc5BqokikMTIgVqtRqDg4NQKBQIh8OIRCIIh8N4f3+H3W7H9PS02EME8Dmza2pqQn9/P6qqqvDw8IDDw0Pc3d1Bp9Nhe3sb0WgUW1tbRR/brzopKJVKNDc3Q6FQ8LP9cgtUmpkS8gsnJyfQarVQKpWiFVD+E4+Pj/B6vWBZFnK5HCzLwufz8RXqxfTvHTujo6N8X7dyQ2FKSJm4vLyE2+1GdXW1JBoR5n0tB5lMJtHd3Y35+XmxhyU4ClNCysjHxwfe3t5EKbP3O7e3t/D7/TAajejt7S3poib/h8KUEEIEIJmtUYQQUsooTAkhRAAUpoQQIgAKU0IIEQCFKSGECIDClBBCBEBhSgghAqAwJYQQAfwD8kqaQYlOdmAAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make the plot\n", "price = price_calc(demand, sorted_joined_table)\n", "plt.figure(figsize=(9,6))\n", "plt.bar(new_x, height, width=width, color=sorted_joined_table['Color'], edgecolor = \"black\")\n", "plt.title('All Energy Sources')\n", "plt.xlabel('Capacity_MW')\n", "plt.ylabel('Variable Cost')\n", "\n", "print('Hour: ' + str(hour))\n", "price_line_plot(price)\n", "demand_plot(demand)\n", "\n", "plt.show()\n", "\n", "plt.figure(figsize=(5,1))\n", "plt.bar(energy_colors_dict.keys(), 1, color = energy_colors_dict.values())\n", "plt.xticks(rotation=60)\n", "plt.title('Legend')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we have a market price. Let us construct the same plot, but this time only considering the plants that are part of our portfolio." ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [], "source": [ "your_source = sorted_joined_table.where(\"Group\", YOUR_PORTFOLIO)\n", "width_yours = your_source.column(\"Capacity_MW\")\n", "height_yours = your_source.column('PRICE' + str(hour))\n", "height_yours_marginal_cost = your_source.column(\"Var_Cost_USDperMWH\")\n", "new_x_yours = find_x_pos(width_yours)\n", "label_yours = your_source.column(\"PLANT\")" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Price: 300.0\n" ] }, { "data": { "image/png": "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3KiTJ08a7+Iqixu4r5Z2bxSXgotXGnMz9tUBeuNBtxLdJsxh8OJdmvHkfc4uA/9xK/w+boVjLA2lNW9l/fv46848vR7zaZnt73Kc+roTNzc31a9fX82aNdPo0aN133336aOPPjLeyZWVleUwPisrSz4+PpIkHx8fZWdny27/75Vku92uY8eOGWMAAABuJeXqPXaFhYXKy8tTvXr1ZLValZiYaPSdO3dOW7duVcuWLSVJgYGBOn36tJKTk40xycnJOnPmjDEGAADgVuK0S7HvvPOOunTpotq1a+v06dOKi4vTpk2btGjRIlksFkVGRmrSpEny8/NTw4YNNXHiRHl4eKhPnz6SpMaNG6tTp04aMmSIpkyZIkkaMmSIunbtymVQAABwS3JasMvIyFBERIQyMzNVtWpV3XPPPYqLi1PHjh0lSa+++qpyc3M1fPhw5eTkKCAgQEuWLFGVKlWMbcyePVsjRoxQ7969JUnBwcEaP368U44HAADA2ZwW7C73heS/Z7FYFBUV5fAOrv/l6elZ5F1cAAAAt6pydY8dAAAA/rg/fMbu5MmT+v7775WVlaX27dvzJCoAAICT/aEzdh988IGaNGmiJ554QoMHD1ZqaqokKTs7WzVr1tScOXNKtEgAAABc3XUHuzlz5mjMmDHq06eP5s6d6/AeuerVq6tbt276xz/+UaJFAgAA4OquO9h9/PHH6tmzp2JiYvTII48U6b///vv1008/lUhxAAAAuHbXHez279+vRx99tNh+T09PHT9+/IaKAgAAwPW77mDn6elZ5Ku+fi81NdX4SjAAAACUnesOdl26dNFnn3122bNyu3fv1rx589StW7cSKQ4AAADX7rqD3VtvvSVJat26td555x1ZLBYtWLBAf/7zn9WxY0dZrVaNGDGixAsFAADAlV13sLNarVq/fr26du2qFStWyG63a/HixVq3bp2efPJJrV27VnfeeWdp1AoAAIAr+EMvKPby8lJMTIxiYmJ07NgxFRYWysvLSxUq8EUWAAAAznLD3xXr5eVVEnUAAADgBl33KbaoqCg1b9682P6AgACNGjXqhooCAADA9bvuYPfVV1/piSeeKLa/V69eSkhIuKGiAAAAcP2uO9gdOnRIvr6+xfb7+vrq0KFDN1QUAAAArt91B7sqVaooPT292P79+/erUqVKN1QUAAAArt91B7tHHnlE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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make the plot\n", "plt.figure(figsize=(9,6))\n", "plt.bar(new_x_yours, height_yours, width=width_yours, color = energy_colors_dict[YOUR_PORTFOLIO], edgecolor = \"black\")\n", "plt.title(YOUR_PORTFOLIO)\n", "plt.xlabel('Capacity_MW')\n", "plt.ylabel('Price')\n", "for new_x_i, height_i, label_i in zip(new_x_yours, height_yours, label_yours):\n", " plt.text(new_x_i, height_i, label_i,\n", " ha='center', va='bottom', fontsize=8)\n", "price_line_plot(price)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's reduce our problem further to only include the plants that are actually operational under the new market price. Run the following cell to see the plants that will operate given our market price, and then we can begin the process of calculating our profit." ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Price: 300.0\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGpCAYAAAAA1HueAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XlcVdX+//E34kSIHmQ4aojeEMXxqhg4pDkrYuJUatNPi1Cqe9MbDpSWt/yG0zWtFFNTyywH1HLEa6nlAGJpqamkeR1TQBIVhUw4vz/8ur+eiwMkcHD7ej4ePB6ctdbZ+7PPSnu7h3WcMjIybAIAAMA9r5SjCwAAAEDhINgBAACYBMEOAADAJAh2AAAAJkGwAwAAMAmCHQAAgEkQ7ADcdxYuXCiLxaKFCxc6uhQAKFSlHV0AANwNi8WSp61s2bKyWq1q1aqVhg0bpjp16jigsmsuX76szz77TPHx8dq3b59+++03lS5dWlarVY0bN1ZISIh69uypsmXLOqxGAObhxALFAO5l14PdyJEjjbYLFy5o165d2rFjh1xdXbVu3To1atTI6D9//rxSUlJktVpVqVKlIqvtu+++08CBA3Xy5El5e3urdevW8vHxkc1m08mTJ7Vt2zalpKSoXr162r59e5HVAeD+QbADcE+7HuwyMjLy9A0fPlyzZ8/WgAEDFBsbW6x1JScnq1OnTsrMzNTrr7+uv/3tb3nOyuXk5GjNmjWaMWOG4uPji7U+AObEPXYATKt9+/aSpPT0dLv2291j9/XXX6tLly6qVq2aatasqSeffFI///yzIiMjZbFYdOzYsXzte8SIEbpw4YKGDRumV1999aaXWp2dndWjRw+tXr3arv3KlSuaNWuWHn/8cTVo0EDe3t6qUaOGevToccsAuG/fPoWHh6tRo0ayWq166KGH1LJlS7366qs6f/58vmoGcO/jHjsAprV582ZJUtOmTfM1ftmyZQoPD1e5cuXUs2dPVa1aVUlJSerUqZMaNGiQ7/0ePXpU33zzjVxcXPT3v//9juNLl7b/q/jcuXMaNWqUgoOD1a5dO3l6eurMmTOKj49X//799e6772rQoEHG+H379qljx45ycnJSly5d9Je//EWZmZk6fvy4PvvsM7300ktFeskZQMlBsANgCjExMcbvFy9e1O7du5WYmKiQkBC9/PLLd3z/xYsX9Y9//EPOzs6Kj49X48aNjb6xY8dq6tSp+a4lISFBktS4ceM/FagsFov27t2rBx980K79/Pnz6tq1q/75z3+qf//+cnFxkSR9/vnnys7O1qeffqru3bvnOS4ezADuHwQ7AKYwYcKEPG0BAQHq3bu3KlSocMf3r127VufPn1e/fv3sQp0kRUVFad68efm+pJmamipJqlq16k37Z86cqXPnztm19evXTw899JAkqVy5cnlCnSRVqlRJTz31lEaPHq1du3apVatWdv3Xg96N3Nzc8lUzAHMg2AEwhRsfnrh06ZIOHjyosWPH6oUXXtDBgwc1ZsyY275/z549kqQWLVrk6atQoYIaNmyorVu3FkqtH374of7zn//YtT388MNGsJOkAwcO6L333tP27duVkpKi7Oxsu/GnT582fu/du7dmzpypp556Sj169FCbNm0UFBSk2rVrF0q9AO4dPDwBwHRcXV0VGBioBQsWyNXVVdOmTdPJkydv+54LFy5Ikry8vG7a7+3tne/9Xx97Y/i60e7du5WRkaGMjAwNGDAgT//OnTvVvn17xcXFyd/fXwMHDtTw4cM1cuRIdevWTZL0+++/G+MDAwMVHx+vtm3bavXq1Xr55ZcVFBSkRo0aae7cufmuG8C9jzN2AEzLYrGoVq1a+vHHH/Xjjz/Kx8fnlmOvX7JMS0u7af/1y6v5cf2s3w8//KALFy6oYsWKBahamjx5srKysrRq1Sq1bt3arm/KlClau3Ztnvc8/PDDWrRoka5cuaI9e/Zo06ZNmj17tv7xj3/IxcXlpgESgPlwxg6AqV2/RJubm3vbcdcXML7+4MONMjMztXfv3nzvs2bNmnr00UeVlZWl9957rwDVXnPkyBG5u7vnCXWStG3bttu+t2zZsmrWrJmGDx+umTNnSlKe5VQAmBfBDoBprV69WseOHVOZMmUUHBx827HdunVTxYoVtXz5cv3www92fZMnTy7wWnATJkxQxYoVNWXKFE2dOlVXrlzJMyY3N1cXL17M0+7r66tz585p3759du2ffPKJvv766zzjd+zYoaysrDztKSkpkqQHHnigQLUDuHdxKRaAKdy43Mnly5eVnJysDRs2SJLeeOONO94jV7FiRU2ePFmDBw82vr/1+jp2e/fuVatWrbRt2zaVKpW/fw8HBARo2bJlGjhwoMaO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+rSOHTumJ554wu5L1KVrZ/5OnjypsLCwoj8gAHeFM3YAit38+fN18uRJjRs3Lk+ok6RKlSrpjTfeMF5v375dgwYNUoMGDeTt7a06dero73//u86dO2f3vpiYGFksFh08eFDh4eHy9fVVjRo1NHToUGVmZtqNXbt2rfr166d69erJ29tbDRo00JgxY5SdnZ2nnsOHD+v5559XrVq1ZLVa1bRpU40aNcro/+977EJDQ7V+/XqdOHFCFovF+MnNzVWDBg3Uv3//PPu4evWq/P39NWjQoIJ9mJL69u2rr7/+2u7z+Omnn7R//349/vjjecY3b95cv/32m5KTk422HTt2qGzZshoyZIjS0tJ0+PBhuz5JatGiRYFrA1C8OGMHoNitW7dO5cuXV69evfI1/osvvtCFCxc0cOBAeXl5ad++fVqwYIEOHDigf//733m+mPu5555TtWrVNGbMGO3du1fz58/XqVOntHTpUmPMwoULVa5cOQ0ePFgVK1bUzp07NWPGDJ06dUpz5841xh04cEBdunRRqVKlNHDgQNWsWVPHjx/X8uXLNX78+JvWGxUVpQsXLujXX3/VO++8Y7SXKlVKTzzxhN5//3399ttvqly5stG3ceNGpaWl3TT03UloaKiGDh2qL7/8UgMHDpR07TKsj4/PTcNY8+bNJV27vBoQECBJSkhIUOPGjdWkSRNVrFhRCQkJqlWrljFOItgB9wKCHYBid/DgQdWqVUtly5bN1/ixY8fmubcrKChIL7zwghITE/MEjmrVqmnp0qVG4LNarZo0aZI2b96stm3bSpJmz55tt81BgwbJz89P48aN01tvvSUfHx9J10JaTk6Ovv32W9WsWdMYP2bMmFvW265dO1WrVk0ZGRnq16+fXV///v01ZcoULV++XOHh4Ub7kiVL5OnpqQ4dOuTrM7mRq6urQkJCtGTJEg0cOFA2m01xcXHq27dvntArSQ8//LBKly6thIQEIwgmJiaqTZs2cnJyUlBQkBITE/XMM89Iuhb6/P395eHhUeDaABQvLsUCKHYXL16Um5tbvsdfD2A2m00XLlxQenq6goKCJF17COO/vfDCC3aBZsiQIZKk+Pj4PNvMzc3V+fPnlZ6erubNm8tms+nHH3+UdO2p3W3btunJJ5+0C3WSbhqY8qN27doKDAzU4sWLjbbMzEytXbtWffr0UenSf+7f23379lVCQoJOnjypxMREnThx4qaXYaVrx96oUSPjTFxmZqb27dun4OBgSTKCnXTtfsgDBw5wtg64RxDsABQ7Nzc3Xbx4Md/jT548qeeee06+vr7y9fWVn5+f/vrXv0qSLly4kGe8n5+f3WsPDw9ZLBYdP37caLt+/9mDDz6oGjVqyM/PT6GhoXbbPHr0qCTd9D7AuzFgwADt3LlT//nPfyRJq1at0uXLl//UZdjrOnbsKIvFomXLlmnp0qWqV6+e6tevf8vxzZs317Fjx3T69Gl99913ysnJMYJdcHCwfvnlF6WlpWnnzp3Kzc01Lt8CKNkIdgCKXZ06dXT48GFduXLljmNzcnLUu3dvbd68WcOGDdOnn36qFStWaNmyZZKunXErqPPnz+uxxx7TwYMHNXr0aH3++ef64osvjHXn/sw2C6JPnz4qW7ascdZuyZIlql27tpo0afKnt1mmTBmFhYVp8eLF+vLLL295tu66G++zS0hIkJ+fn7y8vCRJzZo1k7OzsxISEri/DrjHcI8dgGIXEhKiHTt26IsvvtATTzxx27E//fSTfv75Z82YMUNPPvmk0f7LL7/c8j2//PKLceO/JKWnpysjI8NYZ27Lli1KT0/Xxx9/rEceecQY99/LfPzlL3+RdO0BisLk7u6uLl26GPfEffvtt3rttdfuert9+/bV/Pnz5eTkpD59+tx27PWglpCQoOTkZLszcq6urmrQoIESExP1448/qkqVKsZnAaBk44wdgGI3cOBAVatWTaNHj7ZbcuO6ixcv6u2335YkY304m81mN+b999+/5fZnz55tN37mzJmSpC5dutxym7m5uZo+fbrddjw8PNSqVSt99tlnxmXZ6/67nv/m6uqq8+fP33LcgAEDdOTIEUVHRys3N/eOATc/WrVqpdGjR2v8+PF2iyXfjJeXl/z8/LR161Z9//33xmXY64KCgrRlyxbt2rWLy7DAPYQzdgCKncVi0cKFC/X444/r0UcfVd++fdW0aVOVKlVK+/fv17Jly+Tu7q4xY8aodu3a8vPz0+jRo/Xrr7/K3d1dGzZs0K+//nrL7f/66696/PHH1aVLF+3bt08ff/yx2rdvr3bt2km6dhmycuXKioyM1ODBg1W6dGmtXLkyz1p3kjRx4kSFhISobdu2GjRokGrWrKkTJ05o+fLl2rVr1y1raNKkiZYvX65Ro0apWbNmKlWqlN1ZtE6dOsnT01MrVqzQI488ourVq9/FJ3qNk5OToqKi8j2+efPmWrhwofH7f/fNnj37pn0ASi7O2AFwiCZNmighIUGDBw/Wzp079frrr2vUqFHaunWrBg4cqLVr10q6du/YokWL1LRpU73//vsaN26c3NzcjHvsbuajjz6SxWLR22+/rRUrVujZZ5/V/PnzjX53d3ctWbJEPj4+iomJ0ZQpU1SvXj3jzN6N6tevrw0bNqhNmzaaN2+eRo4cqRUrVqhr1663Pb7nn39e/fv315IlSxQREaHnn3/err9MmTJG0PvvJVGKy/XAVrlyZfn7+9v13XgGj2AH3DucMjIybn89AQDuETExMZowYYKSk5NltVodXc4djRkzRrNnz9bPP/+sihUrOrocACbAGTsAcIDff/9dixcvVvfu3Ql1AAoN99gBQDFKS0vT5s2btXr1aqWlpenFF1/MM+bs2bPKycm55TacnZ3l6elZlGUCuEcR7ACgGB08eFAvvPCCPD099c4776hp06Z5xrRr104nTpy45TaqV6+uvXv3FmWZAO5R3GMHACVMYmKisrOzb9lfvnx5HmgAcFMEOwAAAJPg4QkAAACTINgBAACYBMEOAADAJAh2AAAAJkGwAwAAMIn/D3R7+c2bgT5FAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nonmarg_capacity = sum(sorted_joined_table.where('PRICE' + str(hour), are.below(price))[\"Capacity_MW\"])\n", "marg_capacity = sum(sorted_joined_table.where('PRICE' + str(hour), are.equal_to(price))[\"Capacity_MW\"])\n", "marg_demand = demand - nonmarg_capacity\n", "marg_proportion = marg_demand / marg_capacity\n", "\n", "marginal_plants = np.where(height_yours == price)[0]\n", "width_yours2 = width_yours.copy()\n", "width_yours2[marginal_plants] = width_yours2[marginal_plants] * marg_proportion\n", "new_x_yours2 = find_x_pos(width_yours2)\n", "\n", "\n", "plt.figure(figsize=(9,6))\n", "num_x = len(your_source.where('PRICE' + str(hour), are.below_or_equal_to(price))[1])\n", "plt.bar(new_x_yours2[:num_x], height_yours[:num_x], width=width_yours2[:num_x], \n", " color = energy_colors_dict[YOUR_PORTFOLIO],\n", " edgecolor = \"black\")\n", "plt.title(YOUR_PORTFOLIO)\n", "plt.xlabel('Capacity_MW')\n", "plt.ylabel('Price')\n", "for new_x_i, height_i, label_i in zip(new_x_yours2[:num_x], height_yours[:num_x], label_yours[:num_x]):\n", " plt.text(new_x_i, height_i, label_i,\n", " ha='center', va='bottom', fontsize=8)\n", "price_line_plot(price)\n", "\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot above allows us to see how the prices we have set correspond to the market price. However, in order to look at the profits that we are making, we should look at our marginal cost rather than our bid prices. We do this in the plot below, allowing us to compare the market price of energy in this hour to the marginal costs for running the plants that have a bid price that was below the market price. We should include the permit price in marginal cost: even if we are grandfathered permits, the ability to sell the permits represents an opportunity cost." ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Price: 300.0\n" ] }, { "data": { "image/png": "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AOxj9z12jRo10qJFi9S6dWutW7dOqamp6tKli7X9xIkT8vLyckiRAAAAuDu7g93rr7+u3r17q23btrJYLOrVq5caNWpkbf/qq6/UpEkThxQJAACAu7M72D322GPas2ePdu/erbJly6ply5bWNrPZrLCwMLVo0cIhRQIAAODu7A52klSxYkV17do1x3IPDw9FREQUWFEAAADIv3wFO0n6+uuv9fXXX+v06dOSJB8fH3Xp0kUdOnQo8OIAAABgP7uDXUZGhv76179qw4YNKlasmCpXrixJ+u677/Tpp5+qY8eO+vzzz1WqVCmHFQsAAIDc2T3dSVRUlL7++muNGTNGx48f16FDh3To0CGdOHFC48aN04YNGzRp0iRH1goAAIA82B3sVqxYoeeee07jxo1T2bJlrcvLlCmjMWPGaMCAAVq+fLlDigQAAMDd5evNE7dPb/JHgYGBSk5OLpCiAAAAkH92B7uHH35YW7ZsybV9y5YtNq8cAwAAQOGyO9j1799fK1eu1IgRI3TkyBFlZmYqMzNTR44c0UsvvaTVq1frueeec2StAAAAyIPdT8X+4x//0KlTp7R48WItWbJEJpNJkmSxWGSxWDRw4EBFRkY6rFAAAADkze5gV6xYMc2cOVPDhg3T119/rV9//VWSVL16dXXq1En169d3WJEAAAC4u3xPUFy/fn1CHAAAQBGU5z12165dU2RkpKKjo/PcSHR0tP7xj38oMzOzQIsDAACA/fIMdgsWLNAXX3yhzp0757mRzp07a8mSJVq0aFGBFgcAAAD75Rns/vvf/6p79+565JFH8tzII488opCQEMXExBRocQAAALBfnsHuxx9/VNOmTe3aUFBQkH788ccCKQoAAAD5d9d77EqXLm3XhkqXLq1r164VSFEAAADIvzyDnZeXl37++We7NvTzzz/L09OzQIoCAABA/uUZ7Fq2bKlly5YpNTU1z41cvXpVy5YtU6tWrfK18+3btys0NFR169aVh4eHlixZYtMeEREhDw8Pm0+HDh1s+ly7dk2jR49WzZo1VbVqVYWGhurs2bP5qgMAAMAI8gx2L730klJSUvTMM8/ozJkzd+xz5swZ9evXTykpKXrxxRfztfO0tDTVq1dPkyZNkqur6x37tGnTRgkJCdbP8uXLbdrHjx+v1atX65NPPtHatWt19epV9evXT1lZWfmqBQAA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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(9,6))\n", "num_x = len(your_source.where('PRICE' + str(hour), are.below_or_equal_to(price))[1])\n", "plt.bar(new_x_yours2[:num_x], height_yours_marginal_cost[:num_x], width=width_yours2[:num_x], \n", " color = energy_colors_dict[YOUR_PORTFOLIO],\n", " edgecolor = \"black\")\n", "plt.title(YOUR_PORTFOLIO)\n", "plt.xlabel('Capacity_MW')\n", "plt.ylabel('Marginal Cost (total)')\n", "for new_x_i, height_i, label_i in zip(new_x_yours2[:num_x], height_yours_marginal_cost[:num_x], label_yours[:num_x]):\n", " plt.text(new_x_i, height_i, label_i,\n", " ha='center', va='bottom', fontsize=8)\n", "price_line_plot(price)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can finally calculate profit. The graphic above should show the market price line along with the marginal costs for operating our plants. Thus we can calculate profit by calculating the area between the red line and the blue boxes, as that will give us the total revenue - total cost. The function defined below is designed to perform that calculation." ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [], "source": [ "def profit(sorted_table, price):\n", " capacity_subset = sum(sorted_table.where('PRICE' + str(hour), are.below(price))[\"Capacity_MW\"])\n", " capacity_subset += sum(sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Capacity_MW\"] * marg_proportion)\n", " revenue = capacity_subset * price\n", " cost = 0\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.below(price))[\"Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.below(price))[\"Var_Cost_USDperMWH\"][i]\\\n", " * sorted_table.where('PRICE' + str(hour), are.below(price))[\"Capacity_MW\"][i]\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Var_Cost_USDperMWH\"][i]\\\n", " * (sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Capacity_MW\"][i] * marg_proportion)\n", " return revenue - cost\n", "\n", "def profit_pab(sorted_table, price):\n", " revenue = 0\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.below(price))['PRICE' + str(hour)])):\n", " revenue += sorted_table.where('PRICE' + str(hour), are.below(price))['PRICE' + str(hour)][i]\\\n", " * sorted_table.where('PRICE' + str(hour), are.below(price))[\"Capacity_MW\"][i]\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.equal_to(price))['PRICE' + str(hour)])):\n", " revenue += sorted_table.where('PRICE' + str(hour), are.equal_to(price))['PRICE' + str(hour)][i]\\\n", " * (sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Capacity_MW\"][i] * marg_proportion)\n", " cost = 0\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.below(price))[\"Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.below(price))[\"Var_Cost_USDperMWH\"][i]\\\n", " * sorted_table.where('PRICE' + str(hour), are.below(price))[\"Capacity_MW\"][i]\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Var_Cost_USDperMWH\"][i]\\\n", " * (sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Capacity_MW\"][i] * marg_proportion)\n", " return revenue - cost" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "221389.0" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "profit(your_source, price)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now calculate the number of permits used." ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [], "source": [ "def permits(sorted_table, price):\n", " permits = 0\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.below(price))[\"Var_Cost_USDperMWH\"])):\n", " permits += sorted_table.where('PRICE' + str(hour), are.below(price))[\"Carbon_tonsperMWH\"][i]\\\n", " * sorted_table.where('PRICE' + str(hour), are.below(price))[\"Capacity_MW\"][i]\n", " for i in range(len(sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Var_Cost_USDperMWH\"])):\n", " permits += sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Carbon_tonsperMWH\"][i]\\\n", " * (sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Capacity_MW\"][i] * marg_proportion)\n", " return permits" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "501.5" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "permits(your_source, price)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now have the ability to estimate the amount of profit our plants will generate based on a given amount of demand! Again, this does not include considerations of credit or carbon emmissions, but it should give you a general sens of how your plants performed for this hour. Try going back to the start of the notebook and changing the hour you are examining, or add more cells to do a deeper analysis of your performance on your own to make better decisions for your team in the future." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conclusion and Resources" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Congratulations! You have completed your Jupyter Notebook for the ESG. If you have questions, please do not hesitate to post them on the dedicated Piazza thread (https://piazza.com/class/jr2lknh4q311x1?cid=41)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Module Developers: Alec Kan, Alma Pineda, Aarish Irfan, Elaine Chien, and Octavian Sima.\n", "\n", "Data Science Modules: http://data.berkeley.edu/education/modules" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }