Theodore Roosevelt Presidential Library Labs

TRPL Labs  /  Embeddable Widget

Embeddable Widget

Northern Lights Watch

Tonight's aurora outlook, a year-ahead trip planner, and what records since 1932 say about when to come.

Screenshot of Northern Lights Watch

Try it right here

This loads the live project from its own domain, exactly as a visitor would see it.

What it does

An embeddable northern lights outlook for one place. For tonight and the next two nights it combines NOAA's space-weather forecast with cloud cover and moonlight after dark and gives a plain rating, from "unlikely" to "strong." When it is dark and activity is up, it reads NOAA's 30-minute aurora model for the sky to the north and says so.

The trip planner scores every night of the coming year from what the record says: seasonal odds since 1940 of aurora-strength activity under a mostly clear sky, where the solar cycle stands, moonlight, and NOAA's 45-day outlook where it reaches. It lists the five best three-night stretches and links straight to lodging on those dates.

What it can do

  • Three-night outlook from NOAA Kp forecast, cloud cover, darkness, and moon
  • "Active now" note from NOAA's OVATION model when warranted
  • Year-ahead planner ranking every night, with the five best three-night windows
  • Nightly record since 1932 built from GFZ Kp and ERA5 cloud cover
  • Compact, planner-only, and full views for different pages
  • Lodging links that pass check-in date and nights to a lodging finder
  • Single-file, dependency-free, shadow-DOM widget

Make it your own

Start by forking the repository into your own organization. Everything below assumes you are working in your fork, not this one.

# clone your fork git clone https://github.com/YOUR-ORG/AuroraWatch.git cd AuroraWatch
  1. Fork the repo and set your latitude, longitude, and time zone in collector/history.py and docs/aurora.js.
  2. Adjust the Kp rating table for your magnetic latitude. Farther south needs higher Kp for the same rating.
  3. Run python collector/history.py once for the full rebuild (about a minute), then let the weekly workflow run --recent.
  4. Point data-cta at your own lodging page, or turn it off.
  5. Enable Pages from main, folder /docs, edit docs/CNAME, and give workflows read and write permission.

Stuck on a step? Open an issue on the repository. Questions from people adapting these for their own institution are the most useful feedback we get.