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:
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:
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:
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\).
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\).