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.
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
| Field | Default | Applies when |
|---|---|---|
train_type | intercity_national_average | No train_type is sent |
number_of_travelers | 1 | No number_of_travelers is sent |
methodology_version | Latest supported EPA Hub year | No methodology_version is sent |
How it's calculated
EF × distance × travellerstrain_type and methodology_version (or the latest year if omitted).distance_in_km, the trip distance in kilometres.number_of_travelers.All outputs are returned in grams by default.
Request fields
typestringrequiredtrain
methodologystringrequiredUS-EPA
methodology_versionstringEPA Hub year, for example "2023". If omitted, the calculation defaults to the latest supported year.
external_referencestringYour unique identifier for correlating responses. Up to 128 characters.
number_of_travelersintegerMinimum 1. Defaults to 1.
distance_in_kmnumberThe preferred distance input. If you send both distance_in_km and origin/destination, SQUAKE uses distance_in_km.
originstringIf 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.
destinationstringSame formats as origin.
train_typeenumSupported: "intercity_northeast_corridor", "intercity_other_routes", "intercity_national_average", "commuter_rail", "transit_rail".
auditbooleanSet to true to create immutable audit records for finalised calculations. Must be enabled for your account.
POST /v2/calculations in the API referenceOrigin 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/destinationanddistance_in_km, SQUAKE usesdistance_in_kmfor emissions. - Invalid, unsupported or unresolvable location codes trigger a fallback to generic (non-journey-specific) factors consistent with the US-EPA methodology.
Sample response
{
"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).