diff --git a/notebooks/illinois_model.ipynb b/notebooks/illinois_model.ipynb new file mode 100644 index 0000000..2b9325d --- /dev/null +++ b/notebooks/illinois_model.ipynb @@ -0,0 +1,1370 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pypsa\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "from nrelpy.atb import ATBe" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Technology Data and Costs\n", + "\n", + "As a first pass, we can use data curated by the PyPSA team for Europe in units of € (later, we can convert these to dollars or use data from NREL)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "year = 2030\n", + "url = f\"https://raw.githubusercontent.com/PyPSA/technology-data/master/outputs/costs_{year}.csv\"\n", + "costs = pd.read_csv(url, index_col=[0, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "costs.loc[costs.unit.str.contains(\"/kW\"), \"value\"] *= 1e3\n", + "costs.unit = costs.unit.str.replace(\"/kW\", \"/MW\")\n", + "\n", + "defaults = {\n", + " \"FOM\": 0,\n", + " \"VOM\": 0,\n", + " \"efficiency\": 1,\n", + " \"fuel\": 0,\n", + " \"investment\": 0,\n", + " \"lifetime\": 25,\n", + " \"CO2 intensity\": 0,\n", + " \"discount rate\": 0.07,\n", + "}\n", + "costs = costs.value.unstack().fillna(defaults)\n", + "\n", + "costs.at[\"OCGT\", \"fuel\"] = costs.at[\"gas\", \"fuel\"]\n", + "costs.at[\"CCGT\", \"fuel\"] = costs.at[\"gas\", \"fuel\"]\n", + "costs.at[\"OCGT\", \"CO2 intensity\"] = costs.at[\"gas\", \"CO2 intensity\"]\n", + "costs.at[\"CCGT\", \"CO2 intensity\"] = costs.at[\"gas\", \"CO2 intensity\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def annuity(r, n):\n", + " return r / (1.0 - 1.0 / (1.0 + r) ** n)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "costs[\"marginal_cost\"] = costs[\"VOM\"] + costs[\"fuel\"] / costs[\"efficiency\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
parameterC in fuelC storedCO2 intensityCO2 storedFOMMotor sizeVOMammonia-inputc_bc_vcapacitycapture ratecapture_ratecarbondioxide-inputcarbondioxide-outputcommoditycompression-electricity-inputcompression-heat-outputdiscount ratedistrict heat surchargedistrict heat-inputefficiencyefficiency-biomassefficiency-electricityefficiency-heatefficiency-hydrogenefficiency-totelectricity-inputfuelhbi-inputheat-inputheat-outputhydrogen-inputinvestmentlifetimelohc-inputmethane-inputmethanol-inputmin_fill_levelnaphtha-inputnitrogen-inputore-inputp_nom_ratiopelletizing costmarginal_cost
technology
nuclearNaNNaN0.000NaN1.2700NaN3.5464NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.07NaNNaN0.326NaNNaNNaNNaNNaNNaN3.4122NaNNaNNaNNaN8594135.440.0NaNNaNNaNNaNNaNNaNNaNNaNNaN14.013271
OCGTNaNNaN0.198NaN1.7795NaN4.7620NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.07NaNNaN0.410NaNNaNNaNNaNNaNNaN24.5680NaNNaNNaNNaN460580.425.0NaNNaNNaNNaNNaNNaNNaNNaNNaN64.683951
\n", + "
" + ], + "text/plain": [ + "parameter C in fuel C stored CO2 intensity CO2 stored FOM \\\n", + "technology \n", + "nuclear NaN NaN 0.000 NaN 1.2700 \n", + "OCGT NaN NaN 0.198 NaN 1.7795 \n", + "\n", + "parameter Motor size VOM ammonia-input c_b c_v capacity \\\n", + "technology \n", + "nuclear NaN 3.5464 NaN NaN NaN NaN \n", + "OCGT NaN 4.7620 NaN NaN NaN NaN \n", + "\n", + "parameter capture rate capture_rate carbondioxide-input \\\n", + "technology \n", + "nuclear NaN NaN NaN \n", + "OCGT NaN NaN NaN \n", + "\n", + "parameter carbondioxide-output commodity compression-electricity-input \\\n", + "technology \n", + "nuclear NaN NaN NaN \n", + "OCGT NaN NaN NaN \n", + "\n", + "parameter compression-heat-output discount rate district heat surcharge \\\n", + "technology \n", + "nuclear NaN 0.07 NaN \n", + "OCGT NaN 0.07 NaN \n", + "\n", + "parameter district heat-input efficiency efficiency-biomass \\\n", + "technology \n", + "nuclear NaN 0.326 NaN \n", + "OCGT NaN 0.410 NaN \n", + "\n", + "parameter efficiency-electricity efficiency-heat efficiency-hydrogen \\\n", + "technology \n", + "nuclear NaN NaN NaN \n", + "OCGT NaN NaN NaN \n", + "\n", + "parameter efficiency-tot electricity-input fuel hbi-input heat-input \\\n", + "technology \n", + "nuclear NaN NaN 3.4122 NaN NaN \n", + "OCGT NaN NaN 24.5680 NaN NaN \n", + "\n", + "parameter heat-output hydrogen-input investment lifetime lohc-input \\\n", + "technology \n", + "nuclear NaN NaN 8594135.4 40.0 NaN \n", + "OCGT NaN NaN 460580.4 25.0 NaN \n", + "\n", + "parameter methane-input methanol-input min_fill_level naphtha-input \\\n", + "technology \n", + "nuclear NaN NaN NaN NaN \n", + "OCGT NaN NaN NaN NaN \n", + "\n", + "parameter nitrogen-input ore-input p_nom_ratio pelletizing cost \\\n", + "technology \n", + "nuclear NaN NaN NaN NaN \n", + "OCGT NaN NaN NaN NaN \n", + "\n", + "parameter marginal_cost \n", + "technology \n", + "nuclear 14.013271 \n", + "OCGT 64.683951 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "costs.loc[['nuclear', 'OCGT'],:]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "annuity = costs.apply(lambda x: annuity(x[\"discount rate\"], x[\"lifetime\"]), axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "costs[\"capital_cost\"] = (annuity + costs[\"FOM\"] / 100) * costs[\"investment\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Retrieve Time Series Data" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "pjm_load = pd.read_csv(\"../data/pjm_demand.csv\", usecols=['Interval End','CE'], parse_dates=True, index_col='Interval End')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "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", + "
CE
Interval End
2019-01-01 00:00:00+00:0011593.0
2019-01-01 01:00:00+00:0011258.0
\n", + "
" + ], + "text/plain": [ + " CE\n", + "Interval End \n", + "2019-01-01 00:00:00+00:00 11593.0\n", + "2019-01-01 01:00:00+00:00 11258.0" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pjm_load.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "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", + "
0004
Interval End
2019-01-01 00:00:00+00:005406.0
2019-01-01 01:00:00+00:005289.0
\n", + "
" + ], + "text/plain": [ + " 0004\n", + "Interval End \n", + "2019-01-01 00:00:00+00:00 5406.0\n", + "2019-01-01 01:00:00+00:00 5289.0" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "miso_load = pd.read_csv('../data/miso_demand.csv', usecols=['Interval End','0004'], parse_dates=True, index_col='Interval End')\n", + "miso_load.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "load_year = 2022\n", + "\n", + "pjm_2022 = pjm_load[pjm_load.index.year == load_year]\n", + "miso_2022 = miso_load[miso_load.index.year == load_year]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Update the resolution for simplicity" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "resolution = 4\n", + "pjm_2022 = pjm_2022.resample(f\"{resolution}h\").mean()\n", + "miso_2022 = miso_2022.resample(f\"{resolution}h\").mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Capacity Expansion Model\n", + "\n", + "### Model Initialization" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "n = pypsa.Network()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Add two buses -- PJM ComEd and Miso Zone 4" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "n.add(\"Bus\", \"0004\")\n", + "n.add(\"Bus\", \"CE\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['0004', 'CE'], dtype='object', name='Bus')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n.buses.index" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "n.set_snapshots(pjm_2022.index)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2022-01-01 00:00:00+00:00', '2022-01-01 04:00:00+00:00',\n", + " '2022-01-01 08:00:00+00:00', '2022-01-01 12:00:00+00:00',\n", + " '2022-01-01 16:00:00+00:00', '2022-01-01 20:00:00+00:00',\n", + " '2022-01-02 00:00:00+00:00', '2022-01-02 04:00:00+00:00',\n", + " '2022-01-02 08:00:00+00:00', '2022-01-02 12:00:00+00:00',\n", + " ...\n", + " '2022-12-30 08:00:00+00:00', '2022-12-30 12:00:00+00:00',\n", + " '2022-12-30 16:00:00+00:00', '2022-12-30 20:00:00+00:00',\n", + " '2022-12-31 00:00:00+00:00', '2022-12-31 04:00:00+00:00',\n", + " '2022-12-31 08:00:00+00:00', '2022-12-31 12:00:00+00:00',\n", + " '2022-12-31 16:00:00+00:00', '2022-12-31 20:00:00+00:00'],\n", + " dtype='datetime64[ns, UTC]', name='snapshot', length=2190, freq='4h')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n.snapshots" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "n.snapshot_weightings.loc[:,:] = resolution # how many hours each timeslice represents, based on the temporal resolution" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['onwind', 'nuclear', 'solar', 'OCGT', 'hydrogen storage underground',\n", + " 'battery storage'],\n", + " dtype='object')" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "carriers = [\n", + " \"onwind\",\n", + " # \"offwind\",\n", + " \"nuclear\",\n", + " \"solar\",\n", + " \"OCGT\",\n", + " # \"CCGT\",\n", + " \"hydrogen storage underground\",\n", + " \"battery storage\",\n", + "]\n", + "\n", + "colors = {\"onwind\":'dodgerblue',\n", + " \"offwind\":\"aquamarine\",\n", + " \"nuclear\":\"green\",\n", + " \"solar\":\"gold\",\n", + " \"OCGT\":\"indianred\",\n", + " \"CCGT\":\"orange\",\n", + " \"hydrogen storage underground\":\"magenta\",\n", + " \"battery storage\":\"yellowgreen\"}\n", + "\n", + "n.madd(\n", + " \"Carrier\",\n", + " carriers,\n", + " color=[colors[c] for c in carriers],\n", + " co2_emissions=[costs.at[c, \"CO2 intensity\"] for c in carriers],\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Add the load to the buses" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "n.add(\n", + " \"Load\",\n", + " \"pjm_load\",\n", + " bus='CE',\n", + " p_set = pjm_2022['CE']\n", + ")\n", + "\n", + "n.add(\n", + " \"Load\",\n", + " \"miso_load\",\n", + " bus='0004',\n", + " p_set = miso_2022['0004']\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "n.loads_t.p_set.plot(ylabel='MW')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Adding generators to the model" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;31mSignature:\u001b[0m \u001b[0mn\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmadd\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mclass_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msuffix\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m''\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mDocstring:\u001b[0m\n", + "Add multiple components to the network, along with their attributes.\n", + "\n", + "Make sure when adding static attributes as pandas Series that they are indexed\n", + "by names. Make sure when adding time-varying attributes as pandas DataFrames that\n", + "their index is a superset of network.snapshots and their columns are a\n", + "subset of names.\n", + "\n", + "Any attributes which are not specified will be given the default\n", + "value from :doc:`components`.\n", + "\n", + "Parameters\n", + "----------\n", + "class_name : string\n", + " Component class name in (\"Bus\", \"Generator\", \"Load\", \"StorageUnit\",\n", + " \"Store\", \"ShuntImpedance\", \"Line\", \"Transformer\", \"Link\").\n", + "names : list-like or pandas.Index\n", + " Component names\n", + "suffix : string, default ''\n", + " All components are named after names with this added suffix. It\n", + " is assumed that all Series and DataFrames are indexed by the original names.\n", + "kwargs\n", + " Component attributes, e.g. x=[0.1, 0.2], can be list, pandas.Series\n", + " of pandas.DataFrame for time-varying\n", + "\n", + "Returns\n", + "--------\n", + "new_names : pandas.index\n", + " Names of new components (including suffix)\n", + "\n", + "Examples\n", + "--------\n", + "\n", + "Short Example:\n", + "\n", + ">>> network.madd(\"Load\", [\"load 1\", \"load 2\"],\n", + "... bus=[\"1\", \"2\"],\n", + "... p_set=np.random.rand(len(network.snapshots), 2))\n", + "\n", + "Long Example:\n", + "\n", + ">>> import pandas as pd, numpy as np\n", + ">>> buses = range(13)\n", + ">>> snapshots = range(7)\n", + ">>> n = pypsa.Network()\n", + ">>> n.set_snapshots(snapshots)\n", + ">>> n.madd(\"Bus\", buses)\n", + ">>> # add load as numpy array\n", + ">>> n.madd(\"Load\",\n", + "... n.buses.index + \" load\",\n", + "... bus=buses,\n", + "... p_set=np.random.rand(len(snapshots), len(buses)))\n", + ">>> # add wind availability as pandas DataFrame\n", + ">>> wind = pd.DataFrame(np.random.rand(len(snapshots), len(buses)),\n", + "... index=n.snapshots,\n", + "... columns=buses)\n", + ">>> #use a suffix to avoid boilerplate to rename everything\n", + ">>> n.madd(\"Generator\",\n", + "... buses,\n", + "... suffix=' wind',\n", + "... bus=buses,\n", + "... p_nom_extendable=True,\n", + "... capital_cost=1e5,\n", + "... p_max_pu=wind)\n", + "\u001b[1;31mFile:\u001b[0m c:\\users\\sdotson\\appdata\\local\\miniforge3\\envs\\pypsa-illinois\\lib\\site-packages\\pypsa\\components.py\n", + "\u001b[1;31mType:\u001b[0m method" + ] + } + ], + "source": [ + "n.madd?" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['CE OCGT', '0004 OCGT'], dtype='object')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "buses = ['CE','0004']\n", + "n.madd(\n", + " \"Generator\",\n", + " buses,\n", + " suffix=' OCGT',\n", + " bus=[\"CE\", '0004'],\n", + " carrier=\"OCGT\",\n", + " capital_cost=costs.at[\"OCGT\", \"capital_cost\"],\n", + " marginal_cost=costs.at[\"OCGT\", \"marginal_cost\"],\n", + " efficiency=costs.at[\"OCGT\", \"efficiency\"],\n", + " p_nom_extendable=True,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2022-01-01 00:00:00+00:00', '2022-01-01 04:00:00+00:00',\n", + " '2022-01-01 08:00:00+00:00', '2022-01-01 12:00:00+00:00',\n", + " '2022-01-01 16:00:00+00:00', '2022-01-01 20:00:00+00:00',\n", + " '2022-01-02 00:00:00+00:00', '2022-01-02 04:00:00+00:00',\n", + " '2022-01-02 08:00:00+00:00', '2022-01-02 12:00:00+00:00',\n", + " ...\n", + " '2022-12-30 08:00:00+00:00', '2022-12-30 12:00:00+00:00',\n", + " '2022-12-30 16:00:00+00:00', '2022-12-30 20:00:00+00:00',\n", + " '2022-12-31 00:00:00+00:00', '2022-12-31 04:00:00+00:00',\n", + " '2022-12-31 08:00:00+00:00', '2022-12-31 12:00:00+00:00',\n", + " '2022-12-31 16:00:00+00:00', '2022-12-31 20:00:00+00:00'],\n", + " dtype='datetime64[ns, UTC]', name='Interval End', length=2190, freq='4h')" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "miso_2022.index" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2022-01-01 00:00:00+00:00', '2022-01-01 04:00:00+00:00',\n", + " '2022-01-01 08:00:00+00:00', '2022-01-01 12:00:00+00:00',\n", + " '2022-01-01 16:00:00+00:00', '2022-01-01 20:00:00+00:00',\n", + " '2022-01-02 00:00:00+00:00', '2022-01-02 04:00:00+00:00',\n", + " '2022-01-02 08:00:00+00:00', '2022-01-02 12:00:00+00:00',\n", + " ...\n", + " '2022-12-30 08:00:00+00:00', '2022-12-30 12:00:00+00:00',\n", + " '2022-12-30 16:00:00+00:00', '2022-12-30 20:00:00+00:00',\n", + " '2022-12-31 00:00:00+00:00', '2022-12-31 04:00:00+00:00',\n", + " '2022-12-31 08:00:00+00:00', '2022-12-31 12:00:00+00:00',\n", + " '2022-12-31 16:00:00+00:00', '2022-12-31 20:00:00+00:00'],\n", + " dtype='datetime64[ns, UTC]', name='snapshot', length=2190, freq='4h')" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n.snapshots" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PyPSA Network\n", + "Components:\n", + " - Bus: 2\n", + " - Carrier: 6\n", + " - Generator: 2\n", + " - Load: 2\n", + "Snapshots: 2190" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'p_set': Load pjm_load miso_load\n", + " snapshot \n", + " 2022-01-01 00:00:00+00:00 10221.00 4720.00\n", + " 2022-01-01 04:00:00+00:00 9156.75 4259.75\n", + " 2022-01-01 08:00:00+00:00 8376.00 3993.50\n", + " 2022-01-01 12:00:00+00:00 8713.00 4258.25\n", + " 2022-01-01 16:00:00+00:00 9598.00 4814.75\n", + " ... ... ...\n", + " 2022-12-31 04:00:00+00:00 9765.50 4787.25\n", + " 2022-12-31 08:00:00+00:00 8957.25 4491.75\n", + " 2022-12-31 12:00:00+00:00 9507.25 4774.00\n", + " 2022-12-31 16:00:00+00:00 9693.75 4851.75\n", + " 2022-12-31 20:00:00+00:00 9786.00 4756.75\n", + " \n", + " [2190 rows x 2 columns],\n", + " 'q_set': Empty DataFrame\n", + " Columns: []\n", + " Index: [2022-01-01 00:00:00+00:00, 2022-01-01 04:00:00+00:00, 2022-01-01 08:00:00+00:00, 2022-01-01 12:00:00+00:00, 2022-01-01 16:00:00+00:00, 2022-01-01 20:00:00+00:00, 2022-01-02 00:00:00+00:00, 2022-01-02 04:00:00+00:00, 2022-01-02 08:00:00+00:00, 2022-01-02 12:00:00+00:00, 2022-01-02 16:00:00+00:00, 2022-01-02 20:00:00+00:00, 2022-01-03 00:00:00+00:00, 2022-01-03 04:00:00+00:00, 2022-01-03 08:00:00+00:00, 2022-01-03 12:00:00+00:00, 2022-01-03 16:00:00+00:00, 2022-01-03 20:00:00+00:00, 2022-01-04 00:00:00+00:00, 2022-01-04 04:00:00+00:00, 2022-01-04 08:00:00+00:00, 2022-01-04 12:00:00+00:00, 2022-01-04 16:00:00+00:00, 2022-01-04 20:00:00+00:00, 2022-01-05 00:00:00+00:00, 2022-01-05 04:00:00+00:00, 2022-01-05 08:00:00+00:00, 2022-01-05 12:00:00+00:00, 2022-01-05 16:00:00+00:00, 2022-01-05 20:00:00+00:00, 2022-01-06 00:00:00+00:00, 2022-01-06 04:00:00+00:00, 2022-01-06 08:00:00+00:00, 2022-01-06 12:00:00+00:00, 2022-01-06 16:00:00+00:00, 2022-01-06 20:00:00+00:00, 2022-01-07 00:00:00+00:00, 2022-01-07 04:00:00+00:00, 2022-01-07 08:00:00+00:00, 2022-01-07 12:00:00+00:00, 2022-01-07 16:00:00+00:00, 2022-01-07 20:00:00+00:00, 2022-01-08 00:00:00+00:00, 2022-01-08 04:00:00+00:00, 2022-01-08 08:00:00+00:00, 2022-01-08 12:00:00+00:00, 2022-01-08 16:00:00+00:00, 2022-01-08 20:00:00+00:00, 2022-01-09 00:00:00+00:00, 2022-01-09 04:00:00+00:00, 2022-01-09 08:00:00+00:00, 2022-01-09 12:00:00+00:00, 2022-01-09 16:00:00+00:00, 2022-01-09 20:00:00+00:00, 2022-01-10 00:00:00+00:00, 2022-01-10 04:00:00+00:00, 2022-01-10 08:00:00+00:00, 2022-01-10 12:00:00+00:00, 2022-01-10 16:00:00+00:00, 2022-01-10 20:00:00+00:00, 2022-01-11 00:00:00+00:00, 2022-01-11 04:00:00+00:00, 2022-01-11 08:00:00+00:00, 2022-01-11 12:00:00+00:00, 2022-01-11 16:00:00+00:00, 2022-01-11 20:00:00+00:00, 2022-01-12 00:00:00+00:00, 2022-01-12 04:00:00+00:00, 2022-01-12 08:00:00+00:00, 2022-01-12 12:00:00+00:00, 2022-01-12 16:00:00+00:00, 2022-01-12 20:00:00+00:00, 2022-01-13 00:00:00+00:00, 2022-01-13 04:00:00+00:00, 2022-01-13 08:00:00+00:00, 2022-01-13 12:00:00+00:00, 2022-01-13 16:00:00+00:00, 2022-01-13 20:00:00+00:00, 2022-01-14 00:00:00+00:00, 2022-01-14 04:00:00+00:00, 2022-01-14 08:00:00+00:00, 2022-01-14 12:00:00+00:00, 2022-01-14 16:00:00+00:00, 2022-01-14 20:00:00+00:00, 2022-01-15 00:00:00+00:00, 2022-01-15 04:00:00+00:00, 2022-01-15 08:00:00+00:00, 2022-01-15 12:00:00+00:00, 2022-01-15 16:00:00+00:00, 2022-01-15 20:00:00+00:00, 2022-01-16 00:00:00+00:00, 2022-01-16 04:00:00+00:00, 2022-01-16 08:00:00+00:00, 2022-01-16 12:00:00+00:00, 2022-01-16 16:00:00+00:00, 2022-01-16 20:00:00+00:00, 2022-01-17 00:00:00+00:00, 2022-01-17 04:00:00+00:00, 2022-01-17 08:00:00+00:00, 2022-01-17 12:00:00+00:00, ...]\n", + " \n", + " [2190 rows x 0 columns],\n", + " 'p': Empty DataFrame\n", + " Columns: []\n", + " Index: [2022-01-01 00:00:00+00:00, 2022-01-01 04:00:00+00:00, 2022-01-01 08:00:00+00:00, 2022-01-01 12:00:00+00:00, 2022-01-01 16:00:00+00:00, 2022-01-01 20:00:00+00:00, 2022-01-02 00:00:00+00:00, 2022-01-02 04:00:00+00:00, 2022-01-02 08:00:00+00:00, 2022-01-02 12:00:00+00:00, 2022-01-02 16:00:00+00:00, 2022-01-02 20:00:00+00:00, 2022-01-03 00:00:00+00:00, 2022-01-03 04:00:00+00:00, 2022-01-03 08:00:00+00:00, 2022-01-03 12:00:00+00:00, 2022-01-03 16:00:00+00:00, 2022-01-03 20:00:00+00:00, 2022-01-04 00:00:00+00:00, 2022-01-04 04:00:00+00:00, 2022-01-04 08:00:00+00:00, 2022-01-04 12:00:00+00:00, 2022-01-04 16:00:00+00:00, 2022-01-04 20:00:00+00:00, 2022-01-05 00:00:00+00:00, 2022-01-05 04:00:00+00:00, 2022-01-05 08:00:00+00:00, 2022-01-05 12:00:00+00:00, 2022-01-05 16:00:00+00:00, 2022-01-05 20:00:00+00:00, 2022-01-06 00:00:00+00:00, 2022-01-06 04:00:00+00:00, 2022-01-06 08:00:00+00:00, 2022-01-06 12:00:00+00:00, 2022-01-06 16:00:00+00:00, 2022-01-06 20:00:00+00:00, 2022-01-07 00:00:00+00:00, 2022-01-07 04:00:00+00:00, 2022-01-07 08:00:00+00:00, 2022-01-07 12:00:00+00:00, 2022-01-07 16:00:00+00:00, 2022-01-07 20:00:00+00:00, 2022-01-08 00:00:00+00:00, 2022-01-08 04:00:00+00:00, 2022-01-08 08:00:00+00:00, 2022-01-08 12:00:00+00:00, 2022-01-08 16:00:00+00:00, 2022-01-08 20:00:00+00:00, 2022-01-09 00:00:00+00:00, 2022-01-09 04:00:00+00:00, 2022-01-09 08:00:00+00:00, 2022-01-09 12:00:00+00:00, 2022-01-09 16:00:00+00:00, 2022-01-09 20:00:00+00:00, 2022-01-10 00:00:00+00:00, 2022-01-10 04:00:00+00:00, 2022-01-10 08:00:00+00:00, 2022-01-10 12:00:00+00:00, 2022-01-10 16:00:00+00:00, 2022-01-10 20:00:00+00:00, 2022-01-11 00:00:00+00:00, 2022-01-11 04:00:00+00:00, 2022-01-11 08:00:00+00:00, 2022-01-11 12:00:00+00:00, 2022-01-11 16:00:00+00:00, 2022-01-11 20:00:00+00:00, 2022-01-12 00:00:00+00:00, 2022-01-12 04:00:00+00:00, 2022-01-12 08:00:00+00:00, 2022-01-12 12:00:00+00:00, 2022-01-12 16:00:00+00:00, 2022-01-12 20:00:00+00:00, 2022-01-13 00:00:00+00:00, 2022-01-13 04:00:00+00:00, 2022-01-13 08:00:00+00:00, 2022-01-13 12:00:00+00:00, 2022-01-13 16:00:00+00:00, 2022-01-13 20:00:00+00:00, 2022-01-14 00:00:00+00:00, 2022-01-14 04:00:00+00:00, 2022-01-14 08:00:00+00:00, 2022-01-14 12:00:00+00:00, 2022-01-14 16:00:00+00:00, 2022-01-14 20:00:00+00:00, 2022-01-15 00:00:00+00:00, 2022-01-15 04:00:00+00:00, 2022-01-15 08:00:00+00:00, 2022-01-15 12:00:00+00:00, 2022-01-15 16:00:00+00:00, 2022-01-15 20:00:00+00:00, 2022-01-16 00:00:00+00:00, 2022-01-16 04:00:00+00:00, 2022-01-16 08:00:00+00:00, 2022-01-16 12:00:00+00:00, 2022-01-16 16:00:00+00:00, 2022-01-16 20:00:00+00:00, 2022-01-17 00:00:00+00:00, 2022-01-17 04:00:00+00:00, 2022-01-17 08:00:00+00:00, 2022-01-17 12:00:00+00:00, ...]\n", + " \n", + " [2190 rows x 0 columns],\n", + " 'q': Empty DataFrame\n", + " Columns: []\n", + " Index: [2022-01-01 00:00:00+00:00, 2022-01-01 04:00:00+00:00, 2022-01-01 08:00:00+00:00, 2022-01-01 12:00:00+00:00, 2022-01-01 16:00:00+00:00, 2022-01-01 20:00:00+00:00, 2022-01-02 00:00:00+00:00, 2022-01-02 04:00:00+00:00, 2022-01-02 08:00:00+00:00, 2022-01-02 12:00:00+00:00, 2022-01-02 16:00:00+00:00, 2022-01-02 20:00:00+00:00, 2022-01-03 00:00:00+00:00, 2022-01-03 04:00:00+00:00, 2022-01-03 08:00:00+00:00, 2022-01-03 12:00:00+00:00, 2022-01-03 16:00:00+00:00, 2022-01-03 20:00:00+00:00, 2022-01-04 00:00:00+00:00, 2022-01-04 04:00:00+00:00, 2022-01-04 08:00:00+00:00, 2022-01-04 12:00:00+00:00, 2022-01-04 16:00:00+00:00, 2022-01-04 20:00:00+00:00, 2022-01-05 00:00:00+00:00, 2022-01-05 04:00:00+00:00, 2022-01-05 08:00:00+00:00, 2022-01-05 12:00:00+00:00, 2022-01-05 16:00:00+00:00, 2022-01-05 20:00:00+00:00, 2022-01-06 00:00:00+00:00, 2022-01-06 04:00:00+00:00, 2022-01-06 08:00:00+00:00, 2022-01-06 12:00:00+00:00, 2022-01-06 16:00:00+00:00, 2022-01-06 20:00:00+00:00, 2022-01-07 00:00:00+00:00, 2022-01-07 04:00:00+00:00, 2022-01-07 08:00:00+00:00, 2022-01-07 12:00:00+00:00, 2022-01-07 16:00:00+00:00, 2022-01-07 20:00:00+00:00, 2022-01-08 00:00:00+00:00, 2022-01-08 04:00:00+00:00, 2022-01-08 08:00:00+00:00, 2022-01-08 12:00:00+00:00, 2022-01-08 16:00:00+00:00, 2022-01-08 20:00:00+00:00, 2022-01-09 00:00:00+00:00, 2022-01-09 04:00:00+00:00, 2022-01-09 08:00:00+00:00, 2022-01-09 12:00:00+00:00, 2022-01-09 16:00:00+00:00, 2022-01-09 20:00:00+00:00, 2022-01-10 00:00:00+00:00, 2022-01-10 04:00:00+00:00, 2022-01-10 08:00:00+00:00, 2022-01-10 12:00:00+00:00, 2022-01-10 16:00:00+00:00, 2022-01-10 20:00:00+00:00, 2022-01-11 00:00:00+00:00, 2022-01-11 04:00:00+00:00, 2022-01-11 08:00:00+00:00, 2022-01-11 12:00:00+00:00, 2022-01-11 16:00:00+00:00, 2022-01-11 20:00:00+00:00, 2022-01-12 00:00:00+00:00, 2022-01-12 04:00:00+00:00, 2022-01-12 08:00:00+00:00, 2022-01-12 12:00:00+00:00, 2022-01-12 16:00:00+00:00, 2022-01-12 20:00:00+00:00, 2022-01-13 00:00:00+00:00, 2022-01-13 04:00:00+00:00, 2022-01-13 08:00:00+00:00, 2022-01-13 12:00:00+00:00, 2022-01-13 16:00:00+00:00, 2022-01-13 20:00:00+00:00, 2022-01-14 00:00:00+00:00, 2022-01-14 04:00:00+00:00, 2022-01-14 08:00:00+00:00, 2022-01-14 12:00:00+00:00, 2022-01-14 16:00:00+00:00, 2022-01-14 20:00:00+00:00, 2022-01-15 00:00:00+00:00, 2022-01-15 04:00:00+00:00, 2022-01-15 08:00:00+00:00, 2022-01-15 12:00:00+00:00, 2022-01-15 16:00:00+00:00, 2022-01-15 20:00:00+00:00, 2022-01-16 00:00:00+00:00, 2022-01-16 04:00:00+00:00, 2022-01-16 08:00:00+00:00, 2022-01-16 12:00:00+00:00, 2022-01-16 16:00:00+00:00, 2022-01-16 20:00:00+00:00, 2022-01-17 00:00:00+00:00, 2022-01-17 04:00:00+00:00, 2022-01-17 08:00:00+00:00, 2022-01-17 12:00:00+00:00, ...]\n", + " \n", + " [2190 rows x 0 columns]}" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n.loads_t" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\sdotson\\AppData\\Local\\miniforge3\\envs\\pypsa-illinois\\lib\\site-packages\\linopy\\common.py:133: UserWarning:\n", + "\n", + "coords for dimension(s) ['snapshot'] is not aligned with the pandas object. Previously, the indexes of the pandas were ignored and overwritten in these cases. Now, the pandas object's coordinates are taken considered for alignment.\n", + "\n", + "INFO:linopy.model: Solve problem using Cplex solver\n", + "INFO:linopy.io: Writing time: 0.06s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Version identifier: 22.1.1.0 | 2022-11-27 | 9160aff4d\n", + "CPXPARAM_Read_DataCheck 1\n", + "Parallel mode: deterministic, using up to 12 threads for concurrent optimization:\n", + " * Starting dual Simplex on 1 thread...\n", + " * Starting Barrier on 10 threads...\n", + " * Starting primal Simplex on 1 thread...\n", + "Tried aggregator 1 time.\n", + "LP Presolve eliminated 13142 rows and 4382 columns.\n", + "All rows and columns eliminated.\n", + "Presolve time = 0.01 sec. (4.14 ticks)\n", + "\n", + "Dual simplex solved model.\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:linopy.constants: Optimization successful: \n", + "Status: ok\n", + "Termination condition: optimal\n", + "Solution: 4382 primals, 13142 duals\n", + "Objective: 1.06e+10\n", + "Solver model: available\n", + "Solver message: optimal\n", + "\n", + "c:\\Users\\sdotson\\AppData\\Local\\miniforge3\\envs\\pypsa-illinois\\lib\\site-packages\\pypsa\\optimization\\optimize.py:357: FutureWarning:\n", + "\n", + "A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", + "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", + "\n", + "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", + "\n", + "\n", + "\n", + "INFO:pypsa.optimization.optimize:The shadow-prices of the constraints Generator-ext-p-lower, Generator-ext-p-upper were not assigned to the network.\n" + ] + }, + { + "data": { + "text/plain": [ + "('ok', 'optimal')" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n.optimize(solver_name='cplex')" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
GeneratorCE OCGT0004 OCGT
snapshot
2022-01-01 00:00:00+00:0010221.004720.00
2022-01-01 04:00:00+00:009156.754259.75
2022-01-01 08:00:00+00:008376.003993.50
2022-01-01 12:00:00+00:008713.004258.25
2022-01-01 16:00:00+00:009598.004814.75
.........
2022-12-31 04:00:00+00:009765.504787.25
2022-12-31 08:00:00+00:008957.254491.75
2022-12-31 12:00:00+00:009507.254774.00
2022-12-31 16:00:00+00:009693.754851.75
2022-12-31 20:00:00+00:009786.004756.75
\n", + "

2190 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + "Generator CE OCGT 0004 OCGT\n", + "snapshot \n", + "2022-01-01 00:00:00+00:00 10221.00 4720.00\n", + "2022-01-01 04:00:00+00:00 9156.75 4259.75\n", + "2022-01-01 08:00:00+00:00 8376.00 3993.50\n", + "2022-01-01 12:00:00+00:00 8713.00 4258.25\n", + "2022-01-01 16:00:00+00:00 9598.00 4814.75\n", + "... ... ...\n", + "2022-12-31 04:00:00+00:00 9765.50 4787.25\n", + "2022-12-31 08:00:00+00:00 8957.25 4491.75\n", + "2022-12-31 12:00:00+00:00 9507.25 4774.00\n", + "2022-12-31 16:00:00+00:00 9693.75 4851.75\n", + "2022-12-31 20:00:00+00:00 9786.00 4756.75\n", + "\n", + "[2190 rows x 2 columns]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n.generators_t.p" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "p_by_carrier = n.generators_t.p.T.groupby(n.generators.carrier).sum().div(1e3)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Carrier\n", + "onwind dodgerblue\n", + "nuclear green\n", + "solar gold\n", + "OCGT indianred\n", + "hydrogen storage underground magenta\n", + "battery storage yellowgreen\n", + "Name: color, dtype: object" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n.carriers.color" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_dispatch(n, time=\"2022-07\"):\n", + " p_by_carrier = n.generators_t.p.groupby(n.generators.carrier, axis=1).sum().div(1e3)\n", + "\n", + " if not n.storage_units.empty:\n", + " sto = n.storage_units_t.p.T.groupby(n.storage_units.carrier).sum().T.div(1e3)\n", + " p_by_carrier = pd.concat([p_by_carrier, sto], axis=1)\n", + "\n", + " fig, ax = plt.subplots(figsize=(6, 3))\n", + "\n", + " color = p_by_carrier.columns.map(n.carriers.color)\n", + "\n", + " p_by_carrier.where(p_by_carrier > 0).loc[time].plot.area(\n", + " ax=ax,\n", + " linewidth=0,\n", + " color=color,\n", + " )\n", + "\n", + " charge = p_by_carrier.where(p_by_carrier < 0).dropna(how=\"all\", axis=1).loc[time]\n", + "\n", + " if not charge.empty:\n", + " charge.plot.area(\n", + " ax=ax,\n", + " linewidth=0,\n", + " color=charge.columns.map(n.carriers.color),\n", + " )\n", + "\n", + " n.loads_t.p_set.sum(axis=1).loc[time].div(1e3).plot(ax=ax, c=\"k\")\n", + "\n", + " plt.legend(loc=(1.05, 0))\n", + " ax.set_ylabel(\"GW\")\n", + " ax.set_ylim(-200, 200)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\sdotson\\AppData\\Local\\Temp\\ipykernel_19016\\2439899802.py:2: FutureWarning:\n", + "\n", + "DataFrame.groupby with axis=1 is deprecated. Do `frame.T.groupby(...)` without axis instead.\n", + "\n" + ] + }, + { + "data": { + "image/png": "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Qoi7d++K4OBg4ejoKExNTYWbm5uYOHGiSE1NNWzhRA0EvyeTiIiIiGTHazKJiIiISHYMmUREREQkO4ZMIiIiIpIdQyYRERERyY4hk4iIiIhkx5BJRERERLJjyCQiIiIi2TFkEhEREZHsGDKJiIiISHYMmUREREQkO4ZMIiIiIpIdQyYRERERyY4hk4iIiIhkx5BJRERERLJjyCQiIiIi2TFkEhEREZHsGDKJiIiISHYMmUREREQkO4ZMIiIiIpIdQyYRERERyY4hk4iIiIhkx5BJRERERLJjyCQiIiIi2TFkykihUGDbtm2GLoOIiIjI4BgyqxASEoIRI0YYugwiIiKiOochk4iIiIhkx5BZQ82bN8f777+vN69Tp06Ijo42SD1ERERETzOGTCIiIiKSHUMmEREREcmOIZOIiIiIZMeQWUNGRkYQQujNKyoqMlA1RERERE83hswacnR0REZGhnRbq9UiJSXFgBURERERPb0YMmuoT58+2Lx5Mw4ePIizZ89i4sSJMDY2NnRZRERERE8lE0MX8DTT6XQwMbl/F0VFReHq1asYOnQobGxssGjRIo5kEhEREVVCIR6+0JAkAwcOhKenJ9auXWvoUoiIiIjqFJ4ur0BOTg527NiBffv2oV+/foYuh4iIiKjO4enyCrzyyitISEhAZGQknnvuOUOXQ0RERFTn8HQ5EREREcmOp8uJiIiISHYMmUREREQkuwYZMpcsWYIuXbrAysoKTk5OGDFiBC5duqTXRgiB6OhoqNVqmJubo3fv3jh37py0/NatW5g2bRpat24NCwsLuLm5Yfr06dBoNFKba9euYdKkSfDw8IC5uTlatmyJ+fPno7Cw8IntKxEREZEhNMiQuX//foSGhuLo0aOIi4tDcXExgoODkZeXJ7V57733sGrVKqxduxYJCQlQqVTo378/cnNzAQDp6elIT0/HihUrcObMGWzcuBG7du3CpEmTpHVcvHgROp0On3zyCc6dO4fVq1fj448/xty5c5/4PhMRERE9SfzgD4CbN2/CyckJ+/fvR69evSCEgFqtRnh4ON58800AQEFBAZydnbFs2TK8/vrrFa7n+++/x4svvoi8vDzpS9wftnz5cqxfvx5Xr159bPtDREREZGgNciTzYWWnuO3s7AAAKSkpyMzMRHBwsNRGqVQiMDAQhw8frnI91tbWlQbMsjZl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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_dispatch(n)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pypsa-illinois", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}