Skip to content

Repository files navigation

Gardeners' Almanac

A circular data visualization of historical weather patterns for any location. Shows temperature ranges, precipitation, the growing season, moon phases, and solstice/equinox dates — all rendered as a radial almanac you can spin and zoom.

Features

  • Historical climate normals (1991–2020) fetched live from the Open-Meteo Climate API
  • Current-year actuals overlay showing real observed weather for elapsed days this year
  • Dynamic location — uses browser geolocation, falls back to Portland, OR
  • Astronomical data computed client-side: equinox/solstice dates and moon phases via the Meeus algorithm
  • Sunrise/sunset/twilight arcs calculated per day via SunCalc

Getting started

Requires Node.js (v18+).

npm install
npm run dev

Then open the URL shown in your terminal (typically http://localhost:5173).

Other commands

npm run build    # production build → dist/
npm run preview  # preview the production build locally

Tech stack

  • D3 v7 — visualization
  • Vite — dev server and bundler
  • SunCalc — sunrise/sunset times
  • Open-Meteo — climate normals and historical weather (no API key required)

Credits

Visualization design and programming by Ryan Miller. Graphic design by Jeremy Cohen.

About

Gardeners Almanac Viz

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages