The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Terms of Use and Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Skip to content
Transport Carbon Calculator Share llms optimized content

The Transport Carbon Calculator (TCC) web service calculates transport emissions for single-leg relations between two locations, in conformance with the Global Logistics Emissions Council (GLEC) framework.

User Guide

Transport Carbon Calculator

Restricted | © Siemens 2025


Contents


About Transport Carbon Calculator (TCC)

The Transport Carbon Calculator (TCC) web service calculates transport emissions for single-leg relations between two locations, in conformance with the Global Logistics Emissions Council (GLEC) framework. TCC enables worldwide carbon equivalent emission calculations with minimal input requirements.

It provides two methodology options:

  • Direct methodology - based on actual fuel consumption.
  • Default methodology - based on emission factors.

TCC supports all commonly used transport channels: rail, road, sea, and air. Additionally, it calculates emissions produced at logistics sites, such as during transshipment processes. Users can select various equipment types for each transport channel, allowing for a more precise description of the transport and, consequently, a more accurate emission calculation. The option to choose between different fuel types further enhances the quality and accuracy of the calculation process.

Transport Carbon Calculator offers:

  • Leg-based calculation of carbon equivalent emissions
  • Fast and easy integration of GLEC methodology
  • Direct or default calculation options
  • Support for various equipment inputs (fuel, vehicle, etc.)
  • Coverage of multiple transport channels (rail, road, sea, air, logistics sites)
  • Worldwide coverage
  • Integrated geocoding and georouting capabilities

GLEC Framework

The CO2 equivalents (CO2e) calculation module used by the service is accredited by Smart Freight Centre for being conform with the GLEC methodology as well as ISO 14083, ensuring the accuracy and reliability of the calculations. For more information about the GLEC Framework see Smart Freight Center.


Input and Output Contracts

Default values for equipment and fuel type

transportModevalidFromvalidToequipmentfuelType
road01.01.190031.12.9999Large TruckDiesel
air01.01.190031.12.9999freighterKerosene
rail01.01.190031.12.9999
logisticsite01.01.190031.12.9999transhipment_mixed
sea01.01.190031.12.999920ftHFO

Input

Table "legs"

NameTypeValuesMandatoryExplanation
equipmentstrchoices see belownoEquipment. Choices depend on fuelType and transportMode
fuelTypestrchoices see belownoFuel used. Choices depend on equipment and transportMode
fuelConsumptionUnitstrchoices see belownoUnit of the fuelConsumption. Choices: "kwh/100km" (for electric), "l/100km" (for diesel, lpg, b5-diesel, kerosene), "kg/100km" (for diesel, lpg, b5-diesel, lng, cng, kerosene, mdo, hfo)
shipmentDatedateAny date in format "yyyy-mm-dd". Example: "2030-12-24"noShipment date. If not date is given, current date will be used
transportModestr["Road", "Sea", "Air", "Rail", "logisticsite"]yesUsed transport mode. Choices: "logisticsite", "road", "air", "sea", "rail"
shipmentIdstryesThe identifier for the shipment. Case sensitive
legIdstryesThe identifier for the transport legs. Case sensitive
senderLocationIdstryesId of the sender location. Link to locations table
recipientLocationIdstryesId of the recipient location. Link to locations table
distanceKmfloatnoDistance of the transport leg. Must be given in km. If not given, will be calculated
weightKgfloatyesGross transport weight including packaging. Must be given in kg
volumeCbmfloatnoGross volume including packaging. Must be given in cbm
loadingMeterMfloatnoGross loading meter including packaging. Must be given in meter
fuelConsumptionfloatnoConsumption. If given, is used to calculate the CO2e. If given fuelType must be given. Unit of measurement depends on chosen fuelType

Allowed Values for Different Columns in the Table "Legs"

Road

Equipment for Transport Mode Road

Valid FromValid ToEquipmentFuel Type
01.01.190031.12.9999SprinterDiesel
01.01.190031.12.9999Small TruckDiesel
01.01.190031.12.9999Medium TruckDiesel
01.01.190031.12.9999Large TruckDiesel
01.01.202531.12.9999SprinterElectric
01.01.202531.12.9999Small TruckElectric
01.01.202531.12.9999Medium TruckElectric
01.01.202531.12.9999Large TruckElectric
01.01.202531.12.9999SprinterCNG
01.01.202531.12.9999Small TruckCNG
01.01.202531.12.9999Medium TruckCNG
01.01.202531.12.9999Large TruckCNG
01.01.202531.12.9999Large TruckLNG

Fuel Consumption Unit for Transport Mode Road

  • Kwh / 100 km (for fuelType Electric)
  • L / 100 km (for fuelType Diesel, LPG, B5-diesel)
  • Kg / 100 km (for fuelType Diesel, LPG, B-diesel, LNG, CNG)

