Train: US-EPA 🇺🇸

Calculate US passenger rail emissions with factors from the US EPA GHG Emission Factors Hub, by US service class, in grams of COâ‚‚e per passenger-kilometre.

type trainmethodology US-EPASupports audit mode

About the methodology

The US EPA GHG Emission Factors Hub provides passenger-rail emission factors used for corporate greenhouse gas (GHG) accounting in the United States. For trains, factors are expressed in gCOâ‚‚e per passenger-kilometre and include COâ‚‚, CHâ‚„ and Nâ‚‚O, aggregated with the EPA's 100-year GWPs for the given Hub year. In this implementation:

  • Units: gCOâ‚‚e/pax-km.
  • Scope: tank-to-wheel (TTW). EPA's factors cover combustion emissions only, without upstream (well-to-tank) emissions.
  • Coverage: intercity (national average and route-specific), commuter rail and transit rail.

Versions

If methodology_version is omitted, SQUAKE always uses the latest supported EPA Hub year. Pinning a year is recommended for reproducibility.

Sample requests

Send a quote before booking, then repeat the call with audit set to true once the booking is final. The body is otherwise identical.

{
  "expand": ["items"],
  "items": [{
    "audit": false,
    "type": "train",
    "external_reference": "test_1",
    "distance_in_km": 500,
    "number_of_travelers": 1,
    "methodology": "US-EPA",
    "train_type": "intercity_national_average"
  }]
}

audit_for is optional

Pass the ID of an auditable entity when you calculate on behalf of that entity. Otherwise, leave it out.

Defaults

FieldDefaultApplies when
train_typeintercity_national_averageNo train_type is sent
number_of_travelers1No number_of_travelers is sent
methodology_versionLatest supported EPA Hub yearNo methodology_version is sent

How it's calculated

Total emissions (gCO₂e)EF × distance × travellers
EF
The factor in gCOâ‚‚e/pax-km for the chosen train_type and methodology_version (or the latest year if omitted).
Distance
distance_in_km, the trip distance in kilometres.
Travellers
number_of_travelers.

All outputs are returned in grams by default.

Request fields

typestringrequired

train

methodologystringrequired

US-EPA

methodology_versionstring

EPA Hub year, for example "2023". If omitted, the calculation defaults to the latest supported year.

external_referencestring

Your unique identifier for correlating responses. Up to 128 characters.

number_of_travelersinteger

Minimum 1. Defaults to 1.

distance_in_kmnumber

The preferred distance input. If you send both distance_in_km and origin/destination, SQUAKE uses distance_in_km.

originstring

If provided, SQUAKE resolves the rail distance. Accepts IATA/ICAO, UN/LOCODE or postal formats, or "lat,lon" (for example "+40.712,-74.006"). See Origin and destination formats. For EPA factors, the train type should match US service classes.

destinationstring

Same formats as origin.

train_typeenum

Supported: "intercity_northeast_corridor", "intercity_other_routes", "intercity_national_average", "commuter_rail", "transit_rail".

auditboolean

Set to true to create immutable audit records for finalised calculations. Must be enabled for your account.

See every field of POST /v2/calculations in the API reference

Origin and destination formats

SQUAKE tries to resolve origin and destination whatever their format. Ideally, use:

  • Addresses: the Post standard.
  • Airports: an IATA/ICAO code (regex ^[A-Z]{3,4}$, for example "MUC").
  • Ports and trade locations: a UN/LOCODE (regex ^[A-Z]{2}\W?[A-Z2-9]{3}$, for example "DEHAM").
  • Coordinates: latitude and longitude (regex ^[-+]?\d{1,3}\.\d{1,10}\s?,\s?[-+]?\d{1,3}\.\d{1,10}$, for example "+40.712,-74.006").

UIC and provider codes

A UIC code is also a valid format for trains. If the value isn't valid, the system falls back to general, non-journey-specific emission data.

To use a UIC or provider code, send <provider>:<uic_code>, for example atoc:1072 or amtrak:NYP as illustrative code styles. Possible provider prefixes: uic, uic8_sncf, sncf, sncf_tvs, entur, db, busbud, distribusion, flixbus, cff, leoexpress, obb, trenitalia, trenitalia_rtvt, trenord, ntv_rtiv, ntv, hkx, renfe, atoc, benerail, westbahn.

// Illustrative; US context
{
  "type": "train",
  "methodology": "US-EPA",
  "origin": "atoc:1072",          // Example code structure
  "destination": "atoc:5935",
  "number_of_travelers": 1,
  "train_type": "intercity_national_average"
}

Distance and fallback

  • If you send both origin/destination and distance_in_km, SQUAKE uses distance_in_km for emissions.
  • Invalid, unsupported or unresolvable location codes trigger a fallback to generic (non-journey-specific) factors consistent with the US-EPA methodology.

Sample response

200 OKapplication/json
{
  "carbon_quantity": 18127.337,
  "carbon_unit": "gram",
  "items": [{
    "carbon_quantity": 18127.337,
    "carbon_unit": "gram",
    "external_reference": "test_case_1",
    "type": "train",
    "methodology": "US-EPA",
    "distance": 500.0,
    "distance_unit": "kilometer",
    "train_type": "intercity_northeast_corridor"
  }]
}

Bibliography

US EPA. GHG Emission Factors Hub (Passenger Rail).

On this page

POST/v2/calculations

Run this request against the sandbox with your test key.

Open in API reference