You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mooi-Kickstart/Simulations/.ipynb_checkpoints/Test3-simulation-checkpoint...

4381 lines
227 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
}
],
"source": [
"from notepad import WaterStorage, Heatpump\n",
"# from pyrecoy.forecasts import Mipf\n",
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'cufflinks'",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mc:\\Users\\20190478\\Desktop\\shahla\\engymodel\\Test2-simulation.ipynb Cell 2'\u001b[0m in \u001b[0;36m<cell line: 2>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000001?line=0'>1</a>\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpandas\u001b[39;00m \u001b[39mas\u001b[39;00m \u001b[39mpd\u001b[39;00m\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000001?line=1'>2</a>\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mcufflinks\u001b[39;00m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000001?line=2'>3</a>\u001b[0m cufflinks\u001b[39m.\u001b[39mgo_offline()\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000001?line=3'>4</a>\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mnumpy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mpolynomial\u001b[39;00m \u001b[39mimport\u001b[39;00m Polynomial\n",
"\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'cufflinks'"
]
}
],
"source": [
"import pandas as pd\n",
"import cufflinks\n",
"cufflinks.go_offline()\n",
"from numpy.polynomial import Polynomial"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'Mipf' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mc:\\Users\\20190478\\Desktop\\shahla\\engymodel\\Test2-simulation.ipynb Cell 3'\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=0'>1</a>\u001b[0m mipf \u001b[39m=\u001b[39m Mipf(\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=1'>2</a>\u001b[0m start\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39m2018-11-01\u001b[39m\u001b[39m'\u001b[39m, \n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=2'>3</a>\u001b[0m end\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39m2018-11-02\u001b[39m\u001b[39m'\u001b[39m, \n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=3'>4</a>\u001b[0m tidy\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m, \n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=4'>5</a>\u001b[0m include_nextQ\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m,\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=5'>6</a>\u001b[0m folder_path\u001b[39m=\u001b[39m\u001b[39mr\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mC:\u001b[39m\u001b[39m\\\u001b[39m\u001b[39mUsers\u001b[39m\u001b[39m\\\u001b[39m\u001b[39mShahla Huseynova\u001b[39m\u001b[39m\\\u001b[39m\u001b[39mRecoy\u001b[39m\u001b[39m\\\u001b[39m\u001b[39mRecoy - Documents\u001b[39m\u001b[39m\\\u001b[39m\u001b[39m03 - Libraries\u001b[39m\u001b[39m\\\u001b[39m\u001b[39m12 - Data Management\u001b[39m\u001b[39m\\\u001b[39m\u001b[39mForecast Data\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=6'>7</a>\u001b[0m )\u001b[39m.\u001b[39mdata\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=8'>9</a>\u001b[0m price_data \u001b[39m=\u001b[39m mipf[[\u001b[39m'\u001b[39m\u001b[39mDAM\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mPOS\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mNEG\u001b[39m\u001b[39m'\u001b[39m]]\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000002?line=9'>10</a>\u001b[0m price_data\n",
"\u001b[1;31mNameError\u001b[0m: name 'Mipf' is not defined"
]
}
],
"source": [
"mipf = Mipf(\n",
" start='2018-11-01', \n",
" end='2018-11-02', \n",
" tidy=False, \n",
" include_nextQ=False,\n",
" folder_path=r\"C:\\Users\\Shahla Huseynova\\Recoy\\Recoy - Documents\\03 - Libraries\\12 - Data Management\\Forecast Data\"\n",
").data\n",
"\n",
"price_data = mipf[['DAM', 'POS', 'NEG']]\n",
"price_data"
]
},
{
"cell_type": "code",
"execution_count": 170,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Tsource (VDG)</th>\n",
" <th>Tsink (VDG)</th>\n",
" <th>MW (VDG)</th>\n",
" <th>Tsource (NDG)</th>\n",
" <th>Tsink (NDG)</th>\n",
" <th>MW (NDG)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-11-01 00:00:00</th>\n",
" <td>64.964783</td>\n",
" <td>142.003109</td>\n",
" <td>0.000000</td>\n",
" <td>19.897433</td>\n",
" <td>147.731814</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:15:00</th>\n",
" <td>54.578777</td>\n",
" <td>138.960493</td>\n",
" <td>0.000000</td>\n",
" <td>17.950905</td>\n",
" <td>148.138964</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:30:00</th>\n",
" <td>65.166672</td>\n",
" <td>139.885329</td>\n",
" <td>0.000000</td>\n",
" <td>33.500757</td>\n",
" <td>147.585426</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:45:00</th>\n",
" <td>65.358078</td>\n",
" <td>139.731901</td>\n",
" <td>0.000000</td>\n",
" <td>42.203876</td>\n",
" <td>147.547612</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:00:00</th>\n",
" <td>64.947536</td>\n",
" <td>139.577871</td>\n",
" <td>0.000000</td>\n",
" <td>18.702675</td>\n",
" <td>148.260335</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:15:00</th>\n",
" <td>65.073433</td>\n",
" <td>139.423357</td>\n",
" <td>0.000000</td>\n",
" <td>19.903652</td>\n",
" <td>149.186865</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:30:00</th>\n",
" <td>47.711559</td>\n",
" <td>140.328730</td>\n",
" <td>0.000000</td>\n",
" <td>19.574467</td>\n",
" <td>147.800016</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:45:00</th>\n",
" <td>29.525829</td>\n",
" <td>140.298902</td>\n",
" <td>0.000000</td>\n",
" <td>17.065464</td>\n",
" <td>147.906886</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:00:00</th>\n",
" <td>65.715569</td>\n",
" <td>139.991650</td>\n",
" <td>10.139587</td>\n",
" <td>49.339708</td>\n",
" <td>149.603741</td>\n",
" <td>3.333301</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:15:00</th>\n",
" <td>65.929909</td>\n",
" <td>148.342325</td>\n",
" <td>19.585104</td>\n",
" <td>61.721718</td>\n",
" <td>155.887905</td>\n",
" <td>6.455359</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Tsource (VDG) Tsink (VDG) MW (VDG) Tsource (NDG) \\\n",
"2018-11-01 00:00:00 64.964783 142.003109 0.000000 19.897433 \n",
"2018-11-01 00:15:00 54.578777 138.960493 0.000000 17.950905 \n",
"2018-11-01 00:30:00 65.166672 139.885329 0.000000 33.500757 \n",
"2018-11-01 00:45:00 65.358078 139.731901 0.000000 42.203876 \n",
"2018-11-01 01:00:00 64.947536 139.577871 0.000000 18.702675 \n",
"2018-11-01 01:15:00 65.073433 139.423357 0.000000 19.903652 \n",
"2018-11-01 01:30:00 47.711559 140.328730 0.000000 19.574467 \n",
"2018-11-01 01:45:00 29.525829 140.298902 0.000000 17.065464 \n",
"2018-11-01 02:00:00 65.715569 139.991650 10.139587 49.339708 \n",
"2018-11-01 02:15:00 65.929909 148.342325 19.585104 61.721718 \n",
"\n",
" Tsink (NDG) MW (NDG) \n",
"2018-11-01 00:00:00 147.731814 0.000000 \n",
"2018-11-01 00:15:00 148.138964 0.000000 \n",
"2018-11-01 00:30:00 147.585426 0.000000 \n",
"2018-11-01 00:45:00 147.547612 0.000000 \n",
"2018-11-01 01:00:00 148.260335 0.000000 \n",
"2018-11-01 01:15:00 149.186865 0.000000 \n",
"2018-11-01 01:30:00 147.800016 0.000000 \n",
"2018-11-01 01:45:00 147.906886 0.000000 \n",
"2018-11-01 02:00:00 149.603741 3.333301 \n",
"2018-11-01 02:15:00 155.887905 6.455359 "
]
},
"execution_count": 170,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = pd.read_excel('Demand_Data_Smurfit_Preprocessed.xlsx', sheet_name='nov2018', index_col=0)\n",
"start, end = '2018-11-01 00:00:00', '2018-11-01 12:00:00'\n",
"df = data[start:end]\n",
"df = df.resample('15T', origin=start).mean()\n",
"df=df.drop(['Unnamed: 7', 'Unnamed: 8', 'Unnamed: 9', 'Unnamed: 10', 'Unnamed: 11', 'Unnamed: 12'], axis=1)\n",
"df[:10]"
]
},
{
"cell_type": "code",
"execution_count": 171,
"metadata": {},
"outputs": [
{
"ename": "AttributeError",
"evalue": "'DataFrame' object has no attribute 'iplot'",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mc:\\Users\\20190478\\Desktop\\shahla\\engymodel\\Test2-simulation.ipynb Cell 5'\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/20190478/Desktop/shahla/engymodel/Test2-simulation.ipynb#ch0000004?line=0'>1</a>\u001b[0m df[[\u001b[39m'\u001b[39;49m\u001b[39mTsource (VDG)\u001b[39;49m\u001b[39m'\u001b[39;49m, \u001b[39m'\u001b[39;49m\u001b[39mTsink (VDG)\u001b[39;49m\u001b[39m'\u001b[39;49m]]\u001b[39m.\u001b[39;49miplot()\n",
"File \u001b[1;32m~\\Desktop\\shahla\\engymodel\\myenv\\lib\\site-packages\\pandas\\core\\generic.py:5575\u001b[0m, in \u001b[0;36mNDFrame.__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5567'>5568</a>\u001b[0m \u001b[39mif\u001b[39;00m (\n\u001b[0;32m <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5568'>5569</a>\u001b[0m name \u001b[39mnot\u001b[39;00m \u001b[39min\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_internal_names_set\n\u001b[0;32m <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5569'>5570</a>\u001b[0m \u001b[39mand\u001b[39;00m name \u001b[39mnot\u001b[39;00m \u001b[39min\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_metadata\n\u001b[0;32m <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5570'>5571</a>\u001b[0m \u001b[39mand\u001b[39;00m name \u001b[39mnot\u001b[39;00m \u001b[39min\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_accessors\n\u001b[0;32m <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5571'>5572</a>\u001b[0m \u001b[39mand\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_info_axis\u001b[39m.\u001b[39m_can_hold_identifiers_and_holds_name(name)\n\u001b[0;32m <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5572'>5573</a>\u001b[0m ):\n\u001b[0;32m <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5573'>5574</a>\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m[name]\n\u001b[1;32m-> <a href='file:///c%3A/Users/20190478/Desktop/shahla/engymodel/myenv/lib/site-packages/pandas/core/generic.py?line=5574'>5575</a>\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mobject\u001b[39;49m\u001b[39m.\u001b[39;49m\u001b[39m__getattribute__\u001b[39;49m(\u001b[39mself\u001b[39;49m, name)\n",
"\u001b[1;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'iplot'"
]
}
],
"source": [
"df[['Tsource (VDG)', 'Tsink (VDG)']].iplot()"
]
},
{
"cell_type": "code",
"execution_count": 172,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"15"
]
},
"execution_count": 172,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"waterstorage = WaterStorage(\n",
" name='MyStorage',\n",
" max_power=10,\n",
" min_power=-10,\n",
" roundtrip_eff=0.90,\n",
" capacity_per_volume = 50 * 1e-3,\n",
" volume = 1000,\n",
" lifetime = 25,\n",
" temperature = 368, #K\n",
" min_storagelevel = 5,\n",
" # max_storagelevel = 50\n",
" \n",
")\n",
"waterstorage.set_freq('15T')\n",
"waterstorage.set_storagelevel(15)\n",
"waterstorage.storagelevel\n"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [],
"source": [
"Tsink = 140 #Celcius\n",
"Tsource = 60\n",
"Tref = 0\n",
"hp_capacity = 31 #MW\n",
"process_demand_MW = 25 #MW\n",
"Cp = 4190.0 #J/kgK\n",
"MW_to_J_per_s = 1000000\n",
"hp_capacity *= MW_to_J_per_s\n",
"process_demand_MW *= MW_to_J_per_s\n",
"efficiency = 0.9\n",
"Tstorage = 95"
]
},
{
"cell_type": "code",
"execution_count": 174,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"50.0"
]
},
"execution_count": 174,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"waterstorage.max_storage_capacity"
]
},
{
"cell_type": "code",
"execution_count": 175,
"metadata": {},
"outputs": [],
"source": [
"from numpy.polynomial import Polynomial\n",
"\n",
"def hp_mass_flow (hp_capacity, Tsink, Tref, Cp):\n",
" return hp_capacity /(Cp*(Tsink - Tref)) \n",
"\n",
"def process_mass_flow (process_demand_MW, Tsink, Tref, Cp):\n",
" return process_demand_MW /(Cp*(Tsink - Tref)) \n",
"\n",
"def COP_calculation(Tsink, Tsource):\n",
" return Tsink / (Tsink - Tsource)\n",
"\n",
"def cop_curve(Tsink, Tsource):\n",
" c0 = Tsink / (Tsink - Tsource) \n",
" return Polynomial([c0])\n",
"\n",
"def charge_mass_flow(hp_mass_flow, process_mass_flow):\n",
" return hp_mass_flow - process_mass_flow\n",
"\n",
"def charged_heat (charge_mass_flow, Cp, Tsink, Tref):\n",
" return charge_mass_flow * Cp * (Tsink - Tref) / MW_to_J_per_s\n",
"\n",
"def discharged_heat(charged_heat, efficiency):\n",
" return charged_heat * efficiency\n",
"\n",
"\n",
"def discharge_mass_flow (discharged_heat, Cp, Tstorage, Tref):\n",
" return discharged_heat * MW_to_J_per_s /(Cp*(Tstorage - Tref))\n",
"\n",
"def Tsource_calculation(Tstorage, discharge_mass_flow, Tsource, process_mass_flow):\n",
" return ((Tstorage * discharge_mass_flow + Tsource * process_mass_flow)\n",
" / (discharge_mass_flow + process_mass_flow))"
]
},
{
"cell_type": "code",
"execution_count": 176,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'name': 'Heatpump',\n",
" 'max_th_power': 40,\n",
" 'min_th_power': 5,\n",
" 'cop_curve': <function __main__.cop_curve(Tsink, Tsource)>}"
]
},
"execution_count": 176,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# heatpump = Heatpump(\"heatpump1\", 50, cop_curve, 10)\n",
"# heatpump.set_heat_output(50, Tsource=333, Tsink=413)\n",
"cop_curve(140, 60)\n",
"\n",
"heatpump = Heatpump(\n",
" name='Heatpump',\n",
" max_th_power=40,\n",
" min_th_power=5,\n",
" cop_curve=cop_curve\n",
")\n",
"\n",
"heatpump.__dict__\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 177,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5.1625"
]
},
"execution_count": 177,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"heatpump.get_cop(50, Tsource=333, Tsink=413)"
]
},
{
"cell_type": "code",
"execution_count": 178,
"metadata": {},
"outputs": [],
"source": [
"def test_heatpump_and_waterstorage_system(Tsink, Tsource, process_demand_MW, e_price):\n",
" \"\"\"\n",
" 1. Follow a certain logic based on given price:\n",
" - If price is low --> Heatpump at full power, and charge the heatbuffer\n",
" - If price is high --> Discharge the heat buffer, and increase Tsource, which will increase COP\n",
" 2. Above logic should adhere to a couple of constraints:\n",
" - Storage levels\n",
" - Capacity of the heat pump \n",
" - Process demand\n",
" - ....\n",
" 3. This function should contain: \n",
" - Heat pump \n",
" - Water storage\n",
" - Interactions / logic between them\n",
" 4. Output of the function:\n",
" - Power of the heatpump (MWe)\n",
" - \"New\" water storage level\n",
" - (optional) Thermal output of the heatpump\n",
" - (optional) In/outflow from the storage\n",
" \"\"\"\n",
" \n",
" if e_price < 50:\n",
" hp_load = heatpump.max_th_power\n",
" energy_to_storage = hp_load - process_demand_MW\n",
" waterstorage.charge(energy_to_storage)\n",
" new_cl = waterstorage.storagelevel\n",
" if e_price > 100:\n",
" energy_from_storage = discharged_heat\n",
" waterstorage.discharge(energy_from_storage)\n",
" new_cl = waterstorage.storagelevel\n",
" def Tsource_calculation(Tstorage, discharge_mass_flow, Tsource, process_mass_flow):\n",
" return ((Tstorage * discharge_mass_flow(discharged_heat, Cp, Tstorage, Tref) + Tsource * process_mass_flow(process_demand_MW, Tsink, Tref, Cp))\n",
" / (discharge_mass_flow(discharged_heat, Cp, Tstorage, Tref) + process_mass_flow(process_demand_MW, Tsink, Tref, Cp)))\n",
" new_COP = cop_curve (Tsink, Tsource_calculation(Tstorage, discharge_mass_flow, Tsource, process_mass_flow))\n",
" hp_load = heatpump.set_heat_output(process_demand_MW, Tsink, Tsource) #bu da hemcinin set load assetin funksiyasidir, \n",
" #heatpump da overwrite edilib. men evezinde yazdim ki set_heat_output\n",
" #sen gor hansi funksiya sene lazimdir.\n",
"\n",
" return hp_load, new_cl"
]
},
{
"cell_type": "code",
"execution_count": 179,
"metadata": {},
"outputs": [],
"source": [
"# waterstorage.get_soc (30, 50)"
]
},
{
"cell_type": "code",
"execution_count": 180,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Tsource (VDG)</th>\n",
" <th>Tsink (VDG)</th>\n",
" <th>MW (VDG)</th>\n",
" <th>Tsource (NDG)</th>\n",
" <th>Tsink (NDG)</th>\n",
" <th>MW (NDG)</th>\n",
" <th>hp_mass</th>\n",
" <th>process_mass</th>\n",
" <th>COP</th>\n",
" <th>charge_mass</th>\n",
" <th>charge_heat</th>\n",
" <th>discharged_heat</th>\n",
" <th>discharge_mass</th>\n",
" <th>Tsource_new</th>\n",
" <th>new_COP</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-11-01 00:00:00</th>\n",
" <td>64.964783</td>\n",
" <td>142.003109</td>\n",
" <td>0.000000</td>\n",
" <td>19.897433</td>\n",
" <td>147.731814</td>\n",
" <td>0.000000</td>\n",
" <td>52.101451</td>\n",
" <td>42.017299</td>\n",
" <td>(5.386969459992516)</td>\n",
" <td>10.084152</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.295417</td>\n",
" <td>(5.953476543042116)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:15:00</th>\n",
" <td>54.578777</td>\n",
" <td>138.960493</td>\n",
" <td>0.000000</td>\n",
" <td>17.950905</td>\n",
" <td>148.138964</td>\n",
" <td>0.000000</td>\n",
" <td>53.242241</td>\n",
" <td>42.937291</td>\n",
" <td>(4.882106135030027)</td>\n",
" <td>10.304950</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>337.283671</td>\n",
" <td>(5.516577736203686)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:30:00</th>\n",
" <td>65.166672</td>\n",
" <td>139.885329</td>\n",
" <td>0.000000</td>\n",
" <td>33.500757</td>\n",
" <td>147.585426</td>\n",
" <td>0.000000</td>\n",
" <td>52.890236</td>\n",
" <td>42.653416</td>\n",
" <td>(5.5258665771869335)</td>\n",
" <td>10.236820</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.365643</td>\n",
" <td>(6.115036342983261)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:45:00</th>\n",
" <td>65.358078</td>\n",
" <td>139.731901</td>\n",
" <td>0.000000</td>\n",
" <td>42.203876</td>\n",
" <td>147.547612</td>\n",
" <td>0.000000</td>\n",
" <td>52.948310</td>\n",
" <td>42.700250</td>\n",
" <td>(5.549424302045392)</td>\n",
" <td>10.248060</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.504908</td>\n",
" <td>(6.139377727001776)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:00:00</th>\n",
" <td>64.947536</td>\n",
" <td>139.577871</td>\n",
" <td>0.000000</td>\n",
" <td>18.702675</td>\n",
" <td>148.260335</td>\n",
" <td>0.000000</td>\n",
" <td>53.006741</td>\n",
" <td>42.747372</td>\n",
" <td>(5.528286493353138)</td>\n",
" <td>10.259369</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.187288</td>\n",
" <td>(6.122188736008785)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:15:00</th>\n",
" <td>65.073433</td>\n",
" <td>139.423357</td>\n",
" <td>0.000000</td>\n",
" <td>19.903652</td>\n",
" <td>149.186865</td>\n",
" <td>0.000000</td>\n",
" <td>53.065485</td>\n",
" <td>42.794746</td>\n",
" <td>(5.547058190973266)</td>\n",
" <td>10.270739</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.276795</td>\n",
" <td>(6.142136614098925)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:30:00</th>\n",
" <td>47.711559</td>\n",
" <td>140.328730</td>\n",
" <td>0.000000</td>\n",
" <td>19.574467</td>\n",
" <td>147.800016</td>\n",
" <td>0.000000</td>\n",
" <td>52.723117</td>\n",
" <td>42.518642</td>\n",
" <td>(4.462765657815752)</td>\n",
" <td>10.204474</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>332.149982</td>\n",
" <td>(5.091587841259815)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:45:00</th>\n",
" <td>29.525829</td>\n",
" <td>140.298902</td>\n",
" <td>0.000000</td>\n",
" <td>17.065464</td>\n",
" <td>147.906886</td>\n",
" <td>0.000000</td>\n",
" <td>52.734326</td>\n",
" <td>42.527682</td>\n",
" <td>(3.731041234226957)</td>\n",
" <td>10.206644</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>318.360577</td>\n",
" <td>(4.353340984575257)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:00:00</th>\n",
" <td>65.715569</td>\n",
" <td>139.991650</td>\n",
" <td>10.139587</td>\n",
" <td>49.339708</td>\n",
" <td>149.603741</td>\n",
" <td>3.333301</td>\n",
" <td>52.850067</td>\n",
" <td>42.621021</td>\n",
" <td>(5.560223997670469)</td>\n",
" <td>10.229045</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.786162</td>\n",
" <td>(6.145207240951149)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:15:00</th>\n",
" <td>65.929909</td>\n",
" <td>148.342325</td>\n",
" <td>19.585104</td>\n",
" <td>61.721718</td>\n",
" <td>155.887905</td>\n",
" <td>6.455359</td>\n",
" <td>49.874963</td>\n",
" <td>40.221745</td>\n",
" <td>(5.112607341877656)</td>\n",
" <td>9.653219</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>346.261835</td>\n",
" <td>(5.61187501279911)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:30:00</th>\n",
" <td>64.958149</td>\n",
" <td>149.599621</td>\n",
" <td>19.976666</td>\n",
" <td>62.090279</td>\n",
" <td>158.494424</td>\n",
" <td>6.570245</td>\n",
" <td>49.455794</td>\n",
" <td>39.883705</td>\n",
" <td>(4.9928198565013675)</td>\n",
" <td>9.572089</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.583089</td>\n",
" <td>(5.487128666091509)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:45:00</th>\n",
" <td>64.986305</td>\n",
" <td>150.481351</td>\n",
" <td>20.134573</td>\n",
" <td>61.710773</td>\n",
" <td>161.172910</td>\n",
" <td>6.603197</td>\n",
" <td>49.166013</td>\n",
" <td>39.650010</td>\n",
" <td>(4.953285261562575)</td>\n",
" <td>9.516002</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.637552</td>\n",
" <td>(5.440142346671779)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 03:00:00</th>\n",
" <td>64.997940</td>\n",
" <td>151.078125</td>\n",
" <td>20.043122</td>\n",
" <td>61.676767</td>\n",
" <td>163.180264</td>\n",
" <td>6.558206</td>\n",
" <td>48.971802</td>\n",
" <td>39.493389</td>\n",
" <td>(4.926547541990172)</td>\n",
" <td>9.478413</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.668797</td>\n",
" <td>(5.40851620571899)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 03:15:00</th>\n",
" <td>65.007706</td>\n",
" <td>151.789772</td>\n",
" <td>19.837430</td>\n",
" <td>61.732315</td>\n",
" <td>161.853063</td>\n",
" <td>6.511412</td>\n",
" <td>48.742204</td>\n",
" <td>39.308229</td>\n",
" <td>(4.894902723368221)</td>\n",
" <td>9.433975</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.702919</td>\n",
" <td>(5.371180630920103)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 03:30:00</th>\n",
" <td>65.017475</td>\n",
" <td>151.835522</td>\n",
" <td>19.874445</td>\n",
" <td>61.648869</td>\n",
" <td>161.482123</td>\n",
" <td>6.527815</td>\n",
" <td>48.727517</td>\n",
" <td>39.296385</td>\n",
" <td>(4.89340104404814)</td>\n",
" <td>9.431132</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.711905</td>\n",
" <td>(5.369263184422139)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 03:45:00</th>\n",
" <td>65.027245</td>\n",
" <td>151.881233</td>\n",
" <td>19.899466</td>\n",
" <td>61.293957</td>\n",
" <td>160.863012</td>\n",
" <td>6.542829</td>\n",
" <td>48.712852</td>\n",
" <td>39.284558</td>\n",
" <td>(4.891902378691214)</td>\n",
" <td>9.428294</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.720889</td>\n",
" <td>(5.367349502862809)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 04:00:00</th>\n",
" <td>65.078491</td>\n",
" <td>155.586501</td>\n",
" <td>19.836221</td>\n",
" <td>61.054382</td>\n",
" <td>159.831705</td>\n",
" <td>6.569189</td>\n",
" <td>47.552763</td>\n",
" <td>38.349002</td>\n",
" <td>(4.735343316767779)</td>\n",
" <td>9.203761</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.897390</td>\n",
" <td>(5.1831068924125105)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 04:15:00</th>\n",
" <td>65.162819</td>\n",
" <td>159.825609</td>\n",
" <td>20.035889</td>\n",
" <td>61.265831</td>\n",
" <td>159.299580</td>\n",
" <td>6.684093</td>\n",
" <td>46.291505</td>\n",
" <td>37.331859</td>\n",
" <td>(4.572288732349114)</td>\n",
" <td>8.959646</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>346.115494</td>\n",
" <td>(4.991639210075494)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 04:30:00</th>\n",
" <td>65.009438</td>\n",
" <td>159.770526</td>\n",
" <td>20.661838</td>\n",
" <td>61.344606</td>\n",
" <td>158.147284</td>\n",
" <td>6.904603</td>\n",
" <td>46.307465</td>\n",
" <td>37.344730</td>\n",
" <td>(4.566964499091226)</td>\n",
" <td>8.962735</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>346.000974</td>\n",
" <td>(4.9875851092226595)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 04:45:00</th>\n",
" <td>65.131508</td>\n",
" <td>159.715388</td>\n",
" <td>20.622682</td>\n",
" <td>61.096634</td>\n",
" <td>156.594870</td>\n",
" <td>6.907381</td>\n",
" <td>46.323452</td>\n",
" <td>37.357622</td>\n",
" <td>(4.574938019623583)</td>\n",
" <td>8.965829</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>346.088501</td>\n",
" <td>(4.995162647362516)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 05:00:00</th>\n",
" <td>64.973846</td>\n",
" <td>159.660179</td>\n",
" <td>20.554121</td>\n",
" <td>60.758636</td>\n",
" <td>155.221555</td>\n",
" <td>6.898230</td>\n",
" <td>46.339470</td>\n",
" <td>37.370540</td>\n",
" <td>(4.569404748614581)</td>\n",
" <td>8.968930</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.970812</td>\n",
" <td>(4.990925576584593)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 05:15:00</th>\n",
" <td>65.065392</td>\n",
" <td>159.604916</td>\n",
" <td>20.612153</td>\n",
" <td>60.820210</td>\n",
" <td>155.101509</td>\n",
" <td>6.918372</td>\n",
" <td>46.355515</td>\n",
" <td>37.383480</td>\n",
" <td>(4.575915928004264)</td>\n",
" <td>8.972035</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>346.035951</td>\n",
" <td>(4.997228698670104)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 05:30:00</th>\n",
" <td>65.012028</td>\n",
" <td>159.549585</td>\n",
" <td>20.664273</td>\n",
" <td>60.545910</td>\n",
" <td>155.863584</td>\n",
" <td>6.927239</td>\n",
" <td>46.371590</td>\n",
" <td>37.396444</td>\n",
" <td>(4.575425857588348)</td>\n",
" <td>8.975147</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.994765</td>\n",
" <td>(4.997406082677272)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 05:45:00</th>\n",
" <td>64.914375</td>\n",
" <td>159.494199</td>\n",
" <td>20.737744</td>\n",
" <td>61.934345</td>\n",
" <td>157.708479</td>\n",
" <td>6.931688</td>\n",
" <td>46.387693</td>\n",
" <td>37.409430</td>\n",
" <td>(4.572795565301379)</td>\n",
" <td>8.978263</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.921067</td>\n",
" <td>(4.995709283347026)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 06:00:00</th>\n",
" <td>65.008305</td>\n",
" <td>159.438741</td>\n",
" <td>20.591386</td>\n",
" <td>62.095495</td>\n",
" <td>158.665966</td>\n",
" <td>6.872019</td>\n",
" <td>46.403829</td>\n",
" <td>37.422443</td>\n",
" <td>(4.579442377135362)</td>\n",
" <td>8.981386</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.987962</td>\n",
" <td>(5.002138186898098)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 06:15:00</th>\n",
" <td>64.896576</td>\n",
" <td>159.383230</td>\n",
" <td>20.602774</td>\n",
" <td>62.043797</td>\n",
" <td>159.730828</td>\n",
" <td>6.863882</td>\n",
" <td>46.419991</td>\n",
" <td>37.435476</td>\n",
" <td>(4.576130201489353)</td>\n",
" <td>8.984514</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.903913</td>\n",
" <td>(4.999845610137759)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 06:30:00</th>\n",
" <td>64.913509</td>\n",
" <td>159.327647</td>\n",
" <td>20.572036</td>\n",
" <td>62.008900</td>\n",
" <td>159.104477</td>\n",
" <td>6.859706</td>\n",
" <td>46.436184</td>\n",
" <td>37.448536</td>\n",
" <td>(4.579056236814606)</td>\n",
" <td>8.987649</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.914294</td>\n",
" <td>(5.003018981720621)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 06:45:00</th>\n",
" <td>64.930443</td>\n",
" <td>159.272009</td>\n",
" <td>20.528678</td>\n",
" <td>62.056747</td>\n",
" <td>158.028592</td>\n",
" <td>6.856061</td>\n",
" <td>46.452406</td>\n",
" <td>37.461618</td>\n",
" <td>(4.581988892854711)</td>\n",
" <td>8.990788</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.924674</td>\n",
" <td>(5.006199787644315)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 07:00:00</th>\n",
" <td>64.947380</td>\n",
" <td>159.216302</td>\n",
" <td>20.579580</td>\n",
" <td>61.756916</td>\n",
" <td>157.261143</td>\n",
" <td>6.880578</td>\n",
" <td>46.468659</td>\n",
" <td>37.474725</td>\n",
" <td>(4.584928855375525)</td>\n",
" <td>8.993934</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.935057</td>\n",
" <td>(5.0093887731351225)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 07:15:00</th>\n",
" <td>64.964310</td>\n",
" <td>159.160540</td>\n",
" <td>20.669217</td>\n",
" <td>61.671547</td>\n",
" <td>157.340453</td>\n",
" <td>6.909111</td>\n",
" <td>46.484939</td>\n",
" <td>37.487854</td>\n",
" <td>(4.587875121041952)</td>\n",
" <td>8.997085</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.945434</td>\n",
" <td>(5.012584929093059)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 07:30:00</th>\n",
" <td>64.981247</td>\n",
" <td>159.104705</td>\n",
" <td>20.729556</td>\n",
" <td>61.952133</td>\n",
" <td>157.717463</td>\n",
" <td>6.924669</td>\n",
" <td>46.501252</td>\n",
" <td>37.501010</td>\n",
" <td>(4.590829055058798)</td>\n",
" <td>9.000242</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.955816</td>\n",
" <td>(5.015789631637271)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 07:45:00</th>\n",
" <td>64.998184</td>\n",
" <td>159.048813</td>\n",
" <td>20.761609</td>\n",
" <td>62.045223</td>\n",
" <td>157.862820</td>\n",
" <td>6.933224</td>\n",
" <td>46.517593</td>\n",
" <td>37.514188</td>\n",
" <td>(4.593789718661315)</td>\n",
" <td>9.003405</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.966197</td>\n",
" <td>(5.019001893273372)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 08:00:00</th>\n",
" <td>65.015114</td>\n",
" <td>158.992853</td>\n",
" <td>20.636961</td>\n",
" <td>61.945326</td>\n",
" <td>158.423347</td>\n",
" <td>6.885049</td>\n",
" <td>46.533966</td>\n",
" <td>37.527392</td>\n",
" <td>(4.5967572478674885)</td>\n",
" <td>9.006574</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.976573</td>\n",
" <td>(5.022221979878481)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 08:15:00</th>\n",
" <td>65.032051</td>\n",
" <td>158.092626</td>\n",
" <td>20.728004</td>\n",
" <td>61.805672</td>\n",
" <td>158.846297</td>\n",
" <td>6.901296</td>\n",
" <td>46.798944</td>\n",
" <td>37.741084</td>\n",
" <td>(4.63238728861577)</td>\n",
" <td>9.057860</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.955872</td>\n",
" <td>(5.063531390353244)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 08:30:00</th>\n",
" <td>65.048981</td>\n",
" <td>158.080258</td>\n",
" <td>20.687922</td>\n",
" <td>61.974689</td>\n",
" <td>160.411953</td>\n",
" <td>6.871062</td>\n",
" <td>46.802606</td>\n",
" <td>37.744037</td>\n",
" <td>(4.633713185319376)</td>\n",
" <td>9.058569</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.967870</td>\n",
" <td>(5.064835636292873)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 08:45:00</th>\n",
" <td>65.065918</td>\n",
" <td>158.067888</td>\n",
" <td>20.786935</td>\n",
" <td>64.020584</td>\n",
" <td>162.239295</td>\n",
" <td>6.884044</td>\n",
" <td>46.806269</td>\n",
" <td>37.746991</td>\n",
" <td>(4.635040406512749)</td>\n",
" <td>9.059278</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.979873</td>\n",
" <td>(5.066141119919892)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 09:00:00</th>\n",
" <td>65.081432</td>\n",
" <td>158.055510</td>\n",
" <td>20.671409</td>\n",
" <td>63.844805</td>\n",
" <td>161.927749</td>\n",
" <td>6.849013</td>\n",
" <td>46.809934</td>\n",
" <td>37.749947</td>\n",
" <td>(4.636297768824248)</td>\n",
" <td>9.059987</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.990831</td>\n",
" <td>(5.067385329128207)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 09:15:00</th>\n",
" <td>65.077782</td>\n",
" <td>158.043133</td>\n",
" <td>20.785747</td>\n",
" <td>63.860462</td>\n",
" <td>161.863576</td>\n",
" <td>6.887467</td>\n",
" <td>46.813600</td>\n",
" <td>37.752903</td>\n",
" <td>(4.6365998277661316)</td>\n",
" <td>9.060697</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.987689</td>\n",
" <td>(5.067790055930502)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 09:30:00</th>\n",
" <td>65.065968</td>\n",
" <td>158.030753</td>\n",
" <td>20.751797</td>\n",
" <td>63.746675</td>\n",
" <td>161.902521</td>\n",
" <td>6.875663</td>\n",
" <td>46.817267</td>\n",
" <td>37.755861</td>\n",
" <td>(4.63649490283444)</td>\n",
" <td>9.061407</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.978542</td>\n",
" <td>(5.0678371544740095)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 09:45:00</th>\n",
" <td>65.054153</td>\n",
" <td>158.018369</td>\n",
" <td>20.668634</td>\n",
" <td>63.841488</td>\n",
" <td>161.418380</td>\n",
" <td>6.853198</td>\n",
" <td>46.820936</td>\n",
" <td>37.758820</td>\n",
" <td>(4.636390085845393)</td>\n",
" <td>9.062117</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.969395</td>\n",
" <td>(5.067884361444745)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 10:00:00</th>\n",
" <td>65.042343</td>\n",
" <td>158.005983</td>\n",
" <td>20.517416</td>\n",
" <td>63.604210</td>\n",
" <td>158.680932</td>\n",
" <td>6.832018</td>\n",
" <td>46.824607</td>\n",
" <td>37.761780</td>\n",
" <td>(4.636285594422067)</td>\n",
" <td>9.062827</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.960249</td>\n",
" <td>(5.067931876036881)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 10:15:00</th>\n",
" <td>64.989166</td>\n",
" <td>157.993593</td>\n",
" <td>20.562448</td>\n",
" <td>63.693844</td>\n",
" <td>158.580033</td>\n",
" <td>6.847950</td>\n",
" <td>46.828279</td>\n",
" <td>37.764741</td>\n",
" <td>(4.634119126966711)</td>\n",
" <td>9.063538</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.920670</td>\n",
" <td>(5.066166486255051)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 10:30:00</th>\n",
" <td>64.985981</td>\n",
" <td>157.981200</td>\n",
" <td>20.648903</td>\n",
" <td>64.003714</td>\n",
" <td>161.722647</td>\n",
" <td>6.842873</td>\n",
" <td>46.831952</td>\n",
" <td>37.767703</td>\n",
" <td>(4.6344447036181)</td>\n",
" <td>9.064249</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.917868</td>\n",
" <td>(5.066592062531787)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 10:45:00</th>\n",
" <td>64.975281</td>\n",
" <td>157.968801</td>\n",
" <td>20.691964</td>\n",
" <td>64.258675</td>\n",
" <td>164.009601</td>\n",
" <td>6.832325</td>\n",
" <td>46.835628</td>\n",
" <td>37.770668</td>\n",
" <td>(4.634396034548163)</td>\n",
" <td>9.064960</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.909538</td>\n",
" <td>(5.066688630522301)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 11:00:00</th>\n",
" <td>64.964016</td>\n",
" <td>157.956401</td>\n",
" <td>20.695587</td>\n",
" <td>64.458424</td>\n",
" <td>165.108325</td>\n",
" <td>6.821379</td>\n",
" <td>46.839305</td>\n",
" <td>37.773633</td>\n",
" <td>(4.634319240969633)</td>\n",
" <td>9.065672</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.900791</td>\n",
" <td>(5.066760457771209)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 11:15:00</th>\n",
" <td>64.952751</td>\n",
" <td>157.943999</td>\n",
" <td>20.728269</td>\n",
" <td>64.658173</td>\n",
" <td>166.227225</td>\n",
" <td>6.819723</td>\n",
" <td>46.842983</td>\n",
" <td>37.776599</td>\n",
" <td>(4.634242555022484)</td>\n",
" <td>9.066384</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.892045</td>\n",
" <td>(5.066832397378636)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 11:30:00</th>\n",
" <td>64.942787</td>\n",
" <td>157.931594</td>\n",
" <td>20.726933</td>\n",
" <td>64.697697</td>\n",
" <td>166.562932</td>\n",
" <td>6.815450</td>\n",
" <td>46.846662</td>\n",
" <td>37.779566</td>\n",
" <td>(4.634230831076715)</td>\n",
" <td>9.067096</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.884254</td>\n",
" <td>(5.066961504304182)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 11:45:00</th>\n",
" <td>64.940338</td>\n",
" <td>157.919185</td>\n",
" <td>20.801354</td>\n",
" <td>64.613983</td>\n",
" <td>166.836435</td>\n",
" <td>6.836759</td>\n",
" <td>46.850343</td>\n",
" <td>37.782535</td>\n",
" <td>(4.634593773846146)</td>\n",
" <td>9.067808</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.881993</td>\n",
" <td>(5.067420220709067)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 12:00:00</th>\n",
" <td>64.940338</td>\n",
" <td>157.910911</td>\n",
" <td>20.752579</td>\n",
" <td>64.558167</td>\n",
" <td>167.016866</td>\n",
" <td>6.818644</td>\n",
" <td>46.852798</td>\n",
" <td>37.784515</td>\n",
" <td>(4.634917246100044)</td>\n",
" <td>9.068283</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.881687</td>\n",
" <td>(5.067797775346913)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Tsource (VDG) Tsink (VDG) MW (VDG) Tsource (NDG) \\\n",
"2018-11-01 00:00:00 64.964783 142.003109 0.000000 19.897433 \n",
"2018-11-01 00:15:00 54.578777 138.960493 0.000000 17.950905 \n",
"2018-11-01 00:30:00 65.166672 139.885329 0.000000 33.500757 \n",
"2018-11-01 00:45:00 65.358078 139.731901 0.000000 42.203876 \n",
"2018-11-01 01:00:00 64.947536 139.577871 0.000000 18.702675 \n",
"2018-11-01 01:15:00 65.073433 139.423357 0.000000 19.903652 \n",
"2018-11-01 01:30:00 47.711559 140.328730 0.000000 19.574467 \n",
"2018-11-01 01:45:00 29.525829 140.298902 0.000000 17.065464 \n",
"2018-11-01 02:00:00 65.715569 139.991650 10.139587 49.339708 \n",
"2018-11-01 02:15:00 65.929909 148.342325 19.585104 61.721718 \n",
"2018-11-01 02:30:00 64.958149 149.599621 19.976666 62.090279 \n",
"2018-11-01 02:45:00 64.986305 150.481351 20.134573 61.710773 \n",
"2018-11-01 03:00:00 64.997940 151.078125 20.043122 61.676767 \n",
"2018-11-01 03:15:00 65.007706 151.789772 19.837430 61.732315 \n",
"2018-11-01 03:30:00 65.017475 151.835522 19.874445 61.648869 \n",
"2018-11-01 03:45:00 65.027245 151.881233 19.899466 61.293957 \n",
"2018-11-01 04:00:00 65.078491 155.586501 19.836221 61.054382 \n",
"2018-11-01 04:15:00 65.162819 159.825609 20.035889 61.265831 \n",
"2018-11-01 04:30:00 65.009438 159.770526 20.661838 61.344606 \n",
"2018-11-01 04:45:00 65.131508 159.715388 20.622682 61.096634 \n",
"2018-11-01 05:00:00 64.973846 159.660179 20.554121 60.758636 \n",
"2018-11-01 05:15:00 65.065392 159.604916 20.612153 60.820210 \n",
"2018-11-01 05:30:00 65.012028 159.549585 20.664273 60.545910 \n",
"2018-11-01 05:45:00 64.914375 159.494199 20.737744 61.934345 \n",
"2018-11-01 06:00:00 65.008305 159.438741 20.591386 62.095495 \n",
"2018-11-01 06:15:00 64.896576 159.383230 20.602774 62.043797 \n",
"2018-11-01 06:30:00 64.913509 159.327647 20.572036 62.008900 \n",
"2018-11-01 06:45:00 64.930443 159.272009 20.528678 62.056747 \n",
"2018-11-01 07:00:00 64.947380 159.216302 20.579580 61.756916 \n",
"2018-11-01 07:15:00 64.964310 159.160540 20.669217 61.671547 \n",
"2018-11-01 07:30:00 64.981247 159.104705 20.729556 61.952133 \n",
"2018-11-01 07:45:00 64.998184 159.048813 20.761609 62.045223 \n",
"2018-11-01 08:00:00 65.015114 158.992853 20.636961 61.945326 \n",
"2018-11-01 08:15:00 65.032051 158.092626 20.728004 61.805672 \n",
"2018-11-01 08:30:00 65.048981 158.080258 20.687922 61.974689 \n",
"2018-11-01 08:45:00 65.065918 158.067888 20.786935 64.020584 \n",
"2018-11-01 09:00:00 65.081432 158.055510 20.671409 63.844805 \n",
"2018-11-01 09:15:00 65.077782 158.043133 20.785747 63.860462 \n",
"2018-11-01 09:30:00 65.065968 158.030753 20.751797 63.746675 \n",
"2018-11-01 09:45:00 65.054153 158.018369 20.668634 63.841488 \n",
"2018-11-01 10:00:00 65.042343 158.005983 20.517416 63.604210 \n",
"2018-11-01 10:15:00 64.989166 157.993593 20.562448 63.693844 \n",
"2018-11-01 10:30:00 64.985981 157.981200 20.648903 64.003714 \n",
"2018-11-01 10:45:00 64.975281 157.968801 20.691964 64.258675 \n",
"2018-11-01 11:00:00 64.964016 157.956401 20.695587 64.458424 \n",
"2018-11-01 11:15:00 64.952751 157.943999 20.728269 64.658173 \n",
"2018-11-01 11:30:00 64.942787 157.931594 20.726933 64.697697 \n",
"2018-11-01 11:45:00 64.940338 157.919185 20.801354 64.613983 \n",
"2018-11-01 12:00:00 64.940338 157.910911 20.752579 64.558167 \n",
"\n",
" Tsink (NDG) MW (NDG) hp_mass process_mass \\\n",
"2018-11-01 00:00:00 147.731814 0.000000 52.101451 42.017299 \n",
"2018-11-01 00:15:00 148.138964 0.000000 53.242241 42.937291 \n",
"2018-11-01 00:30:00 147.585426 0.000000 52.890236 42.653416 \n",
"2018-11-01 00:45:00 147.547612 0.000000 52.948310 42.700250 \n",
"2018-11-01 01:00:00 148.260335 0.000000 53.006741 42.747372 \n",
"2018-11-01 01:15:00 149.186865 0.000000 53.065485 42.794746 \n",
"2018-11-01 01:30:00 147.800016 0.000000 52.723117 42.518642 \n",
"2018-11-01 01:45:00 147.906886 0.000000 52.734326 42.527682 \n",
"2018-11-01 02:00:00 149.603741 3.333301 52.850067 42.621021 \n",
"2018-11-01 02:15:00 155.887905 6.455359 49.874963 40.221745 \n",
"2018-11-01 02:30:00 158.494424 6.570245 49.455794 39.883705 \n",
"2018-11-01 02:45:00 161.172910 6.603197 49.166013 39.650010 \n",
"2018-11-01 03:00:00 163.180264 6.558206 48.971802 39.493389 \n",
"2018-11-01 03:15:00 161.853063 6.511412 48.742204 39.308229 \n",
"2018-11-01 03:30:00 161.482123 6.527815 48.727517 39.296385 \n",
"2018-11-01 03:45:00 160.863012 6.542829 48.712852 39.284558 \n",
"2018-11-01 04:00:00 159.831705 6.569189 47.552763 38.349002 \n",
"2018-11-01 04:15:00 159.299580 6.684093 46.291505 37.331859 \n",
"2018-11-01 04:30:00 158.147284 6.904603 46.307465 37.344730 \n",
"2018-11-01 04:45:00 156.594870 6.907381 46.323452 37.357622 \n",
"2018-11-01 05:00:00 155.221555 6.898230 46.339470 37.370540 \n",
"2018-11-01 05:15:00 155.101509 6.918372 46.355515 37.383480 \n",
"2018-11-01 05:30:00 155.863584 6.927239 46.371590 37.396444 \n",
"2018-11-01 05:45:00 157.708479 6.931688 46.387693 37.409430 \n",
"2018-11-01 06:00:00 158.665966 6.872019 46.403829 37.422443 \n",
"2018-11-01 06:15:00 159.730828 6.863882 46.419991 37.435476 \n",
"2018-11-01 06:30:00 159.104477 6.859706 46.436184 37.448536 \n",
"2018-11-01 06:45:00 158.028592 6.856061 46.452406 37.461618 \n",
"2018-11-01 07:00:00 157.261143 6.880578 46.468659 37.474725 \n",
"2018-11-01 07:15:00 157.340453 6.909111 46.484939 37.487854 \n",
"2018-11-01 07:30:00 157.717463 6.924669 46.501252 37.501010 \n",
"2018-11-01 07:45:00 157.862820 6.933224 46.517593 37.514188 \n",
"2018-11-01 08:00:00 158.423347 6.885049 46.533966 37.527392 \n",
"2018-11-01 08:15:00 158.846297 6.901296 46.798944 37.741084 \n",
"2018-11-01 08:30:00 160.411953 6.871062 46.802606 37.744037 \n",
"2018-11-01 08:45:00 162.239295 6.884044 46.806269 37.746991 \n",
"2018-11-01 09:00:00 161.927749 6.849013 46.809934 37.749947 \n",
"2018-11-01 09:15:00 161.863576 6.887467 46.813600 37.752903 \n",
"2018-11-01 09:30:00 161.902521 6.875663 46.817267 37.755861 \n",
"2018-11-01 09:45:00 161.418380 6.853198 46.820936 37.758820 \n",
"2018-11-01 10:00:00 158.680932 6.832018 46.824607 37.761780 \n",
"2018-11-01 10:15:00 158.580033 6.847950 46.828279 37.764741 \n",
"2018-11-01 10:30:00 161.722647 6.842873 46.831952 37.767703 \n",
"2018-11-01 10:45:00 164.009601 6.832325 46.835628 37.770668 \n",
"2018-11-01 11:00:00 165.108325 6.821379 46.839305 37.773633 \n",
"2018-11-01 11:15:00 166.227225 6.819723 46.842983 37.776599 \n",
"2018-11-01 11:30:00 166.562932 6.815450 46.846662 37.779566 \n",
"2018-11-01 11:45:00 166.836435 6.836759 46.850343 37.782535 \n",
"2018-11-01 12:00:00 167.016866 6.818644 46.852798 37.784515 \n",
"\n",
" COP charge_mass charge_heat \\\n",
"2018-11-01 00:00:00 (5.386969459992516) 10.084152 6.0 \n",
"2018-11-01 00:15:00 (4.882106135030027) 10.304950 6.0 \n",
"2018-11-01 00:30:00 (5.5258665771869335) 10.236820 6.0 \n",
"2018-11-01 00:45:00 (5.549424302045392) 10.248060 6.0 \n",
"2018-11-01 01:00:00 (5.528286493353138) 10.259369 6.0 \n",
"2018-11-01 01:15:00 (5.547058190973266) 10.270739 6.0 \n",
"2018-11-01 01:30:00 (4.462765657815752) 10.204474 6.0 \n",
"2018-11-01 01:45:00 (3.731041234226957) 10.206644 6.0 \n",
"2018-11-01 02:00:00 (5.560223997670469) 10.229045 6.0 \n",
"2018-11-01 02:15:00 (5.112607341877656) 9.653219 6.0 \n",
"2018-11-01 02:30:00 (4.9928198565013675) 9.572089 6.0 \n",
"2018-11-01 02:45:00 (4.953285261562575) 9.516002 6.0 \n",
"2018-11-01 03:00:00 (4.926547541990172) 9.478413 6.0 \n",
"2018-11-01 03:15:00 (4.894902723368221) 9.433975 6.0 \n",
"2018-11-01 03:30:00 (4.89340104404814) 9.431132 6.0 \n",
"2018-11-01 03:45:00 (4.891902378691214) 9.428294 6.0 \n",
"2018-11-01 04:00:00 (4.735343316767779) 9.203761 6.0 \n",
"2018-11-01 04:15:00 (4.572288732349114) 8.959646 6.0 \n",
"2018-11-01 04:30:00 (4.566964499091226) 8.962735 6.0 \n",
"2018-11-01 04:45:00 (4.574938019623583) 8.965829 6.0 \n",
"2018-11-01 05:00:00 (4.569404748614581) 8.968930 6.0 \n",
"2018-11-01 05:15:00 (4.575915928004264) 8.972035 6.0 \n",
"2018-11-01 05:30:00 (4.575425857588348) 8.975147 6.0 \n",
"2018-11-01 05:45:00 (4.572795565301379) 8.978263 6.0 \n",
"2018-11-01 06:00:00 (4.579442377135362) 8.981386 6.0 \n",
"2018-11-01 06:15:00 (4.576130201489353) 8.984514 6.0 \n",
"2018-11-01 06:30:00 (4.579056236814606) 8.987649 6.0 \n",
"2018-11-01 06:45:00 (4.581988892854711) 8.990788 6.0 \n",
"2018-11-01 07:00:00 (4.584928855375525) 8.993934 6.0 \n",
"2018-11-01 07:15:00 (4.587875121041952) 8.997085 6.0 \n",
"2018-11-01 07:30:00 (4.590829055058798) 9.000242 6.0 \n",
"2018-11-01 07:45:00 (4.593789718661315) 9.003405 6.0 \n",
"2018-11-01 08:00:00 (4.5967572478674885) 9.006574 6.0 \n",
"2018-11-01 08:15:00 (4.63238728861577) 9.057860 6.0 \n",
"2018-11-01 08:30:00 (4.633713185319376) 9.058569 6.0 \n",
"2018-11-01 08:45:00 (4.635040406512749) 9.059278 6.0 \n",
"2018-11-01 09:00:00 (4.636297768824248) 9.059987 6.0 \n",
"2018-11-01 09:15:00 (4.6365998277661316) 9.060697 6.0 \n",
"2018-11-01 09:30:00 (4.63649490283444) 9.061407 6.0 \n",
"2018-11-01 09:45:00 (4.636390085845393) 9.062117 6.0 \n",
"2018-11-01 10:00:00 (4.636285594422067) 9.062827 6.0 \n",
"2018-11-01 10:15:00 (4.634119126966711) 9.063538 6.0 \n",
"2018-11-01 10:30:00 (4.6344447036181) 9.064249 6.0 \n",
"2018-11-01 10:45:00 (4.634396034548163) 9.064960 6.0 \n",
"2018-11-01 11:00:00 (4.634319240969633) 9.065672 6.0 \n",
"2018-11-01 11:15:00 (4.634242555022484) 9.066384 6.0 \n",
"2018-11-01 11:30:00 (4.634230831076715) 9.067096 6.0 \n",
"2018-11-01 11:45:00 (4.634593773846146) 9.067808 6.0 \n",
"2018-11-01 12:00:00 (4.634917246100044) 9.068283 6.0 \n",
"\n",
" discharged_heat discharge_mass Tsource_new \\\n",
"2018-11-01 00:00:00 5.4 13.566135 345.295417 \n",
"2018-11-01 00:15:00 5.4 13.566135 337.283671 \n",
"2018-11-01 00:30:00 5.4 13.566135 345.365643 \n",
"2018-11-01 00:45:00 5.4 13.566135 345.504908 \n",
"2018-11-01 01:00:00 5.4 13.566135 345.187288 \n",
"2018-11-01 01:15:00 5.4 13.566135 345.276795 \n",
"2018-11-01 01:30:00 5.4 13.566135 332.149982 \n",
"2018-11-01 01:45:00 5.4 13.566135 318.360577 \n",
"2018-11-01 02:00:00 5.4 13.566135 345.786162 \n",
"2018-11-01 02:15:00 5.4 13.566135 346.261835 \n",
"2018-11-01 02:30:00 5.4 13.566135 345.583089 \n",
"2018-11-01 02:45:00 5.4 13.566135 345.637552 \n",
"2018-11-01 03:00:00 5.4 13.566135 345.668797 \n",
"2018-11-01 03:15:00 5.4 13.566135 345.702919 \n",
"2018-11-01 03:30:00 5.4 13.566135 345.711905 \n",
"2018-11-01 03:45:00 5.4 13.566135 345.720889 \n",
"2018-11-01 04:00:00 5.4 13.566135 345.897390 \n",
"2018-11-01 04:15:00 5.4 13.566135 346.115494 \n",
"2018-11-01 04:30:00 5.4 13.566135 346.000974 \n",
"2018-11-01 04:45:00 5.4 13.566135 346.088501 \n",
"2018-11-01 05:00:00 5.4 13.566135 345.970812 \n",
"2018-11-01 05:15:00 5.4 13.566135 346.035951 \n",
"2018-11-01 05:30:00 5.4 13.566135 345.994765 \n",
"2018-11-01 05:45:00 5.4 13.566135 345.921067 \n",
"2018-11-01 06:00:00 5.4 13.566135 345.987962 \n",
"2018-11-01 06:15:00 5.4 13.566135 345.903913 \n",
"2018-11-01 06:30:00 5.4 13.566135 345.914294 \n",
"2018-11-01 06:45:00 5.4 13.566135 345.924674 \n",
"2018-11-01 07:00:00 5.4 13.566135 345.935057 \n",
"2018-11-01 07:15:00 5.4 13.566135 345.945434 \n",
"2018-11-01 07:30:00 5.4 13.566135 345.955816 \n",
"2018-11-01 07:45:00 5.4 13.566135 345.966197 \n",
"2018-11-01 08:00:00 5.4 13.566135 345.976573 \n",
"2018-11-01 08:15:00 5.4 13.566135 345.955872 \n",
"2018-11-01 08:30:00 5.4 13.566135 345.967870 \n",
"2018-11-01 08:45:00 5.4 13.566135 345.979873 \n",
"2018-11-01 09:00:00 5.4 13.566135 345.990831 \n",
"2018-11-01 09:15:00 5.4 13.566135 345.987689 \n",
"2018-11-01 09:30:00 5.4 13.566135 345.978542 \n",
"2018-11-01 09:45:00 5.4 13.566135 345.969395 \n",
"2018-11-01 10:00:00 5.4 13.566135 345.960249 \n",
"2018-11-01 10:15:00 5.4 13.566135 345.920670 \n",
"2018-11-01 10:30:00 5.4 13.566135 345.917868 \n",
"2018-11-01 10:45:00 5.4 13.566135 345.909538 \n",
"2018-11-01 11:00:00 5.4 13.566135 345.900791 \n",
"2018-11-01 11:15:00 5.4 13.566135 345.892045 \n",
"2018-11-01 11:30:00 5.4 13.566135 345.884254 \n",
"2018-11-01 11:45:00 5.4 13.566135 345.881993 \n",
"2018-11-01 12:00:00 5.4 13.566135 345.881687 \n",
"\n",
" new_COP \n",
"2018-11-01 00:00:00 (5.953476543042116) \n",
"2018-11-01 00:15:00 (5.516577736203686) \n",
"2018-11-01 00:30:00 (6.115036342983261) \n",
"2018-11-01 00:45:00 (6.139377727001776) \n",
"2018-11-01 01:00:00 (6.122188736008785) \n",
"2018-11-01 01:15:00 (6.142136614098925) \n",
"2018-11-01 01:30:00 (5.091587841259815) \n",
"2018-11-01 01:45:00 (4.353340984575257) \n",
"2018-11-01 02:00:00 (6.145207240951149) \n",
"2018-11-01 02:15:00 (5.61187501279911) \n",
"2018-11-01 02:30:00 (5.487128666091509) \n",
"2018-11-01 02:45:00 (5.440142346671779) \n",
"2018-11-01 03:00:00 (5.40851620571899) \n",
"2018-11-01 03:15:00 (5.371180630920103) \n",
"2018-11-01 03:30:00 (5.369263184422139) \n",
"2018-11-01 03:45:00 (5.367349502862809) \n",
"2018-11-01 04:00:00 (5.1831068924125105) \n",
"2018-11-01 04:15:00 (4.991639210075494) \n",
"2018-11-01 04:30:00 (4.9875851092226595) \n",
"2018-11-01 04:45:00 (4.995162647362516) \n",
"2018-11-01 05:00:00 (4.990925576584593) \n",
"2018-11-01 05:15:00 (4.997228698670104) \n",
"2018-11-01 05:30:00 (4.997406082677272) \n",
"2018-11-01 05:45:00 (4.995709283347026) \n",
"2018-11-01 06:00:00 (5.002138186898098) \n",
"2018-11-01 06:15:00 (4.999845610137759) \n",
"2018-11-01 06:30:00 (5.003018981720621) \n",
"2018-11-01 06:45:00 (5.006199787644315) \n",
"2018-11-01 07:00:00 (5.0093887731351225) \n",
"2018-11-01 07:15:00 (5.012584929093059) \n",
"2018-11-01 07:30:00 (5.015789631637271) \n",
"2018-11-01 07:45:00 (5.019001893273372) \n",
"2018-11-01 08:00:00 (5.022221979878481) \n",
"2018-11-01 08:15:00 (5.063531390353244) \n",
"2018-11-01 08:30:00 (5.064835636292873) \n",
"2018-11-01 08:45:00 (5.066141119919892) \n",
"2018-11-01 09:00:00 (5.067385329128207) \n",
"2018-11-01 09:15:00 (5.067790055930502) \n",
"2018-11-01 09:30:00 (5.0678371544740095) \n",
"2018-11-01 09:45:00 (5.067884361444745) \n",
"2018-11-01 10:00:00 (5.067931876036881) \n",
"2018-11-01 10:15:00 (5.066166486255051) \n",
"2018-11-01 10:30:00 (5.066592062531787) \n",
"2018-11-01 10:45:00 (5.066688630522301) \n",
"2018-11-01 11:00:00 (5.066760457771209) \n",
"2018-11-01 11:15:00 (5.066832397378636) \n",
"2018-11-01 11:30:00 (5.066961504304182) \n",
"2018-11-01 11:45:00 (5.067420220709067) \n",
"2018-11-01 12:00:00 (5.067797775346913) "
]
},
"execution_count": 180,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for i in df.index:\n",
" df.loc[i, 'hp_mass'] = hp_mass_flow(hp_capacity, df.loc[i, 'Tsink (VDG)']+273, Tref + 273, Cp)\n",
" df.loc[i, 'process_mass'] = process_mass_flow(process_demand_MW, df.loc[i, 'Tsink (VDG)']+273,Tref + 273, Cp)\n",
" df.loc[i, 'COP'] = cop_curve(df.loc[i, 'Tsink (VDG)']+273, df.loc[i, 'Tsource (VDG)']+273)\n",
" df.loc[i, 'charge_mass'] = charge_mass_flow(df.loc[i, 'hp_mass'], df.loc[i, 'process_mass'])\n",
" df.loc[i, 'charge_heat'] = charged_heat(df.loc[i, 'charge_mass'], Cp, df.loc[i, 'Tsink (VDG)']+273, Tref + 273)\n",
" df.loc[i, 'discharged_heat'] = discharged_heat(charged_heat(df.loc[i, 'charge_mass'], Cp, df.loc[i, 'Tsink (VDG)']+273, Tref + 273), efficiency)\n",
" df.loc[i, 'discharge_mass'] = discharge_mass_flow(df.loc[i, 'discharged_heat'], Cp, Tstorage+273, Tref+273)\n",
" df.loc[i, 'Tsource_new'] = Tsource_calculation(Tstorage + 273, df.loc[i, 'discharge_mass'], df.loc[i, 'Tsource (VDG)']+273, df.loc[i, 'process_mass'])\n",
" df.loc[i, 'new_COP'] = cop_curve(df.loc[i, 'Tsink (VDG)']+273, df.loc[i, 'Tsource_new'])\n",
" \n",
"\n",
"df\n",
"\n",
"# charge_mass i de funksiya sekilinde yazmaq lazimdi belke de, cunki charged heat-i hemise 6 hesablayir hansi ki charge_mass den qaynaqlanir."
]
},
{
"cell_type": "code",
"execution_count": 161,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"6.000000181313591"
]
},
"execution_count": 161,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"charge_mass_flow = 9.653219\n",
"Cp = 4190\n",
"T_sink = 148.342325 + 273\n",
"Tref = 273\n",
"\n",
"charged_heat(charge_mass_flow, Cp, T_sink, Tref)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [],
"source": [
"for i in df.index:\n",
" # df.loc[i, 'MWe'] = test_heatpump_and_waterstorage_system(df.loc[i, 'Tsink (VDG)']+273, df.loc[i, 'Tsource (VDG)']+273, df.loc[i, 'MW (VDG)'], 130)[0][0]\n",
" df.loc[i, 'new_cl'] = test_heatpump_and_waterstorage_system(df.loc[i, 'Tsink (VDG)']+273, df.loc[i, 'Tsource (VDG)']+273, df.loc[i, 'MW (VDG)'], 30)[1]\n"
]
},
{
"cell_type": "code",
"execution_count": 155,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Tsource (VDG)</th>\n",
" <th>Tsink (VDG)</th>\n",
" <th>MW (VDG)</th>\n",
" <th>Tsource (NDG)</th>\n",
" <th>Tsink (NDG)</th>\n",
" <th>MW (NDG)</th>\n",
" <th>hp_mass</th>\n",
" <th>process_mass</th>\n",
" <th>COP</th>\n",
" <th>charge_mass</th>\n",
" <th>charged_heat</th>\n",
" <th>discharged_heat</th>\n",
" <th>discharge_mass</th>\n",
" <th>Tsource_new</th>\n",
" <th>new_COP</th>\n",
" <th>charge_heat</th>\n",
" <th>new_cl</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-11-01 00:00:00</th>\n",
" <td>64.964783</td>\n",
" <td>142.003109</td>\n",
" <td>0.000000</td>\n",
" <td>19.897433</td>\n",
" <td>147.731814</td>\n",
" <td>0.000000</td>\n",
" <td>52.101451</td>\n",
" <td>42.017299</td>\n",
" <td>(5.386969459992516)</td>\n",
" <td>10.084152</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.295417</td>\n",
" <td>(5.953476543042116)</td>\n",
" <td>2.535156</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:15:00</th>\n",
" <td>54.578777</td>\n",
" <td>138.960493</td>\n",
" <td>0.000000</td>\n",
" <td>17.950905</td>\n",
" <td>148.138964</td>\n",
" <td>0.000000</td>\n",
" <td>53.242241</td>\n",
" <td>42.937291</td>\n",
" <td>(4.882106135030027)</td>\n",
" <td>10.304950</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>337.283671</td>\n",
" <td>(5.516577736203686)</td>\n",
" <td>2.590664</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:30:00</th>\n",
" <td>65.166672</td>\n",
" <td>139.885329</td>\n",
" <td>0.000000</td>\n",
" <td>33.500757</td>\n",
" <td>147.585426</td>\n",
" <td>0.000000</td>\n",
" <td>52.890236</td>\n",
" <td>42.653416</td>\n",
" <td>(5.5258665771869335)</td>\n",
" <td>10.236820</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.365643</td>\n",
" <td>(6.115036342983261)</td>\n",
" <td>2.573537</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:45:00</th>\n",
" <td>65.358078</td>\n",
" <td>139.731901</td>\n",
" <td>0.000000</td>\n",
" <td>42.203876</td>\n",
" <td>147.547612</td>\n",
" <td>0.000000</td>\n",
" <td>52.948310</td>\n",
" <td>42.700250</td>\n",
" <td>(5.549424302045392)</td>\n",
" <td>10.248060</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.504908</td>\n",
" <td>(6.139377727001776)</td>\n",
" <td>2.576362</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:00:00</th>\n",
" <td>64.947536</td>\n",
" <td>139.577871</td>\n",
" <td>0.000000</td>\n",
" <td>18.702675</td>\n",
" <td>148.260335</td>\n",
" <td>0.000000</td>\n",
" <td>53.006741</td>\n",
" <td>42.747372</td>\n",
" <td>(5.528286493353138)</td>\n",
" <td>10.259369</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.187288</td>\n",
" <td>(6.122188736008785)</td>\n",
" <td>2.579205</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:15:00</th>\n",
" <td>65.073433</td>\n",
" <td>139.423357</td>\n",
" <td>0.000000</td>\n",
" <td>19.903652</td>\n",
" <td>149.186865</td>\n",
" <td>0.000000</td>\n",
" <td>53.065485</td>\n",
" <td>42.794746</td>\n",
" <td>(5.547058190973266)</td>\n",
" <td>10.270739</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.276795</td>\n",
" <td>(6.142136614098925)</td>\n",
" <td>2.582064</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:30:00</th>\n",
" <td>47.711559</td>\n",
" <td>140.328730</td>\n",
" <td>0.000000</td>\n",
" <td>19.574467</td>\n",
" <td>147.800016</td>\n",
" <td>0.000000</td>\n",
" <td>52.723117</td>\n",
" <td>42.518642</td>\n",
" <td>(4.462765657815752)</td>\n",
" <td>10.204474</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>332.149982</td>\n",
" <td>(5.091587841259815)</td>\n",
" <td>2.565405</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:45:00</th>\n",
" <td>29.525829</td>\n",
" <td>140.298902</td>\n",
" <td>0.000000</td>\n",
" <td>17.065464</td>\n",
" <td>147.906886</td>\n",
" <td>0.000000</td>\n",
" <td>52.734326</td>\n",
" <td>42.527682</td>\n",
" <td>(3.731041234226957)</td>\n",
" <td>10.206644</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>318.360577</td>\n",
" <td>(4.353340984575257)</td>\n",
" <td>2.565950</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:00:00</th>\n",
" <td>65.715569</td>\n",
" <td>139.991650</td>\n",
" <td>10.139587</td>\n",
" <td>49.339708</td>\n",
" <td>149.603741</td>\n",
" <td>3.333301</td>\n",
" <td>52.850067</td>\n",
" <td>42.621021</td>\n",
" <td>(5.560223997670469)</td>\n",
" <td>10.229045</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>345.786162</td>\n",
" <td>(6.145207240951149)</td>\n",
" <td>2.571582</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 02:15:00</th>\n",
" <td>65.929909</td>\n",
" <td>148.342325</td>\n",
" <td>19.585104</td>\n",
" <td>61.721718</td>\n",
" <td>155.887905</td>\n",
" <td>6.455359</td>\n",
" <td>49.874963</td>\n",
" <td>40.221745</td>\n",
" <td>(5.112607341877656)</td>\n",
" <td>9.653219</td>\n",
" <td>6.0</td>\n",
" <td>5.4</td>\n",
" <td>13.566135</td>\n",
" <td>346.261835</td>\n",
" <td>(5.61187501279911)</td>\n",
" <td>2.426819</td>\n",
" <td>47.5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Tsource (VDG) Tsink (VDG) MW (VDG) Tsource (NDG) \\\n",
"2018-11-01 00:00:00 64.964783 142.003109 0.000000 19.897433 \n",
"2018-11-01 00:15:00 54.578777 138.960493 0.000000 17.950905 \n",
"2018-11-01 00:30:00 65.166672 139.885329 0.000000 33.500757 \n",
"2018-11-01 00:45:00 65.358078 139.731901 0.000000 42.203876 \n",
"2018-11-01 01:00:00 64.947536 139.577871 0.000000 18.702675 \n",
"2018-11-01 01:15:00 65.073433 139.423357 0.000000 19.903652 \n",
"2018-11-01 01:30:00 47.711559 140.328730 0.000000 19.574467 \n",
"2018-11-01 01:45:00 29.525829 140.298902 0.000000 17.065464 \n",
"2018-11-01 02:00:00 65.715569 139.991650 10.139587 49.339708 \n",
"2018-11-01 02:15:00 65.929909 148.342325 19.585104 61.721718 \n",
"\n",
" Tsink (NDG) MW (NDG) hp_mass process_mass \\\n",
"2018-11-01 00:00:00 147.731814 0.000000 52.101451 42.017299 \n",
"2018-11-01 00:15:00 148.138964 0.000000 53.242241 42.937291 \n",
"2018-11-01 00:30:00 147.585426 0.000000 52.890236 42.653416 \n",
"2018-11-01 00:45:00 147.547612 0.000000 52.948310 42.700250 \n",
"2018-11-01 01:00:00 148.260335 0.000000 53.006741 42.747372 \n",
"2018-11-01 01:15:00 149.186865 0.000000 53.065485 42.794746 \n",
"2018-11-01 01:30:00 147.800016 0.000000 52.723117 42.518642 \n",
"2018-11-01 01:45:00 147.906886 0.000000 52.734326 42.527682 \n",
"2018-11-01 02:00:00 149.603741 3.333301 52.850067 42.621021 \n",
"2018-11-01 02:15:00 155.887905 6.455359 49.874963 40.221745 \n",
"\n",
" COP charge_mass charged_heat \\\n",
"2018-11-01 00:00:00 (5.386969459992516) 10.084152 6.0 \n",
"2018-11-01 00:15:00 (4.882106135030027) 10.304950 6.0 \n",
"2018-11-01 00:30:00 (5.5258665771869335) 10.236820 6.0 \n",
"2018-11-01 00:45:00 (5.549424302045392) 10.248060 6.0 \n",
"2018-11-01 01:00:00 (5.528286493353138) 10.259369 6.0 \n",
"2018-11-01 01:15:00 (5.547058190973266) 10.270739 6.0 \n",
"2018-11-01 01:30:00 (4.462765657815752) 10.204474 6.0 \n",
"2018-11-01 01:45:00 (3.731041234226957) 10.206644 6.0 \n",
"2018-11-01 02:00:00 (5.560223997670469) 10.229045 6.0 \n",
"2018-11-01 02:15:00 (5.112607341877656) 9.653219 6.0 \n",
"\n",
" discharged_heat discharge_mass Tsource_new \\\n",
"2018-11-01 00:00:00 5.4 13.566135 345.295417 \n",
"2018-11-01 00:15:00 5.4 13.566135 337.283671 \n",
"2018-11-01 00:30:00 5.4 13.566135 345.365643 \n",
"2018-11-01 00:45:00 5.4 13.566135 345.504908 \n",
"2018-11-01 01:00:00 5.4 13.566135 345.187288 \n",
"2018-11-01 01:15:00 5.4 13.566135 345.276795 \n",
"2018-11-01 01:30:00 5.4 13.566135 332.149982 \n",
"2018-11-01 01:45:00 5.4 13.566135 318.360577 \n",
"2018-11-01 02:00:00 5.4 13.566135 345.786162 \n",
"2018-11-01 02:15:00 5.4 13.566135 346.261835 \n",
"\n",
" new_COP charge_heat new_cl \n",
"2018-11-01 00:00:00 (5.953476543042116) 2.535156 47.5 \n",
"2018-11-01 00:15:00 (5.516577736203686) 2.590664 47.5 \n",
"2018-11-01 00:30:00 (6.115036342983261) 2.573537 47.5 \n",
"2018-11-01 00:45:00 (6.139377727001776) 2.576362 47.5 \n",
"2018-11-01 01:00:00 (6.122188736008785) 2.579205 47.5 \n",
"2018-11-01 01:15:00 (6.142136614098925) 2.582064 47.5 \n",
"2018-11-01 01:30:00 (5.091587841259815) 2.565405 47.5 \n",
"2018-11-01 01:45:00 (4.353340984575257) 2.565950 47.5 \n",
"2018-11-01 02:00:00 (6.145207240951149) 2.571582 47.5 \n",
"2018-11-01 02:15:00 (5.61187501279911) 2.426819 47.5 "
]
},
"execution_count": 155,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[:10]"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"line": {
"color": "rgba(255, 153, 51, 1.0)",
"dash": "solid",
"shape": "linear",
"width": 1.3
},
"mode": "lines",
"name": "Total demand",
"text": "",
"type": "scatter",
"x": [
"2018-11-01 00:00:00",
"2018-11-01 01:00:00",
"2018-11-01 02:00:00",
"2018-11-01 03:00:00",
"2018-11-01 04:00:00",
"2018-11-01 05:00:00",
"2018-11-01 06:00:00",
"2018-11-01 07:00:00",
"2018-11-01 08:00:00",
"2018-11-01 09:00:00",
"2018-11-01 10:00:00",
"2018-11-01 11:00:00",
"2018-11-01 12:00:00"
],
"y": [
0,
0,
22.136305576196264,
26.466385499756743,
27.03229093604222,
27.54794718804935,
27.440281686151753,
27.583654471580218,
27.577044662052625,
27.581801797517297,
27.436184420796337,
27.550800509445207,
27.57122371725145
]
}
],
"layout": {
"height": 400,
"legend": {
"bgcolor": "#F5F6F9",
"font": {
"color": "#4D5663"
}
},
"paper_bgcolor": "#F5F6F9",
"plot_bgcolor": "#F5F6F9",
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"font": {
"color": "#4D5663"
},
"text": "Smurfit Kappa: Heat demand in MW"
},
"width": 800,
"xaxis": {
"autorange": true,
"gridcolor": "#E1E5ED",
"range": [
"2018-11-01",
"2018-11-01 12:00"
],
"showgrid": true,
"tickfont": {
"color": "#4D5663"
},
"title": {
"font": {
"color": "#4D5663"
},
"text": ""
},
"type": "date",
"zerolinecolor": "#E1E5ED"
},
"yaxis": {
"autorange": true,
"gridcolor": "#E1E5ED",
"range": [
-1.5324252484211232,
29.11607972000134
],
"showgrid": true,
"tickfont": {
"color": "#4D5663"
},
"title": {
"font": {
"color": "#4D5663"
},
"text": "MW"
},
"type": "linear",
"zerolinecolor": "#E1E5ED"
}
}
},
"image/png": "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",
"text/html": [
"<div> <div id=\"ada90bed-3b98-4385-acb2-069d14f1f203\" class=\"plotly-graph-div\" style=\"height:400px; width:800px;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"ada90bed-3b98-4385-acb2-069d14f1f203\")) { Plotly.newPlot( \"ada90bed-3b98-4385-acb2-069d14f1f203\", [{\"line\":{\"color\":\"rgba(255, 153, 51, 1.0)\",\"dash\":\"solid\",\"shape\":\"linear\",\"width\":1.3},\"mode\":\"lines\",\"name\":\"Total demand\",\"text\":\"\",\"x\":[\"2018-11-01 00:00:00\",\"2018-11-01 01:00:00\",\"2018-11-01 02:00:00\",\"2018-11-01 03:00:00\",\"2018-11-01 04:00:00\",\"2018-11-01 05:00:00\",\"2018-11-01 06:00:00\",\"2018-11-01 07:00:00\",\"2018-11-01 08:00:00\",\"2018-11-01 09:00:00\",\"2018-11-01 10:00:00\",\"2018-11-01 11:00:00\",\"2018-11-01 12:00:00\"],\"y\":[0.0,0.0,22.136305576196264,26.466385499756743,27.03229093604222,27.54794718804935,27.440281686151753,27.583654471580218,27.577044662052625,27.581801797517297,27.436184420796337,27.550800509445207,27.57122371725145],\"type\":\"scatter\"}], {\"height\":400,\"legend\":{\"bgcolor\":\"#F5F6F9\",\"font\":{\"color\":\"#4D5663\"}},\"paper_bgcolor\":\"#F5F6F9\",\"plot_bgcolor\":\"#F5F6F9\",\"title\":{\"text\":\"Smurfit Kappa: Heat demand in MW\",\"font\":{\"color\":\"#4D5663\"}},\"width\":800,\"xaxis\":{\"gridcolor\":\"#E1E5ED\",\"showgrid\":true,\"tickfont\":{\"color\":\"#4D5663\"},\"title\":{\"text\":\"\",\"font\":{\"color\":\"#4D5663\"}},\"zerolinecolor\":\"#E1E5ED\"},\"yaxis\":{\"gridcolor\":\"#E1E5ED\",\"showgrid\":true,\"tickfont\":{\"color\":\"#4D5663\"},\"title\":{\"text\":\"MW\",\"font\":{\"color\":\"#4D5663\"}},\"zerolinecolor\":\"#E1E5ED\"},\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('ada90bed-3b98-4385-acb2-069d14f1f203');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data['Total demand'] = data['MW (VDG)'] + data['MW (NDG)']\n",
"data = data[start:end]\n",
"fig_demands_nov2018 = data['Total demand'].resample('1H').mean().iplot(\n",
" title='Smurfit Kappa: Heat demand in MW', \n",
" yTitle='MW', \n",
" asFigure=True,\n",
" dimensions=(800, 400)\n",
")\n",
"fig_demands_nov2018"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "variable=new_cl<br>index=%{x}<br>value=%{y}<extra></extra>",
"legendgroup": "new_cl",
"line": {
"color": "#636efa",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "new_cl",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
"2018-11-01T00:00:00",
"2018-11-01T00:15:00",
"2018-11-01T00:30:00",
"2018-11-01T00:45:00",
"2018-11-01T01:00:00",
"2018-11-01T01:15:00",
"2018-11-01T01:30:00",
"2018-11-01T01:45:00",
"2018-11-01T02:00:00",
"2018-11-01T02:15:00",
"2018-11-01T02:30:00",
"2018-11-01T02:45:00",
"2018-11-01T03:00:00",
"2018-11-01T03:15:00",
"2018-11-01T03:30:00",
"2018-11-01T03:45:00",
"2018-11-01T04:00:00",
"2018-11-01T04:15:00",
"2018-11-01T04:30:00",
"2018-11-01T04:45:00",
"2018-11-01T05:00:00",
"2018-11-01T05:15:00",
"2018-11-01T05:30:00",
"2018-11-01T05:45:00",
"2018-11-01T06:00:00",
"2018-11-01T06:15:00",
"2018-11-01T06:30:00",
"2018-11-01T06:45:00",
"2018-11-01T07:00:00",
"2018-11-01T07:15:00",
"2018-11-01T07:30:00",
"2018-11-01T07:45:00",
"2018-11-01T08:00:00",
"2018-11-01T08:15:00",
"2018-11-01T08:30:00",
"2018-11-01T08:45:00",
"2018-11-01T09:00:00",
"2018-11-01T09:15:00",
"2018-11-01T09:30:00",
"2018-11-01T09:45:00",
"2018-11-01T10:00:00",
"2018-11-01T10:15:00",
"2018-11-01T10:30:00",
"2018-11-01T10:45:00",
"2018-11-01T11:00:00",
"2018-11-01T11:15:00",
"2018-11-01T11:30:00",
"2018-11-01T11:45:00",
"2018-11-01T12:00:00"
],
"xaxis": "x",
"y": [
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5,
47.5
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "variable"
},
"tracegroupgap": 0
},
"margin": {
"t": 60
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
"2018-11-01",
"2018-11-01 12:00"
],
"title": {
"text": "index"
},
"type": "date"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
46.5,
48.5
],
"title": {
"text": "value"
},
"type": "linear"
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHsAAAFoCAYAAADHK/d8AAAAAXNSR0IArs4c6QAAIABJREFUeF7t3X+sZGd54PljE0wzo17j9SRYDVmIPVGMvOAJK4vWSJbQxH9s7EGRLLWWTUYRMtiAdyOsxljtlkAjIzUtAy3QzJofxg4TTRDZltiJGDNB8uxaIrPqibUkwFo42sELO8QyTDyEeFkaJ8arU1CX6nLdW/U+z3NvnTr16X+gu+t565zPe/p2369PVV30/PPPP9/5QYAAAQIECBAgQIAAAQIECBAgMAqBi8SeUeyjkyBAgAABAgQIECBAgAABAgQITATEHhcCAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCo449588/273vQw9OtuueO2/pDh26ZPL/z3zybPfAZx6a/P/Xveaq7r7Td3SXXXp44bY+8a0nu7ff9eHuye88vfP7y2ZGdH04FQIECBAgQIAAAQIECBAgQGDDBEYbe6ah56GHz3U33XB0J/Z87gtf6s59+bFdfz6/f33sOXn6U92pE2/rrnzVkQ3bXodLgAABAgQIECBAgAABAgQIbJvAaGNPf/fOq195xWQ/Z+NO/+v9j+O3HZv876Nfebw78/Gzu97dI/Zs2x8J50uAAAECBAgQIECAAAECBDZbYJSxZzbozN/JM31Z1q//2tFJ8JlGoZtvvH7hTs6/jMtLuDb7gnf0BAgQIECAAAECBAgQIEBg7AKjiz193Pnmt5/auXNnPvZMX971/b/+QffHf/K1pe/ZM38B9HHoqe8+fcF7AI39InF+BAgQIECAAAEC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xtW/AfOyl2VNn7t/XP/x77PvATRudWdHgAABAgQIEPiJgNjjSiBAgAABAgTKBVpjT/+JXfMz0zdf/tXX/vLOmzj3d+z8m3977oJP8ern/uNf/KfJy7Xm37C5vzPoY//iX73gU7/KT9iCBAgQIECAAIEBCYg9A9oMh0KAAAECBMYiEIk9/bnPfqx6/5Hrr3vNVd1Xv/6NPT96ffoR7pe97PDkzp/rfvXqnTd5Pn/+2cl7AfUxaPox8GMxdh4ECBAgQIAAgd0ExB7XBgECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIExB7XAAECBAgQIECAAAECBAgQIEBgRAJiz4g206kQIECAAAECBAgQIECAAAECBMQe1wABAgQIECBAgAABAgQIECBAYEQCYs+INtOpECBAgAABAgQIECBAgAABAgTEHtcAAQIECBAgQIAAAQIECBAgQGBEAmLPiDbTqRAgQIAAAQIECBAgQIAAAQIE/n+YzZCZTIejvQAAAABJRU5ErkJggg==",
"text/html": [
"<div> <div id=\"db4f8198-e3f0-47c8-91a0-60e9bbb4619b\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"db4f8198-e3f0-47c8-91a0-60e9bbb4619b\")) { Plotly.newPlot( \"db4f8198-e3f0-47c8-91a0-60e9bbb4619b\", [{\"hovertemplate\":\"variable=new_cl<br>index=%{x}<br>value=%{y}<extra></extra>\",\"legendgroup\":\"new_cl\",\"line\":{\"color\":\"#636efa\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"new_cl\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[\"2018-11-01T00:00:00\",\"2018-11-01T00:15:00\",\"2018-11-01T00:30:00\",\"2018-11-01T00:45:00\",\"2018-11-01T01:00:00\",\"2018-11-01T01:15:00\",\"2018-11-01T01:30:00\",\"2018-11-01T01:45:00\",\"2018-11-01T02:00:00\",\"2018-11-01T02:15:00\",\"2018-11-01T02:30:00\",\"2018-11-01T02:45:00\",\"2018-11-01T03:00:00\",\"2018-11-01T03:15:00\",\"2018-11-01T03:30:00\",\"2018-11-01T03:45:00\",\"2018-11-01T04:00:00\",\"2018-11-01T04:15:00\",\"2018-11-01T04:30:00\",\"2018-11-01T04:45:00\",\"2018-11-01T05:00:00\",\"2018-11-01T05:15:00\",\"2018-11-01T05:30:00\",\"2018-11-01T05:45:00\",\"2018-11-01T06:00:00\",\"2018-11-01T06:15:00\",\"2018-11-01T06:30:00\",\"2018-11-01T06:45:00\",\"2018-11-01T07:00:00\",\"2018-11-01T07:15:00\",\"2018-11-01T07:30:00\",\"2018-11-01T07:45:00\",\"2018-11-01T08:00:00\",\"2018-11-01T08:15:00\",\"2018-11-01T08:30:00\",\"2018-11-01T08:45:00\",\"2018-11-01T09:00:00\",\"2018-11-01T09:15:00\",\"2018-11-01T09:30:00\",\"2018-11-01T09:45:00\",\"2018-11-01T10:00:00\",\"2018-11-01T10:15:00\",\"2018-11-01T10:30:00\",\"2018-11-01T10:45:00\",\"2018-11-01T11:00:00\",\"2018-11-01T11:15:00\",\"2018-11-01T11:30:00\",\"2018-11-01T11:45:00\",\"2018-11-01T12:00:00\"],\"xaxis\":\"x\",\"y\":[47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5,47.5],\"yaxis\":\"y\",\"type\":\"scatter\"}], {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"index\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"value\"}},\"legend\":{\"title\":{\"text\":\"variable\"},\"tracegroupgap\":0},\"margin\":{\"t\":60}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('db4f8198-e3f0-47c8-91a0-60e9bbb4619b');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import plotly.express as px\n",
"\n",
"fig = px.line(df['new_cl'])\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"df.index = df.index.tz_localize('Europe/Amsterdam')"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [],
"source": [
"for col in price_data.columns:\n",
" df[col] = price_data[col]\n",
"\n",
"df['nomination_MWh'] = 10\n",
"df['heatpump_cons_MWh'] = 9\n",
"df['imbalance_MWh'] = df['nomination_MWh'] - df['heatpump_cons_MWh']\n",
"df['day-ahead costs'] = df['nomination_MWh'] * df['DAM'] \n",
"\n",
"is_pos = df['imbalance_MWh'] > 0\n",
"df.loc[is_pos, 'imbalance costs'] = -df.loc[is_pos, 'imbalance_MWh'] * df['POS'] \n",
"\n",
"is_neg = df['imbalance_MWh'] < 0\n",
"df.loc[is_neg, 'imbalance costs'] = -df.loc[is_neg, 'imbalance_MWh'] * df['NEG'] \n",
"\n",
"df['total cost'] = df['day-ahead costs'] + df['imbalance costs']"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Tsource (VDG)</th>\n",
" <th>Tsink (VDG)</th>\n",
" <th>MW (VDG)</th>\n",
" <th>Tsource (NDG)</th>\n",
" <th>Tsink (NDG)</th>\n",
" <th>MW (NDG)</th>\n",
" <th>hp_mass</th>\n",
" <th>process_mass</th>\n",
" <th>COP</th>\n",
" <th>charge_mass</th>\n",
" <th>...</th>\n",
" <th>new_cl</th>\n",
" <th>DAM</th>\n",
" <th>POS</th>\n",
" <th>NEG</th>\n",
" <th>nomination_MWh</th>\n",
" <th>heatpump_cons_MWh</th>\n",
" <th>imbalance_MWh</th>\n",
" <th>day-ahead costs</th>\n",
" <th>imbalance costs</th>\n",
" <th>total cost</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-11-01 00:00:00+01:00</th>\n",
" <td>64.964783</td>\n",
" <td>142.003109</td>\n",
" <td>0.0</td>\n",
" <td>19.897433</td>\n",
" <td>147.731814</td>\n",
" <td>0.0</td>\n",
" <td>52.101451</td>\n",
" <td>42.017299</td>\n",
" <td>(5.386969459992516)</td>\n",
" <td>10.084152</td>\n",
" <td>...</td>\n",
" <td>47.5</td>\n",
" <td>44.90</td>\n",
" <td>46.39</td>\n",
" <td>46.39</td>\n",
" <td>10</td>\n",
" <td>9</td>\n",
" <td>1</td>\n",
" <td>449.0</td>\n",
" <td>-46.39</td>\n",
" <td>402.61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:15:00+01:00</th>\n",
" <td>54.578777</td>\n",
" <td>138.960493</td>\n",
" <td>0.0</td>\n",
" <td>17.950905</td>\n",
" <td>148.138964</td>\n",
" <td>0.0</td>\n",
" <td>53.242241</td>\n",
" <td>42.937291</td>\n",
" <td>(4.882106135030027)</td>\n",
" <td>10.304950</td>\n",
" <td>...</td>\n",
" <td>47.5</td>\n",
" <td>44.90</td>\n",
" <td>43.08</td>\n",
" <td>43.08</td>\n",
" <td>10</td>\n",
" <td>9</td>\n",
" <td>1</td>\n",
" <td>449.0</td>\n",
" <td>-43.08</td>\n",
" <td>405.92</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:30:00+01:00</th>\n",
" <td>65.166672</td>\n",
" <td>139.885329</td>\n",
" <td>0.0</td>\n",
" <td>33.500757</td>\n",
" <td>147.585426</td>\n",
" <td>0.0</td>\n",
" <td>52.890236</td>\n",
" <td>42.653416</td>\n",
" <td>(5.5258665771869335)</td>\n",
" <td>10.236820</td>\n",
" <td>...</td>\n",
" <td>47.5</td>\n",
" <td>44.90</td>\n",
" <td>43.13</td>\n",
" <td>43.13</td>\n",
" <td>10</td>\n",
" <td>9</td>\n",
" <td>1</td>\n",
" <td>449.0</td>\n",
" <td>-43.13</td>\n",
" <td>405.87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 00:45:00+01:00</th>\n",
" <td>65.358078</td>\n",
" <td>139.731901</td>\n",
" <td>0.0</td>\n",
" <td>42.203876</td>\n",
" <td>147.547612</td>\n",
" <td>0.0</td>\n",
" <td>52.948310</td>\n",
" <td>42.700250</td>\n",
" <td>(5.549424302045392)</td>\n",
" <td>10.248060</td>\n",
" <td>...</td>\n",
" <td>47.5</td>\n",
" <td>44.90</td>\n",
" <td>46.29</td>\n",
" <td>46.29</td>\n",
" <td>10</td>\n",
" <td>9</td>\n",
" <td>1</td>\n",
" <td>449.0</td>\n",
" <td>-46.29</td>\n",
" <td>402.71</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-11-01 01:00:00+01:00</th>\n",
" <td>64.947536</td>\n",
" <td>139.577871</td>\n",
" <td>0.0</td>\n",
" <td>18.702675</td>\n",
" <td>148.260335</td>\n",
" <td>0.0</td>\n",
" <td>53.006741</td>\n",
" <td>42.747372</td>\n",
" <td>(5.528286493353138)</td>\n",
" <td>10.259369</td>\n",
" <td>...</td>\n",
" <td>47.5</td>\n",
" <td>42.46</td>\n",
" <td>32.03</td>\n",
" <td>32.03</td>\n",
" <td>10</td>\n",
" <td>9</td>\n",
" <td>1</td>\n",
" <td>424.6</td>\n",
" <td>-32.03</td>\n",
" <td>392.57</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 23 columns</p>\n",
"</div>"
],
"text/plain": [
" Tsource (VDG) Tsink (VDG) MW (VDG) \\\n",
"2018-11-01 00:00:00+01:00 64.964783 142.003109 0.0 \n",
"2018-11-01 00:15:00+01:00 54.578777 138.960493 0.0 \n",
"2018-11-01 00:30:00+01:00 65.166672 139.885329 0.0 \n",
"2018-11-01 00:45:00+01:00 65.358078 139.731901 0.0 \n",
"2018-11-01 01:00:00+01:00 64.947536 139.577871 0.0 \n",
"\n",
" Tsource (NDG) Tsink (NDG) MW (NDG) hp_mass \\\n",
"2018-11-01 00:00:00+01:00 19.897433 147.731814 0.0 52.101451 \n",
"2018-11-01 00:15:00+01:00 17.950905 148.138964 0.0 53.242241 \n",
"2018-11-01 00:30:00+01:00 33.500757 147.585426 0.0 52.890236 \n",
"2018-11-01 00:45:00+01:00 42.203876 147.547612 0.0 52.948310 \n",
"2018-11-01 01:00:00+01:00 18.702675 148.260335 0.0 53.006741 \n",
"\n",
" process_mass COP charge_mass \\\n",
"2018-11-01 00:00:00+01:00 42.017299 (5.386969459992516) 10.084152 \n",
"2018-11-01 00:15:00+01:00 42.937291 (4.882106135030027) 10.304950 \n",
"2018-11-01 00:30:00+01:00 42.653416 (5.5258665771869335) 10.236820 \n",
"2018-11-01 00:45:00+01:00 42.700250 (5.549424302045392) 10.248060 \n",
"2018-11-01 01:00:00+01:00 42.747372 (5.528286493353138) 10.259369 \n",
"\n",
" ... new_cl DAM POS NEG nomination_MWh \\\n",
"2018-11-01 00:00:00+01:00 ... 47.5 44.90 46.39 46.39 10 \n",
"2018-11-01 00:15:00+01:00 ... 47.5 44.90 43.08 43.08 10 \n",
"2018-11-01 00:30:00+01:00 ... 47.5 44.90 43.13 43.13 10 \n",
"2018-11-01 00:45:00+01:00 ... 47.5 44.90 46.29 46.29 10 \n",
"2018-11-01 01:00:00+01:00 ... 47.5 42.46 32.03 32.03 10 \n",
"\n",
" heatpump_cons_MWh imbalance_MWh day-ahead costs \\\n",
"2018-11-01 00:00:00+01:00 9 1 449.0 \n",
"2018-11-01 00:15:00+01:00 9 1 449.0 \n",
"2018-11-01 00:30:00+01:00 9 1 449.0 \n",
"2018-11-01 00:45:00+01:00 9 1 449.0 \n",
"2018-11-01 01:00:00+01:00 9 1 424.6 \n",
"\n",
" imbalance costs total cost \n",
"2018-11-01 00:00:00+01:00 -46.39 402.61 \n",
"2018-11-01 00:15:00+01:00 -43.08 405.92 \n",
"2018-11-01 00:30:00+01:00 -43.13 405.87 \n",
"2018-11-01 00:45:00+01:00 -46.29 402.71 \n",
"2018-11-01 01:00:00+01:00 -32.03 392.57 \n",
"\n",
"[5 rows x 23 columns]"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"interpreter": {
"hash": "dd1accba5c44bbc1a722925963d63420d7a225a16ee8ad40deae87a5c5fb7f29"
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 4
}