🌍 NASA Weather Prediction Tool

2025 NASA Space Apps Challenge: "Will It Rain On My Parade?"

A web-based climate prediction tool that forecasts temperatures and precipitation for any future date and location on Earth using 25 years of NASA satellite data.

Live Demo NASA POWER API


🎯 The Problem

Traditional weather forecasts are limited to 10-14 days. But what if you're planning a wedding in 6 months, a hiking trip next summer, or need to schedule an outdoor event? You need long-range climate insights that go beyond standard forecasts.

πŸ’‘ Our Solution

We built a statistical climate prediction tool that combines historical data analysis with climate trend detection to provide temperature and precipitation estimates for any future date and location. All math!

Key Features

  • πŸ—ΊοΈ Interactive Map - Click anywhere on Earth to select your location
  • πŸ“… Flexible Date Selection - Single date or date range predictions
  • πŸ“Š Visual Analytics - Historical data charts with trend lines
  • 🌑️ Climate-Aware Predictions - Accounts for warming/cooling trends
  • ⚑ Fast & Responsive - Runs entirely in your browser
  • 🌧️ Rain Probability - Historical precipitation likelihood

πŸ”¬ How It Works

The Statistical Approach

When we started, we thought we'd just calculate historical averages. But the mentors at the hackathon told us that wouldn't account for climate change trends. We needed machine learning... but we less than a day and no ML experience. Normally we would attempt anyways, but we wanted to have a working project without having to worry about lacking knowledge.

Our solution: Use linear regression - a statistical method we already understood from CS coursework.

The Process

  1. Fetch NASA Data πŸ›°οΈ
  2. Filter Historical Data πŸ“†
  3. Calculate Statistics πŸ“ˆ
  4. Detect Climate Trends 🌑️
  5. Generate Prediction 🎯

6. Visualize Results πŸ“Š

πŸ› οΈ Technical Stack

Frontend

  • Vanilla JavaScript - No frameworks, kept it simple and fast
  • HTML5 & CSS3 - Responsive glassmorphism design
  • Bootstrap 5.3 - Layout and responsive grid

APIs & Libraries

  • NASA POWER API - 25 years of satellite climate data
  • Leaflet.js - Interactive map with OpenStreetMap tiles

- Chart.js - Data visualization (line & histogram charts)

πŸ“– Usage

Single Date Prediction

  1. Select a location by clicking on the map or dragging the marker
  2. Choose "Single date" mode from the dropdown
  3. Pick a date (any future date)
  4. Click "Predict" to see:
    • Predicted temperature with confidence interval
    • Rain probability based on historical data
    • Chart showing historical temps and trend line

Date Range Prediction

  1. Select a location on the map
  2. Choose "Date range" mode
  3. Pick start and end dates (e.g., Oct 22 - Oct 31)
  4. Click "Predict" to see:
    • Average temperature for that period
    • Rain probability
    • Temperature distribution histogram

πŸ“Š Example Results

Single Date: October 12, 2026 in Montreal

Predicted High: 15.8Β°C Β± 3.6Β°C
Chance of Rain: 32%
Trend: +0.08Β°C per year (warming)

Date Range: October 22-31, 2026 in Montreal

Average High: 10.2Β°C
Chance of Rain: 35%
Data points: 250 (10 days Γ— 25 years)

!!! Limitations

  • Not a weather forecast - Predicts climate patterns, not specific weather
  • Linear assumptions - Assumes trends continue linearly (climate is complex)
  • No seasonal cycles - Doesn't model El NiΓ±o, La NiΓ±a, etc.
  • Limited to 25 years - Dataset starts in 2000
  • Data gaps - Some remote locations may have sparse data

πŸ† Hackathon Journey

The Pivot

Initial Idea: Just calculate historical averages β†’ Problem: Mentors told us this ignores climate change β†’ Suggested: Use machine learning models β†’ Reality Check: We had 48 hours and no ML experience β†’ Solution: Statistical approach with OLS regression


Built for the 2025 NASA Space Apps Challenge

Built With

Share this project:

Updates