|
--- |
|
title: Global Wind Map |
|
emoji: π |
|
colorFrom: blue |
|
colorTo: green |
|
sdk: gradio |
|
sdk_version: 4.19.2 |
|
app_file: app.py |
|
pinned: false |
|
license: mit |
|
--- |
|
|
|
# π Global Wind Map |
|
|
|
A real-time interactive wind map showing global wind patterns using live data from the OpenMeteo API. |
|
|
|
## π Features |
|
|
|
- **π¬οΈ Real-Time Wind Data**: Live wind speed and direction from OpenMeteo API |
|
- **πΊοΈ Interactive Map**: Pan, zoom, and explore wind patterns worldwide |
|
- **π Multiple Visualizations**: |
|
- Animated wind particles |
|
- Color-coded wind vectors |
|
- Wind speed heatmap |
|
- **ποΈ Customizable Display**: |
|
- Adjustable data resolution |
|
- Toggle different visualization layers |
|
- Detailed wind information on hover |
|
|
|
## π Usage |
|
|
|
1. Adjust the resolution slider to control data density |
|
2. Toggle visualization layers: |
|
- Wind Vectors: Arrows showing wind direction and speed |
|
- Wind Speed Heatmap: Color-coded wind intensity |
|
- Animated Particles: Dynamic wind flow visualization |
|
3. Click on wind vectors for detailed information |
|
4. Pan and zoom to explore different regions |
|
|
|
## π οΈ Technical Details |
|
|
|
- Built with Gradio and Folium |
|
- Real-time data from OpenMeteo API |
|
- Parallel data fetching for improved performance |
|
- Adaptive resolution based on latitude |
|
- Enhanced visualization with dynamic scaling |
|
|
|
## π Data Sources |
|
|
|
Wind data is provided by the [OpenMeteo API](https://open-meteo.com/), offering: |
|
- Current wind conditions |
|
- Global coverage |
|
- Regular updates |
|
- Wind speed and direction at 10m height |
|
|
|
## π€ Contributing |
|
|
|
Feel free to open issues or submit pull requests to improve the visualization! |
|
|
|
## Wind Pattern Simulation |
|
|
|
The application currently displays simulated wind data with realistic patterns: |
|
|
|
- **Trade Winds**: Easterly winds near the equator (-30Β° to 30Β° latitude) |
|
- **Westerlies**: Westerly winds in mid-latitudes (30Β° to 60Β° and -60Β° to -30Β°) |
|
- **Polar Winds**: Variable winds in polar regions |
|
|
|
## Quick Start |
|
|
|
### Option 1: Using the run script |
|
```bash |
|
chmod +x run.sh |
|
./run.sh |
|
``` |
|
|
|
### Option 2: Manual setup |
|
```bash |
|
# Create and activate virtual environment |
|
python3 -m venv venv |
|
source venv/bin/activate |
|
|
|
# Install dependencies |
|
pip install -r requirements.txt |
|
|
|
# Run the application |
|
python app.py |
|
``` |
|
|
|
## Usage |
|
|
|
1. **Start the application** using one of the methods above |
|
2. **Open your browser** to the provided URL (typically `http://localhost:7860`) |
|
3. **Adjust controls** in the left panel: |
|
- **Data Resolution**: Lower values = more detail (but slower rendering) |
|
- **Show Wind Vectors**: Toggle wind direction arrows |
|
- **Show Wind Speed Heatmap**: Toggle colored wind speed overlay |
|
4. **Explore the map** by zooming and panning |
|
5. **Click on wind arrows** to see detailed wind information |
|
|
|
## Wind Speed Legend |
|
|
|
- π΅ **Blue (0-3 m/s)**: Light winds |
|
- π’ **Green (3-7 m/s)**: Moderate winds |
|
- π **Orange (7-12 m/s)**: Strong winds |
|
- π΄ **Red (12+ m/s)**: Very strong winds |
|
|
|
## Dependencies |
|
|
|
- **gradio**: Web interface framework |
|
- **folium**: Interactive mapping library |
|
- **numpy**: Numerical computations |
|
- **pandas**: Data manipulation |
|
- **requests**: HTTP requests (for future API integration) |
|
|
|
## Future Enhancements |
|
|
|
The current version uses simulated data for demonstration. Planned improvements include: |
|
|
|
- **Real Weather Data**: Integration with APIs like: |
|
- OpenWeather API |
|
- NOAA Global Forecast System |
|
- European Centre for Medium-Range Weather Forecasts |
|
- **Historical Data**: View wind patterns from past dates |
|
- **Weather Forecast**: Show predicted wind patterns |
|
- **Additional Layers**: Temperature, pressure, precipitation |
|
- **Export Features**: Save maps as images or data |
|
|
|
## Configuration |
|
|
|
For production deployment on Hugging Face Spaces, the application will automatically start when the Space is loaded. |
|
|
|
## Development |
|
|
|
To extend the application: |
|
|
|
1. **Add real data sources** in the `get_wind_data()` function |
|
2. **Customize map styling** in the `create_wind_map()` function |
|
3. **Add new controls** in the Gradio interface section |
|
4. **Implement additional weather layers** using Folium plugins |
|
|
|
## License |
|
|
|
GPL-3.0 License - see the LICENSE file for details. |
|
|