Fuel Type for Transport Mode Road

  • Diesel
  • LPG
  • B5-diesel
  • Electric
  • LNG
  • CNG

Rail

Equipment for Transport Mode Rail

Valid FromValid ToEquipmentFuel Type
01.01.190031.12.9999diesel
01.01.190031.12.9999lightdiesel
01.01.190031.12.9999averagediesel
01.01.190031.12.9999extralargediesel
01.01.190031.12.9999heavydiesel
01.01.190031.12.9999cardiesel
01.01.190031.12.9999chemistrydiesel
01.01.190031.12.9999containerdiesel
01.01.190031.12.9999coalandsteeldiesel
01.01.190031.12.9999buildingmaterialsdiesel
01.01.190031.12.9999manufacturedproductsdiesel
01.01.190031.12.9999cerealsdiesel
01.01.190031.12.9999highspeeddiesel
01.01.190031.12.9999doublestackcontainerdiesel
01.01.190031.12.9999rollingroaddiesel
01.01.190031.12.9999electric
01.01.190031.12.9999lightelectric
01.01.190031.12.9999averageelectric
01.01.190031.12.9999extralargeelectric
01.01.190031.12.9999heavyelectric
01.01.190031.12.9999averageelectric
01.01.190031.12.9999extralargeelectric
01.01.190031.12.9999heavyelectric
01.01.190031.12.9999carelectric
01.01.190031.12.9999chemistryelectric
01.01.190031.12.9999containerelectric
01.01.190031.12.9999coalandsteelelectric
01.01.190031.12.9999buildingmaterialselectric
01.01.190031.12.9999manufacturedproductselectric
01.01.190031.12.9999cerealselectric
01.01.190031.12.9999highspeedelectric
01.01.190031.12.9999doublestackcontainerelectric
01.01.190031.12.9999rollingroadelectric

Fuel Consumption Unit for Transport Mode Rail

  • NA

Fuel Type for Transport Mode Rail

  • NA

Air

Equipment for Transport Mode Air

Valid FromValid ToEquipment
01.01.190031.12.9999Unknown
01.01.190031.12.9999Belly Freight
01.01.190031.12.9999Freighter

Fuel Consumption Unit for Transport Mode Air

  • L / 100 km
  • Kg / 100 km

Fuel Type for Transport Mode Air

  • Kerosene

Sea

Equipment for Transport Mode Sea

Valid FromValid ToEquipment
01.01.190031.12.999920ft_Reefer
01.01.190031.12.999920ft
01.01.190031.12.999940ft_Reefer
01.01.190031.12.999940ft
01.01.190031.12.999940ftHC_Reefer
01.01.190031.12.999940ftHC

Fuel Consumption Unit for Transport Mode Sea

  • Kg / 100 km

Fuel Type for Transport Mode Sea

  • MDO
  • HFO

Logisticsite

Equipment for Transport Mode Logisticsite

Valid FromValid ToEquipment
01.01.190031.12.9999transhipment_ambient
01.01.190031.12.9999transhipment_mixed
01.01.190031.12.9999storage_transhipment_ambient
01.01.190031.12.9999storage_transhipment_mixed
01.01.190031.12.9999warehouse_ambient
01.01.190031.12.9999warehouse_mixed
01.01.190031.12.9999container_terminal_ambient
01.01.190031.12.9999container_terminal_mixed
01.01.190031.12.9999liquid_bulk_terminal_ambient
01.01.190031.12.9999liquid_bulk_terminal_mixed

Fuel Consumption Unit for Transport Mode Logisticsite

  • NA

Fuel Type for Transport Mode Logisticsite

  • NA

Table "Locations"

NameTypeMandatoryExplanation
idstryesThe unique identifier for the location.
countrystrno/yesThe country of the location in ISO 3166-1 alpha-2 format, e.g. “DE” for Germany. Either country+postalCode+city is given or latitude+longitude. Parsing case insensitive.
postalCodestrno/yesThe postcode of the location. Either country+postalCode+city is given or latitude+longitude.
citystrno/yesThe city name of the location. Either country+postalCode+city is given or latitude+longitude.
streetstrnoThe street name of the location.
housenumberstrnoThe housenumber of the location.
latitudefloatno/yesThe latitude of the location. In decimal format. Either country+postalCode+city is given or latitude+longitude.
longitudefloatno/yesThe longitude of the location. In decimal format. Either country+postalCode+city is given or latitude+longitude.

Table "Parameters"

NameTypeMandatoryExplanation
keystrnoName of the parameter.
valuestrnoValue of the parameter.

Output

Table "resultsLegs"

