File size: 1,755 Bytes
6029875
e5fde52
 
 
 
fe131f5
 
6029875
e5fde52
aa06233
6029875
 
e5fde52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
title: Wave Visualizer
emoji: 🌊
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false
license: gpl-3.0
short_description: Real-time wave data with interactive visualization
---

# Wave Visualizer 🌊

A real-time global wave data visualization tool that fetches wave height, direction, and period data from NOAA and displays it using interactive Leaflet maps with velocity particle physics.

## Features

- **Real-time Wave Data**: Fetches current wave conditions from NOAA Wave Watch 3 model
- **Interactive Visualization**: Leaflet map with particle animation showing wave movement
- **Global Coverage**: Supports Atlantic, Pacific, and Arctic regions
- **Velocity Particles**: Animated particles that move according to wave direction and speed
- **Color-coded Heights**: Wave heights visualized with color gradients
- **Adjustable Parameters**: Control particle count, speed, and lifespan

## Data Sources

- NOAA Wave Watch 3 (WW3) Model
- ECMWF Open Data
- GRIB file processing with xarray and cfgrib

## Usage

The application automatically fetches wave data every hour and displays it on an interactive map. Use the controls to adjust the particle animation parameters:

- **Particle Count**: Number of particles to display (100-5000)
- **Particle Speed**: Animation speed multiplier (0.1-5.0)
- **Particle Life**: How long particles live before respawning (10-200 frames)

## Wave Height Color Scale

- πŸ”΅ Blue: 0-1m (calm seas)
- 🟒 Green: 1-2m (light seas)  
- 🟑 Yellow: 2-4m (moderate seas)
- 🟠 Orange: 4-6m (rough seas)
- πŸ”΄ Red: 6+m (very rough seas)

## Development

Built with:
- Python 3.10
- Flask for API server
- Leaflet.js for mapping
- HTML5 Canvas for particle animation
- Docker for deployment