Wave Analysis Dashboard for the Irish Weather Buoy Network.
Rogue Wave Definition: Max Wave / Signif Wave > 2.0. See definitions and methodology for details.
Use the range slider at the bottom to zoom all panels to a specific time period.
rogue_ratio = Max Wave / Signif Wave. Values > 2.0 define a rogue wave event. gust_ratio = Gust / Wind. Values > 1.5 indicate a rogue gust.
Rogue Gust Definition: A rogue gust has Gust / Wind > 1.5 (ratio of peak gust to sustained wind speed). See definitions. This parallels the rogue wave definition (Max Wave / Signif Wave > 2.0).
Use the range slider at the bottom to zoom all panels to a specific time period.
gust_ratio = Gust / Wind. Values > 1.5 define a rogue gust event.
Comparing wave rogue events (Max Wave / Signif Wave > 2.0) with gust rogue events (Gust / Wind > 1.5).
Gust Factor = Peak Gust / Sustained Wind. Typical value ~1.3. See methodology for measurement details. Rogue Gust threshold: GF > 1.5 (see Rogue Gusts page for detailed analysis).
Extreme value analysis based on hourly maximum observations. Two approaches are compared: Model fitting (GEV/GPD) and Predictions (return levels). See extreme value methods for statistical details.
Comparison of confidence interval methods for GPD return levels: delta-method (asymptotic, from standard errors) vs block bootstrap (resampled, 500 replicates, block size 48h). Format: estimate [lower, upper].
The Generalized Pareto Distribution has CDF for exceedances \(y = x - u\) above threshold \(u\):
\[F(y) = 1 - \left(1 + \frac{\xi y}{\sigma}\right)^{-1/\xi}\]with two parameters:
| Parameter | Symbol | Interpretation |
|---|---|---|
| Scale | \(\sigma\) | Spread of exceedances |
| Shape | \(\xi\) | Tail behaviour (same as GEV) |
Return levels for T-year event:
\[z_T = u + \frac{\sigma}{\xi}\left[(n_y \lambda T)^\xi - 1\right]\]where \(n_y\) = observations per year, \(\lambda\) = exceedance rate.
Threshold sensitivity: GPD results depend on threshold choice. Lower thresholds give more data but may violate asymptotic theory. The mev package provides diagnostics.
Note: Limited sample size (n~8 years). The pooled GEV analysis below is illustrative only due to few annual maxima. The per-station GPD approach above is preferred.
Bayesian approaches: The mev package supports profile likelihood and Bayesian methods for improved uncertainty quantification.
Storm propagation: Cross-correlation lag analysis between stations could enable offshore-to-nearshore prediction with lead times.
This page shows a step-by-step worked example of how Signif Wave (significant wave height) is calculated from raw buoy measurements during one 17.5-minute sampling window.
Total waves: 100 Top 1/3 count: 34 waves
Step 3: Calculate Signif Wave = mean of top 1/3Signif Wave = mean(top 34 waves) = 3.37 m
Step 4: Max Wave = tallest single waveMax Wave = 4.33 m
Step 5: Calculate RatioRatio = Max Wave / Signif Wave = 4.33 / 3.37 = 1.28
Normal Sea State. Ratio in typical range (1.5-1.9)
Step-by-step Signif Wave calculation. During each 17.5-min measurement, the buoy records ~300 waves (100 shown here). ‘in_top_third’ marks the highest 34 waves. Signif Wave = mean(top 1/3) = 3.37 m. Max Wave = tallest single wave = 4.33 m. Ratio = 1.28 (normal range 1.5-1.9; >2.0 = rogue wave). See Ratios.Question: Does M6 (furthest offshore, 320km) predict wave conditions at other stations hours in advance?
Positive optimal lag means the first station leads (predicts) the second.
M6 is 320km offshore in the deep Atlantic. Waves reaching M6 will propagate toward coastal stations over several hours.
Extreme = top 5% of wave heights at each station.
P(Station B extreme | Station A extreme) - probability of extreme at B given extreme at A:
Copulas model the dependence structure, especially in the tails (extremes).
For ocean buoys, λU > 0.3 indicates that storm events affect multiple stations simultaneously.
Forecasting: If M6 (offshore) shows large waves, can we predict when they’ll reach coastal stations?
Risk assessment: During storms, are all stations simultaneously at risk, or do waves propagate sequentially?
Rogue wave correlation: Do rogue wave events at one station predict increased risk at others?
Waves travel at the group velocity, which depends on wave period:
\[v_g = \frac{gT}{4\pi} \approx 1.56T \text{ m/s}\]For typical swell with period T = 10s: \(v_g \approx 15.6\) m/s \(\approx 56\) km/h
For longer period swell (T = 15s): \(v_g \approx 23\) m/s \(\approx 84\) km/h
Expected lag from M6:| Target | Distance (km) | Lag (T=10s) | Lag (T=15s) |
|---|---|---|---|
| M5 | 200 | 3.6 h | 2.4 h |
| M2 | 420 | 7.5 h | 5.0 h |
| M3 | 380 | 6.8 h | 4.5 h |
| M4 | 580 | 10.4 h | 6.9 h |
Random Forest model predicting significant wave height from meteorological variables and lagged features. Model uses ranger with 500 trees trained on the first 70% of data (time-ordered split); the remaining 30% is held out as a test set for the metrics below. The time-ordered split ensures no future data leaks into training. See methodology for measurement details and the Model Summary tab for the fitted formula and ranger output.
Test R-squared
0.983
Test RMSE (m)
0.226 m
Test MAE (m)
0.145 m
Test Samples
80,989
wave_height ~ wind_speed + gust + wind_speed_lag1 + wave_height_lag1 + wave_height_lag2 + wave_height_lag3 + wave_period +
atmospheric_pressure + pressure_change + wind_dir_sin + wind_dir_cos + hour + month
ranger model parameters:
| Parameter | Value |
|---|---|
| Number of trees | 500 |
| Predictors used | 13 |
| Training observations | 188,972 |
| Test observations | 80,989 |
| Training R² | 0.9855 |
| OOB RMSE (m) | 0.1933 |
| Test R² | 0.9826 |
| Test RMSE (m) | 0.2257 |
| Test MAE (m) | 0.1451 |
| Test Bias (m) | -0.0081 |
=== Wave Height Prediction Model Report ===
MODEL PERFORMANCE
----------------
Training R^2: 0.986
OOB RMSE: 0.193 m
Test RMSE: 0.226 m
Test MAE: 0.145 m
Test R^2: 0.983
Test samples: 80989
TOP PREDICTORS
--------------
1. wave_height_lag1 (importance: 155084.8)
2. wave_height_lag2 (importance: 113520.9)
3. wave_height_lag3 (importance: 91137.0)
4. wave_period (importance: 66892.2)
5. gust (importance: 24582.1)
PERFORMANCE BY WAVE HEIGHT
--------------------------
Low (0-2m): RMSE=0.11m, MAE=0.07m (n=28523)
Moderate (2-4m): RMSE=0.19m, MAE=0.14m (n=34218)
High (4-6m): RMSE=0.30m, MAE=0.23m (n=13758)
Extreme (>6m): RMSE=0.55m, MAE=0.37m (n=4477)
| Term | Definition | Reference |
|---|---|---|
| Signif Wave = H1/3 = 4σ | All three mean the same: significant wave height = mean of highest 1/3 of waves = 4 × standard deviation of sea surface. See worked example. | Wikipedia, Longuet-Higgins 1952 |
| Max Wave | Maximum individual wave height in 17.5-min measurement period | NOAA wave background. Typically Max Wave / Signif Wave ~ 1.5-1.9 |
| Rogue Wave | Wave where Max Wave / Signif Wave > 2.0 | Wikipedia, Dysthe 2008 |
| Rogue Ratio | = Max Wave / Signif Wave. Values > 2.0 indicate a rogue wave | Used in Rogue Events |
| Gust Ratio | = Peak Gust / Sustained Wind. Typical value ~1.3 | Used in Rogue Gusts |
| Rogue Gust | Observation where Gust / Wind > 1.5 | Used in Rogue Gusts |
| Sustained Wind | 10-minute mean wind speed at ~3m height. Denominator in gust factor. | WMO Guide |
| GEV | Generalized Extreme Value distribution for annual maxima | Wikipedia. Used in Hourly Max |
| GPD | Generalized Pareto Distribution for peaks over threshold | Wikipedia. Used in Hourly Max |
| Return Level | Value expected to be exceeded once per T years | Used in Hourly Max |
| Gust Factor | Peak Gust / Sustained Wind (~1.3 typical) | AMS Glossary. Used in Gust Factor |
| STL | Seasonal-Trend decomposition (Loess) | Wikipedia |
| Event Type | Ratio Formula | Threshold | Interpretation |
|---|---|---|---|
| Rogue Wave | Max Wave / Signif Wave | > 2.0 | Individual wave significantly exceeds average sea state |
| Rogue Gust | Gust / Wind Speed | > 1.5 | Peak gust significantly exceeds sustained wind |
| Beaufort | Description | Wind Speed (m/s) | Sea State |
|---|---|---|---|
| 0-5 | Calm to Fresh Breeze | 0 – 10.7 | Ripples to moderate waves |
| 6-7 | Strong Breeze to Near Gale | 10.8 – 17.1 | Large waves, whitecaps |
| 8-9 | Gale to Severe Gale | 17.2 – 24.4 | High waves, spray |
| 10 | Storm | 24.5 – 28.4 | Very high waves |
| 11 | Violent Storm | 28.5 – 32.6 | Exceptionally high waves |
| 12 | Hurricane Force | > 32.7 | Air filled with foam |
These three notations all mean the same thing:
The equivalence arises from the Rayleigh distribution of wave heights. For a narrow-banded wave spectrum, the theoretical relationship is Signif Wave = 4 × sqrt(m0) where m0 is the variance of sea elevation. See Wikipedia: Significant wave height and NOAA wave background for further detail.
See How Signif Wave is Calculated for a worked example, and the Methodology tab for measurement details.
| Requirement | Specification | Rationale |
|---|---|---|
| Sample size | ~100+ waves | Statistical validity for H1/3 |
| Wave periods | 5–15 seconds | 17.5 min yields ~70–200 waves |
| WMO standard | 20–30 minutes | 17.5 is practical lower bound |
| Trade-off | Resolution vs. statistics | Shorter = more temporal detail |
Data source: Marine Institute ERDDAP
| Method | Full Name | Input Data | Used In |
|---|---|---|---|
| GEV | Generalized Extreme Value | Block maxima (hourly max) | Hourly Max |
| GPD | Generalized Pareto Distribution | Peaks over threshold | Hourly Max |
| Return Level | N/A | GEV/GPD fitted parameters | Hourly Max |
| Author | Year | Title | DOI |
|---|---|---|---|
| Longuet-Higgins, M.S. | 1952 | Statistical distribution of sea waves | Yale archive |
| Dysthe, K. et al. | 2008 | Oceanic rogue waves | 10.1146/annurev.fluid.40.111406.102203 |
| Coles, S. | 2001 | Statistical Modeling of Extreme Values (Springer) | — |
| Package | Purpose | Link |
|---|---|---|
targets |
Pipeline orchestration | CRAN |
ranger |
Fast Random Forest implementation | CRAN |
mev |
Extreme value analysis | CRAN |
extRemes |
GEV/GPD fitting | CRAN |
plotly |
Interactive visualisation | CRAN |
DT |
Interactive tables | CRAN |
dygraphs |
Time series widgets | CRAN |
irishbuoys |
This package | GitHub |
| Source | Description | URL |
|---|---|---|
| Marine Institute Ireland | Buoy network operator | marine.ie |
| ERDDAP Data Portal | Raw buoy data access | erddap.marine.ie |
| ERDDAP Metadata | Dataset documentation | info/IWBNetwork |