From 2c775a407adaddad31f8ade585616ab10a121687 Mon Sep 17 00:00:00 2001 From: "Mads M. Pedersen" <mmpe@dtu.dk> Date: Thu, 15 Apr 2021 13:36:41 +0000 Subject: [PATCH] bugfix and update of STF2005TurbulenceModel and STF2017TurbulenceModel --- .../notebooks/EngineeringWindFarmModels.ipynb | 280 +++++++++++++++--- docs/notebooks/exercises/CombineModels.ipynb | 50 ++-- py_wake/deficit_models/deficit_model.py | 31 +- py_wake/superposition_models.py | 34 ++- .../test_deficit_models.py | 20 +- py_wake/tests/test_rotor_avg_models.py | 14 +- .../test_turbulence_models.py | 21 +- py_wake/tests/test_utils/test_model_utils.py | 33 ++- .../test_windturbines/test_windturbines.py | 4 +- py_wake/turbulence_models/__init__.py | 2 +- py_wake/turbulence_models/crespo.py | 3 +- py_wake/turbulence_models/gcl_turb.py | 3 +- py_wake/turbulence_models/stf.py | 114 +++---- py_wake/turbulence_models/turbulence_model.py | 45 +-- py_wake/utils/model_utils.py | 69 +++-- .../wind_farm_models/engineering_models.py | 21 +- py_wake/wind_farm_models/wind_farm_model.py | 5 +- 17 files changed, 502 insertions(+), 247 deletions(-) diff --git a/docs/notebooks/EngineeringWindFarmModels.ipynb b/docs/notebooks/EngineeringWindFarmModels.ipynb index 7f97aa330..79bc9ab68 100644 --- a/docs/notebooks/EngineeringWindFarmModels.ipynb +++ b/docs/notebooks/EngineeringWindFarmModels.ipynb @@ -239,7 +239,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "90.3 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 10 loops each)\n" + "95.2 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 10 loops each)\n" ] } ], @@ -288,7 +288,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "2.05 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + "2.22 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" ] } ], @@ -731,7 +731,7 @@ { "data": { "text/plain": [ - "<matplotlib.legend.Legend at 0x168edd76b80>" + "<matplotlib.legend.Legend at 0x171852aceb0>" ] }, "execution_count": 19, @@ -777,7 +777,7 @@ { "data": { "text/plain": [ - "<matplotlib.legend.Legend at 0x168edef8280>" + "<matplotlib.legend.Legend at 0x17185317580>" ] }, "execution_count": 20, @@ -855,9 +855,9 @@ } ], "source": [ - "from py_wake.deficit_models import DeficitModel\n", + "from py_wake.deficit_models import WakeDeficitModel\n", "from numpy import newaxis as na\n", - "class MyDeficitModel(DeficitModel):\n", + "class MyDeficitModel(WakeDeficitModel):\n", " args4deficit = ['WS_ilk', 'dw_ijlk', 'cw_ijlk']\n", "\n", " def calc_deficit(self, WS_ilk, dw_ijlk, cw_ijlk,**_):\n", @@ -892,7 +892,7 @@ { "data": { "text/plain": [ - "<matplotlib.contour.QuadContourSet at 0x168ed6e69a0>" + "<matplotlib.contour.QuadContourSet at 0x17182cf51c0>" ] }, "execution_count": 22, @@ -933,7 +933,7 @@ { "data": { "text/plain": [ - "<matplotlib.contour.QuadContourSet at 0x168eda72f10>" + "<matplotlib.contour.QuadContourSet at 0x17182fbdbe0>" ] }, "execution_count": 23, @@ -975,7 +975,7 @@ { "data": { "text/plain": [ - "<matplotlib.contour.QuadContourSet at 0x168ed9e7a90>" + "<matplotlib.contour.QuadContourSet at 0x17182f84dc0>" ] }, "execution_count": 24, @@ -1331,7 +1331,7 @@ { "data": { "text/plain": [ - "<matplotlib.legend.Legend at 0x168ed3aecd0>" + "<matplotlib.legend.Legend at 0x17182cfac70>" ] }, "execution_count": 34, @@ -1792,7 +1792,7 @@ { "data": { "text/plain": [ - "<matplotlib.legend.Legend at 0x168f433c160>" + "<matplotlib.legend.Legend at 0x17186cfb280>" ] }, "execution_count": 45, @@ -1925,17 +1925,16 @@ "metadata": {}, "outputs": [ { - "ename": "FileNotFoundError", - "evalue": "[Errno 2] No such file or directory: 'c:\\\\mmpe\\\\programming\\\\python\\\\topfarm\\\\pywake\\\\py_wake\\\\tests\\\\test_filesfuga\\\\2MW\\\\Z0=0.00014617Zi=00399Zeta0=0.00E+0\\\\WTdata.bin'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m<ipython-input-48-c4d71b9f369f>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpy_wake\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdeflection_models\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mFugaDeflection\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mplot_deflection\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mFugaDeflection\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;32mc:\\mmpe\\programming\\python\\topfarm\\pywake\\py_wake\\deflection_models\\fuga_deflection.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, LUT_path, on_mismatch)\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 16\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mLUT_path\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mtfp\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'fuga/2MW/Z0=0.00014617Zi=00399Zeta0=0.00E+0/'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mon_mismatch\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'raise'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 17\u001b[1;33m \u001b[0mFugaUtils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpath\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mLUT_path\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mon_mismatch\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mon_mismatch\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 18\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mzlevels\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[0mtabs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload_luts\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'VL'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'VT'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32mc:\\mmpe\\programming\\python\\topfarm\\pywake\\py_wake\\utils\\fuga_utils.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, path, on_mismatch)\u001b[0m\n\u001b[0;32m 40\u001b[0m 'Zeta0'):].replace(\"Zeta0=\", \"\").replace(\"/\", \"\"))\n\u001b[0;32m 41\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 42\u001b[1;33m \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpath\u001b[0m \u001b[1;33m/\u001b[0m \u001b[1;34m'WTdata.bin'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'rb'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mfid\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 43\u001b[0m \u001b[0mcase_name\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstruct\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0munpack\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'127s'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfid\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m127\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;31m# @UnusedVariable\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 44\u001b[0m \u001b[0mprelut_name\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstruct\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0munpack\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'127s'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfid\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m127\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;31m# @UnusedVariable\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'c:\\\\mmpe\\\\programming\\\\python\\\\topfarm\\\\pywake\\\\py_wake\\\\tests\\\\test_filesfuga\\\\2MW\\\\Z0=0.00014617Zi=00399Zeta0=0.00E+0\\\\WTdata.bin'" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 1008x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ @@ -1981,9 +1980,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.contour.QuadContourSet at 0x17186dc3ee0>" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAD8CAYAAABwz3AvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA+F0lEQVR4nO3de5xkVX3v/c+3qmcYud9GRMYJw01BLoITDkbliKhcNI4aYiAmimAQg4CJxgf0RHM0nOPtqCQx4oCo5Kjgg6AkQWBABfUBZAaGu8YRUHoEGVAEgZnprvo9f+xd3buqdlXt6qrq7ur+vl+venXV2mvvvTZDd397rbX3UkRgZmZmNt+UZroBZmZmZjPBIcjMzMzmJYcgMzMzm5ccgszMzGxecggyMzOzeckhyMzMzOalnkOQpOdJ+p6keyTdLenMtHxHSask/Sz9ukNaLkn/JGmdpDskHdJrG8zMzMy61Y+eoHHgvRGxH3AYcJqk/YCzgOsiYm/guvQzwDHA3unrFODzfWiDmZmZWVd6DkER8VBE3Jq+fxK4F9gNWAF8Ja32FeAN6fsVwEWRuAnYXtKuvbbDzMzMrBsj/TyYpN2Bg4GbgV0i4qF008PALun73YAHM7uNpmUP0cbOO+8cu+++ez+bazOg6geUmw1cSTPdAuuHNWvWPBoRi6frfK8+6uh47NFHC9W97dY1V0fE0QNu0sD1LQRJ2hr4JvCeiHhCmvwujIiQ1PWvP0mnkAyZsXTpUlavXt2v5toMeWZspltgNvc9a8FMt8D6QdIvpvN8jz36KD+6qdjv2S0XaucBN2da9OXuMEkLSALQVyPisrT417VhrvTrI2n5euB5md2XpGVNImJlRCyPiOWLF09bGDYzM7N5oB93hwn4InBvRHw6s+kK4G3p+7cB386UvzW9S+ww4HeZYTMzMzObIRFR6DVX9GM47KXAXwJ3Slqbln0A+BjwDUknA78A3pxuuxI4FlgHPA28vQ9tMDMzM+tKzyEoIn4ItJqGd2RO/QBO6/W8ZmY2v4yNjTE6OsrGjRtnuil9tWjRIpYsWcKCBTM/masyh3p5iujr3WFmZmaDMjo6yjbbbMPuu+9O9uabYRYRPPbYY4yOjrJs2bKZbs6842UzzMxsKGzcuJGddtppzgQgAEnstNNOc653a1i4J8jMzIbGXApANbPlmiKgWp3pVkwv9wSZmZnZvOQQZGZmVsARRxzB1VdfXVf22c9+lne96128//3v54UvfCH77rsvZ5xxxsRt5GvWrOGAAw5gr732qiufraoRhV5zhUOQmZnNad///vf7cpwTTjiBiy++uK7s4osv5oQTTuBHP/oRd9xxB3fddRe33HIL119/PQDvete7OP/88/nZz37Gz372M6666qq+tMX6wyHIzMzmtFog6dVxxx3Hf/7nf7J582YAHnjgAX71q1+xYMECNm7cyObNm9m0aRNjY2PssssuPPTQQzzxxBMcdthhSOKtb30r3/rWt/rSlkEIivUCuSfIzMxsntlxxx059NBD+c53vgMkvUBvfvObeclLXsIRRxzBrrvuyq677spRRx3Fvvvuy/r161myZMnE/kuWLGH9+txVomyGOASZmdmc9OSTT04MP91///19OWZ2SKw2FLZu3TruvfdeRkdHWb9+Pd/97nf5wQ9+0JfzTbdqFHvNFQ5BZmY2J91+++1I4k1vehOXXnppX4LQihUruO6667j11lt5+umnefGLX8zll1/OYYcdxtZbb83WW2/NMcccw4033shuu+3G6OjoxL6jo6PstttuPbdhGEg6U9Jdku6W9J6c7Ssk3SFpraTVkl6W2bZU0jWS7pV0j6TdB9VOhyAzM5uTXvayl3HUUUdxwAEHcNxxx/GrX/2q52NuvfXWHHHEEZx00kmccMIJACxdupTrr7+e8fFxxsbGuP7669l3333Zdddd2XbbbbnpppuICC666CJWrFjRcxsGJXlOUBR6tSNpf+CvgEOBg4DXSdqrodp1wEER8SLgJOCCzLaLgE9GxL7pMR7pzxU2cwgyM7M5b9myZbz0pS/ty7FOOOEEbr/99okQdNxxx7HnnntywAEHcNBBB3HQQQfxx3/8xwD867/+K+94xzvYa6+92HPPPTnmmGP60oZZbl/g5oh4OiLGgeuBN2UrRMTvY/J5AVsBASBpP2AkIlZl6j09qIb6idFmZmZdeMMb3lD3vJ9yucwXvvCF3LrLly/nrrvumq6mTaedJa3OfF4ZESvT93cB50jaCXgGOBZY3XgASW8E/jfwbOC1afE+wOOSLgOWAdcCZ0VEZRAX4RBkZmZmAN3c/v5oRCzP2xAR90r6OHAN8BSwFmgKMRFxOXC5pMOBjwKvIsklLwcOBn4JXAKcCHyxm+soysNhZmZm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\n", + "text/plain": [ + "<Figure size 720x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from py_wake.deflection_models import DeflectionModel\n", "from numpy import newaxis as na\n", @@ -2011,7 +2033,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "metadata": {}, "outputs": [], "source": [ @@ -2033,14 +2055,27 @@ "source": [ "### STF2005TurbulenceModel\n", "\n", - "Steen Frandsen model implemented according to IEC61400-1, 2005" + "Steen Frandsen model implemented according to IEC61400-1, 2005 and weight according to Steen Frandsen's [thesis](https://orbit.dtu.dk/en/publications/turbulence-and-turbulence-generated-structural-loading-in-wind-tu)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from py_wake.turbulence_models import STF2005TurbulenceModel\n", "plot_turb_map(STF2005TurbulenceModel())" @@ -2052,17 +2087,68 @@ "source": [ "### STF2017TurbulenceModel\n", "\n", - "Steen Frandsen model implemented according to IEC61400-1, 2017" + "Steen Frandsen model implemented according to IEC61400-1, 2017 and weight according to Steen Frandsen's [thesis](https://orbit.dtu.dk/en/publications/turbulence-and-turbulence-generated-structural-loading-in-wind-tu)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from py_wake.turbulence_models import STF2017TurbulenceModel\n", - "plot_turb_map(STF2005TurbulenceModel())" + "plot_turb_map(STF2017TurbulenceModel())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**STF20XXTurbulenceModel with IEC-based spread angle**\n", + "\n", + "The `STF2005TurbulenceModel` and `STF2017TurbulenceModel` take a `weight_function` input which defaults to the bell-shaped `FrandsenWeight` defined in Steen Frandsen's thesis. As an alternative the `IECWeight` applies the full added turbulence in a 21.6$^\\circ$ spread angle up to 10 diameter downstream. \n", + "\n", + "Note, this is a debatable interpretation of the IEC standard which includes a 6% contribution from neighbouring wind turbines when calculating the omni-directional effective turbulence intensity. These 6% maps to a spread angle of 360$^\\circ\\cdot$ 6% = 21.6$^\\circ$.\n", + "\n", + "Note, the IEC standard includes more concepts which is not implemented in PyWake" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "from py_wake.turbulence_models import STF2017TurbulenceModel, IECWeight\n", + "from py_wake.superposition_models import SqrMaxSum\n", + "plot_turb_map(STF2017TurbulenceModel(addedTurbulenceSuperpositionModel=SqrMaxSum(), \n", + " weight_function=IECWeight(distance_limit=10)))" ] }, { @@ -2078,9 +2164,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from py_wake.turbulence_models import GCLTurbulence\n", "plot_turb_map(GCLTurbulence())" @@ -2100,9 +2199,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from py_wake.turbulence_models import CrespoHernandez\n", "plot_turb_map(CrespoHernandez())" @@ -2117,12 +2229,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "turbulenceModels = [STF2005TurbulenceModel(),\n", " STF2017TurbulenceModel(),\n", + " STF2017TurbulenceModel(addedTurbulenceSuperpositionModel=SqrMaxSum(), weight_function=IECWeight(10)),\n", " GCLTurbulence(),\n", " CrespoHernandez()]" ] @@ -2136,14 +2249,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.legend.Legend at 0x1718932c040>" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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tn8LAF9++SXDhw9n27ZtbN++nbi4OHJycpgxYwa//fYbW7ZsoUePHrz22mu21/j5+bFlyxbuuusuWwhOTEy0halNmzYxevRo2yLa69evp2/fvmf87AG+/fZbUlNTSU5OZt68ebZAZu/c4eHh3HnnnTz00ENs27bNtl5ijx49bMHwXLWsdkAhWhhVBqCLFsLNzY2kpCTWrFnDihUrGD9+PDNnzmTSpEl2X3NqN1+14uJixowZwxtvvIGHh8dp+xVFQVGUBtWrsrKSpUuX8tJLLzX4vZxq/PjxtZ5XB7N+/fpRWFhIfn5+g8pZvnw5y5cvp1u3boD2Pvfv309YWBgRERG29Qi7d+9OamoqRUVFZGRkMHr0aACcnJzqLadfv34AxMTEkJqayldffcWIESNq1WHt2rW2oDZo0CByc3MpLCxk9erVfPvttwBcddVVeHt7A1qrXlJSEj179gS0sVE11+UDbSFpLy+vWttO7eZbuXIlvXr1IiIiwrbtrbfeYvHixQAcOXKE/fv34+vri4ODg62lsHv37vz666+AtnZjdd1vueUWHn/8cQB69uzJ5MmTMZlMjBo1iri4OFatWkVycrKtNamystK2viDAddddZyu/+n337NmTrVu3UlJSgslkws3NjbZt23LgwAHWr1/PI488wscff1zvZ1/9GY8dOxadTkdQUBADBw6s9dnUde66BAQE2FrNzpWEKSHqIfNMiTpdObNZTqvX6xkwYAADBgyga9euzJ07t94wVReTycSYMWOYMGGC7UsHIDAwkMzMTIKDg8nMzDztC92en376ifj4eAIDA+0eYzAYsFpPtu6Wl5fX2n/qosWnBjlFUc5YBmhjHJ944gmmTp1aa3tqaqqtexS0z7G6m68u9sqpaeTIkTz66KOsXLnynJZ5UVWViRMn1htGnZ2d63y/p6r5Oa5cuZLffvuNDRs24OLiwoABA2xlGI1G22es1+sxm82219UVovv168fq1atZtmwZkyZN4uGHH8bb25uhQ4faFqI+VfXnXbN8FxcXOnTowOzZs23dzQkJCfz4448cP36cTp06NeizP5O6zl2X8vJynJ2dG32emqSbT4j6SDefaCH27t3L/v37bc+3bdtmd4ySPaqqcvvttxMZGcnDDz9ca9/IkSOZO3cuAHPnzq13fE5Np44ZqkubNm1ITk6moqKC/Px8fv/9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Wb9+PQDr16/nmmuuITs7G1VVOXToEM7OzgQFBbF8+XL69OlDfHw8Y8eOtS3xUrP18JNPPqFjx4706tWLO+64g3vvvdd2vtWrV9O3b1/atm1ra6WaNm0aa9asIS4ujtdffx3QZievDnwXK2mZEqI+1cvJyKSdooZZm2axJ69pVpuv1tmnM4/3etzu/mHDhvHcc8/RsWNHhgwZwvjx4+nfv3+9ZU6YMMG2kOvvv/+Or6+vbV9qaipbt26ld+/eAGRlZREcHAxAUFAQWVlZDa77/Pnzz7g+X318fX1t6+69//77lJaWsm3bNlavXs3kyZPZuXNng8pZvnw5+/fvZ9OmTaiqysiRI1m9ejVhYWHs37+fr776io8++ohx48axaNEibr75ZiZMmMC0adMYPXo05eXlWK1Wu+X069cPgBtuuIHnnnuOq6++mh07djB58mTbEiXTp0+nW7duLFmyhD/++INbb72Vbdu28eyzz3LZZZfx9NNPs2zZMtsyObt372bBggWsW7cOo9HI3XffzRdffMGtt95qe1+VlZWkpKQQHh5e5/uuDifVFi1axM6dO+nevXudx3fv3p2dO3dSWVnJ+vXr6d+/PykpKezevZutW7fSt29fcnJymDFjBr/99huurq7MmjWL1157jaefftpWztGjR3n++efZsmUL7u7uDBo0iNjYWNv+zMxM1q5dy549exg5ciTXX389M2fOPK0VtUePHsycOZN///vfDfo5t0QSpoSoh21qBAlTopm5ubmRlJTEmjVrWLFiBePHj2fmzJn1jjc5tZuvWnFxMWPGjOGNN97Aw8PjtP2KoqAoSoPqVVlZydKlS3nppZca/F5ONX78+FrPq4NZv379KCwsJD8/v0HlLF++nOXLl9vW/isuLmb//v2EhYURERFhCxzdu3cnNTWVoqIiMjIyGD16NKCtCVhfOdVhKiYmhtTUVL766itGjBhRqw5r165l0aJFAAwaNIjc3FwKCwtZvXq1bRzSVVddhbe3N6CF3KSkJHr27AloY6MCAgJqlZmTk4OXl5fd911XN199HB0diY6OZsuWLWzcuJF///vfpKSksH79erZu3UpiYiIbN24kOTmZxMREQPs5V6+nV23Tpk30798fHx8fAMaOHVtrseNRo0ah0+mIioqqN5wHBARw9OjRBte/JZIwJUQ9Ti50LGFKnFRfC9L5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\n", + "text/plain": [ + "<Figure size 720x432 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "plt.figure(figsize=((10,6)))\n", "for turbulenceModel in turbulenceModels:\n", " X, Y, ti = _map(turbulenceModel.calc_added_turbulence, xy=(np.linspace(-200,500,300), 0))\n", - " plt.plot(X[0], ti[0], label=turbulenceModel.__class__.__name__)\n", + " l = turbulenceModel.__class__.__name__\n", + " if l.startswith('STF'):\n", + " l+=f\"({turbulenceModel.apply_weight.__self__.__class__.__name__})\"\n", + " plt.plot(X[0], ti[0], label=l)\n", "\n", "plt.legend()" ] @@ -2157,9 +2296,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.legend.Legend at 0x171893a5130>" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 720x432 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "plt.figure(figsize=((10,6)))\n", "for turbulenceModel in turbulenceModels:\n", @@ -2186,14 +2348,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.contour.QuadContourSet at 0x171895c3e50>" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from py_wake.ground_models import Mirror\n", "wfm = NOJ(site, windTurbines, k=.5, groundModel=Mirror())\n", "wfm([0], [0], wd=0).flow_map(YZGrid(x=0, y=np.arange(-300, 100, 1) + .1, z=np.arange(-100, 200))).plot_wake_map()\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/notebooks/exercises/CombineModels.ipynb b/docs/notebooks/exercises/CombineModels.ipynb index 5fa475fc8..1cc616d26 100644 --- a/docs/notebooks/exercises/CombineModels.ipynb +++ b/docs/notebooks/exercises/CombineModels.ipynb @@ -140,7 +140,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f14bd6a0b7f5481abbf808f1d82f8a6c", + "model_id": "171330f143a1445b9c63829ba26c8455", "version_major": 2, "version_minor": 0 }, @@ -158,38 +158,21 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "PropagateDownwind(EngineeringWindFarmModel, NOJDeficit-wake, RotorCenter-rotor-average, LinearSum-superposition)\n", - "Computation time (AEP + flowmap): 0.9950721263885498\n" + "ename": "AssertionError", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m<ipython-input-7-5850474ce68c>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# windFarmModel autogenerated by dropdown boxes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0mt\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m wfm = PropagateDownwind(\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[0msite\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mwindTurbines\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\mmpe\\programming\\python\\topfarm\\pywake\\py_wake\\wind_farm_models\\engineering_models.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, site, windTurbines, wake_deficitModel, rotorAvgModel, superpositionModel, deflectionModel, turbulenceModel, groundModel)\u001b[0m\n\u001b[0;32m 391\u001b[0m \u001b[0mModel\u001b[0m \u001b[0mdescribing\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mamount\u001b[0m \u001b[0mof\u001b[0m \u001b[0madded\u001b[0m \u001b[0mturbulence\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mwake\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 392\u001b[0m \"\"\"\n\u001b[1;32m--> 393\u001b[1;33m EngineeringWindFarmModel.__init__(self, site, windTurbines, wake_deficitModel, rotorAvgModel, superpositionModel,\n\u001b[0m\u001b[0;32m 394\u001b[0m \u001b[0mblockage_deficitModel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdeflectionModel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdeflectionModel\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 395\u001b[0m turbulenceModel=turbulenceModel, groundModel=groundModel)\n", + "\u001b[1;32mc:\\mmpe\\programming\\python\\topfarm\\pywake\\py_wake\\wind_farm_models\\engineering_models.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, site, windTurbines, wake_deficitModel, rotorAvgModel, superpositionModel, blockage_deficitModel, deflectionModel, turbulenceModel, groundModel)\u001b[0m\n\u001b[0;32m 51\u001b[0m \u001b[1;32massert\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mwake_deficitModel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mDeficitModel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 52\u001b[0m \u001b[1;32massert\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrotorAvgModel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mRotorAvgModel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 53\u001b[1;33m \u001b[1;32massert\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msuperpositionModel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mSuperpositionModel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 54\u001b[0m \u001b[1;32massert\u001b[0m \u001b[0mblockage_deficitModel\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mblockage_deficitModel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mDeficitModel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 55\u001b[0m \u001b[1;32massert\u001b[0m \u001b[0mdeflectionModel\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdeflectionModel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mDeflectionModel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAssertionError\u001b[0m: " ] - }, - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'AEP: 355.83GWh')" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 864x576 with 2 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" } ], "source": [ @@ -213,6 +196,13 @@ "print (\"Computation time (AEP + flowmap):\", time.time()-t)\n", "plt.title('AEP: %.2fGWh'%(sim_res.aep().sum()))\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -231,7 +221,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.2" + "version": "3.8.8" }, "toc": { "base_numbering": 1, diff --git a/py_wake/deficit_models/deficit_model.py b/py_wake/deficit_models/deficit_model.py index 424a0b859..1e49a11ce 100644 --- a/py_wake/deficit_models/deficit_model.py +++ b/py_wake/deficit_models/deficit_model.py @@ -34,6 +34,21 @@ class DeficitModel(ABC): else: return self.calc_deficit(yaw_ilk=yaw_ilk, **kwargs) + +class BlockageDeficitModel(DeficitModel): + def __init__(self, upstream_only=False): + self.upstream_only = upstream_only + + def calc_blockage_deficit(self, dw_ijlk, **kwargs): + deficit_ijlk = self.calc_deficit(dw_ijlk=dw_ijlk, **kwargs) + if self.upstream_only: + rotor_pos = -1e-10 + deficit_ijlk *= (dw_ijlk < rotor_pos) + return deficit_ijlk + + +class WakeDeficitModel(DeficitModel, ABC): + def wake_radius(self, dw_ijlk, **_): """Calculates the radius of the wake of the i'th turbine for all wind directions(l) and wind speeds(k) at a set of points(j) @@ -50,22 +65,6 @@ class DeficitModel(ABC): raise NotImplementedError("wake_radius not implemented for %s" % self.__class__.__name__) -class BlockageDeficitModel(DeficitModel): - def __init__(self, upstream_only=False): - self.upstream_only = upstream_only - - def calc_blockage_deficit(self, dw_ijlk, **kwargs): - deficit_ijlk = self.calc_deficit(dw_ijlk=dw_ijlk, **kwargs) - if self.upstream_only: - rotor_pos = -1e-10 - deficit_ijlk *= (dw_ijlk < rotor_pos) - return deficit_ijlk - - -class WakeDeficitModel(DeficitModel): - pass - - class ConvectionDeficitModel(WakeDeficitModel): @abstractmethod diff --git a/py_wake/superposition_models.py b/py_wake/superposition_models.py index 98c19d4de..05bf1e313 100644 --- a/py_wake/superposition_models.py +++ b/py_wake/superposition_models.py @@ -28,20 +28,50 @@ class SuperpositionModel(ABC): """ +class AddedTurbulenceSuperpositionModel(): + @abstractmethod + def calc_effective_TI(self, TI_xxx, add_turb_jxxx): + """Calculate effective turbulence intensity + + Parameters + ---------- + TI_xxx : array_like + Local turbulence intensity. xxx optionally includes destination turbine/site, wind directions, wind speeds + add_turb_jxxx : array_like + added turbulence caused by source turbines(j) on xxx (see above) + + Returns + ------- + TI_eff_xxx : array_like + Effective turbulence intensity xxx (see TI_xxx) + """ + + class SquaredSum(SuperpositionModel): def calc_effective_WS(self, WS_xxx, deficit_jxxx): return WS_xxx - np.sqrt(np.sum(deficit_jxxx**2, 0)) -class LinearSum(SuperpositionModel): +class LinearSum(SuperpositionModel, AddedTurbulenceSuperpositionModel): def calc_effective_WS(self, WS_xxx, deficit_jxxx): return WS_xxx - np.sum(deficit_jxxx, 0) + def calc_effective_TI(self, TI_xxx, add_turb_jxxx): + return TI_xxx + np.sum(add_turb_jxxx, 0) + -class MaxSum(SuperpositionModel): +class MaxSum(SuperpositionModel, AddedTurbulenceSuperpositionModel): def calc_effective_WS(self, WS_xxx, deficit_jxxx): return WS_xxx - np.max(deficit_jxxx, 0) + def calc_effective_TI(self, TI_xxx, add_turb_jxxx): + return TI_xxx + np.max(add_turb_jxxx, 0) + + +class SqrMaxSum(AddedTurbulenceSuperpositionModel): + def calc_effective_TI(self, TI_xxx, add_turb_jxxx): + return np.sqrt(TI_xxx**2 + np.max(add_turb_jxxx, 0)**2) + class WeightedSum(SuperpositionModel): """ diff --git a/py_wake/tests/test_deficit_models/test_deficit_models.py b/py_wake/tests/test_deficit_models/test_deficit_models.py index 984187776..924c221b6 100644 --- a/py_wake/tests/test_deficit_models/test_deficit_models.py +++ b/py_wake/tests/test_deficit_models/test_deficit_models.py @@ -9,11 +9,10 @@ from py_wake.deficit_models.gaussian import BastankhahGaussianDeficit, IEA37Simp NiayifarGaussian from py_wake.deficit_models.gcl import GCLDeficit, GCL, GCLLocal from py_wake.deficit_models.noj import NOJDeficit, NOJ, NOJLocalDeficit, NOJLocal -from py_wake.deficit_models.selfsimilarity import SelfSimilarityDeficit from py_wake.deficit_models import VortexDipole from py_wake.examples.data.hornsrev1 import Hornsrev1Site from py_wake.examples.data.iea37 import iea37_path -from py_wake.examples.data.iea37._iea37 import IEA37_WindTurbines, IEA37Site, IEA37WindTurbinesDeprecated +from py_wake.examples.data.iea37._iea37 import IEA37_WindTurbines, IEA37Site from py_wake.examples.data.iea37.iea37_reader import read_iea37_windfarm from py_wake.flow_map import HorizontalGrid, XYGrid from py_wake.superposition_models import SquaredSum, WeightedSum @@ -23,6 +22,7 @@ from py_wake.turbulence_models.gcl_turb import GCLTurbulence from py_wake.turbulence_models.stf import STF2017TurbulenceModel from py_wake.wind_farm_models.engineering_models import PropagateDownwind, All2AllIterative from py_wake.utils.model_utils import get_models +from numpy import newaxis as na class GCLLocalDeficit(GCLDeficit): @@ -210,9 +210,19 @@ def test_wake_radius_not_implemented(): site = IEA37Site(16) x, y = site.initial_position.T windTurbines = IEA37_WindTurbines() - wfm = PropagateDownwind(site, windTurbines, wake_deficitModel=SelfSimilarityDeficit(), + + class MyDeficitModel(WakeDeficitModel): + args4deficit = ['WS_ilk', 'dw_ijlk', 'cw_ijlk'] + + def calc_deficit(self, WS_ilk, dw_ijlk, cw_ijlk, **_): + # 10% deficit in downstream triangle + ws_10pct_ijlk = 0.1 * WS_ilk[:, na] + triangle_ijlk = ((.2 * dw_ijlk) > cw_ijlk) + return ws_10pct_ijlk * triangle_ijlk + + wfm = PropagateDownwind(site, windTurbines, wake_deficitModel=MyDeficitModel(), turbulenceModel=GCLTurbulence()) - with pytest.raises(NotImplementedError, match="wake_radius not implemented for SelfSimilarityDeficit"): + with pytest.raises(NotImplementedError, match="wake_radius not implemented for MyDeficitModel"): wfm(x, y) @@ -407,7 +417,7 @@ def test_IEA37_ex16_windFarmModel(windFarmModel, aep_ref): def test_own_deficit_is_zero(): - for deficitModel in get_models(DeficitModel): + for deficitModel in get_models(WakeDeficitModel): site = Hornsrev1Site() windTurbines = IEA37_WindTurbines() wf_model = All2AllIterative(site, windTurbines, wake_deficitModel=deficitModel(), diff --git a/py_wake/tests/test_rotor_avg_models.py b/py_wake/tests/test_rotor_avg_models.py index 1977bd2b0..5fa21ab95 100644 --- a/py_wake/tests/test_rotor_avg_models.py +++ b/py_wake/tests/test_rotor_avg_models.py @@ -11,7 +11,7 @@ from py_wake.superposition_models import SquaredSum, LinearSum import pytest from py_wake.turbulence_models.stf import STF2017TurbulenceModel -from py_wake.deficit_models.deficit_model import DeficitModel +from py_wake.deficit_models.deficit_model import DeficitModel, WakeDeficitModel from py_wake.utils.model_utils import get_models EngineeringWindFarmModel.verbose = False @@ -74,11 +74,11 @@ def test_RotorGridAvg_ti(): for name, rotorAvgModel, ref1 in [ ('RotorCenter', RotorCenter(), 0.22292190804089568), - ('RotorGrid2', EqGridRotorAvg(2), 0.21135016790319944), - ('RotorGrid3', EqGridRotorAvg(3), 0.20618819397725846), - ('RotorGrid4', EqGridRotorAvg(4), 0.20324660406762962), - ('RotorGrid100', EqGridRotorAvg(100), 0.1989725533174574), - ('RotorGQGrid_4,3', GQGridRotorAvg(4, 3), 0.19874837617113356)]: + ('RotorGrid2', EqGridRotorAvg(2), 0.2111162769995657), + ('RotorGrid3', EqGridRotorAvg(3), 0.2058616982653193), + ('RotorGrid4', EqGridRotorAvg(4), 0.2028701990648858), + ('RotorGrid100', EqGridRotorAvg(100), 0.1985255601976247), + ('RotorGQGrid_4,3', GQGridRotorAvg(4, 3), 0.1982984399750206)]: # test with PropagateDownwind wfm = IEA37SimpleBastankhahGaussian(site, @@ -198,7 +198,7 @@ def test_CGIRotorAvg(n, x, y, w): def test_with_all_deficit_models(WFM): site = IEA37Site(16) windTurbines = IEA37_WindTurbines() - for deficitModel in get_models(DeficitModel): + for deficitModel in get_models(WakeDeficitModel): wfm = WFM(site, windTurbines, wake_deficitModel=deficitModel(), rotorAvgModel=RotorCenter(), diff --git a/py_wake/tests/test_turbulence_models/test_turbulence_models.py b/py_wake/tests/test_turbulence_models/test_turbulence_models.py index 0884a2480..b00867a9f 100644 --- a/py_wake/tests/test_turbulence_models/test_turbulence_models.py +++ b/py_wake/tests/test_turbulence_models/test_turbulence_models.py @@ -8,12 +8,12 @@ from py_wake.examples.data.iea37._iea37 import IEA37Site from py_wake.examples.data.iea37._iea37 import IEA37_WindTurbines from py_wake.flow_map import HorizontalGrid from py_wake.site._site import UniformSite -from py_wake.superposition_models import LinearSum +from py_wake.superposition_models import LinearSum, MaxSum from py_wake.superposition_models import SquaredSum from py_wake.tests import npt from py_wake.tests.test_deficit_models.test_noj import NibeA0 -from py_wake.turbulence_models.stf import STF2005TurbulenceModel, STF2017TurbulenceModel -from py_wake.turbulence_models.turbulence_model import MaxSum, TurbulenceModel +from py_wake.turbulence_models.stf import STF2005TurbulenceModel, STF2017TurbulenceModel, IECWeight +from py_wake.turbulence_models.turbulence_model import TurbulenceModel from py_wake.wind_farm_models.engineering_models import PropagateDownwind, All2AllIterative from py_wake.turbulence_models.gcl_turb import GCLTurbulence import matplotlib.pyplot as plt @@ -49,6 +49,8 @@ def get_all_turbulence_models(): 0.075, 0.075, 0.075, 0.075, 0.104, 0.136, 0.098, 0.104]), (STF2017TurbulenceModel(), [0.075, 0.075, 0.075, 0.114, 0.197, 0.142, 0.075, 0.075, 0.075, 0.075, 0.075, 0.075, 0.115, 0.158, 0.108, 0.115]), + (STF2017TurbulenceModel(weight_function=IECWeight()), [0.075, 0.075, 0.075, 0.215, 0.229, 0.179, 0.075, 0.075, 0.075, + 0.075, 0.075, 0.075, 0.075, 0.215, 0.075, 0.075]), (GCLTurbulence(), [0.075, 0.075, 0.075, 0.117, 0.151, 0.135, 0.075, 0.075, 0.075, 0.075, 0.075, 0.075, 0.128, 0.127, 0.117, 0.128]), (CrespoHernandez(), [0.075, 0.075, 0.075, 0.129, 0.17, 0.151, 0.075, @@ -70,6 +72,7 @@ def test_models_with_noj(turbulence_model, ref_ti): res = wake_model(x, y) # print(turbulence_model.__class__.__name__, np.round(res.TI_eff_ilk[:, 0, 0], 3).tolist()) if 0: + plt.title("%s, %s" % (wake_model.__class__.__name__, turbulence_model.__class__.__name__)) res.flow_map(wd=0).plot_ti_map() plt.show() @@ -170,17 +173,17 @@ def test_RotorAvg_deficit(): for name, rotorAvgModel, ref1 in [ ('None', None, 0.22292190804089568), ('RotorCenter', RotorCenter(), 0.22292190804089568), - ('RotorGrid100', EqGridRotorAvg(100), 0.1989725533174574), - ('RotorGQGrid_4,3', GQGridRotorAvg(4, 3), 0.19874837617113356), - ('RotorCGI4', CGIRotorAvg(4), 0.19822024411411204), - ('RotorCGI4', CGIRotorAvg(21), 0.1989414764606653)]: + ('RotorGrid100', EqGridRotorAvg(100), 0.1985255601976247), + ('RotorGQGrid_4,3', GQGridRotorAvg(4, 3), 0.1982984399750206), + ('RotorCGI4', CGIRotorAvg(4), 0.19774602325558865), + ('RotorCGI4', CGIRotorAvg(21), 0.19849398318014355)]: # test with PropagateDownwind wfm = IEA37SimpleBastankhahGaussian(site, windTurbines, turbulenceModel=STF2017TurbulenceModel(rotorAvgModel=rotorAvgModel)) sim_res = wfm([0, 500], [0, 0], wd=270, ws=10) - npt.assert_almost_equal(sim_res.TI_eff_ilk[1, 0, 0], ref1, err_msg=name) + npt.assert_almost_equal(ref1, sim_res.TI_eff_ilk[1, 0, 0], ref1, err_msg=name) # test with All2AllIterative wfm = All2AllIterative(site, windTurbines, @@ -188,7 +191,7 @@ def test_RotorAvg_deficit(): turbulenceModel=STF2017TurbulenceModel(rotorAvgModel=rotorAvgModel), superpositionModel=SquaredSum()) sim_res = wfm([0, 500], [0, 0], wd=270, ws=10) - npt.assert_almost_equal(sim_res.TI_eff_ilk[1, 0, 0], ref1) + npt.assert_almost_equal(ref1, sim_res.TI_eff_ilk[1, 0, 0]) plt.plot([-R, R], [sim_res.WS_eff_ilk[1, 0, 0]] * 2, label=name) if 0: diff --git a/py_wake/tests/test_utils/test_model_utils.py b/py_wake/tests/test_utils/test_model_utils.py index 77d3a62b0..541825763 100644 --- a/py_wake/tests/test_utils/test_model_utils.py +++ b/py_wake/tests/test_utils/test_model_utils.py @@ -3,13 +3,16 @@ from py_wake.deficit_models.fuga import FugaDeficit from py_wake.deficit_models.noj import NOJDeficit from py_wake.deficit_models.selfsimilarity import SelfSimilarityDeficit from py_wake.site.xrsite import XRSite -from py_wake.superposition_models import SuperpositionModel +from py_wake.superposition_models import SuperpositionModel, LinearSum from py_wake.turbulence_models.stf import STF2017TurbulenceModel -from py_wake.turbulence_models.turbulence_model import SqrMaxSum -from py_wake.utils.model_utils import cls_in, get_models, get_signature, get_model_input +from py_wake.superposition_models import SqrMaxSum +from py_wake.utils.model_utils import cls_in, get_models, get_signature, get_model_input, check_model from py_wake.deficit_models.gaussian import IEA37SimpleBastankhahGaussian from py_wake.examples.data.iea37._iea37 import IEA37Site, IEA37_WindTurbines from py_wake.tests import npt +import pytest +import re +from py_wake.ground_models.ground_models import GroundModel def test_get_models(): @@ -26,9 +29,9 @@ def test_get_signature(): k=0.1, use_effective_ws=False)""" assert (get_signature(STF2017TurbulenceModel) == - "STF2017TurbulenceModel(addedTurbulenceSuperpositionModel=LinearSum())") + "STF2017TurbulenceModel(addedTurbulenceSuperpositionModel=LinearSum(), weight_function=FrandsenWeight())") assert (get_signature(STF2017TurbulenceModel, {'addedTurbulenceSuperpositionModel': SqrMaxSum}) == - "STF2017TurbulenceModel(addedTurbulenceSuperpositionModel=SqrMaxSum())") + "STF2017TurbulenceModel(addedTurbulenceSuperpositionModel=SqrMaxSum(), weight_function=FrandsenWeight())") assert(get_signature(XRSite) == "XRSite(ds, initial_position=None, interp_method='linear', shear=None, distance=StraightDistance(), default_ws=[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], bounds='check')") @@ -43,3 +46,23 @@ def test_get_model_input(): npt.assert_array_almost_equal(args['yaw_ilk'], [[[0]]]) npt.assert_array_almost_equal(args['WS_ilk'], [[[10]]]) npt.assert_array_almost_equal(args['ct_ilk'], [[[8 / 9]]]) + + +def test_check_model(): + check_model(LinearSum(), SuperpositionModel) + + +@pytest.mark.parametrize('model,cls,arg_name,msg', [ + (LinearSum, SuperpositionModel, None, + r"\<class 'py_wake.superposition_models.LinearSum'\> must be a SuperpositionModel instance."), + (LinearSum, SuperpositionModel, None, "Did you forget the brackets: LinearSum()"), + (LinearSum, SuperpositionModel, 'my_arg', + r"Argument, my_arg, must be a SuperpositionModel instance."), + (GroundModel(), SuperpositionModel, None, + r"\<py_wake.ground_models.ground_models.GroundModel object at 0x.*\> must be a SuperpositionModel instance, but is a GroundModel instance"), + (GroundModel(), SuperpositionModel, 'my_arg', + r"Argument, my_arg, must be a SuperpositionModel instance, but is a GroundModel instance"), +]) +def test_check_model_wrong_model(model, cls, arg_name, msg): + with pytest.raises(ValueError, match=msg): + check_model(model, cls, arg_name) diff --git a/py_wake/tests/test_windturbines/test_windturbines.py b/py_wake/tests/test_windturbines/test_windturbines.py index 2a3ff9ee9..0aba0c4e5 100644 --- a/py_wake/tests/test_windturbines/test_windturbines.py +++ b/py_wake/tests/test_windturbines/test_windturbines.py @@ -12,11 +12,11 @@ from py_wake.examples.data.iea37._iea37 import IEA37_WindTurbines, IEA37WindTurb from py_wake.superposition_models import SquaredSum from py_wake.tests import npt from py_wake.utils import gradients -from py_wake.utils.gradients import use_autograd_in, autograd, plot_gradients, fd +from py_wake.utils.gradients import use_autograd_in, autograd, plot_gradients from py_wake.wind_farm_models.engineering_models import PropagateDownwind, All2AllIterative from py_wake.wind_turbines import WindTurbines, WindTurbine, OneTypeWindTurbines, wind_turbines_deprecated,\ power_ct_functions -from py_wake.wind_turbines.power_ct_functions import PowerCtTabular, CubePowerSimpleCt +from py_wake.wind_turbines.power_ct_functions import PowerCtTabular def get_wfms(wt, site=Hornsrev1Site(), wake_model=NOJDeficit(), superpositionModel=SquaredSum()): diff --git a/py_wake/turbulence_models/__init__.py b/py_wake/turbulence_models/__init__.py index 0b21b13ad..13837e8de 100644 --- a/py_wake/turbulence_models/__init__.py +++ b/py_wake/turbulence_models/__init__.py @@ -1,4 +1,4 @@ from .turbulence_model import TurbulenceModel -from .stf import STF2005TurbulenceModel, STF2017TurbulenceModel +from .stf import STF2005TurbulenceModel, STF2017TurbulenceModel, FrandsenWeight, IECWeight from .gcl_turb import GCLTurbulence from .crespo import CrespoHernandez diff --git a/py_wake/turbulence_models/crespo.py b/py_wake/turbulence_models/crespo.py index 02e50b3b5..e70659be3 100644 --- a/py_wake/turbulence_models/crespo.py +++ b/py_wake/turbulence_models/crespo.py @@ -1,7 +1,8 @@ from numpy import newaxis as na import numpy as np -from py_wake.turbulence_models.turbulence_model import TurbulenceModel, SqrMaxSum +from py_wake.turbulence_models.turbulence_model import TurbulenceModel from py_wake.utils.area_overlapping_factor import AreaOverlappingFactor +from py_wake.superposition_models import SqrMaxSum class CrespoHernandez(TurbulenceModel, AreaOverlappingFactor): diff --git a/py_wake/turbulence_models/gcl_turb.py b/py_wake/turbulence_models/gcl_turb.py index b7fc558bb..fa05b05b0 100644 --- a/py_wake/turbulence_models/gcl_turb.py +++ b/py_wake/turbulence_models/gcl_turb.py @@ -1,7 +1,8 @@ from numpy import newaxis as na import numpy as np -from py_wake.turbulence_models.turbulence_model import TurbulenceModel, SqrMaxSum +from py_wake.turbulence_models.turbulence_model import TurbulenceModel from py_wake.utils.area_overlapping_factor import AreaOverlappingFactor +from py_wake.superposition_models import SqrMaxSum class GCLTurbulence(TurbulenceModel, AreaOverlappingFactor): diff --git a/py_wake/turbulence_models/stf.py b/py_wake/turbulence_models/stf.py index 23f5329d4..15b99fc06 100644 --- a/py_wake/turbulence_models/stf.py +++ b/py_wake/turbulence_models/stf.py @@ -1,36 +1,76 @@ from numpy import newaxis as na import numpy as np -from py_wake.turbulence_models.turbulence_model import TurbulenceModel, LinearSum +from py_wake.turbulence_models.turbulence_model import TurbulenceModel +from py_wake.superposition_models import LinearSum -class STF2017TurbulenceModel(TurbulenceModel): - """Steen Frandsen model implemented according to IEC61400-1, 2017""" +class FrandsenWeight(): + """compute and apply a bell-shaped weight according to S. T. Frandsen's thesis + https://orbit.dtu.dk/en/publications/turbulence-and-turbulence-generated-structural-loading-in-wind-tu - args4addturb = ['dw_ijlk', 'cw_ijlk', 'D_src_il', 'ct_ilk', 'TI_ilk'] - - def __init__(self, addedTurbulenceSuperpositionModel=LinearSum(), - **kwargs): - TurbulenceModel.__init__(self, addedTurbulenceSuperpositionModel, **kwargs) + The weight is given by the exponential term in Eq 3.16 and accounts + for the lateral offset between the wake and the affected turbine. + """ - def weight(self, dw_ijlk, cw_ijlk, D_src_il): - # The weight is given by the exponential term in Eq 3.16 and accounts - # for the lateral offset between the wake and the affected turbine. + def apply_weight(self, dw_ijlk, cw_ijlk, D_src_il, TI_ilk, TI_add_ijlk): s_ijlk = dw_ijlk / D_src_il[:, na, :, na] with np.warnings.catch_warnings(): np.warnings.filterwarnings('ignore', r'divide by zero encountered in true_divide') - # Theta_w is the characteristic view angle defined in Eq. (3.18) of - # ST Frandsen's thesis + # Theta_w is the characteristic view angle defined in Eq. (3.18) theta_w = (180.0 / np.pi * np.arctan2(1, s_ijlk) + 10) / 2 # thetq denotes the acutally view angles theta = np.arctan2(cw_ijlk, dw_ijlk) * 180.0 / np.pi - - # weights_jl = np.where(theta < 3 * theta_w, np.exp(-(theta / theta_w)**2), 0) weights_ijlk = np.where(theta < theta_w, np.exp(-(theta / theta_w)**2), 0) * (dw_ijlk > 1e-10) - return weights_ijlk - def calc_added_turbulence(self, dw_ijlk, cw_ijlk, D_src_il, ct_ilk, TI_ilk, **_): + # In Frandsens thesis, the weight is multiplied to I0 * alpha: + # eq 3.16: I = I0 + I0 * alpha * weight + # I0 is added in the LinearSum TurbulenceSuperpositionModel + # so we need to multiply the weight to I0 * alpha + # 3.17: I0 * alpha = sqrt(Iadd^2 + I0^2) - I0 + return weights_ijlk * (np.sqrt(TI_add_ijlk**2 + TI_ilk[:, na]**2) - TI_ilk[:, na]) + + +class IECWeight(): + def __init__(self, distance_limit=10): + self.dist_limit = distance_limit + + def apply_weight(self, dw_ijlk, cw_ijlk, D_src_il, TI_add_ijlk, **_): + # In IEC 61400-1, 2005 Annex D and IEC 61400-1, 2017 Annex E the effective + # turbulence intensity formula contains the term p_w * sigma_hat_T, + # where p_w is 6% and sigma_hat_T is representative value of the maximum center-wake, + # hub-height turbulence standard deviation. + # This term is added to the representative ambient turbulence standard deviation + # taking into account the wohler exponent of the considered material. + # Note that this is a load-representative turbulence estimate. + # Based on this formula, we assume that the increased turbulence level should + # be added in a downwind angle of 360deg*6% = 21.6deg + + angleSpread = 21.6 / 2 # half angle + r = np.tan(angleSpread * np.pi / 180.0) * dw_ijlk + weights_ijlk = ((np.abs(cw_ijlk) < np.abs(r)) & (dw_ijlk > -1e-10) & + (np.sqrt(dw_ijlk**2 + cw_ijlk**2) < (self.dist_limit * D_src_il)[:, na, :, na])) + return TI_add_ijlk * weights_ijlk + + +class STF2017TurbulenceModel(TurbulenceModel): + """Steen Frandsen model implemented according to IEC61400-1, 2017""" + + args4addturb = ['dw_ijlk', 'cw_ijlk', 'D_src_il', 'ct_ilk', 'TI_ilk'] + + def __init__(self, addedTurbulenceSuperpositionModel=LinearSum(), + weight_function=FrandsenWeight(), **kwargs): + TurbulenceModel.__init__(self, addedTurbulenceSuperpositionModel, **kwargs) + self.apply_weight = weight_function.apply_weight + + def max_centre_wake_turbulence(self, dw_ijlk, cw_ijlk, D_src_il, ct_ilk, **_): + dist_ijlk = np.sqrt(dw_ijlk**2 + cw_ijlk**2) / D_src_il[:, na, :, na] + # In the standard (see page 103), the maximal added TI is calculated as + # TI_add = 1/(1.5 + 0.8*d/sqrt(Ct)) + return 1 / (1.5 + 0.8 * dist_ijlk / np.sqrt(ct_ilk)[:, na]) + + def calc_added_turbulence(self, dw_ijlk, cw_ijlk, D_src_il, TI_ilk, **kwargs): """ Calculate the added turbulence intensity at locations specified by downstream distances (dw_jl) and crosswind distances (cw_jl) caused by the wake of a turbine (diameter: D_src_l, thrust coefficient: Ct_lk). @@ -40,27 +80,15 @@ class STF2017TurbulenceModel(TurbulenceModel): TI_eff_ijlk: array:float Effective turbulence intensity [-] """ - # The turbulence model assumes a bell-shaped turbulence profile, it - # provides a maximum added TI (ie at the peak of the bell) and then - # weights to account for the lateral offset between the source and - # wake target to arrive at an effective TI.. # In the standard (see page 103), the maximal added TI is calculated as # TI_add = 1/(1.5 + 0.8*d/sqrt(Ct)) with np.warnings.catch_warnings(): np.warnings.filterwarnings('ignore', r'divide by zero encountered in true_divide') np.warnings.filterwarnings('ignore', r'invalid value encountered in true_divide') - TI_add_ijlk = 1 / (1.5 + 0.8 * (dw_ijlk / D_src_il[:, na, :, na]) / np.sqrt(ct_ilk)[:, na]) + TI_add_ijlk = self.max_centre_wake_turbulence(dw_ijlk=dw_ijlk, cw_ijlk=cw_ijlk, D_src_il=D_src_il, **kwargs) TI_add_ijlk[np.isnan(TI_add_ijlk)] = 0 - # compute the weight considering a bell-shaped - weights_ijlk = self.weight(dw_ijlk, cw_ijlk, D_src_il) - # the way effective added TI is calculated is derived from Eqs. (3.16-18) - # in ST Frandsen's thesis. This is the effective TI and should not be - # mistaken with the added turbulence. The term is the bracket is defined - # as alpha by Frandsen. - TI_add_ijlk = weights_ijlk * (np.hypot(TI_add_ijlk, TI_ilk[:, na]) - TI_ilk[:, na]) - - return TI_add_ijlk + return self.apply_weight(dw_ijlk, cw_ijlk, D_src_il, TI_ilk=TI_ilk, TI_add_ijlk=TI_add_ijlk) class STF2005TurbulenceModel(STF2017TurbulenceModel): @@ -68,28 +96,10 @@ class STF2005TurbulenceModel(STF2017TurbulenceModel): args4addturb = ['dw_ijlk', 'cw_ijlk', 'D_src_il', 'WS_ilk', 'TI_ilk'] - def calc_added_turbulence(self, dw_ijlk, cw_ijlk, D_src_il, WS_ilk, TI_ilk, **_): - """ Calculate the added turbulence intensity at locations specified by - downstream distances (dw_jl) and crosswind distances (cw_jl) - caused by the wake of a turbine (diameter: D_src_l, thrust coefficient: Ct_lk). - - Returns - ------- - TI_eff_jlk: array:float - Effective turbulence intensity [-] - """ - - # In the standard (see page 74), the maximal added TI is calculated as + def max_centre_wake_turbulence(self, WS_ilk, dw_ijlk, D_src_il, **_): + # In the standard (see page 73), the maximal added TI is calculated as # TI_add = 0.9/(1.5 + 0.3*d*sqrt(V_hub/c)) - - TI_maxadd_ijlk = 0.9 / (1.5 + 0.3 * (dw_ijlk / D_src_il[:, na, :, na]) * np.sqrt(WS_ilk)[:, na]) - - weights_ijlk = self.weight(dw_ijlk, cw_ijlk, D_src_il) - - # the way effective added TI is calculated is derived from Eqs. (3.16-18) - # in ST Frandsen's thesis - TI_add_ijlk = weights_ijlk * (np.hypot(TI_maxadd_ijlk, TI_ilk[:, na]) - TI_ilk[:, na]) - return TI_add_ijlk + return 0.9 / (1.5 + 0.3 * (dw_ijlk / D_src_il[:, na, :, na]) * np.sqrt(WS_ilk)[:, na]) def main(): diff --git a/py_wake/turbulence_models/turbulence_model.py b/py_wake/turbulence_models/turbulence_model.py index 7c39f8f4f..510fa9e55 100644 --- a/py_wake/turbulence_models/turbulence_model.py +++ b/py_wake/turbulence_models/turbulence_model.py @@ -1,11 +1,15 @@ -import numpy as np from abc import abstractmethod +from py_wake.superposition_models import AddedTurbulenceSuperpositionModel, LinearSum, SqrMaxSum, MaxSum +from py_wake.utils.model_utils import check_model class TurbulenceModel(): def __init__(self, addedTurbulenceSuperpositionModel, rotorAvgModel=None): - assert isinstance(addedTurbulenceSuperpositionModel, AddedTurbulenceSuperpositionModel) + check_model( + addedTurbulenceSuperpositionModel, + AddedTurbulenceSuperpositionModel, + 'addedTurbulenceSuperpositionModel') self.addedTurbulenceSuperpositionModel = addedTurbulenceSuperpositionModel self.rotorAvgModel = rotorAvgModel @@ -30,35 +34,8 @@ class TurbulenceModel(): return self.addedTurbulenceSuperpositionModel.calc_effective_TI(TI_xxx, add_turb_jxxx) -class AddedTurbulenceSuperpositionModel(): - @abstractmethod - def calc_effective_TI(self, TI_xxx, add_turb_jxxx): - """Calculate effective turbulence intensity - - Parameters - ---------- - TI_xxx : array_like - Local turbulence intensity. xxx optionally includes destination turbine/site, wind directions, wind speeds - add_turb_jxxx : array_like - added turbulence caused by source turbines(j) on xxx (see above) - - Returns - ------- - TI_eff_xxx : array_like - Effective turbulence intensity xxx (see TI_xxx) - """ - - -class LinearSum(AddedTurbulenceSuperpositionModel): - def calc_effective_TI(self, TI_xxx, add_turb_jxxx): - return TI_xxx + np.sum(add_turb_jxxx, 0) - - -class MaxSum(AddedTurbulenceSuperpositionModel): - def calc_effective_TI(self, TI_xxx, add_turb_jxxx): - return TI_xxx + np.max(add_turb_jxxx, 0) - - -class SqrMaxSum(AddedTurbulenceSuperpositionModel): - def calc_effective_TI(self, TI_xxx, add_turb_jxxx): - return np.sqrt(TI_xxx**2 + np.max(add_turb_jxxx, 0)**2) +# Aliases for backward compatibility. Use +# from py_wake.super_position_models import LinearSum, SqrMaxSum, MaxSum +LinearSum = LinearSum +SqrMaxSum = SqrMaxSum +MaxSum = MaxSum diff --git a/py_wake/utils/model_utils.py b/py_wake/utils/model_utils.py index 97a6bc595..c1ea46c54 100644 --- a/py_wake/utils/model_utils.py +++ b/py_wake/utils/model_utils.py @@ -1,36 +1,37 @@ import inspect import os import pkgutil - -from py_wake.deficit_models.deficit_model import DeficitModel, ConvectionDeficitModel, WakeDeficitModel,\ - BlockageDeficitModel -from py_wake.rotor_avg_models.rotor_avg_model import RotorAvgModel, RotorCenter -from py_wake.wind_farm_models.wind_farm_model import WindFarmModel -from py_wake.wind_farm_models.engineering_models import EngineeringWindFarmModel, PropagateDownwind import py_wake from pathlib import Path -from py_wake.superposition_models import SuperpositionModel, LinearSum -from py_wake.deflection_models.deflection_model import DeflectionModel -from py_wake.turbulence_models.turbulence_model import TurbulenceModel -from py_wake.ground_models import GroundModel -from py_wake.deficit_models.noj import NOJDeficit -from py_wake.ground_models.ground_models import NoGround import numpy as np from numpy import newaxis as na -exclude_dict = { - WindFarmModel: ([EngineeringWindFarmModel], [], PropagateDownwind), - DeficitModel: ([ConvectionDeficitModel, BlockageDeficitModel, WakeDeficitModel], [RotorAvgModel], NOJDeficit), - WakeDeficitModel: ([ConvectionDeficitModel], [RotorAvgModel], NOJDeficit), - RotorAvgModel: ([], [], RotorCenter), - SuperpositionModel: ([], [], LinearSum), - BlockageDeficitModel: ([], [], None), - DeflectionModel: ([], [], None), - TurbulenceModel: ([], [], None), - GroundModel: ([], [], NoGround) -} -model_type_lst = list(exclude_dict.keys()) +def get_exclude_dict(): + from py_wake.deficit_models.deficit_model import DeficitModel, ConvectionDeficitModel, WakeDeficitModel,\ + BlockageDeficitModel + from py_wake.rotor_avg_models.rotor_avg_model import RotorAvgModel, RotorCenter + from py_wake.wind_farm_models.wind_farm_model import WindFarmModel + from py_wake.wind_farm_models.engineering_models import EngineeringWindFarmModel, PropagateDownwind + + from py_wake.superposition_models import SuperpositionModel, LinearSum + from py_wake.deflection_models.deflection_model import DeflectionModel + from py_wake.turbulence_models.turbulence_model import TurbulenceModel + from py_wake.ground_models import GroundModel + from py_wake.deficit_models.noj import NOJDeficit + from py_wake.ground_models.ground_models import NoGround + return { + WindFarmModel: ([EngineeringWindFarmModel], [], PropagateDownwind), + DeficitModel: ([ConvectionDeficitModel, BlockageDeficitModel, WakeDeficitModel], [RotorAvgModel], NOJDeficit), + WakeDeficitModel: ([ConvectionDeficitModel], [RotorAvgModel], NOJDeficit), + RotorAvgModel: ([], [], RotorCenter), + SuperpositionModel: ([], [], LinearSum), + BlockageDeficitModel: ([], [], None), + DeflectionModel: ([], [], None), + TurbulenceModel: ([], [], None), + GroundModel: ([], [], NoGround) + + } def cls_name(cls): @@ -53,7 +54,7 @@ def cls_in(A, cls_lst): def get_models(base_class): - exclude_cls_lst, exclude_subcls_lst, default = exclude_dict[base_class] + exclude_cls_lst, exclude_subcls_lst, default = get_exclude_dict()[base_class] model_lst = [] for loader, module_name, _ in pkgutil.walk_packages([os.path.dirname(inspect.getabsfile(base_class))]): @@ -76,7 +77,7 @@ def get_models(base_class): def list_models(): - for model_type in model_type_lst: + for model_type in list(get_exclude_dict().keys()): print("%s (from %s import *)" % (model_type.__name__, ".".join(model_type.__module__.split(".")[:2]))) for model in get_models(model_type): if model is not None: @@ -130,6 +131,22 @@ def get_model_input(wfm, x, y, ws=10, wd=270, yaw_ilk=[[[0]]]): return args +def check_model(model, cls, arg_name=None, accept_None=True): + if not isinstance(model, cls): + if model is None and accept_None: + return + + if arg_name is not None: + s = f'Argument, {arg_name}, ' + else: + s = f'{model} ' + s += f'must be a {cls.__name__} instance' + if inspect.isclass(model) and issubclass(model, cls): + raise ValueError(s + f'. Did you forget the brackets: {model.__name__}()') + + raise ValueError(s + f', but is a {model.__class__.__name__} instance') + + def main(): if __name__ == '__main__': list_models() diff --git a/py_wake/wind_farm_models/engineering_models.py b/py_wake/wind_farm_models/engineering_models.py index 66bad4f2d..dc51370e2 100644 --- a/py_wake/wind_farm_models/engineering_models.py +++ b/py_wake/wind_farm_models/engineering_models.py @@ -8,9 +8,11 @@ from py_wake.deflection_models.deflection_model import DeflectionModel from py_wake.utils.gradients import use_autograd_in, autograd from py_wake.rotor_avg_models.rotor_avg_model import RotorCenter, RotorAvgModel from py_wake.turbulence_models.turbulence_model import TurbulenceModel -from py_wake.deficit_models.deficit_model import ConvectionDeficitModel +from py_wake.deficit_models.deficit_model import ConvectionDeficitModel, BlockageDeficitModel, WakeDeficitModel from py_wake.ground_models.ground_models import NoGround, GroundModel from tqdm import tqdm +from py_wake.wind_turbines._wind_turbines import WindTurbine, WindTurbines +from py_wake.utils.model_utils import check_model class EngineeringWindFarmModel(WindFarmModel): @@ -42,21 +44,20 @@ class EngineeringWindFarmModel(WindFarmModel): """ default_grid_resolution = 500 - def __init__(self, site, windTurbines, wake_deficitModel, rotorAvgModel, superpositionModel, + def __init__(self, site, windTurbines: WindTurbines, wake_deficitModel, rotorAvgModel, superpositionModel, blockage_deficitModel=None, deflectionModel=None, turbulenceModel=None, groundModel=None): WindFarmModel.__init__(self, site, windTurbines) - - assert isinstance(wake_deficitModel, DeficitModel) - assert isinstance(rotorAvgModel, RotorAvgModel) - assert isinstance(superpositionModel, SuperpositionModel) - assert blockage_deficitModel is None or isinstance(blockage_deficitModel, DeficitModel) - assert deflectionModel is None or isinstance(deflectionModel, DeflectionModel) - assert turbulenceModel is None or isinstance(turbulenceModel, TurbulenceModel) + check_model(wake_deficitModel, WakeDeficitModel, 'wake_deficitModel') + check_model(rotorAvgModel, RotorAvgModel, 'rotorAvgModel') + check_model(superpositionModel, SuperpositionModel, 'superpositionModel') + check_model(blockage_deficitModel, BlockageDeficitModel, 'blockage_deficitModel') + check_model(deflectionModel, DeflectionModel, 'deflectionModel') + check_model(turbulenceModel, TurbulenceModel, 'turbulenceModel') if groundModel is None: groundModel = NoGround() - assert isinstance(groundModel, GroundModel) + check_model(groundModel, GroundModel, 'groundModel') if isinstance(superpositionModel, WeightedSum): assert isinstance(wake_deficitModel, ConvectionDeficitModel) assert rotorAvgModel.__class__ is RotorCenter, "Multiple rotor average points not implemented for WeightedSum" diff --git a/py_wake/wind_farm_models/wind_farm_model.py b/py_wake/wind_farm_models/wind_farm_model.py index 42391787e..01f0ac5cc 100644 --- a/py_wake/wind_farm_models/wind_farm_model.py +++ b/py_wake/wind_farm_models/wind_farm_model.py @@ -6,6 +6,7 @@ from py_wake.flow_map import FlowMap, HorizontalGrid, FlowBox, YZGrid, Grid, Poi import xarray as xr from py_wake.utils import xarray_utils, weibull # register ilk function @UnusedImport from numpy import newaxis as na +from py_wake.utils.model_utils import check_model class WindFarmModel(ABC): @@ -13,8 +14,8 @@ class WindFarmModel(ABC): verbose = True def __init__(self, site, windTurbines): - assert isinstance(site, Site) - assert isinstance(windTurbines, WindTurbines) + check_model(site, Site, 'site') + check_model(windTurbines, WindTurbines, 'windTurbines') self.site = site self.windTurbines = windTurbines -- GitLab