{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pvlib" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import scipy\n", "from scipy.io import loadmat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Polydome experiments have been done in the following order, begining and end dates:\n", "\n", "| No | Start Date | End Date |\n", "|----|------------------|------------------|\n", "| 1 | 01.06.2017 20:00 | 03.06.2017 17:00 |\n", "| 2 | 10.06.2017 16:00 | 12.06.2017 06:00 |\n", "| 3 | 16.06.2017 20:00 | 19.06.2017 06:00 |\n", "| 4 | 19.06.2017 20:00 | 22.06.2017 06:00 |\n", "| 5 | 30.06.2017 20:00 | 03.07.2017 06:00 |\n", "| 6 | 07.07.2017 20:00 | 10.07.2017 06:00 |\n", "| 7 | 13.07.2017 20:00 | 20.07.2017 06:00 |\n", "| 8 | 21.07.2017 20:00 | 24.07.2017 06:00 |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load the experimental data pertaining to the first experiment:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Power',\n", " 'Setpoint',\n", " 'OutsideTemp',\n", " 'SupplyTemp',\n", " 'InsideTemp',\n", " 'LakeTemp',\n", " 'SolRad',\n", " 'SolRad_DA']" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mat_exp1 = loadmat('../Data/Luca_experimental_data/Exp1.mat')\n", "measured_vals = [*mat_exp1['Exp1'].dtype.fields]\n", "measured_vals" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def df_from_mb_struct(mb_mat, field):\n", " df_field = pd.DataFrame({\n", " 'timestamp': pd.Series(np.array(mb_mat[field][0,0]['time'][0,0]).flatten()),\n", " 'value': pd.Series(np.array(mb_mat[field][0,0]['values'][0,0]).flatten())\n", " })\n", " df_field['timestamp'] = pd.to_datetime(df_field['timestamp'], unit = 's', utc = False) + pd.Timedelta(2, 'hours')\n", " df_field['timestamp'] = pd.DatetimeIndex(df_field['timestamp'], tz = 'Europe/Zurich')\n", " df_field.set_index('timestamp', inplace = True, drop = True)\n", " df_field.columns = [field]\n", " \n", " return df_field" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "dict_dfs = {}\n", "for var in measured_vals:\n", " dict_dfs[var] = df_from_mb_struct(mat_exp1['Exp1'], var)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Power | \n", "Setpoint | \n", "OutsideTemp | \n", "SupplyTemp | \n", "InsideTemp | \n", "LakeTemp | \n", "SolRad | \n", "SolRad_DA | \n", "
---|---|---|---|---|---|---|---|---|
timestamp | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
2017-06-01 20:00:00+02:00 | \n", "5995.034483 | \n", "23.5 | \n", "22.0 | \n", "24.5 | \n", "24.4 | \n", "24.200000 | \n", "61.321333 | \n", "122.0 | \n", "
2017-06-01 20:05:00+02:00 | \n", "5957.000000 | \n", "23.5 | \n", "22.0 | \n", "15.5 | \n", "24.4 | \n", "24.166667 | \n", "57.926100 | \n", "91.5 | \n", "
2017-06-01 20:10:00+02:00 | \n", "5989.766667 | \n", "23.5 | \n", "22.0 | \n", "15.2 | \n", "24.1 | \n", "24.066667 | \n", "54.902033 | \n", "91.5 | \n", "
2017-06-01 20:15:00+02:00 | \n", "4563.344828 | \n", "23.5 | \n", "22.0 | \n", "14.9 | \n", "23.8 | \n", "24.066667 | \n", "73.860700 | \n", "91.5 | \n", "
2017-06-01 20:20:00+02:00 | \n", "1729.137931 | \n", "23.5 | \n", "22.0 | \n", "18.2 | \n", "23.5 | \n", "23.833333 | \n", "76.042533 | \n", "91.5 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-06-03 16:35:00+02:00 | \n", "1732.137931 | \n", "24.5 | \n", "24.0 | \n", "16.4 | \n", "22.3 | \n", "22.300000 | \n", "361.247267 | \n", "570.0 | \n", "
2017-06-03 16:40:00+02:00 | \n", "1727.482759 | \n", "24.5 | \n", "24.0 | \n", "17.6 | \n", "22.3 | \n", "22.300000 | \n", "596.456167 | \n", "570.0 | \n", "
2017-06-03 16:45:00+02:00 | \n", "1726.233333 | \n", "24.5 | \n", "24.0 | \n", "18.5 | \n", "22.3 | \n", "22.333333 | \n", "550.335400 | \n", "570.0 | \n", "
2017-06-03 16:50:00+02:00 | \n", "1723.379310 | \n", "24.5 | \n", "24.0 | \n", "20.0 | \n", "22.6 | \n", "22.300000 | \n", "627.393133 | \n", "570.0 | \n", "
2017-06-03 16:55:00+02:00 | \n", "1728.379310 | \n", "24.5 | \n", "24.0 | \n", "23.3 | \n", "22.9 | \n", "22.500000 | \n", "564.347267 | \n", "570.0 | \n", "
540 rows × 8 columns
\n", "\n", " | Power | \n", "Setpoint | \n", "OutsideTemp | \n", "SupplyTemp | \n", "InsideTemp | \n", "SolRad | \n", "
---|---|---|---|---|---|---|
timestamp | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
2017-06-01 20:00:00+02:00 | \n", "4325.034483 | \n", "23.5 | \n", "22.0 | \n", "24.5 | \n", "24.300000 | \n", "61.321333 | \n", "
2017-06-01 20:05:00+02:00 | \n", "4287.000000 | \n", "23.5 | \n", "22.0 | \n", "15.5 | \n", "24.283333 | \n", "57.926100 | \n", "
2017-06-01 20:10:00+02:00 | \n", "4319.766667 | \n", "23.5 | \n", "22.0 | \n", "15.2 | \n", "24.083333 | \n", "54.902033 | \n", "
2017-06-01 20:15:00+02:00 | \n", "2893.344828 | \n", "23.5 | \n", "22.0 | \n", "14.9 | \n", "23.933333 | \n", "73.860700 | \n", "
2017-06-01 20:20:00+02:00 | \n", "59.137931 | \n", "23.5 | \n", "22.0 | \n", "18.2 | \n", "23.666667 | \n", "76.042533 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-06-03 16:35:00+02:00 | \n", "62.137931 | \n", "24.5 | \n", "24.0 | \n", "16.4 | \n", "22.300000 | \n", "361.247267 | \n", "
2017-06-03 16:40:00+02:00 | \n", "57.482759 | \n", "24.5 | \n", "24.0 | \n", "17.6 | \n", "22.300000 | \n", "596.456167 | \n", "
2017-06-03 16:45:00+02:00 | \n", "56.233333 | \n", "24.5 | \n", "24.0 | \n", "18.5 | \n", "22.316667 | \n", "550.335400 | \n", "
2017-06-03 16:50:00+02:00 | \n", "53.379310 | \n", "24.5 | \n", "24.0 | \n", "20.0 | \n", "22.450000 | \n", "627.393133 | \n", "
2017-06-03 16:55:00+02:00 | \n", "58.379310 | \n", "24.5 | \n", "24.0 | \n", "23.3 | \n", "22.700000 | \n", "564.347267 | \n", "
540 rows × 6 columns
\n", "\n", " | apparent_zenith | \n", "zenith | \n", "apparent_elevation | \n", "elevation | \n", "azimuth | \n", "equation_of_time | \n", "
---|---|---|---|---|---|---|
timestamp | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
2017-06-01 20:00:00+02:00 | \n", "78.691622 | \n", "78.765922 | \n", "11.308378 | \n", "11.234078 | \n", "290.430819 | \n", "2.098613 | \n", "
2017-06-01 20:05:00+02:00 | \n", "79.489651 | \n", "79.569259 | \n", "10.510349 | \n", "10.430741 | \n", "291.279501 | \n", "2.098069 | \n", "
2017-06-01 20:10:00+02:00 | \n", "80.282334 | \n", "80.367965 | \n", "9.717666 | \n", "9.632035 | \n", "292.130503 | \n", "2.097524 | \n", "
2017-06-01 20:15:00+02:00 | \n", "81.069332 | \n", "81.161848 | \n", "8.930668 | \n", "8.838152 | \n", "292.984123 | \n", "2.096979 | \n", "
2017-06-01 20:20:00+02:00 | \n", "81.850261 | \n", "81.950719 | \n", "8.149739 | \n", "8.049281 | \n", "293.840653 | \n", "2.096433 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-06-03 16:35:00+02:00 | \n", "43.923091 | \n", "43.937926 | \n", "46.076909 | \n", "46.062074 | \n", "252.722275 | \n", "1.796947 | \n", "
2017-06-03 16:40:00+02:00 | \n", "44.746130 | \n", "44.761396 | \n", "45.253870 | \n", "45.238604 | \n", "253.882437 | \n", "1.796365 | \n", "
2017-06-03 16:45:00+02:00 | \n", "45.573942 | \n", "45.589654 | \n", "44.426058 | \n", "44.410346 | \n", "255.018953 | \n", "1.795782 | \n", "
2017-06-03 16:50:00+02:00 | \n", "46.406107 | \n", "46.422280 | \n", "43.593893 | \n", "43.577720 | \n", "256.133161 | \n", "1.795200 | \n", "
2017-06-03 16:55:00+02:00 | \n", "47.242228 | \n", "47.258880 | \n", "42.757772 | \n", "42.741120 | \n", "257.226338 | \n", "1.794617 | \n", "
540 rows × 6 columns
\n", "\n", " | dni | \n", "dhi | \n", "kt | \n", "
---|---|---|---|
timestamp | \n", "\n", " | \n", " | \n", " |
2017-06-01 20:00:00+02:00 | \n", "7.251337 | \n", "59.908644 | \n", "0.237114 | \n", "
2017-06-01 20:05:00+02:00 | \n", "7.672114 | \n", "56.537088 | \n", "0.241022 | \n", "
2017-06-01 20:10:00+02:00 | \n", "8.423139 | \n", "53.492674 | \n", "0.247180 | \n", "
2017-06-01 20:15:00+02:00 | \n", "52.657244 | \n", "65.770239 | \n", "0.362136 | \n", "
2017-06-01 20:20:00+02:00 | \n", "94.364403 | \n", "62.829177 | \n", "0.409096 | \n", "
\n", " | poa_global | \n", "poa_direct | \n", "poa_diffuse | \n", "poa_sky_diffuse | \n", "poa_ground_diffuse | \n", "
---|---|---|---|---|---|
timestamp | \n", "\n", " | \n", " | \n", " | \n", " | \n", " |
2017-06-01 20:00:00+02:00 | \n", "61.330555 | \n", "1.421911 | \n", "59.908644 | \n", "59.908644 | \n", "0.0 | \n", "
2017-06-01 20:05:00+02:00 | \n", "57.936582 | \n", "1.399494 | \n", "56.537088 | \n", "56.537088 | \n", "0.0 | \n", "
2017-06-01 20:10:00+02:00 | \n", "54.914443 | \n", "1.421769 | \n", "53.492674 | \n", "53.492674 | \n", "0.0 | \n", "
2017-06-01 20:15:00+02:00 | \n", "73.944706 | \n", "8.174467 | \n", "65.770239 | \n", "65.770239 | \n", "0.0 | \n", "
2017-06-01 20:20:00+02:00 | \n", "76.206334 | \n", "13.377157 | \n", "62.829177 | \n", "62.829177 | \n", "0.0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-06-03 16:35:00+02:00 | \n", "361.258938 | \n", "46.796324 | \n", "314.462614 | \n", "314.462614 | \n", "0.0 | \n", "
2017-06-03 16:40:00+02:00 | \n", "596.555761 | \n", "377.069871 | \n", "219.485890 | \n", "219.485890 | \n", "0.0 | \n", "
2017-06-03 16:45:00+02:00 | \n", "550.419278 | \n", "299.765305 | \n", "250.653973 | \n", "250.653973 | \n", "0.0 | \n", "
2017-06-03 16:50:00+02:00 | \n", "627.529596 | \n", "460.200780 | \n", "167.328816 | \n", "167.328816 | \n", "0.0 | \n", "
2017-06-03 16:55:00+02:00 | \n", "564.457032 | \n", "349.181391 | \n", "215.275641 | \n", "215.275641 | \n", "0.0 | \n", "
540 rows × 5 columns
\n", "