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 Cost Calculator

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

A general costing service is called from the TcPCM wrapper process. The primary objective of this service is to provide the necessary functionality for the TcPCM use case. The long-term goal is to enable the costing service to be independently publishable.

Default values for equipment and fuel type

transportModevalidFromvalidToequipmentfuelType
road01.01.190031.12.2023Large TruckDiesel
air01.01.190031.12.2023freighterKerosene
rail01.01.190031.12.2023
logisticsite01.01.190031.12.2023transhipment_mixed
sea01.01.190031.12.202320ftHFO
road01.01.202431.12.2024Large TruckDiesel
air01.01.202431.12.2024freighterKerosene
rail01.01.202431.12.2024
logisticsite01.01.202431.12.2024transhipment_mixed
sea01.01.202431.12.202420ftHFO
road01.01.202531.12.2999Large TruckDiesel
air01.01.202531.12.2999freighterKerosene
rail01.01.202531.12.2999
logisticsite01.01.202531.12.2999transhipment_mixed
sea01.01.202531.12.299920ftHFO

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.2023SprinterDiesel
01.01.190031.12.2023Small TruckDiesel
01.01.190031.12.2023Medium TruckDiesel
01.01.190031.12.2023Large TruckDiesel
01.01.202431.12.2024SprinterDiesel
01.01.202431.12.2024Small TruckDiesel
01.01.202431.12.2024Medium TruckDiesel
01.01.202431.12.2024Large TruckDiesel
01.01.202531.12.2999SprinterDiesel
01.01.202531.12.2999Small TruckDiesel
01.01.202531.12.2999Medium TruckDiesel
01.01.202531.12.2999Large TruckDiesel
01.01.202531.12.2999SprinterElectric
01.01.202531.12.2999Small TruckElectric
01.01.202531.12.2999Medium TruckElectric
01.01.202531.12.2999Large TruckElectric
01.01.202531.12.2999SprinterCNG
01.01.202531.12.2999Small TruckCNG
01.01.202531.12.2999Medium TruckCNG
01.01.202531.12.2999Large TruckCNG
01.01.202531.12.2999Large 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.2025DieselDiesel
01.01.190031.12.2025Light DieselDiesel
01.01.190031.12.2025Average DieselDiesel
01.01.190031.12.2025Extralarge DieselDiesel
01.01.190031.12.2025Heavy DieselDiesel
01.01.190031.12.2025Car DieselDiesel
01.01.190031.12.2025Chemistry DieselDiesel
01.01.190031.12.2025Container DieselDiesel
01.01.190031.12.2025Coalandsteel DieselDiesel
01.01.190031.12.2025Buildingmaterials DieselDiesel
01.01.190031.12.2025Manufacturedproducts DieselDiesel
01.01.190031.12.2025Cereals DieselDiesel
01.01.190031.12.2025Highspeed DieselDiesel
01.01.190031.12.2025Doublestackcontainer DieselDiesel
01.01.190031.12.2025Rollingroad DieselDiesel
01.01.190031.12.2025ElectricElectric
01.01.190031.12.2025Light ElectricElectric
01.01.190031.12.2025Average ElectricElectric
01.01.190031.12.2025Extralarge ElectricElectric
01.01.190031.12.2025Heavy ElectricElectric

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.2023Unknown
01.01.190031.12.2023Belly Freight
01.01.190031.12.2023Freighter
01.01.202431.12.2024Unknown
01.01.202431.12.2024Belly Freight
01.01.202431.12.2024Freighter
01.01.202531.12.2999Unknown
01.01.202531.12.2999Belly Freight
01.01.202531.12.2999Freighter

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.202320ft_Reefer
01.01.190031.12.202320ft
01.01.190031.12.202340ft_Reefer
01.01.190031.12.202340ft
01.01.190031.12.202340ftHC_Reefer
01.01.190031.12.202340ftHC
01.01.202431.12.202420ft_Reefer
01.01.202431.12.202420ft
01.01.202431.12.202440ft_Reefer
01.01.202431.12.202440ft
01.01.202431.12.202440ftHC_Reefer
01.01.202431.12.202440ftHC
01.01.202531.12.299920ft_Reefer
01.01.202531.12.299920ft
01.01.202531.12.299940ft_Reefer
01.01.202531.12.299940ft
01.01.202531.12.299940ftHC_Reefer
01.01.202531.12.299940ftHC

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.2023Transhipment Ambient
01.01.190031.12.2023Transhipment Mixed
01.01.190031.12.2023Storage Transhipment Ambient
01.01.190031.12.2023Storage Transhipment Mixed
01.01.190031.12.2023Warehouse Ambient
01.01.190031.12.2023Warehouse Mixed
01.01.190031.12.2023Container Terminal Ambient
01.01.190031.12.2023Container Terminal Mixed
01.01.190031.12.2023Liquid Bulk Terminal Ambient
01.01.190031.12.2023Liquid Bulk Terminal Mixed
01.01.202431.12.2024Transhipment Ambient
01.01.202431.12.2024Transhipment Mixed
01.01.202431.12.2024Storage Transhipment Ambient
01.01.202431.12.2024Storage Transhipment Mixed
01.01.202431.12.2024Warehouse Ambient
01.01.202431.12.2024Warehouse Mixed
01.01.202431.12.2024Container Terminal Ambient
01.01.202431.12.2024Container Terminal Mixed
01.01.202431.12.2024Liquid Bulk Terminal Ambient
01.01.202431.12.2024Liquid Bulk Terminal Mixed
01.01.202531.12.2999Transhipment Ambient
01.01.202531.12.2999Transhipment Mixed
01.01.202531.12.2999Storage Transhipment Ambient
01.01.202531.12.2999Storage Transhipment Mixed
01.01.202531.12.2999Warehouse Ambient
01.01.202531.12.2999Warehouse Mixed
01.01.202531.12.2999Container Terminal Ambient
01.01.202531.12.2999Container Terminal Mixed
01.01.202531.12.2999Liquid Bulk Terminal Ambient
01.01.202531.12.2999Liquid 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.
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.

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."