Previous: JobJetHomeNext: Controllers

Surf Height

Surf reports, forecasts and coastal weather that turn ocean model data into conditions you can read at a glance.

role
Design and engineering
type
Web app
stack
Python, PHP, JavaScript
url
surfheight.com (opens in a new tab)

problem

Surf forecasts start as global ocean and weather models: wave height and period far offshore, on a grid, every few hours. That isn't what breaks at your beach, and it isn't something you can read before work.

approach

data
A Python pipeline pulls NOAA's GFS wave and weather models, a NASA tide model, and live NDBC buoys and stations.
nearshore
Offshore swell is converted to breaking height at each beach, accounting for refraction as the waves reach the shore.
ratings
A tested rating function combines height, period and wind direction relative to the beach into stars and plain words: Good, Fair or Poor, with offshore, cross-shore or onshore wind.
one source
The same forecast pipeline feeds the pages and a JSON API, so the wave math lives in one place. New data goes live only after it validates; otherwise the last good forecast stays up.

result

115 spots with 7-day forecasts, current conditions, tides, sun times and wetsuit advice, from Ponte Vedra to Mavericks. Forecasts regenerate every day, and buoy and station observations update every hour.

Previous: JobJetBack to ProjectsNext: Controllers