Skip to content

VectorInstitute/gaca-early-warning

Vector Institute

Global AI Alliance for Climate Action

High-Resolution Temperature Forecasting


code checks unit tests integration tests docs GitHub License

Automated production forecasting system for Southwestern Ontario. Features hourly GCNGRU predictions stored in BigQuery with rolling 30-day evaluation metrics.

Key Features:

  • Automated Forecasts: Hourly execution at :15 past each hour
  • Multi-Horizon: 1, 6, 12, 18, 24, 36, 48-hour predictions
  • Live Dashboard: Real-time forecast visualization with auto-refresh
  • CLI Tools: Manual inference and batch prediction capabilities
  • Evaluation: Daily rolling 30-day RMSE/MAE metrics

Installation

This project uses uv for dependency management and requires Python 3.12+.

Prerequisites

If you don't have uv installed, install it using:

curl -LsSf https://astral.sh/uv/install.sh | sh

Setup

# Clone the repository
git clone https://github.com/VectorInstitute/gaca-early-warning.git
cd gaca-early-warning

# Install all dependencies
uv sync --dev --group docs

# Activate the virtual environment
source .venv/bin/activate

Automated Forecasting System

The backend runs automated hourly forecasts and daily evaluations using APScheduler:

Production Deployment

Forecasting Schedule:

  • Runs hourly at :15 (after NOAA data availability)
  • Automatically stores predictions to BigQuery
  • CSV outputs saved to configurable directory

Evaluation Schedule:

  • Runs daily at 00:30 UTC
  • Computes rolling 30-day metrics (RMSE/MAE)
  • SQL-based aggregation for efficiency

Dashboard:

  • Auto-refreshes every 30 minutes
  • Smart polling checks for new data before fetching
  • Displays scheduler status and last update time
  • Manual refresh button available

Environment Variables:

FORECAST_OUTPUT_DIR=forecasts/         # Output directory for CSVs
GCP_PROJECT_ID=your-project-id         # BigQuery project (optional)
BIGQUERY_DATASET=gaca_evaluation       # BigQuery dataset name

CLI Usage

The CLI remains unchanged and works independently of the automated system:

# Single forecast
gaca-ews predict --config config.yaml --output results/

# Batch predictions for date range
gaca-ews batch-predict --start-date "2024-02-06 12:00" --end-date "2024-02-10 12:00" --interval 24

# Model information
gaca-ews info

# Version
gaca-ews version

Author

Joud El-Shawa - Vector Institute for AI & Western University

This repository is intended for early deployment testing of the GACA forecasting pipeline.

About

High-resolution temperature forecasting system

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •