Skip to content

Instantly share code, notes, and snippets.

@kandersolar
Last active February 3, 2022 20:29
Show Gist options
  • Save kandersolar/ea025bf4ea94397b16865e3fcacd9d88 to your computer and use it in GitHub Desktop.
Save kandersolar/ea025bf4ea94397b16865e3fcacd9d88 to your computer and use it in GitHub Desktop.
RdTools power=0 issue
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# TrendAnalysis object-oriented example\n",
"\n",
"\n",
"This juypter notebook is intended to demonstrate the RdTools analysis workflow as implimented with the `rdtools.TrendAnalysis` object-oriented API. For a consistent experience, we recommend installing the packages and versions documented in `docs/notebook_requirements.txt`. This can be achieved in your environment by running `pip install -r docs/notebook_requirements.txt` from the base directory. (RdTools must also be separately installed.)\n",
"\n",
"The calculations consist of two phases\n",
" 1. Import and preliminary calculations: In this step data is important and augmented to enable analysis with RdTools. **No RdTools functions are used in this step. It will vary depending on the particulars of your dataset. Be sure to understand the inputs RdTools requires and make appropriate adjustments.** \n",
" 2. Analysis with RdTools: This notebook illustrates the use of the TrendAnalysis API to perform sensor and clearsky degradation rate calculations along with stocasithc rate and recovery (SRR) soiling calculations.\n",
"\n",
"This notebook works with data from the NREL PVDAQ `[4] NREL x-Si #1` system. Note that because this system does not experience significant soiling, the dataset contains a synthesized soiling signal for use in the soiling section of the example. This notebook automatically downloads and locally caches the dataset used in this example. The data can also be found on the DuraMAT Datahub (https://datahub.duramat.org/dataset/pvdaq-time-series-with-soiling-signal)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pvlib\n",
"import rdtools\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#Update the style of plots\n",
"import matplotlib\n",
"matplotlib.rcParams.update({'font.size': 12,\n",
" 'figure.figsize': [4.5, 3],\n",
" 'lines.markeredgewidth': 0,\n",
" 'lines.markersize': 2\n",
" })\n",
"# Register time series plotting in pandas > 1.0\n",
"from pandas.plotting import register_matplotlib_converters\n",
"register_matplotlib_converters()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Set the random seed for numpy to ensure consistent results\n",
"np.random.seed(0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Import and preliminary calculations\n",
"\n",
"\n",
"This section prepares the data necessary for an `rdtools` calculation.\n",
"\n",
"A common challenge is handling datasets with and without daylight savings time. Make sure to specify a `pytz` timezone that does or does not include daylight savings time as appropriate for your dataset.\n",
"\n",
"**The steps of this section may change depending on your data source or the system being considered. Note that nothing in this first section utilizes the `rdtools` library.** Transposition of irradiance and modeling of cell temperature are generally outside the scope of `rdtools`. A variety of tools for these calculations are available in [pvlib](https://github.com/pvlib/pvlib-python)."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Import the example data\n",
"file_url = ('https://datahub.duramat.org/dataset/a49bb656-7b36-'\n",
" '437a-8089-1870a40c2a7d/resource/5059bc22-640d-4dd4'\n",
" '-b7b1-1e71da15be24/download/pvdaq_system_4_2010-2016'\n",
" '_subset_soilsignal.csv')\n",
"cache_file = 'PVDAQ_system_4_2010-2016_subset_soilsignal.pickle'\n",
"\n",
"try:\n",
" df = pd.read_pickle(cache_file)\n",
"except FileNotFoundError:\n",
" df = pd.read_csv(file_url, index_col=0, parse_dates=True)\n",
" df.to_pickle(cache_file)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"df = df.rename(columns = {\n",
" 'ac_power':'power_ac',\n",
" 'wind_speed': 'wind_speed',\n",
" 'ambient_temp': 'Tamb',\n",
" 'poa_irradiance': 'poa',\n",
"})\n",
"\n",
"# Specify the Metadata\n",
"meta = {\"latitude\": 39.7406,\n",
" \"longitude\": -105.1774,\n",
" \"timezone\": 'Etc/GMT+7',\n",
" \"gamma_pdc\": -0.005,\n",
" \"azimuth\": 180,\n",
" \"tilt\": 40,\n",
" \"power_dc_rated\": 1000.0,\n",
" \"temp_model_params\":'open_rack_glass_polymer'}\n",
"\n",
"df.index = df.index.tz_localize(meta['timezone'])\n",
"\n",
"# Set the pvlib location \n",
"loc = pvlib.location.Location(meta['latitude'], meta['longitude'], tz = meta['timezone'])\n",
"\n",
"# There is some missing data, but we can infer the frequency from\n",
"# the first several data points\n",
"freq = pd.infer_freq(df.index[:10])\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This example dataset includes a synthetic soiling signal that can be applied onto the PV power data to illustrate the soiling loss and detection capabilities of RdTools. AC Power is multiplied by soiling to create the synthetic 'power' channel"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot synthetic soiling signal attached to the dataset\n",
"fig, ax = plt.subplots(figsize=(4,3))\n",
"ax.plot(df.index, df.soiling, 'o', alpha=0.01)\n",
"#ax.set_ylim(0,1500)\n",
"fig.autofmt_xdate()\n",
"ax.set_ylabel('soiling signal');\n",
"\n",
"df['power'] = df['power_ac'] * df['soiling']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Use of the object oriented system analysis API"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The first step is to create a `TrendAnalysis` instance containing data to be analyzed and information about the system. Here we illustrate a basic applicaiton, but the API is highly customizable and we encourage you to read the docstrings and check the source for full details."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"clipping threshold: 856.5953880000001\n"
]
},
{
"data": {
"image/png": "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Y8eyY8cOcnJy2LFjB08//bSv7KWXXuKjjz5iwYIFLFy4kE8++YQXX3wxbMcUyMUXX8yhhx7K9u3beeSRR7jgggvIy8sLWjc9PZ1PPvmEnTt38uqrr/LHP/6Rb775pladBQsWUFxcTHFxcb2Tpm/evJmXX36ZVatWcf3113PXXXcBUF1dza233sozzzwTtN306dODTj3VENXV1U2qHyohKWequhToA/wdGAe8AgxQ1eVhkcowDMMw9lFeffVVrrrqKvr370/btm259957600Cu3TpUj7++GNeeuklOnToQHx8PEOGDKm1r1tvvZVu3brRtWtXbr311qD7Kikp4YwzzmDTpk0+y9SmTZuoqKjg5ptvpkuXLnTp0oWbb765QSueP7/++is//fQTDzzwAKmpqYwcOZIBAwYwefLkoPUfeOAB+vTpQ1xcHMOGDePYY4/l22+/Dakvf9atW8ehhx5KZmYmw4cPZ9WqVQA888wznHPOOfTq1atOm4ULF9KmTRs6duxIu3btalnbtm7dSlpaGnl5eT7r4oQJE+jUqRNXXBGeTGOhWs5Q1VJVfVdVH1fVt1W18dlVDcMwDMNoEr/88guDBu2Ktxs0aBC5ubls3769Tt3vv/+enj17cv/995OVlVVH+Qm2r19++aXOftLT05k+fTpdunTxWaa6dOnCI488wty5c5k/fz4LFizg+++/5+GHHw75OHr37u2bo7Kh/gMpKyvjhx9+oH///rW2H3fccXTq1Inzzz+fNWvWBG17wAEHsGjRIgoKCpg5cyb9+/dn/fr1vP3229x2221B20ybNo0RI0aQlJTERRddxKRJk3xlb731FieffDIdOnQAYMuWLezYsYO1a9eGbRg01FQa+4nImyKyRETW+S9hkcowDMMw9lGKi4tp3bq1b937O9jclhs2bGDx4sW0bt2aTZs28dxzzzF69GhycnLq3VdxcXHIk3a/8cYb3HfffXTs2JEOHTpw//338/rrr+/WcXj7D2WOzuuuu45BgwZx2mmn+bZ9+eWXrFmzhqVLl9KlSxfOOuusoMOK7du355577uGkk05i6tSpPPHEE/zxj39kwoQJfPjhhxx//PH89re/rTV5/NSpU31DmqNHj+att97ynaPXX3+dyy7b5XYfFxfHAw88QHJyMqmpqSGdi6YSahLaN4GVwK1AaVgkMQzDMIx9CP/p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\n",
"text/plain": [
"<Figure size 720x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ta = rdtools.TrendAnalysis(df['power'], df['poa'], \n",
" temperature_ambient=df['Tamb'],\n",
" gamma_pdc=meta['gamma_pdc'],\n",
" interp_freq=freq,\n",
" windspeed=df['wind_speed'],\n",
" power_dc_rated=meta['power_dc_rated'],\n",
" temperature_model=meta['temp_model_params'])\n",
"\n",
"ta.sensor_analysis()\n",
"fig = ta.plot_degradation_summary('sensor')\n",
"\n",
"print('clipping threshold:', ta.pv_power[ta.sensor_filter_components['clip_filter']].max())"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"clipping threshold: 819.615754\n"
]
},
{
"data": {
"image/png": "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QnYjvknf8wBOPvnEiOz766+/ZsaMGaxZs4aMjAwAlixZEpG2IsFtt90Wdt1x48bx+++/+8bU3BUI1+csAThHVQ9V1fNU9VDgj0CNqh4IXInjl2YYhrGr8TTwP++CiAwAngcuALKBUuCZoPqVbtn5OCmHQg9EaBgRYuXKlfTs2dOnmBl1U11da+jumBOucnYsEGx3nQIc785PBHo3lVCGYRjxgIicAxQAn/mtPh/4SFVnqWoxTqLsM0SkpYhkAKOAO1W1WFW/xnl2Nt9xZIyIs3r1as444ww6dOhAu3btuPrqqwEnoer9999PTk4OHTt25MILL2Tbtm0ArFixAhHh1VdfpUePHrRv354HHngAgJdeeolLL72U7777jszMTO6++26++OILunXr5mvz559/Zt9996Vly5acffbZvqGhvEyZMoWhQ4fSunVrDj74YObPn+8r69mzJ+PHj2fw4MG0atWq1vYffPABQ4cOJSsriz322MOXc2zbtm1ccskldO7cma5du3LHHXdQU1MT8pyMGzeO0aNHN3is06dP58EHH+Ttt98mMzOTIUOGNNjWhAkT+MMf/sB1111Hu3btuPPOO2ndujULFy70tb9p0ybS0tLYuHEj+fn5nHTSSXTo0IE2bdpw0kknsWbNmsZe5kYRrnK2FLgiaN2f3fXgmPZLm0oowzCMWCMiWThj+14fVDQAmOddUNWlOJayvdypWlV/9as/z90meP+Xi8gcEZmzadOmphbfaCbU1NRw0kknkZOTw4oVK1i7dq1vcPAJEyYwYcIEPv/8c5YtW0ZxcbFPcfPy9ddfs2TJEj777DPuvfdecnNzueSSS3juuec46KCDKC4u5p577gnYprKyktNOO40LLriArVu3ctZZZzF58mRf+c8//8zFF1/M888/z5YtW/jTn/7EKaecQkVFha/OO++8w/Tp01m+fDnz589nwoQJAPzwww9ceOGFPProoxQUFDBr1ix69uwJOH5tSUlJ/P777/z88898+umnjfLVCnWsxx13HLfddhtnn302xcXFzJs3L6y2vv/+e3r37k1eXh533XUXZ5xxBm+++WbA8R1++OF07NgRj8fDRRddxMqVK1m1ahVpaWm1roOXVatW0bp1a1atWhX2cYUiXOXsEuBGEVktIrNFZDXwf+56gL1xvh4NwzB2Fe4DXlLV4E/kTGBb0Lpt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lozr1q0jJyfHt5yTk0N1dTV5eXl07do1oO7xxx/PV199BcDzzz9P//79A47DeyyhjsOfp556itdee42vvvqK1NRUwAksOO6443jqqac477zz2LBhA2eeeSbZ2dlceeWVtfaRk5PDtGnTACdg4qCDDuLTTz/lL3/5C2effTYnnngiAwcO5Oijj6Zt27ZMmzYtwDI2ZswYJk6cyMiRI5k4cSJ//etfA/YfymetKQlXORsA/EFVPZEUxjAMwzB2R3pc/55vfsCAAcybN48//vGPgBN5mJ2dTbt27WptN3jw4FrrRKTOdqqrq1m6dGnIslDbdenSxTdwOTgDeyclJYW0vn388ccByyUlJVRXV/Pbb7/Rp08f37H4d1UG8/LLL/Pwww8za9YsunXr5lu/bNkyEhMTufBCJw9+t27dOOecc5g2bVpI5cyfe++9l8suu4zs7GwWLFjA/fff74v4/P3339lnn3348ssveeWV7cOIjx49moEDBzJv3jxyc3M57bTTAvZZ3zluCsL1OZsF7BNJQeKVmYvyuHnyfGYuyou1KEYcE859YveSYRjhcOGFF/LSSy+xaNEiCgoKuP/++xk7dmzIuocddhg9evTgoYceorq6mm+++YbPP/+cY489FoAXX3yRjRs3ArBo0SIeeughjj766JD76tChAwkJCSxbtsy37txzz+Xxxx9n+fLlFBcXc9ttt3H22WeH5WeVkZHBGWecwV133UVJSQnffPMNH3zwARdcEJyZy2HSpEncdtttzJgxg969eweU7bXXXqgqb7zxBh6Phw0bNvD222+HVE79WbRoEV988QVXXHEFAL169eK///0veXl5/Pbbb/To0YOvv/6awYMHB3TBduvWjf32248LLriAUaNGRaz7si7CVc5WANNF5AURudd/iqBsESXcF+WM3DzSkxP5+6dLOHL8F4z/ZHGD+xz/yeKYvoSjpQTEq7IRC7m898mM3O1t+ssxc1EeD0zLZXNReUAdwzCMYI477jhuuukmjjzySHr06EFOTg733HOPr3zAgAFMmjQJgOTkZD744AOmTZtGq1atuOyyy3jttdfo27cvAN988w2DBg0iIyODE044gRNOOIEHH3wwZLvp6encfvvt/OEPf6B169bMnj2biy++mAsuuIDDDjuMXr160aJFC/75z3+GfSzPPPMMZWVldOzYkXPPPZdn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\n",
"text/plain": [
"<Figure size 720x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"times = pd.date_range(df.index[0], df.index[-1], freq='1T')\n",
"df = df.reindex(times)\n",
"df['power'] = df['power'].fillna(0)\n",
"\n",
"ta = rdtools.TrendAnalysis(df['power'], df['poa'], \n",
" temperature_ambient=df['Tamb'],\n",
" gamma_pdc=meta['gamma_pdc'],\n",
" interp_freq=freq,\n",
" windspeed=df['wind_speed'],\n",
" power_dc_rated=meta['power_dc_rated'],\n",
" temperature_model=meta['temp_model_params'])\n",
"\n",
"ta.sensor_analysis()\n",
"fig = ta.plot_degradation_summary('sensor')\n",
"print('clipping threshold:', ta.pv_power[ta.sensor_filter_components['clip_filter']].max())"
]
}
],
"metadata": {
"anaconda-cloud": {},
"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.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment