termidar π¦οΈ
Real-time weather radar in your terminal!
Video:
https://github.com/user-attachments/assets/86537adf-1c31-4ebc-9bda-59b3e88fb57c
Features
- π― Real-time weather radar - Fetches live NEXRAD data
- π ZIP code lookup - Enter any US ZIP code
- π¬ Animated radar loop - Watch weather patterns move
- π Auto-refresh - Updates every 5 minutes
- β‘ Interactive controls - Play, pause, navigate frames
- π Precipitation intensity - Color-coded from light to severe
Installation
From Source
# Clone the repository
git clone https://github.com/N-Erickson/termidar.git
cd termiradar
# Build and install
go install
# Or run directly
go run main.go
Requirements
- Go 1.19 or higher
- Terminal with Unicode support
- Internet connection for radar data
Usage
termidar
Controls
| Key |
Action |
Enter |
Submit ZIP code |
Space |
Play/Pause animation |
β / β |
Previous/Next frame |
+ / - |
Increase/Decrease speed |
R |
Refresh radar data |
ESC |
Return to ZIP input |
Q |
Quit |
Supported ZIP Codes
termidar works with any valid US ZIP code. Some examples:
10001 - New York, NY
60601 - Chicago, IL
98101 - Seattle, WA
33101 - Miami, FL
90210 - Beverly Hills, CA
02108 - Boston, MA
75201 - Dallas, TX
80202 - Denver, CO
How It Works
termidar fetches real weather radar data from multiple sources:
- Iowa State University Mesonet - NEXRAD radar imagery
- RainViewer API - Global precipitation data
- NWS API - Radar station information
The radar images are processed and converted to ASCII art for terminal display, with color-coded precipitation intensity:
- π’ Light precipitation
- π‘ Moderate precipitation
- π Heavy precipitation
- π΄ Severe precipitation
Development
Building
# Get dependencies
go mod download
# Build binary
go build -o termidar
# Run tests
go test ./...
Architecture
- Bubble Tea - Terminal UI framework
- Lipgloss - Styling and layout
- Image processing - Converts radar PNGs to terminal display
- Concurrent updates - Separate timers for animation, sweep, and refresh
License
MIT License - see LICENSE file for details
Acknowledgments