KeyValueDescription
shipmentIdstrThe identifier for the shipment.
legIdstrThe identifier for the transport legs.
transportModestrTransport mode used for this leg.
co2eKgfloatCalculated Well-to-Wheel CO2e emissions in kg.
wttCo2eKgfloatCalculated Well-to-Tank CO2e emissions in kg.
ttwCo2eKgfloatCalculated Tank-to-Wheel CO2e emissions in kg.
errorSeveritystrHighest severity error type (Error, Warning, Hint, None)

Table "resultLocations"

KeyValueDescription
idstrThe unique identifier for the location. Is created from shipment id, country code, and postal code. Ids for the transshipment locations are IATA or UN/LOCODES.
latitudefloatThe latitude of the location.
longitudefloatThe longitude of the location.
errorSeveritystrHighest severity error type (Error, Warning, Hint, None)

Table "resultMessages"

KeyValueDescription
tablestrName of the table to which the entry refers.
causerstrDepending on the Table, this field contains the shipment, leg, or location id.
messagestrMessage that explains the issue.
severitystrSeverity of the error (Error, Warning, or Hint)
codestrError code - see below

Table "resultErrors"

If output errors occur in the result, a detailed message is given. There are three different error types:

  • Hint: Hint for the user, which might be interesting, but with no effect on the results.
  • Warning: Result could be calculated, but a workaround has been used.
  • Error: Result could not be calculated.

The tables resultShipments, resultLegs, resultLocations only show the type, while the respective error message is listed in the resultErrors table. A data row can produce multiple errors. The affected table only shows the most severe error type, while all error types and messages are listed in the resultErrors table.

Output Errors for Table "resultLegs"

TypeCodeMessage
ErrorresultLegs_noShipmentId"No shipmentId is given. Leg will not be processed further."
ErrorresultLegs_noLegId"No legId is given. Leg will not be processed further."
ErrorresultLegs_legIdNotUnique"The leg " + legId + " of the shipment (" + shipmentId + ") is not unique. Leg will not be processed further."
ErrorresultLegs_noSenderId"For the leg " + legId + " of the shipment (" + shipmentId + ") no senderId is given. Leg will not be processed further."
ErrorresultLegs_noRecipientId"For the leg " + legId + " of the shipment (" + shipmentId + ") no recipientId is given. Leg will not be processed further."
ErrorresultLegs_noDate"For the leg " + legId + " of the shipment (" + shipmentId + ") no date is given. Leg will not be further proceeded."
ErrorresultLegs_dateTooLate"For the leg " + legId + " of the shipment (" + shipmentId + ") the date is more than 15 years in the future. This is not covered. Leg will not be further proceeded."
WarningresultLegs_dateTooEarly"For the leg " + legId + " of the shipment (" + shipmentId + ") the date is before the 01.01.2022. This is not covered. The 01.01.2022 will be used as leg data."
ErrorresultLegs_noWeightKg"For the leg " + legId + " of the shipment (" + shipmentId + ") either no weightKg is given or weightKg <= 0 kg. Leg will not be processed further."
HintresultLegs_weightKgTooHeavy"For the leg " + legId + " of the shipment (" + shipmentId + ") the weightKg > 25000 kg."
HintresultLegs_weightKgTooLight"For the leg " + legId + " of the shipment (" + shipmentId + ") the weightKg < 1 kg."
HintresultLegs_noDistanceKm"For the leg " + legId + " of the shipment (" + shipmentId + ") no distanceKm is given. Distance will be calculated."
HintresultLegs_distanceKm<=0"For the leg " + legId + " of the shipment (" + shipmentId + ") the distanceKm <= 0 km. Distance will be recalculated."
ErrorresultLegs_senderIdGeoInformationMissing"For the leg " + legId + " of the shipment (" + shipmentId + ") the sender geocoding information is missing. The leg will not be further processed."
ErrorresultLegs_recipientIdGeoInformationMissing"For the leg " + legId + " of the shipment (" + shipmentId + ") the recipient geocoding information is missing. The leg will not be further processed."
ErrorresultLegs_noKnownTransportMode"For the leg " + legId + " of the shipment (" + shipmentId + ") no known transport mode is given (choices are 'air', 'sea', 'road', 'inland water', 'rail', 'logisticsite'). The leg will not be further processed."
ErrorresultLegs_noFuelTypeButConsumption"For the leg " + legId + " of the shipment (" + shipmentId + ") a consumption has been defined, but not a fuelType. The leg will not be further processed."
WarningresultLegs_noKnownFuelType"For the leg " + legId + " of the shipment (" + shipmentId + ") no known fuel type has been selected. The default will be used. Choices are: "+Choices_FuelType_noConsumption if fuelType not in ["", None] and fuelType not in Choices_FuelType_noConsumption and not fuelConsumption else "For the leg " + legId + " of the shipment (" + shipmentId + ") no known fuel type has been selected. The default will be used. Choices are: "+Choices_FuelType_Consumption if fuelType not in Choices_FuelType_Consumption and fuelConsumption else
WarningresultLegs_wrongEquipmentRoad"For the leg " + legId + " of the shipment (" + shipmentId + ") the equipment ("+equipment+") is not valid for transportMode (" + transportMode +"). Choices road: "+Choices_Road
WarningresultLegs_wrongEquipmentRail"For the leg " + legId + " of the shipment (" + shipmentId + ") the equipment ("+equipment+") is not valid for transportMode (" + transportMode +"). Choices rail: "+Choices_Rail
WarningresultLegs_wrongEquipmentInlandWater"For the leg " + legId + " of the shipment (" + shipmentId + ") the equipment ("+equipment+") is not valid for transportMode (" + transportMode +"). Choices inlandwaterways: "+Choices_InlandWaterways
WarningresultLegs_wrongEquipmentSea"For the leg " + legId + " of the shipment (" + shipmentId + ") the equipment ("+equipment+") is not valid for transportMode (" + transportMode +"). Choices sea: "+Choices_Sea
WarningresultLegs_wrongEquipmentAir"For the leg " + legId + " of the shipment (" + shipmentId + ") the equipment ("+equipment+") is not valid for transportMode (" + transportMode +"). Choices are: "+Choices_Air
WarningresultLegs_wrongEquipmentLogisticSite"For the leg " + legId + " of the shipment (" + shipmentId + ") the equipment ("+equipment+") is not valid for transportMode (" + transportMode +"). Choices are: "+Choices_LogisticSites
WarningresultsLegs_noKnownFuelConsumptionUnit"For the leg " + legId + " of the shipment (" + shipmentId + ") a unknown fuelConsumptionUnit has been given, while a fuelConsumption is given. The default unit will be used. Choices are: "+Choices_FuelConsumptionUnit
WarningresultLegs_noConsumptionButUnit"For the leg " + legId + " of the shipment (" + shipmentId + ") a fuelConsumptionUnit has been given, while a fuelConsumption is not given. The unit will be ignored."
HintresultLegs_noDirectConsumptionForRail"For the leg " + legId + " of the shipment (" + shipmentId + ") a consumption has been defined, but the transport mode 'rail' is not supported for direct emission calculation. The default emission calculation will be used."
ErrorresultLegs_senderIdRecipientIdNoRegionFound"For the leg "+ legId + " of the shipment (" + shipmentId + ") the sender country "+Sender_country+" and the recipient country "+Recipient_country+" could not be assigned to any region. Please check the country codes."
ErrorresultLegs_senderIdNoRegionFound"For the leg "+ legId + " of the shipment (" + shipmentId + ") the sender country "+Sender_country+ " could not be assigned to any region. Please check the country code."
ErrorresultLegs_senderIdNoRegionFound"For the leg "+legId+ " of the shipment (" + shipmentId + ") the recipient country "+Recipient_country+" could not be assigned to any region. Please check the country code."
ErrorresultLegs_senderGeocodingFailed"For the leg "+legId+" of the shipment (" + shipmentId + ") the sender could not be geocoded. The leg will not be further processed."
ErrorresultLegs_recipientGeocodingFailed"For the leg "+legId+" of the shipment (" + shipmentId + ") the recipient could not be geocoded. The leg will not be further processed."
ErrorresultLegs_senderRecipientGeocodingFailed"For the leg "+legId+" of the shipment (" + shipmentId + ") the sender and recipient could not be geocoded. The leg will not be further processed."
ErrorresultLegs_noDistanceCalculated"For leg "+legId+" of the shipment (" + shipmentId + ") no distance could be calculated."
ErrorresultLegs_co2eNotCalculated"For leg "+legId+" of the shipment (" + shipmentId + ") the CO2e emission calculation has failed."
WarningresultLegs_riskIndexNotCalculated"The risk index for the leg "+legId+" of the shipment (" + shipmentId + ") could not be calculated."
ErrorresultLegs_routingFailed"No routing was possible because origin and destination location are within different sub-networks: [...]" "[...] Could not find transferpoints [...]"
ErrorresultLegs_costsNotCalculated"Transport costs for the leg " + legId + " of the shipment (" + shipmentId + ") could not be calculated. Please check the input."

Output Errors for Table "ResultLocations"

TypeCodeMessage
HintresultLocations_locationNotUsed"Location is not used in the shipments table. Therefore, it is not further processed."
ErrorresultLocations_geocodingNotPossible"For the location " + id + " address information is missing or false. Legs containing this location will not be further processed."
WarningresultLocations_notUniqueId"The location " + id + " appears more than once with different addresses in the data. Please correct. Different addresses should have different ids. In the further calculation a random address will be selected."
ErrorresultLocations_geocodingFailed"The location "+id+" could not be geocoded."
ErrorresultLocations_regionNotFound"For the location "+id+" the country "+country+" could not be assigned to any region. Please check the country code."