{ "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": { "tags": [] }, "source": [ "# Import Experimental Data" ] }, { "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 `seventh` experiment:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "exp_id = 'Exp7'" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Power',\n", " 'Setpoint',\n", " 'OutsideTemp',\n", " 'SupplyTemp',\n", " 'InsideTemp',\n", " 'LakeTemp',\n", " 'SolRad',\n", " 'SolRad_DA']" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mat_exp1 = loadmat(f'../Data/Luca_experimental_data/{exp_id}.mat')\n", "measured_vals = [*mat_exp1[exp_id].dtype.fields]\n", "measured_vals" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Transform MATLAB struct to a Dataframe" ] }, { "cell_type": "code", "execution_count": 7, "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": 8, "metadata": {}, "outputs": [], "source": [ "dict_dfs = {}\n", "for var in measured_vals:\n", " dict_dfs[var] = df_from_mb_struct(mat_exp1[exp_id], var)" ] }, { "cell_type": "code", "execution_count": 9, "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-07-13 20:00:00+02:00 | \n", "1688.827586 | \n", "22.5 | \n", "24.0 | \n", "23.9 | \n", "23.2 | \n", "22.666667 | \n", "91.714933 | \n", "157.0 | \n", "
2017-07-13 20:05:00+02:00 | \n", "5298.965517 | \n", "22.5 | \n", "24.0 | \n", "15.5 | \n", "23.5 | \n", "22.933333 | \n", "121.538700 | \n", "111.5 | \n", "
2017-07-13 20:10:00+02:00 | \n", "6061.344828 | \n", "22.5 | \n", "24.0 | \n", "14.3 | \n", "23.5 | \n", "22.733333 | \n", "101.481617 | \n", "111.5 | \n", "
2017-07-13 20:15:00+02:00 | \n", "6062.466667 | \n", "22.5 | \n", "24.0 | \n", "14.0 | \n", "22.9 | \n", "22.700000 | \n", "163.710150 | \n", "111.5 | \n", "
2017-07-13 20:20:00+02:00 | \n", "5447.482759 | \n", "22.5 | \n", "24.0 | \n", "14.0 | \n", "22.6 | \n", "22.666667 | \n", "90.039567 | \n", "111.5 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-07-20 05:35:00+02:00 | \n", "1679.517241 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "23.2 | \n", "22.333333 | \n", "3.260000 | \n", "0.0 | \n", "
2017-07-20 05:40:00+02:00 | \n", "1675.666667 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "23.2 | \n", "22.266667 | \n", "3.250000 | \n", "0.0 | \n", "
2017-07-20 05:45:00+02:00 | \n", "1679.137931 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "23.2 | \n", "22.300000 | \n", "3.240000 | \n", "0.0 | \n", "
2017-07-20 05:50:00+02:00 | \n", "1674.206897 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "23.2 | \n", "22.266667 | \n", "3.340000 | \n", "0.0 | \n", "
2017-07-20 05:55:00+02:00 | \n", "1674.233333 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "23.2 | \n", "22.400000 | \n", "3.380000 | \n", "0.0 | \n", "
1848 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-07-13 20:00:00+02:00 | \n", "18.827586 | \n", "22.5 | \n", "24.0 | \n", "23.9 | \n", "22.933333 | \n", "91.714933 | \n", "
2017-07-13 20:05:00+02:00 | \n", "3628.965517 | \n", "22.5 | \n", "24.0 | \n", "15.5 | \n", "23.216667 | \n", "121.538700 | \n", "
2017-07-13 20:10:00+02:00 | \n", "4391.344828 | \n", "22.5 | \n", "24.0 | \n", "14.3 | \n", "23.116667 | \n", "101.481617 | \n", "
2017-07-13 20:15:00+02:00 | \n", "4392.466667 | \n", "22.5 | \n", "24.0 | \n", "14.0 | \n", "22.800000 | \n", "163.710150 | \n", "
2017-07-13 20:20:00+02:00 | \n", "3777.482759 | \n", "22.5 | \n", "24.0 | \n", "14.0 | \n", "22.633333 | \n", "90.039567 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-07-20 05:35:00+02:00 | \n", "9.517241 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "22.766667 | \n", "3.260000 | \n", "
2017-07-20 05:40:00+02:00 | \n", "5.666667 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "22.733333 | \n", "3.250000 | \n", "
2017-07-20 05:45:00+02:00 | \n", "9.137931 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "22.750000 | \n", "3.240000 | \n", "
2017-07-20 05:50:00+02:00 | \n", "4.206897 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "22.733333 | \n", "3.340000 | \n", "
2017-07-20 05:55:00+02:00 | \n", "4.233333 | \n", "22.5 | \n", "22.0 | \n", "23.6 | \n", "22.800000 | \n", "3.380000 | \n", "
1848 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-07-13 20:00:00+02:00 | \n", "77.726968 | \n", "77.795211 | \n", "12.273032 | \n", "12.204789 | \n", "288.783339 | \n", "-5.802162 | \n", "
2017-07-13 20:05:00+02:00 | \n", "78.534908 | \n", "78.607746 | \n", "11.465092 | \n", "11.392254 | \n", "289.630841 | \n", "-5.802550 | \n", "
2017-07-13 20:10:00+02:00 | \n", "79.337991 | \n", "79.416004 | \n", "10.662009 | \n", "10.583996 | \n", "290.480180 | \n", "-5.802939 | \n", "
2017-07-13 20:15:00+02:00 | \n", "80.135916 | \n", "80.219798 | \n", "9.864084 | \n", "9.780202 | \n", "291.331669 | \n", "-5.803327 | \n", "
2017-07-13 20:20:00+02:00 | \n", "80.928349 | \n", "81.018937 | \n", "9.071651 | \n", "8.981063 | \n", "292.185610 | \n", "-5.803715 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-07-20 05:35:00+02:00 | \n", "94.508501 | \n", "94.508501 | \n", "-4.508501 | \n", "-4.508501 | \n", "53.359623 | \n", "-6.350089 | \n", "
2017-07-20 05:40:00+02:00 | \n", "93.814709 | \n", "93.814709 | \n", "-3.814709 | \n", "-3.814709 | \n", "54.303944 | \n", "-6.350290 | \n", "
2017-07-20 05:45:00+02:00 | \n", "93.112672 | \n", "93.112672 | \n", "-3.112672 | \n", "-3.112672 | \n", "55.241364 | \n", "-6.350492 | \n", "
2017-07-20 05:50:00+02:00 | \n", "92.402637 | \n", "92.402637 | \n", "-2.402637 | \n", "-2.402637 | \n", "56.172104 | \n", "-6.350693 | \n", "
2017-07-20 05:55:00+02:00 | \n", "91.684848 | \n", "91.684848 | \n", "-1.684848 | \n", "-1.684848 | \n", "57.096386 | \n", "-6.350894 | \n", "
1848 rows × 6 columns
\n", "\n", " | dni | \n", "dhi | \n", "kt | \n", "
---|---|---|---|
timestamp | \n", "\n", " | \n", " | \n", " |
2017-07-13 20:00:00+02:00 | \n", "32.174594 | \n", "84.913015 | \n", "0.328436 | \n", "
2017-07-13 20:05:00+02:00 | \n", "167.597825 | \n", "88.433972 | \n", "0.465824 | \n", "
2017-07-13 20:10:00+02:00 | \n", "104.009389 | \n", "82.377507 | \n", "0.418275 | \n", "
2017-07-13 20:15:00+02:00 | \n", "767.555215 | \n", "33.326318 | \n", "0.729609 | \n", "
2017-07-13 20:20:00+02:00 | \n", "126.334677 | \n", "70.317711 | \n", "0.436653 | \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-07-13 20:00:00+02:00 | \n", "91.752384 | \n", "6.839369 | \n", "84.913015 | \n", "84.913015 | \n", "0.0 | \n", "
2017-07-13 20:05:00+02:00 | \n", "121.747537 | \n", "33.313565 | \n", "88.433972 | \n", "88.433972 | \n", "0.0 | \n", "
2017-07-13 20:10:00+02:00 | \n", "101.620807 | \n", "19.243300 | \n", "82.377507 | \n", "82.377507 | \n", "0.0 | \n", "
2017-07-13 20:15:00+02:00 | \n", "164.817387 | \n", "131.491069 | \n", "33.326318 | \n", "33.326318 | \n", "0.0 | \n", "
2017-07-13 20:20:00+02:00 | \n", "90.236835 | \n", "19.919124 | \n", "70.317711 | \n", "70.317711 | \n", "0.0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2017-07-20 05:35:00+02:00 | \n", "3.260000 | \n", "-0.000000 | \n", "3.260000 | \n", "3.260000 | \n", "0.0 | \n", "
2017-07-20 05:40:00+02:00 | \n", "3.250000 | \n", "-0.000000 | \n", "3.250000 | \n", "3.250000 | \n", "0.0 | \n", "
2017-07-20 05:45:00+02:00 | \n", "3.240000 | \n", "-0.000000 | \n", "3.240000 | \n", "3.240000 | \n", "0.0 | \n", "
2017-07-20 05:50:00+02:00 | \n", "3.340000 | \n", "-0.000000 | \n", "3.340000 | \n", "3.340000 | \n", "0.0 | \n", "
2017-07-20 05:55:00+02:00 | \n", "3.380000 | \n", "-0.000000 | \n", "3.380000 | \n", "3.380000 | \n", "0.0 | \n", "
1848 rows × 5 columns
\n", "