Skip to content

kevinddchen/wavey

Repository files navigation

Wavey

--> live website <--

Manifesto

The goal of this project is to combine the accuracy of NWPS with the user interface of Windy.

  • The Nearshore Wave Prediction System (NWPS) has high-resolution data and is quite accurate because it uses a sophisticated forecasting model. However, I don't like the user interface; you have to click through individual frames and it is difficult to get numerical values.
  • Windy has a great user interface that also displays wind, tides, etc. However, the data doesn't feel very accurate since forecasts don't make much sense between dive sites; why is a 6 ft swell at Breakwater no big deal, but a 6 ft swell at Monastery un-divable?!

Data

  • All wave and tide forecast data comes from NWPS. We make a very similar map showing the wave height in color and wave direction with arrows. We also plot the wave height over time for two dive sites, Breakwater (San Carlos beach) and Monastery beach. This is more similar to Windy's user interface, and is useful for tracking how conditions for a particular site develop over time.

    • The website updates daily when data from new NWPS runs are available.
  • We use basemap to render the coastline map.

Local Development

This is a Python project, and the easiest way to get started is with uv:

uv venv
uv sync
source .venv/bin/activate

To generate the webpage,

python -m wavey

This will create a directory "_site/" which contains the webpage.

We use mypy to perform static type checking and ruff to perform linting and formatting.

mypy .

ruff check .
ruff format --check .

About

Visualizing nearshore wave forecasts for Monterey scuba diving

Resources

License

Stars

Watchers

Forks

Packages

No packages published