Listening for events…

Scope freeze — landfilled_waste_composition YEARLOCATIONDEX (US state × year)

Frozen 2026-07-03. Seventh YearLocationdex — Mike's 2-layer concept (area × time), the slot is a (place, time) cell addressable by either axis. Built from a chat-pasted data.gov URL (feedback_integrate_sources_via_chat).

What it is

The EPA ORD Landfilled Waste Composition Dataset v1 compiles how many short tons of each material stream were disposed (landfilled, not recycled/composted/incinerated) in each US state's landfills in each reporting year. That is a place × time grid: US states × reporting years. Neither a pure Locationdex (place only) nor a pure Yeardex (year only) fits, so — like drought — it is stored as ONE flat place-sorted spine-parquet, rows = one reported (state, year, facility-type, waste-stream) disposal record, sorted by (state, year) so a state's whole disposal history reads contiguously, with a by-year index alongside so the year cross-section is direct too.

  • 45 states/jurisdictions (incl. Guam), reporting years 1938–2023.
  • 126,959 disposal records (spine rows) across 847 state-year slots.
  • ~7.77 billion short tons total. Cross-check: 2018 MSW ≈ 143 M short tons, matching EPA's official ~146 M-ton landfilled-MSW figure for that year, confirming the tonnages are the reported physical quantities, not a re-estimate.
  • 11 ORD waste streams (MSW, CDD, Industrial, Ash, Sludge, Asbestos, Tires, Wood & Green Waste, NDD, Other, Uncategorized) × 6 ORD facility types (MSWLF, CDLF, Industrial LF, LCLF, Ash LF, Tire Monofill).

Source + bright line

  • IN: the whole tonnage table. EPA ORD Landfilled Waste Composition Dataset v1, ScienceHub DOI 10.23719/1532324 (Max Krause). The tonnages are reported measured disposal quantities — scale-weighed amounts the states record and EPA transcribes from state government reports/repositories/databases. That is a measurement of what was physically landfilled, admissible on the same administrative-record footing as fema declarations and the USDM drought grid (feedback_measured_reality_only). No forecast, projection, or reanalysis is involved, so nothing is held out.
  • The "ORD-Designated" columns are a CLASSIFICATION crosswalk, not a model. EPA maps each state's own waste description / facility label to a standard ORD bucket (List of Waste Types, Facility types by State sheets). That is a categorization of measured records, not a modeled estimate of a physical quantity. We carry the original state waste description alongside the ORD-aligned stream (and the state-defined facility type alongside the ORD facility type) so the crosswalk is transparent and reversible.

Slot = state × year (data is data)

Per feedback_data_is_data_partial_coverage ("data is data"):

  • A record whose mass cell is non-numeric (e.g. N/A; 128 such in the source) is kept with a null mass — the disposal record still happened; only the tonnage is unknown. It is not dropped.
  • Only rows with no parseable reporting year are dropped (a year-location cell needs a year): 74 rows, a count recorded in the index (n_rows_dropped_no_year).
  • Recent-year coverage tapers (2021: 20 states, 2022: 12, 2023: 2) because states report with a lag. Those thin recent slots are carried as-is; the fuller picture backfills as states publish. Early sparse years (a handful of states with long records back to 1938) are likewise carried, not truncated.

Storage + validation

data/yearlocation_storehouse/landfilled_waste_composition/:

  • landfilled_waste_composition_spine.parquet — the 126,959 place-sorted disposal records (state, year, facility type ORD + state, waste stream ORD + original description, mass short tons, calendar/fiscal, reporting/disposal period, data source).
  • landfilled_waste_composition_byyear_index.json — top-level totals (n_cells, n_state_year_slots, n_states, year range, total short tons, stream + facility-type + state lists) and a by_year cross-section (per year: n_cells, n_states, short tons, and short tons per ORD stream).

The build self-validates via dex_validator.validate_yearlocationdex_or_raise — the shared data-layer check. Its integrity identity: the per-year cell counts sum to the index n_cells, which equals the spine parquet row count (126,959 = 126,959 = 126,959), 0 errors. pytest logic tests pin the parse path (_num, _year, parse_dataset_rows) in tests/test_monitor/test_landfilled_waste_composition_yearlocationdex.py.

Provenance

KIND_SOURCES["landfilled_waste_composition"] = ["epa_ord_landfilled_waste_composition"], registered in KNOWN_SOURCES with the ScienceHub DOI as the citable URL.

Deferred

No live edge: EPA posts the dataset as a versioned bulk file (v1), not a rolling feed. A v2 re-pull is a manual re-run when EPA publishes it. Facility-level geolocation (many rows are state aggregates named "State of X"; some carry real facility names) is a possible future refinement but is not needed for the state × year grid.

Live Feed