Skip to content

Data

Every number on the site, downloadable

The same plain JSON files the pages read, free to reuse with credit. Concentrations are in and times are UTC. Every chart on the validation page also has its own CSV.

Research prototype: not for health or regulatory decisions.

Files

What you can download

  • /data/summary.json

    Map models, their inputs, fit-to-target scores, grid bounds, windows and station locations.

    models.{id}.test_metrics.{no2,o3}.{r2,rmse,mae}; feature_columns; bbox; train_window; test_window; forecast_window; stations[]; model_version; units

  • /data/cells.geojson

    The 348 grid cells as polygons.

    properties.grid_id, row, col, center_lat, center_lon

  • /data/backtest/improved.json

    Hourly predictions and training-target values for January–March 2026 at the 10 cells with both targets. Also linear.json, rf.json, xgboost.json.

    rows[].{grid_id, t (UTC, the hour predicted), no2_true, no2_pred, o3_true, o3_pred} in µg/m³

  • /data/cell_metrics/improved.json

    Fit-to-target R², RMSE and MAE per cell. One file per model.

    metrics[].{grid_id, n_no2, n_o3, r2_no2, rmse_no2, mae_no2, r2_o3, rmse_o3, mae_o3}

  • /data/forecast/improved/daily.json

    Daily mean of the next-hour estimates for every cell, April 1 to October 5, 2026. One folder per model (improved = LSTM).

    days[]; cells[].{grid_id, no2[], o3[]} in µg/m³

  • /data/forecast/improved/cells/R0026_C0003.json

    Hourly next-hour estimates for one cell (4,512 hours; each value is for the hour it is stamped with). One file per cell per model.

    start (UTC), step_hours, count, no2[], o3[] in µg/m³

  • /data/validation/atlas.json

    Every EPA-check score by configuration, model and cell, with persistence; site locations; Taylor statistics; dataset coverage.

    no2.configs[]; o3; models.{deployed,best}; aqs_sites[]; detail.{taylor,cells}; alignment_fix[]; unmonitored_check

  • /data/validation/nowcast_skill.json

    Next-hour estimates for April 1 – October 5, 2026 scored against EPA/AirNow readings per site and month, with persistence and climatology on the same hours.

    pollutants.{no2,o3}.{avg_cell, pooled, per_cell, monthly}.{lstm, linear, rf, xgboost, persistence, climatology}; excluded_cells; lstm_beats_persistence_cells

Using it

Before you use the numbers

  • These are model estimates from a research prototype, not measurements and not official air quality data.
  • Check each number's kind of evidence on the validation page. Skill has only been shown near monitors.
  • Every estimate is for the next hour from the latest readings; there is no multi-day forecast.
  • In the backtest files, the “true” values are the model's , not independent measurements.

Cite

Chivukula, S., Friberg, M. D., & Delgado, R. (2026). Protecting our Great Water: LSTM estimates of NO₂ and O₃ over the Chesapeake Bay, checked against EPA AQS monitors [Software and data]. https://protectingourgreatwater.com

Source data

  • Pandora · Pandonia Global Network (NASA / ESA)
  • AERONET · NASA Goddard
  • EPA AQS · U.S. Environmental Protection Agency
  • TEMPO · NASA / Smithsonian Astrophysical Observatory
  • TROPOMI · ESA / Copernicus Sentinel-5P
  • VIIRS · NASA / NOAA
  • ERA5 · ECMWF / Copernicus Climate Change Service
  • AirNow · U.S. EPA (preliminary readings for April–October 2026, used as model inputs and to check the estimates)

Changelog

What changed, and when

Corrections are listed, not hidden.
    • Added a second EPA check on new data: next-hour estimates for April 1 – October 5, 2026, scored against EPA and AirNow readings. The LSTM beats persistence for both pollutants.
    • Replaced the April–December forecast, which rolled the model forward for months with no new readings and fell below a seasonal-average baseline after the first day, with those next-hour estimates.
    • Added a contact address and licenses (MIT for code, CC BY 4.0 for data).
    • EPA-check wording corrected: the scored monitors' earlier readings are part of training, so the check tests a new time period, not a new place.
    • Monitors are now labelled with EPA's own site names (e.g. Lake Montebello, Baltimore); several earlier labels were wrong. Six AERONET station positions on the map were corrected to the coordinates in their data files.
    • Added the original model with a per-site statistical calibration to the validation story (fit on 2018–2025, scored on Jan–Mar 2026).
    • EPA-check scores corrected for a one-hour misalignment between predictions and monitor readings, which had inflated every model that used EPA inputs.
    • Map switched to the best validated run, o3_surface_v1 (surface O₃ in µg/m³ instead of a Dobson-unit column).
    • Backtest timestamps shifted to the hour predicted (they were one hour early).
    • Retired the earlier P_A_V and Full model data.
    • Map moved to the boundary-layer- and land-use-aware model (extended_v2_lur_only).