Mobile Sources

Mobile Sources is a Scope 1 Emission that accounts for the combustion of fuels to power on- and off-road vehicles and equipment.

Class Documentation

class atomic6ghg.formulas.mobile_sources.MobileSources(wks_data=None)

Calculate emissions from mobile source vehicles

static calculate_ch4_emissions(vehicle_type, fuel_type, usage, vehicle_year)

Calculate CH4 emissions for a mobile source vehicle. usage is either fuel_usage or miles_traveled depending on if the vehicle_type is non-road or on road, respectively.

static calculate_co2_emissions(fuel_type, fuel_usage)

Calculate CO2 emissions for a mobile source fuel

static calculate_n2o_emissions(vehicle_type, fuel_type, usage, vehicle_year)

Calculate CH4 emissions for a mobile source vehicle. usage is either fuel_usage or miles_traveled depending on if the vehicle_type is non-road or on road, respectively.

co2_fuel_map = {'gasoline2Stroke': 'gasoline', 'gasoline4Stroke': 'gasoline', 'methanol': 'ethanol'}
co2_fuels_units = {'aviationGasoline': 'gallons', 'biodiesel': 'gallons', 'cng': 'scf', 'diesel': 'gallons', 'ethanol': 'gallons', 'gasoline': 'gallons', 'jetFuel': 'gallons', 'lng': 'gallons', 'lpg': 'gallons', 'residualFuelOil': 'gallons'}
get_fuel_usage(fuel_type, fuel_usage)

Get non biomass fuel usage for each fuel type

make_total_biomass_co2_equivalent_emissions()

Calculate total biomass CO2 equivalent emissions

make_total_co2_equivalent_emissions()

Calculate total CO2 equivalent emissions

make_total_mobile_sources_fuel_usage_and_co2_emissions()

Format total_fuel_usage_and_co2_emissions data for schema

make_total_organization_wide_non_road_mobile_source_fuel_usage_and_emissions()

Select non-road vehicle data and format total_useage_and_ch4_and_n2o_emissions for schema

make_total_organization_wide_on_road_gasoline_mobile_source_mileage_and_emissions()

Select gasoline on road vehicle data and format total_useage_and_ch4_and_n2o_emissions for schema

make_total_organization_wide_on_road_non_gasoline_mobile_source_mileage_and_emissions()

Select non-gasoline on road vehicle data and format total_useage_and_ch4_and_n2o_emissions for schema

non_biomass_co2_fuel_map = {'biodiesel': 'diesel', 'ethanol': 'gasoline'}
nonroad_vehicles = ['agriculturalEquipment', 'agriculturalOffroadTrucks', 'aircraft', 'airportEquipment', 'constructionMiningEquipment', 'constructionMiningOffroadTrucks', 'industrialCommercialEquipment', 'lawnAndGardenEquipment', 'locomotives', 'loggingEquipment', 'railroadEquipment', 'recreationalEquipment', 'shipsAndBoats']
recalc(wks_data: dict) dict

Execute recalc procedure for MobileSources

road_vehicles = ['heavyDutyVehicles', 'lightDutyTrucks', 'motorcycles', 'passengerCars', 'buses', 'heavyDutyTrucks', 'lightDutyCars', 'mediumAndHeavyDutyVehicles', 'mediumDutyTrucks']
tabulate_mobile_source_use_and_emissions_by_vehicle_type(vehicle_type, fuel_type, vehicle_year, fuel_usage, miles_traveled)

Calculate total fuel usage, total mileage, and CH4 and N2O emissions for vehicles

tabulate_subtable_data()

Loop over user input data and make all sub-tables.

tabulate_total_mobile_sources_fuel_usage_and_co2_emissions(fuel_type, fuel_usage)

Calculate CO2 equivalent emissions for each input fuel_type and fuel_usage

to_dict()

API to expose _output

to_json()

API to expose _output as JSON

Example Usage

Python example code usage:

from atomic6ghg.formulas import MobileSources

