Esta página solo está disponible en inglés. Ir al sitio en español

Research

What Do New Jersey's Factories Report Releasing? A First Look at the Toxics Release Inventory

A right to know

In December 1984, a cloud of toxic gas escaped from a pesticide plant in Bhopal, India, killing thousands of people. Many nearby residents had no idea what was being made next door. Two years later, Congress passed the Emergency Planning and Community Right-to-Know Act, which created the Toxics Release Inventory (TRI) (U.S. EPA, n.d.-a). Every year, larger industrial facilities, such as factories, refineries, power plants, and waste handlers, must report how much of each of hundreds of listed chemicals they release into the air, water, and land. New Jersey has its own Worker and Community Right to Know Act, which requires employers to share information about hazardous substances at their workplaces (NJ Department of Health, n.d.).

TRI is one of the easiest ways for anyone to see what facilities say they release. In this post, I look at New Jersey’s data for 2023, the most recent year available in January 2025.

Data

I used EPA’s TRI data file for 2023 (U.S. EPA, n.d.-b), in the version that was online on January 21, 2025 (saved by the Internet Archive). EPA updates these files when facilities correct their reports, so this is what someone could have seen at the time. I kept only amounts reported in pounds; a few chemicals, like dioxins, are reported in grams.

Findings

The big picture

In 2023, 341 New Jersey facilities filed 1,034 TRI reports (one per chemical). Together they reported:

  • 4.65 million pounds released on-site: about 74% into water, 25% into the air, and 1% onto land.
  • 5.24 million pounds sent off-site for disposal.
  • About 5% of on-site releases were chemicals classified as carcinogens.

A few facilities dominate

The top 10 facilities account for 86% of all on-site releases:

Facility City Sector On-site releases (lb)
Phillips 66 Bayway Refinery Linden Petroleum 2,829,898
Chemours Chambers Works Deepwater Chemicals 444,891
Paulsboro Refining Co. Paulsboro Petroleum 378,023
Cogen Technologies Linden Venture Linden Electric utility 74,601
Viking Yacht Co. New Gretna Boat building 72,865
Avantor Performance Materials Phillipsburg Chemicals 50,229
DSM Nutritional Products Belvidere Chemicals 39,404
Linden Generating Station Linden Electric utility 38,127
Joint Base McGuire-Dix-Lakehurst Burlington County Military 36,790
Ardagh Glass Bridgeton Glass 34,130

By industry, petroleum refining accounts for 69% of on-site releases and chemical manufacturing for 16%.

Horizontal bar chart of each industry’s share of New Jersey on-site toxic releases in 2023: petroleum about 69%, chemicals about 16%, and all other sectors shown under 4% each. Figure 2. Petroleum refining accounts for about 69% of New Jersey’s reported on-site toxic releases.

Pounds are not the same as harm

The top chemical by weight is nitrate compounds discharged to water (3.4 million lb), mostly from the Bayway refinery. Nitrates can harm rivers and bays by feeding algae, but a pound of nitrate isn’t nearly as toxic to people as a pound of benzene. TRI reports amounts, not risk (U.S. EPA, n.d.-c).

What neighbors breathe is a different list. Air releases totaled 1.16 million lb, led by ammonia (304,000 lb), sulfuric acid (114,000 lb), styrene (113,000 lb, mainly from boat building), and toluene (77,000 lb). The largest air emitters were Bayway (228,000 lb), Cogen Technologies Linden (75,000 lb), and Viking Yacht (73,000 lb).

Where the releases are

County TRI facilities On-site releases (lb) % of NJ total % of residents in overburdened communities
Union 28 3,042,931 65% 71%
Salem 8 484,466 10% 27%
Gloucester 21 464,613 10% 21%
Middlesex 59 150,108 3% 80%
Burlington 17 133,227 3% 41%
Warren 6 90,523 2% 25%

