CERES Energy Balance Tools

Five tools for exploring 25 years of Earth's top-of-atmosphere radiation budget. 309 months of NASA CERES satellite observations — March 2000 to November 2025 — processed entirely in the browser through a stateless stream architecture.

Data: CERES EBAF-TOA Ed4.2 · NetCDF-3 · 1° grid aggregated to 10° blocks

Global Search

Step through every month. Two charts build in real time: the monthly net flux showing seasonal cycles (±10 W/m²), and the running mean converging on Earth's energy surplus of roughly +1 W/m². Anomalies and spatial gradients flagged per frame.

anomaly · gradient · imbalance

City Analysis

Select a city and watch the energy budget of its surrounding 10° block evolve. Monthly net flux, seasonal decomposition, and comparison to the global mean. 50 cities from Reykjavik to Sydney.

local · seasonal · comparison

Event Detection

Each month, every 10° block is compared to its running mean and variance (Welford's algorithm). Blocks deviating by more than 3σ are flagged. Watch for El Niño, La Niña, and volcanic events like Hunga Tonga.

σ-threshold · Welford · extremes

Energy Transport

The zonal profile reveals the meridional energy gradient driving global circulation. Tropics absorb +60–80 W/m² net; poles emit −60–100 W/m² net. The difference moves poleward through ocean currents and atmospheric cells.

zonal · meridional · circulation

Prediction Test

A linear + seasonal model is fit per 10° block on the first 250 months, then tested on the remainder. High RMSE months reveal nonlinear events: ENSO transitions, volcanic aerosols, cloud regime shifts.

regression · RMSE · hindcast

Architecture

Stateless

Gates are pure transforms. Everything needed arrives in the event; everything produced leaves as emitted events.

Single Effect

One gate claims one event type by signature. O(1) dispatch, no fan-out ambiguity, no priority chains.

Parallelizable

No shared state between gates. Shard by event type across workers or threads with zero coordination.

Polyglot

The gate contract — receive (event, stream), call stream.emit() — is implementable in any language. PHP server, JS client, WASM module.

Auditable

StreamLog with tiered verbosity (OFF → EVENTS → DEEP → DATA) records every dispatch decision with full lineage.