{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PacWave Resource Assessment\n", "\n", "This example notebook provides an example using MHKiT to perform a resource assessment similar to Dunkel et. al at the PACWAVE site following the IEC 62600-101 where applicable. PacWave is an open ocean, grid-connected, full-scale test facility consisting of two sites (PacWave-North & PacWave-South) for wave energy conversion technology testing located just a few miles from the deep-water port of Newport, Oregon. This example notebook performs a resource analysis using omni-directional wave data from a nearby NDBC buoy and replicates plots created by Dunkel et. al and prescribed by IEC TS 62600-101 using these data.\n", "\n", "Note: this example notebook requires the Python package folium which is not a requirement of MHKiT and may need to be pip installed seperately.\n", "\n", "Dunkle, Gabrielle, et al. \"PacWave Wave Resource Assessment.\" (2020)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import mhkit\n", "from mhkit.wave import resource, performance, graphics, contours\n", "from sklearn.mixture import GaussianMixture\n", "from mhkit.wave.io import ndbc\n", "import matplotlib.pyplot as plt\n", "from matplotlib import colors \n", "from scipy import stats\n", "import pandas as pd\n", "import numpy as np\n", "import folium\n", "import os\n", "\n", "import matplotlib.pylab as pylab\n", "params = {'legend.fontsize': 'x-large',\n", " 'figure.figsize': (15, 5),\n", " 'axes.labelsize': 'x-large',\n", " 'axes.titlesize':'x-large',\n", " 'xtick.labelsize':'x-large',\n", " 'ytick.labelsize':'x-large'}\n", "pylab.rcParams.update(params)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Buoy Location\n", "\n", "The closest NDBC buoy to PacWave is located further from shore than the PacWave sites, as can be seen in the map below. The buoy used in this analysis is NDBC buoy 46050 (blue marker). The analysis here will focus on PacWave-South (red marker) which is approximately 40 km closer to shore than the NDBC buoy. PacWave-North is shown by the green marker. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | #YY | \n", "MM | \n", "DD | \n", "hh | \n", "mm | \n", ".0200 | \n", ".0325 | \n", ".0375 | \n", ".0425 | \n", ".0475 | \n", "... | \n", ".3300 | \n", ".3400 | \n", ".3500 | \n", ".3650 | \n", ".3850 | \n", ".4050 | \n", ".4250 | \n", ".4450 | \n", ".4650 | \n", ".4850 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2020 | \n", "1 | \n", "1 | \n", "0 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "2.28 | \n", "2.99 | \n", "... | \n", "0.19 | \n", "0.22 | \n", "0.15 | \n", "0.12 | \n", "0.12 | \n", "0.06 | \n", "0.04 | \n", "0.03 | \n", "0.02 | \n", "0.02 | \n", "
1 | \n", "2020 | \n", "1 | \n", "1 | \n", "1 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.37 | \n", "3.30 | \n", "3.12 | \n", "... | \n", "0.20 | \n", "0.15 | \n", "0.14 | \n", "0.14 | \n", "0.07 | \n", "0.05 | \n", "0.04 | \n", "0.02 | \n", "0.03 | \n", "0.01 | \n", "
2 | \n", "2020 | \n", "1 | \n", "1 | \n", "2 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "4.80 | \n", "5.16 | \n", "... | \n", "0.07 | \n", "0.18 | \n", "0.14 | \n", "0.10 | \n", "0.13 | \n", "0.08 | \n", "0.04 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
3 | \n", "2020 | \n", "1 | \n", "1 | \n", "3 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "1.70 | \n", "1.38 | \n", "... | \n", "0.30 | \n", "0.14 | \n", "0.11 | \n", "0.08 | \n", "0.10 | \n", "0.03 | \n", "0.03 | \n", "0.03 | \n", "0.01 | \n", "0.00 | \n", "
4 | \n", "2020 | \n", "1 | \n", "1 | \n", "4 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.24 | \n", "5.72 | \n", "7.90 | \n", "... | \n", "0.12 | \n", "0.18 | \n", "0.07 | \n", "0.10 | \n", "0.12 | \n", "0.04 | \n", "0.03 | \n", "0.03 | \n", "0.02 | \n", "0.02 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
8616 | \n", "2020 | \n", "12 | \n", "31 | \n", "19 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.00 | \n", "... | \n", "0.11 | \n", "0.08 | \n", "0.08 | \n", "0.08 | \n", "0.03 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "0.01 | \n", "0.01 | \n", "
8617 | \n", "2020 | \n", "12 | \n", "31 | \n", "20 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.99 | \n", "... | \n", "0.07 | \n", "0.10 | \n", "0.06 | \n", "0.06 | \n", "0.05 | \n", "0.04 | \n", "0.03 | \n", "0.03 | \n", "0.01 | \n", "0.01 | \n", "
8618 | \n", "2020 | \n", "12 | \n", "31 | \n", "21 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.01 | \n", "... | \n", "0.05 | \n", "0.06 | \n", "0.06 | \n", "0.06 | \n", "0.04 | \n", "0.03 | \n", "0.03 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
8619 | \n", "2020 | \n", "12 | \n", "31 | \n", "22 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.93 | \n", "... | \n", "0.10 | \n", "0.09 | \n", "0.09 | \n", "0.10 | \n", "0.04 | \n", "0.03 | \n", "0.02 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
8620 | \n", "2020 | \n", "12 | \n", "31 | \n", "23 | \n", "40 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.02 | \n", "0.39 | \n", "... | \n", "0.14 | \n", "0.05 | \n", "0.11 | \n", "0.08 | \n", "0.04 | \n", "0.04 | \n", "0.02 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
8621 rows × 52 columns
\n", "\n", " | 0.0200 | \n", "0.0325 | \n", "0.0375 | \n", "0.0425 | \n", "0.0475 | \n", "0.0525 | \n", "0.0575 | \n", "0.0625 | \n", "0.0675 | \n", "0.0725 | \n", "... | \n", "0.3300 | \n", "0.3400 | \n", "0.3500 | \n", "0.3650 | \n", "0.3850 | \n", "0.4050 | \n", "0.4250 | \n", "0.4450 | \n", "0.4650 | \n", "0.4850 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
2020-01-01 00:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "2.28 | \n", "2.99 | \n", "0.00 | \n", "0.00 | \n", "2.91 | \n", "7.23 | \n", "10.65 | \n", "... | \n", "0.19 | \n", "0.22 | \n", "0.15 | \n", "0.12 | \n", "0.12 | \n", "0.06 | \n", "0.04 | \n", "0.03 | \n", "0.02 | \n", "0.02 | \n", "
2020-01-01 01:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.37 | \n", "3.30 | \n", "3.12 | \n", "0.94 | \n", "1.49 | \n", "3.13 | \n", "8.58 | \n", "12.09 | \n", "... | \n", "0.20 | \n", "0.15 | \n", "0.14 | \n", "0.14 | \n", "0.07 | \n", "0.05 | \n", "0.04 | \n", "0.02 | \n", "0.03 | \n", "0.01 | \n", "
2020-01-01 02:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "4.80 | \n", "5.16 | \n", "0.66 | \n", "1.44 | \n", "4.19 | \n", "14.32 | \n", "26.21 | \n", "... | \n", "0.07 | \n", "0.18 | \n", "0.14 | \n", "0.10 | \n", "0.13 | \n", "0.08 | \n", "0.04 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
2020-01-01 03:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "1.70 | \n", "1.38 | \n", "0.00 | \n", "0.47 | \n", "2.91 | \n", "15.89 | \n", "32.12 | \n", "... | \n", "0.30 | \n", "0.14 | \n", "0.11 | \n", "0.08 | \n", "0.10 | \n", "0.03 | \n", "0.03 | \n", "0.03 | \n", "0.01 | \n", "0.00 | \n", "
2020-01-01 04:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.24 | \n", "5.72 | \n", "7.90 | \n", "2.75 | \n", "0.59 | \n", "4.39 | \n", "17.49 | \n", "18.75 | \n", "... | \n", "0.12 | \n", "0.18 | \n", "0.07 | \n", "0.10 | \n", "0.12 | \n", "0.04 | \n", "0.03 | \n", "0.03 | \n", "0.02 | \n", "0.02 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2020-12-31 19:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.00 | \n", "6.15 | \n", "21.06 | \n", "28.97 | \n", "21.23 | \n", "20.75 | \n", "... | \n", "0.11 | \n", "0.08 | \n", "0.08 | \n", "0.08 | \n", "0.03 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "0.01 | \n", "0.01 | \n", "
2020-12-31 20:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.99 | \n", "5.20 | \n", "21.62 | \n", "26.23 | \n", "27.02 | \n", "32.43 | \n", "... | \n", "0.07 | \n", "0.10 | \n", "0.06 | \n", "0.06 | \n", "0.05 | \n", "0.04 | \n", "0.03 | \n", "0.03 | \n", "0.01 | \n", "0.01 | \n", "
2020-12-31 21:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.01 | \n", "0.58 | \n", "6.02 | \n", "21.26 | \n", "18.66 | \n", "13.60 | \n", "... | \n", "0.05 | \n", "0.06 | \n", "0.06 | \n", "0.06 | \n", "0.04 | \n", "0.03 | \n", "0.03 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
2020-12-31 22:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.93 | \n", "3.01 | \n", "6.65 | \n", "8.73 | \n", "12.84 | \n", "27.10 | \n", "... | \n", "0.10 | \n", "0.09 | \n", "0.09 | \n", "0.10 | \n", "0.04 | \n", "0.03 | \n", "0.02 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
2020-12-31 23:40:00 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.02 | \n", "0.39 | \n", "1.20 | \n", "6.47 | \n", "18.29 | \n", "23.32 | \n", "18.16 | \n", "... | \n", "0.14 | \n", "0.05 | \n", "0.11 | \n", "0.08 | \n", "0.04 | \n", "0.04 | \n", "0.02 | \n", "0.02 | \n", "0.01 | \n", "0.01 | \n", "
8621 rows × 47 columns
\n", "