Horizontal bar chart of on-site toxic releases by county in 2023, with Union County near 3,000 thousand pounds, far above Salem and Gloucester at roughly 500 thousand, and most others near zero. Bars are orange where most residents live in overburdened communities. Figure 1. Union County alone accounts for nearly two-thirds of New Jersey’s on-site toxic releases.

Union County alone, home to Bayway and two large Linden power plants, accounts for nearly two-thirds of the state’s on-site releases. The 11 counties where most residents live in overburdened communities host 70% of TRI facilities and 74% of on-site releases (69% of air releases). But some big sources, like Chambers Works in Salem County and the Paulsboro refinery in Gloucester County, are in counties where most residents don’t live in overburdened communities, though the facilities themselves may sit near ones that do.

What I learned

  • A handful of large facilities, especially refineries, account for most reported releases.
  • Total pounds can be misleading. What is released and where it goes matter as much as how much.
  • County totals are a starting point, but to know who lives next to these facilities, I need to look at a smaller scale: neighborhoods, not counties.

Limitations

  • TRI doesn’t cover everything. Smaller facilities, many chemicals, and sources like cars, trucks, and ships aren’t included (U.S. EPA, n.d.-a).
  • Self-reported data. Facilities estimate their own releases, often with calculations rather than direct measurements.
  • Releases are not exposure. Distance, wind, and stack height determine who actually breathes or drinks a chemical.

Code project (Level 1): summarizing a big government dataset

Goal: Summarize New Jersey’s 2023 TRI reports by facility, industry, chemical, and county.

Data: EPA TRI basic data file, reporting year 2023 (archived January 21, 2025 version), filtered to New Jersey; NJDEP overburdened community list (version effective July 31, 2024 – January 30, 2025).

Steps:

  1. Load the file and keep only New Jersey rows reported in pounds.
  2. Add up air releases (stack + fugitive) and on-site totals.
  3. Use groupby to total releases by facility, sector, chemical, and county.
  4. Calculate percentages of the statewide total.
  5. Add each county’s share of residents living in overburdened communities and compare.
  6. Make bar charts.
lbs = tri[tri["UNIT OF MEASURE"] == "Pounds"]
by_county = lbs.groupby("COUNTY")["ON-SITE RELEASE TOTAL"].sum().sort_values(ascending=False)
print((by_county / by_county.sum() * 100).round(1))

New skills: groupby summaries, percentages of a total, and comparing two tables by a shared column.

Data and methods

Data sources

  • EPA TRI basic data file, reporting year 2023 (archived January 21, 2025 version), filtered to New Jersey; NJDEP overburdened community list (version effective July 31, 2024 – January 30, 2025).

The analysis was done in Python with public data. The full code, its data, and every figure it produces are in the code project below.

References

  1. New Jersey Department of Health. (n.d.). Right to Know. https://www.nj.gov/health/workplacehealthandsafety/right-to-know/
  2. New Jersey Department of Environmental Protection. (2024). Environmental Justice (EJ) Law Combined Stressor Summary 20240731 – 20250130 [Data set]. https://www.arcgis.com/home/item.html?id=12c559e017264e7ba621669bf8f948d7
  3. U.S. Environmental Protection Agency. (n.d.-a). What is the Toxics Release Inventory? https://www.epa.gov/toxics-release-inventory-tri-program/what-toxics-release-inventory
  4. U.S. Environmental Protection Agency. (n.d.-b). TRI basic data files: Calendar years 1987–present [Data set; archived copy of January 21, 2025]. https://www.epa.gov/toxics-release-inventory-tri-program/tri-basic-data-files-calendar-years-1987-present (archive: https://web.archive.org/web/20250121021328/https://data.epa.gov/efservice/downloads/tri/mv_tri_basic_download/2023_US/csv)
  5. U.S. Environmental Protection Agency. (n.d.-c). Factors to consider when using Toxics Release Inventory data. https://www.epa.gov/toxics-release-inventory-tri-program/factors-consider-when-using-toxics-release-inventory-data