WaveVisualizer / README.md
nakas's picture
Convert to Dockerized Gradio app for proper Hugging Face deployment
fe131f5
|
Raw
History Blame Contribute Delete
1.76 kB
metadata
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