🌎 environment¶
U.S. environmental data spanning air quality (EPA AQS monitored concentrations and AQI), toxics and greenhouse-gas emissions (EPA TRI and GHGRP by facility), surface water (USGS streamflow and monitoring sites) and county-level water-use withdrawals by sector (USGS water_use_county, 2015 census), public drinking-water systems (EPA SDWIS), and the EPA facility registry with compliance and enforcement history (ECHO/FRS). Each row is a place-and-period observation or a facility record joinable to geo (states/counties), sec (regulated companies), econ, and weather. Together they describe environmental quality, pollution sources, water availability/use, and regulatory status across the United States.
22 datasets · 272 columns
air_quality_annual · table¶
EPA AirData annual-summary air quality — arithmetic mean concentration, peak value, observation count, and valid-day count for PM2.5, Ozone, SO2, NO2, and CO. Source file is one row per monitor per pollutant per year, but no monitor/site id is retained here (only state_fips/county_fips), and the annual file carries no AQI column, so aqi is always null here — for AQI use air_quality_daily, which is also site-level. Keyless national bulk file annual_conc_by_monitor_
| Column | Type | Null | Description |
|---|---|---|---|
state_ |
string | no | 2-digit state FIPS code (e.g. '06' for California) |
county_ |
string | yes | 5-digit county FIPS code (FK to geo.counties) |
parameter_ |
string | yes | Pollutant code (88101, 44201, etc.) |
parameter_ |
string | yes | Pollutant name (e.g. 'PM2.5 - Local Conditions') |
year |
integer | no | Calendar year |
arithmetic_ |
double | yes | Annual mean concentration |
first_ |
double | yes | Highest recorded value |
observation_ |
integer | yes | Number of observations |
valid_ |
integer | yes | Days with valid data |
aqi |
integer | yes | Air Quality Index |
air_quality_daily · table¶
EPA AirData daily-summary air quality by monitoring site — one row per site per day per pollutant standard, with mean concentration, peak value, AQI, and observation count (plus site lat/lon). Unlike air_quality_annual (county-level, no AQI), this table retains site_number and a real AQI value. Keyless national bulk files daily__
| Column | Type | Null | Description |
|---|---|---|---|
state_ |
string | no | 2-digit state FIPS code (e.g. '06' for California) |
county_ |
string | yes | 5-digit county FIPS code (FK to geo.counties) |
site_ |
string | yes | Monitoring site number |
parameter_ |
string | yes | Pollutant code (88101, 44201, etc.) |
parameter_ |
string | yes | Pollutant name |
year |
integer | no | Calendar year |
date |
string | no | Sample date (YYYY-MM-DD) |
sample_ |
string | yes | Sample duration (e.g. '24-HR BLK AVG', '1 HOUR') |
pollutant_ |
string | yes | Pollutant standard used for AQI calculation |
arithmetic_ |
double | yes | Daily mean concentration |
first_ |
double | yes | Highest recorded value for the day |
aqi |
integer | yes | Air Quality Index (null for non-daily-standard measurements) |
observation_ |
integer | yes | Number of observations |
latitude |
double | yes | Site latitude |
longitude |
double | yes | Site longitude |
aqs_monitors · table¶
EPA AQS monitor metadata — one row per (site, parameter) with location (lat/lon, local site name, city, CBSA name), monitor type, monitoring networks, and operating span (first_year through last_sample_date). Keyless reference file aqs_monitors.zip. Snapshot; joins air_quality_daily by site and geo by county_fips.
| Column | Type | Null | Description |
|---|---|---|---|
state_ |
string | yes | 2-digit state FIPS code (e.g. '06' for California) |
county_ |
string | yes | 5-digit county FIPS code (FK to geo.counties) |
site_ |
string | yes | Monitoring site number |
parameter_ |
string | yes | Pollutant/parameter code |
parameter_ |
string | yes | Parameter name |
latitude |
double | yes | Monitor latitude |
longitude |
double | yes | Monitor longitude |
monitor_ |
string | yes | Monitor type (e.g. SLAMS, SPM) |
networks |
string | yes | Monitoring networks |
first_ |
integer | yes | First year of data |
last_ |
string | yes | Last sample date |
local_ |
string | yes | Local site name |
city_ |
string | yes | City name |
cbsa_ |
string | yes | Core-Based Statistical Area name |
tri_releases · table¶
EPA Toxics Release Inventory — one row per facility × chemical × year, with release amounts by pathway (fugitive air, stack air, surface water) plus on-site, off-site, and total release totals, primary NAICS, and facility location (city, county, state, zip, lat/lon). Per-year national bulk CSV (efservice mv_tri_basic_download). Delta by year. Joins geo via state_abbr + county name; frs_id links epa_facilities.
| Column | Type | Null | Description |
|---|---|---|---|
tri_ |
string | yes | TRI facility id |
frs_ |
string | yes | FRS registry id (FK to epa_facilities.registry_id) |
facility_ |
string | yes | Facility name |
city |
string | yes | City |
county |
string | yes | County name |
state_ |
string | yes | State (USPS abbr) |
zip |
string | yes | ZIP code |
latitude |
double | yes | Facility latitude |
longitude |
double | yes | Facility longitude |
primary_ |
string | yes | Primary NAICS code |
chemical |
string | yes | Chemical name |
cas_ |
string | yes | CAS registry number |
unit_ |
string | yes | Unit of measure for release amounts |
fugitive_ |
double | yes | Fugitive air release |
stack_ |
double | yes | Stack air release |
water_ |
double | yes | Surface-water discharge |
on_ |
double | yes | Total on-site releases |
off_ |
double | yes | Total off-site releases |
total_ |
double | yes | Total releases (on-site + off-site) |
ghg_facilities · table¶
EPA GHGRP facility dimension — one row per reporting facility per year with location (city, state, county, zip, lat/lon), NAICS code, parent company, reported industry types, and facility type (e.g. 'Direct Emitter'). Envirofacts efservice full-year CSV. Delta by year. Join ghg_emissions on (facility_id, year) for the emissions themselves; frs_id links epa_facilities. parent_company is unstructured (no per-row id — facility_id is per-facility, not per-parent-company). ref.canonical_org_entity carries it as an already-resolved identity (ghg_parent_company_name, with an LEI/SEC CIK when matched); join there on the name rather than re-running a fuzzy match against gleif_entities.legal_name by hand.
| Column | Type | Null | Description |
|---|---|---|---|
facility_ |
string | no | GHGRP facility id |
facility_ |
string | yes | Facility name |
latitude |
double | yes | Facility latitude |
longitude |
double | yes | Facility longitude |
city |
string | yes | City |
state_ |
string | yes | State (USPS abbr) |
county_ |
string | yes | 5-digit county FIPS code (FK to geo.counties) |
county |
string | yes | County name |
zip |
string | yes | ZIP code |
naics_ |
string | yes | NAICS code |
frs_ |
string | yes | FRS registry id (FK to epa_facilities.registry_id) |
parent_ |
string | yes | Parent company |
reported_ |
string | yes | Reported industry types |
facility_ |
string | yes | Facility types (e.g. 'Direct Emitter') |
ghg_emissions · table¶
EPA GHGRP emissions facts — CO2-equivalent emissions keyed by facility × year × sector × subsector × gas. Envirofacts efservice full-year CSV. Delta by year. Per-facility annual total = SUM(co2e_emission) over the facility-year; join ghg_facilities on (facility_id, year) for geography.
| Column | Type | Null | Description |
|---|---|---|---|
facility_ |
string | no | GHGRP facility id (FK to ghg_facilities.facility_id) |
sector_ |
integer | yes | GHGRP sector id |
subsector_ |
integer | yes | GHGRP subsector id |
gas_ |
integer | yes | Gas id (1=CO2, 2=CH4, 3=N2O, ...) |
co2e_ |
double | yes | Emissions in metric tons CO2-equivalent |
egrid_emission_rates · table¶
EPA eGRID (Emissions & Generation Resource Integrated Database) regional emission rates — one row per eGRID subregion per year (~27 subregions, e.g. RFCE, CAMX, ERCT), with annual net/nonbaseload generation, total NOx/SO2/CO2/CO2e emissions, overall output emission rates (lb/MWh, all fuels combined), and per-fuel-type output emission rates for NOx/SO2/CO2 broken out by coal, oil, gas, and fossil-fuel-total (also lb/MWh), plus each fuel's share of subregion generation (coal/oil/gas/nuclear/hydro/ renewables generation_pct). This is the SRL (subregion) tab of eGRID's multi-tab XLSX workbook — the workbook also carries UNT/GEN/PLNT (unit/generator/plant-level) and ST/BA/NRL/US (state/balancing-authority/NERC-region/national) tabs; none of those have this fuel-type breakdown (plant-level rates are for the whole plant, dominated by its single primary fuel) and none are in this table. EPA publishes eGRID roughly every 1-2 years, historically each January of year+2 (eGRID2023, released 2025-01 and revised 2025-06, covers 2023 generation/emissions). The download URL is unpredictable — it embeds a publish date and a revision suffix that both vary by year and are not derivable from the data year — so this transformer discovers the year's workbook link by scraping EPA's historical-egrid-data listing page, falling back to download-data for the most-recently-released vintage (not yet moved to the historical archive at build time, 2026-08-02, eGRID2023 was download-data-only). A year with no discoverable link yields zero rows for that year, not an error — check the ETL log for "no data workbook link found" to distinguish "not published this way" from a real failure.
| Column | Type | Null | Description |
|---|---|---|---|
year |
integer | no | Calendar year |
subregion_ |
string | no | eGRID subregion acronym (e.g. RFCE, CAMX, ERCT); PK component |
subregion_ |
string | yes | eGRID subregion name |
nameplate_ |
double | yes | Subregion total nameplate capacity (MW) |
annual_ |
double | yes | Subregion annual net generation (MWh) |
annual_ |
double | yes | Subregion annual nonbaseload generation (MWh) |
annual_ |
double | yes | Subregion annual NOx emissions (tons) |
annual_ |
double | yes | Subregion annual SO2 emissions (tons) |
annual_ |
double | yes | Subregion annual CO2 emissions (tons) |
annual_ |
double | yes | Subregion annual CO2-equivalent emissions (tons) |
nox_ |
double | yes | Subregion annual NOx total output emission rate, all fuels combined (lb/MWh) |
so2_ |
double | yes | Subregion annual SO2 total output emission rate, all fuels combined (lb/MWh) |
co2_ |
double | yes | Subregion annual CO2 total output emission rate, all fuels combined (lb/MWh) |
co2e_ |
double | yes | Subregion annual CO2e total output emission rate, all fuels combined (lb/MWh) |
coal_ |
double | yes | Subregion annual NOx output emission rate, coal-fired generation only (lb/MWh) |
oil_ |
double | yes | Subregion annual NOx output emission rate, oil-fired generation only (lb/MWh) |
gas_ |
double | yes | Subregion annual NOx output emission rate, gas-fired generation only (lb/MWh) |
fossil_ |
double | yes | Subregion annual NOx output emission rate, all fossil-fired generation (lb/MWh) |
coal_ |
double | yes | Subregion annual SO2 output emission rate, coal-fired generation only (lb/MWh) |
oil_ |
double | yes | Subregion annual SO2 output emission rate, oil-fired generation only (lb/MWh) |
gas_ |
double | yes | Subregion annual SO2 output emission rate, gas-fired generation only (lb/MWh) |
fossil_ |
double | yes | Subregion annual SO2 output emission rate, all fossil-fired generation (lb/MWh) |
coal_ |
double | yes | Subregion annual CO2 output emission rate, coal-fired generation only (lb/MWh) |
oil_ |
double | yes | Subregion annual CO2 output emission rate, oil-fired generation only (lb/MWh) |
gas_ |
double | yes | Subregion annual CO2 output emission rate, gas-fired generation only (lb/MWh) |
fossil_ |
double | yes | Subregion annual CO2 output emission rate, all fossil-fired generation (lb/MWh) |
coal_ |
double | yes | Coal share of subregion annual generation (resource mix, percent) |
oil_ |
double | yes | Oil share of subregion annual generation (resource mix, percent) |
gas_ |
double | yes | Gas share of subregion annual generation (resource mix, percent) |
nuclear_ |
double | yes | Nuclear share of subregion annual generation (resource mix, percent) |
hydro_ |
double | yes | Hydro share of subregion annual generation (resource mix, percent) |
renewables_ |
double | yes | Total renewables share of subregion annual generation (resource mix, percent) |
water_sites · table¶
USGS NWIS surface-water monitoring sites — one row per active stream site with location, HUC, and drainage area. Fetched per state from the NWIS site service (RDB, expanded output). Snapshot. site_no joins streamflow; state_fips/county_fips join geo.
| Column | Type | Null | Description |
|---|---|---|---|
site_ |
string | no | USGS site number (PK) |
agency_ |
string | yes | Reporting agency code |
station_ |
string | yes | Station name |
site_ |
string | yes | Site type code (ST = stream) |
latitude |
double | yes | Decimal latitude |
longitude |
double | yes | Decimal longitude |
state_ |
string | yes | 2-digit state FIPS code (e.g. '06' for California) |
county_ |
string | yes | 5-digit county FIPS code (FK to geo.counties) |
huc_ |
string | yes | Hydrologic unit code |
drainage_ |
double | yes | Drainage area (square miles) |
streamflow · table¶
USGS NWIS daily streamflow — one row per (site, date) with discharge (cfs) and gage height (ft). Fetched per (state, year) from the NWIS daily-values service (RDB; concatenated per-site blocks with dynamically-named value columns, normalized by the transformer). Delta by year; current year is re-fetched. site_no joins water_sites.
| Column | Type | Null | Description |
|---|---|---|---|
site_ |
string | no | USGS site number (FK to water_sites.site_no) |
obs_ |
date | no | Observation date |
discharge_ |
double | yes | Daily mean discharge (cubic feet per second) |
discharge_ |
string | yes | Discharge qualifier (A=approved, P=provisional, e=estimated) |
gage_ |
double | yes | Daily mean gage height (feet) |
gage_ |
string | yes | Gage-height qualifier |
water_withdrawals · table¶
USGS county-level water withdrawals by sector — public supply, domestic, industrial, irrigation, mining, and thermoelectric power, plus an all-sector total — split into groundwater/surface-water freshwater withdrawal (Mgal/d) and, where the sector reports a saline component, total withdrawal including saline. A proxy for whether a county has spare water-withdrawal capacity for a new industrial user: compare a target sector's historical draw against the county's total. Quinquennial census (2000, 2005, 2010, 2015 — the last county-grain vintage published; USGS moved to an annual/HUC12/model-based approach after 2015). Livestock and aquaculture are omitted: their sector-code assignment is ambiguous before 2005 and immaterial to industrial-siting screening. state_fips/ county_fips join geo.
| Column | Type | Null | Description |
|---|---|---|---|
state_ |
string | no | 2-digit state FIPS code (e.g. '06' for California) |
county_ |
string | no | 5-digit county FIPS code (FK to geo.counties) |
year |
integer | no | Calendar year |
sector |
string | no | Water-use sector: public_supply, domestic, industrial, irrigation, mining, thermoelectric, or total (all sectors combined); PK component |
groundwater_ |
double | yes | Groundwater withdrawal, freshwater, in million gallons per day |
surfacewater_ |
double | yes | Surface-water withdrawal, freshwater, in million gallons per day |
total_ |
double | yes | Total withdrawal, freshwater (groundwater + surface water), in million gallons per day |
total_ |
double | yes | Total withdrawal, fresh + saline, in million gallons per day. Null for domestic and irrigation (no saline component reported) and, in 2000, for public supply as well (that vintage did not break out saline withdrawals for public supply/domestic). |
drinking_water · table¶
EPA SDWIS public water systems — one row per active public water system (PWS) with type (CWS/NTNCWS/TNCWS), population served, service connections count, owner type, and primary source-water type (ground vs. surface). Envirofacts efservice full-state CSV (active systems only). Snapshot. pwsid joins drinking_water_violations; state_abbr joins geo.state_ref.
| Column | Type | Null | Description |
|---|---|---|---|
pwsid |
string | no | Public Water System id (PK) |
pws_ |
string | yes | Public water system name |
pws_ |
string | yes | PWS type (CWS, NTNCWS, TNCWS) |
primacy_ |
string | yes | Primacy agency code |
epa_ |
string | yes | EPA region |
population_ |
long | yes | Population served |
service_ |
long | yes | Service connections |
owner_ |
string | yes | Owner type code |
gw_ |
string | yes | Ground-water / surface-water code |
primary_ |
string | yes | Primary source-water type |
city_ |
string | yes | City |
zip_ |
string | yes | ZIP code |
state_ |
string | yes | State (USPS abbr) |
epa_facilities · table¶
EPA ECHO Exporter — one row per regulated facility (~3.2M) with registry identity, location (address, lat/lon, NAICS/SIC codes — naics_codes is backfilled from sic_codes for some SIC-only facilities, see naics_codes_derived), and a rolled-up compliance/enforcement summary: inspection count and last-inspection date, formal enforcement action count, total penalties, significant-noncompliance flag, overall plus per-statute (CAA/CWA/RCRA/SDWA) compliance status, and violation-frequency rollups — quarters (of the last 12) in noncompliance overall and per statute (CAA/CWA/RCRA), plus the CWA effluent-limit exceedance count over the last 13 quarters (null when none). Keyless weekly-snapshot bulk zip. registry_id links TRI/GHGRP frs_id; the facility_compliance view projects the compliance subset.
| Column | Type | Null | Description |
|---|---|---|---|
registry_ |
string | yes | FRS registry id (PK). Nullable: the keyless ECHO Exporter bulk feed itself omits REGISTRY_ID for a small fraction of facilities, and there is no other natural key to substitute. |
facility_ |
string | yes | Facility name |
street |
string | yes | Street address |
city |
string | yes | City |
state_ |
string | yes | State (USPS abbr) |
zip |
string | yes | ZIP code |
county_ |
string | yes | 5-digit county FIPS code (FK to geo.counties) |
latitude |
double | yes | Facility latitude |
longitude |
double | yes | Facility longitude |
naics_ |
string | yes | NAICS codes (space-separated); source-native, or a 2-digit NAICS sector backfilled from sic_codes when the source has none — see naics_codes_derived. Still blank for ~9% of facilities: those with no sic_codes either, or whose sic_codes span more than one NAICS sector (EpaFacilitiesNaicsBackfillTransformer will not guess a sector). A naics_codes-only industrial-sector filter that also wants those excludes them; sic_codes is the fallback classification. |
naics_ |
boolean | no | True when naics_codes was backfilled from sic_codes via the Census 1997-NAICS-to-1987-SIC crosswalk (govdata-ops#694) rather than sourced natively from FAC_NAICS_CODES. A derived value is a coarse 2-digit NAICS sector, not a precise source-native code. |
sic_ |
string | yes | SIC codes (space-separated) |
compliance_ |
string | yes | Overall compliance status |
snc_ |
string | yes | Significant non-compliance flag. Derived from FAC_PROGRAMS_WITH_SNC (count of programs currently in SNC), not FAC_SNC_FLG — EPA no longer populates FAC_SNC_FLG in the ECHO Exporter feed (constant 'N'), while FAC_PROGRAMS_WITH_SNC varies and agrees with the per-statute CWA/RCRA/SDWA_SNC_FLAG columns in the same source. |
inspection_ |
integer | yes | Inspections/evaluations count |
date_ |
string | yes | Date of last inspection |
formal_ |
integer | yes | Formal enforcement actions count |
total_ |
double | yes | Total penalties (USD) |
qtrs_ |
integer | yes | Quarters (of last 12) in noncompliance/SNC/HPV, any program |
caa_ |
integer | yes | Quarters (of last 12) in CAA noncompliance/HPV |
cwa_ |
integer | yes | Quarters (of last 12) in CWA noncompliance/SNC |
rcra_ |
integer | yes | Quarters (of last 12) in RCRA noncompliance |
cwa_ |
integer | yes | CWA effluent-limit exceedance violations, last 13 quarters. Null both for facilities with no CWA/NPDES permit at all and for permitted dischargers with zero reported exceedances (source represents both as blank, not 0) — confirmed live: ~93% of facilities under active CWA compliance tracking still carry a blank value here. Not a coverage gap; a positive count reliably indicates a real exceedance history. |
caa_ |
string | yes | Clean Air Act compliance status |
cwa_ |
string | yes | Clean Water Act compliance status |
rcra_ |
string | yes | RCRA compliance status |
sdwa_ |
string | yes | Safe Drinking Water Act compliance status |
drinking_water_violations · table¶
EPA SDWIS drinking-water violations — one row per violation per public water system, with violation type/category (MR=monitoring, MCL, TT, ...), health-based and major-violation indicators, contaminant code, measured value, and compliance period. Envirofacts efservice full-state CSV, filtered by primacy_agency_code (the state column; the literal state column silently no-ops). Snapshot. pwsid joins drinking_water.
| Column | Type | Null | Description |
|---|---|---|---|
pwsid |
string | no | Public Water System id (FK to drinking_water.pwsid) |
violation_ |
string | no | Violation id (PK component) |
violation_ |
string | yes | Violation type code |
violation_ |
string | yes | Violation category (MR=monitoring, MCL, TT, ...) |
is_ |
string | yes | Health-based violation indicator (Y/N) |
contaminant_ |
string | yes | Contaminant code |
compliance_ |
string | yes | Compliance/return-to-compliance status |
is_ |
string | yes | Major violation indicator (Y/N) |
viol_ |
double | yes | Violation measurement value |
unit_ |
string | yes | Unit of measure |
compl_ |
string | yes | Compliance period begin date |
compl_ |
string | yes | Compliance period end date |
rule_ |
string | yes | Regulatory rule code |
pws_ |
string | yes | PWS type (CWS, NTNCWS, TNCWS) |
superfund_sites · table¶
EPA SEMS Superfund sites — one row per site (national, ~55K) with site name, street address, National Priorities List status (npl_status_code 'F' = Final NPL), federal-facility indicator, and location (county_fips, state_abbr, lat/lon). Envirofacts efservice full table. Snapshot.
| Column | Type | Null | Description |
|---|---|---|---|
site_ |
string | no | SEMS site id (PK) |
epa_ |
string | yes | EPA site id (e.g. CTD000604546) |
site_ |
string | yes | Site name |
npl_ |
string | yes | NPL status code (F=Final NPL, N=not on NPL) |
npl_ |
string | yes | NPL status description |
street |
string | yes | Street address |
city |
string | yes | City |
state_ |
string | yes | State (USPS abbr) |
county_ |
string | yes | County name |
county_ |
string | yes | 5-digit county FIPS code (FK to geo.counties) |
latitude |
double | yes | Site latitude |
longitude |
double | yes | Site longitude |
federal_ |
string | yes | Federal facility indicator |
rcra_facilities · table¶
EPA RCRAInfo hazardous-waste handlers — one row per current handler, with generator status and activity flags (transporter, treatment/storage/ disposal, recycler) plus location (city, county_code, zip, lat/lon). Envirofacts efservice full-state CSV filtered to current_record='Y' (the source table is multi-cycle history). Snapshot. Joins geo.state_ref via state_abbr.
| Column | Type | Null | Description |
|---|---|---|---|
handler_ |
string | no | EPA RCRA handler id (PK) |
handler_ |
string | yes | Handler name |
location_ |
string | yes | City |
state_ |
string | yes | State (USPS abbr) |
location_ |
string | yes | ZIP code |
county_ |
string | yes | County code |
fed_ |
string | yes | Federal hazardous-waste generator status (1/2/3/N) |
transporter |
string | yes | Transporter activity flag |
tsd_ |
string | yes | Treatment/storage/disposal activity flag |
recycler_ |
string | yes | Recycler activity flag |
latitude |
double | yes | Handler latitude |
longitude |
double | yes | Handler longitude |
water_quality_samples · table¶
USGS/EPA Water Quality Portal — measured water-quality sample results (nitrate, metals, bacteria, pH, etc.) at monitoring locations. Fetched per (state FIPS, year) from the Result service. Delta by year; large/slow, so DQ samples via dqRowLimit. monitoring_location_id joins USGS/STORET sites.
| Column | Type | Null | Description |
|---|---|---|---|
organization_ |
string | yes | Reporting organization id |
monitoring_ |
string | yes | Monitoring location id |
activity_ |
string | yes | Sampling activity id |
activity_ |
string | yes | Sample date (YYYY-MM-DD) |
activity_ |
string | yes | Sample medium (Water, ...) |
characteristic_ |
string | yes | Measured characteristic (e.g. Nitrate, pH, Lead) |
sample_ |
string | yes | Sample fraction (Total, Dissolved, ...) |
result_ |
double | yes | Measured result value |
result_ |
string | yes | Result unit of measure |
usgs_ |
string | yes | USGS parameter code |
result_ |
string | yes | Result status (Accepted, Preliminary, ...) |
water_use_county · table¶
USGS county-level water-use census for 2015 (usco2015v2.0.csv, USGS data release https://doi.org/10.5066/F7TB15V5, cited in USGS Circular 1441) — one row per county (3,223 counties/county-equivalents, all 50 states + DC/PR/USVI). Reports total population and, per sector (public supply, self-supplied domestic, industrial, irrigation, livestock, aquaculture, mining, thermoelectric power), withdrawals in million gallons per day (Mgal/d) broken out by groundwater/surface-water and, where applicable, fresh/saline; thermoelectric is further split into once-through vs. recirculating cooling with power generated (GWh) and consumptive use. total_withdrawals_mgd/total_fresh_groundwater_mgd/total_fresh_surfacewater_mgd/ total_saline_withdrawals_mgd are cross-sector sums; total_consumptive_use_partial_mgd covers only irrigation + thermoelectric (the only sectors USGS estimates consumptive use for in this release) — not a full-sector total, per USGS's own "Partial" naming. Verified live 2026-09-21: summing total_withdrawals_mgd nationally gives 321.7 Bgal/d, matching USGS Circular 1441's published 322 Bgal/d 2015 total; Monroe County, MI (DTE's Monroe coal plant, Lake Erie once-through cooling) shows 1,791 Mgal/d thermoelectric withdrawal and 25,252 GWh generated, consistent with that plant's known ~3,400 MW nameplate capacity. IMPORTANT CAVEAT — this is a WITHDRAWAL-CAPACITY proxy for "does this county have a track record of sector water use," not a legal water-rights/allocation record: it does not show unallocated headroom, permitted-but- unused rights, or legal availability under drought curtailment. USGS publishes this compilation once every 5 years (Circulars 1950-2015 then per-category ScienceBase releases from 2020); this table currently holds only the 2015 vintage — the last year published as one combined all-sector county file — see the dataset_type note above for why later vintages are not mechanically addable. Joins geo.state_ref via state_fips and geo.counties via county_fips.
| Column | Type | Null | Description |
|---|---|---|---|
state |
string | no | USPS state/territory abbreviation |
state_ |
string | no | 2-digit state FIPS code (e.g. '06' for California) |
county_ |
string | yes | County or county-equivalent name |
county_ |
string | no | 5-digit county FIPS code (FK to geo.counties) |
census_ |
integer | yes | USGS water-use census year this row represents (2015 for this release) |
total_ |
double | yes | Total county population, in thousands |
public_ |
double | yes | Population served by public water supply, in thousands |
public_ |
double | yes | Public-supply total withdrawals, fresh+saline, groundwater+surface (Mgal/d) |
public_ |
double | yes | Public-supply freshwater groundwater withdrawals (Mgal/d) |
public_ |
double | yes | Public-supply freshwater surface-water withdrawals (Mgal/d) |
domestic_ |
double | yes | Population self-supplied for domestic use (own well, not public supply), in thousands |
domestic_ |
double | yes | Self-supplied domestic freshwater withdrawals (Mgal/d) |
domestic_ |
double | yes | Domestic deliveries from public supply (Mgal/d) — not a withdrawal, a sub-allocation of public_supply_withdrawals_mgd |
industrial_ |
double | yes | Self-supplied industrial total withdrawals, fresh+saline, groundwater+surface (Mgal/d) |
industrial_ |
double | yes | Self-supplied industrial freshwater groundwater withdrawals (Mgal/d) |
industrial_ |
double | yes | Self-supplied industrial freshwater surface-water withdrawals (Mgal/d) |
industrial_ |
double | yes | Self-supplied industrial saline withdrawals, groundwater+surface (Mgal/d) |
irrigation_ |
double | yes | Irrigation (crop + golf course) freshwater withdrawals, groundwater+surface (Mgal/d) |
irrigation_ |
double | yes | Irrigation freshwater groundwater withdrawals (Mgal/d) |
irrigation_ |
double | yes | Irrigation freshwater surface-water withdrawals (Mgal/d) |
irrigation_ |
double | yes | Irrigation freshwater consumptive use (Mgal/d) |
irrigated_ |
double | yes | Total irrigated acres (sprinkler + microirrigation + surface/flood), in thousand acres |
livestock_ |
double | yes | Livestock freshwater withdrawals, groundwater+surface (Mgal/d) |
aquaculture_ |
double | yes | Aquaculture total withdrawals, fresh+saline, groundwater+surface (Mgal/d) |
aquaculture_ |
double | yes | Aquaculture freshwater withdrawals, groundwater+surface (Mgal/d) |
mining_ |
double | yes | Mining total withdrawals, fresh+saline, groundwater+surface (Mgal/d) |
mining_ |
double | yes | Mining freshwater groundwater withdrawals (Mgal/d) |
mining_ |
double | yes | Mining freshwater surface-water withdrawals (Mgal/d) |
thermoelectric_ |
double | yes | Thermoelectric-power total withdrawals, fresh+saline, groundwater+surface (Mgal/d) |
thermoelectric_ |
double | yes | Thermoelectric-power freshwater groundwater withdrawals (Mgal/d) |
thermoelectric_ |
double | yes | Thermoelectric-power freshwater surface-water withdrawals (Mgal/d) |
thermoelectric_ |
double | yes | Thermoelectric-power saline withdrawals, groundwater+surface (Mgal/d) |
thermoelectric_ |
double | yes | Thermoelectric-power total consumptive use, fresh+saline (Mgal/d) |
thermoelectric_ |
double | yes | Electricity generated by thermoelectric plants in the county (gigawatt-hours) |
thermoelectric_ |
double | yes | Thermoelectric total withdrawals from once-through-cooled generating units only (Mgal/d) |
thermoelectric_ |
double | yes | Thermoelectric total withdrawals from recirculating-cooled generating units only (Mgal/d) |
total_ |
double | yes | All-sector total withdrawals, fresh+saline, groundwater+surface (Mgal/d) — cross-sector sum |
total_ |
double | yes | All-sector total freshwater groundwater withdrawals (Mgal/d) — cross-sector sum |
total_ |
double | yes | All-sector total freshwater surface-water withdrawals (Mgal/d) — cross-sector sum |
total_ |
double | yes | All-sector total saline withdrawals, groundwater+surface (Mgal/d) — cross-sector sum |
total_ |
double | yes | Consumptive use total, fresh+saline, for irrigation + thermoelectric ONLY (Mgal/d) — USGS's own "Partial" label; not a full-sector total, other sectors have no consumptive-use estimate in this release |
ocean_sst_monthly · table¶
Monthly sea surface temperature (SST) and SST anomaly for the 11 U.S.-adjacent NOAA large marine ecosystems (LMEs), 1985 to present — one row per (LME, month). Source is the NOAA Coral Reef Watch CoralTemp v3.1 5 km monthly mean analysis served by the CoastWatch ERDDAP dataset NOAA_DHW_monthly_Lon0360 (keyless; public domain, cite NOAA Coral Reef Watch). The grid is thinned server-side to every 5th cell (0.25 degrees) and each cell center is assigned to the first LME polygon containing it (NOAA LME boundary set, simplified; point-in-polygon on the cell center); cells over land or outside every LME, and cells with no SST, are dropped. mean_sst_c and mean_sst_anomaly_c are unweighted means of the cell values in degrees Celsius. The anomaly is the monthly mean SST minus the CoralTemp monthly-mean climatology, whose baseline period is 1985-1990 plus 1993 (derived from 1985-2012 data and re-centered; see https://coralreefwatch.noaa.gov/product/5km/methodology.php), so recent anomalies are against a mid-1980s reference and run warm. cell_count is the number of valid 0.25 degree cells averaged, so area is roughly cell_count x ~690 km2 at 40 N. Region key: lme_number / lme_name (the fisheries regional_ecosystem names follow the same LME naming) and state_abbrs, a comma-separated list of the coastal states whose adjacent waters the LME covers (the Caribbean Sea LME spans the whole Caribbean basin, not just PR and VI, and the Beaufort Sea LME extends into Canadian waters). Months NOAA has not yet published return no rows. Pairs with the fisheries landings and salmon tables on lme_name, year and month.
| Column | Type | Null | Description |
|---|---|---|---|
lme_ |
integer | no | NOAA large marine ecosystem number (1 East Bering Sea, 2 Gulf of Alaska, 3 California Current, 5 Gulf of Mexico, 6 Southeast U.S. Continental Shelf, 7 Northeast U.S. Continental Shelf, 10 Insular Pacific-Hawaiian, 12 Caribbean Sea, 54 Northern Bering-Chukchi Seas, 55 Beaufort Sea, 65 Aleutian Islands) |
lme_ |
string | no | NOAA large marine ecosystem name |
state_ |
string | no | Comma-separated 2-letter codes of the coastal states and territories adjacent to the LME (e.g. 'WA,OR,CA' for the California Current) |
year |
integer | no | Calendar year |
month |
string | no | 2-digit month (01-12) of the monthly mean composite |
mean_ |
double | no | Mean sea surface temperature over the LME's valid 0.25 degree cells, degrees Celsius (CoralTemp v3.1 monthly mean) |
mean_ |
double | yes | Mean SST anomaly over the LME's valid cells, degrees Celsius, relative to the CoralTemp monthly climatology (baseline period 1985-1990 plus 1993) |
cell_ |
integer | no | Number of valid 0.25 degree grid cells (after server-side 5x thinning of the 5 km grid) averaged into the row |
ghg_facility_annual · view¶
Per-facility-year total greenhouse-gas emissions (SUM of co2e_emission across sectors/subsectors/gases, in metric tons CO2e) with facility location (state_abbr, county_fips, lat/lon) and NAICS code, joining ghg_emissions to ghg_facilities on (facility_id, year). For gas/sector- level detail, query ghg_emissions directly.
View — columns are resolved by the query engine at runtime.
facility_compliance · view¶
Compliance/enforcement projection of epa_facilities — registry_id, facility_name, state_abbr, plus significant-noncompliance flag, inspection count, formal enforcement action count, total penalties, violation-frequency rollups (quarters in noncompliance overall and per statute, CWA effluent exceedance count), and overall plus per-statute (CAA/CWA/RCRA/SDWA) compliance status.
View — columns are resolved by the query engine at runtime.
air_quality_annual_by_county · view¶
County-year average concentration and peak value per pollutant, grouped by parameter_name from air_quality_annual (whose aqi is always null, so peak_aqi here is null too — for real AQI use air_quality_daily). Joinable to geo.counties.
View — columns are resolved by the query engine at runtime.
environmental_burden_by_county · view¶
County-year pollutant concentration (one row per pollutant, from air_quality_annual) alongside ACS poverty rate and race/ethnicity composition for the same county-year — a cross-schema join to census.acs_poverty and census.acs_race_ethnicity on county_fips + year, in the spirit of EPA's EJSCREEN environmental-justice methodology. white_alone_pct and hispanic_latino_pct are separate race and ethnicity measures (Hispanic/Latino can be of any race), not mutually exclusive categories. aqi is always null here (annual file carries no AQI column) — for site-level AQI use air_quality_daily.
View — columns are resolved by the query engine at runtime.