Skip to content

Instantly share code, notes, and snippets.

@bergie
Last active December 8, 2022 21:16
Show Gist options
  • Save bergie/aa9077cfa230287ce00afea0e8c0e01d to your computer and use it in GitHub Desktop.
Save bergie/aa9077cfa230287ce00afea0e8c0e01d to your computer and use it in GitHub Desktop.
Lille Oe Polars
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "cbaddb8b",
"metadata": {},
"source": [
"# Polars for Amigo 40\n",
"\n",
"There are no [polar diagrams](https://en.wikipedia.org/wiki/Polar_diagram_(sailing\\)) available for the Amigo 40. Until now we've been doing weather routing with slightly modified OE 32 polars. Since we have a full time series for the [2022 cruise](https://meri-imperiumi.github.io/log/2022/), we can try to produce our own polars from that."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "31416130",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"from influxdb import DataFrameClient\n",
"import pandas as pd\n",
"import numpy as np\n",
"from datetime import datetime, timedelta"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "34f4b959",
"metadata": {},
"outputs": [],
"source": [
"client = DataFrameClient(host='192.168.1.105', port=8086, database='lille-oe')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "7167e076",
"metadata": {},
"outputs": [],
"source": [
"start_date = '2022-04-14T06:00:00Z'\n",
"end_date = '2022-09-16T18:00:00Z'\n",
"date_window='1m'\n",
"angles = [40, 52, 60, 75, 90, 110, 120, 135, 150, 160, 170, 178]\n",
"speeds = [6, 8, 10, 12, 14, 16, 20]\n",
"rate_limit = 0.003"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ee5e7caa",
"metadata": {},
"outputs": [],
"source": [
"wind_speed_query = \"\"\"select mean(value) as \"ms\"\n",
" from \"environment.wind.speedTrue\"\n",
" where time >= '{start}' and time <= '{end}'\n",
" group by time({window})\"\"\".format(start=start_date, end=end_date, window=date_window)\n",
"wind_speed = client.query(query=wind_speed_query)['environment.wind.speedTrue']"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "668ffaeb",
"metadata": {},
"outputs": [],
"source": [
"wind_angle_query = \"\"\"select mean(value) as \"radians\"\n",
" from \"environment.wind.angleTrueGround\"\n",
" where time >= '{start}' and time <= '{end}'\n",
" group by time({window})\"\"\".format(start=start_date, end=end_date, window=date_window)\n",
"wind_angle = client.query(query=wind_angle_query)['environment.wind.angleTrueGround']"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "3dd835e4",
"metadata": {},
"outputs": [],
"source": [
"turn_query = \"\"\"select mean(value) as \"rate\"\n",
" from \"navigation.rateOfTurn\"\n",
" where time >= '{start}' and time <= '{end}'\n",
" group by time({window})\"\"\".format(start=start_date, end=end_date, window=date_window)\n",
"turn = client.query(query=turn_query)['navigation.rateOfTurn']"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c50c7173",
"metadata": {},
"outputs": [],
"source": [
"state_query = \"\"\"select first(stringValue) as \"state\"\n",
" from \"navigation.state\"\n",
" where time >= '{start}' and time <= '{end}'\n",
" group by time({window})\"\"\".format(start=start_date, end=end_date, window=date_window)\n",
"vessel_state = client.query(query=state_query)['navigation.state']"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "1fce981d",
"metadata": {},
"outputs": [],
"source": [
"wind_angle['degrees'] = wind_angle['radians'].apply(lambda x: x * 180 / np.pi)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "023f58b7",
"metadata": {},
"outputs": [],
"source": [
"wind_speed['knots'] = wind_speed['ms'].apply(lambda x: x*1.943844)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "1416d54e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ms</th>\n",
" <th>knots</th>\n",
" <th>radians</th>\n",
" <th>degrees</th>\n",
" <th>rate</th>\n",
" <th>state</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2022-04-24 14:16:00+00:00</th>\n",
" <td>10.456667</td>\n",
" <td>20.326129</td>\n",
" <td>1.626017</td>\n",
" <td>93.163892</td>\n",
" <td>0.001411</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-24 14:17:00+00:00</th>\n",
" <td>9.718889</td>\n",
" <td>18.892004</td>\n",
" <td>1.468933</td>\n",
" <td>84.163680</td>\n",
" <td>0.002160</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-24 14:18:00+00:00</th>\n",
" <td>10.884444</td>\n",
" <td>21.157662</td>\n",
" <td>1.553283</td>\n",
" <td>88.996579</td>\n",
" <td>0.001123</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-24 14:19:00+00:00</th>\n",
" <td>11.672222</td>\n",
" <td>22.688979</td>\n",
" <td>1.652200</td>\n",
" <td>94.664087</td>\n",
" <td>-0.002998</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-24 14:20:00+00:00</th>\n",
" <td>12.748889</td>\n",
" <td>24.781851</td>\n",
" <td>1.556200</td>\n",
" <td>89.163692</td>\n",
" <td>0.000683</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 15:45:00+00:00</th>\n",
" <td>2.593333</td>\n",
" <td>5.041035</td>\n",
" <td>-1.556319</td>\n",
" <td>-89.170490</td>\n",
" <td>0.000087</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 15:46:00+00:00</th>\n",
" <td>2.232500</td>\n",
" <td>4.339632</td>\n",
" <td>-1.262502</td>\n",
" <td>-72.336035</td>\n",
" <td>0.000008</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 15:47:00+00:00</th>\n",
" <td>1.331429</td>\n",
" <td>2.588089</td>\n",
" <td>-1.631952</td>\n",
" <td>-93.503960</td>\n",
" <td>0.000097</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 15:48:00+00:00</th>\n",
" <td>0.895000</td>\n",
" <td>1.739740</td>\n",
" <td>-1.562119</td>\n",
" <td>-89.502805</td>\n",
" <td>0.000390</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 15:49:00+00:00</th>\n",
" <td>1.478571</td>\n",
" <td>2.874112</td>\n",
" <td>-1.390502</td>\n",
" <td>-79.669895</td>\n",
" <td>0.000605</td>\n",
" <td>sailing</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>14562 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" ms knots radians degrees \\\n",
"2022-04-24 14:16:00+00:00 10.456667 20.326129 1.626017 93.163892 \n",
"2022-04-24 14:17:00+00:00 9.718889 18.892004 1.468933 84.163680 \n",
"2022-04-24 14:18:00+00:00 10.884444 21.157662 1.553283 88.996579 \n",
"2022-04-24 14:19:00+00:00 11.672222 22.688979 1.652200 94.664087 \n",
"2022-04-24 14:20:00+00:00 12.748889 24.781851 1.556200 89.163692 \n",
"... ... ... ... ... \n",
"2022-09-13 15:45:00+00:00 2.593333 5.041035 -1.556319 -89.170490 \n",
"2022-09-13 15:46:00+00:00 2.232500 4.339632 -1.262502 -72.336035 \n",
"2022-09-13 15:47:00+00:00 1.331429 2.588089 -1.631952 -93.503960 \n",
"2022-09-13 15:48:00+00:00 0.895000 1.739740 -1.562119 -89.502805 \n",
"2022-09-13 15:49:00+00:00 1.478571 2.874112 -1.390502 -79.669895 \n",
"\n",
" rate state \n",
"2022-04-24 14:16:00+00:00 0.001411 sailing \n",
"2022-04-24 14:17:00+00:00 0.002160 sailing \n",
"2022-04-24 14:18:00+00:00 0.001123 sailing \n",
"2022-04-24 14:19:00+00:00 -0.002998 sailing \n",
"2022-04-24 14:20:00+00:00 0.000683 sailing \n",
"... ... ... \n",
"2022-09-13 15:45:00+00:00 0.000087 sailing \n",
"2022-09-13 15:46:00+00:00 0.000008 sailing \n",
"2022-09-13 15:47:00+00:00 0.000097 sailing \n",
"2022-09-13 15:48:00+00:00 0.000390 sailing \n",
"2022-09-13 15:49:00+00:00 0.000605 sailing \n",
"\n",
"[14562 rows x 6 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wind = wind_speed.join(wind_angle).join(turn).join(vessel_state)\n",
"wind.loc[:,['state']] = wind.loc[:,'state'].ffill()\n",
"wind.query('state == \"sailing\" and knots > 0 and rate < {rate} and rate > -{rate}'.format(rate=rate_limit))"
]
},
{
"cell_type": "markdown",
"id": "482d3060",
"metadata": {},
"source": [
"How much data are we discarding?"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "60d07f44",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Full dataset consists of 3732h, of which 463h is sailing, and 243h is actually used for the evaluation.\n"
]
}
],
"source": [
"full_dataset = len(wind)\n",
"sailing_dataset = len(wind.query('state == \"sailing\" and knots > 0'))\n",
"sailing_no_turning_dataset = len(wind.query('state == \"sailing\" and knots > 0 and rate < {rate} and rate > -{rate}'.format(rate=rate_limit)))\n",
"print('Full dataset consists of {full}h, of which {sailing}h is sailing, and {no_turning}h is actually used for the evaluation.'.format(full=round(full_dataset/60), sailing=round(sailing_dataset/60), no_turning=round(sailing_no_turning_dataset/60)))"
]
},
{
"cell_type": "markdown",
"id": "3337e845",
"metadata": {},
"source": [
"See the split of our sailing wind speeds:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "08fdf794",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:ylabel='Frequency'>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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xowZkiSXy6XZs2dr0aJFevfdd3Xo0CE9+OCDyszM1JgxY0JWKwAA6L6CmkNUVlam9957T7GxsQHt/fv315dffhmSwiTptttu086dO7Vs2TI9/fTTSktL0/r16/XAAw/YfRYvXqyGhgbNmzfPfjDj7t27lZCQYPdZt26doqOjNW3aNPvBjMXFxYqKigpZrQAAoPsK6jlESUlJKisr06BBg5SQkKAjR47ouuuuU1lZmX7605/qq6++6oxaw4rnEHUunkOErsBziADzdOpziMaOHav169fb6w6HQ/X19Xrqqae65HUeAAAAoRTUJbN169bp7rvv1qBBg/T9999rxowZ+vjjj5WcnKzt27eHukYAAIBOFVQg8nq9Onz4sLZv3673339fLS0tmj17th544IGASdYAAADdQVCBSJLi4uL06KOP6tFHHw1lPQAAAF0uqEB0/tUZF/P/nyINAAAQ6YIKRAsXLgxYP3PmjL777jvFxsYqPj6eQAQAALqVoO4yq62tDVjq6+t17NgxjRgxgknVAACg2wn6XWYXSk9P18qVK1uNHgEAAES6kAUiSYqKitKpU6dC+ZUAAACdLqg5RK+//nrAumVZqqqqUlFRke64446QFAYAANBVggpE9913X8C6w+FQ79699eMf/1hr164NRV0AAABdJqhA1NLSEuo6AAAAwiakc4gAAAC6o6BGiHJzc9vdt7CwMJg/AQAA0GWCCkSHDh3S+++/r7Nnz+qHP/yhJOmjjz5SVFSUbr31Vrufw+EITZUAAACdKKhANGnSJCUkJGjLli3q2bOnpHMPa3zkkUd05513atGiRSEtEgAAoDM5LMuyrnSjv/qrv9Lu3bs1ePDggPaKigplZ2dflc8i8vv9crlc8vl8SkxMDHc5EW3A0jfCXQLQps9XTgh3CQC6WHt/v4OaVO33+/XVV1+1aq+pqVFdXV0wXwkAABA2QV0ymzJlih555BGtXbtWt99+uyRp//79+sUvfqGpU6eGtEAACJVgRi8ZVQLMEFQgeu6555SXl6cHH3xQZ86cOfdF0dGaPXu21qxZE9ICAQAAOltQgSg+Pl7PPvus1qxZo08//VSWZemGG25Qjx49Ql0fAABAp+vQgxmrqqpUVVWlgQMHqkePHgpifjYAAEDYBRWIvv32W40ePVoDBw7U+PHjVVVVJUn62c9+xi33AACg2wkq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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"wind.query('state == \"sailing\" and knots > 0 and rate < {rate} and rate > -{rate}'.format(rate=rate_limit))['knots'].plot(kind = 'hist', bins=35)"
]
},
{
"cell_type": "markdown",
"id": "d3f36a97",
"metadata": {},
"source": [
"Let's check how the sailing winds have been port vs starboard."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "1564074b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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v3664oorlJ+fr6eeekrz58/3q4mJifF7b/5vUfGJ21tbqMd+sv6NMX7bI2XsJwrku3j00Uc1YMAA/fCHP9RDDz2kJUuWaOnSpfr222+dz2vJdxGtTvZr2B7G9Y9uvvlm/fjHP1avXr00ePBg/c///I8kacWKFU6NDd/DPwpmvO3hO7nrrrs0fPhw5eTk6NZbb9Xbb7+tL7/80vk9cSrtYexnwgxROzNp0iTdfffdp605cVYjEFdffbWqq6v1zTffKC0tTW63u9m/Go5Pv574L7DWFsqxu91u/fnPf/bbVlVVpSNHjjjjiqSxn+hsvovjV5x89dVX6tq1a4u+i2iUmpqqDh06nPTXMJrH1RIdO3ZUr169tHv3bt1+++2Sjs2KdO/e3alpr9/D8avrTjdet9uthoYGVVVV+c2UVFZWqn///m3bcCvr3r27evbsqd27d0uya+wnYoaonUlNTdXFF1982ldiYmLQn19SUqLExETnUvV+/frpgw8+8Ftzsm7dOqWnp59V8ApGKMfer18/7dixQ+Xl5c62devWKSEhQbm5uU5NpIz9RGfzXZSUlEiS88OiJd9FNIqPj1dubq7Wr1/vt339+vXt/i/++vp67dq1S927d1dmZqbcbrff99DQ0KBNmza1y++hJePNzc1VXFycX015ebl27NjR7r6Tb7/9Vnv37nX+vNs09mbCtpwbYVdWVmZKSkrMk08+ab73ve+ZkpISU1JSYmpqaowxxrz55pvmlVdeMdu3bzdfffWVefXVV02nTp3MlClTnM/47rvvTFpamrnnnnvM9u3bzZo1a0ynTp3MCy+8EK5htciZxn706FGTk5NjBg0aZLZt22Y2bNhgzjvvPDNp0iTnM6J17P9oy5YtpqCgwJSUlJivv/7avPHGGyY9Pd2MHDnSqWnJdxGtioqKTFxcnFm6dKn54osvTF5enunYsaP561//Gu7WQio/P9+8//775uuvvzYfffSRGTFihElJSXHG+dxzzxmXy2XWrFljtm/fbu655x7TvXt3U11dHebOg1NTU+P8mZbk/B4vKyszxrRsvA8//LA577zzzIYNG8y2bdvMjTfeaC6//HJz9OjRcA2rRU439pqaGpOfn2+2bNli9uzZYzZu3Gj69etnfvCDH7SLsZ8tApHFxo0bZyQ1e23cuNEYY8zbb79trrjiCvO9733PJCcnm5ycHLNw4UJz5MgRv8/5/PPPzXXXXWcSEhKM2+02s2fPjvjLzs80dmOOhabhw4ebpKQk06VLFzNp0iS/S+yNic6x/6Pi4mLTt29f43K5TGJiosnOzjZPPPGEOXjwoF9dS76LaPWrX/3K9OzZ08THx5vevXubTZs2hbulkLvrrrtM9+7dTVxcnElPTzejRo0yO3fudPY3NTWZJ554wrjdbpOQkGCuv/56s3379jB2fHY2btx40j/f48aNM8a0bLyHDx82kyZNMl26dDFJSUlmxIgRxuPxhGE0gTnd2A8dOmSGDh1qvv/975u4uDjTo0cPM27cuGbjitaxn60YY6LstroAAAAhxhoiAABgPQIRAACwHoEIAABYj0AEAACsRyACAADWIxABAADrEYgAAID1CEQAAMB6BCIAAGA9AhEAALAegQgAAFiPQAQAAKz3/wF2DbdhGipCOQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = wind.query('state == \"sailing\" and rate < {rate} and rate > -{rate}'.format(rate=rate_limit))['degrees'].plot(kind = 'hist', bins=36)\n",
"for rect in ax.patches:\n",
" if rect.get_x() >= -0.4:\n",
" rect.set_color('green')\n",
" else:\n",
" rect.set_color('red')"
]
},
{
"cell_type": "markdown",
"id": "818aadff",
"metadata": {},
"source": [
"We also want to know the vessel speed. Optimally we'd use speed over water here, but since we don't have that instrumented SOG shall suffice."
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "88b0848d",
"metadata": {},
"outputs": [],
"source": [
"speed_query = \"\"\"select mean(value) as \"ms\"\n",
" from \"navigation.speedOverGround\"\n",
" where time >= '{start}' and time <= '{end}'\n",
" group by time({window})\"\"\".format(start=start_date, end=end_date, window=date_window)\n",
"vessel_speed = client.query(query=speed_query)['navigation.speedOverGround']"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "e7d9e1b6",
"metadata": {},
"outputs": [],
"source": [
"vessel_speed['knots'] = vessel_speed['ms'].apply(lambda x: x*1.943844)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "d2deada8",
"metadata": {},
"outputs": [],
"source": [
"wind_and_vessel = wind.join(vessel_speed, lsuffix='_wind', rsuffix='_vessel')"
]
},
{
"cell_type": "markdown",
"id": "ee055aa0",
"metadata": {},
"source": [
"Then we look at the boat speeds used in evaluation:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "0484d68b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:ylabel='Frequency'>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAGdCAYAAADzOWwgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAArFUlEQVR4nO3df3RU9Z3/8dc0v0yyyUgCyTDHAGmNPzBRMbGU+ANoIIj8qLorWH6q2MIRkQhUYN2u4NoEcA3UpSBYDiCWxm3XWLoKEpWNSykVglGhirpiAEmMP+IkQZhAcr9/+OUeh6DiMJM7yef5OOeew73znsv7o54zLz/3c+91WZZlCQAAwGDfc7oBAAAApxGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGi3a6gc6ira1NR44cUVJSklwul9PtAACAs2BZlpqamuT1evW97339PBCB6CwdOXJEGRkZTrcBAACCcOjQIV1wwQVf+zmB6CwlJSVJ+vIfaHJyssPdAACAs9HY2KiMjAz7d/zrEIjO0qnLZMnJyQQiAAA6mW9b7sKiagAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjRTvdAADgzPrMey5k5/pg0YiQnQvoipghAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGA8AhEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEcDUSvvPKKRo0aJa/XK5fLpWeffdb+7MSJE5o7d65ycnKUmJgor9erSZMm6ciRIwHn8Pv9mjFjhrp3767ExESNHj1ahw8fDqhpaGjQxIkT5Xa75Xa7NXHiRH3++ecdMEIAANAZOBqIjh49qiuuuELLly9v99kXX3yhPXv26Je//KX27NmjZ555Ru+8845Gjx4dUFdUVKTy8nKVlZVp+/btam5u1siRI9Xa2mrXjBs3TtXV1dqyZYu2bNmi6upqTZw4MezjAwAAnYPLsizL6SYkyeVyqby8XDfddNPX1uzatUs//OEPVVNTo169esnn86lHjx7asGGDxo4dK0k6cuSIMjIy9Pzzz2vYsGF666231LdvX+3cuVP9+/eXJO3cuVMDBgzQ22+/rYsvvvis+mtsbJTb7ZbP51NycvI5jxcAvk2fec+F7FwfLBoRsnMBncnZ/n53qjVEPp9PLpdL559/viSpqqpKJ06cUGFhoV3j9XqVnZ2tHTt2SJL++te/yu1222FIkn70ox/J7XbbNWfi9/vV2NgYsAEAgK4p2ukGztbx48c1b948jRs3zk54dXV1io2NVbdu3QJq09PTVVdXZ9ekpaW1O19aWppdcyYlJSVauHBhCEcAAM5htgn4Zp1ihujEiRO67bbb1NbWphUrVnxrvWVZcrlc9v5X//x1NaebP3++fD6fvR06dCi45gEAQMSL+EB04sQJjRkzRgcOHFBFRUXA9T+Px6OWlhY1NDQEfKe+vl7p6el2zUcffdTuvB9//LFdcyZxcXFKTk4O2AAAQNcU0YHoVBh699139eKLLyo1NTXg89zcXMXExKiiosI+Vltbq7179yo/P1+SNGDAAPl8Pr366qt2zd/+9jf5fD67BgAAmM3RNUTNzc1677337P0DBw6ourpaKSkp8nq9+qd/+ift2bNH//3f/63W1lZ7zU9KSopiY2Pldrs1ZcoUzZ49W6mpqUpJSdGcOXOUk5OjIUOGSJIuvfRS3XDDDfrZz36mVatWSZJ+/vOfa+TIkWd9hxkAAOjaHA1Eu3fv1uDBg+39WbNmSZImT56sBQsWaNOmTZKkK6+8MuB727Zt06BBgyRJS5cuVXR0tMaMGaNjx46poKBA69atU1RUlF3/u9/9Tvfee699N9ro0aPP+OwjAABgpoh5DlGk4zlEADpaKO8MCyXuMkNn0iWfQwQAABAOBCIAAGA8AhEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgvGinGwCArqbPvOecbgHAd8QMEQAAMB4zRAC+VShnPD5YNCJk5wKAUGGGCAAAGI9ABAAAjMclMwAQC6EB0zFDBAAAjEcgAgAAxiMQAQAA47GGCECnxbofAKHCDBEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxuPlrgA6FC9kBRCJmCECAADGIxABAADjORqIXnnlFY0aNUper1cul0vPPvtswOeWZWnBggXyer2Kj4/XoEGDtG/fvoAav9+vGTNmqHv37kpMTNTo0aN1+PDhgJqGhgZNnDhRbrdbbrdbEydO1Oeffx7m0QEAgM7C0UB09OhRXXHFFVq+fPkZP1+yZIlKS0u1fPly7dq1Sx6PR0OHDlVTU5NdU1RUpPLycpWVlWn79u1qbm7WyJEj1draateMGzdO1dXV2rJli7Zs2aLq6mpNnDgx7OMDAACdg8uyLMvpJiTJ5XKpvLxcN910k6QvZ4e8Xq+Kioo0d+5cSV/OBqWnp2vx4sWaOnWqfD6fevTooQ0bNmjs2LGSpCNHjigjI0PPP/+8hg0bprfeekt9+/bVzp071b9/f0nSzp07NWDAAL399tu6+OKLz6q/xsZGud1u+Xw+JScnh/4fABDBWAiNr/pg0QinWwDO2tn+fkfsGqIDBw6orq5OhYWF9rG4uDgNHDhQO3bskCRVVVXpxIkTATVer1fZ2dl2zV//+le53W47DEnSj370I7ndbrsGAACYLWJvu6+rq5MkpaenBxxPT09XTU2NXRMbG6tu3bq1qzn1/bq6OqWlpbU7f1paml1zJn6/X36/395vbGwMbiAAACDiRewM0Skulytg37KsdsdOd3rNmeq/7TwlJSX2Imy3262MjIzv2DkAAOgsIjYQeTweSWo3i1NfX2/PGnk8HrW0tKihoeEbaz766KN25//444/bzT591fz58+Xz+ezt0KFD5zQeAAAQuSI2EGVmZsrj8aiiosI+1tLSosrKSuXn50uScnNzFRMTE1BTW1urvXv32jUDBgyQz+fTq6++atf87W9/k8/ns2vOJC4uTsnJyQEbAADomhxdQ9Tc3Kz33nvP3j9w4ICqq6uVkpKiXr16qaioSMXFxcrKylJWVpaKi4uVkJCgcePGSZLcbremTJmi2bNnKzU1VSkpKZozZ45ycnI0ZMgQSdKll16qG264QT/72c+0atUqSdLPf/5zjRw58qzvMAMAAF2bo4Fo9+7dGjx4sL0/a9YsSdLkyZO1bt063X///Tp27JjuvvtuNTQ0qH///tq6dauSkpLs7yxdulTR0dEaM2aMjh07poKCAq1bt05RUVF2ze9+9zvde++99t1oo0eP/tpnHwEAvlkoH8PALfyIFBHzHKJIx3OIYDKeQ4RwIRAh3Dr9c4gAAAA6CoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxIvblrgDOHbfLA8DZYYYIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGA8AhEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGA8AhEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEiOhCdPHlS//Iv/6LMzEzFx8fr+9//vh566CG1tbXZNZZlacGCBfJ6vYqPj9egQYO0b9++gPP4/X7NmDFD3bt3V2JiokaPHq3Dhw939HAAAECEiuhAtHjxYj3++ONavny53nrrLS1ZskSPPPKI/uM//sOuWbJkiUpLS7V8+XLt2rVLHo9HQ4cOVVNTk11TVFSk8vJylZWVafv27WpubtbIkSPV2trqxLAAAECEcVmWZTndxNcZOXKk0tPTtWbNGvvYP/7jPyohIUEbNmyQZVnyer0qKirS3LlzJX05G5Senq7Fixdr6tSp8vl86tGjhzZs2KCxY8dKko4cOaKMjAw9//zzGjZs2Fn10tjYKLfbLZ/Pp+Tk5NAPFvj/+sx7zukWgA7zwaIRTreALu5sf78jeobo2muv1UsvvaR33nlHkvT6669r+/btuvHGGyVJBw4cUF1dnQoLC+3vxMXFaeDAgdqxY4ckqaqqSidOnAio8Xq9ys7OtmvOxO/3q7GxMWADAABdU7TTDXyTuXPnyufz6ZJLLlFUVJRaW1v1q1/9Sj/96U8lSXV1dZKk9PT0gO+lp6erpqbGromNjVW3bt3a1Zz6/pmUlJRo4cKFoRwOAACIUBE9Q/T000/rqaee0saNG7Vnzx6tX79e//7v/67169cH1LlcroB9y7LaHTvdt9XMnz9fPp/P3g4dOhT8QAAAQEQLaobowIEDyszMDHUv7fziF7/QvHnzdNttt0mScnJyVFNTo5KSEk2ePFkej0fSl7NAPXv2tL9XX19vzxp5PB61tLSooaEhYJaovr5e+fn5X/t3x8XFKS4uLhzDAgAAESaoGaILL7xQgwcP1lNPPaXjx4+HuifbF198oe99L7DFqKgo+7b7zMxMeTweVVRU2J+3tLSosrLSDju5ubmKiYkJqKmtrdXevXu/MRABAABzBBWIXn/9dfXr10+zZ8+Wx+PR1KlT9eqrr4a6N40aNUq/+tWv9Nxzz+mDDz5QeXm5SktLdfPNN0v68lJZUVGRiouLVV5err179+r2229XQkKCxo0bJ0lyu92aMmWKZs+erZdeekmvvfaaJkyYoJycHA0ZMiTkPQMAgM7nnG67P3nypP785z9r3bp12rx5s7KysjRlyhRNnDhRPXr0OOfmmpqa9Mtf/lLl5eWqr6+X1+vVT3/6U/3rv/6rYmNjJX25FmjhwoVatWqVGhoa1L9/f/3mN79Rdna2fZ7jx4/rF7/4hTZu3Khjx46poKBAK1asUEZGxln3wm336Cjcdg+TcNs9wu1sf79D8hwiv9+vFStWaP78+WppaVFMTIzGjh2rxYsXB6zt6cwIROgoBCKYhECEcOuQ5xDt3r1bd999t3r27KnS0lLNmTNH//d//6eXX35ZH374oX7yk5+cy+kBAAA6RFB3mZWWlmrt2rXav3+/brzxRj355JO68cYb7QXQmZmZWrVqlS655JKQNgsAABAOQQWilStX6s4779Qdd9xh3/p+ul69egW8cgMAACBSBRWI3n333W+tiY2N1eTJk4M5PQAAQIcKag3R2rVr9Yc//KHd8T/84Q/tniINAAAQ6YIKRIsWLVL37t3bHU9LS1NxcfE5NwUAANCRggpENTU1Z3x1R+/evXXw4MFzbgoAAKAjBRWI0tLS9MYbb7Q7/vrrrys1NfWcmwIAAOhIQQWi2267Tffee6+2bdum1tZWtba26uWXX9bMmTPtF7ECAAB0FkHdZfbwww+rpqZGBQUFio7+8hRtbW2aNGkSa4gAAECnE1Qgio2N1dNPP61/+7d/0+uvv674+Hjl5OSod+/eoe4PAAAg7IIKRKdcdNFFuuiii0LVCwAAgCOCCkStra1at26dXnrpJdXX16utrS3g85dffjkkzQEAAHSEoALRzJkztW7dOo0YMULZ2dlyuVyh7gsAAKDDBBWIysrK9J//+Z+68cYbQ90PAMAgfeY9F7JzfbBoRMjOBfMEddt9bGysLrzwwlD3AgAA4IigAtHs2bP161//WpZlhbofAACADhfUJbPt27dr27Zt2rx5sy677DLFxMQEfP7MM8+EpDkAAICOEFQgOv/883XzzTeHuhcAAABHBBWI1q5dG+o+AAAAHBPUGiJJOnnypF588UWtWrVKTU1NkqQjR46oubk5ZM0BAAB0hKBmiGpqanTDDTfo4MGD8vv9Gjp0qJKSkrRkyRIdP35cjz/+eKj7BAAACJugZohmzpypvLw8NTQ0KD4+3j5+880366WXXgpZcwAAAB0h6LvM/vKXvyg2NjbgeO/evfXhhx+GpDEAAICOEtQMUVtbm1pbW9sdP3z4sJKSks65KQAAgI4UVCAaOnSoli1bZu+7XC41NzfrwQcf5HUeAACg0wnqktnSpUs1ePBg9e3bV8ePH9e4ceP07rvvqnv37vr9738f6h4BAADCKqhA5PV6VV1drd///vfas2eP2traNGXKFI0fPz5gkTUAAEBnEFQgkqT4+HjdeeeduvPOO0PZDwAAQIcLKhA9+eST3/j5pEmTgmoGAADACUEFopkzZwbsnzhxQl988YViY2OVkJBAIAIAAJ1KUHeZNTQ0BGzNzc3av3+/rr32WhZVAwCATifoNUSny8rK0qJFizRhwgS9/fbboTot0Cn0mfec0y0AAM5B0C93PZOoqCgdOXIklKcEAAAIu6BmiDZt2hSwb1mWamtrtXz5cl1zzTUhaQwAAKCjBBWIbrrppoB9l8ulHj166Mc//rEeffTRUPQFAADQYYIKRG1tbaHuAwAAwDEhXUMEAADQGQU1QzRr1qyzri0tLQ3mrwAAAOgwQQWi1157TXv27NHJkyd18cUXS5LeeecdRUVF6aqrrrLrXC5XaLoEAAAIo6AC0ahRo5SUlKT169erW7dukr58WOMdd9yh6667TrNnzw5pkwAAAOEU1BqiRx99VCUlJXYYkqRu3brp4Ycf5i4zAADQ6QQViBobG/XRRx+1O15fX6+mpqZzbgoAAKAjBRWIbr75Zt1xxx364x//qMOHD+vw4cP64x//qClTpuiWW24JdY8AAABhFVQgevzxxzVixAhNmDBBvXv3Vu/evTV+/HgNHz5cK1asCGmDH374oSZMmKDU1FQlJCToyiuvVFVVlf25ZVlasGCBvF6v4uPjNWjQIO3bty/gHH6/XzNmzFD37t2VmJio0aNH6/DhwyHtEwAAdF5BBaKEhAStWLFCn376qX3H2WeffaYVK1YoMTExZM01NDTommuuUUxMjDZv3qy///3vevTRR3X++efbNUuWLFFpaamWL1+uXbt2yePxaOjQoQGX7oqKilReXq6ysjJt375dzc3NGjlypFpbW0PWKwAA6LzO6W33tbW1qq2t1fXXX6/4+HhZlhXSW+0XL16sjIwMrV271j7Wp08f+8+WZWnZsmV64IEH7Et169evV3p6ujZu3KipU6fK5/NpzZo12rBhg4YMGSJJeuqpp5SRkaEXX3xRw4YNC1m/AACgcwpqhujTTz9VQUGBLrroIt14442qra2VJN11110hveV+06ZNysvL06233qq0tDT169dPTzzxhP35gQMHVFdXp8LCQvtYXFycBg4cqB07dkiSqqqqdOLEiYAar9er7Oxsu+ZM/H6/GhsbAzYAANA1BRWI7rvvPsXExOjgwYNKSEiwj48dO1ZbtmwJWXPvv/++Vq5cqaysLL3wwguaNm2a7r33Xj355JOSpLq6OklSenp6wPfS09Ptz+rq6hQbGxvwiIDTa86kpKREbrfb3jIyMkI2LgAAEFmCumS2detWvfDCC7rgggsCjmdlZammpiYkjUlfvkQ2Ly9PxcXFkqR+/fpp3759WrlypSZNmmTXnX6Z7mwu3X1bzfz58wNeUdLY2EgoAgCgiwpqhujo0aMBM0OnfPLJJ4qLizvnpk7p2bOn+vbtG3Ds0ksv1cGDByVJHo9HktrN9NTX19uzRh6PRy0tLWpoaPjamjOJi4tTcnJywAYAALqmoALR9ddfb1+2kr6coWlra9MjjzyiwYMHh6y5a665Rvv37w849s4776h3796SpMzMTHk8HlVUVNift7S0qLKyUvn5+ZKk3NxcxcTEBNTU1tZq7969dg0AADBbUJfMHnnkEQ0aNEi7d+9WS0uL7r//fu3bt0+fffaZ/vKXv4Ssufvuu0/5+fkqLi7WmDFj9Oqrr2r16tVavXq1pC+DWFFRkYqLi5WVlaWsrCwVFxcrISFB48aNkyS53W5NmTJFs2fPVmpqqlJSUjRnzhzl5OTYd50BAACzBRWI+vbtqzfeeEMrV65UVFSUjh49qltuuUXTp09Xz549Q9bc1VdfrfLycs2fP18PPfSQMjMztWzZMo0fP96uuf/++3Xs2DHdfffdamhoUP/+/bV161YlJSXZNUuXLlV0dLTGjBmjY8eOqaCgQOvWrVNUVFTIegUAAJ2Xy7Is67t84dQt7KtWrdJFF10Urr4iTmNjo9xut3w+H+uJ0E6fec853QJgvA8WjXC6BUSgs/39/s5riGJiYrR3796QPoARAADASUEtqp40aZLWrFkT6l4AAAAcEdQaopaWFv32t79VRUWF8vLy2r2/rLS0NCTNAeHEZS4AwCnfKRC9//776tOnj/bu3aurrrpK0pe3wX8Vl9IAAEBn850CUVZWlmpra7Vt2zZJX76q47HHHvvGBxwCAABEuu+0huj0G9I2b96so0ePhrQhAACAjhbUoupTvuMd+wAAABHpOwUil8vVbo0Qa4YAAEBn953WEFmWpdtvv91+gevx48c1bdq0dneZPfPMM6HrEAAAIMy+UyCaPHlywP6ECRNC2gwAAIATvlMgWrt2bbj6AAAAcMw5LaoGAADoCghEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGA8AhEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxOlUgKikpkcvlUlFRkX3MsiwtWLBAXq9X8fHxGjRokPbt2xfwPb/frxkzZqh79+5KTEzU6NGjdfjw4Q7uHgAARKpOE4h27dql1atX6/LLLw84vmTJEpWWlmr58uXatWuXPB6Phg4dqqamJrumqKhI5eXlKisr0/bt29Xc3KyRI0eqtbW1o4cBAAAiUKcIRM3NzRo/fryeeOIJdevWzT5uWZaWLVumBx54QLfccouys7O1fv16ffHFF9q4caMkyefzac2aNXr00Uc1ZMgQ9evXT0899ZTefPNNvfjii04NCQAARJBopxs4G9OnT9eIESM0ZMgQPfzww/bxAwcOqK6uToWFhfaxuLg4DRw4UDt27NDUqVNVVVWlEydOBNR4vV5lZ2drx44dGjZs2Bn/Tr/fL7/fb+83NjaGYWQAgFDpM++5kJzng0UjQnIedC4RH4jKysq0Z88e7dq1q91ndXV1kqT09PSA4+np6aqpqbFrYmNjA2aWTtWc+v6ZlJSUaOHChefaPgAA6AQiOhAdOnRIM2fO1NatW3Xeeed9bZ3L5QrYtyyr3bHTfVvN/PnzNWvWLHu/sbFRGRkZZ9k5wiVU/wcIAMBXRfQaoqqqKtXX1ys3N1fR0dGKjo5WZWWlHnvsMUVHR9szQ6fP9NTX19ufeTwetbS0qKGh4WtrziQuLk7JyckBGwAA6JoiOhAVFBTozTffVHV1tb3l5eVp/Pjxqq6u1ve//315PB5VVFTY32lpaVFlZaXy8/MlSbm5uYqJiQmoqa2t1d69e+0aAABgtoi+ZJaUlKTs7OyAY4mJiUpNTbWPFxUVqbi4WFlZWcrKylJxcbESEhI0btw4SZLb7daUKVM0e/ZspaamKiUlRXPmzFFOTo6GDBnS4WMCAACRJ6ID0dm4//77dezYMd19991qaGhQ//79tXXrViUlJdk1S5cuVXR0tMaMGaNjx46poKBA69atU1RUlIOdAwCASOGyLMtyuonOoLGxUW63Wz6fj/VEDmJRNYBw47b7ruVsf78jeg0RAABARyAQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGA8AhEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGC/a6QZghj7znnO6BQAAvhYzRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8XgwIwAAXxHKB8l+sGhEyM6F8GKGCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMF9GBqKSkRFdffbWSkpKUlpamm266Sfv37w+osSxLCxYskNfrVXx8vAYNGqR9+/YF1Pj9fs2YMUPdu3dXYmKiRo8ercOHD3fkUAAAQASL6EBUWVmp6dOna+fOnaqoqNDJkydVWFioo0eP2jVLlixRaWmpli9frl27dsnj8Wjo0KFqamqya4qKilReXq6ysjJt375dzc3NGjlypFpbW50YFgAAiDAuy7Isp5s4Wx9//LHS0tJUWVmp66+/XpZlyev1qqioSHPnzpX05WxQenq6Fi9erKlTp8rn86lHjx7asGGDxo4dK0k6cuSIMjIy9Pzzz2vYsGFn9Xc3NjbK7XbL5/MpOTk5bGPsqkL5skQA6Cx4uavzzvb3O6JniE7n8/kkSSkpKZKkAwcOqK6uToWFhXZNXFycBg4cqB07dkiSqqqqdOLEiYAar9er7OxsuwYAAJgt2ukGzpZlWZo1a5auvfZaZWdnS5Lq6uokSenp6QG16enpqqmpsWtiY2PVrVu3djWnvn8mfr9ffr/f3m9sbAzJOAAAQOTpNIHonnvu0RtvvKHt27e3+8zlcgXsW5bV7tjpvq2mpKRECxcuDK7ZLoLLXAAAU3SKS2YzZszQpk2btG3bNl1wwQX2cY/HI0ntZnrq6+vtWSOPx6OWlhY1NDR8bc2ZzJ8/Xz6fz94OHToUquEAAIAIE9GByLIs3XPPPXrmmWf08ssvKzMzM+DzzMxMeTweVVRU2MdaWlpUWVmp/Px8SVJubq5iYmICampra7V371675kzi4uKUnJwcsAEAgK4poi+ZTZ8+XRs3btSf/vQnJSUl2TNBbrdb8fHxcrlcKioqUnFxsbKyspSVlaXi4mIlJCRo3Lhxdu2UKVM0e/ZspaamKiUlRXPmzFFOTo6GDBni5PAAAECEiOhAtHLlSknSoEGDAo6vXbtWt99+uyTp/vvv17Fjx3T33XeroaFB/fv319atW5WUlGTXL126VNHR0RozZoyOHTumgoICrVu3TlFRUR01FAAAEME61XOInGTic4hYVA0A54bnEDmvSz6HCAAAIBwIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGC8aKcbAACgq+oz77mQneuDRSNCdi60xwwRAAAwHjNEXUwo/28EAABTMEMEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGA8AhEAADAegQgAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHi87R4AgE6gz7znQnauDxaNCNm5ugpmiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxuM5RAAAGCZUzzTqSs8zMioQrVixQo888ohqa2t12WWXadmyZbruuuucbiukD9sCAADfnTGXzJ5++mkVFRXpgQce0GuvvabrrrtOw4cP18GDB51uDQAAOMyYQFRaWqopU6borrvu0qWXXqply5YpIyNDK1eudLo1AADgMCMumbW0tKiqqkrz5s0LOF5YWKgdO3ac8Tt+v19+v9/e9/l8kqTGxsaQ99fm/yLk5wQAINx63feHkJ1r78JhITvXV5363bYs6xvrjAhEn3zyiVpbW5Wenh5wPD09XXV1dWf8TklJiRYuXNjueEZGRlh6BADAZO5l4T1/U1OT3G73135uRCA6xeVyBexbltXu2Cnz58/XrFmz7P22tjZ99tlnSk1N/drvfBeNjY3KyMjQoUOHlJycfM7ni3QmjdeksUqMtyszaawS4+2qLMtSU1OTvF7vN9YZEYi6d++uqKiodrNB9fX17WaNTomLi1NcXFzAsfPPPz/kvSUnJ3fp/xBPZ9J4TRqrxHi7MpPGKjHeruibZoZOMWJRdWxsrHJzc1VRURFwvKKiQvn5+Q51BQAAIoURM0SSNGvWLE2cOFF5eXkaMGCAVq9erYMHD2ratGlOtwYAABxmTCAaO3asPv30Uz300EOqra1Vdna2nn/+efXu3duRfuLi4vTggw+2uyzXVZk0XpPGKjHersyksUqM13Qu69vuQwMAAOjijFhDBAAA8E0IRAAAwHgEIgAAYDwCEQAAMB6ByAErVqxQZmamzjvvPOXm5up///d/nW4pbF555RWNGjVKXq9XLpdLzz77rNMthU1JSYmuvvpqJSUlKS0tTTfddJP279/vdFths3LlSl1++eX2Q90GDBigzZs3O91WhygpKZHL5VJRUZHTrYTFggUL5HK5AjaPx+N0W2H14YcfasKECUpNTVVCQoKuvPJKVVVVOd1WWPTp06fdv1+Xy6Xp06c73ZqjCEQd7Omnn1ZRUZEeeOABvfbaa7ruuus0fPhwHTx40OnWwuLo0aO64oortHz5cqdbCbvKykpNnz5dO3fuVEVFhU6ePKnCwkIdPXrU6dbC4oILLtCiRYu0e/du7d69Wz/+8Y/1k5/8RPv27XO6tbDatWuXVq9ercsvv9zpVsLqsssuU21trb29+eabTrcUNg0NDbrmmmsUExOjzZs36+9//7seffTRsLydIBLs2rUr4N/tqYcW33rrrQ535jALHeqHP/yhNW3atIBjl1xyiTVv3jyHOuo4kqzy8nKn2+gw9fX1liSrsrLS6VY6TLdu3azf/va3TrcRNk1NTVZWVpZVUVFhDRw40Jo5c6bTLYXFgw8+aF1xxRVOt9Fh5s6da1177bVOt+GYmTNnWj/4wQ+strY2p1txFDNEHailpUVVVVUqLCwMOF5YWKgdO3Y41BXCxefzSZJSUlIc7iT8WltbVVZWpqNHj2rAgAFOtxM206dP14gRIzRkyBCnWwm7d999V16vV5mZmbrtttv0/vvvO91S2GzatEl5eXm69dZblZaWpn79+umJJ55wuq0O0dLSoqeeekp33nlnSF5c3pkRiDrQJ598otbW1nYvlE1PT2/34ll0bpZladasWbr22muVnZ3tdDth8+abb+of/uEfFBcXp2nTpqm8vFx9+/Z1uq2wKCsr0549e1RSUuJ0K2HXv39/Pfnkk3rhhRf0xBNPqK6uTvn5+fr000+dbi0s3n//fa1cuVJZWVl64YUXNG3aNN1777168sknnW4t7J599ll9/vnnuv32251uxXHGvLojkpyewi3LMj6ZdzX33HOP3njjDW3fvt3pVsLq4osvVnV1tT7//HP913/9lyZPnqzKysouF4oOHTqkmTNnauvWrTrvvPOcbifshg8fbv85JydHAwYM0A9+8AOtX79es2bNcrCz8Ghra1NeXp6Ki4slSf369dO+ffu0cuVKTZo0yeHuwmvNmjUaPny4vF6v0604jhmiDtS9e3dFRUW1mw2qr69vN2uEzmvGjBnatGmTtm3bpgsuuMDpdsIqNjZWF154ofLy8lRSUqIrrrhCv/71r51uK+SqqqpUX1+v3NxcRUdHKzo6WpWVlXrssccUHR2t1tZWp1sMq8TEROXk5Ojdd991upWw6NmzZ7sQf+mll3bZm11Oqamp0Ysvvqi77rrL6VYiAoGoA8XGxio3N9de0X9KRUWF8vPzHeoKoWJZlu655x4988wzevnll5WZmel0Sx3Osiz5/X6n2wi5goICvfnmm6qurra3vLw8jR8/XtXV1YqKinK6xbDy+/1666231LNnT6dbCYtrrrmm3SMy3nnnHcde/t1R1q5dq7S0NI0YMcLpViICl8w62KxZszRx4kTl5eVpwIABWr16tQ4ePKhp06Y53VpYNDc367333rP3Dxw4oOrqaqWkpKhXr14OdhZ606dP18aNG/WnP/1JSUlJ9kyg2+1WfHy8w92F3j//8z9r+PDhysjIUFNTk8rKyvQ///M/2rJli9OthVxSUlK7tWCJiYlKTU3tkmvE5syZo1GjRqlXr16qr6/Xww8/rMbGRk2ePNnp1sLivvvuU35+voqLizVmzBi9+uqrWr16tVavXu10a2HT1tamtWvXavLkyYqOJgpI4rZ7J/zmN7+xevfubcXGxlpXXXVVl74te9u2bZakdtvkyZOdbi3kzjROSdbatWudbi0s7rzzTvu/4x49elgFBQXW1q1bnW6rw3Tl2+7Hjh1r9ezZ04qJibG8Xq91yy23WPv27XO6rbD685//bGVnZ1txcXHWJZdcYq1evdrplsLqhRdesCRZ+/fvd7qViOGyLMtyJooBAABEBtYQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGC8/wdCZ+LtHkyzrgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"wind_and_vessel.query('state == \"sailing\" and knots_vessel > 0 and rate < {rate} and rate > -{rate}'.format(rate=rate_limit))['knots_vessel'].plot(kind = 'hist', bins=24)"
]
},
{
"cell_type": "markdown",
"id": "340afef9",
"metadata": {},
"source": [
"Let's look at the instances where we were running above hull speed:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "ba3091c8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>wind_speed</th>\n",
" <th>vessel_speed</th>\n",
" <th>degrees</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2022-05-14 07:12:00+00:00</th>\n",
" <td>28.184897</td>\n",
" <td>7.001078</td>\n",
" <td>106.474189</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-05-18 16:29:00+00:00</th>\n",
" <td>24.826461</td>\n",
" <td>7.026996</td>\n",
" <td>115.116302</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-02 16:41:00+00:00</th>\n",
" <td>23.772947</td>\n",
" <td>7.001078</td>\n",
" <td>129.381606</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-03 12:29:00+00:00</th>\n",
" <td>22.558469</td>\n",
" <td>7.039955</td>\n",
" <td>139.457376</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-03 12:33:00+00:00</th>\n",
" <td>25.604190</td>\n",
" <td>7.386607</td>\n",
" <td>141.303751</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-03 12:37:00+00:00</th>\n",
" <td>22.736024</td>\n",
" <td>7.133907</td>\n",
" <td>149.525398</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-03 12:45:00+00:00</th>\n",
" <td>22.266273</td>\n",
" <td>6.926564</td>\n",
" <td>137.580702</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-28 12:02:00+00:00</th>\n",
" <td>18.788240</td>\n",
" <td>7.023756</td>\n",
" <td>50.474418</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-28 12:09:00+00:00</th>\n",
" <td>19.437739</td>\n",
" <td>6.942763</td>\n",
" <td>155.708201</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-06-28 12:13:00+00:00</th>\n",
" <td>20.889892</td>\n",
" <td>7.039955</td>\n",
" <td>145.495429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 08:47:00+00:00</th>\n",
" <td>23.762710</td>\n",
" <td>6.991359</td>\n",
" <td>136.835087</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:35:00+00:00</th>\n",
" <td>20.099657</td>\n",
" <td>7.007558</td>\n",
" <td>173.313957</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:42:00+00:00</th>\n",
" <td>23.887911</td>\n",
" <td>7.133907</td>\n",
" <td>152.448016</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:45:00+00:00</th>\n",
" <td>19.152434</td>\n",
" <td>7.185743</td>\n",
" <td>1.184797</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:47:00+00:00</th>\n",
" <td>20.679686</td>\n",
" <td>6.933044</td>\n",
" <td>117.376556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:51:00+00:00</th>\n",
" <td>22.798687</td>\n",
" <td>7.590711</td>\n",
" <td>59.493284</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:54:00+00:00</th>\n",
" <td>20.845410</td>\n",
" <td>7.344491</td>\n",
" <td>176.410619</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:58:00+00:00</th>\n",
" <td>23.740403</td>\n",
" <td>7.211661</td>\n",
" <td>170.005139</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 09:59:00+00:00</th>\n",
" <td>22.960479</td>\n",
" <td>7.172784</td>\n",
" <td>166.668614</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 10:04:00+00:00</th>\n",
" <td>21.422454</td>\n",
" <td>6.994599</td>\n",
" <td>57.832655</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 10:05:00+00:00</th>\n",
" <td>22.907381</td>\n",
" <td>7.373648</td>\n",
" <td>116.443411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 10:07:00+00:00</th>\n",
" <td>20.565062</td>\n",
" <td>7.088551</td>\n",
" <td>116.847223</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 10:09:00+00:00</th>\n",
" <td>21.665675</td>\n",
" <td>7.023756</td>\n",
" <td>115.853346</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 10:10:00+00:00</th>\n",
" <td>24.263326</td>\n",
" <td>7.244059</td>\n",
" <td>174.409575</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 10:12:00+00:00</th>\n",
" <td>25.619220</td>\n",
" <td>6.949242</td>\n",
" <td>159.522703</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-07-05 10:56:00+00:00</th>\n",
" <td>21.651352</td>\n",
" <td>6.971920</td>\n",
" <td>167.096119</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-08-28 09:36:00+00:00</th>\n",
" <td>24.799704</td>\n",
" <td>7.010797</td>\n",
" <td>143.765167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-08-28 09:54:00+00:00</th>\n",
" <td>23.800311</td>\n",
" <td>6.994599</td>\n",
" <td>168.197618</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-08-28 10:05:00+00:00</th>\n",
" <td>23.141060</td>\n",
" <td>7.234339</td>\n",
" <td>156.305458</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-08-28 10:13:00+00:00</th>\n",
" <td>26.136136</td>\n",
" <td>7.545354</td>\n",
" <td>158.543976</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" wind_speed vessel_speed degrees\n",
"2022-05-14 07:12:00+00:00 28.184897 7.001078 106.474189\n",
"2022-05-18 16:29:00+00:00 24.826461 7.026996 115.116302\n",
"2022-06-02 16:41:00+00:00 23.772947 7.001078 129.381606\n",
"2022-06-03 12:29:00+00:00 22.558469 7.039955 139.457376\n",
"2022-06-03 12:33:00+00:00 25.604190 7.386607 141.303751\n",
"2022-06-03 12:37:00+00:00 22.736024 7.133907 149.525398\n",
"2022-06-03 12:45:00+00:00 22.266273 6.926564 137.580702\n",
"2022-06-28 12:02:00+00:00 18.788240 7.023756 50.474418\n",
"2022-06-28 12:09:00+00:00 19.437739 6.942763 155.708201\n",
"2022-06-28 12:13:00+00:00 20.889892 7.039955 145.495429\n",
"2022-07-05 08:47:00+00:00 23.762710 6.991359 136.835087\n",
"2022-07-05 09:35:00+00:00 20.099657 7.007558 173.313957\n",
"2022-07-05 09:42:00+00:00 23.887911 7.133907 152.448016\n",
"2022-07-05 09:45:00+00:00 19.152434 7.185743 1.184797\n",
"2022-07-05 09:47:00+00:00 20.679686 6.933044 117.376556\n",
"2022-07-05 09:51:00+00:00 22.798687 7.590711 59.493284\n",
"2022-07-05 09:54:00+00:00 20.845410 7.344491 176.410619\n",
"2022-07-05 09:58:00+00:00 23.740403 7.211661 170.005139\n",
"2022-07-05 09:59:00+00:00 22.960479 7.172784 166.668614\n",
"2022-07-05 10:04:00+00:00 21.422454 6.994599 57.832655\n",
"2022-07-05 10:05:00+00:00 22.907381 7.373648 116.443411\n",
"2022-07-05 10:07:00+00:00 20.565062 7.088551 116.847223\n",
"2022-07-05 10:09:00+00:00 21.665675 7.023756 115.853346\n",
"2022-07-05 10:10:00+00:00 24.263326 7.244059 174.409575\n",
"2022-07-05 10:12:00+00:00 25.619220 6.949242 159.522703\n",
"2022-07-05 10:56:00+00:00 21.651352 6.971920 167.096119\n",
"2022-08-28 09:36:00+00:00 24.799704 7.010797 143.765167\n",
"2022-08-28 09:54:00+00:00 23.800311 6.994599 168.197618\n",
"2022-08-28 10:05:00+00:00 23.141060 7.234339 156.305458\n",
"2022-08-28 10:13:00+00:00 26.136136 7.545354 158.543976"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"above_hull_speed = wind_and_vessel.query('state == \"sailing\" and knots_vessel > 6.9 and ms_wind > 0 and rate < {rate} and rate > -{rate}'.format(rate=rate_limit)).filter(['knots_wind', 'knots_vessel', 'degrees'])\n",
"above_hull_speed['degrees'] = above_hull_speed['degrees'].apply(lambda x: abs(x))\n",
"above_hull_speed.rename(columns={ 'knots_wind': 'wind_speed', 'knots_vessel': 'vessel_speed' })"
]
},
{
"cell_type": "markdown",
"id": "6d828920",
"metadata": {},
"source": [
"## Actual polar data\n",
"\n",
"Filter the dataset to only what we're going to use for the calculations."
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "5060cc72",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>knots_wind</th>\n",
" <th>knots_vessel</th>\n",
" <th>degrees</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2022-04-28 18:18:00+00:00</th>\n",
" <td>4.526923</td>\n",
" <td>1.422246</td>\n",
" <td>140.681606</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-28 18:21:00+00:00</th>\n",
" <td>4.240520</td>\n",
" <td>1.461123</td>\n",
" <td>145.625847</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-28 18:22:00+00:00</th>\n",
" <td>4.532030</td>\n",
" <td>1.295896</td>\n",
" <td>143.250331</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-28 18:23:00+00:00</th>\n",
" <td>4.580744</td>\n",
" <td>1.294600</td>\n",
" <td>145.714349</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-04-28 18:24:00+00:00</th>\n",
" <td>4.677474</td>\n",
" <td>1.448164</td>\n",
" <td>153.731544</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 11:19:00+00:00</th>\n",
" <td>11.083653</td>\n",
" <td>4.156586</td>\n",
" <td>110.368371</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 11:20:00+00:00</th>\n",
" <td>10.701058</td>\n",
" <td>4.266738</td>\n",
" <td>111.021536</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 11:22:00+00:00</th>\n",
" <td>9.401947</td>\n",
" <td>4.001079</td>\n",
" <td>103.819882</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 11:23:00+00:00</th>\n",
" <td>10.740930</td>\n",
" <td>4.017278</td>\n",
" <td>109.222342</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-13 11:24:00+00:00</th>\n",
" <td>10.040337</td>\n",
" <td>4.726781</td>\n",
" <td>115.253785</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>14011 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" knots_wind knots_vessel degrees\n",
"2022-04-28 18:18:00+00:00 4.526923 1.422246 140.681606\n",
"2022-04-28 18:21:00+00:00 4.240520 1.461123 145.625847\n",
"2022-04-28 18:22:00+00:00 4.532030 1.295896 143.250331\n",
"2022-04-28 18:23:00+00:00 4.580744 1.294600 145.714349\n",
"2022-04-28 18:24:00+00:00 4.677474 1.448164 153.731544\n",
"... ... ... ...\n",
"2022-09-13 11:19:00+00:00 11.083653 4.156586 110.368371\n",
"2022-09-13 11:20:00+00:00 10.701058 4.266738 111.021536\n",
"2022-09-13 11:22:00+00:00 9.401947 4.001079 103.819882\n",
"2022-09-13 11:23:00+00:00 10.740930 4.017278 109.222342\n",
"2022-09-13 11:24:00+00:00 10.040337 4.726781 115.253785\n",
"\n",
"[14011 rows x 3 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"polar_data = wind_and_vessel.query('state == \"sailing\" and ms_wind > 0 and knots_vessel > 0 and rate < {rate} and rate > -{rate}'.format(rate=rate_limit)).filter(['knots_wind', 'knots_vessel', 'degrees'])\n",
"polar_data"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "50ffcf4f",
"metadata": {},
"outputs": [],
"source": [
"degrees = {}\n",
"def find_nearest(array, value):\n",
" array = np.asarray(array)\n",
" idx = (np.abs(array - value)).argmin()\n",
" return array[idx]\n",
"def aggregate_for_degrees(dataset):\n",
" radians = {}\n",
" for index, row in dataset.iterrows():\n",
" if np.isnan(row.degrees):\n",
" continue\n",
" deg = find_nearest(angles, abs(row.degrees))\n",
" rad = np.radians(deg)\n",
" wind_speed = find_nearest(speeds, row.knots_wind)\n",
" vessel_speed = round(row.knots_vessel, 3)\n",
" if deg not in degrees:\n",
" degrees[deg] = {}\n",
" if rad not in radians:\n",
" radians[rad] = {}\n",
" if wind_speed not in degrees[deg]:\n",
" degrees[deg][wind_speed] = []\n",
" if wind_speed not in radians[rad]:\n",
" radians[rad][wind_speed] = []\n",
" degrees[deg][wind_speed].append(vessel_speed)\n",
" radians[rad][wind_speed].append(vessel_speed)\n",
" for radian in radians:\n",
" for knots in radians[radian]:\n",
" series = pd.Series(radians[radian][knots])\n",
" radians[radian][knots] = series.describe()['75%']\n",
" return pd.DataFrame(radians).sort_index()#.interpolate(axis=1, downcast='infer')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "62a9a4ef",
"metadata": {},
"outputs": [],
"source": [
"polar_collected = aggregate_for_degrees(polar_data).sort_index(level=0)"
]
},
{
"cell_type": "markdown",
"id": "d55c867d",
"metadata": {},
"source": [
"## Polar diagram"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "cecb2831",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fb7f3b50940>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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A1BXV8ett95K165dCQkJuaEalUKIayM9SSGayYgRI0hLS+P8+fMopUhPTyc7O9sZfpmZmVitVu6//37n90RHR9O/f3/279/v/NrixYvp06cPQUFB3HbbbfTt27fZ34sQHYX0JIVoJu+++y5PPfUUsbGxeHp6otVqWbNmDSNGjACgtLQUb29vQkJCGn1fREQEpaWlzs+nT5/Oo48+isViuWJdIYRrSUgK0UzeffddDh48SFpaGvHx8ezdu5dnn32WqKgo5/Dq1Sil0Gg0jb7m7++Pv7+/u3dZiA5PQlKIZlBfX8/ChQvZvHkzf/jDHwAYOHAgWVlZvPnmm9x7771ERkZisVjQ6/WNeohlZWUMHz68pXZdiA5NzkkK0QysVitWqxWttvG/nIeHBw6HA4ChQ4fi5eXFrl27nM/rdDqOHz8uISlEC5GepBAuYjQayc3NdX5+7tw5srKyCA0NpVu3btx1113MmzcPPz8/4uPj2bNnD//617946623AAgKCmL69OnMmTOHLl26EBoayty5cxkwYMAvDscKIdxHo5RSLb0TQrQHGRkZ3H333Vd8ferUqXz00UeUlpayYMECdu7cSWVlJfHx8cyYMYPnn3/eec7RZDIxb948Nm7cSH19Pffccw/vv/8+cXFxzf12hBBISAohhBBNknOSQgghRBMkJIUQQogmSEgKIYQQTZCQFEIIIZogISmEEEI0QUJSCCGEaIKEpBBCCNEECUkhhBCiCRKSQgghRBMkJIUQQogmSEgKIYQQTZCQFEIIIZrwv1y9v990dTNHAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(subplot_kw={'projection': 'polar'})\n",
"ax.set_theta_zero_location('N')\n",
"for index, row in polar_collected.interpolate(axis=0).query('index == @speeds').iterrows():\n",
" ax.plot(row.sort_index(), label=\"{speed}kt\".format(speed=index))\n",
"ax.set_rticks([3, 4, 5, 6, 7])\n",
"ax.legend(loc=\"upper right\",title='Wind speed')"
]
},
{
"cell_type": "markdown",
"id": "d1135681",
"metadata": {},
"source": [
"Weather routing software deals in degrees instead of radians."
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "ee1927a6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>6</th>\n",
" <th>8</th>\n",
" <th>10</th>\n",
" <th>12</th>\n",
" <th>14</th>\n",
" <th>16</th>\n",
" <th>20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>2.75</td>\n",
" <td>3.57</td>\n",
" <td>4.23</td>\n",
" <td>4.50</td>\n",
" <td>4.92</td>\n",
" <td>5.08</td>\n",
" <td>5.49</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>2.72</td>\n",
" <td>3.86</td>\n",
" <td>4.46</td>\n",
" <td>4.99</td>\n",
" <td>5.32</td>\n",
" <td>5.45</td>\n",
" <td>5.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60</th>\n",
" <td>2.88</td>\n",
" <td>4.14</td>\n",
" <td>4.80</td>\n",
" <td>5.14</td>\n",
" <td>5.49</td>\n",
" <td>5.82</td>\n",
" <td>6.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td>3.16</td>\n",
" <td>4.47</td>\n",
" <td>4.92</td>\n",
" <td>5.43</td>\n",
" <td>5.66</td>\n",
" <td>6.03</td>\n",
" <td>6.48</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>3.28</td>\n",
" <td>4.18</td>\n",
" <td>4.91</td>\n",
" <td>5.39</td>\n",
" <td>5.62</td>\n",
" <td>5.96</td>\n",
" <td>6.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110</th>\n",
" <td>2.97</td>\n",
" <td>3.94</td>\n",
" <td>4.69</td>\n",
" <td>5.03</td>\n",
" <td>5.32</td>\n",
" <td>5.74</td>\n",
" <td>6.20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td>2.62</td>\n",
" <td>3.54</td>\n",
" <td>4.29</td>\n",
" <td>4.95</td>\n",
" <td>5.27</td>\n",
" <td>5.76</td>\n",
" <td>6.36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>135</th>\n",
" <td>2.67</td>\n",
" <td>3.44</td>\n",
" <td>4.19</td>\n",
" <td>4.74</td>\n",
" <td>5.36</td>\n",
" <td>5.77</td>\n",
" <td>6.47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>150</th>\n",
" <td>2.45</td>\n",
" <td>3.18</td>\n",
" <td>3.91</td>\n",
" <td>4.63</td>\n",
" <td>5.00</td>\n",
" <td>5.50</td>\n",
" <td>6.40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>2.47</td>\n",
" <td>3.42</td>\n",
" <td>4.03</td>\n",
" <td>4.61</td>\n",
" <td>5.00</td>\n",
" <td>5.35</td>\n",
" <td>6.45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>170</th>\n",
" <td>2.61</td>\n",
" <td>3.52</td>\n",
" <td>4.27</td>\n",
" <td>4.82</td>\n",
" <td>5.20</td>\n",
" <td>5.66</td>\n",
" <td>6.85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>178</th>\n",
" <td>2.82</td>\n",
" <td>3.51</td>\n",
" <td>4.27</td>\n",
" <td>4.70</td>\n",
" <td>5.36</td>\n",
" <td>5.72</td>\n",
" <td>7.32</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 6 8 10 12 14 16 20\n",
"40 2.75 3.57 4.23 4.50 4.92 5.08 5.49\n",
"52 2.72 3.86 4.46 4.99 5.32 5.45 5.82\n",
"60 2.88 4.14 4.80 5.14 5.49 5.82 6.12\n",
"75 3.16 4.47 4.92 5.43 5.66 6.03 6.48\n",
"90 3.28 4.18 4.91 5.39 5.62 5.96 6.22\n",
"110 2.97 3.94 4.69 5.03 5.32 5.74 6.20\n",
"120 2.62 3.54 4.29 4.95 5.27 5.76 6.36\n",
"135 2.67 3.44 4.19 4.74 5.36 5.77 6.47\n",
"150 2.45 3.18 3.91 4.63 5.00 5.50 6.40\n",
"160 2.47 3.42 4.03 4.61 5.00 5.35 6.45\n",
"170 2.61 3.52 4.27 4.82 5.20 5.66 6.85\n",
"178 2.82 3.51 4.27 4.70 5.36 5.72 7.32"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for degree in degrees:\n",
" for knots in degrees[degree]:\n",
" series = pd.Series(degrees[degree][knots])\n",
" degrees[degree][knots] = round(series.describe()['75%'], 2)\n",
"polar_degrees = pd.DataFrame(degrees).sort_index()\n",
"filtered_polar_degrees = polar_degrees.query('index == @speeds').transpose().sort_index()\n",
"filtered_polar_degrees"
]
},
{
"cell_type": "markdown",
"id": "97516fe8",
"metadata": {},
"source": [
"## Polar data CSV\n",
"\n",
"Format the data in the [ORC CSV structure](https://jieter.github.io/orc-data/site/#customplot). This can be fed into Signal K, Weather Routing apps, etc."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "c1027a33",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"twa/tws;6;8;10;12;14;16;20\n",
"40;2.75;3.57;4.23;4.5;4.92;5.08;5.49\n",
"52;2.72;3.86;4.46;4.99;5.32;5.45;5.82\n",
"60;2.88;4.14;4.8;5.14;5.49;5.82;6.12\n",
"75;3.16;4.47;4.92;5.43;5.66;6.03;6.48\n",
"90;3.28;4.18;4.91;5.39;5.62;5.96;6.22\n",
"110;2.97;3.94;4.69;5.03;5.32;5.74;6.2\n",
"120;2.62;3.54;4.29;4.95;5.27;5.76;6.36\n",
"135;2.67;3.44;4.19;4.74;5.36;5.77;6.47\n",
"150;2.45;3.18;3.91;4.63;5.0;5.5;6.4\n",
"160;2.47;3.42;4.03;4.61;5.0;5.35;6.45\n",
"170;2.61;3.52;4.27;4.82;5.2;5.66;6.85\n",
"178;2.82;3.51;4.27;4.7;5.36;5.72;7.32\n",
"\n"
]
}
],
"source": [
"print(filtered_polar_degrees.to_csv(index_label='twa/tws', sep=';'))\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "43146c2c",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
twa/tws;6;8;10;12;14;16;20
40;2.75;3.57;4.23;4.5;4.92;5.08;5.49
52;2.72;3.86;4.46;4.99;5.32;5.45;5.82
60;2.88;4.14;4.8;5.14;5.49;5.82;6.12
75;3.16;4.47;4.92;5.43;5.66;6.03;6.48
90;3.28;4.18;4.91;5.39;5.62;5.96;6.22
110;2.97;3.94;4.69;5.03;5.32;5.74;6.2
120;2.62;3.54;4.29;4.95;5.27;5.76;6.36
135;2.67;3.44;4.19;4.74;5.36;5.77;6.47
150;2.45;3.18;3.91;4.63;5.0;5.5;6.4
160;2.47;3.42;4.03;4.61;5.0;5.35;6.45
170;2.61;3.52;4.27;4.82;5.2;5.66;6.85
178;2.82;3.51;4.27;4.7;5.36;5.72;7.32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment