Data Center Water Usage
Case study · Infrastructure
Measuring data-center water use against the public record
- What
- Data-center water claims in Virginia and Ohio, checked against the public record.
- Stack
- Python scraping + PDF/Excel extraction into SQLite; in-browser Streamlit dashboard.
- Status
- LIVE
- Dates
- Published June 2026 · Updated July 2026
- Links
- Live site · Source code
Background
How much water do data centers actually use — and how much of that can you verify from the public record rather than a press release?
This dashboard puts operator water claims next to the permits, discharge reports, and enforcement files that can check them. It covers Virginia and Ohio, two of the densest data-center markets in the country. Water is the easiest part of the story to hand-wave: per-query estimates circulating online disagree by a factor of roughly 2,000, and "water positive" is a claim nobody audits. The records exist; they're just unread.
A Look Inside
Each view shown on mobile and desktop — tap any image to open the live site.
How It Works
Under the hood it's a Python scraping and extraction pipeline that pulls documents from public utility and environmental portals, then a dashboard that makes the result browsable:
- Where the data comes from: state utility and environmental portals in Virginia and Ohio, plus EPA's ECHO system for Clean Water Act discharge-monitoring reports and facility records by industry code.
- Getting numbers out of paper: extractors pull figures from PDFs and Excel files, match water-related keywords, and tag the companies and facilities involved.
- Append-only state: a SQLite database remembers every document already fetched, so re-runs skip what hasn't changed and newer filings never silently overwrite older ones.
- Keeping it honest: every record carries its source URL, and scraping is throttled with polite delays so it never hammers a government server.
- Three tabs: Legislation (state and federal water bills, color-coded by status), CWA Cases (investigations and enforcement), and Data (the measurements).
- Plus: a transparency scorecard, an explainer on why per-query estimates vary by ~2,000×, and 29 verbatim water claims straight from operators.
Caveat on load time: the dashboard is a Streamlit app running entirely in your browser, so the first visit downloads a ~15 MB Python runtime and takes 30–40 seconds. After that it's cached.