mobile_sources_input: dict = {
  "version": "mobile-sources.1.0.0",
  "mobileSourcesFuelConsumption": [
    {
      "sourceId": "",
      "sourceDescription": "",
      "onOrNonRoad": "OnRoad",
      "vehicleType": "heavyDutyTrucks",
      "fuelType": "lpg",
      "vehicleYear": 1995,
      "fuelUsage": 10000,
      "milesTraveled": 0
    }
  ]
}
engine = MobileSources(mobile_sources_input)

outputs: dict = engine.to_dict()
print(outputs.get('totalCO2EquivalentEmissions'))

EPA Equation Analysis

Mobile sources allows for inputs of fuel usage for the following vehicle type and fuel type combinations:

Vehicle Type

Fuel Type

Passenger Cars

Gasoline, Diesel

Light-Duty Trucks

Gasoline, Diesel, Methanol, Ethanol, CNG, LPG, LNG, Biodiesel

Heavy-Duty Vehicles

Gasoline

Motorcycles

Gasoline

Medium and Heavy-Duty Vehicles

Diesel

Light-Duty Cars

Methanol, Ethanol, CNG, LPG, Biodiesel

Medium-Duty Trucks

CNG, LPG, LNG, Biodiesel

Heavy-Duty Trucks

Methanol, Ethanol, CNG, LPG, LNG, Biodiesel

Buses

Methanol, Ethanol, CNG, LPG, LNG, Biodiesel

Ships and Boats

Residual Fuel Oil, Gasoline (2 stroke), Gasoline (4 stroke), Diesel

Locomotives

Diesel

Aircraft

Jet Fuel, Aviation Gasoline

Agricultural Equipment

Gasoline (2 stroke), Gasoline (4 stroke), Diesel, LPG

Agricultural Offroad Trucks

Gasoline, Diesel

Construction/Mining Equipment

Gasoline (2 stroke), Gasoline (4 stroke), Diesel, LPG

Construction/Mining Offroad Trucks

Gasoline, Diesel

Lawn and Garden Equipment

Gasoline (2 stroke), Gasoline (4 stroke), Diesel, LPG

Airport Equipment

Gasoline, Diesel, LPG

Industrial/Commercial Equipment

Gasoline (2 stroke), Gasoline (4 stroke), Diesel, LPG

Logging Equipment

Gasoline (2 stroke), Gasoline (4 stroke), Diesel

Railroad Equipment

Gasoline, Diesel, LPG

Recreational Equipment

Gasoline (2 stroke), Gasoline (4 stroke), Diesel, LPG

Where CNG is compressed natural gas, LPG is liquefied petroleum gases, and LNG is liquefied natural gas.

The only acceptable units for fuel usage entry are gallons for all fuel types except CNG, which the only acceptable unit for fuel entry entry is scf.

If entering data for Passenger Cars, Light-Duty Trucks, Heavy-Duty Vehicles, or Motorcycles that use a fuel type of Gasoline, then the vehicle make year must be entered in as well as the \(\text{CH}_4\), and \(\text{N}_2\text{O}\) emissions factors for these vehicle types with gasoline depend on the year and will not calculate otherwise.

The fundamental calculation for each vehicle type/fuel type input are their \(\text{CO}_2\), \(\text{CH}_4\), and \(\text{N}_2\text{O}\) emissions associated with the quantity combusted. The formula for \(\text{CO}_2\) emissions, denoted \(Emission_{a}\) is:

\[Emission_{a} = Fuel_{a} \cdot EF_{a}\]

where \(a\) is the fuel type, \(Fuel_{a}\) is the fuel usage (fuel sold) and \(EF_{a}\) is the \(\text{CO}_2\) emission factor for fuel type \(a\). This is derived from Equation 3.2.1 from [IPCC2006V2CH3].

