--- 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