# Atmosphere

A tool for viewing and comparing city climate history through yearly views, ten-year summaries, city comparisons, and travel-date statistics.

## Metadata

- HTML: https://glenzli.com/en/projects/atmosphere/
- Markdown: https://glenzli.com/en/projects/atmosphere.md
- Collection: Projects
- Language: en
- Published: 2026-06-30
- Updated: 2026-08-29
- Status: active
- Tags: climate, travel, open-meteo

## Content

Atmosphere is a tool for viewing and comparing city climate history. It reads roughly ten years of daily temperature, humidity, precipitation, wind, and PM2.5 data for yearly views, ten-year summaries, city comparisons, and travel-date statistics.

  ![Atmosphere city climate history interface](/images/projects/atmosphere-cover.webp)

Open the hosted build at [/apps/atmosphere/](/apps/atmosphere/?lang=en).

## Current views

    **Yearly detail**
    Inspect temperature, wet-bulb temperature, apparent temperature, humidity, precipitation, wind, PM2.5, season assignments, and livability levels.

    **Ten-year summary**
    Compare season lengths, livable days, and temperature statistics across roughly ten years.

    **City comparison**
    Compare up to eight cities and adjust scoring for heat, cold, or general sensitivity.

    **Travel dates**
    Summarise matching historical dates for a selected range, with weights adjusted by year and ENSO status.

## Data and limits

Historical weather, air quality, and city search come from Open-Meteo. The browser requests and caches historical weather in IndexedDB; the optional Express endpoint supplies only the current ENSO status.

- The app currently uses daily history rather than current conditions or forecasts.
- If an air-quality request fails, missing PM2.5 is recorded as `0`, which can affect the display and score.
- Geocoding uses the first result, so ambiguous city names require checking the region and country.
- The installed app still loads the page and third-party data over the network. IndexedDB only retains data that has already been fetched.