Note:
  • \(\text{CO}_2\) emissions for Gasoline, Gasoline (2 stroke), and Gasoline (4 stroke) are aggregated together under Gasoline for \(\text{CO}_2\) emissions by fuel type, as well as the fraction of ethanol that is comprised of gasoline. This fraction is obtained from a value in the schema for mobile sources under the key “ethanolPercent” (under the top level key “properties”). To obtain the fraction of gasoline in the ethanol (\(f_g\)), let \(EP\) be the value for “ethanolPercent”, then \(f_g = 1 - \frac{EP}{100}\). \(EP\) is set to a default value of \(80\%\).

  • Similar to \(\text{CO}_2\) emissions for Gasoline, \(\text{CO}_2\) emissions for Diesel include the fraction of Biodiesel that is comprised of diesel. To obtain the fraction of diesel in the biodiesel (\(f_g\)), let \(BP\) be the value for “biodieselPercent”, then \(f_g = 1 - \frac{BP}{100}\). \(BP\) is set to a default value of \(20\%\).

The formula for \(\text{CH}_4\) and \(\text{N}_2\text{O}\) emissions, denoted \(Emission_{a,\, b,\, t}\) is:

\[Emission_{a,\, b,\, t} = Fuel_{a,\, b,\, t} \cdot EF_{a,\, b,\, t}\]

where \(a\) is the fuel type, where \(b\) is the vehicle type, \(t\) is the vehicle make year, \(Fuel_{a,\, b,\, t}\) is the fuel usage and \(EF_{a,\, b,\, t}\) is the emission factor (for either \(\text{CH}_4\) or \(\text{N}_2\text{O}\)). This is derived from Equation 3.2.4 from [IPCC2006V2CH3], but ignores the emission control technology dependency and adds a vehicle make year dependency \(t\). Note that if the emission factor for a vehicle type/fuel type combination does not depend on a vehicle make year then the user input year (which can be entered) is ignored.

For mobile sources, the \(Total \text{CO}_2\; Equivalent\; Emissions_{GHG,\, fuel}\) and \(Total\; Biomass\; \text{CO}_2\; Equivalent\; Emissions_{biofuel}\) in metric tons are calculated. The formulas are:

\[Total\; \text{CO}_2\; Equivalent\; Emissions_{GHG,\, fuel} = \sum_{n=1}^{\infty} Emissions_{GHG,\, fuel, n} \cdot EF_{GHG}\]

where \(Total\; \text{CO}_2\; Equivalent\; Emissions_{GHG, fuel}\) is the sum of all \(GHG\) emissions by either vehicle type (on road or non road), \(Emissions_{GHG,\, fuel}\) are emissions of any \(GHG\) (\(\text{CO}_2\), \(\text{CH}_4\), and \(\text{N}_2\text{O}\)), and \(EF_{GHG}\) is the emission factor for that \(GHG\) to convert it into \(\text{CO}_2\;\). Note that in atomic6, those emissions with units of grams are converted into kilograms, then the final value of this calculation is divided by \(1000\) to convert this value into \(metric \; tons\).

\[Total\; Biomass\; \text{CO}_2\; Equivalent\; Emissions_{biofuel} = \sum_{n=1}^{\infty} Fuel\; Usage_{biofuel}\; \cdot EF_{biofuel}\; \cdot Percent_{biofuel}\]

These equations are derived from Equation 2.2 from [IPCC2006V2CH3].

where \(biofuel\) is either ethanol or biodisel, \(Fuel\; Usage_{biofuel}\) is the amount of that \(biofuel\) used during the reporting period, \(EF_{biofuel}\) is the emission factor for that \(biofuel\), and \(Percent_{biofuel}\) is the percent of that \(biofuel\) that is mixed with petroleum fuel (disel or gasoline). Note that in atomic6, the final value of this calculation is divided by \(1000\) to convert this value into \(metric \; tons\).

IPCC2006V2CH3(1,2,3)

IPCC, 2006: 2006 IPCC Guidelines for National Greenhouse Gas Inventories, Volume 2: Energy, Chapter 3: Mobile Combustion, pp. 12-13