{ "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": 332, "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": 333, "metadata": {}, "outputs": [], "source": [ "section = 1\n", "YOUR_PORTFOLIO = \"East Bay\"\n", "period = 2\n", "hour = 3" ] }, { "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": 334, "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": 335, "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": 336, "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. The first few rows are shown below." ] }, { "cell_type": "code", "execution_count": 337, "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
Big Coal 1 FOUR CORNERS 1900 11.67 3 35 1.5 36.5 1.1 $8,000 11
Big Coal 1 ALAMITOS 7 250 16.05 4.5 72.22 1.5 73.72 0.85 $0 12
Big Coal 1 HUNTINGTON BEACH 1&2 300 8.67 4.5 39 1.5 40.5 0.46 $2,000 13
Big Coal 1 HUNTINGTON BEACH 5 150 14.44 4.5 65 1.5 66.5 0.77 $2,000 14
Big Coal 1 REDONDO 5&6 350 8.99 4.5 40.44 1.5 41.94 0.48 $3,000 15
\n", "

... (37 rows omitted)

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "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": 338, "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
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
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
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
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
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
\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": 339, "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": 340, "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": 341, "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": 342, "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": 343, "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": 344, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGpCAYAAAAA1HueAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xl8jOf+//H3iC0SjEYSVUJJSGmILVEOLWIrtdROj5YqzcFRSjSlp6olgioHTam1xSlCLdVyqhxrSDfVKhrUUiWJREjShIr5/eFnvh3ZJpFkuL2ej0cej859X/d1fyZXRt+P677va0xJSUkWAQAA4L5XzNEFAAAAoGAQ7AAAAAyCYAcAAGAQBDsAAACDINgBAAAYBMEOAADAIAh2AGysXLlSZrNZK1eutNnu5+cnPz8/B1UFALAHwQ54QERERMhsNstsNuubb74p9PP5+flZz5fdz53hEVJsbKwmTJigpk2bqnLlyvL09FTdunXVoUMH/etf/9LPP//s6BIB3MOKO7oAAEVj+fLlMplMslgsWrZsmRo3blwk53355ZdVvnz5LPcxA2jr6NGj6ty5sxISElSnTh317dtXFSpUUEJCgr777jvNnTtXFSpUUJ06dRxdKoB7FMEOeADs379fx44dU69evRQVFaVPP/1UU6dOVbly5Qr93MHBwapWrVqhn8cIXn/9dSUkJOi1117Ta6+9lmn/b7/9psuXLzugMgD3Cy7FAg+AZcuWSZKee+459evXT6mpqVq7dq1ji7rDnj17ZDabFRwcrDNnzmjw4MGqUaOGPD099dRTT2nr1q3ZHrtx40Z17dpV1atXl4eHhxo2bKhJkybp6tWrmdrevkR87do1hYWFqWHDhnJ3d7cJUhcvXtQ//vEPeXt7q1KlSvrb3/6mVatWWWsMCwuztm3btq0qVKig06dPZ1nbkiVLZDab9c477+T6Ozh48KCkW7OcWalSpUqWs5xxcXEKCQlR/fr15eHhoUcffVR9+vTRvn37MrXN7h7K27K6l/L2MWFhYfr666/Vs2dPVatWTWazWUlJSdZ2MTExGjFihOrVqycPDw/VrFlT7dq107x58zKd59SpUxo5cqQef/xxa9sBAwbo0KFDmdomJydrxowZatasmby8vPTII4+oXr16eu6557Rnz54s3wfwoCLYAQZ3+fJlbdq0SVWrVlXLli01YMAAmUwmLV++3NGlZencuXNq06aNzp49qz59+qh79+46evSo+vfvr927d2dq/+qrr+r555/XiRMn1LlzZw0dOlQeHh6aPXu2OnTooOTk5CzPM3DgQC1fvlxPPPGEgoOD5ePjI0mKj49X27ZttWrVKvn4+Cg4OFj16tXT2LFj9cEHH2TqZ/DgwbJYLProo4+yPM/SpUtVrFgxPf/887m+9woVKkiSTp48mWvb286ePatWrVpp4cKFqlKlioYPH64OHTpo9+7deuaZZwr0Psbo6Gg9/fTTunHjhgYOHKjevXvLyclJkrRt2za1bNlSK1euVK1atTR8+HB169ZNTk5Omjlzpk0/u3btUsuWLfWf//xH9evX18svv6zWrVvrq6++Uvv27fXVV19Z21osFvXs2VNTpkyRs7OzBgwYoCFDhqhp06Y6dOiQdu3aVWDvDzACLsUCBvef//xH6enp6tevn0wmk6pXr65mzZpp3759+u6779SwYcNCPX9ERES299gFBwfLbDbbbNu7d2+mS5G9evVSjx49NHfuXLVs2dK6ffXq1Vq8eLE6d+6sDz/8UM7OztZ9M2bM0JQpUzRt2jRNmTIl07nPnTunffv2yc3NzWb7W2+9pXPnzmn48OE2xwUHB6tNmzaZ+unevbsmTJigFStWKDQ0VCVKlLDu++abb/Tjjz+qffv2qlq1ana/Ipu+5s2bp759+2rw4MFq0aKFHn/88Uy/o78aM2aMzp8/n+l3NmLECAUFBWnMmDF66qmn9Mgjj+R6/tzs3LlTs2fP1gsvvGCzPSEhQS+99JL+/PNPbdiwQU8++aTN/t9++83631euXNGgQYNUokQJbd++Xb6+vtZ9x48fV5s2bTR8+HD98MMPKlWqlH7++WcdPHhQTz/9tFatWmXTr8Vi4dI0cAdm7ACDu/3QRP/+/a3bBgwYIOn/LtEWpg8++EDh4eFZ/ly5ciVT+6pVq2rcuHE229q0aaMqVaro22+/tdn+/vvvy8nJSXPnzrUJddKtwOPm5qY1a9ZkWdeECRMyhbrr169r3bp1Klu2rEJCQmz2+fn5qW/fvpn6KV26tJ577jnFxcVpy5YtNvuWLl0qSRo0aFCWNdzpjTfe0PPPP6/Lly8rPDxcnTt3VvXq1dWgQQONHj060xOxv//+u7Zv365HHnlEY8aMsdlXt25dDR48WNeuXdPq1avtOn9u/Pz8MoU6SVq1apWuXr2qF154IVOok25dQr7tk08+UWJiosaPH28T6iSpdu3aGjhwoC5evJhpJu7O8ZUkk8mkhx56KJ/vBjAmZuwAA9u/f7+OHz+u5s2bq3r16tbtXbt2VUhIiNavX68pU6aobNmyhVbDDz/8kKeHJ/z8/KyX9/6qSpUqio6Otr7+448/dPjwYVWoUCHLS6SSVLJkSV24cEGJiYmZAkCjRo0ytY+JiVFaWpoCAgKynGVs2rRplpdcBw8erHnz5mnp0qXq1q2bpFszU59++qmqVKmidu3a5fym/79SpUppzpw5mjBhgrZv365vv/1WP/zwg77//nstXbpUH3/8sWbNmqWBAwdKuvW7laTAwECVLFkyU39PPfWU5s+fb213t7L6nUmyLp8TFBSUax+37yM8cuSIzb2Kt504cULSrdm7du3aydfXV35+flq3bp3Onj2rp59+WoGBgWrYsKFKly6d37cCGBbBDjCw2zNyf52tkyQXFxd169ZNK1asUGRkpN0zSkUhu8u2Tk5OunnzpvV1UlKSLBaLEhMTFR4enmOfKSkpmYKdp6dnpna3H7Zwd3fPsh8PD48st1evXl1t2rTR9u3bdfLkSdWsWVOffPKJ/vjjD40ePVrFiuXt4oiHh4f69+9vHbfLly/rzTff1EcffaRx48apQ4cO8vDwsNabXV2332NWM6P5kd15bvf/8MMP59pHYmKiJOnjjz/OsV1qaqqkW+O+efNmzZgxQ5s2bdJbb70lSSpTpoy6d++uyZMnZ5p5BR5kXIoFDOry5cvauHGjJGn48OGZFgdesWKFpKK5HFsYbi/VUqdOHSUlJeX44+Xllel4k8mUadvtmcv4+PgszxkXF5dtPS+++KJ1jUDp1u+1ePHi+vvf/57Xt5ZJhQoVNHv2bFWpUkXXrl3TgQMHJP3f7yC7umJjY23aSbKGzIyMjCyPySkEZvU7k/4vjF+4cCGnt2FTy//+978cx+yv9wuazWZNmTJFP/74ow4dOqT3339f/v7+WrlyZZaXhoEHGTN2gEGtWrVK165dk5+fn/z9/bNs89VXX+mHH37QoUOHsm1zr3J1dVWdOnUUExOjhISEApm1qVWrlpydnXX06FFduXIl0+zh7UCVlXbt2snLy0urVq1SUFCQjh49qi5duqhSpUp3XZd0K5C5uLhIuvXQgCTVq1dP0q3Lm9evX890Ofb2fWp/HdvbD2L89YGG206ePKmrV69mO2uancaNG2vjxo3avn27OnTokGPbJk2aaNOmTYqKisrX31z16tVVvXp19e7dW/7+/tqzZ0+WYwU8qJixAwzq9nIm4eHhmjt3bpY/wcHBku7fWbvhw4frzz//1D/+8Y8sn45MTk7O09enlSxZUt27d7eum/ZXP/74oz755JNsjy1WrJgGDRqkhIQE6+918ODBdp9bkqZNm6YzZ85kuW/jxo365ZdfVLx4cQUEBEiSHnnkEbVp00bnz5/XnDlzbNofPXpUS5YsUalSpdS7d2/r9gYNGqhYsWJas2aNUlJSrNtTU1MzPbRir/79+6tcuXJatmxZlkvSnD9/3vrfzz33nMxms2bMmGFzz+RtFotFUVFRun79uiTp9OnTWa4RmJKSotTUVJUoUULFizNHAdzGpwEwoH379umXX35RrVq11KxZs2zb9evXT2+//bbWrVund955R66urgVeS07LnTRp0sSuG+6zM2DAAP3www9auHCh/P391aZNG3l5eenKlSs6e/as9u/fr1atWmVaJiMnkyZN0u7duzVv3jx9++23euKJJxQbG6tPP/1Ubdu21ZYtW7K9Z+7vf/+7pk2bpt9//101a9bM8gnRnLz//vuaNm2a6tWrpwYNGqhixYq6evWqfvjhB2sImjx5ss29bLNmzVKHDh00ZcoU7d69W02aNNHFixe1YcMGpaenWy/h3lapUiX17dtXq1atUosWLdSuXTulp6frq6++kpeXl133yd3Jzc1NH374oZ5//nl169ZNbdq00eOPP66UlBQdPXpUP/30kzWcVahQQR999JGee+45tWvXTi1btpSvr69KlCih8+fP65tvvtFvv/2m06dPq2TJkvrpp5/097//Xf7+/qpdu7YefvhhJSUladu2bbp8+bJGjBhhnckEQLADDOn2DNztpyezU7FiRT399NPasGGD1q1bZ9ciunmV3ROr0q1vWLibYCdJ06dPV7t27bR48WLt3btXly9fVvny5VW5cmUNGTJEPXv2zFN/Hh4e+u9//6vJkyfryy+/1Pfffy9vb2/NnDlTLi4u2rJlS7ZPEVesWFEdOnTQxo0b9cILL2R7T1p2Vq9era+++kr79u3TV199pfj4eJlMJj388MPq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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": 345, "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": 346, "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": 347, "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": 348, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hour: 3\n", "Price: 300.0\n", "Capacity: 19500.0\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGpCAYAAAAA1HueAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xl8TPf+x/H3iC0SjEYS1QglIaUhtlAuLWIrtdS+XC1VmourlGhKb1VLBLVcNK1aW9wi1FItt0qtId1Uq2hQS5UkEiFJE4r5/eGaX0e2SSQZjtfz8cijnXO+53s+k2+mfT++55zvmJKSkiwCAADAfa+IowsAAABA/iDYAQAAGATBDgAAwCAIdgAAAAZBsAMAADAIgh0AAIBBEOwA2FixYoXMZrNWrFhhs93f31/+/v4OqgoAYA+CHfCAiIiIkNlsltls1jfffFPg5/P397eeL6ufO8MjpNjYWI0fP16NGzdWxYoV5enpqVq1aqldu3b617/+pZ9//tnRJQK4hxV1dAEACseyZctkMplksVi0dOlSNWjQoFDO+9JLL6ls2bKZ7mMG0NaRI0fUsWNHJSQkqGbNmurdu7fKlSunhIQEfffdd5o7d67KlSunmjVrOrpUAPcogh3wANi3b5+OHj2qHj16KCoqSp988ommTJmiMmXKFPi5g4ODVbly5QI/jxG89tprSkhI0KuvvqpXX301w/7ffvtNly5dckBlAO4XXIoFHgBLly6VJPXv3199+vRRamqq1qxZ49ii7rB7926ZzWYFBwfr9OnTGjRokKpWrSpPT0899dRT2rJlS5bHbtiwQZ07d1aVKlXk4eGhevXqaeLEibpy5UqGtrcvEV+9elVhYWGqV6+e3N3dbYLUhQsX9I9//EM+Pj6qUKGC/va3v2nlypXWGsPCwqxtW7durXLlyunUqVOZ1rZ48WKZzWa9/fbbOf4ODhw4IOnWLGdmvLy8Mp3ljIuLU0hIiOrUqSMPDw89+uij6tWrl/bu3ZuhbVb3UN6W2b2Ut48JCwvT119/re7du6ty5coym81KSkqytouJidHw4cNVu3ZteXh4qFq1amrTpo3mzZuX4TwnT57UiBEj9Pjjj1vb9uvXTwcPHszQNjk5WdOnT1eTJk3k7e2tRx55RLVr11b//v21e/fuTN8H8KAi2AEGd+nSJW3cuFGVKlVS8+bN1a9fP5lMJi1btszRpWXq7NmzatWqlc6cOaNevXqpa9euOnLkiPr27atdu3ZlaP/KK6/oueee0/Hjx9WxY0cNGTJEHh4emj17ttq1a6fk5ORMzzNgwAAtW7ZMTzzxhIKDg+Xr6ytJio+PV+vWrbVy5Ur5+voqODhYtWvX1pgxY/Tee+9l6GfQoEGyWCz68MMPMz3PkiVLVKRIET333HM5vvdy5cpJkk6cOJFj29vOnDmjFi1aaMGCBfLy8tKwYcPUrl077dq1S88880y+3scYHR2tp59+WtevX9eAAQPUs2dPOTk5SZK2bt2q5s2ba8WKFapevbqGDRumLl26yMnJSTNmzLDpZ+fOnWrevLn+85//qE6dOnrppZfUsmVLffnll2rbtq2+/PJLa1uLxaLu3btr8uTJcnZ2Vr9+/TR48GA1btxYBw8e1M6dO/Pt/QFGwKVYwOD+85//KD09XX369JHJZFKVKlXUpEkT7d27V999953q1atXoOePiIjI8h674OBgmc1mm2179uzJcCmyR48e6tatm+bOnavmzZtbt69atUqLFi1Sx44d9cEHH8jZ2dm6b/r06Zo8ebKmTp2qyZMnZzj32bNntXfvXrm5udlsf/PNN3X27FkNGzbM5rjg4GC1atUqQz9du3bV+PHjtXz5coWGhqpYsWLWfd98841+/PFHtW3bVpUqVcrqV2TT17x589S7d28NGjRIzZo10+OPP57hd/RXo0eP1rlz5zL8zoYPH66goCCNHj1aTz31lB555JEcz5+THTt2aPbs2Xr++edttickJOjFF1/Un3/+qfXr1+vJJ5+02f/bb79Z//3y5csaOHCgihUrpm3btsnPz8+679ixY2rVqpWGDRumH374QSVKlNDPP/+sAwcO6Omnn9bKlStt+rVYLFyaBu7AjB1gcLcfmujbt691W79+/ST9/yXagvTee+8pPDw805/Lly9naF+pUiWNHTvWZlurVq3k5eWlb7/91mb7u+++KycnJ82dO9cm1Em3Ao+bm5tWr16daV3jx4/PEOquXbumtWvXqnTp0goJCbHZ5+/vr969e2fop2TJkurfv7/i4uK0efNmm31LliyRJA0cODDTGu70+uuv67nnntOlS5cUHh6ujh07qkqVKqpbt65GjRqV4YnY33//Xdu2bdMjjzyi0aNH2+yr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V9S1a1d5eHho+/btmjp1qubOnat58+YV6vs0qtTUVNWsWVNTp06Vs7Nzhv2FNYbR0dEaNGiQevTood27d6tHjx56/vnn9c033xTsL8BgchpPSXrqqadsPrNr1qyx2R8aGqpNmzZp0aJF+uyzz5ScnKxevXrpxo0bkqQbN26oV69eSklJ0WeffaZFixZp48aNGj9+vLWPU6dOqWfPngoMDNSuXbs0evRohYSEaMOGDQX35g1oz549euGFF7R161Zt3LhRRYsWVZcuXXTp0iVrGz6jheu+X8fuXtGqVSvVqlVL//73v63b6tWrp86dO+uNN95wYGUPtrCwMG3cuFFRUVEZ9lksFvn5+enFF1/UmDFjJElpaWny9fXVW2+9pYEDB+rYsWNq1KiRtmzZosaNG0uSoqKi1L59e3399dfy9fXVokWLNHHiRP3yyy/W/1FNnz5dixcv1s8//yyTyVR4b9jgHnnkEU2bNk39+vWTVLhjOHDgQF26dEnr16+31tO5c2eVL19eixYtKuTfhDHcOZ7SrRm7xMRErVq1KtNjLl++LB8fH82fP189e/aUJP3222/y9/dXZGSkWrVqpS+++EI9e/bUjz/+KC8vL0nSqlWr9M9//lMxMTEqU6aM3njjDW3atEnfffedte8RI0bo6NGj+uKLLwrwXRtbSkqKvL29tWLFCrVv357PqAMYZsbOka5du6aDBw+qZcuWNttbtmypAwcOOKgq3Hbq1Cn5+fmpdu3aGjRokE6dOiVJOn36tGJjY23GzdnZWU2aNLGOW3R0tFxdXW0exGncuLFcXFxs2jzxxBM2sw+tWrXS+fPndfr06UJ4hw+uwhzDr7/+OsNnvFWrVnzGC0BUVJR8fHxUv359/fOf/7RZ9eDgwYP6888/bcbCy8tLNWrUsBnPGjVqWEOddGusrl69qoMHD1rbZDae33//vf7888+CfHuGlpKSops3b8psNkviM+oIBLt8wCLJ964GDRro3XffVWRkpP79738rNjZWbdq0UWJiomJjYyUp23GLi4uTm5ubzaybyWRS+fLlbdpk1sftfSg4hTmGsbGxfMYLQVBQkN577z1t2LBBb7/9tr799lt16tRJV69elXRrPJycnOTm5mZz3J1jfudY3V4aK6cxv379uhISEgrq7Rneq6++Kn9/fwUGBkriM+oIhngqFshK69atbV43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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", "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": 349, "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(\"Total_Var_Cost_USDperMWH\")\n", "new_x_yours = find_x_pos(width_yours)\n", "label_yours = your_source.column(\"PLANT\")" ] }, { "cell_type": "code", "execution_count": 350, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Price: 300.0\n" ] }, { "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_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": 351, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Price: 300.0\n" ] }, { "data": { "image/png": "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\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." ] }, { "cell_type": "code", "execution_count": 352, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Price: 300.0\n" ] }, { "data": { "image/png": "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NPq0aNECZ2dno4+IiIjI34ljUe78xx9/JCAggMzMTJydnfniiy9o1KiREczc3Nzy9Hdzc+PMmTMAnD17lsqVK2MymYx2k8lElSpVOHv2bIH7reDqauUjyauZTUf/e9Kc2obm1fo0p9anObUNzav13Y85vXiHZwmKNNh5e3uzfft2/vzzT5YvX054eDgrV64sypJEREREHlhFGuxKlSpF7dq1AWjcuDH79u1j2rRpDB48GIDU1FQ8PT2N/qmpqbi7uwPg7u5OWloaZrPZOGtnNps5d+6c0Sc/d0q79+rYsWN4e3vbdB9/N5pT29C8Wp/m1Po0p7ahebW+4jCnxeIeuxtyc3P53//+h5eXFx4eHmzevNloy8zMZNeuXcY9db6+vmRkZLBnzx6jz549e7h8+XKe++5ERERE/i6K7Izdf/7zHwICAqhevbrxtOuOHTv48ssvMZlMhIeHM378eLy9valbty7jxo3D2dmZbt26AVC/fn3at29PREQEEydOBCAiIoKOHTsWeVoWERERKQpFFuxSUlLo27cvZ8+epXz58jRq1IjY2FjatWsHwMCBA7l69SpDhgwhPT2dpk2bsmzZMsqVK2eMMXv2bIYOHUrXrl0BCAwMZOzYsUVyPCIiIiJFrciCXXR0dIHtJpOJyMhIIiMj8+3j6urKzJkzrV2aiIiIyAOpWN1jJyIiIiJ3T8FORERExE4o2ImIiIjYCQU7ERERETuhYCciIiJiJxTsREREROyEgp2IiIiInVCwExEREbETCnYiIiIidkLBTkRERMROKNiJiIiI2AkFOxERERE7oWAnIiIiYicU7ERERETshIKdiIiIiJ1QsBMRERGxEwp2IiIiInZCwU5ERETETijYiYiIiNgJBTsRERERO6FgJyIiImInFOxERERE7ISCnYiIiIidULATERERsRMKdiIiIiJ2QsFORERExE4o2ImIiIjYCQU7ERERETuhYCciIiJiJxTsREREROyEgp2IiIiInVCwExEREbETCnYiIiIidkLBTkRERMROKNiJiIiI2AkFOxERERE7oWAnIiIiYicU7ERERETshIKdiIiIiJ1QsBMRERGxEwp2IiIiInZCwU5ERETETijYiYiIiNgJBTsRERERO6FgJyIiImIniizYjR8/njZt2uDp6UmdOnXo3r07P/30U54+4eHhuLq65vlp3759nj5ZWVkMGTKE2rVrU61aNXr06MFvv/12Pw9FREREpFgosmC3Y8cOXnnlFdauXcuKFStwdHTk2Wef5cKFC3n6+fv7c+TIEePnq6++ytMeGRlJXFwc//3vf1m1ahWXLl2ie/fu5OTk3M/DERERESlyjkW142XLluVZnjFjBjVr1iQxMZHAwEBjfenSpfHw8LjtGBcvXmTBggVMnTqVNm3aGOP4+PiwZcsW2rVrZ7sDEBERESlmis09dhkZGeTm5uLq6ppn/a5du6hbty5NmzZlwIABpKamGm379+8nOzubtm3bGutq1KhB/fr12b17932rXURERKQ4MKWnp5uLugiAPn36cOLECbZs2YKDgwMAS5cuxcnJCS8vL06dOsWHH35Ibm4uW7ZsoXTp0nz11Ve8/vrrnDt3DpPJZIwVGhpKnTp1mDhx4m33dezYsftyTCIiIiLW5O3tXWB7kV2KvdmIESNITExkzZo1RqgD6Nq1q/HnRo0a0bhxY3x8fFi7di2dO3e+6/3daVLu1bFjx2y+j78bzaltaF6tT3NqfZpT29C8Wl9xmNMivxQbGRnJ0qVLWbFiBbVq1Sqw70MPPUS1atVISkoCwN3dnZycHNLS0vL0S01Nxd3d3VYli4iIiBRLRRrshg0bZoS6evXq3bF/WloaZ86cMR6maNy4MSVLlmTz5s1Gn99++40jR47w5JNP2qxuERERkeKoyC7FDh48mJiYGL744gtcXV1JSUkBwNnZGRcXFzIyMhg9ejSdO3fGw8ODU6dO8f777+Pm5kZISAgAFSpU4MUXX2TUqFG4ublRsWJF3nnnHRo1aoS/v39RHZqIiIhIkSiyYDd79mwAunTpkmf9sGHDiIyMxMHBgZ9++oklS5Zw8eJFPDw88PPzY86cOZQrV87oHxUVhYODAy+//DKZmZm0bt2a6dOn57lXT0REROTvoMiCXXp6eoHtTk5Ot7zr7nZKly7NJ598wieffGKt0kREREQeSEX+8ISIiIiIWIeCnYiIiIidULATERERsRMKdiIiIiJ2QsFORERExE4o2ImIiIjYCQU7ERERETuhYCciIiJiJxTsREREROyEgp2IiIiInVCwExEREbETCnYiIiIidkLBTkRERMROKNiJiIiI2AkFOxERERE7oWAnIiIiYicU7ERERETshIKdiIiIiJ1QsBMRERGxEwp2IiIiInZCwU5ERETETijYiYiIiNgJBTsRERERO6FgJyIiImInFOxERERE7ISCnYiIiIidULATERERsRMKdiIiIiJ2QsFORERExE4o2ImIiIjYCQU7ERERETuhYCciIiJiJxTsREREROyEgp2IiIiInVCwExEREbETCnYiIiIidkLBTkRERMROKNiJiIiI2AkFOxERERE7oWAnIiIiYicsDnZvvvkm3377bb7t3333HW+++aZVihIRERGRwrM42C1atIhffvkl3/bk5GQWL15slaJEREREpPCsdin2/PnzlC5d2lrDiYiIiEghORbUuHPnTnbs2GEsx8XFkZSUdEu/9PR0li1bxqOPPmr9CkVERETEIgUGu+3btzNmzBgATCYTcXFxxMXF3bbvI488YvS1xPjx44mLi+P48eOUKlWKZs2aMWrUKBo2bGj0MZvNjB49mnnz5pGenk7Tpk0ZN24cjzzyiNEnPT2doUOHsmbNGgA6derE2LFjcXV1tbgWEREREXtQ4KXYgQMHcuLECY4fP47ZbGbChAmcOHEiz09SUhJnzpwhISGBJk2aWLzjHTt28Morr7B27VpWrFiBo6Mjzz77LBcuXDD6TJo0ialTpzJmzBg2bdqEm5sbzz33HJcuXTL6vPrqqxw4cIDY2FhiY2M5cOAA/fr1u4upEBEREXmwFXjGzsnJCScnJwB++OEHqlSpQtmyZa2y42XLluVZnjFjBjVr1iQxMZHAwEDMZjPR0dEMGjSILl26ABAdHY23tzexsbG8/PLLHDlyhA0bNrBmzRp8fX0BmDBhAoGBgRw7dgxvb2+r1CoiIiLyILD44QkPDw+ysrLyrEtLS2P8+PGMGjWKffv23VMhGRkZ5ObmGpdQk5OTSUlJoW3btkYfJycnWrZsye7duwHYs2cPLi4uPPnkk0afFi1a4OzsbPQRERER+bso8IzdzQYMGMDPP//M1q1bAbhy5Qrt27fn5MmTAEybNo24uDhatGhxV4UMHz4cHx8f48xbSkoKAG5ubnn6ubm5cebMGQDOnj1L5cqVMZlMRrvJZKJKlSqcPXv2ruoQEREReVBZHOwSEhIICwszlmNjYzl58iSxsbH4+Pjwj3/8g3HjxhEbG1voIkaMGEFiYiJr1qzBwcGh0NsX1rFjx+xiH383mlPb0Lxan+bU+jSntqF5tT5bz+mdbjOzONilpqZSvXp1Y3nVqlX4+vrSrl07AMLCwpgwYUKhC4yMjGTZsmXExcVRq1YtY72Hh4exX09Pzzx1uLu7A+Du7k5aWhpms9k4a2c2mzl37pzR53Zsfe+d7u+zPs2pbWherU9zan2aU9vQvFpfcZhTi++xc3FxIT09HYBr166RkJCAv7+/0e7k5JTnaVVLDBs2jKVLl7JixQrq1auXp83LywsPDw82b95srMvMzGTXrl3GPXW+vr5kZGSwZ88eo8+ePXu4fPlynvvuRERERP4OLD5j98QTT7BgwQJat27N6tWrycjIoFOnTkb7L7/8UuBZsr8aPHgwMTExfPHFF7i6uhr31Dk7O+Pi4oLJZCI8PJzx48fj7e1N3bp1GTduHM7OznTr1g2A+vXr0759eyIiIpg4cSIAERERdOzYscgTs4iIiMj9ZnGwGzlyJM899xxt2rTBbDbz7LPP8sQTTxjtK1euLNRZstmzZwMYrzK5YdiwYURGRgLX36N39epVhgwZYrygeNmyZZQrVy7POEOHDqVr164ABAYGMnbsWIvrEBEREbEXFge7xx9/nL1797J7927Kly9Pq1atjLb09HReffVVnn76aYt3fOOybkFMJhORkZFG0LsdV1dXZs6cafF+RUREROyVxcEOoHLlygQFBd2y3tXVlfDwcKsVJSIiIiKFV6hgB7Bu3TrWrVvHqVOnAKhZsyadOnWiffv2Vi9ORERERCxncbDLzMzkpZdeYv369ZQoUYKqVasCsGnTJj7//HM6dOjA/PnzKV26tM2KFREREZH8Wfy6k6ioKNatW8fQoUNJSkri0KFDHDp0iF9++YXhw4ezfv16Ro8ebctaRURERKQAFge7pUuX8sILLzB8+HDKly9vrC9XrhxDhw4lLCyMr776yiZFioiIiMidWRzsUlNT87ze5K8aN25MamqqVYoSERERkcKzONhVr16dbdu25du+bdu2PJ8cExEREZH7y+Jg16tXL5YvX07//v05fPgw2dnZZGdnc/jwYQYMGEBcXBwvvPCCLWsVERERkQJY/FTs22+/TXJyMl988QULFy7EZDIBYDabMZvNvPjii0RERNisUBEREREpmMXBrkSJEkyZMoXXX3+ddevW8euvvwLg6elJQEAAjRo1slmRIiIiInJnhX5BcaNGjRTiRERERIqhAu+xy8rKIiIigunTpxc4yPTp03n7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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')\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": 353, "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))[\"Total_Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.below(price))[\"Total_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))[\"Total_Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Total_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))[\"Total_Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.below(price))[\"Total_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))[\"Total_Var_Cost_USDperMWH\"])):\n", " cost += sorted_table.where('PRICE' + str(hour), are.equal_to(price))[\"Total_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": 354, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "760922.0" ] }, "execution_count": 354, "metadata": {}, "output_type": "execute_result" } ], "source": [ "profit(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 }