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.
- 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
Requires Node.js (v18+).
npm install
npm run devThen open the URL shown in your terminal (typically http://localhost:5173).
npm run build # production build → dist/
npm run preview # preview the production build locally- D3 v7 — visualization
- Vite — dev server and bundler
- SunCalc — sunrise/sunset times
- Open-Meteo — climate normals and historical weather (no API key required)
Visualization design and programming by Ryan Miller. Graphic design by Jeremy Cohen.