MOVES Algorithms
MOVES Algorithms Reference, October 5, 2015
This HTML document was generated by MOVES2014a code. It provides a hyperlinked reference to detailed technical information on MOVES code modules and database tables. For more information on MOVES, see Latest Version of MOtor Vehicle Emission Simulator (MOVES)
Table of Contents
Modules
- Activity Calculator
- Air toxics Calculator
- Average Speed Operating Mode Distribution Generator
- Base Rate Generator
- BaseRateCalculator
- CO2AERunningStartExtendedIdleCalculator
- Crankcase Emission Calculator
- Distance Calculator
- Evaporative Emissions Operating Mode Distribution Generator
- Evaporative Permeation Calculator
- Fuel Effects Generator
- HC Speciation Calculator
- Link Operating Mode Distribution Generator
- Liquid Leaking Calculator
- Meteorology Generator
- NO Calculator
- NO2 Calculator
- Nonroad Air toxics Calculator
- Nonroad Calculator
- Nonroad HC Speciation Calculator
- PM10 Brake Tire Calculator
- PM10 Emission Calculator
- Rates Operating Mode Distribution Generator
- Refueling Loss Calculator
- SO2 Calculator
- SourceBin Distribution Generator
- Start Operating Mode Distribution Generator
- Sulfate PM Calculator
- TOG Speciation Calculator
- Tank Fuel Generator
- Tank Temperature Generator
- Tank Vapor Venting Calculator
- Total Activity Generator
Database Tables
- AgeCategory
- AgeGroup
- ATBaseEmissions
- ATRatio
- ATRatioGas2
- ATRatioNonGas
- AverageTankGasoline
- AverageTankTemperature
- avft
- AvgSpeedBin
- AvgSpeedDistribution
- BaseFuel
- ColdSoakInitialHourFraction
- ColdSoakTankTemperature
- ComplexModelParameterName
- ComplexModelParameters
- County
- CountyYear
- CrankcaseEmissionRatio
- criteriaRatio
- CumTVVCoeffs
- DataSource
- DayOfAnyWeek
- DayVMTFraction
- dioxinemissionrate
- DriveSchedule
- DriveScheduleAssoc
- DriveScheduleSecond
- driveScheduleSecondLink
- e10FuelProperties
- EmissionProcess
- EmissionRate
- EmissionRateAdjustment
- EmissionRateByAge
- EngineSize
- enginetech
- ETOHBin
- evapRVPTemperatureAdjustment
- evapTemperatureAdjustment
- ExtendedIdleHours
- FuelEngTechAssoc
- FuelFormulation
- FuelModelName
- FuelModelWtFactor
- FuelModelYearGroup
- FuelParameterName
- FuelSubtype
- FuelSupply
- FuelSupplyYear
- FuelType
- fuelUsageFraction
- fuelWizardFactors
- FullACAdjustment
- generalFuelRatio
- generalFuelRatioExpression
- GREETManfAndDisposal
- GREETWellToPump
- Grid
- GridZoneAssoc
- HCPermeationCoeff
- HCSpeciation
- hotellingActivityDistribution
- hotellingCalendarYear
- hotellingHours
- HourDay
- HourOfAnyDay
- HourVMTFraction
- HPMSVtype
- HPMSVtypeDay
- HPMSVtypeYear
- IMCoverage
- IMFactor
- imInspectFreq
- IMModelYearGroup
- importStartsOpModeDistribution
- IMTestStandards
- integratedSpeciesSet
- integratedSpeciesSetName
- Link
- LinkAverageSpeed
- LinkHourVMTFraction
- linkSourceTypeHour
- lumpedSpeciesName
- M6SulfurCoeff
- MeanFuelParameters
- mechanismName
- metalemissionrate
- methaneTHCRatio
- minorhapratio
- ModelYear
- modelYearCutPoints
- ModelYearGroup
- modelYearMapping
- MonthGroupHour
- MonthGroupOfAnyYear
- MonthofAnyYear
- MonthVMTFraction
- NONO2Ratio
- nrAgeCategory
- nratratio
- nrBaseYearEquipPopulation
- nrCrankcaseEmissionRate
- nrDayAllocation
- nrDeterioration
- nrdioxinemissionrate
- nrEmissionRate
- nrEngtechFraction
- nrEquipmentType
- nrEvapEmissionRate
- nrFuelSubtype
- nrFuelSupply
- nrFuelType
- nrGrowthIndex
- nrGrowthPattern
- nrGrowthPatternFinder
- nrhcspeciation
- nrHourAllocation
- nrHourAllocPattern
- nrHourPatternFinder
- nrhpcategory
- nrHPRangeBin
- nrintegratedspecies
- nrmetalemissionrate
- nrmethanethcratio
- nrMonthAllocation
- nrpahgasratio
- nrpahparticleratio
- nrRetrofitFactors
- nrSCC
- nrScrappageCurve
- nrSourceUseType
- nrStateSurrogate
- nrSulfurAdjustment
- nrSurrogate
- nrUSMonthAllocation
- offNetworkLink
- OMDGPolProcessRepresented
- onRoadRetrofit
- OperatingMode
- OpModeDistribution
- OpModePolProcAssoc
- OxyThreshName
- pahGasRatio
- pahParticleRatio
- PM10EmissionRatio
- PMSpeciation
- Pollutant
- PollutantProcessAssoc
- PollutantProcessModelYear
- processDisplayGroup
- processGroupID
- RefuelingFactors
- region
- regionCode
- regionCounty
- RegulatoryClass
- RetrofitInputAssociations
- RoadOpmodeDistribution
- RoadType
- RoadTypeDistribution
- SampleVehicleDay
- sampleVehiclePopulation
- sampleVehicleSoaking
- sampleVehicleSoakingDay
- sampleVehicleSoakingDayBasis
- sampleVehicleSoakingDayBasisUsed
- sampleVehicleSoakingDayUsed
- SampleVehicleTrip
- scc
- Sector
- SHO
- SizeWeightFraction
- SoakActivityFraction
- SourceBin
- SourceBinDistribution
- SourceHours
- SourceTypeAge
- SourceTypeAgeDistribution
- SourceTypeDayVMT
- SourceTypeHour
- SourceTypeModelYear
- SourceTypeModelYearGroup
- SourceTypePolProcess
- SourceTypeTechAdjustment
- SourceTypeYear
- SourceTypeYearVMT
- SourceUseType
- sourceUseTypePhysics
- Starts
- startsHourFraction
- startsMonthAdjust
- startsPerDay
- StartsPerVehicle
- startsSourceTypeFraction
- StartTempAdjustment
- State
- SulfateEmissionRate
- SulfateFractions
- SulfurBase
- sulfurCapAmount
- SulfurModelCoeff
- SulfurModelName
- TankTemperatureGroup
- TankTemperatureRise
- TankVaporGenCoeffs
- TemperatureAdjustment
- temperatureFactorExpression
- TemperatureProfileID
- togSpeciation
- TOGSpeciationProfile
- TOGSpeciationProfileName
- WeightClass
- Year
- Zone
- ZoneMonthHour
- ZoneRoadType
Activity Calculator
Activity Calculator is a CALCULATOR that executes at the YEAR level.
Activity Calculator uses the following tables:
- ExtendedIdleHours
- fuelUsageFraction
- hotellingActivityDistribution
- hotellingHours
- HourDay
- Link
- linkSourceTypeHour
- offNetworkLink
- RoadTypeDistribution
- sampleVehiclePopulation
- SHO
- SourceHours
- SourceTypeAgeDistribution
- SourceTypeModelYear
- SourceUseType
- Starts
- ZoneRoadType
Activity Calculator is expressed in these source code files:
- /database/ActivityCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/ActivityCalculator.java
Steps
The Activity Calculator algorithm is as follows.
Step: sourceHours = sourceHours[sourceTypeID,hourDayID,monthID,yearID,ageID,linkID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Inputs: hourday, link, regclasssourcetypefraction, sourcehours, sourcetypefuelfraction
Outputs: ##activitytable##
Step: extendedIdleHours = extendedIdleHours[sourceTypeID,hourDayID,monthID,yearID,ageID,zoneID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Inputs: extendedidlehours, hourday, regclasssourcetypefraction, sourcetypefuelfraction
Outputs: ##activitytable##
Step: sho = sho[sourceTypeID,hourDayID,monthID,yearID,ageID,linkID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Inputs: hourday, link, regclasssourcetypefraction, sho, sourcetypefuelfraction
Outputs: ##activitytable##
Step: shp = shp[sourceTypeID,hourDayID,monthID,yearID,ageID,zoneID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Inputs: hourday, regclasssourcetypefraction, shp, sourcetypefuelfraction
Outputs: ##activitytable##
Step: sutFraction[sourceTypeID] = sum(roadTypeVMTFraction * shoAllocFactor)/sum(roadTypeVMTFraction)
Conditions: Non-Project domain
Inputs: roadtypedistribution, sourceusetype, zoneroadtype
Outputs: fractionbysourcetypetemp
Step: tempPopulation = sourceTypeAgePopulation[yearID,sourceTypeID,ageID] * sutFraction[sourceTypeID]
Conditions: Non-Project domain
Inputs: fractionbysourcetypetemp, link, runspecsourcetype, sourcetypeagepopulation
Outputs: sourcetypetemppopulation
Step: population = tempPopulation*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Conditions: Non-Project domain
Inputs: regclasssourcetypefraction, sourcetypefuelfraction, sourcetypetemppopulation
Outputs: ##activitytable##
Step: population on off-network link = vehiclePopulation*ageFraction[yearID,sourceTypeID,ageID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Conditions: Project domain, Offnetwork link
Inputs: link, offnetworklink, regclasssourcetypefraction, sourcetypeagedistribution, sourcetypefuelfraction
Outputs: ##activitytable##
Step: population on roadways = linkVolume[linkID]*sourceTypeHourFraction[linkID,sourceTypeID]*ageFraction[yearID,sourceTypeID,ageID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Conditions: Project domain, On roadways
Inputs: link, linksourcetypehour, regclasssourcetypefraction, sourcetypeagedistribution, sourcetypefuelfraction
Outputs: ##activitytable##
Step: starts = starts[sourceTypeID,hourDayID,monthID,yearID,ageID,zoneID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]
Inputs: hourday, regclasssourcetypefraction, sourcetypefuelfraction, starts
Outputs: ##activitytable##
Step: hotellingAux hours = hotellingHours[sourceTypeID,hourDayID,monthID,yearID,ageID,zoneID]*opModeFraction[opModeID=201,modelYearID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]. hotellingElectric hours = hotellingHours[sourceTypeID,hourDayID,monthID,yearID,ageID,zoneID]*opModeFraction[opModeID=203,modelYearID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID]. hotellingOff hours = hotellingHours[sourceTypeID,hourDayID,monthID,yearID,ageID,zoneID]*opModeFraction[opModeID=204,modelYearID]*fuelFraction[sourceTypeID,modelYearID,fuelTypeID]*regClassFraction[fuelTypeID,modelYearID,sourceTypeID,regClassID].
Inputs: hotellingactivitydistribution, hotellinghours, hourday, regclasssourcetypefraction, sourcetypefuelfraction
Outputs: ##activitytable##
Air toxics Calculator
Air toxics Calculator is a CHAINED CALCULATOR.
The Air toxics Calculator is responsible for:
- Running Exhaust (1) Benzene (20)
- Start Exhaust (2) Benzene (20)
- Evap Permeation (11) Benzene (20)
- Evap Fuel Vapor Venting (12) Benzene (20)
- Evap Fuel Leaks (13) Benzene (20)
- Refueling Displacement Vapor Loss (18) Benzene (20)
- Refueling Spillage Loss (19) Benzene (20)
- Extended Idle Exhaust (90) Benzene (20)
- Auxiliary Power Exhaust (91) Benzene (20)
- Running Exhaust (1) Ethanol (21)
- Start Exhaust (2) Ethanol (21)
- Evap Permeation (11) Ethanol (21)
- Evap Fuel Vapor Venting (12) Ethanol (21)
- Evap Fuel Leaks (13) Ethanol (21)
- Refueling Displacement Vapor Loss (18) Ethanol (21)
- Refueling Spillage Loss (19) Ethanol (21)
- Running Exhaust (1) MTBE (22)
- Start Exhaust (2) MTBE (22)
- Evap Permeation (11) MTBE (22)
- Evap Fuel Vapor Venting (12) MTBE (22)
- Evap Fuel Leaks (13) MTBE (22)
- Refueling Displacement Vapor Loss (18) MTBE (22)
- Refueling Spillage Loss (19) MTBE (22)
- Running Exhaust (1) Naphthalene particle (23)
- Start Exhaust (2) Naphthalene particle (23)
- Extended Idle Exhaust (90) Naphthalene particle (23)
- Auxiliary Power Exhaust (91) Naphthalene particle (23)
- Running Exhaust (1) 1,3-Butadiene (24)
- Start Exhaust (2) 1,3-Butadiene (24)
- Extended Idle Exhaust (90) 1,3-Butadiene (24)
- Auxiliary Power Exhaust (91) 1,3-Butadiene (24)
- Running Exhaust (1) Formaldehyde (25)
- Start Exhaust (2) Formaldehyde (25)
- Extended Idle Exhaust (90) Formaldehyde (25)
- Auxiliary Power Exhaust (91) Formaldehyde (25)
- Running Exhaust (1) Acetaldehyde (26)
- Start Exhaust (2) Acetaldehyde (26)
- Extended Idle Exhaust (90) Acetaldehyde (26)
- Auxiliary Power Exhaust (91) Acetaldehyde (26)
- Running Exhaust (1) Acrolein (27)
- Start Exhaust (2) Acrolein (27)
- Extended Idle Exhaust (90) Acrolein (27)
- Auxiliary Power Exhaust (91) Acrolein (27)
- Running Exhaust (1) 2,2,4-Trimethylpentane (40)
- Start Exhaust (2) 2,2,4-Trimethylpentane (40)
- Evap Permeation (11) 2,2,4-Trimethylpentane (40)
- Evap Fuel Vapor Venting (12) 2,2,4-Trimethylpentane (40)
- Evap Fuel Leaks (13) 2,2,4-Trimethylpentane (40)
- Refueling Displacement Vapor Loss (18) 2,2,4-Trimethylpentane (40)
- Refueling Spillage Loss (19) 2,2,4-Trimethylpentane (40)
- Extended Idle Exhaust (90) 2,2,4-Trimethylpentane (40)
- Auxiliary Power Exhaust (91) 2,2,4-Trimethylpentane (40)
- Running Exhaust (1) Ethyl Benzene (41)
- Start Exhaust (2) Ethyl Benzene (41)
- Evap Permeation (11) Ethyl Benzene (41)
- Evap Fuel Vapor Venting (12) Ethyl Benzene (41)
- Evap Fuel Leaks (13) Ethyl Benzene (41)
- Refueling Displacement Vapor Loss (18) Ethyl Benzene (41)
- Refueling Spillage Loss (19) Ethyl Benzene (41)
- Extended Idle Exhaust (90) Ethyl Benzene (41)
- Auxiliary Power Exhaust (91) Ethyl Benzene (41)
- Running Exhaust (1) Hexane (42)
- Start Exhaust (2) Hexane (42)
- Evap Permeation (11) Hexane (42)
- Evap Fuel Vapor Venting (12) Hexane (42)
- Evap Fuel Leaks (13) Hexane (42)
- Refueling Displacement Vapor Loss (18) Hexane (42)
- Refueling Spillage Loss (19) Hexane (42)
- Extended Idle Exhaust (90) Hexane (42)
- Auxiliary Power Exhaust (91) Hexane (42)
- Running Exhaust (1) Propionaldehyde (43)
- Start Exhaust (2) Propionaldehyde (43)
- Extended Idle Exhaust (90) Propionaldehyde (43)
- Auxiliary Power Exhaust (91) Propionaldehyde (43)
- Running Exhaust (1) Styrene (44)
- Start Exhaust (2) Styrene (44)
- Extended Idle Exhaust (90) Styrene (44)
- Auxiliary Power Exhaust (91) Styrene (44)
- Running Exhaust (1) Toluene (45)
- Start Exhaust (2) Toluene (45)
- Evap Permeation (11) Toluene (45)
- Evap Fuel Vapor Venting (12) Toluene (45)
- Evap Fuel Leaks (13) Toluene (45)
- Refueling Displacement Vapor Loss (18) Toluene (45)
- Refueling Spillage Loss (19) Toluene (45)
- Extended Idle Exhaust (90) Toluene (45)
- Auxiliary Power Exhaust (91) Toluene (45)
- Running Exhaust (1) Xylene (46)
- Start Exhaust (2) Xylene (46)
- Evap Permeation (11) Xylene (46)
- Evap Fuel Vapor Venting (12) Xylene (46)
- Evap Fuel Leaks (13) Xylene (46)
- Refueling Displacement Vapor Loss (18) Xylene (46)
- Refueling Spillage Loss (19) Xylene (46)
- Extended Idle Exhaust (90) Xylene (46)
- Auxiliary Power Exhaust (91) Xylene (46)
- Running Exhaust (1) Dibenzo(a,h)anthracene particle (68)
- Start Exhaust (2) Dibenzo(a,h)anthracene particle (68)
- Running Exhaust (1) Fluoranthene particle (69)
- Start Exhaust (2) Fluoranthene particle (69)
- Running Exhaust (1) Acenaphthene particle (70)
- Start Exhaust (2) Acenaphthene particle (70)
- Running Exhaust (1) Acenaphthylene particle (71)
- Start Exhaust (2) Acenaphthylene particle (71)
- Running Exhaust (1) Anthracene particle (72)
- Start Exhaust (2) Anthracene particle (72)
- Running Exhaust (1) Benz(a)anthracene particle (73)
- Start Exhaust (2) Benz(a)anthracene particle (73)
- Running Exhaust (1) Benzo(a)pyrene particle (74)
- Start Exhaust (2) Benzo(a)pyrene particle (74)
- Running Exhaust (1) Benzo(b)fluoranthene particle (75)
- Start Exhaust (2) Benzo(b)fluoranthene particle (75)
- Running Exhaust (1) Benzo(g,h,i)perylene particle (76)
- Start Exhaust (2) Benzo(g,h,i)perylene particle (76)
- Running Exhaust (1) Benzo(k)fluoranthene particle (77)
- Start Exhaust (2) Benzo(k)fluoranthene particle (77)
- Running Exhaust (1) Chrysene particle (78)
- Start Exhaust (2) Chrysene particle (78)
- Running Exhaust (1) Fluorene particle (81)
- Start Exhaust (2) Fluorene particle (81)
- Running Exhaust (1) Indeno(1,2,3,c,d)pyrene particle (82)
- Start Exhaust (2) Indeno(1,2,3,c,d)pyrene particle (82)
- Running Exhaust (1) Phenanthrene particle (83)
- Start Exhaust (2) Phenanthrene particle (83)
- Running Exhaust (1) Pyrene particle (84)
- Start Exhaust (2) Pyrene particle (84)
- Running Exhaust (1) Dibenzo(a,h)anthracene gas (168)
- Start Exhaust (2) Dibenzo(a,h)anthracene gas (168)
- Extended Idle Exhaust (90) Dibenzo(a,h)anthracene gas (168)
- Auxiliary Power Exhaust (91) Dibenzo(a,h)anthracene gas (168)
- Running Exhaust (1) Fluoranthene gas (169)
- Start Exhaust (2) Fluoranthene gas (169)
- Extended Idle Exhaust (90) Fluoranthene gas (169)
- Auxiliary Power Exhaust (91) Fluoranthene gas (169)
- Running Exhaust (1) Acenaphthene gas (170)
- Start Exhaust (2) Acenaphthene gas (170)
- Extended Idle Exhaust (90) Acenaphthene gas (170)
- Auxiliary Power Exhaust (91) Acenaphthene gas (170)
- Running Exhaust (1) Acenaphthylene gas (171)
- Start Exhaust (2) Acenaphthylene gas (171)
- Extended Idle Exhaust (90) Acenaphthylene gas (171)
- Auxiliary Power Exhaust (91) Acenaphthylene gas (171)
- Running Exhaust (1) Anthracene gas (172)
- Start Exhaust (2) Anthracene gas (172)
- Extended Idle Exhaust (90) Anthracene gas (172)
- Auxiliary Power Exhaust (91) Anthracene gas (172)
- Running Exhaust (1) Benz(a)anthracene gas (173)
- Start Exhaust (2) Benz(a)anthracene gas (173)
- Extended Idle Exhaust (90) Benz(a)anthracene gas (173)
- Auxiliary Power Exhaust (91) Benz(a)anthracene gas (173)
- Running Exhaust (1) Benzo(a)pyrene gas (174)
- Start Exhaust (2) Benzo(a)pyrene gas (174)
- Extended Idle Exhaust (90) Benzo(a)pyrene gas (174)
- Auxiliary Power Exhaust (91) Benzo(a)pyrene gas (174)
- Running Exhaust (1) Benzo(b)fluoranthene gas (175)
- Start Exhaust (2) Benzo(b)fluoranthene gas (175)
- Extended Idle Exhaust (90) Benzo(b)fluoranthene gas (175)
- Auxiliary Power Exhaust (91) Benzo(b)fluoranthene gas (175)
- Running Exhaust (1) Benzo(g,h,i)perylene gas (176)
- Start Exhaust (2) Benzo(g,h,i)perylene gas (176)
- Extended Idle Exhaust (90) Benzo(g,h,i)perylene gas (176)
- Auxiliary Power Exhaust (91) Benzo(g,h,i)perylene gas (176)
- Running Exhaust (1) Benzo(k)fluoranthene gas (177)
- Start Exhaust (2) Benzo(k)fluoranthene gas (177)
- Extended Idle Exhaust (90) Benzo(k)fluoranthene gas (177)
- Auxiliary Power Exhaust (91) Benzo(k)fluoranthene gas (177)
- Running Exhaust (1) Chrysene gas (178)
- Start Exhaust (2) Chrysene gas (178)
- Extended Idle Exhaust (90) Chrysene gas (178)
- Auxiliary Power Exhaust (91) Chrysene gas (178)
- Running Exhaust (1) Fluorene gas (181)
- Start Exhaust (2) Fluorene gas (181)
- Extended Idle Exhaust (90) Fluorene gas (181)
- Auxiliary Power Exhaust (91) Fluorene gas (181)
- Running Exhaust (1) Indeno(1,2,3,c,d)pyrene gas (182)
- Start Exhaust (2) Indeno(1,2,3,c,d)pyrene gas (182)
- Extended Idle Exhaust (90) Indeno(1,2,3,c,d)pyrene gas (182)
- Auxiliary Power Exhaust (91) Indeno(1,2,3,c,d)pyrene gas (182)
- Running Exhaust (1) Phenanthrene gas (183)
- Start Exhaust (2) Phenanthrene gas (183)
- Extended Idle Exhaust (90) Phenanthrene gas (183)
- Auxiliary Power Exhaust (91) Phenanthrene gas (183)
- Running Exhaust (1) Pyrene gas (184)
- Start Exhaust (2) Pyrene gas (184)
- Extended Idle Exhaust (90) Pyrene gas (184)
- Auxiliary Power Exhaust (91) Pyrene gas (184)
- Running Exhaust (1) Naphthalene gas (185)
- Start Exhaust (2) Naphthalene gas (185)
- Evap Permeation (11) Naphthalene gas (185)
- Evap Fuel Vapor Venting (12) Naphthalene gas (185)
- Evap Fuel Leaks (13) Naphthalene gas (185)
- Refueling Displacement Vapor Loss (18) Naphthalene gas (185)
- Refueling Spillage Loss (19) Naphthalene gas (185)
- Extended Idle Exhaust (90) Naphthalene gas (185)
- Auxiliary Power Exhaust (91) Naphthalene gas (185)
The Air toxics Calculator input comes from:
The Air toxics Calculator output is used by:
Air toxics Calculator uses the following tables:
- ATRatio
- ATRatioGas2
- ATRatioNonGas
- FuelFormulation
- FuelSubtype
- FuelSupply
- minorhapratio
- ModelYear
- MonthofAnyYear
- pahGasRatio
- pahParticleRatio
- PollutantProcessAssoc
- PollutantProcessModelYear
- Year
Air toxics Calculator is expressed in these source code files:
- /database/AirToxicsCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/AirToxicsCalculator.java
Steps
The Air toxics Calculator algorithm is as follows.
Step: create AirToxicsMOVESWorkerOutputTemp table
Outputs: airtoxicsmovesworkeroutputtemp
Step: minor HAP emissions[outputPollutantID] = VOC (87) * ATRatio
Inputs: minorhapratio, movesworkeroutput
Outputs: airtoxicsmovesworkeroutputtemp
Step: PAH gas emissions[outputPollutantID] = VOC (87) * ATRatio
Inputs: movesworkeroutput, pahgasratio
Outputs: airtoxicsmovesworkeroutputtemp
Step: PAH particle emissions[outputPollutantID] = VOC (87) * ATRatio
Inputs: movesworkeroutput, pahparticleratio
Outputs: airtoxicsmovesworkeroutputtemp
Step: emissions[outputPollutantID] = emissions[inputPollutantID] * marketShare * ATRatio
Inputs: at1fuelsupply, atratio, atratiogas1chainedto, FuelSupply, movesworkeroutput, PollutantProcessAssoc
Outputs: airtoxicsmovesworkeroutputtemp
Step: marketShareATRatio[outputPollutantID] = marketShare * ATRatio
Inputs: at2fuelsupply, atratiogas2, atratiogas2chainedto, FuelSupply, PollutantProcessAssoc
Outputs: at2fuelsupplyratiogas2
Step: emissions[outputPollutantID] = emissions[inputPollutantID] * marketShareATRatio[outputPollutantID]
Inputs: at2fuelsupplyratiogas2, movesworkeroutput
Outputs: airtoxicsmovesworkeroutputtemp
Step: emissions[outputPollutantID] = emissions[inputPollutantID] * marketShare * ATRatio
Inputs: atnongasfuelsupply, atrationongas, atrationongaschainedto, FuelSupply, movesworkeroutput, PollutantProcessAssoc
Outputs: airtoxicsmovesworkeroutputtemp
Step: Add emisions in AirToxicsMOVESWorkerOutputTemp to MOVESWorkerOutput
Inputs: airtoxicsmovesworkeroutputtemp
Outputs: movesworkeroutput
Average Speed Operating Mode Distribution Generator
Average Speed Operating Mode Distribution Generator is a GENERATOR that executes at the LINK level.
Average Speed Operating Mode Distribution Generator uses the following tables:
Average Speed Operating Mode Distribution Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/AverageSpeedOperatingModeDistributionGenerator.java
Steps
The Average Speed Operating Mode Distribution Generator algorithm is as follows.
Step: Remove all tirewear pollutant/processes on any link from the operating mode distribution.
Conditions: Project domain, Tirewear process
Outputs: RatesOpModeDistribution
Step: Assign operating mode based upon a single link's linkAvgSpeed, one operating mode entry per link with opModeFraction=1.0.
Conditions: Project domain, Tirewear process
Inputs: link, operatingMode
Outputs: RatesOpModeDistribution
Step: Create a single operating mode entry, with opModeFraction=1.0, for every combination of speed bin, source type, road type, hour day, and tirewear pollutant in the runspec. Each speed bin has an associated tirewear operating mode in its opModeIDTirewear column.
Conditions: Non-Project domain, Tirewear process
Inputs: avgSpeedBin
Outputs: RatesOpModeDistribution
Base Rate Generator
Base Rate Generator is a GENERATOR that executes at the YEAR level.
Base Rate Generator uses the following tables:
- dioxinemissionrate
- EmissionRate
- EmissionRateByAge
- FullACAdjustment
- hotellingActivityDistribution
- metalemissionrate
- ModelYearGroup
- PollutantProcessAssoc
- PollutantProcessModelYear
- SourceBin
- SourceBinDistribution
- SourceTypeModelYear
Base Rate Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/BaseRateGenerator.java
Steps
The Base Rate Generator algorithm is as follows.
Step: normalizationFactor = sum(sourceBinActivityFraction).
Conditions: Rates creation
Step: normalizationFactor = 1.
Conditions: Inventory creation
Step: Weight age-based rates by sourcebin distribution. MeanBaseRate=sum(SourceBinActivityFraction * MeanBaseRate)/normalizationFactor. MeanBaseRateIM=sum(SourceBinActivityFraction * MeanBaseRateIM)/normalizationFactor. MeanBaseRateACAdj=sum(SourceBinActivityFraction * MeanBaseRate * (coalesce(fullACAdjustment,1.0)-1.0))/normalizationFactor. MeanBaseRateIMACAdj=sum(SourceBinActivityFraction * MeanBaseRateIM * (coalesce(fullACAdjustment,1.0)-1.0))/normalizationFactor. sumSBD=sum(SourceBinActivityFraction)/normalizationFactor. sumSBDRaw=sum(SourceBinActivityFraction).
Inputs: EmissionRateByAge, fullACAdjustment, PollutantProcessAssoc, PollutantProcessModelYear, RunspecModelYearAgeGroup, SourceBin, SourceBinDistribution, SourceTypeModelYear
Outputs: SBWeightedEmissionRateByAge
Step: Weight non-age-based rates by sourcebin distribution. MeanBaseRate=sum(SourceBinActivityFraction * MeanBaseRate)/normalizationFactor. MeanBaseRateIM=sum(SourceBinActivityFraction * MeanBaseRateIM)/normalizationFactor. MeanBaseRateACAdj=sum(SourceBinActivityFraction * MeanBaseRate * (coalesce(fullACAdjustment,1.0)-1.0))/normalizationFactor. MeanBaseRateIMACAdj=sum(SourceBinActivityFraction * MeanBaseRateIM * (coalesce(fullACAdjustment,1.0)-1.0))/normalizationFactor. sumSBD=sum(SourceBinActivityFraction)/normalizationFactor. sumSBDRaw=sum(SourceBinActivityFraction).
Inputs: EmissionRate, fullACAdjustment, PollutantProcessAssoc, PollutantProcessModelYear, RunspecModelYear, SourceBin, SourceBinDistribution, SourceTypeModelYear
Outputs: SBWeightedEmissionRate
Step: Make distance emission rates for metals. ratePerMile=meanBaseRate * (1.0 when units of g/mile, 1.609344 when g/km, 1.0 when TEQ/mile, 1.609344 when TEQ/km). ratePerSHO=meanBaseRate * avgBinSpeed * (1.0 when units of g/mile, 1.609344 when g/km, 1.0 when TEQ/mile, 1.609344 when TEQ/km).
Inputs: averageSpeedBin, metalEmissionRate
Outputs: distanceEmissionRate
Step: Make distance emission rates for dioxins. ratePerMile=meanBaseRate * (1.0 when units of g/mile, 1.609344 when g/km, 1.0 when TEQ/mile, 1.609344 when TEQ/km). ratePerSHO=meanBaseRate * avgBinSpeed * (1.0 when units of g/mile, 1.609344 when g/km, 1.0 when TEQ/mile, 1.609344 when TEQ/km).
Inputs: averageSpeedBin, dioxinEmissionRate
Outputs: distanceEmissionRate
Step: Weight distance-based rates by sourcebin distribution. Use fullACAdjustment for opModeID=300 (All Running). Use the SourceBinDistribution for Running Exhaust Total Gaseous Hydrocarbons (pol/proc 101). MeanBaseRate=sum(SourceBinActivityFraction * ratePerSHO)/normalizationFactor. MeanBaseRateIM=sum(SourceBinActivityFraction * ratePerSHO)/normalizationFactor. MeanBaseRateACAdj=sum(SourceBinActivityFraction * ratePerSHO * (coalesce(fullACAdjustment,1.0)-1.0))/normalizationFactor. MeanBaseRateIMACAdj=sum(SourceBinActivityFraction * ratePerSHO * (coalesce(fullACAdjustment,1.0)-1.0))/normalizationFactor. sumSBD=sum(SourceBinActivityFraction)/normalizationFactor. sumSBDRaw=sum(SourceBinActivityFraction).
Conditions: Running Exhaust
Inputs: distanceEmissionRate, fullACAdjustment, modelYearGroup, PollutantProcessAssoc, PollutantProcessModelYear, SourceBin, SourceBinDistribution, SourceTypeModelYear
Outputs: SBWeightedDistanceRate
Step: Apply hotelling activity distribution to age-weighted rates. MeanBaseRate = MeanBaseRate * opModeFraction, for MeanBaseRate, MeanBaseRateIM, MeanBaseRateACAdj, and MeanBaseRateIMACAdj.
Conditions: Auxiliary Power Exhaust
Inputs: hotellingActivityDistribution
Outputs: SBWeightedEmissionRateByAge
Step: Apply hotelling activity distribution to non-age-weighted rates. MeanBaseRate = MeanBaseRate * opModeFraction, for MeanBaseRate, MeanBaseRateIM, MeanBaseRateACAdj, and MeanBaseRateIMACAdj.
Conditions: Auxiliary Power Exhaust
Inputs: hotellingActivityDistribution
Outputs: SBWeightedEmissionRate
Step: avgSpeedFractionClause=coalesce(avgSpeedFraction,0) when conditions are met, 1 otherwise.
Conditions: Non-Project domain; Inventory; Running exhaust, Brakewear, or Tirewear.
Step: sumSBDClause=sumSBD when conditions are met, 1 otherwise.
Conditions: Inventory or Starts or Extended Idling or Auxiliary Power.
Step: quantAdjustClause=sumSBDRaw when conditions are met, 1 otherwise.
Conditions: Rates for Starts, Extended Idle, or Auxiliary Power.
Step: Calculate BaseRateByAge without operating mode, retaining average speed bin. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=case when avgBinSpeed>0 then sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIM=case when avgBinSpeed>0 then sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIMACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end.
Conditions: Not Start Exhaust, Retaining average speed bin (Non-Project domain; Rates; Running Exhaust, Brakewear, or Tirewear)
Inputs: RatesOpModeDistribution, SBWeightedEmissionRateByAge
Outputs: BaseRateByAge
Step: Calculate BaseRateByAge without operating mode, aggregating average speed bins. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause). emissionRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause). emissionRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause). emissionRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause).
Conditions: Not Start Exhaust, Aggregate average speed bins (Project domain or Inventory or Rates for Non-(Running, Brakewear, or Tirewear))
Inputs: RatesOpModeDistribution, SBWeightedEmissionRateByAge
Outputs: BaseRateByAge
Step: Calculate BaseRate without operating mode, retaining average speed bin. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=case when avgBinSpeed>0 then sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIM=case when avgBinSpeed>0 then sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIMACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end.
Conditions: Not Start Exhaust, Retaining average speed bin (Non-Project domain; Rates; Running Exhaust, Brakewear, or Tirewear)
Inputs: RatesOpModeDistribution, SBWeightedEmissionRate
Outputs: BaseRate
Step: Calculate BaseRate without operating mode, aggregating average speed bins. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause). emissionRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause). emissionRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause). emissionRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause).
Conditions: Not Start Exhaust, Aggregate average speed bins (Project domain or Inventory or Rates for Non-(Running, Brakewear, or Tirewear))
Inputs: RatesOpModeDistribution, SBWeightedEmissionRate
Outputs: BaseRateByAge
Step: Calculate BaseRate without operating mode, retaining average speed bin. opModeFraction=sum(avgSpeedFractionClause * sumSBDClause). opModeFractionRate=sum(avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * avgSpeedFractionClause * quantAdjustClause). emissionRate=case when avgBinSpeed>0 then sum(MeanBaseRate * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIM=case when avgBinSpeed>0 then sum(MeanBaseRateIM * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateACAdj * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIMACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateIMACAdj * avgSpeedFractionClause) / avgBinSpeed else null end.
Conditions: Not Start Exhaust, Retaining average speed bin (Non-Project domain; Rates; Running Exhaust, Brakewear, or Tirewear)
Inputs: RatesOpModeDistribution, SBWeightedDistanceRate
Outputs: BaseRate
Step: Calculate BaseRate without operating mode, aggregating average speed bins. opModeFraction=sum(avgSpeedFractionClause * sumSBDClause). opModeFractionRate=sum(avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * avgSpeedFractionClause * quantAdjustClause). emissionRate=sum(MeanBaseRate * avgSpeedFractionClause). emissionRateIM=sum(MeanBaseRateIM * avgSpeedFractionClause). emissionRateACAdj=sum(MeanBaseRateACAdj * avgSpeedFractionClause). emissionRateIMACAdj=sum(MeanBaseRateIMACAdj * avgSpeedFractionClause).
Conditions: Not Start Exhaust, Aggregate average speed bins (Project domain or Inventory or Rates for Non-(Running, Brakewear, or Tirewear))
Inputs: RatesOpModeDistribution, SBWeightedDistanceRate
Outputs: BaseRateByAge
Step: Calculate BaseRateByAge with operating mode, retaining average speed bin. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause * quantAdjustClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=case when avgBinSpeed>0 then sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIM=case when avgBinSpeed>0 then sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIMACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end.
Conditions: Start Exhaust, Retaining average speed bin (Non-Project domain; Rates; Running Exhaust, Brakewear, or Tirewear)
Inputs: RatesOpModeDistribution, SBWeightedEmissionRateByAge
Outputs: BaseRateByAge
Step: Calculate BaseRateByAge with operating mode, aggregating average speed bins. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause * quantAdjustClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause). emissionRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause). emissionRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause). emissionRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause).
Conditions: Start Exhaust, Aggregate average speed bins (Project domain or Inventory or Rates for Non-(Running, Brakewear, or Tirewear))
Inputs: RatesOpModeDistribution, SBWeightedEmissionRateByAge
Outputs: BaseRateByAge
Step: Calculate BaseRate with operating mode, retaining average speed bin. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause * quantAdjustClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=case when avgBinSpeed>0 then sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIM=case when avgBinSpeed>0 then sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIMACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause) / avgBinSpeed else null end.
Conditions: Start Exhaust, Retaining average speed bin (Non-Project domain; Rates; Running Exhaust, Brakewear, or Tirewear)
Inputs: RatesOpModeDistribution, SBWeightedEmissionRate
Outputs: BaseRateByAge
Step: Calculate BaseRate with operating mode, aggregating average speed bins. opModeFraction=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause * quantAdjustClause). opModeFractionRate=sum(opModeFraction * avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause * quantAdjustClause). emissionRate=sum(MeanBaseRate * opModeFraction * avgSpeedFractionClause). emissionRateIM=sum(MeanBaseRateIM * opModeFraction * avgSpeedFractionClause). emissionRateACAdj=sum(MeanBaseRateACAdj * opModeFraction * avgSpeedFractionClause). emissionRateIMACAdj=sum(MeanBaseRateIMACAdj * opModeFraction * avgSpeedFractionClause).
Conditions: Start Exhaust, Aggregate average speed bins (Project domain or Inventory or Rates for Non-(Running, Brakewear, or Tirewear))
Inputs: RatesOpModeDistribution, SBWeightedEmissionRate
Outputs: BaseRateByAge
Step: Calculate BaseRate with operating mode 300, retaining average speed bin. opModeFraction=sum(avgSpeedFractionClause * sumSBDClause * quantAdjustClause). opModeFractionRate=sum(avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * avgSpeedFractionClause * quantAdjustClause). emissionRate=case when avgBinSpeed>0 then sum(MeanBaseRate * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIM=case when avgBinSpeed>0 then sum(MeanBaseRateIM * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateACAdj * avgSpeedFractionClause) / avgBinSpeed else null end. emissionRateIMACAdj=case when avgBinSpeed>0 then sum(MeanBaseRateIMACAdj * avgSpeedFractionClause) / avgBinSpeed else null end.
Conditions: Start Exhaust, Retaining average speed bin (Non-Project domain; Rates; Running Exhaust, Brakewear, or Tirewear)
Inputs: RatesOpModeDistribution, SBWeightedDistanceRate
Outputs: BaseRateByAge
Step: Calculate BaseRate with operating mode 300, aggregating average speed bins. opModeFraction=sum(avgSpeedFractionClause * sumSBDClause * quantAdjustClause). opModeFractionRate=sum(avgSpeedFractionClause * sumSBDClause). MeanBaseRate=sum(MeanBaseRate * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIM=sum(MeanBaseRateIM * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateACAdj=sum(MeanBaseRateACAdj * avgSpeedFractionClause * quantAdjustClause). MeanBaseRateIMACAdj=sum(MeanBaseRateIMACAdj * avgSpeedFractionClause * quantAdjustClause). emissionRate=sum(MeanBaseRate * avgSpeedFractionClause). emissionRateIM=sum(MeanBaseRateIM * avgSpeedFractionClause). emissionRateACAdj=sum(MeanBaseRateACAdj * avgSpeedFractionClause). emissionRateIMACAdj=sum(MeanBaseRateIMACAdj * avgSpeedFractionClause).
Conditions: Start Exhaust, Aggregate average speed bins (Project domain or Inventory or Rates for Non-(Running, Brakewear, or Tirewear))
Inputs: RatesOpModeDistribution, SBWeightedDistanceRate
Outputs: BaseRateByAge
BaseRateCalculator
BaseRateCalculator is a CALCULATOR that executes at the MONTH level.
The BaseRateCalculator is responsible for:
- Running Exhaust (1) Total Gaseous Hydrocarbons (1)
- Start Exhaust (2) Total Gaseous Hydrocarbons (1)
- Brakewear (9) Total Gaseous Hydrocarbons (1)
- Tirewear (10) Total Gaseous Hydrocarbons (1)
- Extended Idle Exhaust (90) Total Gaseous Hydrocarbons (1)
- Auxiliary Power Exhaust (91) Total Gaseous Hydrocarbons (1)
- Running Exhaust (1) Carbon Monoxide (CO) (2)
- Start Exhaust (2) Carbon Monoxide (CO) (2)
- Brakewear (9) Carbon Monoxide (CO) (2)
- Tirewear (10) Carbon Monoxide (CO) (2)
- Extended Idle Exhaust (90) Carbon Monoxide (CO) (2)
- Auxiliary Power Exhaust (91) Carbon Monoxide (CO) (2)
- Running Exhaust (1) Oxides of Nitrogen (NOx) (3)
- Start Exhaust (2) Oxides of Nitrogen (NOx) (3)
- Brakewear (9) Oxides of Nitrogen (NOx) (3)
- Tirewear (10) Oxides of Nitrogen (NOx) (3)
- Extended Idle Exhaust (90) Oxides of Nitrogen (NOx) (3)
- Auxiliary Power Exhaust (91) Oxides of Nitrogen (NOx) (3)
- Running Exhaust (1) Nitrous Oxide (N2O) (6)
- Start Exhaust (2) Nitrous Oxide (N2O) (6)
- Brakewear (9) Nitrous Oxide (N2O) (6)
- Tirewear (10) Nitrous Oxide (N2O) (6)
- Extended Idle Exhaust (90) Nitrous Oxide (N2O) (6)
- Auxiliary Power Exhaust (91) Nitrous Oxide (N2O) (6)
- Running Exhaust (1) Ammonia (NH3) (30)
- Start Exhaust (2) Ammonia (NH3) (30)
- Brakewear (9) Ammonia (NH3) (30)
- Tirewear (10) Ammonia (NH3) (30)
- Extended Idle Exhaust (90) Ammonia (NH3) (30)
- Auxiliary Power Exhaust (91) Ammonia (NH3) (30)
- Running Exhaust (1) Total Energy Consumption (91)
- Start Exhaust (2) Total Energy Consumption (91)
- Brakewear (9) Total Energy Consumption (91)
- Tirewear (10) Total Energy Consumption (91)
- Extended Idle Exhaust (90) Total Energy Consumption (91)
- Auxiliary Power Exhaust (91) Total Energy Consumption (91)
- Running Exhaust (1) Composite - NonECPM (118)
- Start Exhaust (2) Composite - NonECPM (118)
- Brakewear (9) Composite - NonECPM (118)
- Tirewear (10) Composite - NonECPM (118)
- Extended Idle Exhaust (90) Composite - NonECPM (118)
- Auxiliary Power Exhaust (91) Composite - NonECPM (118)
- Running Exhaust (1) Elemental Carbon (112)
- Start Exhaust (2) Elemental Carbon (112)
- Brakewear (9) Elemental Carbon (112)
- Tirewear (10) Elemental Carbon (112)
- Extended Idle Exhaust (90) Elemental Carbon (112)
- Auxiliary Power Exhaust (91) Elemental Carbon (112)
- Running Exhaust (1) Primary PM2.5 - Brakewear Particulate (116)
- Start Exhaust (2) Primary PM2.5 - Brakewear Particulate (116)
- Brakewear (9) Primary PM2.5 - Brakewear Particulate (116)
- Tirewear (10) Primary PM2.5 - Brakewear Particulate (116)
- Extended Idle Exhaust (90) Primary PM2.5 - Brakewear Particulate (116)
- Auxiliary Power Exhaust (91) Primary PM2.5 - Brakewear Particulate (116)
- Running Exhaust (1) Primary PM2.5 - Tirewear Particulate (117)
- Start Exhaust (2) Primary PM2.5 - Tirewear Particulate (117)
- Brakewear (9) Primary PM2.5 - Tirewear Particulate (117)
- Tirewear (10) Primary PM2.5 - Tirewear Particulate (117)
- Extended Idle Exhaust (90) Primary PM2.5 - Tirewear Particulate (117)
- Auxiliary Power Exhaust (91) Primary PM2.5 - Tirewear Particulate (117)
- Running Exhaust (1) Mercury Elemental Gaseous (60)
- Running Exhaust (1) Mercury Divalent Gaseous (61)
- Running Exhaust (1) Mercury Particulate (62)
- Running Exhaust (1) Arsenic Compounds (63)
- Running Exhaust (1) Chromium 6+ (65)
- Running Exhaust (1) Manganese Compounds (66)
- Running Exhaust (1) Nickel Compounds (67)
- Running Exhaust (1) 1,2,3,7,8,9-Hexachlorodibenzo-p-Dioxin (130)
- Running Exhaust (1) Octachlorodibenzo-p-dioxin (131)
- Running Exhaust (1) 1,2,3,4,6,7,8-Heptachlorodibenzo-p-Dioxin (132)
- Running Exhaust (1) Octachlorodibenzofuran (133)
- Running Exhaust (1) 1,2,3,4,7,8-Hexachlorodibenzo-p-Dioxin (134)
- Running Exhaust (1) 1,2,3,7,8-Pentachlorodibenzo-p-Dioxin (135)
- Running Exhaust (1) 2,3,7,8-Tetrachlorodibenzofuran (136)
- Running Exhaust (1) 1,2,3,4,7,8,9-Heptachlorodibenzofuran (137)
- Running Exhaust (1) 2,3,4,7,8-Pentachlorodibenzofuran (138)
- Running Exhaust (1) 1,2,3,7,8-Pentachlorodibenzofuran (139)
- Running Exhaust (1) 1,2,3,6,7,8-Hexachlorodibenzofuran (140)
- Running Exhaust (1) 1,2,3,6,7,8-Hexachlorodibenzo-p-Dioxin (141)
- Running Exhaust (1) 2,3,7,8-Tetrachlorodibenzo-p-Dioxin (142)
- Running Exhaust (1) 2,3,4,6,7,8-Hexachlorodibenzofuran (143)
- Running Exhaust (1) 1,2,3,4,6,7,8-Heptachlorodibenzofuran (144)
- Running Exhaust (1) 1,2,3,4,7,8-Hexachlorodibenzofuran (145)
- Running Exhaust (1) 1,2,3,7,8,9-Hexachlorodibenzofuran (146)
- Running Exhaust (1) Petroleum Energy Consumption (92)
- Start Exhaust (2) Petroleum Energy Consumption (92)
- Brakewear (9) Petroleum Energy Consumption (92)
- Tirewear (10) Petroleum Energy Consumption (92)
- Extended Idle Exhaust (90) Petroleum Energy Consumption (92)
- Auxiliary Power Exhaust (91) Petroleum Energy Consumption (92)
- Running Exhaust (1) Fossil Fuel Energy Consumption (93)
- Start Exhaust (2) Fossil Fuel Energy Consumption (93)
- Brakewear (9) Fossil Fuel Energy Consumption (93)
- Tirewear (10) Fossil Fuel Energy Consumption (93)
- Extended Idle Exhaust (90) Fossil Fuel Energy Consumption (93)
- Auxiliary Power Exhaust (91) Fossil Fuel Energy Consumption (93)
The BaseRateCalculator output is used by:
- CO2AERunningStartExtendedIdleCalculator
- Crankcase Emission Calculator
- HC Speciation Calculator
- NO2 Calculator
- NO Calculator
- PM10 Brake Tire Calculator
- Refueling Loss Calculator
- SO2 Calculator
- Sulfate PM Calculator
BaseRateCalculator uses the following tables:
- AgeCategory
- County
- criteriaRatio
- EmissionRateAdjustment
- ExtendedIdleHours
- FuelFormulation
- FuelSubtype
- FuelSupply
- FuelType
- generalFuelRatio
- hotellingActivityDistribution
- hotellingHours
- IMCoverage
- IMFactor
- ModelYear
- MonthGroupHour
- MonthofAnyYear
- PollutantProcessAssoc
- SHO
- SourceBin
- SourceTypeAge
- SourceTypeModelYear
- Starts
- StartTempAdjustment
- TemperatureAdjustment
- Year
- ZoneMonthHour
BaseRateCalculator is expressed in these source code files:
- /database/BaseRateCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/BaseRateCalculator.java
Steps
The BaseRateCalculator algorithm is as follows.
Step: Create EmissionRateAdjustment by modelyear.
Inputs: emissionrateadjustment, modelyear, pollutantprocessassoc
Outputs: EmissionRateAdjustmentWorker
Step: ACFactor[hourID,sourceTypeID,modelYearID]=LEAST(GREATEST(ACActivityTermA+heatIndex*(ACActivityTermB+ACActivityTermC*heatIndex),0),1.0)*ACPenetrationFraction*functioningACFraction.
Inputs: monthgrouphour, monthofanyyear, SourceTypeAge, sourcetypemodelyear, ZoneMonthHour
Outputs: zoneACFactor
Step: activity=SHO
Conditions: Running Exhaust, Brakewear, Tirewear
Inputs: runspechourday, sho
Outputs: universalactivity
Step: activity=starts
Conditions: Starts
Inputs: runspechourday, starts
Outputs: universalactivity
Step: activity=extendedIdleHours
Conditions: Extended Idle Exhaust
Inputs: extendedidlehours, runspechourday
Outputs: universalactivity
Step: activity=hotellingHours
Conditions: Auxiliary Power Exhaust
Inputs: hotellinghours, runspechourday
Outputs: universalactivity
Step: hourFractionAdjust=1.0/opModeFraction[opModeID=201].
Conditions: Auxiliary Power Exhaust
Inputs: hotellingActivityDistribution, runspecmodelyearage
Outputs: apuEmissionRateFraction
Step: Disaggregate IMCoverage records, expanding model year ranges into individual model years. IMAdjustFract[processID,pollutantID,modelYearID,fuelTypeID,sourceTypeID]=IMFactor*complianceFactor*0.01.
Inputs: agecategory, imcoverage, imfactor, pollutantprocessassoc, pollutantprocessmappedmodelyear
Outputs: imcoveragemergedungrouped
Step: Add age-based rates
Inputs: agecategory, baseratebyage, runspecmodelyearage
Outputs: tempbaserateoutput
Step: Add rates that don't depend upon age
Inputs: baserate
Outputs: tempbaserateoutput
Step: APU hourly rates have already been scaled by the APU operating mode (201) fraction. This works well for inventory, but not so for rate by APU operating hour. To compensate, emission rates must be divided by the opModeFraction for opMode 201. hourFractionAdjust is 1/opModeFraction with a safeguard for a fraction of 0.
Conditions: APU process hourly rates
Outputs: apuemissionratefraction, tempbaserateoutput
Step: Obtain fuel market share.
Inputs: localfuelsupply, tempbaserateoutput
Outputs: baserateoutputwithfuel
Step: Calculate humidity adjustment factor K. K = 1.0 - ((greatest(21.0, least(specificHumidity, 124.0))) - 75.0) * humidityCorrectionCoeff
Conditions: Start Exhaust (2).
Outputs: baserateoutputwithfuel, fueltype, zonemonthhour
Step: Do Start Temperature adjustments by opModeID. PM uses multiplicative factors. Everything else uses additive factors. The additive part needs to be weighted by opModeFraction (stored in generalFraction). Being a rate, sourceBinActivityFraction is not required for the weighting since activity would have been weighted similarly. For polProcessIDs (11202,11802): rate = rate*tempAdjustTermB*exp(tempAdjustTermA*(72.0-least(temperature,72)))+tempAdjustTermC. For all other polProcessIDs with startTempEquationType of 'LOG': rate = rate + generalFraction * (tempAdjustTermB*exp(tempAdjustTermA*(LEAST(temperature,75)-75))+ tempAdjustTermC). For all other polProcessIDs with startTempEquationType of 'POLY': rate = rate + generalFraction * ((LEAST(temperature,75)-75) * (tempAdjustTermA+(LEAST(temperature,75)-75) * (tempAdjustTermB+(LEAST(temperature,75)-75) * tempAdjustTermC))).
Conditions: Start Exhaust (2) process.
Outputs: baserateoutputwithfuel, pollutantprocessmappedmodelyear, starttempadjustment
Step: Apply the County's GPAFract to the general fuel adjustment. fuelEffectRatio=ifnull(fuelEffectRatio,1)+GPAFract*(ifnull(fuelEffectRatioGPA,1)-ifnull(fuelEffectRatio,1))
Outputs: county, generalfuelratio
Step: Apply GeneralFuelRatio to BaseRateOutputWithFuel. rate = rate * fuelEffectRatio. fuelEffectRatio is the GPA-weighted GeneralFuelRatio.
Outputs: baserateoutputwithfuel, generalfuelratio
Step: Apply the County's GPAFract to the criteriaRatio fuel adjustment. criteria ratio = ifnull(ratio,1)+GPAFract*(ifnull(ratioGPA,1)-ifnull(ratio,1))
Conditions: Running Exhaust (1) and Start Exhaust (2).
Outputs: county, criteriaratio
Step: Apply CriteriaRatio to BaseRateOutputWithFuel. rate = rate * criteria ratio[fuelTypeID,fuelFormulationID,polProcessID,sourceTypeID,modelYearID,ageID]
Conditions: Running Exhaust (1) and Start Exhaust (2).
Outputs: baserateoutputwithfuel, criteriaratio
Step: Calculate humidity adjustment factor K. K = 1.0 - ((greatest(21.0, least(specificHumidity, 124.0))) - 75.0) * humidityCorrectionCoeff
Conditions: Not Start Exhaust (2).
Outputs: baserateoutputwithfuel, fueltype, zonemonthhour
Step: Apply temperature adjustment. For processes (1,2) and pollutants (118,112): rate=rate*exp((case when temperature <= 72.0 then tempAdjustTermA*(72.0-temperature) else 0 end)). For all others: rate=rate*((1.0 + (temperature-75)*(tempAdjustTermA + (temperature-75)*tempAdjustTermB))*if(BaseRateOutputWithFuel.processID in (1,90,91),if(BaseRateOutputWithFuel.pollutantID=3,K,1.0),1.0)).
Conditions: Testing
Inputs: TemperatureAdjustment
Outputs: BaseRateOutputWithFuel, temperatureadjustment
Step: generalFraction = ACFactor[hourID,sourceTypeID,modelYearID].
Conditions: Not Start Exhaust (2).
Inputs: zoneACFactor
Outputs: BaseRateOutputWithFuel, zoneacfactor
Step: meanBaseRate = meanBaseRate + (meanBaseRateACAdj * generalFraction[hourID,sourceTypeID,modelYearID]). meanBaseRateIM = meanBaseRateIM + (meanBaseRateIMACAdj * generalFraction[hourID,sourceTypeID,modelYearID]). emissionRate = emissionRate + (emissionRateACAdj * generalFraction[hourID,sourceTypeID,modelYearID]). emissionRateIM = emissionRateIM + (emissionRateIMACAdj * generalFraction[hourID,sourceTypeID,modelYearID]).
Conditions: Not Start Exhaust (2).
Outputs: baserateoutputwithfuel
Step: Apply I/M programs to BaseRateOutputWithFuel. meanBaseRate=meanBaseRateIM*IMAdjustFract + meanBaseRate*(1-IMAdjustFract). emissionRate=emissionRateIM*IMAdjustFract + emissionRate*(1-IMAdjustFract).
Inputs: IMCoverageMergedUngrouped
Outputs: BaseRateOutputWithFuel, imcoveragemergedungrouped
Step: Handle E85 THC that is created from E10's RVP instead of E85's RVP. Weight the fuel effect ratio by the county's GPA fraction alt criteria ratio=ifnull(ratio,1)+GPAFract*(ifnull(ratioGPA,1)-ifnull(ratio,1))
Conditions: Running Exhaust (1) and Start Exhaust (2).
Inputs: County
Outputs: altCriteriaRatio, county
Step: Determine the scaling effect of E10-RVP-based fuel effects to E85-RVP-based fuel effects. alt criteria ratio = alt criteria ratio / criteria ratio.
Conditions: Running Exhaust (1) and Start Exhaust (2).
Inputs: criteriaRatio
Outputs: altCriteriaRatio, criteriaratio
Step: Make THC records from the E10 RVP by using the E85-based THC. The output pollutant is 10001. rate for pollutant 10001 = rate * alt criteria ratio.
Conditions: Running Exhaust (1) and Start Exhaust (2).
Inputs: altcriteriaratio
Outputs: baserateoutputwithfuel
Step: emissionRate=emissionRate*EmissionRateAdjustment, meanbaserate=meanbaserate*EmissionRateAdjustment
Outputs: baserateoutputwithfuel, emissionrateadjustmentworker
Step: Petroleum Energy (92) = Total Energy Consumption (91) * fuelSubtypePetroleumFraction.
Inputs: localfuelsupply
Outputs: baserateoutputwithfuel
Step: Fossil Energy (93) = Total Energy Consumption (91) * fuelSubtypeFossilFraction.
Inputs: localfuelsupply
Outputs: baserateoutputwithfuel
Step: Remove fuel formulation and opModeID from BaseRateOutputWithFuel, filling BaseRateOutput. Note: This top-level calculator executes at the Month level. That means there will be exactly one distinct value in each of these columns: processID, stateID, countyID, zoneID, linkID, roadtypeID, yearID, monthID. As such, these columns do not need to be indexed or included in a GROUP BY.
Inputs: baserateoutputwithfuel
Outputs: baserateoutput
Step: Ensure all activity slots have data. Use a default value of 0 when not provided by the input table.
Inputs: runspechourday, runspecmodelyearage, runspecsourcetype
Outputs: universalactivity
Step: When aggregating APU emission rates to remove source type, model year, fuel type, or regclass, the activity used to weight the rates must be adjusted. The input activity includes extended idling and instead must be restricted to just hours spent using a diesel APU. This is a model year-based effect.
Outputs: activitydetail, apuemissionratefraction
Step: When aggregating rates to remove source type, model year, fuel type, or regclass, calculate an activity distribution. smfrFraction[sourceTypeID,modelYearID,hourDayID,fuelTypeID,regClassID] = activity[sourceTypeID,modelYearID,hourDayID,fuelTypeID,regClassID] / activityTotal[aggregated]
Inputs: activitydetail, activitytotal
Outputs: activityweight
Step: When aggregating rates to remove source type, model year, fuel type, or regclass, weight emissions by the activity distribution. BaseRateOutput = BaseRateOutput * smfrFraction[sourceTypeID,modelYearID,hourDayID,fuelTypeID,regClassID]
Outputs: activityweight, baserateoutput
Step: When aggregating rates to remove source type, model year, fuel type, or regclass, weight emissions by the activity distribution. BaseRateOutput = BaseRateOutput * smfrFraction[sourceTypeID,modelYearID,hourDayID,fuelTypeID,regClassID]
Outputs: activityweight, baserateoutput
Step: When creating an inventory or certain rates, convert BaseRateOutput to an inventory. BaseRateOutput.meanBaseRate = BaseRateOutput.meanBaseRate * activity[processID,hourDayID,modelYearID,sourceTypeID(,month,year,location)]
Outputs: baserateoutput, universalactivity
Step: Populate MOVESWorkerOutput from BaseRateOutput.
Inputs: baserateoutput
Outputs: movesworkeroutput
Step: When chained calculators are used, data must be moved back from MOVESWorkerOutput. avgSpeedBinID must be recovered in this process.
Conditions: Chained calculators are present.
Step: Remove entries from BaseRateOutput. These will be reinserted later along with the results from chained calculators.
Conditions: Chained calculators are present.
Outputs: baserateoutput
Step: Populate BaseRateOutput from MOVESWorkerOutput.
Conditions: Non-Project domain rates chained calculators are present.
Inputs: movesworkeroutput
Outputs: baserateoutput
Step: Populate BaseRateOutput from MOVESWorkerOutput. avgSpeedBinID is always 0 in project mode.
Conditions: Project domain rates chained calculators are present.
Inputs: movesworkeroutput
Outputs: baserateoutput
Step: Populate BaseRateOutput from MOVESWorkerOutput. avgSpeedBinID is always 0 in inventory mode.
Conditions: Inventory chained calculators are present.
Inputs: movesworkeroutput
Outputs: baserateoutput
CO2AERunningStartExtendedIdleCalculator
CO2AERunningStartExtendedIdleCalculator is a that executes at the level.
The CO2AERunningStartExtendedIdleCalculator is responsible for:
- Running Exhaust (1) Atmospheric CO2 (90)
- Running Exhaust (1) CO2 Equivalent (98)
- Start Exhaust (2) Atmospheric CO2 (90)
- Start Exhaust (2) CO2 Equivalent (98)
- Extended Idle Exhaust (90) Atmospheric CO2 (90)
- Extended Idle Exhaust (90) CO2 Equivalent (98)
- Auxiliary Power Exhaust (91) Atmospheric CO2 (90)
- Auxiliary Power Exhaust (91) CO2 Equivalent (98)
The CO2AERunningStartExtendedIdleCalculator input comes from:
CO2AERunningStartExtendedIdleCalculator uses the following tables:
CO2AERunningStartExtendedIdleCalculator is expressed in these source code files:
- /database/CO2AERunningStartExtendedIdleCalculator.sql
Steps
The CO2AERunningStartExtendedIdleCalculator algorithm is as follows.
Step: sumCarbonContent[countyID,yearID,monthGroupID,pollutantID,fuelTypeID]=sum(marketShare * carbonContent). sumOxidationFraction[countyID,yearID,monthGroupID,pollutantID,fuelTypeID]=sum(marketShare * oxidationFraction).
Inputs: fuelformulation, fuelsubtype, fuelsupply, year
Outputs: carbonoxidationbyfueltype
Step: Atmospheric CO2 = sum(Total Energy Consumption * sumCarbonContent * sumOxidationFraction * (44/12)).
Inputs: carbonoxidationbyfueltype, co2monthofanyyear, movesworkeroutput
Outputs: movesoutputco2temp1a
Step: Equivalent CO2 = sum(emissions[polutant=CO2 or Methane or N2O] * globalWarmingPotential).
Inputs: co2eqpollutant, movesworkeroutput
Outputs: movesoutputco2temp2
Crankcase Emission Calculator
Crankcase Emission Calculator is a CHAINED CALCULATOR.
The Crankcase Emission Calculator is responsible for:
- Crankcase Running Exhaust (15) Total Gaseous Hydrocarbons (1)
- Crankcase Running Exhaust (15) Carbon Monoxide (CO) (2)
- Crankcase Running Exhaust (15) Oxides of Nitrogen (NOx) (3)
- Crankcase Running Exhaust (15) Methane (CH4) (5)
- Crankcase Running Exhaust (15) Nitrous Oxide (N2O) (6)
- Crankcase Running Exhaust (15) Benzene (20)
- Crankcase Running Exhaust (15) Ethanol (21)
- Crankcase Running Exhaust (15) MTBE (22)
- Crankcase Running Exhaust (15) Naphthalene particle (23)
- Crankcase Running Exhaust (15) 1,3-Butadiene (24)
- Crankcase Running Exhaust (15) Formaldehyde (25)
- Crankcase Running Exhaust (15) Acetaldehyde (26)
- Crankcase Running Exhaust (15) Acrolein (27)
- Crankcase Running Exhaust (15) Ammonia (NH3) (30)
- Crankcase Running Exhaust (15) Sulfur Dioxide (SO2) (31)
- Crankcase Running Exhaust (15) Nitrogen Oxide (NO) (32)
- Crankcase Running Exhaust (15) Nitrogen Dioxide (NO2) (33)
- Crankcase Running Exhaust (15) Nitrous Acid (HONO) (34)
- Crankcase Running Exhaust (15) Non-Methane Hydrocarbons (79)
- Crankcase Running Exhaust (15) Non-Methane Organic Gases (80)
- Crankcase Running Exhaust (15) Total Organic Gases (86)
- Crankcase Running Exhaust (15) Volatile Organic Compounds (87)
- Crankcase Running Exhaust (15) 2,2,4-Trimethylpentane (40)
- Crankcase Running Exhaust (15) Ethyl Benzene (41)
- Crankcase Running Exhaust (15) Hexane (42)
- Crankcase Running Exhaust (15) Propionaldehyde (43)
- Crankcase Running Exhaust (15) Styrene (44)
- Crankcase Running Exhaust (15) Toluene (45)
- Crankcase Running Exhaust (15) Xylene (46)
- Crankcase Running Exhaust (15) Dibenzo(a,h)anthracene particle (68)
- Crankcase Running Exhaust (15) Fluoranthene particle (69)
- Crankcase Running Exhaust (15) Acenaphthene particle (70)
- Crankcase Running Exhaust (15) Acenaphthylene particle (71)
- Crankcase Running Exhaust (15) Anthracene particle (72)
- Crankcase Running Exhaust (15) Benz(a)anthracene particle (73)
- Crankcase Running Exhaust (15) Benzo(a)pyrene particle (74)
- Crankcase Running Exhaust (15) Benzo(b)fluoranthene particle (75)
- Crankcase Running Exhaust (15) Benzo(g,h,i)perylene particle (76)
- Crankcase Running Exhaust (15) Benzo(k)fluoranthene particle (77)
- Crankcase Running Exhaust (15) Chrysene particle (78)
- Crankcase Running Exhaust (15) Fluorene particle (81)
- Crankcase Running Exhaust (15) Indeno(1,2,3,c,d)pyrene particle (82)
- Crankcase Running Exhaust (15) Phenanthrene particle (83)
- Crankcase Running Exhaust (15) Pyrene particle (84)
- Crankcase Running Exhaust (15) Dibenzo(a,h)anthracene gas (168)
- Crankcase Running Exhaust (15) Fluoranthene gas (169)
- Crankcase Running Exhaust (15) Acenaphthene gas (170)
- Crankcase Running Exhaust (15) Acenaphthylene gas (171)
- Crankcase Running Exhaust (15) Anthracene gas (172)
- Crankcase Running Exhaust (15) Benz(a)anthracene gas (173)
- Crankcase Running Exhaust (15) Benzo(a)pyrene gas (174)
- Crankcase Running Exhaust (15) Benzo(b)fluoranthene gas (175)
- Crankcase Running Exhaust (15) Benzo(g,h,i)perylene gas (176)
- Crankcase Running Exhaust (15) Benzo(k)fluoranthene gas (177)
- Crankcase Running Exhaust (15) Chrysene gas (178)
- Crankcase Running Exhaust (15) Fluorene gas (181)
- Crankcase Running Exhaust (15) Indeno(1,2,3,c,d)pyrene gas (182)
- Crankcase Running Exhaust (15) Phenanthrene gas (183)
- Crankcase Running Exhaust (15) Pyrene gas (184)
- Crankcase Running Exhaust (15) Naphthalene gas (185)
- Crankcase Start Exhaust (16) Total Gaseous Hydrocarbons (1)
- Crankcase Start Exhaust (16) Carbon Monoxide (CO) (2)
- Crankcase Start Exhaust (16) Oxides of Nitrogen (NOx) (3)
- Crankcase Start Exhaust (16) Methane (CH4) (5)
- Crankcase Start Exhaust (16) Nitrous Oxide (N2O) (6)
- Crankcase Start Exhaust (16) Benzene (20)
- Crankcase Start Exhaust (16) Ethanol (21)
- Crankcase Start Exhaust (16) MTBE (22)
- Crankcase Start Exhaust (16) Naphthalene particle (23)
- Crankcase Start Exhaust (16) 1,3-Butadiene (24)
- Crankcase Start Exhaust (16) Formaldehyde (25)
- Crankcase Start Exhaust (16) Acetaldehyde (26)
- Crankcase Start Exhaust (16) Acrolein (27)
- Crankcase Start Exhaust (16) Ammonia (NH3) (30)
- Crankcase Start Exhaust (16) Sulfur Dioxide (SO2) (31)
- Crankcase Start Exhaust (16) Nitrogen Oxide (NO) (32)
- Crankcase Start Exhaust (16) Nitrogen Dioxide (NO2) (33)
- Crankcase Start Exhaust (16) Nitrous Acid (HONO) (34)
- Crankcase Start Exhaust (16) Non-Methane Hydrocarbons (79)
- Crankcase Start Exhaust (16) Non-Methane Organic Gases (80)
- Crankcase Start Exhaust (16) Total Organic Gases (86)
- Crankcase Start Exhaust (16) Volatile Organic Compounds (87)
- Crankcase Start Exhaust (16) 2,2,4-Trimethylpentane (40)
- Crankcase Start Exhaust (16) Ethyl Benzene (41)
- Crankcase Start Exhaust (16) Hexane (42)
- Crankcase Start Exhaust (16) Propionaldehyde (43)
- Crankcase Start Exhaust (16) Styrene (44)
- Crankcase Start Exhaust (16) Toluene (45)
- Crankcase Start Exhaust (16) Xylene (46)
- Crankcase Start Exhaust (16) Dibenzo(a,h)anthracene particle (68)
- Crankcase Start Exhaust (16) Fluoranthene particle (69)
- Crankcase Start Exhaust (16) Acenaphthene particle (70)
- Crankcase Start Exhaust (16) Acenaphthylene particle (71)
- Crankcase Start Exhaust (16) Anthracene particle (72)
- Crankcase Start Exhaust (16) Benz(a)anthracene particle (73)
- Crankcase Start Exhaust (16) Benzo(a)pyrene particle (74)
- Crankcase Start Exhaust (16) Benzo(b)fluoranthene particle (75)
- Crankcase Start Exhaust (16) Benzo(g,h,i)perylene particle (76)
- Crankcase Start Exhaust (16) Benzo(k)fluoranthene particle (77)
- Crankcase Start Exhaust (16) Chrysene particle (78)
- Crankcase Start Exhaust (16) Fluorene particle (81)
- Crankcase Start Exhaust (16) Indeno(1,2,3,c,d)pyrene particle (82)
- Crankcase Start Exhaust (16) Phenanthrene particle (83)
- Crankcase Start Exhaust (16) Pyrene particle (84)
- Crankcase Start Exhaust (16) Dibenzo(a,h)anthracene gas (168)
- Crankcase Start Exhaust (16) Fluoranthene gas (169)
- Crankcase Start Exhaust (16) Acenaphthene gas (170)
- Crankcase Start Exhaust (16) Acenaphthylene gas (171)
- Crankcase Start Exhaust (16) Anthracene gas (172)
- Crankcase Start Exhaust (16) Benz(a)anthracene gas (173)
- Crankcase Start Exhaust (16) Benzo(a)pyrene gas (174)
- Crankcase Start Exhaust (16) Benzo(b)fluoranthene gas (175)
- Crankcase Start Exhaust (16) Benzo(g,h,i)perylene gas (176)
- Crankcase Start Exhaust (16) Benzo(k)fluoranthene gas (177)
- Crankcase Start Exhaust (16) Chrysene gas (178)
- Crankcase Start Exhaust (16) Fluorene gas (181)
- Crankcase Start Exhaust (16) Indeno(1,2,3,c,d)pyrene gas (182)
- Crankcase Start Exhaust (16) Phenanthrene gas (183)
- Crankcase Start Exhaust (16) Pyrene gas (184)
- Crankcase Start Exhaust (16) Naphthalene gas (185)
- Crankcase Extended Idle Exhaust (17) Total Gaseous Hydrocarbons (1)
- Crankcase Extended Idle Exhaust (17) Carbon Monoxide (CO) (2)
- Crankcase Extended Idle Exhaust (17) Oxides of Nitrogen (NOx) (3)
- Crankcase Extended Idle Exhaust (17) Methane (CH4) (5)
- Crankcase Extended Idle Exhaust (17) Nitrous Oxide (N2O) (6)
- Crankcase Extended Idle Exhaust (17) Benzene (20)
- Crankcase Extended Idle Exhaust (17) Ethanol (21)
- Crankcase Extended Idle Exhaust (17) MTBE (22)
- Crankcase Extended Idle Exhaust (17) Naphthalene particle (23)
- Crankcase Extended Idle Exhaust (17) 1,3-Butadiene (24)
- Crankcase Extended Idle Exhaust (17) Formaldehyde (25)
- Crankcase Extended Idle Exhaust (17) Acetaldehyde (26)
- Crankcase Extended Idle Exhaust (17) Acrolein (27)
- Crankcase Extended Idle Exhaust (17) Ammonia (NH3) (30)
- Crankcase Extended Idle Exhaust (17) Sulfur Dioxide (SO2) (31)
- Crankcase Extended Idle Exhaust (17) Nitrogen Oxide (NO) (32)
- Crankcase Extended Idle Exhaust (17) Nitrogen Dioxide (NO2) (33)
- Crankcase Extended Idle Exhaust (17) Nitrous Acid (HONO) (34)
- Crankcase Extended Idle Exhaust (17) Non-Methane Hydrocarbons (79)
- Crankcase Extended Idle Exhaust (17) Non-Methane Organic Gases (80)
- Crankcase Extended Idle Exhaust (17) Total Organic Gases (86)
- Crankcase Extended Idle Exhaust (17) Volatile Organic Compounds (87)
- Crankcase Extended Idle Exhaust (17) 2,2,4-Trimethylpentane (40)
- Crankcase Extended Idle Exhaust (17) Ethyl Benzene (41)
- Crankcase Extended Idle Exhaust (17) Hexane (42)
- Crankcase Extended Idle Exhaust (17) Propionaldehyde (43)
- Crankcase Extended Idle Exhaust (17) Styrene (44)
- Crankcase Extended Idle Exhaust (17) Toluene (45)
- Crankcase Extended Idle Exhaust (17) Xylene (46)
- Crankcase Extended Idle Exhaust (17) Dibenzo(a,h)anthracene particle (68)
- Crankcase Extended Idle Exhaust (17) Fluoranthene particle (69)
- Crankcase Extended Idle Exhaust (17) Acenaphthene particle (70)
- Crankcase Extended Idle Exhaust (17) Acenaphthylene particle (71)
- Crankcase Extended Idle Exhaust (17) Anthracene particle (72)
- Crankcase Extended Idle Exhaust (17) Benz(a)anthracene particle (73)
- Crankcase Extended Idle Exhaust (17) Benzo(a)pyrene particle (74)
- Crankcase Extended Idle Exhaust (17) Benzo(b)fluoranthene particle (75)
- Crankcase Extended Idle Exhaust (17) Benzo(g,h,i)perylene particle (76)
- Crankcase Extended Idle Exhaust (17) Benzo(k)fluoranthene particle (77)
- Crankcase Extended Idle Exhaust (17) Chrysene particle (78)
- Crankcase Extended Idle Exhaust (17) Fluorene particle (81)
- Crankcase Extended Idle Exhaust (17) Indeno(1,2,3,c,d)pyrene particle (82)
- Crankcase Extended Idle Exhaust (17) Phenanthrene particle (83)
- Crankcase Extended Idle Exhaust (17) Pyrene particle (84)
- Crankcase Extended Idle Exhaust (17) Dibenzo(a,h)anthracene gas (168)
- Crankcase Extended Idle Exhaust (17) Fluoranthene gas (169)
- Crankcase Extended Idle Exhaust (17) Acenaphthene gas (170)
- Crankcase Extended Idle Exhaust (17) Acenaphthylene gas (171)
- Crankcase Extended Idle Exhaust (17) Anthracene gas (172)
- Crankcase Extended Idle Exhaust (17) Benz(a)anthracene gas (173)
- Crankcase Extended Idle Exhaust (17) Benzo(a)pyrene gas (174)
- Crankcase Extended Idle Exhaust (17) Benzo(b)fluoranthene gas (175)
- Crankcase Extended Idle Exhaust (17) Benzo(g,h,i)perylene gas (176)
- Crankcase Extended Idle Exhaust (17) Benzo(k)fluoranthene gas (177)
- Crankcase Extended Idle Exhaust (17) Chrysene gas (178)
- Crankcase Extended Idle Exhaust (17) Fluorene gas (181)
- Crankcase Extended Idle Exhaust (17) Indeno(1,2,3,c,d)pyrene gas (182)
- Crankcase Extended Idle Exhaust (17) Phenanthrene gas (183)
- Crankcase Extended Idle Exhaust (17) Pyrene gas (184)
- Crankcase Extended Idle Exhaust (17) Naphthalene gas (185)
The Crankcase Emission Calculator input comes from:
- BaseRateCalculator
- HC Speciation Calculator
- Air toxics Calculator
- SO2 Calculator
- NO Calculator
- NO2 Calculator
The Crankcase Emission Calculator output is used by:
Crankcase Emission Calculator uses the following tables:
Crankcase Emission Calculator is expressed in these source code files:
- /database/CrankcaseEmissionCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/CrankcaseEmissionCalculatorNonPM.java
Steps
The Crankcase Emission Calculator algorithm is as follows.
Step: crankcase emissions[output pollutantID,processID,modelYearID,sourceTypeID,fuelTypeID] = emissions[input pollutantID,processID,modelYearID,sourceTypeID,fuelTypeID] * crankcaseRatio[output pollutantID,input polluantID,processID,modelYearID,sourceTypeID,fuelTypeID]
Inputs: ##prefix##crankcaseemissionratio, ##prefix##crankcasepollutantprocessassoc, movesworkeroutput
Outputs: ##prefix##crankcasemovesworkeroutputtemp
Distance Calculator
Distance Calculator is a that executes at the YEAR level.
Distance Calculator uses the following tables:
Distance Calculator is expressed in these source code files:
- /database/DistanceCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/DistanceCalculator.java
Steps
The Distance Calculator algorithm is as follows.
Step: fuelTypeActivityFraction[sourceTypeID,modelYearID,regClassID,fuelTypeID] = sum(sourceBinActivityFraction[processID=1,pollutantID=any,sourceBinID[fuelTypeID,engTechID,regClassID,modelYearGroupID,engSizeID]]).
Inputs: sourcebin, sourcebindistribution
Outputs: sbd2
Step: Add sourceTypeModelYearID to fuelTypeActivityFraction's dimensions.
Inputs: sbd2, sourcetypemodelyear
Outputs: distfracts
Step: Add modelYearID to SHO's dimensions.
Inputs: hourday, sho
Outputs: sho2
Step: distance = distance[sourceTypeID,yearID,monthID,hourDayID,ageID,linkID]*fuelTypeActivityFraction.
Inputs: distfracts, sho3
Outputs: movesworkeractivityoutput
Evaporative Emissions Operating Mode Distribution Generator
Evaporative Emissions Operating Mode Distribution Generator is a GENERATOR that executes at the MONTH level.
Evaporative Emissions Operating Mode Distribution Generator uses the following tables:
Evaporative Emissions Operating Mode Distribution Generator populates the following tables:
Evaporative Emissions Operating Mode Distribution Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/EvaporativeEmissionsOperatingModeDistributionGenerator.java
Steps
The Evaporative Emissions Operating Mode Distribution Generator algorithm is as follows.
Step: Delete data for a link that was calculated for a previous year or month than the current context.
Outputs: OpModeDistribution
Step: fractionOfOperating=least(1,COALESCE(SUM(SHO),0)/SUM(sourceHours)).
Inputs: SHO, sourceHours
Outputs: FractionOfOperating
Step: opModeFraction=soakActivityFraction*(1-fractionOfOperating).
Inputs: FractionOfOperating, OpModePolProcAssoc, PollutantProcessAssoc, SoakActivityFraction
Outputs: OpModeDistributionTemp
Step: At this point, all non-operating modes (modes != 300) are in the database along with the relevant pollutant/processes. Add 100%-sum(non-operating) as operating (mode 300). opModeFraction[opModeID=300]=greatest(0,1-sum(opModeFraction)).
Outputs: OpModeDistributionTemp
Step: Copy OpModeDistributionTemp into OpModeDistribution.
Inputs: OpModeDistributionTemp
Outputs: OpModeDistribution
Evaporative Permeation Calculator
Evaporative Permeation Calculator is a CALCULATOR that executes at the MONTH level.
The Evaporative Permeation Calculator is responsible for:
- Evap Permeation (11) Total Gaseous Hydrocarbons (1)
The Evaporative Permeation Calculator output is used by:
Evaporative Permeation Calculator uses the following tables:
- AgeCategory
- AverageTankTemperature
- County
- EmissionRateByAge
- ETOHBin
- FuelFormulation
- FuelSubtype
- FuelSupply
- HCPermeationCoeff
- HourDay
- Link
- ModelYear
- MonthofAnyYear
- OpModeDistribution
- PollutantProcessAssoc
- PollutantProcessModelYear
- SourceBin
- SourceBinDistribution
- SourceHours
- SourceTypeModelYear
- SourceTypeModelYearGroup
- TemperatureAdjustment
- Year
Evaporative Permeation Calculator is expressed in these source code files:
- /database/EvaporativePermeationCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/EvaporativePermeationCalculator.java
Steps
The Evaporative Permeation Calculator algorithm is as follows.
Step: Add ageGroupID to SourceBinDistribution.sourceBinActivityFraction using model year and the calendar year.
Inputs: agecategory, sourcebindistribution, sourcetypemodelyear
Outputs: sourcebindistributionbyage
Step: SBWeightedPermeationRate.meanBaseRate = sourceBinActivityFraction * EmissionRateByAge.meanBaseRate * regClassFraction
Inputs: emissionratebyage, regclasssourcetypefraction, sourcebin, sourcebindistributionbyage
Outputs: sbweightedpermeationrate
Step: temperatureAdjustByOpMode = tempAdjustTermA*EXP(tempAdjustTermB*averageTankTemperature)
Inputs: averagetanktemperature, modelyear, temperatureadjustment
Outputs: temperatureadjustbyopmode
Step: weightedTemperatureAdjust = sum(temperatureAdjustByOpMode * opModeFraction) across all operating modes.
Inputs: link, opmodedistribution, temperatureadjustbyopmode
Outputs: weightedtemperatureadjust
Step: weightedFuelAdjustment = sum(marketShare*(fuelAdjustment+GPAFract*(fuelAdjustmentGPA-fuelAdjustment))) across fuel formulations in the fuel supply.
Inputs: county, etohbin, fuelformulation, fuelsubtype, fuelsupply, hcpermeationcoeff, pollutantprocessmappedmodelyear, year
Outputs: weightedfueladjustment
Step: fuelAdjustedEmissionRate = SBWeightedPermeationRate.meanBaseRate * weightedFuelAdjustment
Inputs: sbweightedpermeationrate, weightedfueladjustment, year
Outputs: fueladjustedemissionrate
Step: fuelAdjustedEmissionQuant = fuelAdjustedEmissionRate * sourceHours
Inputs: fueladjustedemissionrate, link, sourcehours
Outputs: fueladjustedemissionquant
Step: emissionQuant = weightedTemperatureAdjust * fuelAdjustedEmissionQuant
Inputs: county, fueladjustedemissionquant, hourday, link, pollutantprocessassoc, pollutantprocessmodelyear, sourcetypemodelyeargroup, weightedtemperatureadjust
Outputs: movesworkeroutput
Fuel Effects Generator
Fuel Effects Generator is a GENERATOR that executes at the PROCESS level.
Fuel Effects Generator uses the following tables:
- ATBaseEmissions
- ATRatio
- BaseFuel
- ComplexModelParameterName
- ComplexModelParameters
- dioxinemissionrate
- FuelFormulation
- FuelModelName
- FuelModelWtFactor
- FuelParameterName
- FuelSupply
- generalFuelRatio
- generalFuelRatioExpression
- MeanFuelParameters
- metalemissionrate
- minorhapratio
- modelYearCutPoints
- modelYearMapping
- pahGasRatio
- pahParticleRatio
Fuel Effects Generator populates the following tables:
- ATRatio
- ATRatioNonGas
- criteriaRatio
- dioxinemissionrate
- FuelFormulation
- FuelSupply
- generalFuelRatio
- metalemissionrate
- minorhapratio
- pahGasRatio
- pahParticleRatio
Fuel Effects Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/FuelEffectsGenerator.java
Steps
The Fuel Effects Generator algorithm is as follows.
Step: Find fuel formulation and supply information that should be duplicated for use with high ethanol fuel effects.
Conditions: fuelSubtypeID 51 and 52, the high ethanol fuel subtypes.
Inputs: fuelFormulation, fuelSupply
Step: Every occurrence of a high ethanol fuel within the fuel supply needs to reference a different fuel formulation. This allows region-based and month-based ethanol adjustments to be applied to a fuel formulation with assurance that it is only used in one region and month. For each fuel supply reference of a high ethanol fuel formulation, create a new fuel formulation with a new fuelFormulationID and containing all the properties of the original fuel formulation.
Inputs: fuelSupply
Outputs: fuelFormulation
Step: Provide a defualt altRVP value. altRVP=RVP.
Outputs: fuelFormulation
Step: Update fuel formulation properties of each high ethanol fuel: sulfurLevel, ETOHVolume, MTBEVolume, ETBEVolume, TAMEVolume, aromaticContent, olefinContent, benzeneContent, e200, e300, BioDieselEsterVolume, CetaneIndex, PAHContent, T50, and T90. altRVP = RVP. When there is a matching e10FuelProperties entry for the fuel region (e1) and it's property column is not null, use its value. Otherwise, where there is a matching e10FuelProperties entry for the nation (e0) and it's property column is not null, use its value. Otherwise, continue to use the value of the fuel formulation. In general, fuelFormulation.[property]=coalesce(e1.[property],e0.[property],fuelFormulation.[property]).
Inputs: e10FuelProperties as e0 where e0.fuelRegionID=0., e10FuelProperties as e1 where e1.fuelRegionID= fuelSupply.fuelRegionID., fuelSupply
Outputs: fuelFormulation
Step: volToWtPercentOxy = (ETOHVolume*0.3653 + MTBEVolume*0.1792 + ETBEVolume*0.1537 + TAMEVolume*0.1651) / (ETOHVolume+MTBEVolume+ETBEVolume+TAMEVolume) , when conditions are met, 0 otherwise.
Conditions: (ETOHVolume+MTBEVolume+ETBEVolume+TAMEVolume) > 0.
Outputs: fuelFormulation
Step: Read all expressions into memory.
Inputs: GeneralFuelRatioExpression
Outputs: list of expressions
Step: Copy and alter expressions that affect some E85 fuels (see conditions). The new expression affects pollutant 10001 known as "Pseudo-THC", only fuel subtypes 51 and 52, and only model years >= 2001. The new expression references fuelFormulation.altRVP anywhere the old expression referenced RVP. Fuel formulation's have altRVP derived from the e10FuelProperties table in a previous step.
Conditions: Ethanol fuel type (5), THC (1) pollutant, model years >= 2001, and Running or Starts.
Outputs: list of expressions
Step: Evaluate each expression against the list of fuel formulations that match its conditions for fuel type and fuel subtype. Each expression can use any column name in the fuelFormulation table. fuelEffectRatio = [expression]. fuelEffectRatioGPA = [expression].
Inputs: fuelFormulation, list of expressions
Outputs: GeneralFuelRatio
Step: Get the set of dioxin pollutant/processes known to MOVES.
Inputs: dioxinEmissionRate
Outputs: list of dioxin polProcessIDs
Step: Create a temporary table for dioxin emissions.
Inputs: dioxinEmissionRate
Outputs: tempDioxinEmissionRate
Step: Get dioxin emission rates that are given by expressions. dioxin meanBaseRate = fuelEffectRatio.
Inputs: generalFuelRatio, list of dioxin polProcessIDs
Outputs: tempDioxinEmissionRate
Step: Delete dioxin emission rates that are given by expressions, deleting all entries from dioxinEmissionRate that have a corresponding tempDioxinEmissionRate entry.
Inputs: tempDioxinEmissionRate
Outputs: dioxinEmissionRate
Step: Store dioxin emission rates given by expressions. dioxinEmissionRate.meanBaseRate = tempDioxinEmissionRate.meanBaseRate.
Inputs: tempDioxinEmissionRate
Outputs: dioxinEmissionRate
Step: Remove all dioxin polProcessIDs from generalFuelRatio.
Inputs: list of dioxin polProcessIDs
Outputs: generalFuelRatio
Step: Get the set of metal pollutant/processes known to MOVES.
Inputs: metalEmissionRate
Outputs: list of metal polProcessIDs
Step: Create a temporary table for metal emissions.
Inputs: metalEmissionRate
Outputs: tempMetalEmissionRate
Step: Get metal emission rates that are given by expressions. dioxin meanBaseRate = fuelEffectRatio.
Inputs: generalFuelRatio, list of metal polProcessIDs
Outputs: tempMetalEmissionRate
Step: Delete metal emission rates that are given by expressions, deleting all entries from metalEmissionRate that have a corresponding tempMetalEmissionRate entry.
Inputs: tempMetalEmissionRate
Outputs: metalEmissionRate
Step: Store metal emission rates given by expressions. metalEmissionRate.meanBaseRate = tempMetalEmissionRate.meanBaseRate.
Inputs: tempMetalEmissionRate
Outputs: metalEmissionRate
Step: Remove all metal polProcessIDs from generalFuelRatio.
Inputs: list of metal polProcessIDs
Outputs: generalFuelRatio
Step: Get the set of minor HAP pollutant/processes known to MOVES.
Inputs: minorHapRatio
Outputs: list of minor HAP polProcessIDs
Step: Create a temporary table for minor HAP rates.
Inputs: minorHapRatio
Outputs: tempMinorHapRatio
Step: Get minor HAP emission rates that are given by expressions. dioxin atRatio = fuelEffectRatio.
Inputs: generalFuelRatio, list of minor HAP polProcessIDs
Outputs: tempMinorHapRatio
Step: Delete minor HAP emission rates that are given by expressions, deleting all entries from minorHapRatio that have a corresponding tempMinorHapRatio entry.
Inputs: tempMinorHapRatio
Outputs: minorHapRatio
Step: Store minor HAP emission rates given by expressions. minorHapRatio.atRatio = tempMinorHapRatio.atRatio.
Inputs: tempMinorHapRatio
Outputs: minorHapRatio
Step: Remove all min HAP polProcessIDs from generalFuelRatio.
Inputs: list of minor HAP polProcessIDs
Outputs: generalFuelRatio
Step: Get the set of gaseous PAH pollutant/processes known to MOVES.
Inputs: pahGasRatio
Outputs: list of gaseous PAH polProcessIDs
Step: Create a temporary table for gaseous PAH rates.
Inputs: pahGasRatio
Outputs: tempPahGasRatio
Step: Get gaseous PAH emission rates that are given by expressions. dioxin atRatio = fuelEffectRatio.
Inputs: generalFuelRatio, list of gaseous PAH polProcessIDs
Outputs: tempPahGasRatio
Step: Delete gaseous PAH emission rates that are given by expressions, deleting all entries from pahGasRatio that have a corresponding tempPahGasRatio entry.
Inputs: tempPahGasRatio
Outputs: pahGasRatio
Step: Store gaseous PAH emission rates given by expressions. pahGasRatio.atRatio = tempPahGasRatio.atRatio.
Inputs: tempPahGasRatio
Outputs: pahGasRatio
Step: Remove all gaseous PAH polProcessIDs from generalFuelRatio.
Inputs: list of gaseous PAH polProcessIDs
Outputs: generalFuelRatio
Step: Get the set of particulate PAH pollutant/processes known to MOVES.
Inputs: pahParticleRatio
Outputs: list of particulate PAH polProcessIDs
Step: Create a temporary table for particulate PAH rates.
Inputs: pahParticleRatio
Outputs: tempPahParticleRatio
Step: Get particulate PAH emission rates that are given by expressions. dioxin atRatio = fuelEffectRatio.
Inputs: generalFuelRatio, list of particulate PAH polProcessIDs
Outputs: tempPahParticleRatio
Step: Delete particulate PAH emission rates that are given by expressions, deleting all entries from pahParticleRatio that have a corresponding tempPahParticleRatio entry.
Inputs: tempPahParticleRatio
Outputs: pahParticleRatio
Step: Store particulate PAH emission rates given by expressions. pahParticleRatio.atRatio = tempPahParticleRatio.atRatio.
Inputs: tempPahParticleRatio
Outputs: pahParticleRatio
Step: Remove all particulate PAH polProcessIDs from generalFuelRatio.
Inputs: list of particulate PAH polProcessIDs
Outputs: generalFuelRatio
Step: Copy atRatio entries given by expressions, deleting the entries from generalFuelRatio after the copy to atRatio. The atRatio table has fewer dimension than generalFuelRatio, so average the fuelEffectRatio. atRatio[fuelTypeID,fuelFormulationID,polProcessID,minModelYearID,maxModelYearID,ageID,monthGroupID]=average(fuelEffectRatio).
Conditions: Any of these polProcessIDs: 2001,2002,2011,2012,2013,2018,2019,2090,2101,2102,2111, 2112,2113,2118,2119,2201,2202,2211,2212,2213,2218,2219,2301,2302,2311,2312,2313,2318,2319,2390,2401,2402,2490, 2501,2502,2590,2601,2602,2690,2701,2702,2790
Inputs: generalFuelRatio
Outputs: atRatio, generalFuelRatio
Step: Lookup all Complex Model expression fragments from the database and combine them into large symbolic statements in memory. Variables within will be populated with actual values and the algebra simplified in later steps. The Complex Model uses a collection of fuel models, each referencing any fuel formulation properties and summing the subexpressions into a single number. Each fuel model is applied to a fuel formulation and to a base fuel formulation, creating intermediate varibles called target_sum and base_sum respectively. Each fuel model calculates a ratio as: ratio = (if(target_sum=0,0,exp(target_sum))/if(base_sum=0,0,exp(base_sum))) - 1. The Complex Model atDifferenceFraction = sum(fuel model ratio * fuel model weight) summed for each fuel model. Base emission rates, atBaseEmissions, are used to calculate the final atRatio which is the ratio of a pollutant's emissions to VOC emissions for a fuel formulation. atRatio = (atBaseEmissions of nonVOC *(1.0+atDifferenceFraction of nonVOC)) / (atBaseEmissions of VOC *(1.0+atDifferenceFraction of VOC)).
Conditions: Air Toxics pollutants
Inputs: complexModelParameterName, fuelModelName, fuelParameterName
Outputs: Complex Model expressions
Step: Restrict the Complex Model in the next steps to these polProcessIDs: 2001,2002,2090,2401,2402,2490,2501,2502,2590,2601,2602,2690,8701,8702,8790
Step: Lookup and apply Complex Model parameter values.
Inputs: complexModelParameters
Outputs: Complex Model expressions
Step: Lookup fuel properties of the base fuel and apply them to the Complex Model expressions.
Inputs: baseFuel, fuelFormulation
Outputs: Complex Model expressions
Step: Lookup mean fuel parameters and apply them to the Complex Model expressions.
Inputs: meanFuelParameters
Outputs: Complex Model expressions
Step: Lookup fuel model weight factors and apply them to the Complex Model expressions.
Inputs: fuelModelWtFactor
Outputs: Complex Model expressions
Step: Mathematically simplify the Complex Model expressions in memory. Perform all possible arithmatic in memory, reducing the size and complexity of the resulting expression text.
Outputs: Complex Model expressions
Step: atDifferenceFraction = Complex Model expressions
Inputs: Complex Model expressions, fuelFormulation
Outputs: tempAirToxicsA
Step: Provide default atDifference entries. atDifference = 0 when null.
Outputs: tempAirToxicsA
Step: relATEmissionsVOC = atBaseEmissions*(1.0+atDifferenceFraction)).
Conditions: VOC
Inputs: atBaseEmissions, tempAirToxicsA
Outputs: tempAirToxicsANonVOC
Step: relATEmissions = atBaseEmissions*(1.0+atDifferenceFraction)).
Conditions: Non-VOC pollutants
Inputs: atBaseEmissions, tempAirToxicsA
Outputs: tempAirToxicsANonVOC
Step: Ratio non-VOC to VOC relative air toxics complex model emissions. atRatio = relATEmissions / relATEmissionsVOC, where relATEmissionsVOC <> 0, 0 otherwise.
Inputs: tempAirToxicsANonVOC, tempAirToxicsAVOC
Outputs: ATRatio
Step: Lookup all Complex Model expression fragments from the database and combine them into large symbolic statements in memory. Variables within will be populated with actual values and the algebra simplified in later steps. The Complex Model uses a collection of fuel models, each referencing any fuel formulation properties and summing the subexpressions into a single number. Each fuel model is applied to a fuel formulation and to a base fuel formulation, creating intermediate varibles called target_sum and base_sum respectively. Each fuel model calculates a ratio as: ratio = (if(target_sum=0,0,exp(target_sum))/if(base_sum=0,0,exp(base_sum))) - 1. The Complex Model atDifferenceFraction = sum(fuel model ratio * fuel model weight) summed for each fuel model. CO ratioNoSulfur = 1 + atDifferenceFraction. CO criteriaRatio.ratio = Sulfur Model of CO ratioNoSulfer.
Conditions: CO pollutant
Inputs: complexModelParameterName, fuelModelName, fuelParameterName
Outputs: Complex Model expressions
Step: Restrict the Complex Model in the next steps to these polProcessIDs: 201,202
Step: Copy criteriaRatio entries given by expressions, deleting the entries from generalFuelRatio after the copy to criteriaRatio. ratio=fuelEffectRatio. ratioNoSulfer=1.
Conditions: Any of these polProcessIDs: 201,202
Inputs: generalFuelRatio
Outputs: criteriaRatio, generalFuelRatio
Step: Lookup and apply Complex Model parameter values.
Inputs: complexModelParameters
Outputs: Complex Model expressions
Step: Lookup fuel properties of the base fuel and apply them to the Complex Model expressions.
Inputs: baseFuel, fuelFormulation
Outputs: Complex Model expressions
Step: Lookup mean fuel parameters and apply them to the Complex Model expressions.
Inputs: meanFuelParameters
Outputs: Complex Model expressions
Step: Lookup fuel model weight factors and apply them to the Complex Model expressions.
Inputs: fuelModelWtFactor
Outputs: Complex Model expressions
Step: Mathematically simplify the Complex Model expressions in memory. Perform all possible arithmatic in memory, reducing the size and complexity of the resulting expression text.
Outputs: Complex Model expressions
Step: ratioNoSulfur = 1 + (Complex Model expressions).
Inputs: Complex Model expressions, fuelFormulation
Outputs: tempCOA
Step: Provide default ratioNoSulfur entries. ratioNoSulfur = 1 when null.
Outputs: tempCOA
Step: Run the sulfur model with tempCOA as the input and the criteriaRatio table as the output.
Inputs: tempCOA
Outputs: criteriaRatio
Step: Do Predictive Calculation steps for Total Gaseous Hydrocarbons. Use the "predictHC" calculation engine parameters, polProcessIDs 101 and 102, and ethanol alternate polProcessIDs 1000101 and 1000102.
Step: Do Predictive Calculation steps for NOx. Use the "predictNOx" calculation engine parameters, polProcessIDs 301 and 302, and no ethanol alternate polProcessIDs.
Step: Beginning of Predictive Calculations steps.
Conditions: Predictive Calculations
Step: Copy criteriaRatio entries given by expressions, deleting the entries from generalFuelRatio after the copy to criteriaRatio. ratio=fuelEffectRatio. ratioNoSulfer=1.
Conditions: Predictive Calculations, Any of the predictive calculation polProcessIDs
Inputs: generalFuelRatio
Outputs: criteriaRatio, generalFuelRatio
Step: Copy criteriaRatio entries given by expressions, deleting the entries from generalFuelRatio after the copy to criteriaRatio. ratio=fuelEffectRatio. ratioNoSulfer=1.
Conditions: Predictive Calculations, Any of the predictive calculation ethanol alternate polProcessIDs, model years >= 2001
Inputs: generalFuelRatio
Outputs: altCriteriaRatio, generalFuelRatio
Step: Lookup all Complex Model expression fragments from the database and combine them into large symbolic statements in memory. Variables within will be populated with actual values and the algebra simplified in later steps. The Complex Model uses a collection of fuel models, each referencing any fuel formulation properties and summing the subexpressions into a single number. Each fuel model is applied to a fuel formulation and to a base fuel formulation, creating intermediate varibles called target_sum and base_sum respectively. Each fuel model calculates a ratio as: ratio = (if(target_sum=0,0,exp(target_sum))/if(base_sum=0,0,exp(base_sum))) - 1. The Complex Model atDifferenceFraction = sum(fuel model ratio * fuel model weight) summed for each fuel model. atDifferenceFraction is not used by the Predictive Calculations. weightedTargetExp = sum(fuel model weight * exp(target_sum)) across all fuel models. weightedBaseExp = sum(fuel model weight * exp(base_sum)) across all fuel models. ratioNoSulfur = weightedTargetExp / weightedBaseExp. CriteriaRatio.ratio = Sulfur model of ratioNoSulfur.
Conditions: Predictive Calculations
Inputs: complexModelParameterName, fuelModelName, fuelParameterName
Outputs: Complex Model expressions
Step: Lookup and apply Complex Model parameter values.
Conditions: Predictive Calculations
Inputs: complexModelParameters
Outputs: Complex Model expressions
Step: Lookup fuel properties of the base fuel and apply them to the Complex Model expressions.
Conditions: Predictive Calculations
Inputs: baseFuel, fuelFormulation
Outputs: Complex Model expressions
Step: Lookup mean fuel parameters and apply them to the Complex Model expressions.
Conditions: Predictive Calculations
Inputs: meanFuelParameters
Outputs: Complex Model expressions
Step: Lookup fuel model weight factors and apply them to the Complex Model expressions.
Conditions: Predictive Calculations
Inputs: fuelModelWtFactor
Outputs: Complex Model expressions
Step: Mathematically simplify the Complex Model expressions in memory. Perform all possible arithmatic in memory, reducing the size and complexity of the resulting expression text.
Conditions: Predictive Calculations
Outputs: Complex Model expressions
Step: ratioNoSulfur = Complex Model expressions
Conditions: Predictive Calculations
Inputs: Complex Model expressions, fuelFormulation
Outputs: temporary table
Step: Provide default ratioNoSulfur entries. ratioNoSulfur = 1 when null.
Conditions: Predictive Calculations
Outputs: temporary table
Step: Run the sulfur model with the temporary table as the input and the criteriaRatio table as the output.
Conditions: Predictive Calculations
Inputs: temporary table
Outputs: criteriaRatio
Step: End of Predictive Calculations steps.
Conditions: Predictive Calculations
Step: Copy MTBE atRatio entries given by expressions, deleting the entries from generalFuelRatio after the copy to atRatio. The atRatio table has fewer dimension than generalFuelRatio, so average the fuelEffectRatio. atRatio[fuelTypeID,fuelFormulationID,polProcessID,minModelYearID,maxModelYearID,ageID,monthGroupID]=average(fuelEffectRatio).
Conditions: Any of these polProcessIDs: 2211,2212,2213,2218,2219
Inputs: generalFuelRatio
Outputs: atRatio, generalFuelRatio
Step: Copy Benzene atRatio entries given by expressions, deleting the entries from generalFuelRatio after the copy to atRatio. The atRatio table has fewer dimension than generalFuelRatio, so average the fuelEffectRatio. atRatio[fuelTypeID,fuelFormulationID,polProcessID,minModelYearID,maxModelYearID,ageID,monthGroupID]=average(fuelEffectRatio).
Conditions: Any of these polProcessIDs: 2011,2012,2013,2018,2019
Inputs: generalFuelRatio
Outputs: atRatio, generalFuelRatio
Step: To keep the table size small and knowing that LEFT JOINs will be used, remove any remaining generalFuelRatio entries that have the default ratio of 1.0.
Outputs: generalFuelRatio
Step: For international use, adjust model years for generalFuelRatio (but not generalFuelRatioExpression).
Inputs: modelYearMapping
Outputs: generalFuelRatio
Step: Remove overlaps in ATRatio and ATRatioNonGas, deleting any ATRatioNonGas entries that match ATRatio entries.
Inputs: ATRatio
Outputs: ATRatioNonGas
HC Speciation Calculator
HC Speciation Calculator is a CHAINED CALCULATOR.
The HC Speciation Calculator is responsible for:
- Running Exhaust (1) Methane (CH4) (5)
- Running Exhaust (1) Non-Methane Hydrocarbons (79)
- Running Exhaust (1) Non-Methane Organic Gases (80)
- Running Exhaust (1) Total Organic Gases (86)
- Running Exhaust (1) Volatile Organic Compounds (87)
- Start Exhaust (2) Methane (CH4) (5)
- Start Exhaust (2) Non-Methane Hydrocarbons (79)
- Start Exhaust (2) Non-Methane Organic Gases (80)
- Start Exhaust (2) Total Organic Gases (86)
- Start Exhaust (2) Volatile Organic Compounds (87)
- Evap Permeation (11) Non-Methane Hydrocarbons (79)
- Evap Permeation (11) Non-Methane Organic Gases (80)
- Evap Permeation (11) Total Organic Gases (86)
- Evap Permeation (11) Volatile Organic Compounds (87)
- Evap Fuel Vapor Venting (12) Non-Methane Hydrocarbons (79)
- Evap Fuel Vapor Venting (12) Non-Methane Organic Gases (80)
- Evap Fuel Vapor Venting (12) Total Organic Gases (86)
- Evap Fuel Vapor Venting (12) Volatile Organic Compounds (87)
- Evap Fuel Leaks (13) Non-Methane Hydrocarbons (79)
- Evap Fuel Leaks (13) Non-Methane Organic Gases (80)
- Evap Fuel Leaks (13) Total Organic Gases (86)
- Evap Fuel Leaks (13) Volatile Organic Compounds (87)
- Refueling Displacement Vapor Loss (18) Non-Methane Hydrocarbons (79)
- Refueling Displacement Vapor Loss (18) Non-Methane Organic Gases (80)
- Refueling Displacement Vapor Loss (18) Total Organic Gases (86)
- Refueling Displacement Vapor Loss (18) Volatile Organic Compounds (87)
- Refueling Spillage Loss (19) Non-Methane Hydrocarbons (79)
- Refueling Spillage Loss (19) Non-Methane Organic Gases (80)
- Refueling Spillage Loss (19) Total Organic Gases (86)
- Refueling Spillage Loss (19) Volatile Organic Compounds (87)
- Extended Idle Exhaust (90) Methane (CH4) (5)
- Extended Idle Exhaust (90) Non-Methane Hydrocarbons (79)
- Extended Idle Exhaust (90) Non-Methane Organic Gases (80)
- Extended Idle Exhaust (90) Total Organic Gases (86)
- Extended Idle Exhaust (90) Volatile Organic Compounds (87)
- Auxiliary Power Exhaust (91) Methane (CH4) (5)
- Auxiliary Power Exhaust (91) Non-Methane Hydrocarbons (79)
- Auxiliary Power Exhaust (91) Non-Methane Organic Gases (80)
- Auxiliary Power Exhaust (91) Total Organic Gases (86)
- Auxiliary Power Exhaust (91) Volatile Organic Compounds (87)
The HC Speciation Calculator input comes from:
- BaseRateCalculator
- Evaporative Permeation Calculator
- Tank Vapor Venting Calculator
- Liquid Leaking Calculator
- Refueling Loss Calculator
The HC Speciation Calculator output is used by:
- Air toxics Calculator
- CO2AERunningStartExtendedIdleCalculator
- Crankcase Emission Calculator
- TOG Speciation Calculator
HC Speciation Calculator uses the following tables:
HC Speciation Calculator is expressed in these source code files:
- /calc/go/src/hcspeciation/hcspeciation.go
- /gov/epa/otaq/moves/master/implementation/ghg/HCSpeciationCalculator.java
Steps
The HC Speciation Calculator algorithm is as follows.
Step: Assign etohThreshID to each fuel formulation.
Step: methane (5) = THC * CH4THCRatio
Inputs: methaneTHCRatio, PollutantProcessModelYear
Step: NMHC (79) = THC * (1-CH4THCRatio)
Inputs: methaneTHCRatio, PollutantProcessModelYear
Step: NMOG (80) = NMHC*(speciationConstant + oxySpeciation* volToWtPercentOxy*(MTBEVolume+ETBEVolume+TAMEVolume+ETOHVolume)).
Conditions: When (MTBEVolume+ETBEVolume+TAMEVolume+ETOHVolume) >= 0. Otherwise, NMOG = 0., NOT (Running Exhaust, Start Exhaust, Ethanol fuel type, E70 and E85 fuel subtypes, Model years >= 2001).
Inputs: FuelFormulation, HCSpeciation, PollutantProcessModelYear
Step: VOC (87) = NMHC*(speciationConstant + oxySpeciation* volToWtPercentOxy*(MTBEVolume+ETBEVolume+TAMEVolume+ETOHVolume)).
Conditions: When (MTBEVolume+ETBEVolume+TAMEVolume+ETOHVolume) >= 0. Otherwise, VOC = 0., NOT (Running Exhaust, Start Exhaust, Ethanol fuel type, E70 and E85 fuel subtypes, Model years >= 2001).
Inputs: FuelFormulation, HCSpeciation, PollutantProcessModelYear
Step: Calculate altNMHC (10079) from altTHC (10001) using E10's ratios.
Conditions: Running Exhaust, Start Exhaust, Ethanol fuel type, E70 and E85 fuel subtypes, Model years >= 2001.
Inputs: methaneTHCRatio, PollutantProcessModelYear
Step: Calculate NMOG from altNMHC (10079) that originates from altTHC (10001). Use E10's factors even though the fuel is Ethanol.
Conditions: Running Exhaust, Start Exhaust, Ethanol fuel type, E70 and E85 fuel subtypes, Model years >= 2001.
Inputs: FuelFormulation, HCSpeciation, PollutantProcessModelYear
Step: Calculate VOC from altNMHC (10079) that originates from altTHC (10001). Use E10's factors even though the fuel is Ethanol.
Conditions: Running Exhaust, Start Exhaust, Ethanol fuel type, E70 and E85 fuel subtypes, Model years >= 2001.
Inputs: FuelFormulation, HCSpeciation, PollutantProcessModelYear
Step: TOG (86) = NMOG (80) + Methane (5)
Link Operating Mode Distribution Generator
Link Operating Mode Distribution Generator is a GENERATOR that executes at the LINK level.
Link Operating Mode Distribution Generator uses the following tables:
- DriveSchedule
- DriveScheduleAssoc
- DriveScheduleSecond
- driveScheduleSecondLink
- Link
- OpModeDistribution
- OpModePolProcAssoc
Link Operating Mode Distribution Generator populates the following tables:
Link Operating Mode Distribution Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/LinkOperatingModeDistributionGenerator.java
Steps
The Link Operating Mode Distribution Generator algorithm is as follows.
Step: Setup for Model Year Physics effects.
Step: Set rampFraction=0 for all road types as there is no automatic ramp contribution in Project mode.
Conditions: Project domain
Step: Lookup linkAvgSpeed for the current link.
Inputs: link
Step: For links with zero average speed, provide a default drive schedule of 30 seconds of idling. Use 0 grade because with 0 speed, brakes are likely applied rather than using the engine to counteract any grade. This removes the grade's effect on VSP.
Conditions: linkAvgSpeed <= 0
Outputs: driveScheduleSecondLink
Step: Lookup the road type and average grade for the current link.
Conditions: The current link has no drive schedule
Inputs: link
Step: Find the drive schedule with the greatest average speed that is still <= the link's average speed. Use this as the lower bracketing schedule. Such a drive schedule may not exist.
Conditions: The current link has no drive schedule
Inputs: driveSchedule, driveScheduleAssoc
Outputs: tempLinkBracket
Step: Find the drive schedule with the lowest average speed that is still > the link's average speed. Use this as the lower bracketing schedule if one was not previously found. Flag the bracket as out of bounds on the low side. Such a drive schedule may not exist.
Conditions: The current link has no drive schedule
Inputs: driveSchedule, driveScheduleAssoc
Outputs: tempLinkBracket
Step: Find the drive schedule with the lowest average speed that is still >= the link's average speed. Use this as the upper bracketing schedule. Such a drive schedule may not exist.
Conditions: The current link has no drive schedule
Inputs: driveSchedule, driveScheduleAssoc
Outputs: tempLinkBracketHigh
Step: Find the drive schedule with the highest average speed that is still < the link's average speed. Use this as the upper bracketing schedule if one was not previously found. Flag the bracket as out of bounds on the high side. Such a drive schedule may not exist.
Conditions: The current link has no drive schedule
Inputs: driveSchedule, driveScheduleAssoc
Outputs: tempLinkBracketHigh
Step: Note the upper bracket link and its out of bounds flag, if any.
Conditions: The current link has no drive schedule
Inputs: tempLinkBracketHigh
Outputs: tempLinkBracket
Step: Get the set of distinct driveScheduleID and sourceTypeID combinations that require operating mode calculations.
Conditions: The current link has no drive schedule
Inputs: tempLinkBracket
Outputs: list of bracketing drive schedules that need operating mode distributions
Step: Copy each second of each bracketing drive schedule into driveScheduleSecondLink. Use the link's average grade as each entry's grade. Use -driveScheduleID as the linkID field in driveScheduleSecondLink, denoting it as a bracketing link.
Conditions: The current link has no drive schedule
Inputs: driveScheduleSecond
Outputs: driveScheduleSecondLink
Step: Perform the steps to calculate a link's operating mode distribution from its drive schedule. Use -driveScheduleID as the linkID to calculate.
Conditions: The current link has a drive schedule not just an average speed.
Step: Create expanded operating mode tables for Model Year physics effects.
Conditions: The current link has a drive schedule not just an average speed.
Step: interpolationFactor = (link average speed - low bracket schedule average speed) / (high bracket schedule average speed - low bracket schedule average speed).
Conditions: The current link has a drive schedule not just an average speed.
Step: Interpolate the operating mode distribution from the low and high bracket's operating mode distribution. opModeFraction = opModeFraction[low]+(opModeFraction[high]-opModeFraction[low])*interpolationFactor.
Conditions: The current link has a drive schedule not just an average speed.
Outputs: opModeDistribution
Step: Remove bracketing schedules from driveScheduleSecondLink.
Conditions: The current link has a drive schedule not just an average speed.
Inputs: tempLinkBracket
Outputs: driveScheduleSecondLink
Step: Perform the steps to calculate a link's operating mode distribution from its drive schedule.
Conditions: The current link has a drive schedule not just an average speed.
Step: linkAvgSpeed=average(speed). linkAvgGrade=average(grade).
Conditions: Calculate a link's operating mode distribution from its drive schedule., A real linkID is provided (linkID > 0)
Inputs: driveScheduleSecondLink
Outputs: link
Step: Calculate accelerations in units of miles/(hour*second). Speeds are given in miles/hour. VSP is kW/tonne. There are 0.44704 (meter*hours)/(miles*second). at0 = coalesce( (speed[t]-speed[t-1])+(9.81/0.44704*sin(atan(grade[t]/100.0))), (speed[t+1]-speed[t])+(9.81/0.44704*sin(atan(grade[t]/100.0))), 0.0). at1 = coalesce((speed[t-1]-speed[t-2])+(9.81/0.44704*sin(atan(grade[t-1]/100.0))),0.0). at2 = coalesce((speed[t-2]-speed[t-3])+(9.81/0.44704*sin(atan(grade[t-2]/100.0))),0.0). VSP = (((speed[t]*0.44704)*(rollingTermA+(speed[t]*0.44704)*(rotatingTermB+dragTermC*(speed[t]*0.44704))) +sourceMass*(speed[t]*0.44704)*coalesce(speed[t]-speed[t-1],speed[t+1]-speed[t],0.0)*0.44704 +sourceMass*9.81*sin(atan(grade[t]/100.0))*(speed[t]*0.44704)))/fixedMassFactor.
Conditions: Calculate a link's operating mode distribution from its drive schedule.
Inputs: driveScheduleSecondLink at time t, driveScheduleSecondLink at time t+1 seconds, driveScheduleSecondLink at time t-1 seconds, driveScheduleSecondLink at time t-2 seconds, driveScheduleSecondLink at time t-3 seconds
Outputs: tempDriveScheduleSecondLink
Step: Assign operating modes. Assign a stopped mode 501 when speed = 0, assign mode 501. This mode will be converted to 1 based on polProcessID later. Otherwise, assign the idle mode 1 when speed < 1. Otherwise, assign the braking mode 0 when At0 <= -2 or (At0 < -1 and At1 < -1 and At2 < -1). Otherwise, assign operating modes by their data-drive speed and VSP ranges.
Conditions: Calculate a link's operating mode distribution from its drive schedule.
Outputs: tempDriveScheduleSecondLink
Step: secondTotal = Count of the number of entries in the drive schedule. This is the number of seconds of driving, even if there are gaps within the data.
Conditions: Calculate a link's operating mode distribution from its drive schedule.
Inputs: tempDriveScheduleSecondLink
Outputs: tempDriveScheduleSecondLinkTotal
Step: secondCount = Count of the number of entries in the drive schedule for each operating mode.
Conditions: Calculate a link's operating mode distribution from its drive schedule.
Inputs: tempDriveScheduleSecondLink
Outputs: tempDriveScheduleSecondLinkCount
Step: opModeFraction = secondCount/secondTotal.
Conditions: Calculate a link's operating mode distribution from its drive schedule.
Inputs: tempDriveScheduleSecondLinkCount, tempDriveScheduleSecondLinkTotal
Outputs: tempDriveScheduleSecondLinkFraction
Step: Copy the operating mode distribution to all polProcessIDs that share it. For polProcessID 11609, retain opMode 501 and convert opMode 501 to opMode 1 for all other polProcessIDs.
Conditions: Calculate a link's operating mode distribution from its drive schedule.
Inputs: opModePolProcAssoc, tempDriveScheduleSecondLinkFraction
Outputs: opModeDistributionTemp
Step: opModeFraction=sum(temporary opModeFraction). other polProcessIDs.
Conditions: Calculate a link's operating mode distribution from its drive schedule.
Outputs: opModeDistribution, opModeDistributionTemp
Step: Remove data for bracketing links first, just in case they were left from a prior link's settings.
Conditions: Calculate a link's operating mode distribution from its drive schedule., A bracketing link is provided (linkID < 0)
Outputs: opModeDistribution
Step: Delete the previous road type's data from ratesOpModeDistribution.
Conditions: A previous road type has been used in the run.
Outputs: ratesOpModeDistribution
Step: Delete the current road type's data from ratesOpModeDistribution.
Outputs: ratesOpModeDistribution
Step: Lookup the current link's linkAvgSpeed.
Inputs: linkAvgSpeed
Step: Copy the current link's opModeDistribution entries to ratesOpModeDistribution, providing the current link's road type and average speed. Do not copy any generic polProcessID entries (polProcessID <= 0) as these are just to speedup internal opModeDistribution calculations.
Inputs: opModeDistribution
Outputs: ratesOpModeDistribution
Step: Update emission rate tables for Model Year Physics effects.
Liquid Leaking Calculator
Liquid Leaking Calculator is a CALCULATOR that executes at the MONTH level.
The Liquid Leaking Calculator is responsible for:
- Evap Fuel Leaks (13) Total Gaseous Hydrocarbons (1)
The Liquid Leaking Calculator output is used by:
Liquid Leaking Calculator uses the following tables:
- AgeCategory
- County
- EmissionRateByAge
- FuelType
- HourDay
- IMCoverage
- IMFactor
- Link
- MonthofAnyYear
- OpModeDistribution
- PollutantProcessAssoc
- PollutantProcessModelYear
- SourceBin
- SourceBinDistribution
- SourceHours
- SourceTypeModelYear
- Year
- Zone
Liquid Leaking Calculator is expressed in these source code files:
- /database/LiquidLeakingCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/LiquidLeakingCalculator.java
Steps
The Liquid Leaking Calculator algorithm is as follows.
Step: Filter emissionRateByAge to only operating modes 150, 151, and 300.
Inputs: runspecsourcefueltype, sourcebin, sourcebindistribution, sourcetypemodelyear
Outputs: emissionratebyage
Step: Filter OpModeDistribution to only operating modes 150, 151, and 300.
Inputs: runspecsourcetype
Outputs: opmodedistribution
Step: Disaggregate IMCoverage records, expanding model year ranges into individual model years. IMAdjustFract[processID,pollutantID,modelYearID,fuelTypeID,sourceTypeID]=IMFactor*complianceFactor*0.01.
Inputs: agecategory, imcoverage, imfactor, pollutantprocessassoc, pollutantprocessmappedmodelyear
Outputs: imcoveragemergedungrouped
Step: weightedMeanBaseRate = sourceBinActivityFraction * meanBaseRate. weightedMeanBaseRateIM = sourceBinActivityFraction * meanBaseRateIM.
Inputs: agecategory, emissionratebyage, fueltype, pollutantprocessmodelyear, runspechourday, runspecmonth, runspecsourcetype, sourcebin, sourcebindistribution, sourcetypemodelyear
Outputs: weightedmeanbaserate
Step: emissionQuant = weightedMeanBaseRate * sourceHours * opModeFraction. emissionQuantIM = weightedMeanBaseRateIM * sourceHours * opModeFraction.
Inputs: hourday, link, opmodedistribution, pollutantprocessassoc, sourcehours, weightedmeanbaserate
Outputs: movesworkeroutput
Step: Apply I/M programs. emissionQuant=emissionQuantIM*IMAdjustFract + emissionQuant*(1-IMAdjustFract).
Outputs: imcoveragemergedungrouped, movesworkeroutput
Meteorology Generator
Meteorology Generator is a GENERATOR that executes at the PROCESS level.
Meteorology Generator uses the following tables:
Meteorology Generator populates the following tables:
Meteorology Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/general/MeteorologyGenerator.java
Steps
The Meteorology Generator algorithm is as follows.
Step: Provide default barometric pressures for counties that don't list them. Counties with 'H' (High) altitude are assigned 24.69 inHg. Others are assigned 28.94.
Conditions: Counties with barometricPressure of null or <= 0.
Outputs: County
Step: Provide default altitude setting for counties that do not provide an altitude. Counties with barometricPressure >= 25.8403 inHg are 'L' (Low) altitude, all others are 'H' (High).
Conditions: Counties where altitude is null or altitude is neither H nor L.
Outputs: County
Step: heatIndex = temperature.
Conditions: temperature < 78F.
Outputs: ZoneMonthHour
Step: heatIndex = least( -42.379 + 2.04901523*temperature + 10.14333127*relHumidity + - 0.22475541*temperature*relHumidity + -0.00683783*temperature*temperature + -0.05481717 * relHumidity * relHumidity + 0.00122874*temperature*temperature*relHumidity + 0.00085282*temperature*relHumidity*relHumidity + -0.00000199*temperature*temperature*relHumidity*relHumidity, 120).
Conditions: temperature >= 78F.
Outputs: ZoneMonthHour
Step: TK = 0.56*(temperature-32)+273 AS TK. T0 = 374.27-0.56*(temperature-32).
Inputs: ZoneMonthHour
Outputs: TKT0
Step: PB = barometricPressure. PV = (relHumidity/100)*6527.557*POW(10,(-T0/TK)*((3.2437+0.00588*T0+0.000000011702*POW(T0,3))/(1+0.00219*T0))).
Inputs: County, TKT0, Zone
Outputs: PV
Step: specificHumidity=4347.8*PV/(PB-PV).
Inputs: PV
Outputs: ZoneMonthHour
NO Calculator
NO Calculator is a CHAINED CALCULATOR.
The NO Calculator is responsible for:
- Running Exhaust (1) Nitrogen Oxide (NO) (32)
- Start Exhaust (2) Nitrogen Oxide (NO) (32)
- Extended Idle Exhaust (90) Nitrogen Oxide (NO) (32)
- Auxiliary Power Exhaust (91) Nitrogen Oxide (NO) (32)
- Running Exhaust (1) Nitrous Acid (HONO) (34)
- Start Exhaust (2) Nitrous Acid (HONO) (34)
- Extended Idle Exhaust (90) Nitrous Acid (HONO) (34)
- Auxiliary Power Exhaust (91) Nitrous Acid (HONO) (34)
The NO Calculator input comes from:
The NO Calculator output is used by:
NO Calculator uses the following tables:
NO Calculator is expressed in these source code files:
- /database/NOCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/NOCalculator.java
Steps
The NO Calculator algorithm is as follows.
Step: To simplify future table joins, add dimensions to NOxRatio.
Inputs: nocopyofnono2ratio, nocopyofppa, nocopyofppmy, nocopyofsourceusetype
Outputs: nocalculation1
Step: emissionQuant = NOxRatio * Oxides of Nitrogen (3).
Inputs: movesworkeroutput, nocalculation1
Outputs: nomovesoutputtemp1
NO2 Calculator
NO2 Calculator is a CHAINED CALCULATOR.
The NO2 Calculator is responsible for:
- Running Exhaust (1) Nitrogen Dioxide (NO2) (33)
- Start Exhaust (2) Nitrogen Dioxide (NO2) (33)
- Extended Idle Exhaust (90) Nitrogen Dioxide (NO2) (33)
- Auxiliary Power Exhaust (91) Nitrogen Dioxide (NO2) (33)
The NO2 Calculator input comes from:
The NO2 Calculator output is used by:
NO2 Calculator uses the following tables:
NO2 Calculator is expressed in these source code files:
- /database/NO2Calculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/NO2Calculator.java
Steps
The NO2 Calculator algorithm is as follows.
Step: To simplify future table joins, add dimensions to NOxRatio.
Inputs: no2copyofnono2ratio, no2copyofppa, no2copyofppmy, no2copyofsourceusetype
Outputs: no2calculation1
Step: emissionQuant = NOxRatio * Oxides of Nitrogen (3).
Inputs: movesworkeroutput, no2calculation1
Outputs: no2movesoutputtemp1
Nonroad Air toxics Calculator
Nonroad Air toxics Calculator is a CHAINED CALCULATOR.
The Nonroad Air toxics Calculator is responsible for:
- Running Exhaust (1) Benzene (20)
- Crankcase Running Exhaust (15) Benzene (20)
- Refueling Displacement Vapor Loss (18) Benzene (20)
- Refueling Spillage Loss (19) Benzene (20)
- Evap Tank Permeation (20) Benzene (20)
- Evap Hose Permeation (21) Benzene (20)
- Evap RecMar Neck Hose Permeation (22) Benzene (20)
- Evap RecMar Supply/Ret Hose Permeation (23) Benzene (20)
- Evap RecMar Vent Hose Permeation (24) Benzene (20)
- Diurnal Fuel Vapor Venting (30) Benzene (20)
- HotSoak Fuel Vapor Venting (31) Benzene (20)
- RunningLoss Fuel Vapor Venting (32) Benzene (20)
- Running Exhaust (1) Ethanol (21)
- Crankcase Running Exhaust (15) Ethanol (21)
- Refueling Displacement Vapor Loss (18) Ethanol (21)
- Refueling Spillage Loss (19) Ethanol (21)
- Evap Tank Permeation (20) Ethanol (21)
- Evap Hose Permeation (21) Ethanol (21)
- Evap RecMar Neck Hose Permeation (22) Ethanol (21)
- Evap RecMar Supply/Ret Hose Permeation (23) Ethanol (21)
- Evap RecMar Vent Hose Permeation (24) Ethanol (21)
- Diurnal Fuel Vapor Venting (30) Ethanol (21)
- HotSoak Fuel Vapor Venting (31) Ethanol (21)
- RunningLoss Fuel Vapor Venting (32) Ethanol (21)
- Running Exhaust (1) MTBE (22)
- Crankcase Running Exhaust (15) MTBE (22)
- Refueling Displacement Vapor Loss (18) MTBE (22)
- Refueling Spillage Loss (19) MTBE (22)
- Evap Tank Permeation (20) MTBE (22)
- Evap Hose Permeation (21) MTBE (22)
- Evap RecMar Neck Hose Permeation (22) MTBE (22)
- Evap RecMar Supply/Ret Hose Permeation (23) MTBE (22)
- Evap RecMar Vent Hose Permeation (24) MTBE (22)
- Diurnal Fuel Vapor Venting (30) MTBE (22)
- HotSoak Fuel Vapor Venting (31) MTBE (22)
- RunningLoss Fuel Vapor Venting (32) MTBE (22)
- Running Exhaust (1) Naphthalene particle (23)
- Crankcase Running Exhaust (15) Naphthalene particle (23)
- Running Exhaust (1) 1,3-Butadiene (24)
- Crankcase Running Exhaust (15) 1,3-Butadiene (24)
- Running Exhaust (1) Formaldehyde (25)
- Crankcase Running Exhaust (15) Formaldehyde (25)
- Running Exhaust (1) Acetaldehyde (26)
- Crankcase Running Exhaust (15) Acetaldehyde (26)
- Running Exhaust (1) Acrolein (27)
- Crankcase Running Exhaust (15) Acrolein (27)
- Running Exhaust (1) 2,2,4-Trimethylpentane (40)
- Crankcase Running Exhaust (15) 2,2,4-Trimethylpentane (40)
- Refueling Displacement Vapor Loss (18) 2,2,4-Trimethylpentane (40)
- Refueling Spillage Loss (19) 2,2,4-Trimethylpentane (40)
- Evap Tank Permeation (20) 2,2,4-Trimethylpentane (40)
- Evap Hose Permeation (21) 2,2,4-Trimethylpentane (40)
- Evap RecMar Neck Hose Permeation (22) 2,2,4-Trimethylpentane (40)
- Evap RecMar Supply/Ret Hose Permeation (23) 2,2,4-Trimethylpentane (40)
- Evap RecMar Vent Hose Permeation (24) 2,2,4-Trimethylpentane (40)
- Diurnal Fuel Vapor Venting (30) 2,2,4-Trimethylpentane (40)
- HotSoak Fuel Vapor Venting (31) 2,2,4-Trimethylpentane (40)
- RunningLoss Fuel Vapor Venting (32) 2,2,4-Trimethylpentane (40)
- Running Exhaust (1) Ethyl Benzene (41)
- Crankcase Running Exhaust (15) Ethyl Benzene (41)
- Refueling Displacement Vapor Loss (18) Ethyl Benzene (41)
- Refueling Spillage Loss (19) Ethyl Benzene (41)
- Evap Tank Permeation (20) Ethyl Benzene (41)
- Evap Hose Permeation (21) Ethyl Benzene (41)
- Evap RecMar Neck Hose Permeation (22) Ethyl Benzene (41)
- Evap RecMar Supply/Ret Hose Permeation (23) Ethyl Benzene (41)
- Evap RecMar Vent Hose Permeation (24) Ethyl Benzene (41)
- Diurnal Fuel Vapor Venting (30) Ethyl Benzene (41)
- HotSoak Fuel Vapor Venting (31) Ethyl Benzene (41)
- RunningLoss Fuel Vapor Venting (32) Ethyl Benzene (41)
- Running Exhaust (1) Hexane (42)
- Crankcase Running Exhaust (15) Hexane (42)
- Refueling Displacement Vapor Loss (18) Hexane (42)
- Refueling Spillage Loss (19) Hexane (42)
- Evap Tank Permeation (20) Hexane (42)
- Evap Hose Permeation (21) Hexane (42)
- Evap RecMar Neck Hose Permeation (22) Hexane (42)
- Evap RecMar Supply/Ret Hose Permeation (23) Hexane (42)
- Evap RecMar Vent Hose Permeation (24) Hexane (42)
- Diurnal Fuel Vapor Venting (30) Hexane (42)
- HotSoak Fuel Vapor Venting (31) Hexane (42)
- RunningLoss Fuel Vapor Venting (32) Hexane (42)
- Running Exhaust (1) Propionaldehyde (43)
- Crankcase Running Exhaust (15) Propionaldehyde (43)
- Running Exhaust (1) Styrene (44)
- Crankcase Running Exhaust (15) Styrene (44)
- Running Exhaust (1) Toluene (45)
- Crankcase Running Exhaust (15) Toluene (45)
- Refueling Displacement Vapor Loss (18) Toluene (45)
- Refueling Spillage Loss (19) Toluene (45)
- Evap Tank Permeation (20) Toluene (45)
- Evap Hose Permeation (21) Toluene (45)
- Evap RecMar Neck Hose Permeation (22) Toluene (45)
- Evap RecMar Supply/Ret Hose Permeation (23) Toluene (45)
- Evap RecMar Vent Hose Permeation (24) Toluene (45)
- Diurnal Fuel Vapor Venting (30) Toluene (45)
- HotSoak Fuel Vapor Venting (31) Toluene (45)
- RunningLoss Fuel Vapor Venting (32) Toluene (45)
- Running Exhaust (1) Xylene (46)
- Crankcase Running Exhaust (15) Xylene (46)
- Refueling Displacement Vapor Loss (18) Xylene (46)
- Refueling Spillage Loss (19) Xylene (46)
- Evap Tank Permeation (20) Xylene (46)
- Evap Hose Permeation (21) Xylene (46)
- Evap RecMar Neck Hose Permeation (22) Xylene (46)
- Evap RecMar Supply/Ret Hose Permeation (23) Xylene (46)
- Evap RecMar Vent Hose Permeation (24) Xylene (46)
- Diurnal Fuel Vapor Venting (30) Xylene (46)
- HotSoak Fuel Vapor Venting (31) Xylene (46)
- RunningLoss Fuel Vapor Venting (32) Xylene (46)
- Running Exhaust (1) Mercury Elemental Gaseous (60)
- Running Exhaust (1) Mercury Divalent Gaseous (61)
- Running Exhaust (1) Mercury Particulate (62)
- Running Exhaust (1) Arsenic Compounds (63)
- Running Exhaust (1) Chromium 6+ (65)
- Running Exhaust (1) Manganese Compounds (66)
- Running Exhaust (1) Nickel Compounds (67)
- Running Exhaust (1) Dibenzo(a,h)anthracene particle (68)
- Crankcase Running Exhaust (15) Dibenzo(a,h)anthracene particle (68)
- Running Exhaust (1) Fluoranthene particle (69)
- Crankcase Running Exhaust (15) Fluoranthene particle (69)
- Running Exhaust (1) Acenaphthene particle (70)
- Crankcase Running Exhaust (15) Acenaphthene particle (70)
- Running Exhaust (1) Acenaphthylene particle (71)
- Crankcase Running Exhaust (15) Acenaphthylene particle (71)
- Running Exhaust (1) Anthracene particle (72)
- Crankcase Running Exhaust (15) Anthracene particle (72)
- Running Exhaust (1) Benz(a)anthracene particle (73)
- Crankcase Running Exhaust (15) Benz(a)anthracene particle (73)
- Running Exhaust (1) Benzo(a)pyrene particle (74)
- Crankcase Running Exhaust (15) Benzo(a)pyrene particle (74)
- Running Exhaust (1) Benzo(b)fluoranthene particle (75)
- Crankcase Running Exhaust (15) Benzo(b)fluoranthene particle (75)
- Running Exhaust (1) Benzo(g,h,i)perylene particle (76)
- Crankcase Running Exhaust (15) Benzo(g,h,i)perylene particle (76)
- Running Exhaust (1) Benzo(k)fluoranthene particle (77)
- Crankcase Running Exhaust (15) Benzo(k)fluoranthene particle (77)
- Running Exhaust (1) Chrysene particle (78)
- Crankcase Running Exhaust (15) Chrysene particle (78)
- Running Exhaust (1) Fluorene particle (81)
- Crankcase Running Exhaust (15) Fluorene particle (81)
- Running Exhaust (1) Indeno(1,2,3,c,d)pyrene particle (82)
- Crankcase Running Exhaust (15) Indeno(1,2,3,c,d)pyrene particle (82)
- Running Exhaust (1) Phenanthrene particle (83)
- Crankcase Running Exhaust (15) Phenanthrene particle (83)
- Running Exhaust (1) Pyrene particle (84)
- Crankcase Running Exhaust (15) Pyrene particle (84)
- Running Exhaust (1) NonHAPTOG (88)
- Crankcase Running Exhaust (15) NonHAPTOG (88)
- Refueling Displacement Vapor Loss (18) NonHAPTOG (88)
- Refueling Spillage Loss (19) NonHAPTOG (88)
- Evap Tank Permeation (20) NonHAPTOG (88)
- Evap Hose Permeation (21) NonHAPTOG (88)
- Diurnal Fuel Vapor Venting (30) NonHAPTOG (88)
- HotSoak Fuel Vapor Venting (31) NonHAPTOG (88)
- RunningLoss Fuel Vapor Venting (32) NonHAPTOG (88)
- Running Exhaust (1) 1,2,3,7,8,9-Hexachlorodibenzo-p-Dioxin (130)
- Running Exhaust (1) Octachlorodibenzo-p-dioxin (131)
- Running Exhaust (1) 1,2,3,4,6,7,8-Heptachlorodibenzo-p-Dioxin (132)
- Running Exhaust (1) Octachlorodibenzofuran (133)
- Running Exhaust (1) 1,2,3,4,7,8-Hexachlorodibenzo-p-Dioxin (134)
- Running Exhaust (1) 1,2,3,7,8-Pentachlorodibenzo-p-Dioxin (135)
- Running Exhaust (1) 2,3,7,8-Tetrachlorodibenzofuran (136)
- Running Exhaust (1) 1,2,3,4,7,8,9-Heptachlorodibenzofuran (137)
- Running Exhaust (1) 2,3,4,7,8-Pentachlorodibenzofuran (138)
- Running Exhaust (1) 1,2,3,7,8-Pentachlorodibenzofuran (139)
- Running Exhaust (1) 1,2,3,6,7,8-Hexachlorodibenzofuran (140)
- Running Exhaust (1) 1,2,3,6,7,8-Hexachlorodibenzo-p-Dioxin (141)
- Running Exhaust (1) 2,3,7,8-Tetrachlorodibenzo-p-Dioxin (142)
- Running Exhaust (1) 2,3,4,6,7,8-Hexachlorodibenzofuran (143)
- Running Exhaust (1) 1,2,3,4,6,7,8-Heptachlorodibenzofuran (144)
- Running Exhaust (1) 1,2,3,4,7,8-Hexachlorodibenzofuran (145)
- Running Exhaust (1) 1,2,3,7,8,9-Hexachlorodibenzofuran (146)
- Running Exhaust (1) Dibenzo(a,h)anthracene gas (168)
- Crankcase Running Exhaust (15) Dibenzo(a,h)anthracene gas (168)
- Running Exhaust (1) Fluoranthene gas (169)
- Crankcase Running Exhaust (15) Fluoranthene gas (169)
- Running Exhaust (1) Acenaphthene gas (170)
- Crankcase Running Exhaust (15) Acenaphthene gas (170)
- Running Exhaust (1) Acenaphthylene gas (171)
- Crankcase Running Exhaust (15) Acenaphthylene gas (171)
- Running Exhaust (1) Anthracene gas (172)
- Crankcase Running Exhaust (15) Anthracene gas (172)
- Running Exhaust (1) Benz(a)anthracene gas (173)
- Crankcase Running Exhaust (15) Benz(a)anthracene gas (173)
- Running Exhaust (1) Benzo(a)pyrene gas (174)
- Crankcase Running Exhaust (15) Benzo(a)pyrene gas (174)
- Running Exhaust (1) Benzo(b)fluoranthene gas (175)
- Crankcase Running Exhaust (15) Benzo(b)fluoranthene gas (175)
- Running Exhaust (1) Benzo(g,h,i)perylene gas (176)
- Crankcase Running Exhaust (15) Benzo(g,h,i)perylene gas (176)
- Running Exhaust (1) Benzo(k)fluoranthene gas (177)
- Crankcase Running Exhaust (15) Benzo(k)fluoranthene gas (177)
- Running Exhaust (1) Chrysene gas (178)
- Crankcase Running Exhaust (15) Chrysene gas (178)
- Running Exhaust (1) Fluorene gas (181)
- Crankcase Running Exhaust (15) Fluorene gas (181)
- Running Exhaust (1) Indeno(1,2,3,c,d)pyrene gas (182)
- Crankcase Running Exhaust (15) Indeno(1,2,3,c,d)pyrene gas (182)
- Running Exhaust (1) Phenanthrene gas (183)
- Crankcase Running Exhaust (15) Phenanthrene gas (183)
- Running Exhaust (1) Pyrene gas (184)
- Crankcase Running Exhaust (15) Pyrene gas (184)
- Running Exhaust (1) Naphthalene gas (185)
- Crankcase Running Exhaust (15) Naphthalene gas (185)
The Nonroad Air toxics Calculator input comes from:
Nonroad Air toxics Calculator uses the following tables:
- nratratio
- nrdioxinemissionrate
- nrhpcategory
- nrintegratedspecies
- nrmetalemissionrate
- nrpahgasratio
- nrpahparticleratio
Nonroad Air toxics Calculator is expressed in these source code files:
- /calc/go/src/nrairtoxics/nrairtoxics.go
- /database/NRAirToxicsCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/NRAirToxicsCalculator.java
Steps
The Nonroad Air toxics Calculator algorithm is as follows.
Step: output[pollutantID] = VOC (87) * ATRatio
Inputs: nrATRatio, nrHPCategory
Step: output[pollutantID] = VOC (87) * ATRatio
Inputs: nrHPCategory, nrPAHGasRatio
Step: output[pollutantID] = PM2.5 (110) * ATRatio
Inputs: nrHPCategory, nrPAHParticleRatio
Step: gallons[gasoline] = grams gasoline fuel / (453.592*6.17)
Step: gallons[diesel(all)] = grams diesel fuel / (453.592*7.1)
Step: gallons[CNG] = grams gasoline / (453.592*0.0061)
Step: gallons[LPG] = grams gasoline / (453.592*4.507)
Step: dioxin output[pollutantID] = gallons[fuel type] * meanBaseRate
Inputs: nrDioxinEmissionRate, nrHPCategory
Step: metal output[pollutantID] = gallons[fuel type] * meanBaseRate
Inputs: nrHPCategory, nrMetalEmissionRate
Step: NonHAPTOG(88)(partial) = NMOG (80)
Step: NonHAPTOG(88)(partial) = -emissions[integratedSpeciesPollutantID]
Inputs: nrIntegratedSpecies
Nonroad Calculator
Nonroad Calculator is a CALCULATOR that executes at the DAY level.
The Nonroad Calculator is responsible for:
- HotSoak Fuel Vapor Venting (31) Total Gaseous Hydrocarbons (1)
- Diurnal Fuel Vapor Venting (30) Total Gaseous Hydrocarbons (1)
- Refueling Displacement Vapor Loss (18) Total Gaseous Hydrocarbons (1)
- Refueling Spillage Loss (19) Total Gaseous Hydrocarbons (1)
- RunningLoss Fuel Vapor Venting (32) Total Gaseous Hydrocarbons (1)
- Evap Tank Permeation (20) Total Gaseous Hydrocarbons (1)
- Evap Hose Permeation (21) Total Gaseous Hydrocarbons (1)
- Running Exhaust (1) Atmospheric CO2 (90)
- Running Exhaust (1) Total Energy Consumption (91)
- Running Exhaust (1) Brake Specific Fuel Consumption (BSFC) (99)
- Running Exhaust (1) Total Gaseous Hydrocarbons (1)
- Running Exhaust (1) Carbon Monoxide (CO) (2)
- Running Exhaust (1) Oxides of Nitrogen (NOx) (3)
- Running Exhaust (1) Ammonia (NH3) (30)
- Running Exhaust (1) Sulfur Dioxide (SO2) (31)
- Running Exhaust (1) Primary Exhaust PM10 - Total (100)
- Running Exhaust (1) Primary Exhaust PM2.5 - Total (110)
- Crankcase Running Exhaust (15) Total Gaseous Hydrocarbons (1)
The Nonroad Calculator output is used by:
Nonroad Calculator is expressed in these source code files:
- /database/NonroadCalculator.sql
- /gov/epa/otaq/moves/master/nonroad/NonroadEmissionCalculator.java
Nonroad HC Speciation Calculator
Nonroad HC Speciation Calculator is a CHAINED CALCULATOR.
The Nonroad HC Speciation Calculator is responsible for:
- Running Exhaust (1) Methane (CH4) (5)
- Crankcase Running Exhaust (15) Methane (CH4) (5)
- Refueling Displacement Vapor Loss (18) Methane (CH4) (5)
- Refueling Spillage Loss (19) Methane (CH4) (5)
- Evap Tank Permeation (20) Methane (CH4) (5)
- Evap Hose Permeation (21) Methane (CH4) (5)
- Diurnal Fuel Vapor Venting (30) Methane (CH4) (5)
- HotSoak Fuel Vapor Venting (31) Methane (CH4) (5)
- RunningLoss Fuel Vapor Venting (32) Methane (CH4) (5)
- Running Exhaust (1) Non-Methane Hydrocarbons (79)
- Crankcase Running Exhaust (15) Non-Methane Hydrocarbons (79)
- Refueling Displacement Vapor Loss (18) Non-Methane Hydrocarbons (79)
- Refueling Spillage Loss (19) Non-Methane Hydrocarbons (79)
- Evap Tank Permeation (20) Non-Methane Hydrocarbons (79)
- Evap Hose Permeation (21) Non-Methane Hydrocarbons (79)
- Diurnal Fuel Vapor Venting (30) Non-Methane Hydrocarbons (79)
- HotSoak Fuel Vapor Venting (31) Non-Methane Hydrocarbons (79)
- RunningLoss Fuel Vapor Venting (32) Non-Methane Hydrocarbons (79)
- Running Exhaust (1) Non-Methane Organic Gases (80)
- Crankcase Running Exhaust (15) Non-Methane Organic Gases (80)
- Refueling Displacement Vapor Loss (18) Non-Methane Organic Gases (80)
- Refueling Spillage Loss (19) Non-Methane Organic Gases (80)
- Evap Tank Permeation (20) Non-Methane Organic Gases (80)
- Evap Hose Permeation (21) Non-Methane Organic Gases (80)
- Diurnal Fuel Vapor Venting (30) Non-Methane Organic Gases (80)
- HotSoak Fuel Vapor Venting (31) Non-Methane Organic Gases (80)
- RunningLoss Fuel Vapor Venting (32) Non-Methane Organic Gases (80)
- Running Exhaust (1) Total Organic Gases (86)
- Crankcase Running Exhaust (15) Total Organic Gases (86)
- Refueling Displacement Vapor Loss (18) Total Organic Gases (86)
- Refueling Spillage Loss (19) Total Organic Gases (86)
- Evap Tank Permeation (20) Total Organic Gases (86)
- Evap Hose Permeation (21) Total Organic Gases (86)
- Diurnal Fuel Vapor Venting (30) Total Organic Gases (86)
- HotSoak Fuel Vapor Venting (31) Total Organic Gases (86)
- RunningLoss Fuel Vapor Venting (32) Total Organic Gases (86)
- Running Exhaust (1) Volatile Organic Compounds (87)
- Crankcase Running Exhaust (15) Volatile Organic Compounds (87)
- Refueling Displacement Vapor Loss (18) Volatile Organic Compounds (87)
- Refueling Spillage Loss (19) Volatile Organic Compounds (87)
- Evap Tank Permeation (20) Volatile Organic Compounds (87)
- Evap Hose Permeation (21) Volatile Organic Compounds (87)
- Diurnal Fuel Vapor Venting (30) Volatile Organic Compounds (87)
- HotSoak Fuel Vapor Venting (31) Volatile Organic Compounds (87)
- RunningLoss Fuel Vapor Venting (32) Volatile Organic Compounds (87)
The Nonroad HC Speciation Calculator input comes from:
The Nonroad HC Speciation Calculator output is used by:
Nonroad HC Speciation Calculator uses the following tables:
Nonroad HC Speciation Calculator is expressed in these source code files:
- /calc/go/src/nrhcspeciation/nrhcspeciation.go
- /database/NRHCSpeciationCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/NRHCSpeciationCalculator.java
Steps
The Nonroad HC Speciation Calculator algorithm is as follows.
Step: methane (5) = THC * CH4THCRatio
Inputs: nrMethaneTHCRatio
Step: NMHC (79) = THC * (1-CH4THCRatio)
Inputs: nrMethaneTHCRatio
Step: NMOG (80) = NMHC*speciationConstant.
Inputs: nrHCSpeciation, nrHPCategory
Step: VOC (87) = NMHC*speciationConstant.
Inputs: nrHCSpeciation, nrHPCategory
Step: TOG (86) = NMOG (80) + Methane (5)
PM10 Brake Tire Calculator
PM10 Brake Tire Calculator is a CHAINED CALCULATOR.
The PM10 Brake Tire Calculator is responsible for:
- Brakewear (9) Primary PM10 - Brakewear Particulate (106)
- Tirewear (10) Primary PM10 - Tirewear Particulate (107)
The PM10 Brake Tire Calculator input comes from:
PM10 Brake Tire Calculator uses the following tables:
PM10 Brake Tire Calculator is expressed in these source code files:
- /database/PM10BrakeTireCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/PM10BrakeTireCalculator.java
Steps
The PM10 Brake Tire Calculator algorithm is as follows.
Step: PM10 Brakewear (106) = PM2.5 Brakewear (116) * PM10PM25Ratio. PM10 Tirewear (107) = PM2.5 Tirewear (117) * PM10PM25Ratio.
Inputs: movesworkeroutput, pm10emissionratio, pm10pollutantprocessassoc
Outputs: pm10braketiremovesworkeroutputtemp
PM10 Emission Calculator
PM10 Emission Calculator is a CHAINED CALCULATOR.
The PM10 Emission Calculator is responsible for:
- Running Exhaust (1) Primary Exhaust PM10 - Total (100)
- Start Exhaust (2) Primary Exhaust PM10 - Total (100)
- Extended Idle Exhaust (90) Primary Exhaust PM10 - Total (100)
- Auxiliary Power Exhaust (91) Primary Exhaust PM10 - Total (100)
- Crankcase Running Exhaust (15) Primary Exhaust PM10 - Total (100)
- Crankcase Start Exhaust (16) Primary Exhaust PM10 - Total (100)
- Crankcase Extended Idle Exhaust (17) Primary Exhaust PM10 - Total (100)
The PM10 Emission Calculator input comes from:
PM10 Emission Calculator uses the following tables:
PM10 Emission Calculator is expressed in these source code files:
- /database/PM10EmissionCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/PM10EmissionCalculator.java
Steps
The PM10 Emission Calculator algorithm is as follows.
Step: PM10 Total = PM2.5 Total * PM10PM25Ratio.
Inputs: movesworkeroutput, pm10emissionratio, pm10pollutantprocessassoc
Outputs: pm10movesworkeroutputtemp
Rates Operating Mode Distribution Generator
Rates Operating Mode Distribution Generator is a GENERATOR that executes at the YEAR level.
Rates Operating Mode Distribution Generator uses the following tables:
- AvgSpeedBin
- DriveSchedule
- DriveScheduleAssoc
- DriveScheduleSecond
- hotellingActivityDistribution
- OMDGPolProcessRepresented
- OperatingMode
- OpModePolProcAssoc
- PollutantProcessAssoc
- RoadOpmodeDistribution
- RoadType
- SourceTypePolProcess
Rates Operating Mode Distribution Generator populates the following tables:
Rates Operating Mode Distribution Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/RatesOperatingModeDistributionGenerator.java
Steps
The Rates Operating Mode Distribution Generator algorithm is as follows.
Step: Setup for Model Year Physics effects.
Step: Remove DriveScheduleAssoc records with isRamp='Y' but associated with RoadTypes with rampFraction <= 0 since these are nonsensical conditions.
Conditions: Non-Project domain
Inputs: roadType
Outputs: driveScheduleAssoc
Step: Speed bins with values below and above the lowest and highest drive schedule values are bound to those values. scheduleBoundLo = min(averageSpeed). scheduleBoundHi = max(averageSpeed).
Inputs: DriveSchedule, DriveScheduleAssoc, RunSpecRoadType, RunSpecSourceType
Outputs: DriveScheduleBounds
Step: loScheduleSpeed = max(averageSpeed). isOutOfBounds = 0.
Conditions: Non-ramps, Drive schedules with averageSpeed <= avgBinSpeed
Inputs: AvgSpeedBin, DriveSchedule, DriveScheduleAssoc, RunSpecRoadType, RunSpecSourceType
Outputs: BracketScheduleLo2
Step: loScheduleSpeed = scheduleBoundLo. isOutOfBounds = 1.
Conditions: Non-ramps, avgBinSpeed < scheduleBoundLo.
Inputs: AvgSpeedBin, DriveSchedule, DriveScheduleAssoc, DriveScheduleBounds, RunSpecRoadType, RunSpecSourceType
Outputs: BracketScheduleLo2
Step: Find the drive cycle with an averageSpeed = loScheduleSpeed.
Inputs: BracketScheduleLo2, DriveSchedule, DriveScheduleAssoc
Outputs: BracketScheduleLo
Step: hiScheduleSpeed = min(averageSpeed). isOutOfBounds = 0.
Conditions: Non-ramps, Drive schedules with averageSpeed > avgBinSpeed
Inputs: AvgSpeedBin, DriveSchedule, DriveScheduleAssoc, RunSpecRoadType, RunSpecSourceType
Outputs: BracketScheduleHi2
Step: hiScheduleSpeed = scheduleBoundHi. isOutOfBounds = 1.
Conditions: Non-ramps, avgBinSpeed > scheduleBoundHi.
Inputs: AvgSpeedBin, DriveSchedule, DriveScheduleAssoc, DriveScheduleBounds, RunSpecRoadType, RunSpecSourceType
Outputs: BracketScheduleHi2
Step: Find the drive cycle with an averageSpeed = hiScheduleSpeed.
Inputs: BracketScheduleHi2, DriveSchedule, DriveScheduleAssoc
Outputs: BracketScheduleHi
Step: loScheduleFraction=(hiScheduleSpeed - avgBinSpeed) / (hiScheduleSpeed - loScheduleSpeed).
Conditions: hiScheduleSpeed <> loScheduleSpeed
Inputs: AvgSpeedBin, BracketScheduleHi, BracketScheduleLo
Outputs: LoScheduleFraction
Step: loScheduleFraction=1.
Conditions: hiScheduleSpeed = loScheduleSpeed
Inputs: BracketScheduleHi, BracketScheduleLo
Outputs: LoScheduleFraction
Step: hiScheduleFraction = 1-loScheduleFraction.
Inputs: BracketScheduleHi, loScheduleFraction
Outputs: HiScheduleFraction
Step: Verify each road and source type combination has at least one associated non-ramp drive schedule. Issue an error message for any combination that does not have one.
Inputs: DriveScheduleAssoc, RunSpecRoadType
Step: rampFractionTerm = 1 - rampFraction, when conditions are met, 1 otherwise.
Conditions: Combining ramps with real road types
Inputs: RoadType
Step: driveScheduleFraction=sum(loScheduleFraction).
Inputs: BracketScheduleLo, LoScheduleFraction
Outputs: DriveScheduleFractionLo
Step: driveScheduleFraction=sum(hiScheduleFraction).
Inputs: BracketScheduleHi, HiScheduleFraction
Outputs: DriveScheduleFractionHi
Step: driveScheduleFraction = rampFractionTerm * (DriveScheduleFractionLo.driveScheduleFraction + DriveScheduleFractionHi.driveScheduleFraction).
Inputs: BracketScheduleHi, DriveScheduleAssoc, DriveScheduleFractionHi, DriveScheduleFractionLo, RoadType
Outputs: DriveScheduleFraction
Step: Get unique combinations of sourceTypeID and driveScheduleID. Only these combinations require VSP and operating mode computations.
Conditions: driveScheduleFraction <> 0
Inputs: DriveScheduleFraction
Outputs: SourceTypeDriveSchedule
Step: Find the first recorded second in each drive schedule. second=min(second).
Inputs: DriveScheduleSecond
Outputs: DriveScheduleFirstSecond
Step: Calculate speed and acceleration during the first second. The acceleration of the 1st second = the acceleration of the 2nd second. speed[t] = speed[t] * 0.44704. acceleration[t] = (speed[t+1]-speed[t]) * 0.44704.
Inputs: DriveScheduleFirstSecond, DriveScheduleSecond at time t, DriveScheduleSecond at time t+1
Outputs: DriveScheduleSecond2
Step: Calculate speed and acceleration during the remaining seconds. speed[t] = speed[t] * 0.44704. acceleration[t] = (speed[t]-speed[t-1]) * 0.44704.
Inputs: DriveScheduleSecond at time t, DriveScheduleSecond at time t-1
Outputs: DriveScheduleSecond2
Step: Calculate VSP for each second of each drive schedule, using sourceTypeID-specific terms. VSP=(rollingTermA * speed + sut.rotatingTermB * POW(dss2.speed,2) + dragTermC * POW(speed,3) + sourceMass * speed * acceleration) / fixedMassFactor.
Inputs: DriveScheduleSecond2, SourceTypeDriveSchedule, sourceUseTypePhysicsMapping
Outputs: VSP
Step: Get the acceleration of every second beyond the first. acceleration[t] = speed[t] - speed[t-1].
Inputs: DriveScheduleSecond for time t, DriveScheduleSecond for time t-1
Outputs: DriveScheduleSecond3
Step: Get the acceleration of the first second. Use INSERT IGNORE so only the 1st second entries will be altered. All other seconds already exist and will be ignored. acceleration[t] = speed[t+1] - speed[t].
Inputs: DriveScheduleSecond for time t, DriveScheduleSecond for time t+1
Outputs: DriveScheduleSecond3
Step: Get the distinct polProcessIDs that require operating modes.
Inputs: OpModePolProcAssoc
Outputs: OMDGPollutantProcess
Step: Remove anything from OMDGPollutantProcess that has a representing pollutant/process. Only its representing item should be calculated.
Inputs: OMDGPolProcessRepresented
Outputs: OMDGPollutantProcess
Step: Get the set of polProcessID and opModeID combinations that must be calculated.
Inputs: OMDGPollutantProcess, OpModePolProcAssoc
Outputs: OpModePolProcAssocTrimmed
Step: Associate each second of each drive schedule with a polProcessID. Obtain the speed, acceleration, and VSP at each point. This facilitates easy opModeID assignment.
Inputs: DriveScheduleSecond3, OMDGPollutantProcess, VSP
Outputs: OpModeIDBySecond
Step: Find braking events, copying information from time t that meet braking conditions and setting opModeID=0.
Conditions: acceleration[t] <= -2 or (acceleration[t] < -1 and acceleration[t-1] < -1 and acceleration[t-2] < -1)
Inputs: OpModeIDBySecond for time t, OpModeIDBySecond for time t-1, OpModeIDBySecond for time t-2
Outputs: OpModeIDBySecond_Temp
Step: Copy braking events back into OpModeIDBySecond.
Inputs: OpModeIDBySecond_Temp
Outputs: OpModeIDBySecond
Step: opModeID=0, braking.
Conditions: Any second in which the acceleration <= -2.
Outputs: OpModeIDBySecond
Step: Assign an opModeID to each second based upon operating mode VSP and speed information.
Conditions: 1 < opModeID < 100, opModeID not previously assigned
Inputs: OperatingMode, OpModePolProcAssocTrimmed
Outputs: OpModeIDBySecond
Step: Assign the Idle operating mode to speed=0. OpModeID=IF(speed=0 and polProcessID=11609,501,if(speed<1.0,1,opModeID)).
Outputs: OpModeIDBySecond
Step: secondSum=count(seconds in each drive schedule).
Inputs: OpModeIDBySecond
Outputs: OpModeFractionBySchedule2
Step: modeFraction = count(seconds in each opModeID)/secondSum.
Inputs: OpModeFractionBySchedule2, OpModeIDBySecond
Outputs: OpModeFractionBySchedule
Step: Add ramp data. opModeFraction = opModeFraction * rampFraction.
Conditions: Not separating ramps, Not polProcessID 11710, 0 < rampFraction < 1
Inputs: OpModePolProcAssocTrimmed, roadOpModeDistribution, roadType
Outputs: OpModeFraction2a
Step: Add data from roads that are 100% ramps. opModeFraction = opModeFraction * rampFraction.
Conditions: Separating ramps, Not polProcessID 11710, rampFraction = 1
Inputs: OpModePolProcAssocTrimmed, roadOpModeDistribution, roadType
Outputs: OpModeFraction2a
Step: Add non-ramp-based information. opModeFraction = sum(modeFraction * driveScheduleFraction).
Conditions: Separating ramps, Not polProcessID 11710
Inputs: DriveScheduleFraction, OpModeFractionBySchedule, OpModePolProcAssocTrimmed
Outputs: OpModeFraction2a
Step: Aggregate ramp and non-ramp data. opModeFraction = sum(opModeFraction).
Inputs: OpModeFraction2a
Outputs: OpModeFraction2
Step: Add all running operating mode 300. opModeFraction[opModeID=300]=1.
Inputs: OpModeFraction2a
Outputs: OpModeFraction2
Step: opModeFraction=1.
Conditions: Extended Idle, sourceTypeID=62 only
Inputs: opModePolProcessAssoc, pollutantProcessAssoc, runSpecHourDay, sourceTypePolProcess
Outputs: RatesOpModeDistribution
Step: Add data for all extended idling (opModeID 200). opModeFraction[opModeID=200]=1.
Conditions: Extended Idle, sourceTypeID=62 only, opModeFraction[opModeID=200] not already specified
Inputs: opModePolProcessAssoc, pollutantProcessAssoc, runSpecHourDay, sourceTypePolProcess
Outputs: RatesOpModeDistribution
Step: opModeFraction=1.
Conditions: Auxiliary Power Exhaust, sourceTypeID=62 only, Not opModeID 200 (Extended Idle)
Inputs: opModePolProcessAssoc, pollutantProcessAssoc, runSpecHourDay, sourceTypePolProcess
Outputs: RatesOpModeDistribution
Step: Add data for all hotelling except extended idling (opModeID 200). opModeFraction=1.
Conditions: Auxiliary Power Exhaust, sourceTypeID=62 only, Not opModeID 200 (Extended Idle)
Inputs: hotellingActivityDistribution, pollutantProcessAssoc, runSpecHourDay, runSpecSourceType
Outputs: RatesOpModeDistribution
Step: Find [sourceTypeID, roadTypeID, avgSpeedBinID, polProcessID] combinations that already exist within RatesOpModeDistribution.
Conditions: Non-Project domain Running Exhaust
Inputs: PollutantProcessAssoc, RatesOpModeDistribution
Outputs: OMDGOMDKeys
Step: Add to RatesOpModeDistribution those entries that don't already have records. Add records that do not appear within OMDGOMDKeys.
Conditions: Non-Project domain Running Exhaust
Inputs: OMDGOMDKeys, OpModeFraction2, runSpecHourDay
Outputs: RatesOpModeDistribution
Step: Clear all entries from OMDGOMDKeys.
Conditions: Non-Project domain Running Exhaust
Outputs: OMDGOMDKeys
Step: Find [sourceTypeID, roadTypeID, avgSpeedBinID, polProcessID] combinations that already exist within RatesOpModeDistribution.
Conditions: Non-Project domain Running Exhaust
Inputs: PollutantProcessAssoc, RatesOpModeDistribution
Outputs: OMDGOMDKeys
Step: Copy representing entries to those being represented, but only if those being represented are not already present. Add to RatesOpModeDistribution those entries that don't already have records. Add records that do not appear within OMDGOMDKeys.
Conditions: Non-Project domain Running Exhaust
Inputs: OMDGOMDKeys, OpModeFraction2, runSpecHourDay
Outputs: RatesOpModeDistribution
Step: Update emission rate tables for Model Year Physics effects. In Project domain, only Extended Idle and APU are used in this generator. Since neither is affected by aerodynamics, only do this for Non-Project domain.
Conditions: Non-Project domain
Refueling Loss Calculator
Refueling Loss Calculator is a CHAINED CALCULATOR.
The Refueling Loss Calculator is responsible for:
- Refueling Displacement Vapor Loss (18) Total Gaseous Hydrocarbons (1)
- Refueling Spillage Loss (19) Total Gaseous Hydrocarbons (1)
The Refueling Loss Calculator input comes from:
The Refueling Loss Calculator output is used by:
Refueling Loss Calculator uses the following tables:
- CountyYear
- FuelFormulation
- FuelSubtype
- FuelSupply
- FuelType
- MonthofAnyYear
- Pollutant
- RefuelingFactors
- SourceTypeTechAdjustment
- Year
- ZoneMonthHour
Refueling Loss Calculator is expressed in these source code files:
- /database/RefuelingLossCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/RefuelingLossCalculator.java
Steps
The Refueling Loss Calculator algorithm is as follows.
Step: energyContent = sum(marketShare * energyContent) across all the fuel supply.
Inputs: fuelformulation, fuelsubtype, fuelsupply, fueltype, monthofanyyear, runspecmonth, year
Outputs: refuelingfueltype
Step: Determine the refueling temperatures
Outputs: refuelingtemp
Step: refuelingTemperature = temperature subject to lower bound of vaporLowLimit and upper bound of vaporHighLimit.
Inputs: refuelingfactors, refuelingzonemonthhour
Outputs: refuelingtemp
Step: tankTemperatureDif = ((vaporTermE*refuelingTemperature) + vaporTermF) subject to lower bound of 0 and upper bound of tankDiffLimit.
Outputs: refuelingfactors, refuelingtemp
Step: Determine the unadjusted refueling displacement vapor loss rate
Outputs: refuelingaveragervp
Step: averageRVP = sum(RVP * marketShare) across fuel formulations.
Inputs: refuelingfuelformulation, refuelingfuelsubtype, refuelingfuelsupply, refuelingmonthofanyyear
Outputs: refuelingaveragervp
Step: Provide default averageRVP of 0.
Inputs: refuelingfactors, refuelingmonthofanyyear
Outputs: refuelingaveragervp
Step: displacedVaporRate = exp(vaporTermA + vaporTermB * tankTemperatureDif + vaporTermC * refuelingTemperature + vaporTermD * averageRVP)
Outputs: refuelingaveragervp, refuelingfactors, refuelingtemp
Step: Limit displacedVaporRate to no less than minimumRefuelingVaporLoss.
Outputs: refuelingfactors, refuelingtemp
Step: Technology and Program adjustment of the refueling displacement vapor loss rate. adjustedVaporRate = (1.0-refuelingVaporProgramAdjust)*((1.0-refuelingTechAdjustment)*displacedVaporRate).
Conditions: Refueling Displacement Vapor Loss (18).
Inputs: refuelingcountyyear, refuelingtemp, sourcetypetechadjustment
Outputs: refuelingdisplacement
Step: Technology and Program adjustment of the refueling spillage rate. adjustedSpillRate = (1.0-refuelingSpillProgramAdjust)*((1.0-refuelingTechAdjustment)*refuelingSpillRate).
Conditions: Refueling Spillage Loss (19).
Inputs: refuelingcountyyear, refuelingfactors, sourcetypetechadjustment
Outputs: refuelingspillage
Step: emissions = (adjustedVaporRate * Total Energy Consumption (91)) / (energyContent * fuelDensity).
Conditions: Refueling Displacement Vapor Loss (18).
Inputs: movesworkeroutput, refuelingdisplacement, refuelingfueltype
Outputs: refuelingworkeroutputtemp
Step: emissions = (adjustedSpillRate * Total Energy Consumption (91)) / (energyContent * fuelDensity).
Conditions: Refueling Spillage Loss (19).
Inputs: movesworkeroutput, refuelingfueltype, refuelingspillage
Outputs: refuelingworkeroutputtemp
SO2 Calculator
SO2 Calculator is a CHAINED CALCULATOR.
The SO2 Calculator is responsible for:
- Running Exhaust (1) Sulfur Dioxide (SO2) (31)
- Start Exhaust (2) Sulfur Dioxide (SO2) (31)
- Extended Idle Exhaust (90) Sulfur Dioxide (SO2) (31)
- Auxiliary Power Exhaust (91) Sulfur Dioxide (SO2) (31)
The SO2 Calculator input comes from:
The SO2 Calculator output is used by:
SO2 Calculator uses the following tables:
- County
- FuelFormulation
- FuelSubtype
- FuelSupply
- FuelType
- generalFuelRatio
- MonthofAnyYear
- PollutantProcessAssoc
- SulfateEmissionRate
- Year
SO2 Calculator is expressed in these source code files:
- /database/SO2Calculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/SO2Calculator.java
Steps
The SO2 Calculator algorithm is as follows.
Step: energyContent = sum(marketShare * energyContent) across the fuel supply. WsulfurLevel = sum(marketShare * sulfurLevel) across the fuel supply.
Inputs: so2copyoffuelformulation, so2copyoffuelsubtype, so2copyoffuelsupply, so2copyoffueltype, so2copyofyear
Outputs: so2fuelcalculation1
Step: SO2 (31) = (meanBaseRate * WsulfurLevel * Total Energy Consumption (91)) / energyContent.
Inputs: movesworkeroutput, so2copyofmonthofanyyear, so2fuelcalculation1, so2fuelcalculation2
Outputs: so2movesoutputtemp1
Step: Apply general fuel effects. emissionQuant = emissionQuant * fuelEffectRatio.
Outputs: so2movesoutputtemp1, so2pmonecountyyeargeneralfuelratio
SourceBin Distribution Generator
SourceBin Distribution Generator is a GENERATOR that executes at the YEAR level.
SourceBin Distribution Generator uses the following tables:
- AgeCategory
- fuelUsageFraction
- ModelYearGroup
- PollutantProcessAssoc
- PollutantProcessModelYear
- sampleVehiclePopulation
- SourceBin
- SourceBinDistribution
- SourceTypeModelYear
- SourceTypePolProcess
SourceBin Distribution Generator populates the following tables:
SourceBin Distribution Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/SourceBinDistributionGenerator.java
Steps
The SourceBin Distribution Generator algorithm is as follows.
Step: Determine the set of SourceTypes which should be blocked because they already have output data for the current polProcessID.
Inputs: current polProcessID, SourceBinDistribution, SourceTypeModelYear
Outputs: BlockSourceType
Step: Determine the set of SourceTypes which should be used, namely those that exist in SourceTypePolProcess for the current polProcessID and which are not listed in BlockSourceType.
Inputs: BlockSourceType, current polProcessID, SourceTypePolProcess
Outputs: list of sourceTypeIDs
Step: Perform the following steps for each source type is the list of sourceTypeIDs and for the current polProcessID.
Inputs: current polProcessID, list of sourceTypeIDs
Step: Lookup isRegClassRequired and isMYGroupRequired.
Inputs: current polProcessID, current sourceTypeID, SourceTypePolProcess
Step: Aggregate sampleVehiclePopulation.stmyFraction based upon the need for regulatory class and model year group in the source bin. stmyFraction[sourceTypeModelYearID,fuelTypeID,engTechID,optionally regClassID,optionally shortModYrGroupID] = sum(SampleVehiclePopulation.stmyFraction).
Inputs: isMYGroupRequired, isRegClassRequired, modelYearGroup, pollutantProcessModelYear, sampleVehiclePopulation
Outputs: SBDGSVP
Step: Assign sourceBinID by combining other columns. sourceBinID= 1000000000000000000+ fuelTypeID*10000000000000000 + engTechID*100000000000000 + regClassID*1000000000000 + shortModYrGroupID*10000000000.
Outputs: SBDGSVP
Step: Find sourceBinIDs that do not already exist within SourceBin.
Inputs: SBDGSVP, SourceBin
Outputs: NewSourceBin2
Step: Add sourceBinIDs that did not previously exist within SourceBin.
Inputs: NewSourceBin2
Outputs: SourceBin
Step: sourceBinActivityFraction[sourceTypeModelYearID,sourceBinID] = sum(stmyFraction) of SampleVehiclePopulation records that have been aggregated according to sourcebin needs.
Inputs: SBDGSVP
Outputs: SourceBinDistribution
Step: Done iterating over the list of sourceTypeIDs for the current polProcessID.
Inputs: list of sourceTypeIDs
Step: equippedSourceBinID=sourceBin[fuelTypeID=sourceBinFuelTypeID]. usedSourceBinID=sourceBin[fuelTypeID=fuelSupplyFuelTypeID].
Inputs: fuelUsageFraction, sourceBin
Outputs: sourceBinFuelUsage
Step: Convert sourceBinDistribution from equipped fuels to used fuels basis. Use a new output table with a name that includes the process, county, and calendar year. sourceBinActivityFraction[sourceBinID=usedSourceBinID]=sum(usageFraction * sourceBinActivityFraction).
Inputs: pollutantProcessAssoc, sourceBinDistribution, sourceBinFuelUsage
Outputs: sourceBinDistributionFuelUsage_[processID]_[countyID]_[year]
Start Operating Mode Distribution Generator
Start Operating Mode Distribution Generator is a GENERATOR that executes at the PROCESS level.
Start Operating Mode Distribution Generator uses the following tables:
- HourDay
- OperatingMode
- OpModeDistribution
- OpModePolProcAssoc
- SampleVehicleDay
- SampleVehicleTrip
- SourceTypePolProcess
Start Operating Mode Distribution Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/StartOperatingModeDistributionGenerator.java
Steps
The Start Operating Mode Distribution Generator algorithm is as follows.
Step: Determine the soak time for each sample vehicle trip by subtracking the keyontime of the trip from the keyofftime of the previous trip. soakTime = keyOnTime[trip t] - keyOffTime[trip t-1].
Inputs: SampleVehicleTrip
Outputs: SoakTime
Step: Find the operating mode for each soaking vehicle.
Conditions: (minSoakTime <= soakTime OR (minSoakTime IS NULL AND maxSoakTime IS NOT NULL)) AND (maxSoakTime > soakTime OR (maxSoakTime IS NULL AND minSoakTime IS NOT NULL)).
Inputs: OperatingMode, SoakTime
Outputs: StartOpMode
Step: Find the number of vehicle starts per day. starts = count(keyOnTime).
Inputs: HourDay, RunSpecHourDay, SampleVehicleDay, SampleVehicleTrip, StartOpMode
Outputs: StartsPerVehicleDay
Step: Calculate the operating mode fraction. opModeFraction = count(opModeID)/starts.
Inputs: SampleVehicleDay, SampleVehicleTrip, StartOpMode, StartsPerVehicleDay
Outputs: StartOpModeDistribution
Step: Find the set of unique opModeID values within StartOpModeDistribution.
Inputs: StartOpModeDistribution
Outputs: SOMDGOpModes
Step: Find the set of operating mode distribution entries that already exist.
Inputs: opModeDistribution, SOMDGOpModes
Outputs: existingStartOMD
Step: Populate RatesOpModeDistribution.
Conditions: Project domain
Inputs: OpModeDistribution, opModePolProcAssoc, sourceTypePolProcess
Outputs: RatesOpModeDistribution
Step: Populate RatesOpModeDistribution.
Conditions: Non-Project domain
Inputs: opModePolProcAssoc, sourceTypePolProcess, StartOpModeDistribution
Outputs: RatesOpModeDistribution
Step: Add information for All Starts using operating mode 100 and polProcessID 602. opModeFraction[opModeID=100,polProcessID=602]=1.0.
Inputs: runSpecHourDay, runSpecSourceType
Outputs: RatesOpModeDistribution
Sulfate PM Calculator
Sulfate PM Calculator is a CALCULATOR that executes at the YEAR level.
The Sulfate PM Calculator is responsible for:
- Running Exhaust (1) Nitrate (NO3) (35)
- Start Exhaust (2) Nitrate (NO3) (35)
- Extended Idle Exhaust (90) Nitrate (NO3) (35)
- Auxiliary Power Exhaust (91) Nitrate (NO3) (35)
- Crankcase Running Exhaust (15) Nitrate (NO3) (35)
- Crankcase Start Exhaust (16) Nitrate (NO3) (35)
- Crankcase Extended Idle Exhaust (17) Nitrate (NO3) (35)
- Running Exhaust (1) Ammonium (NH4) (36)
- Start Exhaust (2) Ammonium (NH4) (36)
- Extended Idle Exhaust (90) Ammonium (NH4) (36)
- Auxiliary Power Exhaust (91) Ammonium (NH4) (36)
- Crankcase Running Exhaust (15) Ammonium (NH4) (36)
- Crankcase Start Exhaust (16) Ammonium (NH4) (36)
- Crankcase Extended Idle Exhaust (17) Ammonium (NH4) (36)
- Running Exhaust (1) Chloride (51)
- Start Exhaust (2) Chloride (51)
- Extended Idle Exhaust (90) Chloride (51)
- Auxiliary Power Exhaust (91) Chloride (51)
- Crankcase Running Exhaust (15) Chloride (51)
- Crankcase Start Exhaust (16) Chloride (51)
- Crankcase Extended Idle Exhaust (17) Chloride (51)
- Running Exhaust (1) Sodium (52)
- Start Exhaust (2) Sodium (52)
- Extended Idle Exhaust (90) Sodium (52)
- Auxiliary Power Exhaust (91) Sodium (52)
- Crankcase Running Exhaust (15) Sodium (52)
- Crankcase Start Exhaust (16) Sodium (52)
- Crankcase Extended Idle Exhaust (17) Sodium (52)
- Running Exhaust (1) Potassium (53)
- Start Exhaust (2) Potassium (53)
- Extended Idle Exhaust (90) Potassium (53)
- Auxiliary Power Exhaust (91) Potassium (53)
- Crankcase Running Exhaust (15) Potassium (53)
- Crankcase Start Exhaust (16) Potassium (53)
- Crankcase Extended Idle Exhaust (17) Potassium (53)
- Running Exhaust (1) Magnesium (54)
- Start Exhaust (2) Magnesium (54)
- Extended Idle Exhaust (90) Magnesium (54)
- Auxiliary Power Exhaust (91) Magnesium (54)
- Crankcase Running Exhaust (15) Magnesium (54)
- Crankcase Start Exhaust (16) Magnesium (54)
- Crankcase Extended Idle Exhaust (17) Magnesium (54)
- Running Exhaust (1) Calcium (55)
- Start Exhaust (2) Calcium (55)
- Extended Idle Exhaust (90) Calcium (55)
- Auxiliary Power Exhaust (91) Calcium (55)
- Crankcase Running Exhaust (15) Calcium (55)
- Crankcase Start Exhaust (16) Calcium (55)
- Crankcase Extended Idle Exhaust (17) Calcium (55)
- Running Exhaust (1) Titanium (56)
- Start Exhaust (2) Titanium (56)
- Extended Idle Exhaust (90) Titanium (56)
- Auxiliary Power Exhaust (91) Titanium (56)
- Crankcase Running Exhaust (15) Titanium (56)
- Crankcase Start Exhaust (16) Titanium (56)
- Crankcase Extended Idle Exhaust (17) Titanium (56)
- Running Exhaust (1) Silicon (57)
- Start Exhaust (2) Silicon (57)
- Extended Idle Exhaust (90) Silicon (57)
- Auxiliary Power Exhaust (91) Silicon (57)
- Crankcase Running Exhaust (15) Silicon (57)
- Crankcase Start Exhaust (16) Silicon (57)
- Crankcase Extended Idle Exhaust (17) Silicon (57)
- Running Exhaust (1) Aluminum (58)
- Start Exhaust (2) Aluminum (58)
- Extended Idle Exhaust (90) Aluminum (58)
- Auxiliary Power Exhaust (91) Aluminum (58)
- Crankcase Running Exhaust (15) Aluminum (58)
- Crankcase Start Exhaust (16) Aluminum (58)
- Crankcase Extended Idle Exhaust (17) Aluminum (58)
- Running Exhaust (1) Iron (59)
- Start Exhaust (2) Iron (59)
- Extended Idle Exhaust (90) Iron (59)
- Auxiliary Power Exhaust (91) Iron (59)
- Crankcase Running Exhaust (15) Iron (59)
- Crankcase Start Exhaust (16) Iron (59)
- Crankcase Extended Idle Exhaust (17) Iron (59)
- Running Exhaust (1) Primary Exhaust PM2.5 - Total (110)
- Start Exhaust (2) Primary Exhaust PM2.5 - Total (110)
- Extended Idle Exhaust (90) Primary Exhaust PM2.5 - Total (110)
- Auxiliary Power Exhaust (91) Primary Exhaust PM2.5 - Total (110)
- Crankcase Running Exhaust (15) Primary Exhaust PM2.5 - Total (110)
- Crankcase Start Exhaust (16) Primary Exhaust PM2.5 - Total (110)
- Crankcase Extended Idle Exhaust (17) Primary Exhaust PM2.5 - Total (110)
- Running Exhaust (1) Organic Carbon (111)
- Start Exhaust (2) Organic Carbon (111)
- Extended Idle Exhaust (90) Organic Carbon (111)
- Auxiliary Power Exhaust (91) Organic Carbon (111)
- Crankcase Running Exhaust (15) Organic Carbon (111)
- Crankcase Start Exhaust (16) Organic Carbon (111)
- Crankcase Extended Idle Exhaust (17) Organic Carbon (111)
- Running Exhaust (1) Elemental Carbon (112)
- Start Exhaust (2) Elemental Carbon (112)
- Extended Idle Exhaust (90) Elemental Carbon (112)
- Auxiliary Power Exhaust (91) Elemental Carbon (112)
- Crankcase Running Exhaust (15) Elemental Carbon (112)
- Crankcase Start Exhaust (16) Elemental Carbon (112)
- Crankcase Extended Idle Exhaust (17) Elemental Carbon (112)
- Running Exhaust (1) Sulfate Particulate (115)
- Start Exhaust (2) Sulfate Particulate (115)
- Extended Idle Exhaust (90) Sulfate Particulate (115)
- Auxiliary Power Exhaust (91) Sulfate Particulate (115)
- Crankcase Running Exhaust (15) Sulfate Particulate (115)
- Crankcase Start Exhaust (16) Sulfate Particulate (115)
- Crankcase Extended Idle Exhaust (17) Sulfate Particulate (115)
- Running Exhaust (1) Composite - NonECPM (118)
- Start Exhaust (2) Composite - NonECPM (118)
- Extended Idle Exhaust (90) Composite - NonECPM (118)
- Auxiliary Power Exhaust (91) Composite - NonECPM (118)
- Crankcase Running Exhaust (15) Composite - NonECPM (118)
- Crankcase Start Exhaust (16) Composite - NonECPM (118)
- Crankcase Extended Idle Exhaust (17) Composite - NonECPM (118)
- Running Exhaust (1) H2O (aerosol) (119)
- Start Exhaust (2) H2O (aerosol) (119)
- Extended Idle Exhaust (90) H2O (aerosol) (119)
- Auxiliary Power Exhaust (91) H2O (aerosol) (119)
- Crankcase Running Exhaust (15) H2O (aerosol) (119)
- Crankcase Start Exhaust (16) H2O (aerosol) (119)
- Crankcase Extended Idle Exhaust (17) H2O (aerosol) (119)
- Running Exhaust (1) CMAQ5.0 Unspeciated (PMOTHR) (121)
- Start Exhaust (2) CMAQ5.0 Unspeciated (PMOTHR) (121)
- Extended Idle Exhaust (90) CMAQ5.0 Unspeciated (PMOTHR) (121)
- Auxiliary Power Exhaust (91) CMAQ5.0 Unspeciated (PMOTHR) (121)
- Crankcase Running Exhaust (15) CMAQ5.0 Unspeciated (PMOTHR) (121)
- Crankcase Start Exhaust (16) CMAQ5.0 Unspeciated (PMOTHR) (121)
- Crankcase Extended Idle Exhaust (17) CMAQ5.0 Unspeciated (PMOTHR) (121)
- Running Exhaust (1) Non-carbon Organic Matter (NCOM) (122)
- Start Exhaust (2) Non-carbon Organic Matter (NCOM) (122)
- Extended Idle Exhaust (90) Non-carbon Organic Matter (NCOM) (122)
- Auxiliary Power Exhaust (91) Non-carbon Organic Matter (NCOM) (122)
- Crankcase Running Exhaust (15) Non-carbon Organic Matter (NCOM) (122)
- Crankcase Start Exhaust (16) Non-carbon Organic Matter (NCOM) (122)
- Crankcase Extended Idle Exhaust (17) Non-carbon Organic Matter (NCOM) (122)
The Sulfate PM Calculator input comes from:
The Sulfate PM Calculator output is used by:
Sulfate PM Calculator uses the following tables:
- County
- CrankcaseEmissionRatio
- EmissionProcess
- FuelFormulation
- FuelSubtype
- FuelSupply
- generalFuelRatio
- MonthofAnyYear
- PMSpeciation
- SulfateFractions
- temperatureFactorExpression
- Year
- ZoneMonthHour
Sulfate PM Calculator is expressed in these source code files:
- /database/SulfatePMCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/SulfatePMCalculator.java
Steps
The Sulfate PM Calculator algorithm is as follows.
Step: Get fuel effects for NonECNonSO4PM (120).
Inputs: county, fuelsupply, generalfuelratio, monthofanyyear, runspecmodelyearage, runspecmonthgroup, runspecsourcefueltype, year
Outputs: spmonecountyyeargeneralfuelratio
Step: Calculate adjusted SulfateNonECPMFraction and H2ONonECPMFraction using the sulfurLevel of available fuel formulations. Weight each adjusted fraction by formulation market share.
Inputs: county, fuelformulation, fuelsubtype, fuelsupply, monthofanyyear, runspecmodelyearage, runspecmonthgroup, runspecsourcefueltype, sulfatefractions, year
Outputs: onecountyyearsulfatefractions
Step: Collect speciation data.
Outputs: pmspeciation
Step: Create temperature effects for Sulfate (115), H2O (aersol) (119), and NonECNonSO4PM (120).
Inputs: temperaturefactorexpression, zonemonthhour
Outputs: onezoneyeartemperaturefactor
Step: Create crankcase split fractions for EC (112), Sulfate (115), H2O (aersol) (119), and NonECNonSO4PM (120). The query must account for the lack of NonECNonSO4PM in the Pollutant table.
Inputs: crankcaseemissionratio, emissionprocess
Outputs: crankcasesplit
Step: Copy unadjusted EC (112) so it can be adjusted.
Inputs: movesworkeroutput
Outputs: spmoutput
Step: Remove unadjusted EC. The adjusted EC will be added later.
Outputs: from
Step: Specify the split to make sulfate (115) from NonECPM (118). Sulfate = NonECPM * SulfateNonECPMFraction.
Inputs: onecountyyearsulfatefractions
Outputs: spmsplit1
Step: Specify the split to make H2O (aerosol) (119) from NonECPM (118). H2O = NonECPM * H2ONonECPMFraction.
Inputs: onecountyyearsulfatefractions
Outputs: spmsplit1
Step: Specify the split to make NonECNonSO4PM (120) from NonECPM (118). NonECNonSO4PM = NonECPM * (1 - UnadjustedH2ONonECPMFraction - UnadjustedSulfateNonECPMFraction).
Inputs: onecountyyearsulfatefractions
Outputs: spmsplit1
Step: Apply the splits, making Sulfate (115), H2O (aerosol) (119), and NonECNonSO4PM (120) from NonECPM (118).
Inputs: movesworkeroutput, spmsplit1
Outputs: spmoutput
Step: Apply fuel effects. Only NonECNonSO4PM (120) is affected.
Outputs: spmonecountyyeargeneralfuelratio, spmoutput
Step: Apply temperature effects to Sulfate, H2O (aersol), and NonECNonSO4PM.
Outputs: onezoneyeartemperaturefactor, spmoutput
Step: Split EC, Sulfate, H2O (aersol), and NonECNonSO4PM by crankcase effects.
Inputs: crankcasesplit, spmoutput
Outputs: spmoutput2
Step: Sum EC, NonECNonSO4PM, Sulfate, and H2O (aerosol) to make Total PM 2.5 (110)
Inputs: spmoutput2
Outputs: movesworkeroutput
Step: Copy EC, Sulfate, H2O to the output.
Inputs: spmoutput2
Outputs: movesworkeroutput
Step: Remove unadjusted NonECPM (118).
Outputs: from
Step: Sum the adjusted NonECNonSO4PM, Sulfate, and H2O (aerosol) to make the adjusted NonECPM (118).
Inputs: spmoutput2
Outputs: movesworkeroutput
Step: Speciate the remaining pollutants. species output = pmSpeciationFraction * species input
Inputs: pmspeciation, spmoutput2
Outputs: movesworkeroutput
TOG Speciation Calculator
TOG Speciation Calculator is a that executes at the level.
The TOG Speciation Calculator is responsible for:
- Running Exhaust (1) CB05 Mechanism (1000)
- Running Exhaust (1) NonHAPTOG (88)
- Running Exhaust (1) CB05_ALD2 (1001)
- Running Exhaust (1) CB05_ALDX (1002)
- Running Exhaust (1) CB05_ETH (1005)
- Running Exhaust (1) CB05_ETHA (1006)
- Running Exhaust (1) CB05_FORM (1008)
- Running Exhaust (1) CB05_IOLE (1009)
- Running Exhaust (1) CB05_OLE (1012)
- Running Exhaust (1) CB05_PAR (1013)
- Running Exhaust (1) CB05_TOL (1015)
- Running Exhaust (1) CB05_UNR (1017)
- Running Exhaust (1) CB05_XYL (1018)
- Running Exhaust (1) CB05_ISOP (1010)
- Running Exhaust (1) CB05_MEOH (1011)
- Running Exhaust (1) CB05_TERP (1014)
- Running Exhaust (1) CB05_UNK (1016)
- Start Exhaust (2) CB05 Mechanism (1000)
- Start Exhaust (2) NonHAPTOG (88)
- Start Exhaust (2) CB05_ALD2 (1001)
- Start Exhaust (2) CB05_ALDX (1002)
- Start Exhaust (2) CB05_ETH (1005)
- Start Exhaust (2) CB05_ETHA (1006)
- Start Exhaust (2) CB05_FORM (1008)
- Start Exhaust (2) CB05_IOLE (1009)
- Start Exhaust (2) CB05_OLE (1012)
- Start Exhaust (2) CB05_PAR (1013)
- Start Exhaust (2) CB05_TOL (1015)
- Start Exhaust (2) CB05_UNR (1017)
- Start Exhaust (2) CB05_XYL (1018)
- Start Exhaust (2) CB05_ISOP (1010)
- Start Exhaust (2) CB05_MEOH (1011)
- Start Exhaust (2) CB05_TERP (1014)
- Start Exhaust (2) CB05_UNK (1016)
- Evap Permeation (11) CB05 Mechanism (1000)
- Evap Permeation (11) NonHAPTOG (88)
- Evap Permeation (11) CB05_ALD2 (1001)
- Evap Permeation (11) CB05_ALDX (1002)
- Evap Permeation (11) CB05_ETH (1005)
- Evap Permeation (11) CB05_FORM (1008)
- Evap Permeation (11) CB05_IOLE (1009)
- Evap Permeation (11) CB05_ISOP (1010)
- Evap Permeation (11) CB05_MEOH (1011)
- Evap Permeation (11) CB05_OLE (1012)
- Evap Permeation (11) CB05_PAR (1013)
- Evap Permeation (11) CB05_TERP (1014)
- Evap Permeation (11) CB05_TOL (1015)
- Evap Permeation (11) CB05_UNR (1017)
- Evap Permeation (11) CB05_XYL (1018)
- Evap Permeation (11) CB05_ETHA (1006)
- Evap Fuel Vapor Venting (12) CB05 Mechanism (1000)
- Evap Fuel Vapor Venting (12) NonHAPTOG (88)
- Evap Fuel Vapor Venting (12) CB05_ALD2 (1001)
- Evap Fuel Vapor Venting (12) CB05_ALDX (1002)
- Evap Fuel Vapor Venting (12) CB05_FORM (1008)
- Evap Fuel Vapor Venting (12) CB05_IOLE (1009)
- Evap Fuel Vapor Venting (12) CB05_ISOP (1010)
- Evap Fuel Vapor Venting (12) CB05_OLE (1012)
- Evap Fuel Vapor Venting (12) CB05_PAR (1013)
- Evap Fuel Vapor Venting (12) CB05_TOL (1015)
- Evap Fuel Vapor Venting (12) CB05_UNR (1017)
- Evap Fuel Vapor Venting (12) CB05_XYL (1018)
- Evap Fuel Vapor Venting (12) CB05_TERP (1014)
- Evap Fuel Leaks (13) CB05 Mechanism (1000)
- Evap Fuel Leaks (13) NonHAPTOG (88)
- Evap Fuel Leaks (13) CB05_ALD2 (1001)
- Evap Fuel Leaks (13) CB05_ALDX (1002)
- Evap Fuel Leaks (13) CB05_FORM (1008)
- Evap Fuel Leaks (13) CB05_IOLE (1009)
- Evap Fuel Leaks (13) CB05_ISOP (1010)
- Evap Fuel Leaks (13) CB05_OLE (1012)
- Evap Fuel Leaks (13) CB05_PAR (1013)
- Evap Fuel Leaks (13) CB05_TOL (1015)
- Evap Fuel Leaks (13) CB05_UNR (1017)
- Evap Fuel Leaks (13) CB05_XYL (1018)
- Evap Fuel Leaks (13) CB05_TERP (1014)
- Crankcase Running Exhaust (15) CB05 Mechanism (1000)
- Crankcase Running Exhaust (15) NonHAPTOG (88)
- Crankcase Running Exhaust (15) CB05_ALD2 (1001)
- Crankcase Running Exhaust (15) CB05_ALDX (1002)
- Crankcase Running Exhaust (15) CB05_ETH (1005)
- Crankcase Running Exhaust (15) CB05_ETHA (1006)
- Crankcase Running Exhaust (15) CB05_FORM (1008)
- Crankcase Running Exhaust (15) CB05_IOLE (1009)
- Crankcase Running Exhaust (15) CB05_OLE (1012)
- Crankcase Running Exhaust (15) CB05_PAR (1013)
- Crankcase Running Exhaust (15) CB05_TOL (1015)
- Crankcase Running Exhaust (15) CB05_UNR (1017)
- Crankcase Running Exhaust (15) CB05_XYL (1018)
- Crankcase Running Exhaust (15) CB05_ISOP (1010)
- Crankcase Running Exhaust (15) CB05_MEOH (1011)
- Crankcase Running Exhaust (15) CB05_TERP (1014)
- Crankcase Running Exhaust (15) CB05_UNK (1016)
- Crankcase Start Exhaust (16) CB05 Mechanism (1000)
- Crankcase Start Exhaust (16) NonHAPTOG (88)
- Crankcase Start Exhaust (16) CB05_ALD2 (1001)
- Crankcase Start Exhaust (16) CB05_ALDX (1002)
- Crankcase Start Exhaust (16) CB05_ETH (1005)
- Crankcase Start Exhaust (16) CB05_ETHA (1006)
- Crankcase Start Exhaust (16) CB05_FORM (1008)
- Crankcase Start Exhaust (16) CB05_IOLE (1009)
- Crankcase Start Exhaust (16) CB05_OLE (1012)
- Crankcase Start Exhaust (16) CB05_PAR (1013)
- Crankcase Start Exhaust (16) CB05_TOL (1015)
- Crankcase Start Exhaust (16) CB05_UNR (1017)
- Crankcase Start Exhaust (16) CB05_XYL (1018)
- Crankcase Start Exhaust (16) CB05_ISOP (1010)
- Crankcase Start Exhaust (16) CB05_MEOH (1011)
- Crankcase Start Exhaust (16) CB05_TERP (1014)
- Crankcase Start Exhaust (16) CB05_UNK (1016)
- Crankcase Extended Idle Exhaust (17) CB05 Mechanism (1000)
- Crankcase Extended Idle Exhaust (17) NonHAPTOG (88)
- Crankcase Extended Idle Exhaust (17) CB05_ALD2 (1001)
- Crankcase Extended Idle Exhaust (17) CB05_ALDX (1002)
- Crankcase Extended Idle Exhaust (17) CB05_ETH (1005)
- Crankcase Extended Idle Exhaust (17) CB05_ETHA (1006)
- Crankcase Extended Idle Exhaust (17) CB05_FORM (1008)
- Crankcase Extended Idle Exhaust (17) CB05_IOLE (1009)
- Crankcase Extended Idle Exhaust (17) CB05_ISOP (1010)
- Crankcase Extended Idle Exhaust (17) CB05_OLE (1012)
- Crankcase Extended Idle Exhaust (17) CB05_PAR (1013)
- Crankcase Extended Idle Exhaust (17) CB05_TERP (1014)
- Crankcase Extended Idle Exhaust (17) CB05_TOL (1015)
- Crankcase Extended Idle Exhaust (17) CB05_UNK (1016)
- Crankcase Extended Idle Exhaust (17) CB05_UNR (1017)
- Crankcase Extended Idle Exhaust (17) CB05_XYL (1018)
- Refueling Displacement Vapor Loss (18) CB05 Mechanism (1000)
- Refueling Displacement Vapor Loss (18) NonHAPTOG (88)
- Refueling Displacement Vapor Loss (18) CB05_ALD2 (1001)
- Refueling Displacement Vapor Loss (18) CB05_ALDX (1002)
- Refueling Displacement Vapor Loss (18) CB05_FORM (1008)
- Refueling Displacement Vapor Loss (18) CB05_IOLE (1009)
- Refueling Displacement Vapor Loss (18) CB05_ISOP (1010)
- Refueling Displacement Vapor Loss (18) CB05_OLE (1012)
- Refueling Displacement Vapor Loss (18) CB05_PAR (1013)
- Refueling Displacement Vapor Loss (18) CB05_TERP (1014)
- Refueling Displacement Vapor Loss (18) CB05_TOL (1015)
- Refueling Displacement Vapor Loss (18) CB05_UNR (1017)
- Refueling Displacement Vapor Loss (18) CB05_XYL (1018)
- Refueling Spillage Loss (19) CB05 Mechanism (1000)
- Refueling Spillage Loss (19) NonHAPTOG (88)
- Refueling Spillage Loss (19) CB05_ALD2 (1001)
- Refueling Spillage Loss (19) CB05_ALDX (1002)
- Refueling Spillage Loss (19) CB05_FORM (1008)
- Refueling Spillage Loss (19) CB05_IOLE (1009)
- Refueling Spillage Loss (19) CB05_ISOP (1010)
- Refueling Spillage Loss (19) CB05_OLE (1012)
- Refueling Spillage Loss (19) CB05_PAR (1013)
- Refueling Spillage Loss (19) CB05_TOL (1015)
- Refueling Spillage Loss (19) CB05_UNR (1017)
- Refueling Spillage Loss (19) CB05_XYL (1018)
- Refueling Spillage Loss (19) CB05_TERP (1014)
- Extended Idle Exhaust (90) CB05 Mechanism (1000)
- Extended Idle Exhaust (90) NonHAPTOG (88)
- Extended Idle Exhaust (90) CB05_ALD2 (1001)
- Extended Idle Exhaust (90) CB05_ALDX (1002)
- Extended Idle Exhaust (90) CB05_ETH (1005)
- Extended Idle Exhaust (90) CB05_ETHA (1006)
- Extended Idle Exhaust (90) CB05_FORM (1008)
- Extended Idle Exhaust (90) CB05_IOLE (1009)
- Extended Idle Exhaust (90) CB05_ISOP (1010)
- Extended Idle Exhaust (90) CB05_OLE (1012)
- Extended Idle Exhaust (90) CB05_PAR (1013)
- Extended Idle Exhaust (90) CB05_TERP (1014)
- Extended Idle Exhaust (90) CB05_TOL (1015)
- Extended Idle Exhaust (90) CB05_UNK (1016)
- Extended Idle Exhaust (90) CB05_UNR (1017)
- Extended Idle Exhaust (90) CB05_XYL (1018)
- Auxiliary Power Exhaust (91) CB05 Mechanism (1000)
- Auxiliary Power Exhaust (91) NonHAPTOG (88)
- Auxiliary Power Exhaust (91) CB05_ALD2 (1001)
- Auxiliary Power Exhaust (91) CB05_ALDX (1002)
- Auxiliary Power Exhaust (91) CB05_ETH (1005)
- Auxiliary Power Exhaust (91) CB05_ETHA (1006)
- Auxiliary Power Exhaust (91) CB05_FORM (1008)
- Auxiliary Power Exhaust (91) CB05_IOLE (1009)
- Auxiliary Power Exhaust (91) CB05_ISOP (1010)
- Auxiliary Power Exhaust (91) CB05_OLE (1012)
- Auxiliary Power Exhaust (91) CB05_PAR (1013)
- Auxiliary Power Exhaust (91) CB05_TERP (1014)
- Auxiliary Power Exhaust (91) CB05_TOL (1015)
- Auxiliary Power Exhaust (91) CB05_UNK (1016)
- Auxiliary Power Exhaust (91) CB05_UNR (1017)
- Auxiliary Power Exhaust (91) CB05_XYL (1018)
The TOG Speciation Calculator input comes from:
TOG Speciation Calculator uses the following tables:
- FuelFormulation
- FuelSubtype
- FuelSupply
- integratedSpeciesSet
- lumpedSpeciesName
- MonthofAnyYear
- togSpeciation
- TOGSpeciationProfile
- Year
TOG Speciation Calculator is expressed in these source code files:
- /database/TOGSpeciationCalculator.sql
Steps
The TOG Speciation Calculator algorithm is as follows.
Step: Add NMOG (80) to the set of chained input pollutants.
Outputs: integratedspeciesset
Step: Index integratedSpeciesSet by pollutantID to increase speed.
Outputs: integratedspeciesset
Step: Find the subset of records that are actually needed. These include NMOG (80) and anything listed in integratedSpeciesSet.
Inputs: movesworkeroutput
Outputs: togworkeroutput
Step: Convert integrated species to negative NonHapTOG (88) entries and NMOG (80) values to positive NonHAPTOG (88) entries. When summed, this will complete the integration.
Inputs: integratedspeciesset
Outputs: togworkeroutput
Step: Sum the NonHAPTOG (88) records, reducing record count and completing the species integration.
Inputs: togworkeroutput
Outputs: togworkeroutputintegrated
Step: Copy NonHAPTOG (88) entries into MOVESWorkerOutput.
Inputs: togworkeroutputintegrated
Outputs: movesworkeroutput
Step: Index togSpeciationProfile by pollutantID to increase speed.
Outputs: togspeciationprofile
Step: Get the set of distinct pollutants that are needed for speciation input.
Inputs: togspeciationprofile
Outputs: togspeciationpollutants
Step: Find the subset of records that are needed for speciation input. These are the pollutants listed in the togSpeciationProfile table.
Inputs: movesworkeroutput, togspeciationpollutants
Outputs: togworkeroutputintegrated
Step: Speciate NonHAPTOG (88) and anything else listed as an input in togSpeciationProfile.
Tank Fuel Generator
Tank Fuel Generator is a GENERATOR that executes at the YEAR level.
Tank Fuel Generator uses the following tables:
Tank Fuel Generator populates the following tables:
Tank Fuel Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/TankFuelGenerator.java
Steps
The Tank Fuel Generator algorithm is as follows.
Step: ethanolRVP = 2.3. weatheringConstant = 0.049.
Step: Find fuel formulations used by the fuel supply.
Inputs: FuelFormulation, FuelSubtype, FuelSupply, FuelType, RunSpecMonthGroup, RunSpecYear, Year
Outputs: TFGUsedFuelFormulation
Step: kGasoline=((-7e-7)*pow(ETOHVolume,3))+(0.0002*pow(ETOHVolume,2))+(0.0024*ETOHVolume)+1.0. kEthanol=(case when ETOHVolume>0 then (46.321*pow(ETOHVolume,-0.8422)) else 1000.0 end).
Inputs: FuelFormulation
Outputs: TFGUsedFuelFormulation
Step: gasPortionRVP=(RVP-kEthanol*ETOHVolume/100.0* ethanolRVP )/(kGasoline*(100.0-ETOHVolume)/100.0).
Inputs: FuelFormulation
Outputs: TFGUsedFuelFormulation
Step: linearAverageRVP=sum(RVP*marketShare)/sum(marketShare). tankAverageETOHVolume=sum(ETOHVolume*marketShare)/sum(marketShare). averageGasPortionRVP=sum(gasPortionRVP*marketShare)/sum(marketShare).
Inputs: FuelFormulation, FuelSupply, RunSpecYear, TFGUsedFuelFormulation, Year
Outputs: TFGFuelSupplyAverage
Step: gasoholMarketShare=sum(marketShare).
Conditions: 4 <= ETOHVolume <= 20
Inputs: FuelFormulation, FuelSupply, RunSpecYear, TFGUsedFuelFormulation, Year
Outputs: TFGTemp
Step: Copy gasoholMarketShare to TFGFuelSupplyAverage.
Inputs: TFGTemp
Outputs: TFGFuelSupplyAverage
Step: averageKGasoline=((-7e-7)*pow(tankAverageETOHVolume,3))+(0.0002*pow(tankAverageETOHVolume,2))+(0.0024*tankAverageETOHVolume)+1. averageKEthanol=(case when tankAverageETOHVolume > 0 then (46.321*pow(tankAverageETOHVolume,-0.8422)).
Outputs: TFGFuelSupplyAverage
Step: noWeatheringReddyRVP= averageKGasoline* (100.0- tankAverageETOHVolume)/100.0 * averageGasPortionRVP + averageKEthanol * tankAverageETOHVolume/100.0 * ethanolRVP.
Outputs: TFGFuelSupplyAverage
Step: Find zone temperature extremes. zoneMin=min(temperature). zoneMax=max(temperature).
Inputs: MonthOfAnyYear, RunSpecMonth, Zone, ZoneMonthHour
Outputs: TFGZone
Step: zoneEvapTemp = (case when ((zoneMax < 40) or (zoneMax-zoneMin <= 0)) then (zoneMin+zoneMax)/2.0 else -1.7474+1.029*zoneMin+0.99202*(zoneMax-zoneMin)-0.0025173*zoneMin*(zoneMax-zoneMin) end).
Outputs: TFGZone
Step: ratioGasolineRVPLoss=greatest(0, (-2.4908+0.026196*zoneEvapTemp+0.00076898*zoneEvapTemp*averageGasPortionRVP) / (-0.0860+0.070592*averageGasPortionRVP) ).
Inputs: TFGFuelSupplyAverage, TFGZone
Outputs: TFGZoneFuel
Step: weatheredGasPortionRVP=averageGasPortionRVP*(1.0-ratioGasolineRVPLoss*weatheringConstant).
Inputs: TFGFuelSupplyAverage
Outputs: TFGZoneFuel
Step: weatheredReddyRVP= averageKGasoline*(100.0-tankAverageETOHVolume)/100.0*weatheredGasPortionRVP + averageKEthanol*tankAverageETOHVolume/100.0*ethanolRVP.
Inputs: TFGFuelSupplyAverage
Outputs: TFGZoneFuel
Step: commingledRVP=linearAverageRVP*(case when gasoholMarketShare >= 1.0 then 1.000 when gasoholMarketShare >= 0.9 then 1.018 when gasoholMarketShare >= 0.8 then 1.027 when gasoholMarketShare >= 0.7 then 1.034 when gasoholMarketShare >= 0.6 then 1.038 when gasoholMarketShare >= 0.5 then 1.040 when gasoholMarketShare >= 0.4 then 1.039 when gasoholMarketShare >= 0.3 then 1.035 when gasoholMarketShare >= 0.2 then 1.028 when gasoholMarketShare >= 0.1 then 1.016 else 1.000" end).
Outputs: TFGFuelSupplyAverage
Step: ETOHVolume=tankAverageETOHVolume. RVP=(weatheredReddyRVP*commingledRVP)/noWeatheringReddyRVP.
Inputs: TFGFuelSupplyAverage, TFGZoneFuel
Outputs: AverageTankGasoline
Tank Temperature Generator
Tank Temperature Generator is a GENERATOR that executes at the ZONE level.
Tank Temperature Generator uses the following tables:
- AverageTankTemperature
- ColdSoakTankTemperature
- HourDay
- SampleVehicleDay
- SampleVehicleTrip
- SourceTypeModelYearGroup
- TankTemperatureRise
- ZoneMonthHour
Tank Temperature Generator populates the following tables:
- AverageTankTemperature
- ColdSoakInitialHourFraction
- ColdSoakTankTemperature
- SampleVehicleTrip
- SoakActivityFraction
Tank Temperature Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/TankTemperatureGenerator.java
Steps
The Tank Temperature Generator algorithm is as follows.
Step: Obtain the required set of vehID and tankTemperatureGroupID combinations.
Inputs: SampleVehicleDay, SourceTypeModelYearGroup
Outputs: TempVehAndTTG
Step: Calculate temperatures in quarter hour increments using linear interpolation. quarterHourTemperature[hourID,timeStep] = temperature[hourID=h-1] + ((timeStep-1) * 0.25 * (temperature[hourID=h] - temperature[hourID=h-1])) for timeSteps 1-4.
Inputs: ZoneMonthHour for hour h, ZoneMonthHour for hour h-1 (or hour 24 if h is the hour 1)
Outputs: QuarterHourTemperature
Step: firstQuarterHourTankTemperature[monthID]=quarterHourTemperature[hourID=1,monthID,timeStep=1].
Inputs: QuarterHourTemperature
Step: sumTempDelta=0
Conditions: Resets to 0 for each monthID.
Step: Calculate quarter hour tank temperature from the quarter hour ambient temperature. quarterHourTankTemperature = 1.4*sumTempDelta + firstQuarterHourTankTemperature. tempDelta = quarterHourTemperature - quarterHourTankTemperature. sumTempDelta = sumTempDelta + tempDelta.
Conditions: for each hour and quarter hour time step of the current month, in temporal sequence
Inputs: QuarterHourTemperature
Outputs: QuarterHourTankTemperature
Step: coldSoakTankTemperature[zoneID,monthID,hourID]=quarterHourTankTemperature[zoneID,monthID,hourID,timeStep=1].
Inputs: QuarterHourTankTemperature
Outputs: ColdSoakTankTemperature
Step: coldSoakTankTemperature[zoneID,monthID,hourID]=quarterHourTankTemperature[zoneID,monthID,hourID,timeStep=1].
Conditions: QuarterHourTankTemperature has been populated
Inputs: QuarterHourTankTemperature
Outputs: TempColdSoakTankTemperature
Step: Copy ColdSoakTankTemperature to TempColdSoakTankTemperature.
Conditions: QuarterHourTankTemperature has not been populated
Inputs: ColdSoakTankTemperature
Outputs: TempColdSoakTankTemperature
Step: Flag all trips by default as Normal (tripType=N). Subsequent steps may alter this designation.
Outputs: SampleVehicleTrip
Step: Flag marker trips. tripType=M.
Conditions: keyOnTime is null and priorTripID is null
Outputs: SampleVehicleTrip
Step: Copy marker trips from SampleVehicleTrip to MarkerTrip.
Inputs: SampleVehicleTrip
Outputs: MarkerTrip
Step: Identify trips as the first trip of a day. tripType = F. priorTripID = NULL.
Conditions: Trips having a prior trip that is a marker trip.
Inputs: MarkerTrip
Outputs: SampleVehicleTrip
Step: Identify more trips as the first trip of a day. tripType = F.
Conditions: priorTripID is null and keyOnTime is not null (i.e. there is no prior trip and the vehicle was started during this trip) and the trip is still considered a Normal trip (tripType=N)
Outputs: SampleVehicleTrip
Step: vehicleCount = count(*) for each source type and day.
Inputs: sampleVehicleDay
Outputs: TTGeTemp
Step: eMinutes = 60*vehicleCount.
Inputs: HourDay, runSpecHourDay, runSpecMonth, TTGeTemp
Outputs: TTGeMinutes
Step: EndOfHour = (FLOOR(keyOnTime/60)+1)*60.
Conditions: tripType <> M (i.e. don't include marker trips)
Inputs: HourDay, SampleVehicleDay, SampleVehicleTrip
Outputs: list of trip data in memory
Step: Split trips into individual hours. startOfTrip = 1 for the first hour of the trip, 0 otherwise. endOfTrip = 1 when keyOffTime <= endOfHour, 0 otherwise.
Inputs: list of trip data in memory
Outputs: SampleVehicleTripByHour
Step: Find all hours in which a trip ends.
Conditions: endOfTrip=1
Inputs: SampleVehicleTripByHour
Outputs: list of trip end hours in memory
Step: hotSoakBegin = keyOffTime of each trip end.
Inputs: list of trip end hours in memory
Step: Get keyOnTime for the first hour of each trip's subsequent trip.
Inputs: SampleVehcileTripByHour
Outputs: keyOnTime for the current trip's first hour
Step: hotSoakEnd = min(endOfHour, nextKeyOnTime) when there is a next trip, endOfHour otherwise.
Step: Record each hot soaking event from hotSoakBegin to hotSoakEnd.
Outputs: HotSoakEventByHour
Step: Collect the list of tank temperature data sets to be iterated.
Inputs: SampleVehicleTripByHour, TankTemperatureRise, TempColdSoakTankTemperature, TempVehAndTTG
Outputs: list of tank temperature data sets to be iterated
Step: Calculate operating temperatures. keyOnTemp = coldSoakTankTemperature when starting a trip and a prior trip exists and it known that hot soaking has already ended. keyOnTemp = tank temperature when the the trip started when starting a trip and a prior trip exists and hot soaking is not already ended. keyOnTemp = coldSoakTankTemperature when starting a trip and no prior trip exists. keyOnTemp = keyOffTemp when a trip is continued into a new hour. keyOffTemp = keyOnTemp + ((tankTemperatureRiseTermA+tankTemperatureRiseTermB*(95.0-keyOnTemp))/1.2)*((keyOffTime-keyOnTime)/60.0). keyOffTemp = 140 when keyOffTemp > 140, limiting keyOffTemp to 140 degrees Fahrenheit.
Inputs: current item from the list of tank temperature data sets to be iterated
Outputs: OperatingTemperature
Step: Get the hot soak events beginning at the end of the current trip.
Inputs: HotSoakEventByHour, HourDay
Outputs: list of hot soak events
Step: Setup hot soak variables for the current vehicle, day, and trip. tempDeltaSum = 0. initialTankTemperature = keyOffTemp.
Step: Get the ambient temperature and coldSoakTankTemperature for the current month, zone, hour, and day.
Inputs: HourDay, TempColdSoakTankTemperature, ZoneMonthHour
Step: Generate the minute-by-minute hot soak temperatures. soakTankTemperature = 1.4*tempDeltaSum/60 + initialTankTemperature. tempDelta = temperature - soakTankTemperature. tempDeltaSum = tempDeltaSum + tempDelta. opModeID = 150 (hot soaking) when soakTankTemperature > coldSoakTankTemperature + 3, 151 (cold soaking) otherwise. When opModeID=151 (cold soaking), set soakTankTemperature=-1000 and do not record the hot soak minute or any others.
Conditions: each minute from hotSoakBegin, inclusive, to hotSoakEnd, exclusive.
Outputs: HotSoakTemperature
Step: Find AverageTankTemperature entries provided by the user as these should not be replaced with calculated values.
Inputs: AverageTankTemperature
Outputs: AverageTankTemperatureKeys
Step: Find all unique combinations of monthID, hourDayID, tankTemperatureGroupID in the operating temperature table.
Inputs: OperatingTemperature
Outputs: TempOperatingTemperatureSummary
Step: averageTankTemperature[opModeID=151 cold soaking]=coldSoakTankTemperature.
Conditions: No matching entries in AverageTankTemperatureKeys
Inputs: AverageTankTemperatureKeys, HourDay, TempColdSoakTankTemperature, TempOperatingTemperatureSummary
Outputs: AverageTankTemperature
Step: averageTankTemperature[opModeID=300 all running]=SUM((keyOffTime-keyOnTime)*(keyOnTemp+keyOffTemp)/2.0)/SUM(keyOffTime-keyOnTime).
Conditions: No matching entries in AverageTankTemperatureKeys
Inputs: AverageTankTemperatureKeys, OperatingTemperature
Outputs: AverageTankTemperature
Step: averageTankTemperature[opModeID=150 hot soaking]=average(soakTankTemp).
Conditions: No matching entries in AverageTankTemperatureKeys
Inputs: AverageTankTemperatureKeys, HotSoakTemperature
Outputs: AverageTankTemperature
Step: soakActivityFraction[opModeID=150 hot soaking]=hotSoakOpModeCount / (eMinutes - oMinutes).
Inputs: HotSoakOpModeCount, SoakActivityFractionKeys, TTGeMinutes, TTGoMinutes
Outputs: SoakActivityFraction
Step: soakActivityFraction[opModeID=151 cold soaking]=(eMinutes-oMinutes-hotSoakOpModeCount) / (eMinutes - oMinutes).
Inputs: HotSoakOpModeCount, SoakActivityFractionKeys, TTGeMinutes, TTGoMinutes
Outputs: SoakActivityFraction
Step: Read TempVehAndTTG into memory.
Inputs: TempVehAndTTG
Outputs: list of vehID, tankTemperatureGroupID in memory
Step: Read SampleVehicleTripByHour into memory.
Inputs: SampleVehicleTripByHour
Outputs: list of vehID, hourDayID, keyOnTime, keyOffTime in memory
Step: Read hot soak vehID, hourDayID, hotSoakTime, tankTemperatureGroupID, monthID combinations into memory.
Inputs: HotSoakTemperature
Outputs: list of objects in memory
Step: minutesColdSoakStartingFromInitialHour = modulus(keyOnTime,60). minutesColdSoakStartingInCurrentHour = 60 - minutesColdSoakStartingFromInitialHour - sum(KeyOffTime - KeyOnTime). minutesColdSoakStartingInCurrentHour -= hotSoakCount[monthID][tankTemperatureGroupID].
Conditions: Vehicle trip record
Step: minutesColdSoakStartingFromInitialHour = 0. minutesColdSoakStartingInCurrentHour = 60. minutesColdSoakStartingInCurrentHour -= hotSoakCount[monthID][tankTemperatureGroupID]. minutesColdSoakStartingInCurrentHour -= sum(KeyOffTime - KeyOnTime).
Conditions: Hot soak minute
Step: coldSoakMinutes[sourceTypeID][monthID][hourID][initialHourID] += minutesColdSoakStartingFromInitialHour. coldSoakMinutes[sourceTypeID][monthID][hourID][hourID] += minutesColdSoakStartingInCurrentHour. coldSoakMinutesSum[sourceTypeID][monthID][hourID] += minutesColdSoakStartingFromInitialHour + minutesColdSoakStartingInCurrentHour.
Step: coldSoakInitialHourFraction = coldSoakMinutes / coldSoakMinutesSum.
Outputs: ColdSoakInitialHourFraction
Tank Vapor Venting Calculator
Tank Vapor Venting Calculator is a CALCULATOR that executes at the MONTH level.
The Tank Vapor Venting Calculator is responsible for:
- Evap Fuel Vapor Venting (12) Total Gaseous Hydrocarbons (1)
The Tank Vapor Venting Calculator output is used by:
Tank Vapor Venting Calculator uses the following tables:
- AgeCategory
- AverageTankGasoline
- AverageTankTemperature
- ColdSoakInitialHourFraction
- ColdSoakTankTemperature
- County
- CumTVVCoeffs
- EmissionRateByAge
- evapRVPTemperatureAdjustment
- evapTemperatureAdjustment
- FuelType
- HourDay
- HourOfAnyDay
- IMCoverage
- IMFactor
- Link
- MonthofAnyYear
- OpModeDistribution
- PollutantProcessAssoc
- PollutantProcessModelYear
- SampleVehicleDay
- sampleVehiclePopulation
- sampleVehicleSoaking
- sampleVehicleSoakingDay
- sampleVehicleSoakingDayBasis
- SampleVehicleTrip
- SourceBin
- SourceBinDistribution
- SourceHours
- SourceTypeModelYear
- SourceTypeModelYearGroup
- TankVaporGenCoeffs
- Year
- Zone
- ZoneMonthHour
Tank Vapor Venting Calculator is expressed in these source code files:
- /database/MultidayTankVaporVentingCalculator.sql
- /gov/epa/otaq/moves/master/implementation/ghg/TankVaporVentingCalculator.java
Steps
The Tank Vapor Venting Calculator algorithm is as follows.
Step: totalVehicles = count(dayID, sourceTypeID) from sampleVehicleDay.
Conditions: First bundle only.
Inputs: samplevehicleday
Outputs: samplevehiclecount
Step: vehiclesNeverStarted = count(dayID, sourceTypeID) from sampleVehicleDay without any corresponding entry in sampleVehicleTrip.
Conditions: First bundle only.
Inputs: samplevehicleday, samplevehicletrip
Outputs: samplevehicleneverstarted
Step: fractionNeverStarted[dayID,sourceTypeID] = vehiclesNeverStarted/totalVehicles.
Conditions: First bundle only.
Outputs: samplevehiclecount, samplevehicleneverstarted
Step: hour of first start[vehID,dayID,sourceTypeID] = min(SampleVehicleTrip.hourID).
Conditions: First bundle only.
Inputs: samplevehicleday, samplevehicletrip
Outputs: samplevehiclefirststart
Step: In each day and hour, count the number of vehicles that start for the first time. vehiclesFirstStarted[dayID,sourceTypeID,hourID] = count(dayID,sourceTypeID,hourID) by hour of first start.
Conditions: First bundle only.
Inputs: samplevehiclefirststart
Outputs: samplevehiclesoaktemp
Step: In each day and hour, sum the number of vehicles that have started up to then. totalVehiclesStarted[dayID,sourceTypeID,hourID]=sum(vehiclesFirstStarted) for all hours up to hourID.
Conditions: First bundle only.
Inputs: hourofanyday, samplevehiclesoaktemp
Outputs: samplevehiclesoaktemp2
Step: Obtain the fraction of vehicles soaking, awaiting their first start, for each day and hour. soakFraction[soakDayID=0,sourceTypeID,dayID,hourID]=(totalVehicles-totalVehiclesStarted)/totalVehicles.
Conditions: First bundle only.
Inputs: samplevehiclecount, samplevehiclesoaktemp2
Outputs: samplevehiclesoaking
Step: Assume a default soakFraction of 1 for any day and hour that has no vehicles started previously.
Conditions: First bundle only.
Inputs: hourofanyday, samplevehiclesoaktemp
Outputs: samplevehiclesoaking
Step: dayF[soakDayID=1,sourceTypeID,dayID]=soakFraction[soakDayID=0,sourceTypeID,dayID,hourID=24]
Conditions: First bundle only.
Inputs: samplevehiclesoaking
Outputs: samplevehiclesoakingday
Step: soakF[soakDayID=1,sourceTypeID,dayID]=dayF[soakDayID=1,sourceTypeID,dayID]. GammaFn1[soakDayID=1,sourceTypeID,dayID]=dayF[soakDayID=1,sourceTypeID,dayID]. GammaFn[soakDayID=1,sourceTypeID,dayID]=dayF[soakDayID=1,sourceTypeID,dayID].
Conditions: First bundle only.
Inputs: samplevehiclesoakingday
Outputs: samplevehiclesoakingf
Step: dayF[soakDayID=2,sourceTypeID,dayID]=greatest(dayF[soakDayID=1,sourceTypeID,dayID], basisF[soakDayID=2,dayID]).
Conditions: First bundle only.
Inputs: samplevehiclesoakingdaybasis
Outputs: samplevehiclesoakingday
Step: soakF[soakDayID=2,sourceTypeID,dayID]=dayF[soakDayID=2,sourceTypeID,dayID]. GammaFn1[soakDayID=2,sourceTypeID,dayID]=GammaFn[soakDayID=1,sourceTypeID,dayID]. GammaFn[soakDayID=2,sourceTypeID,dayID]=dayF[soakDayID=2,sourceTypeID,dayID] * GammaFn[soakDayID=1,sourceTypeID,dayID].
Conditions: First bundle only.
Inputs: samplevehiclesoakingday
Outputs: samplevehiclesoakingf
Step: dayF[soakDayID=3,sourceTypeID,dayID]=greatest(dayF[soakDayID=2,sourceTypeID,dayID], basisF[soakDayID=3,dayID]).
Conditions: First bundle only.
Inputs: samplevehiclesoakingdaybasis
Outputs: samplevehiclesoakingday
Step: soakF[soakDayID=3,sourceTypeID,dayID]=dayF[soakDayID=3,sourceTypeID,dayID]. GammaFn1[soakDayID=3,sourceTypeID,dayID]=GammaFn[soakDayID=2,sourceTypeID,dayID]. GammaFn[soakDayID=3,sourceTypeID,dayID]=dayF[soakDayID=3,sourceTypeID,dayID] * GammaFn[soakDayID=2,sourceTypeID,dayID].
Conditions: First bundle only.
Inputs: samplevehiclesoakingday
Outputs: samplevehiclesoakingf
Step: dayF[soakDayID=4,sourceTypeID,dayID]=greatest(dayF[soakDayID=3,sourceTypeID,dayID], basisF[soakDayID=4,dayID]).
Conditions: First bundle only.
Inputs: samplevehiclesoakingdaybasis
Outputs: samplevehiclesoakingday
Step: soakF[soakDayID=4,sourceTypeID,dayID]=dayF[soakDayID=4,sourceTypeID,dayID]. GammaFn1[soakDayID=4,sourceTypeID,dayID]=GammaFn[soakDayID=3,sourceTypeID,dayID]. GammaFn[soakDayID=4,sourceTypeID,dayID]=dayF[soakDayID=4,sourceTypeID,dayID] * GammaFn[soakDayID=3,sourceTypeID,dayID].
Conditions: First bundle only.
Inputs: samplevehiclesoakingday
Outputs: samplevehiclesoakingf
Step: dayF[soakDayID=5,sourceTypeID,dayID]=greatest(dayF[soakDayID=4,sourceTypeID,dayID], basisF[soakDayID=5,dayID]).
Conditions: First bundle only.
Inputs: samplevehiclesoakingdaybasis
Outputs: samplevehiclesoakingday
Step: soakF[soakDayID=5,sourceTypeID,dayID]=dayF[soakDayID=5,sourceTypeID,dayID]. GammaFn1[soakDayID=5,sourceTypeID,dayID]=GammaFn[soakDayID=4,sourceTypeID,dayID]. GammaFn[soakDayID=5,sourceTypeID,dayID]=dayF[soakDayID=5,sourceTypeID,dayID] * GammaFn[soakDayID=4,sourceTypeID,dayID].
Conditions: First bundle only.
Inputs: samplevehiclesoakingday
Outputs: samplevehiclesoakingf
Step: nextF[soakDayID,sourceTypeID,dayID]=soakF[soakDayID+1,sourceTypeID,dayID].
Conditions: First bundle only.
Outputs: samplevehiclesoakingf, samplevehiclesoakingf2
Step: P[n,1] = 1 for each soaking day
Conditions: First bundle only.
Inputs: samplevehiclesoakingday
Outputs: samplevehiclesoakingproportion
Step: D[5,1] = Gamma[F4]
Conditions: First bundle only.
Inputs: samplevehiclesoakingf
Outputs: samplevehiclesoaking
Step: D[5,24] = Gamma[F5], for soakday 5
Conditions: First bundle only.
Inputs: samplevehiclesoakingf
Outputs: samplevehiclesoaking
Step: D[n,24] = Gamma[Fn] * (1-F[n+1]), for soakdays 1-4
Conditions: First bundle only.
Inputs: samplevehiclesoakingf
Outputs: samplevehiclesoaking
Step: D[1,1] = D1-D24 for soakday 1
Conditions: First bundle only.
Outputs: samplevehiclesoaking
Step: D[n,1] = D[n-1,24] for soakday 2,3,4
Conditions: First bundle only.
Outputs: samplevehiclesoaking
Step: P[n,24]=D[n,24]/D[n,1]
Conditions: First bundle only.
Inputs: samplevehiclesoaking
Outputs: samplevehiclesoakingproportion
Step: Precalc[h] = (D[0,h]-D[0,24]) / (D[0,1]-D[0,24]) because it is used in P[n,1 < h < 24]
Conditions: First bundle only.
Inputs: samplevehiclesoaking
Outputs: samplevehiclesoakingdh
Step: Store P[n,1] for each day alongside P[n,24] since they are used together
Conditions: First bundle only.
Outputs: samplevehiclesoakingf, samplevehiclesoakingproportion
Step: P[n,h]=Precalc[h]*(P[n,1]-P[n,24]) + P[n,24] for 1 <= n <= 5, 1 < h < 24
Conditions: First bundle only.
Inputs: samplevehiclesoakingdh
Outputs: samplevehiclesoakingproportion
Step: D[n,h] = D[n,1]*P[n,h] for 1 <= n <= 5, 1 < h < 24
Conditions: First bundle only.
Inputs: samplevehiclesoakingproportion
Outputs: samplevehiclesoaking
Step: Index by hourID to speedup later joins.
Inputs: ColdSoakTankTemperature
Outputs: coldsoaktanktemperature
Step: Include soakDayID in ColdSoakInitialHourFraction.
Inputs: ColdSoakInitialHourFraction
Outputs: coldsoakinitialhourfraction
Step: Disaggregate IMCoverage records, expanding model year ranges into individual model years. IMAdjustFract[processID,pollutantID,modelYearID,fuelTypeID,sourceTypeID]=IMFactor*complianceFactor*0.01.
Inputs: agecategory, imcoverage, imfactor, pollutantprocessassoc, pollutantprocessmappedmodelyear
Outputs: imcoveragemergedungrouped
Step: Compute peakHourID by monthID. The maximum value of the expression is found. This finds the maximum temperature and the earliest time of day in which the temperature occurs, storing both as a single number.
Inputs: coldsoaktanktemperature
Outputs: peakhourofcoldsoak
Step: Calculate tankVaporGenerated for high and low altitudes. The time spans t1 (based upon ColdSoakInitialHourFraction.initialHourDayID) to t2 (based upon ColdSoakInitialHourFraction.hourDayID). tankVaporGenerated[high and low altitudes] = (tankSize*(1-tankFillFraction))*(tvgTermA*exp(tvgTermB*RVP)*(exp(tvgTermC*t2.coldSoakTankTemperature)-exp(tvgTermC*t1.coldSoakTankTemperature)))
Conditions: t1.coldSoakTankTemperature < t2.coldSoakTankTemperature, 0 otherwise.
Inputs: averagetankgasoline, coldsoakinitialhourfraction, coldsoaktanktemperature, hourday, monthofanyyear, peakhourofcoldsoak, stmytvvcoeffs, tankvaporgencoeffs
Outputs: tankvaporgeneratedhighandlow
Step: Interpolate tankVaporGenerated based upon the county's barometric pressure. Don't allow negative values. Low altitude is based upon Wayne County, Michigan (26163) with a barometric pressure of 29.069. High altitude is based upon Denver County, Colorado (8031) with a barometric pressure of 24.087. tankVaporGenerated = greatest(((barometricPressure - 29.069) / (24.087 - 29.069)) * (high.tankVaporGenerated - low.tankVaporGenerated) + low.tankVaporGenerated,0).
Inputs: county, tankvaporgeneratedhighandlow
Outputs: tankvaporgenerated
Step: Calculated the ethanol weighted TVG using tankVaporGenerated for E10 fuel (t10) and that of E0 fuel (t0). ethanolWeightedTVG=(t10.tankVaporGenerated*(least(10.0,ETOHVolume)/10.0)+t0.tankVaporGenerated*(1.0-least(10.0,ETOHVolume)/10.0)).
Inputs: averagetankgasoline, monthofanyyear, tankvaporgenerated
Outputs: ethanolweightedtvgtemp
Step: Until now, ethanolWeightedTVG has been a cumulative total. Convert it to an hourly increment by subtracting the total of the previous hour. ethanolWeightedTVG[hourID]=ethanolWeightedTVG[hourID]-ethanolWeightedTVG[hourID-1].
Inputs: ethanolweightedtvgtemp
Outputs: ethanolweightedtvg
Step: tvgSumIH = Sum of TVG hourly from initial hour I to hour H
Inputs: ethanolweightedtvg, hourday
Outputs: tvgsumih
Step: tvgSumI24 = Sum of TVG hourly from initial hour I to the last hour of the day
Inputs: ethanolweightedtvg, hourday
Outputs: tvgsumi24
Step: tvgSum1H = Sum of TVG hourly from the first hour of the day to hour H
Inputs: ethanolweightedtvg, hourday
Outputs: tvgsum1h
Step: tvgSumH24 = Sum of TVG hourly from after hour H to the last hour of the day
Inputs: ethanolweightedtvg, hourday
Outputs: tvgsumh24
Step: TVGdaily[soakDayID=1] = tvgSumIH. Xn[soakDayID=1] = tvgSumIH.
Inputs: ethanolweightedtvg, tvgsum1h, tvgsumh24, tvgsumih
Outputs: tvg
Step: TVGdaily[soakDayID=2] = TVGdaily[soakDayID=1]. Xn[soakDayID=2] = ((1-backPurgeFactor)*least(tvgSumI24,averageCanisterCapacity))+tvgSum1H.
Inputs: tvgsumi24
Outputs: tvg
Step: TVGdaily[soakDayID>2] = TVGdaily[soakDayID-1]. Xn[soakDayID>2] = ((1-backPurgeFactor)*least(Xn[soakDayID-1] + tvgSumH24,averageCanisterCapacity))+tvgSum1H.
Outputs: tvg
Step: Include leaking using database-driven TVV and Leak equations. tankVaporVented = (1-leakFraction)*(TVV equation) + leakFraction*(Leak equation). tankVaporVentedIM = (1-leakFractionIM)*(TVV equation) + leakFractionIM*(Leak equation).
Inputs: agecategory, hourday, stmytvvequations, tvg
Outputs: cummulativetankvaporvented
Step: unweightedHourlyTVV = tankVaporVented[hourID] - tankVaporVented[hourID-1]. unweightedHourlyTVVIM = tankVaporVentedIM[hourID] - tankVaporVentedIM[hourID-1].
Conditions: only when coldSoakTankTemperature[hourID] > coldSoakTankTemperature[hourID-1], 0 otherwise.
Inputs: coldsoaktanktemperature, cummulativetankvaporvented
Outputs: unweightedhourlytvv
Step: Add coldSoakInitialHourFraction entries for soaking days beyond the first day
Inputs: hourday, samplevehiclesoaking
Outputs: coldsoakinitialhourfraction
Step: hourlyTVV = unweightedHourlyTVV * coldSoakInitialHourFraction. hourlyTVVIM = unweightedHourlyTVVIM * coldSoakInitialHourFraction.
Inputs: coldsoakinitialhourfraction, unweightedhourlytvv
Outputs: hourlytvvtemp
Step: hourlyTVV = sum(hourlyTVV). hourlyTVVIM = sum(hourlyTVVIM).
Inputs: hourlytvvtemp
Outputs: hourlytvv
Step: Reduce TVV emissions for hours past the hour with the peak temperature. hourlyTVV(with and without I/M) = hourlyTVV(with and without I/M) * (0 when >= 5 hours past the peak, 0.0005 when >= 4 hours, 0.0040 when >= 3 hours, 0.0100 when >= 2 hours, 0.0200 when >= 1 hour, 1.0 otherwise).
Inputs: copyofhourlytvv, hourday, peakhourofcoldsoak
Outputs: hourlytvv
Step: THC rate[opModeID=151 cold soak]=sum(sourceBinActivityFraction * hourlyTVV). THC I/M rate[opModeID=151 cold soak]=sum(sourceBinActivityFraction * hourlyTVVIM).
Inputs: fueltype, hourlytvv, pollutantprocessmodelyear, sourcebin, sourcebindistribution, sourcetypemodelyear
Outputs: weightedmeanbaserate
Step: Find bounds on RVP-based operating and hot soak adjustments (opModeIDs 300 and 150).
Inputs: evaprvptemperatureadjustment
Outputs: evaprvptemperatureadjustmentsummary
Step: Linearly interpolate RVP adjustment terms for each entry in averageTankGasoline, where lowAdj is the evapRVPTemperatureAdjustment record such that lowAdj.RVP <= averageTankGasoline.RVP and highAdj is similar with highAdj.RVP > averageTankGasoline.RVP. adjustTerm3 = lowAdj.adjustTerm3 + (highAdj.adjustTerm3 - lowAdj.adjustTerm3)/(highAdj.RVP - lowAdj.RVP) * (atg.RVP - lowAdj.RVP)). adjustTerm2 = lowAdj.adjustTerm2 + (highAdj.adjustTerm2 - lowAdj.adjustTerm2)/(highAdj.RVP - lowAdj.RVP) * (atg.RVP - lowAdj.RVP). adjustTerm1 = lowAdj.adjustTerm1 + (highAdj.adjustTerm1 - lowAdj.adjustTerm1)/(highAdj.RVP - lowAdj.RVP) * (atg.RVP - lowAdj.RVP). adjustConstant = lowAdj.adjustConstant + (highAdj.adjustConstant - lowAdj.adjustConstant)/(highAdj.RVP - lowAdj.RVP) * (atg.RVP - lowAdj.RVP).
Inputs: evaprvptemperatureadjustment, tempatg
Outputs: averagetankgasoline
Step: Adjust hot soak (opModeID 150) and running (opModeID 300) by temperature and RVP effects. tempAdjustment[opModeID=300]= (tempAdjustTerm3*power(greatest(temperature,40.0),3) + tempAdjustTerm2*power(greatest(temperature,40.0),2) + tempAdjustTerm1*greatest(temperature,40.0) + tempAdjustConstant). tempAdjustment[opModeID=150]=1. rvpAdjustment[opModeID=300]=1 for temperature < 40F, otherwise for temperature >= 40F: (adjustTerm3*power(temperature,3) + adjustTerm2*power(temperature,2) + adjustTerm1*temperature + adjustConstant). rvpAdjustment[opModeID=150]=1. weightedMeanBaseRate=sum(sourceBinActivityFraction*meanBaseRate)*rvpAdjustment*tempAdjustment. weightedMeanBaseRateIM=sum(sourceBinActivityFraction*meanBaseRateIM)*rvpAdjustment*tempAdjustment.
Conditions: Only Gasoline (1) and Ethanol (5) fuel types, all others have no adjustments in this step.
Inputs: agecategory, averagetankgasoline, emissionratebyage, evaptemperatureadjustment, fueltype, hourday, pollutantprocessmodelyear, runspechourday, runspecsourcetype, sourcebin, sourcebindistribution, sourcetypemodelyear, zonemonthhour
Outputs: weightedmeanbaserate
Step: Combine cold soaking (opModeID=151), hot soaking (150), and running (300) evaporative emissions. THC=weightedMeanBaseRate*sourceHours*opModeFraction. THC I/M=weightedMeanBaseRateIM*sourceHours*opModeFraction.
Inputs: hourday, opmodedistribution, pollutantprocessassoc, sourcehours, weightedmeanbaserate
Outputs: movesworkeroutput
Step: Apply I/M programs to the aggregat combination of cold soak, hot soaking, and running evap. THC=THC I/M*IMAdjustFract + THC*(1-IMAdjustFract).
Outputs: imcoveragemergedungrouped, movesworkeroutput*>
Total Activity Generator
Total Activity Generator is a GENERATOR that executes at the YEAR level.
Total Activity Generator uses the following tables:
- AvgSpeedBin
- AvgSpeedDistribution
- DayOfAnyWeek
- DayVMTFraction
- hotellingActivityDistribution
- hotellingCalendarYear
- hotellingHours
- HourDay
- HourOfAnyDay
- HourVMTFraction
- HPMSVtypeDay
- HPMSVtypeYear
- Link
- LinkAverageSpeed
- MonthVMTFraction
- RoadType
- RoadTypeDistribution
- SampleVehicleDay
- SampleVehicleTrip
- SHO
- SourceTypeAge
- SourceTypeAgeDistribution
- SourceTypeDayVMT
- SourceTypeHour
- SourceTypeYear
- SourceTypeYearVMT
- SourceUseType
- StartsPerVehicle
- Year
- Zone
- ZoneRoadType
Total Activity Generator populates the following tables:
Total Activity Generator is expressed in these source code files:
- /gov/epa/otaq/moves/master/implementation/ghg/TotalActivityGenerator.java
Steps
The Total Activity Generator algorithm is as follows.
Step: baseYear = max(year) where year <= analysisYear and year is a base year.
Inputs: year
Step: population = sourceTypePopulation * ageFraction.
Inputs: SourceTypeAgeDistribution, SourceTypeYear
Outputs: SourceTypeAgePopulation
Step: Grow the age 0 population. population[ageID=0,y] = (population[y-1]/migrationRate[y-1])*salesGrowthFactor[y]*migrationRate[y].
Inputs: SourceTypeAgePopulation for year y-1, SourceTypeYear for year y, SourceTypeYear for year y-1
Outputs: SourceTypeAgePopulation2
Step: Move the newly grown population to the main population table.
Inputs: SourceTypeAgePopulation2
Outputs: SourceTypeAgePopulation
Step: Grow the population for 1 <= ageID < 30. population[ageID,y] = population[y-1,ageID-1]*survivalRate[ageID]*migrationRate[y].
Inputs: SourceTypeAge, SourceTypeAgePopulation for year y-1, SourceTypeYear for year y
Outputs: SourceTypeAgePopulation2
Step: Grow the population ageID >= 30. population[ageID,y] = population[ageID=29,y-1]*survivalRate[ageID=29]*migrationRate[y] + population[ageID=30,y]*survivalRate[ageID=30]*migrationRate[y].
Inputs: sta SourceTypeAge for ageID=29, sta2 SourceTypeAge for ageID=30, stap SourceTypeAgePopulation for year y-1 and ageID=29, stap2 SourceTypeAgePopulation for year y and ageID=30, sty SourceTypeYear for year y
Outputs: SourceTypeAgePopulation2
Step: totalPopulation = sum(population).
Inputs: sourceTypeagePopulation
Outputs: sourceTypeAgePopulationTotal
Step: ageFraction = population/totalPopulation.
Inputs: sourceTypeAgePopulation, sourceTypeAgePopulationTotal
Outputs: sourceTypeAgeDistribution
Step: population[HPMSVTypeID] = sum(population[sourceTypeID]).
Inputs: SourceTypeAgePopulation, SourceUseType
Outputs: HPMSVTypePopulation
Step: FractionWithinHPMSVType = population[sourceTypeID]/population[HPMSVTypeID].
Inputs: HPMSVTypePopulation, SourceTypeAgePopulation, SourceUseType
Outputs: FractionWithinHPMSVType
Step: HPMSTravelFraction = sum(relativeMAR * FractionWithinHPMSVType).
Inputs: FractionWithinHPMSVType, SourceTypeAge, SourceUseType
Outputs: HPMSTravelFraction
Step: TravelFraction = (FractionWithinHPMSVType * relativeMAR) / HPMSTravelFraction.
Inputs: FractionWithinHPMSVType, HPMSTravelFraction, SourceTypeAge, SourceUseType
Outputs: TravelFraction
Step: totalTravelFraction(yearID,sourceTypeID) = Sum(TravelFraction).
Conditions: VMT provided by sourcetype not HPMSVType
Inputs: TravelFraction
Outputs: TravelFractionSourceTypeSum
Step: When VMT by source type has been provided, normalize TravelFraction by year and source type. normalized TravelFraction = TravelFraction / totalTravelFraction.
Conditions: VMT provided by sourcetype not HPMSVType
Inputs: TravelFractionSourceTypeSum
Outputs: TravelFraction
Step: VMT = HPMSBaseYearVMT.
Inputs: HPMSVTypeYear, RunSpecSourceType, SourceUseType
Outputs: AnalysisYearVMT
Step: Grow VMT one year. VMT[y] = VMT[y-1] * VMTGrowthFactor[y].
Inputs: AnalysisYearVMT for year y-1, HPMSVTypeYear for year y
Outputs: AnalysisYearVMT2
Step: Copy AnalysisYearVMT2 data into AnalysisYearVMT.
Inputs: AnalysisYearVMT2
Outputs: AnalysisYearVMT
Step: VMT = VMT * roadTypeVMTFraction * TravelFraction.
Conditions: VMT provided by HPMSVType
Inputs: AnalysisYearVMT, RoadType, RoadTypeDistribution, SourceUseType, TravelFraction
Outputs: AnnualVMTByAgeRoadway
Step: VMT = VMT * roadTypeVMTFraction * TravelFraction.
Conditions: VMT provided by source type
Inputs: RoadType, RoadTypeDistribution, SourceTypeYearVMT, TravelFraction
Outputs: AnnualVMTByAgeRoadway
Step: Append monthVMTFraction to AnnualVMTByAgeRoadway.
Inputs: AnnualVMTByAgeRoadway, MonthVMTFraction
Outputs: AvarMonth
Step: Append dayVMTFraction to AvarMonth.
Inputs: AvarMonth, DayVMTFraction
Outputs: AvarMonthDay
Step: Hourly VMT = Annual VMT * monthVMTFraction * dayVMTFraction * hourVMTFraction / weeksPerMonth.
Conditions: Annual VMT provided, either by HPMSVType or sourceTypeID
Inputs: AvarMonthDay, HourDay, HourVMTFraction
Outputs: VMTByAgeRoadwayHour
Step: Hourly VMT = Daily VMT * hourVMTFraction * roadTypeVMTFraction * TravelFraction * NumberOfRealDays.
Conditions: Daily VMT provided by sourceTypeID
Inputs: DayOfAnyWeek, HourDay, HourVMTFraction, RoadTypeDistribution, SourceTypeDayVMT, TravelFraction
Outputs: VMTByAgeRoadwayHour
Step: Hourly VMT = Daily VMT * hourVMTFraction * roadTypeVMTFraction * TravelFraction * NumberOfRealDays.
Conditions: Daily VMT provided by HPMSVType
Inputs: DayOfAnyWeek, HourDay, HourVMTFraction, HPMSVTypeDay, RoadTypeDistribution, SourceUseType, TravelFraction
Outputs: VMTByAgeRoadwayHour
Step: totalVMT = sum(VMT).
Inputs: vmtByAgeRoadwayHour
Outputs: vmtByMYRoadHourSummary
Step: Find VMT fraction by model year. vmtFraction = VMT/totalVMT.
Inputs: vmtByAgeRoadwayHour, vmtByMYRoadHourSummary
Outputs: vmtByMYRoadHourFraction
Step: Append dayID and hourID to SourceTypeHour.
Inputs: HourDay, SourceTypeHour
Outputs: SourceTypeHour2
Step: averageSpeed = sum(avgBinSpeed * avgSpeedFraction).
Inputs: AvgSpeedBin, AvgSpeedDistribution, HourDay, HourOfAnyDay, RoadType, RunSpecDay, RunSpecSourceType
Outputs: AverageSpeed
Step: SHO = VMT/averageSpeed where averageSpeed > 0, 0 otherwise.
Inputs: AverageSpeed, VMTByAgeRoadwayHour
Outputs: SHOByAgeRoadwayHour
Step: Find total VMT by day on Rural Restricted Access roads (roadTypeID=2) for Combination Long Haul Trucks (sourceTypeID=62). Daily VMT = sum(hourly VMT). hotellingHours = 0.
Inputs: VMTByAgeRoadwayHour
Outputs: VMTByAgeRoadwayDay
Step: hotellingHours = Daily VMT * hotellingRate.
Inputs: hotellingCalendarYear
Outputs: VMTByAgeRoadwayDay
Step: idleHours = hotellingHours * hotellingDist.
Inputs: SourceTypeHour2, VMTByAgeRoadwayDay
Outputs: IdleHoursByAgeHour
Step: Find the number of starts for each sample vehicle. starts = count(trips) * noOfRealDays.
Conditions: Ignore marker trips
Inputs: DayOfAnyWeek, HourDay, SampleVehicleDay, SampleVehicleTrip
Outputs: StartsPerSampleVehicle
Step: startsPerVehicle = starts / count(sample vehicles).
Inputs: SampleVehicleDay, StartsPerSampleVehicle
Outputs: StartsPerVehicle
Step: starts = population * startsPerVehicle.
Inputs: SourceTypeAgePopulation, StartsPerVehicle
Outputs: StartsByAgeHour
Step: SHP = (population*noOfRealDays) - SUM(sho).
Inputs: DayOfAnyWeek, ShoByAgeRoadwayHour, SourceTypeAgePopulation
Outputs: SHPByAgeHour
Step: Copy SHO for blended road types to corresponding ramp road types. No scaling is done here.
Outputs: SHOByAgeRoadwayHour
Step: Append SHOAllocFactor to link information.
Inputs: Link, ZoneRoadType
Outputs: ZoneRoadTypeLinkTemp
Step: SHO = SHO * averageSpeed * SHOAllocFactor.
Conditions: Rates
Inputs: AverageSpeed, LinkAverageSpeed, RunSpecHourDay, SHOByAgeRoadwayHour, ZoneRoadTypeLinkTemp
Outputs: SHO
Step: SHO = SHO * SHOAllocFactor.
Conditions: Inventory
Inputs: RunSpecHourDay, SHOByAgeRoadwayHour, ZoneRoadTypeLinkTemp
Outputs: SHO
Step: starts = starts * startAllocFactor.
Conditions: Inventory
Inputs: RunSpecMonth, StartsByAgeHour
Outputs: Starts
Step: extendedIdleHours = hotellingHours * opModeFraction[opModeID=200 extended idling].
Conditions: HotellingHours contains user-supplied hotelling information
Inputs: hotellingActivityDistribution, hotellingHours
Outputs: extendedIdleHours
Step: extendedIdleHours = idleHours * SHOAllocFactor * opModeFraction[opModeID=200 extended idling].
Inputs: hotellingActivityDistribution, HourDay, IdleHoursByAgeHour, runSpecHourDay, ZoneRoadType
Outputs: extendedIdleHours
Step: SHP = SHP * SHPAllocFactor.
Inputs: RunSpecHourDay, SHPByAgeHour, Zone
Outputs: SHP
Step: sourceHours = SHP.
Inputs: Link, SHP
Outputs: SourceHours
Step: sourceHours = SHO.
Inputs: SHO
Outputs: SourceHours
Step: distance = SHO * averageSpeed.
Conditions: Rates
Inputs: LinkAverageSpeed
Outputs: SHO
Step: Append link and SHO information.
Conditions: Inventory
Inputs: Link, SHO
Outputs: SHOTemp
Step: Append AverageSpeed and HourDay information.
Conditions: Inventory
Inputs: AverageSpeed, HourDay
Outputs: AverageSpeedTemp
Step: distance = SHO * averageSpeed.
Conditions: Inventory
Inputs: AverageSpeedTemp, SHOTemp
Outputs: SHO2
Step: Remove all items from the SHO table.
Conditions: Inventory
Outputs: SHO
Step: Copy the SHO2 information, which now includes distance, to the SHO table.
Conditions: Inventory
Inputs: SHO2
Outputs: SHO
AgeCategory table
CREATE TABLE agecategory ( ageID smallint(6) NOT NULL DEFAULT '0', ageGroupID smallint(6) NOT NULL DEFAULT '0', ageCategoryName char(50) DEFAULT NULL, PRIMARY KEY (ageID), KEY ageGroupID (ageGroupID,ageID), KEY ageID (ageID,ageGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The AgeCategory is used by these modules:
- BaseRateCalculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- SourceBin Distribution Generator
- Tank Vapor Venting Calculator
AgeGroup table
CREATE TABLE agegroup ( ageGroupID smallint(6) NOT NULL DEFAULT '0', ageGroupName char(50) DEFAULT NULL, PRIMARY KEY (ageGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
ATBaseEmissions table
CREATE TABLE atbaseemissions ( polProcessID int(11) NOT NULL DEFAULT '0', monthGroupID smallint(6) NOT NULL DEFAULT '0', atBaseEmissions float NOT NULL DEFAULT '0', dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,monthGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ATBaseEmissions is used by these modules:
ATRatio table
CREATE TABLE atratio ( fuelTypeID smallint(6) NOT NULL, fuelFormulationID smallint(6) NOT NULL, polProcessID int(11) NOT NULL, minModelYearID smallint(6) NOT NULL, maxModelYearID smallint(6) NOT NULL, ageID smallint(6) NOT NULL, monthGroupID smallint(6) NOT NULL, atRatio double DEFAULT NULL, PRIMARY KEY (fuelTypeID,fuelFormulationID,polProcessID,minModelYearID,maxModelYearID,ageID,monthGroupID), KEY atratio_key1 (fuelFormulationID,polProcessID,minModelYearID), KEY atratio_key2 (polProcessID,fuelTypeID,monthGroupID,minModelYearID,ageID,maxModelYearID,fuelFormulationID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ATRatio is used by these modules:
ATRatioGas2 table
CREATE TABLE atratiogas2 ( polProcessID int(11) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', ATRatio float DEFAULT NULL, ATRatioCV float DEFAULT NULL, PRIMARY KEY (polProcessID,sourceTypeID,fuelSubtypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ATRatioGas2 is used by these modules:
ATRatioNonGas table
CREATE TABLE atrationongas ( polProcessID int(11) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', ATRatio double DEFAULT NULL, ATRatioCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,sourceTypeID,fuelSubtypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ATRatioNonGas is used by these modules:
AverageTankGasoline table
CREATE TABLE averagetankgasoline ( zoneID int(11) NOT NULL DEFAULT '0', fuelYearID int(11) NOT NULL DEFAULT '0', monthGroupID smallint(6) NOT NULL DEFAULT '0', ETOHVolume float DEFAULT NULL, RVP float DEFAULT NULL, fuelTypeID smallint(6) NOT NULL DEFAULT '0', isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (zoneID,fuelTypeID,fuelYearID,monthGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The AverageTankGasoline is used by these modules:
AverageTankTemperature table
CREATE TABLE averagetanktemperature ( tankTemperatureGroupID smallint(6) NOT NULL DEFAULT '0', zoneID int(11) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', averageTankTemperature float DEFAULT NULL, averageTankTemperatureCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (tankTemperatureGroupID,zoneID,monthID,hourDayID,opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The AverageTankTemperature is used by these modules:
avft table
CREATE TABLE avft ( sourceTypeID smallint(6) NOT NULL, modelYearID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, fuelEngFraction double NOT NULL, PRIMARY KEY (sourceTypeID,modelYearID,fuelTypeID,engTechID), KEY sourceTypeID (sourceTypeID), KEY modelYearID (modelYearID), KEY fuelTypeID (fuelTypeID), KEY engTechID (engTechID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
AvgSpeedBin table
CREATE TABLE avgspeedbin ( avgSpeedBinID smallint(6) NOT NULL DEFAULT '0', avgBinSpeed float DEFAULT NULL, avgSpeedBinDesc char(50) DEFAULT NULL, opModeIDTirewear smallint(6) DEFAULT NULL, opModeIDRunning smallint(6) DEFAULT NULL, PRIMARY KEY (avgSpeedBinID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The AvgSpeedBin is used by these modules:
- Average Speed Operating Mode Distribution Generator
- Rates Operating Mode Distribution Generator
- Total Activity Generator
AvgSpeedDistribution table
CREATE TABLE avgspeeddistribution ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', roadTypeID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', avgSpeedBinID smallint(6) NOT NULL DEFAULT '0', avgSpeedFraction float DEFAULT NULL, PRIMARY KEY (avgSpeedBinID,hourDayID,roadTypeID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY roadTypeID (roadTypeID), KEY hourDayID (hourDayID), KEY avgSpeedBinID (avgSpeedBinID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The AvgSpeedDistribution is used by these modules:
BaseFuel table
CREATE TABLE basefuel ( calculationEngine varchar(100) NOT NULL, fuelTypeID smallint(6) NOT NULL, modelYearGroupID int(11) NOT NULL DEFAULT '0', fuelFormulationID smallint(6) NOT NULL, description varchar(255) NOT NULL DEFAULT '', dataSourceID smallint(6) NOT NULL, PRIMARY KEY (calculationEngine,fuelTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The BaseFuel is used by these modules:
ColdSoakInitialHourFraction table
CREATE TABLE coldsoakinitialhourfraction ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', zoneID int(11) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', initialHourDayID smallint(6) NOT NULL DEFAULT '0', coldSoakInitialHourFraction float NOT NULL DEFAULT '0', isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (sourceTypeID,zoneID,monthID,hourDayID,initialHourDayID), KEY isUserInput (isUserInput) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ColdSoakInitialHourFraction is used by these modules:
ColdSoakTankTemperature table
CREATE TABLE coldsoaktanktemperature ( zoneID int(11) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', hourID smallint(6) NOT NULL DEFAULT '0', coldSoakTankTemperature float NOT NULL DEFAULT '0', PRIMARY KEY (zoneID,monthID,hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ColdSoakTankTemperature is used by these modules:
ComplexModelParameterName table
CREATE TABLE complexmodelparametername ( cmpID smallint(6) NOT NULL DEFAULT '0', cmpName char(25) NOT NULL, cmpExpression varchar(500) NOT NULL, PRIMARY KEY (cmpID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ComplexModelParameterName is used by these modules:
ComplexModelParameters table
CREATE TABLE complexmodelparameters ( polProcessID int(11) NOT NULL DEFAULT '0', fuelModelID smallint(6) NOT NULL DEFAULT '0', cmpID smallint(6) NOT NULL DEFAULT '0', coeff1 float DEFAULT NULL, coeff2 float DEFAULT NULL, coeff3 float DEFAULT NULL, dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,fuelModelID,cmpID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ComplexModelParameters is used by these modules:
County table
CREATE TABLE county ( countyID int(11) NOT NULL DEFAULT '0', stateID smallint(6) NOT NULL DEFAULT '0', countyName char(50) DEFAULT NULL, altitude char(1) DEFAULT NULL, GPAFract float DEFAULT NULL, barometricPressure float DEFAULT NULL, barometricPressureCV float DEFAULT NULL, PRIMARY KEY (countyID), KEY countyID (countyID,stateID), KEY stateID (stateID,countyID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The County is used by these modules:
- BaseRateCalculator
- Distance Calculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- Meteorology Generator
- SO2 Calculator
- Sulfate PM Calculator
- Tank Vapor Venting Calculator
CountyYear table
CREATE TABLE countyyear ( countyID int(11) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', refuelingVaporProgramAdjust float NOT NULL DEFAULT '0', refuelingSpillProgramAdjust float NOT NULL DEFAULT '0', PRIMARY KEY (countyID,yearID), KEY countyID (countyID), KEY yearID (yearID), KEY yearID_2 (yearID,countyID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The CountyYear is used by these modules:
CrankcaseEmissionRatio table
CREATE TABLE crankcaseemissionratio ( polProcessID int(11) NOT NULL, minModelYearID smallint(6) NOT NULL, maxModelYearID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, crankcaseRatio float NOT NULL, crankcaseRatioCV float DEFAULT NULL, PRIMARY KEY (polProcessID,minModelYearID,maxModelYearID,sourceTypeID,fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The CrankcaseEmissionRatio is used by these modules:
criteriaRatio table
CREATE TABLE criteriaratio ( fuelTypeID smallint(6) NOT NULL, fuelFormulationID smallint(6) NOT NULL, polProcessID int(11) NOT NULL, pollutantID smallint(6) NOT NULL, processID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, modelYearID smallint(6) NOT NULL, ageID smallint(6) NOT NULL, ratio double DEFAULT NULL, ratioGPA double DEFAULT NULL, ratioNoSulfur double DEFAULT NULL, PRIMARY KEY (fuelTypeID,fuelFormulationID,polProcessID,pollutantID,processID,sourceTypeID,modelYearID,ageID), KEY crFuelFormulation (polProcessID,fuelFormulationID), KEY crCommon (polProcessID,modelYearID,ageID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The criteriaRatio is used by these modules:
CumTVVCoeffs table
CREATE TABLE cumtvvcoeffs ( regClassID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', ageGroupID smallint(6) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', tvvTermA float DEFAULT NULL, tvvTermB float DEFAULT NULL, tvvTermC float DEFAULT NULL, tvvTermACV float DEFAULT NULL, tvvTermBCV float DEFAULT NULL, tvvTermCCV float DEFAULT NULL, tvvTermAIM float DEFAULT NULL, tvvTermBIM float DEFAULT NULL, tvvTermCIM float DEFAULT NULL, tvvTermAIMCV float DEFAULT NULL, tvvTermBIMCV float DEFAULT NULL, tvvTermCIMCV float DEFAULT NULL, backPurgeFactor double DEFAULT NULL, averageCanisterCapacity double DEFAULT NULL, tvvEquation varchar(4096) NOT NULL DEFAULT '', leakEquation varchar(4096) NOT NULL DEFAULT '', leakFraction double DEFAULT NULL, tankSize double DEFAULT NULL, tankFillFraction double DEFAULT NULL, leakFractionIM double DEFAULT NULL, PRIMARY KEY (regClassID,modelYearGroupID,ageGroupID,polProcessID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The CumTVVCoeffs is used by these modules:
DataSource table
CREATE TABLE datasource ( DataSourceId smallint(6) NOT NULL DEFAULT '0', Author char(25) DEFAULT NULL, Date date DEFAULT NULL, Sponsor char(30) DEFAULT NULL, DocumentID char(150) DEFAULT NULL, QualityLevel char(1) DEFAULT NULL, PRIMARY KEY (DataSourceId) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
DayOfAnyWeek table
CREATE TABLE dayofanyweek ( dayID smallint(6) NOT NULL DEFAULT '0', dayName char(10) DEFAULT NULL, noOfRealDays float NOT NULL DEFAULT '1', PRIMARY KEY (dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The DayOfAnyWeek is used by these modules:
DayVMTFraction table
CREATE TABLE dayvmtfraction ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', roadTypeID smallint(6) NOT NULL DEFAULT '0', dayID smallint(6) NOT NULL DEFAULT '0', dayVMTFraction float DEFAULT NULL, PRIMARY KEY (dayID,monthID,roadTypeID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY monthID (monthID), KEY roadTypeID (roadTypeID), KEY dayID (dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The DayVMTFraction is used by these modules:
dioxinemissionrate table
CREATE TABLE dioxinemissionrate ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', units char(30) DEFAULT NULL, meanBaseRate double DEFAULT NULL, meanBaseRateCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,fuelTypeID,modelYearGroupID), UNIQUE KEY XPKDioxinEmissionRate (polProcessID,fuelTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The dioxinemissionrate is used by these modules:
DriveSchedule table
CREATE TABLE driveschedule ( driveScheduleID smallint(6) NOT NULL DEFAULT '0', averageSpeed float NOT NULL DEFAULT '0', driveScheduleName char(50) DEFAULT NULL, PRIMARY KEY (driveScheduleID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The DriveSchedule is used by these modules:
DriveScheduleAssoc table
CREATE TABLE drivescheduleassoc ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', roadTypeID smallint(6) NOT NULL DEFAULT '0', isRamp char(1) NOT NULL DEFAULT '', driveScheduleID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (driveScheduleID,isRamp,roadTypeID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY roadTypeID (roadTypeID), KEY isRamp (isRamp), KEY driveScheduleID (driveScheduleID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The DriveScheduleAssoc is used by these modules:
DriveScheduleSecond table
CREATE TABLE driveschedulesecond ( driveScheduleID smallint(6) NOT NULL DEFAULT '0', second smallint(6) NOT NULL DEFAULT '0', speed float DEFAULT NULL, PRIMARY KEY (driveScheduleID,second), KEY driveScheduleID (driveScheduleID), KEY second (second) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The DriveScheduleSecond is used by these modules:
driveScheduleSecondLink table
CREATE TABLE driveschedulesecondlink ( linkID int(11) NOT NULL, secondID smallint(6) NOT NULL, speed float DEFAULT NULL, grade float NOT NULL DEFAULT '0', PRIMARY KEY (linkID,secondID), KEY secondID (secondID,linkID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The driveScheduleSecondLink is used by these modules:
e10FuelProperties table
CREATE TABLE e10fuelproperties ( fuelRegionID int(11) NOT NULL, fuelYearID int(11) NOT NULL, monthGroupID smallint(6) NOT NULL, RVP double DEFAULT NULL, sulfurLevel double DEFAULT NULL, ETOHVolume double DEFAULT NULL, MTBEVolume double DEFAULT NULL, ETBEVolume double DEFAULT NULL, TAMEVolume double DEFAULT NULL, aromaticContent double DEFAULT NULL, olefinContent double DEFAULT NULL, benzeneContent double DEFAULT NULL, e200 double DEFAULT NULL, e300 double DEFAULT NULL, BioDieselEsterVolume double DEFAULT NULL, CetaneIndex double DEFAULT NULL, PAHContent double DEFAULT NULL, T50 double DEFAULT NULL, T90 double DEFAULT NULL, PRIMARY KEY (fuelRegionID,fuelYearID,monthGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
EmissionProcess table
CREATE TABLE emissionprocess ( processID smallint(6) NOT NULL DEFAULT '0', processName char(50) DEFAULT NULL, SCCProcID char(1) DEFAULT NULL, occursOnRealRoads char(1) NOT NULL DEFAULT 'Y', shortName varchar(50) DEFAULT NULL, processDisplayGroupID smallint(6) unsigned DEFAULT NULL, isAffectedByOnroad tinyint(1) DEFAULT '1', isAffectedByNonroad tinyint(1) DEFAULT '0', PRIMARY KEY (processID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The EmissionProcess is used by these modules:
EmissionRate table
CREATE TABLE emissionrate ( sourceBinID bigint(20) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', meanBaseRate float DEFAULT NULL, meanBaseRateCV float DEFAULT NULL, meanBaseRateIM float DEFAULT NULL, meanBaseRateIMCV float DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (opModeID,polProcessID,sourceBinID), KEY sourceBinID (sourceBinID), KEY polProcessID (polProcessID), KEY opModeID (opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The EmissionRate is used by these modules:
EmissionRateAdjustment table
CREATE TABLE emissionrateadjustment ( polProcessID int(11) NOT NULL, sourceTypeID smallint(6) NOT NULL, regClassID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, beginModelYearID smallint(6) NOT NULL, endModelYearID smallint(6) NOT NULL, emissionRateAdjustment double DEFAULT NULL, dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,sourceTypeID,fuelTypeID,regClassID,beginModelYearID,endModelYearID), KEY polProcessID (polProcessID,beginModelYearID,endModelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The EmissionRateAdjustment is used by these modules:
EmissionRateByAge table
CREATE TABLE emissionratebyage ( sourceBinID bigint(20) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', ageGroupID smallint(6) NOT NULL DEFAULT '0', meanBaseRate float DEFAULT NULL, meanBaseRateCV float DEFAULT NULL, meanBaseRateIM float DEFAULT NULL, meanBaseRateIMCV float DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (ageGroupID,opModeID,polProcessID,sourceBinID), UNIQUE KEY XPKEmissionRateByAge (sourceBinID,polProcessID,opModeID,ageGroupID), KEY polProcessID (polProcessID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The EmissionRateByAge is used by these modules:
- Base Rate Generator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- Tank Vapor Venting Calculator
EngineSize table
CREATE TABLE enginesize ( engSizeID int(11) NOT NULL, engSizeName char(50) DEFAULT NULL, PRIMARY KEY (engSizeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
enginetech table
CREATE TABLE enginetech ( engTechID smallint(6) NOT NULL DEFAULT '0', tierID smallint(6) DEFAULT '99', strokes smallint(6) DEFAULT '99', engTechName char(50) DEFAULT NULL, engTechDesc char(80) DEFAULT NULL, PRIMARY KEY (engTechID) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
ETOHBin table
CREATE TABLE etohbin ( etohThreshID smallint(6) NOT NULL DEFAULT '0', etohThreshLow float DEFAULT NULL, etohThreshHigh float DEFAULT NULL, etohNominalValue float DEFAULT NULL, PRIMARY KEY (etohThreshID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ETOHBin is used by these modules:
evapRVPTemperatureAdjustment table
CREATE TABLE evaprvptemperatureadjustment ( processID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, RVP double NOT NULL, adjustTerm3 double NOT NULL DEFAULT '0', adjustTerm2 double NOT NULL DEFAULT '0', adjustTerm1 double NOT NULL DEFAULT '0', adjustConstant double NOT NULL DEFAULT '0', PRIMARY KEY (processID,fuelTypeID,RVP), KEY RVP (RVP,processID,fuelTypeID), KEY RVP_2 (RVP,fuelTypeID,processID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The evapRVPTemperatureAdjustment is used by these modules:
evapTemperatureAdjustment table
CREATE TABLE evaptemperatureadjustment ( processID smallint(6) NOT NULL, tempAdjustTerm3 double NOT NULL DEFAULT '0', tempAdjustTerm2 double NOT NULL DEFAULT '0', tempAdjustTerm1 double NOT NULL DEFAULT '0', tempAdjustConstant double NOT NULL DEFAULT '0', PRIMARY KEY (processID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The evapTemperatureAdjustment is used by these modules:
ExtendedIdleHours table
CREATE TABLE extendedidlehours ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', ageID smallint(6) NOT NULL DEFAULT '0', zoneID int(11) NOT NULL DEFAULT '0', extendedIdleHours float DEFAULT NULL, extendedIdleHoursCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (ageID,hourDayID,monthID,sourceTypeID,yearID,zoneID), KEY sourceTypeID (sourceTypeID), KEY hourDayID (hourDayID), KEY monthID (monthID), KEY yearID (yearID), KEY ageID (ageID), KEY zoneID (zoneID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ExtendedIdleHours is used by these modules:
FuelEngTechAssoc table
CREATE TABLE fuelengtechassoc ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', engTechID smallint(6) NOT NULL DEFAULT '0', category char(50) NOT NULL DEFAULT '', categoryDisplayOrder smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (engTechID,fuelTypeID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
FuelFormulation table
CREATE TABLE fuelformulation ( fuelFormulationID smallint(6) NOT NULL DEFAULT '0', fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', RVP float DEFAULT NULL, sulfurLevel float NOT NULL DEFAULT '30', ETOHVolume float DEFAULT NULL, MTBEVolume float DEFAULT NULL, ETBEVolume float DEFAULT NULL, TAMEVolume float DEFAULT NULL, aromaticContent float DEFAULT NULL, olefinContent float DEFAULT NULL, benzeneContent float DEFAULT NULL, e200 float DEFAULT NULL, e300 float DEFAULT NULL, volToWtPercentOxy float DEFAULT NULL, BioDieselEsterVolume float DEFAULT NULL, CetaneIndex float DEFAULT NULL, PAHContent float DEFAULT NULL, T50 float DEFAULT NULL, T90 float DEFAULT NULL, PRIMARY KEY (fuelFormulationID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FuelFormulation is used by these modules:
- Air toxics Calculator
- BaseRateCalculator
- CO2AERunningStartExtendedIdleCalculator
- Evaporative Permeation Calculator
- Fuel Effects Generator
- HC Speciation Calculator
- Refueling Loss Calculator
- SO2 Calculator
- Sulfate PM Calculator
- Tank Fuel Generator
- TOG Speciation Calculator
FuelModelName table
CREATE TABLE fuelmodelname ( fuelModelID smallint(6) NOT NULL DEFAULT '0', fuelModelName varchar(50) NOT NULL DEFAULT '', fuelModelAbbreviation varchar(10) NOT NULL DEFAULT '', calculationEngines varchar(200) NOT NULL DEFAULT '', PRIMARY KEY (fuelModelID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FuelModelName is used by these modules:
FuelModelWtFactor table
CREATE TABLE fuelmodelwtfactor ( fuelModelID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', ageID smallint(6) NOT NULL DEFAULT '0', fuelModelWtFactor float DEFAULT NULL, dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (fuelModelID,modelYearGroupID,ageID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FuelModelWtFactor is used by these modules:
FuelModelYearGroup table
CREATE TABLE fuelmodelyeargroup ( fuelMYGroupID int(11) NOT NULL DEFAULT '0', fuelMYGroupName char(100) DEFAULT NULL, fuelMYGroupFunction char(200) DEFAULT NULL, maxSulfurLevel float DEFAULT NULL, maxSulfurLevelCV float DEFAULT NULL, maxSulfurLevelGPA float DEFAULT NULL, maxSulfurLevelGPACV float DEFAULT NULL, PRIMARY KEY (fuelMYGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
FuelParameterName table
CREATE TABLE fuelparametername ( fuelParameterID smallint(6) NOT NULL DEFAULT '0', fuelParameterName varchar(25) NOT NULL DEFAULT '', fuelParameterUnits varchar(20) NOT NULL DEFAULT '', fuelParameterExpression varchar(500) NOT NULL DEFAULT '', PRIMARY KEY (fuelParameterID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FuelParameterName is used by these modules:
FuelSubtype table
CREATE TABLE fuelsubtype ( fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', fuelSubtypeDesc char(50) DEFAULT NULL, fuelSubtypePetroleumFraction float DEFAULT NULL, fuelSubtypePetroleumFractionCV float DEFAULT NULL, fuelSubtypeFossilFraction float DEFAULT NULL, fuelSubtypeFossilFractionCV float DEFAULT NULL, carbonContent float DEFAULT NULL, oxidationFraction float DEFAULT NULL, carbonContentCV float DEFAULT NULL, oxidationFractionCV float DEFAULT NULL, energyContent float DEFAULT NULL, PRIMARY KEY (fuelSubtypeID), KEY fuelTypeID (fuelTypeID,fuelSubtypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FuelSubtype is used by these modules:
- Air toxics Calculator
- BaseRateCalculator
- CO2AERunningStartExtendedIdleCalculator
- Evaporative Permeation Calculator
- Refueling Loss Calculator
- SO2 Calculator
- Sulfate PM Calculator
- Tank Fuel Generator
- TOG Speciation Calculator
FuelSupply table
CREATE TABLE fuelsupply ( fuelRegionID int(11) NOT NULL DEFAULT '0', fuelYearID smallint(6) NOT NULL DEFAULT '0', monthGroupID smallint(6) NOT NULL DEFAULT '0', fuelFormulationID smallint(6) NOT NULL DEFAULT '0', marketShare float DEFAULT NULL, marketShareCV float DEFAULT NULL, PRIMARY KEY (fuelRegionID,fuelFormulationID,monthGroupID,fuelYearID), KEY fuelRegionID (fuelRegionID), KEY yearID (fuelYearID), KEY monthGroupID (monthGroupID), KEY fuelSubtypeID (fuelFormulationID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FuelSupply is used by these modules:
- Air toxics Calculator
- BaseRateCalculator
- CO2AERunningStartExtendedIdleCalculator
- Evaporative Permeation Calculator
- Fuel Effects Generator
- Refueling Loss Calculator
- SO2 Calculator
- Sulfate PM Calculator
- Tank Fuel Generator
- TOG Speciation Calculator
FuelSupplyYear table
CREATE TABLE fuelsupplyyear ( fuelYearID int(11) NOT NULL DEFAULT '0', PRIMARY KEY (fuelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
FuelType table
CREATE TABLE fueltype ( fuelTypeID smallint(6) NOT NULL DEFAULT '0', defaultFormulationID smallint(6) NOT NULL DEFAULT '0', fuelTypeDesc char(50) DEFAULT NULL, humidityCorrectionCoeff float DEFAULT NULL, humidityCorrectionCoeffCV float DEFAULT NULL, fuelDensity float DEFAULT NULL, subjectToEvapCalculations char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (fuelTypeID), KEY subjectToEvapCalculations (subjectToEvapCalculations,fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FuelType is used by these modules:
- BaseRateCalculator
- Liquid Leaking Calculator
- NO Calculator
- NO2 Calculator
- Refueling Loss Calculator
- SO2 Calculator
- Tank Fuel Generator
- Tank Vapor Venting Calculator
fuelUsageFraction table
CREATE TABLE fuelusagefraction ( countyID int(11) NOT NULL, fuelYearID int(11) NOT NULL, modelYearGroupID int(11) NOT NULL, sourceBinFuelTypeID smallint(6) NOT NULL, fuelSupplyFuelTypeID smallint(6) NOT NULL, usageFraction double DEFAULT NULL, PRIMARY KEY (countyID,fuelYearID,modelYearGroupID,sourceBinFuelTypeID,fuelSupplyFuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The fuelUsageFraction is used by these modules:
fuelWizardFactors table
CREATE TABLE fuelwizardfactors ( adjustedParameter varchar(4) NOT NULL, minLevel double NOT NULL, maxLevel double NOT NULL, functionType varchar(4) NOT NULL, monthGroupID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, RVP_factor double DEFAULT NULL, sulf_factor double DEFAULT NULL, ETOH_factor double DEFAULT NULL, arom_factor double DEFAULT NULL, olef_factor double DEFAULT NULL, benz_factor double DEFAULT NULL, e200_factor double DEFAULT NULL, e300_factor double DEFAULT NULL, T50_factor double DEFAULT NULL, T90_factor double DEFAULT NULL, units varchar(6) DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (fuelTypeID,monthGroupID,adjustedParameter,minLevel,maxLevel,functionType) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
FullACAdjustment table
CREATE TABLE fullacadjustment ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', fullACAdjustment float DEFAULT NULL, fullACAdjustmentCV float DEFAULT NULL, PRIMARY KEY (opModeID,polProcessID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY polProcessID (polProcessID), KEY opModeID (opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The FullACAdjustment is used by these modules:
generalFuelRatio table
CREATE TABLE generalfuelratio ( fuelTypeID smallint(6) NOT NULL, fuelFormulationID smallint(6) NOT NULL, polProcessID int(11) NOT NULL, pollutantID smallint(6) NOT NULL, processID smallint(6) NOT NULL, minModelYearID smallint(6) NOT NULL DEFAULT '1960', maxModelYearID smallint(6) NOT NULL DEFAULT '2050', minAgeID smallint(6) NOT NULL DEFAULT '0', maxAgeID smallint(6) NOT NULL DEFAULT '30', sourceTypeID smallint(6) unsigned NOT NULL, fuelEffectRatio double NOT NULL DEFAULT '0', fuelEffectRatioGPA double NOT NULL DEFAULT '0', PRIMARY KEY (fuelTypeID,fuelFormulationID,polProcessID,pollutantID,processID,minModelYearID,maxModelYearID,minAgeID,maxAgeID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The generalFuelRatio is used by these modules:
generalFuelRatioExpression table
CREATE TABLE generalfuelratioexpression ( fuelTypeID smallint(6) NOT NULL, polProcessID int(11) NOT NULL, minModelYearID int(11) NOT NULL DEFAULT '1960', maxModelYearID int(11) NOT NULL DEFAULT '2050', minAgeID int(11) NOT NULL DEFAULT '0', maxAgeID int(11) NOT NULL DEFAULT '30', sourceTypeID smallint(6) NOT NULL DEFAULT '0', fuelEffectRatioExpression varchar(32000) NOT NULL DEFAULT '', fuelEffectRatioGPAExpression varchar(32000) NOT NULL DEFAULT '', PRIMARY KEY (fuelTypeID,polProcessID,minModelYearID,maxModelYearID,minAgeID,maxAgeID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The generalFuelRatioExpression is used by these modules:
GREETManfAndDisposal table
CREATE TABLE greetmanfanddisposal ( GREETVehicleType smallint(6) NOT NULL DEFAULT '0', modelYearID smallint(6) NOT NULL DEFAULT '0', pollutantID smallint(6) NOT NULL DEFAULT '0', EmissionStage char(4) NOT NULL DEFAULT '', emissionPerVehicle float DEFAULT NULL, PRIMARY KEY (EmissionStage,GREETVehicleType,modelYearID,pollutantID), UNIQUE KEY XPKGREETManfAndDisposal (GREETVehicleType,modelYearID,pollutantID,EmissionStage), KEY GREETVehicleType (GREETVehicleType), KEY modelYearID (modelYearID), KEY pollutantID (pollutantID), KEY EmissionStage (EmissionStage) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
GREETWellToPump table
CREATE TABLE greetwelltopump ( yearID smallint(6) NOT NULL DEFAULT '0', pollutantID smallint(6) NOT NULL DEFAULT '0', fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', emissionRate float DEFAULT NULL, emissionRateUncertainty float DEFAULT NULL, PRIMARY KEY (fuelSubtypeID,pollutantID,yearID), KEY yearID (yearID), KEY pollutantID (pollutantID), KEY fuelSubtypeID (fuelSubtypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The GREETWellToPump is used by these modules:
Grid table
CREATE TABLE grid ( gridID int(11) NOT NULL DEFAULT '0', PRIMARY KEY (gridID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
GridZoneAssoc table
CREATE TABLE gridzoneassoc ( zoneID int(11) NOT NULL DEFAULT '0', gridID int(11) NOT NULL DEFAULT '0', gridAllocFactor float DEFAULT NULL, PRIMARY KEY (gridID,zoneID), KEY zoneID (zoneID), KEY gridID (gridID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
HCPermeationCoeff table
CREATE TABLE hcpermeationcoeff ( polProcessID int(11) NOT NULL DEFAULT '0', etohThreshID smallint(6) NOT NULL DEFAULT '0', fuelMYGroupID int(11) NOT NULL DEFAULT '0', fuelAdjustment float DEFAULT NULL, fuelAdjustmentGPA float DEFAULT NULL, dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,etohThreshID,fuelMYGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The HCPermeationCoeff is used by these modules:
HCSpeciation table
CREATE TABLE hcspeciation ( polProcessID int(11) NOT NULL DEFAULT '0', fuelMYGroupID int(11) NOT NULL DEFAULT '0', fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', etohThreshID smallint(6) NOT NULL DEFAULT '0', oxyThreshID smallint(6) NOT NULL DEFAULT '0', speciationConstant float DEFAULT NULL, oxySpeciation float DEFAULT NULL, PRIMARY KEY (polProcessID,fuelMYGroupID,fuelSubtypeID,etohThreshID,oxyThreshID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The HCSpeciation is used by these modules:
hotellingActivityDistribution table
CREATE TABLE hotellingactivitydistribution ( beginModelYearID smallint(6) NOT NULL, endModelYearID smallint(6) NOT NULL, opModeID smallint(6) NOT NULL, opModeFraction float NOT NULL, PRIMARY KEY (beginModelYearID,endModelYearID,opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The hotellingActivityDistribution is used by these modules:
- Activity Calculator
- Base Rate Generator
- BaseRateCalculator
- Rates Operating Mode Distribution Generator
- Total Activity Generator
hotellingCalendarYear table
CREATE TABLE hotellingcalendaryear ( yearID smallint(6) NOT NULL, hotellingRate double NOT NULL, PRIMARY KEY (yearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The hotellingCalendarYear is used by these modules:
hotellingHours table
CREATE TABLE hotellinghours ( sourceTypeID smallint(6) NOT NULL, hourDayID smallint(6) NOT NULL, monthID smallint(6) NOT NULL, yearID smallint(6) NOT NULL, ageID smallint(6) NOT NULL, zoneID int(11) NOT NULL, hotellingHours double DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (sourceTypeID,hourDayID,monthID,yearID,ageID,zoneID), KEY sourceTypeID (sourceTypeID), KEY hourDayID (hourDayID), KEY monthID (monthID), KEY yearID (yearID), KEY ageID (ageID), KEY zoneID (zoneID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The hotellingHours is used by these modules:
HourDay table
CREATE TABLE hourday ( hourDayID smallint(6) NOT NULL DEFAULT '0', dayID smallint(6) NOT NULL DEFAULT '0', hourID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (hourDayID), KEY dayID (dayID), KEY hourID (hourID), KEY dayID_2 (dayID,hourID,hourDayID), KEY hourID_2 (hourID,dayID,hourDayID), KEY hourDayID (hourDayID,dayID,hourID), KEY hourDayID_2 (hourDayID,hourID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The HourDay is used by these modules:
- Activity Calculator
- Distance Calculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- Start Operating Mode Distribution Generator
- Tank Temperature Generator
- Tank Vapor Venting Calculator
- Total Activity Generator
HourOfAnyDay table
CREATE TABLE hourofanyday ( hourID smallint(6) NOT NULL DEFAULT '0', hourname char(50) DEFAULT NULL, PRIMARY KEY (hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The HourOfAnyDay is used by these modules:
HourVMTFraction table
CREATE TABLE hourvmtfraction ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', roadTypeID smallint(6) NOT NULL DEFAULT '0', dayID smallint(6) NOT NULL DEFAULT '0', hourID smallint(6) NOT NULL DEFAULT '0', hourVMTFraction float DEFAULT NULL, PRIMARY KEY (dayID,hourID,roadTypeID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY roadTypeID (roadTypeID), KEY dayID (dayID), KEY hourID (hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The HourVMTFraction is used by these modules:
HPMSVtype table
CREATE TABLE hpmsvtype ( HPMSVtypeID smallint(6) NOT NULL DEFAULT '0', HPMSVtypeName char(50) DEFAULT NULL, PRIMARY KEY (HPMSVtypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
HPMSVtypeDay table
CREATE TABLE hpmsvtypeday ( yearID smallint(6) NOT NULL, monthID smallint(6) NOT NULL, dayID smallint(6) NOT NULL, HPMSVtypeID smallint(6) NOT NULL, VMT double NOT NULL, PRIMARY KEY (yearID,monthID,dayID,HPMSVtypeID), KEY HPMSVtypeID (HPMSVtypeID,yearID,monthID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The HPMSVtypeDay is used by these modules:
HPMSVtypeYear table
CREATE TABLE hpmsvtypeyear ( HPMSVtypeID smallint(6) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', VMTGrowthFactor double DEFAULT NULL, HPMSBaseYearVMT double DEFAULT NULL, PRIMARY KEY (HPMSVtypeID,yearID), KEY HPMSVtypeID (HPMSVtypeID), KEY yearID (yearID), KEY yearID_2 (yearID,HPMSVtypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The HPMSVtypeYear is used by these modules:
IMCoverage table
CREATE TABLE imcoverage ( polProcessID int(11) NOT NULL DEFAULT '0', stateID smallint(6) NOT NULL DEFAULT '0', countyID int(11) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', IMProgramID smallint(6) NOT NULL DEFAULT '0', begModelYearID smallint(6) NOT NULL DEFAULT '0', endModelYearID smallint(6) NOT NULL DEFAULT '0', inspectFreq smallint(6) DEFAULT NULL, testStandardsID smallint(6) NOT NULL DEFAULT '0', useIMyn char(1) NOT NULL DEFAULT 'Y', complianceFactor float DEFAULT NULL, PRIMARY KEY (polProcessID,stateID,countyID,yearID,sourceTypeID,fuelTypeID,IMProgramID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The IMCoverage is used by these modules:
IMFactor table
CREATE TABLE imfactor ( polProcessID int(11) NOT NULL, inspectFreq smallint(6) NOT NULL, testStandardsID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, IMModelYearGroupID int(8) NOT NULL, ageGroupID smallint(6) NOT NULL, IMFactor float DEFAULT NULL, PRIMARY KEY (polProcessID,inspectFreq,testStandardsID,sourceTypeID,fuelTypeID,IMModelYearGroupID,ageGroupID), UNIQUE KEY XPKIMFactor (polProcessID,inspectFreq,testStandardsID,sourceTypeID,fuelTypeID,IMModelYearGroupID,ageGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The IMFactor is used by these modules:
imInspectFreq table
CREATE TABLE iminspectfreq ( inspectFreq smallint(6) NOT NULL, inspectFreqDesc char(50) DEFAULT NULL, PRIMARY KEY (inspectFreq), UNIQUE KEY XPKIMInspectFreq (inspectFreq) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
IMModelYearGroup table
CREATE TABLE immodelyeargroup ( IMModelYearGroupID int(8) NOT NULL, IMModelYearGroupDesc char(40) NOT NULL, PRIMARY KEY (IMModelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
importStartsOpModeDistribution table
CREATE TABLE importstartsopmodedistribution ( sourceTypeID smallint(6) NOT NULL, hourDayID smallint(6) NOT NULL, linkID int(11) NOT NULL, polProcessID int(11) NOT NULL, opModeID smallint(6) NOT NULL, opModeFraction float DEFAULT NULL, opModeFractionCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (sourceTypeID,hourDayID,linkID,polProcessID,opModeID), KEY sourceTypeID (sourceTypeID), KEY hourDayID (hourDayID), KEY linkID (linkID), KEY polProcessID (polProcessID), KEY opModeID (opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
IMTestStandards table
CREATE TABLE imteststandards ( testStandardsID smallint(6) NOT NULL, testStandardsDesc char(50) NOT NULL, shortName varchar(50) DEFAULT NULL, PRIMARY KEY (testStandardsID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
integratedSpeciesSet table
CREATE TABLE integratedspeciesset ( mechanismID smallint(6) NOT NULL, integratedSpeciesSetID smallint(6) NOT NULL, pollutantID smallint(6) NOT NULL, useISSyn varchar(2) DEFAULT NULL, PRIMARY KEY (mechanismID,integratedSpeciesSetID,pollutantID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The integratedSpeciesSet is used by these modules:
integratedSpeciesSetName table
CREATE TABLE integratedspeciessetname ( integratedSpeciesSetID smallint(6) NOT NULL, integratedSpeciesSetName varchar(40) DEFAULT NULL, PRIMARY KEY (integratedSpeciesSetID), KEY integratedSpeciesSetName (integratedSpeciesSetName) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
Link table
CREATE TABLE link ( linkID int(11) NOT NULL DEFAULT '0', countyID int(11) NOT NULL DEFAULT '0', zoneID int(11) DEFAULT NULL, roadTypeID smallint(6) NOT NULL DEFAULT '0', linkLength float DEFAULT NULL, linkVolume float DEFAULT NULL, linkAvgSpeed float DEFAULT NULL, linkDescription varchar(50) DEFAULT NULL, linkAvgGrade float DEFAULT NULL, PRIMARY KEY (linkID), KEY countyID (countyID), KEY zoneID (zoneID), KEY roadTypeID (roadTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The Link is used by these modules:
- Activity Calculator
- Average Speed Operating Mode Distribution Generator
- Distance Calculator
- Evaporative Permeation Calculator
- Link Operating Mode Distribution Generator
- Liquid Leaking Calculator
- Tank Vapor Venting Calculator
- Total Activity Generator
LinkAverageSpeed table
CREATE TABLE linkaveragespeed ( linkID int(11) NOT NULL DEFAULT '0', averageSpeed float DEFAULT NULL, PRIMARY KEY (linkID), KEY linkID (linkID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The LinkAverageSpeed is used by these modules:
LinkHourVMTFraction table
CREATE TABLE linkhourvmtfraction ( linkID int(11) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', dayID smallint(6) NOT NULL DEFAULT '0', hourID smallint(6) NOT NULL DEFAULT '0', VMTFraction float DEFAULT NULL, PRIMARY KEY (dayID,hourID,linkID,monthID,sourceTypeID), KEY linkID (linkID), KEY monthID (monthID), KEY sourceTypeID (sourceTypeID), KEY dayID (dayID), KEY hourID (hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
linkSourceTypeHour table
CREATE TABLE linksourcetypehour ( linkID int(11) NOT NULL, sourceTypeID smallint(6) NOT NULL, sourceTypeHourFraction float DEFAULT NULL, PRIMARY KEY (linkID,sourceTypeID), KEY sourceTypeID (sourceTypeID,linkID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The linkSourceTypeHour is used by these modules:
lumpedSpeciesName table
CREATE TABLE lumpedspeciesname ( lumpedSpeciesID smallint(6) NOT NULL, lumpedSpeciesName varchar(20) DEFAULT NULL, PRIMARY KEY (lumpedSpeciesID), KEY lumpedSpeciesName (lumpedSpeciesName) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The lumpedSpeciesName is used by these modules:
M6SulfurCoeff table
CREATE TABLE m6sulfurcoeff ( pollutantID smallint(6) NOT NULL, minModelYearID smallint(6) NOT NULL, maxModelYearID smallint(6) NOT NULL, minSulfur double NOT NULL, sulfurLongCoeff double DEFAULT NULL, sulfurIRFactor double DEFAULT NULL, maxIRFactorSulfur double DEFAULT NULL, PRIMARY KEY (pollutantID,minModelYearID,maxModelYearID), KEY pollutantID (pollutantID,minModelYearID,maxModelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
MeanFuelParameters table
CREATE TABLE meanfuelparameters ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', fuelParameterID smallint(6) NOT NULL DEFAULT '0', baseValue float DEFAULT NULL, centeringValue float DEFAULT NULL, stdDevValue float DEFAULT NULL, dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,fuelTypeID,modelYearGroupID,fuelParameterID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The MeanFuelParameters is used by these modules:
mechanismName table
CREATE TABLE mechanismname ( mechanismID smallint(6) NOT NULL, mechanismName varchar(40) DEFAULT NULL, PRIMARY KEY (mechanismID), KEY mechanismName (mechanismName) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
metalemissionrate table
CREATE TABLE metalemissionrate ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', units char(20) DEFAULT NULL, meanBaseRate double DEFAULT NULL, meanBaseRateCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,fuelTypeID,sourceTypeID,modelYearGroupID), UNIQUE KEY XPKMetalEmissionRate (polProcessID,fuelTypeID,sourceTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The metalemissionrate is used by these modules:
methaneTHCRatio table
CREATE TABLE methanethcratio ( processID smallint(6) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', ageGroupID smallint(6) NOT NULL DEFAULT '0', CH4THCRatio double DEFAULT NULL, CH4THCRatioCV double DEFAULT NULL, PRIMARY KEY (processID,fuelTypeID,sourceTypeID,modelYearGroupID,ageGroupID), UNIQUE KEY XPKMethaneTHCRatio (processID,fuelTypeID,sourceTypeID,modelYearGroupID,ageGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The methaneTHCRatio is used by these modules:
minorhapratio table
CREATE TABLE minorhapratio ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', atRatio double DEFAULT NULL, atRatioCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (fuelTypeID,fuelSubtypeID,polProcessID,modelYearGroupID), UNIQUE KEY XPKMinorHAPRatio (fuelTypeID,fuelSubtypeID,polProcessID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The minorhapratio is used by these modules:
ModelYear table
CREATE TABLE modelyear ( modelYearID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (modelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ModelYear is used by these modules:
modelYearCutPoints table
CREATE TABLE modelyearcutpoints ( cutPointName varchar(100) NOT NULL, modelYearID smallint(6) NOT NULL, PRIMARY KEY (cutPointName) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The modelYearCutPoints is used by these modules:
ModelYearGroup table
CREATE TABLE modelyeargroup ( modelYearGroupID int(11) NOT NULL DEFAULT '0', shortModYrGroupID smallint(6) NOT NULL DEFAULT '0', modelYearGroupName char(50) DEFAULT NULL, modelYearGroupStartYear smallint(6) DEFAULT NULL, modelYearGroupEndYear smallint(6) DEFAULT NULL, PRIMARY KEY (modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ModelYearGroup is used by these modules:
modelYearMapping table
CREATE TABLE modelyearmapping ( startUserModelYear smallint(6) NOT NULL, endUserModelYear smallint(6) NOT NULL, startStandardModelYear smallint(6) NOT NULL, endStandardModelYear smallint(6) NOT NULL, PRIMARY KEY (startUserModelYear,endUserModelYear) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The modelYearMapping is used by these modules:
MonthGroupHour table
CREATE TABLE monthgrouphour ( monthGroupID smallint(6) NOT NULL DEFAULT '0', hourID smallint(6) NOT NULL DEFAULT '0', ACActivityTermA float DEFAULT NULL, ACActivityTermACV float DEFAULT NULL, ACActivityTermB float DEFAULT NULL, ACActivityTermBCV float DEFAULT NULL, ACActivityTermC float DEFAULT NULL, ACActivityTermCCV float DEFAULT NULL, PRIMARY KEY (hourID,monthGroupID), KEY monthGroupID (monthGroupID), KEY hourID (hourID), KEY hourID_2 (hourID,monthGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The MonthGroupHour is used by these modules:
MonthGroupOfAnyYear table
CREATE TABLE monthgroupofanyyear ( monthGroupID smallint(6) NOT NULL DEFAULT '0', monthGroupName char(50) DEFAULT NULL, PRIMARY KEY (monthGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
MonthofAnyYear table
CREATE TABLE monthofanyyear ( monthID smallint(6) NOT NULL DEFAULT '0', monthName char(10) DEFAULT NULL, noOfDays smallint(6) DEFAULT NULL, monthGroupID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (monthID), KEY monthGroupID (monthGroupID), KEY monthGroupID_2 (monthGroupID,monthID), KEY monthID (monthID,monthGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The MonthofAnyYear is used by these modules:
- Air toxics Calculator
- BaseRateCalculator
- CO2AERunningStartExtendedIdleCalculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- Refueling Loss Calculator
- SO2 Calculator
- Sulfate PM Calculator
- Tank Fuel Generator
- Tank Vapor Venting Calculator
- TOG Speciation Calculator
MonthVMTFraction table
CREATE TABLE monthvmtfraction ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', monthVMTFraction float DEFAULT NULL, PRIMARY KEY (monthID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY monthID (monthID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The MonthVMTFraction is used by these modules:
NONO2Ratio table
CREATE TABLE nono2ratio ( polProcessID int(11) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', NOxRatio float DEFAULT NULL, NOxRatioCV float DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,sourceTypeID,fuelTypeID,modelYearGroupID), UNIQUE KEY XPKNONO2Ratio (polProcessID,sourceTypeID,fuelTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The NONO2Ratio is used by these modules:
nrAgeCategory table
CREATE TABLE nragecategory ( ageID smallint(6) NOT NULL, ageCategoryName char(50) DEFAULT NULL, PRIMARY KEY (ageID), UNIQUE KEY XPKNRAgeCategory (ageID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nratratio table
CREATE TABLE nratratio ( pollutantID smallint(6) NOT NULL, processID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, fuelSubtypeID smallint(6) NOT NULL, nrHPCategory char(1) NOT NULL, atRatio double DEFAULT NULL, atRatioCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (pollutantID,processID,engTechID,fuelSubtypeID,nrHPCategory) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nratratio is used by these modules:
nrBaseYearEquipPopulation table
CREATE TABLE nrbaseyearequippopulation ( sourceTypeID smallint(6) NOT NULL, stateID smallint(6) NOT NULL, population double NOT NULL, NRBaseYearID smallint(6) NOT NULL, PRIMARY KEY (sourceTypeID,stateID), UNIQUE KEY XPKNRBaseYearEquipPopulation (sourceTypeID,stateID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrCrankcaseEmissionRate table
CREATE TABLE nrcrankcaseemissionrate ( polProcessID int(11) NOT NULL, SCC char(10) NOT NULL, hpMin smallint(6) NOT NULL, hpMax smallint(6) NOT NULL, modelYearID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, meanBaseRate float DEFAULT NULL, units varchar(12) DEFAULT NULL, dataSourceID smallint(6) NOT NULL, PRIMARY KEY (polProcessID,SCC,hpMin,hpMax,modelYearID,engTechID), UNIQUE KEY XPKnrCrankCaseEmissionRatio (polProcessID,SCC,hpMin,hpMax,modelYearID,engTechID), KEY INDEX1 (polProcessID), KEY XPFnrCrankCaseEmissionRatio (polProcessID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrDayAllocation table
CREATE TABLE nrdayallocation ( scc char(10) NOT NULL, dayID smallint(6) NOT NULL, dayFraction float NOT NULL, PRIMARY KEY (scc,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrDeterioration table
CREATE TABLE nrdeterioration ( polProcessID int(11) NOT NULL, engTechID smallint(6) NOT NULL, DFCoefficient float DEFAULT NULL, DFAgeExponent float DEFAULT NULL, emissionCap smallint(6) NOT NULL, PRIMARY KEY (polProcessID,engTechID), UNIQUE KEY XPKNRDeterioration (polProcessID,engTechID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrdioxinemissionrate table
CREATE TABLE nrdioxinemissionrate ( pollutantID smallint(6) NOT NULL, processID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, engtechID smallint(6) NOT NULL, nrHPCategory char(1) NOT NULL, units char(30) DEFAULT NULL, meanBaseRate double DEFAULT NULL, meanBaseRateCV double DEFAULT NULL, dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (pollutantID,processID,fuelTypeID,engtechID,nrHPCategory) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrdioxinemissionrate is used by these modules:
nrEmissionRate table
CREATE TABLE nremissionrate ( polProcessID int(11) NOT NULL, SCC char(10) NOT NULL, hpMin smallint(6) NOT NULL, hpMax smallint(6) NOT NULL, modelYearID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, meanBaseRate float DEFAULT NULL, units varchar(12) DEFAULT NULL, dataSourceID smallint(6) NOT NULL, PRIMARY KEY (polProcessID,SCC,hpMin,hpMax,modelYearID,engTechID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrEngtechFraction table
CREATE TABLE nrengtechfraction ( SCC char(10) NOT NULL, hpMin smallint(6) NOT NULL, hpMax smallint(6) NOT NULL, modelYearID smallint(6) NOT NULL, processGroupID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, NREngTechFraction float DEFAULT NULL, PRIMARY KEY (SCC,hpMin,hpMax,modelYearID,processGroupID,engTechID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrEquipmentType table
CREATE TABLE nrequipmenttype ( NREquipTypeID smallint(6) NOT NULL, description char(40) DEFAULT NULL, sectorID smallint(6) NOT NULL, useDefaultScrappage char(1) DEFAULT NULL, surrogateID smallint(6) DEFAULT NULL, PRIMARY KEY (NREquipTypeID), UNIQUE KEY XPKNREquipmentType (NREquipTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrEvapEmissionRate table
CREATE TABLE nrevapemissionrate ( polProcessID int(11) NOT NULL, SCC char(10) NOT NULL, hpMin smallint(6) NOT NULL, hpMax smallint(6) NOT NULL, modelYearID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, meanBaseRate float DEFAULT NULL, units varchar(12) DEFAULT NULL, dataSourceID smallint(6) NOT NULL, PRIMARY KEY (polProcessID,SCC,hpMin,hpMax,modelYearID,engTechID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrFuelSubtype table
CREATE TABLE nrfuelsubtype ( fuelSubtypeID smallint(6) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', fuelSubtypeDesc char(50) DEFAULT NULL, fuelSubtypePetroleumFraction float DEFAULT NULL, fuelSubtypePetroleumFractionCV float DEFAULT NULL, fuelSubtypeFossilFraction float DEFAULT NULL, fuelSubtypeFossilFractionCV float DEFAULT NULL, carbonContent float DEFAULT NULL, oxidationFraction float DEFAULT NULL, carbonContentCV float DEFAULT NULL, oxidationFractionCV float DEFAULT NULL, energyContent float DEFAULT NULL, PRIMARY KEY (fuelSubtypeID), KEY fuelTypeID (fuelTypeID,fuelSubtypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrFuelSupply table
CREATE TABLE nrfuelsupply ( fuelRegionID int(11) NOT NULL DEFAULT '0', fuelYearID int(11) NOT NULL DEFAULT '0', monthGroupID smallint(6) NOT NULL DEFAULT '0', fuelFormulationID smallint(6) NOT NULL DEFAULT '0', marketShare float DEFAULT NULL, marketShareCV float DEFAULT NULL, PRIMARY KEY (fuelRegionID,fuelFormulationID,monthGroupID,fuelYearID), KEY countyID (fuelRegionID), KEY yearID (fuelYearID), KEY monthGroupID (monthGroupID), KEY fuelSubtypeID (fuelFormulationID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrFuelType table
CREATE TABLE nrfueltype ( fuelTypeID smallint(6) NOT NULL DEFAULT '0', defaultFormulationID smallint(6) NOT NULL DEFAULT '0', fuelTypeDesc char(50) DEFAULT NULL, humidityCorrectionCoeff float DEFAULT NULL, humidityCorrectionCoeffCV float DEFAULT NULL, fuelDensity float DEFAULT NULL, subjectToEvapCalculations char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrGrowthIndex table
CREATE TABLE nrgrowthindex ( growthPatternID smallint(6) NOT NULL, yearID smallint(6) NOT NULL, growthIndex smallint(6) DEFAULT NULL, PRIMARY KEY (growthPatternID,yearID), UNIQUE KEY XPKNRGrowthIndex (growthPatternID,yearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrGrowthPattern table
CREATE TABLE nrgrowthpattern ( growthPatternID smallint(6) NOT NULL, description char(80) DEFAULT NULL, PRIMARY KEY (growthPatternID), UNIQUE KEY XPKNRGrowthPattern (growthPatternID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrGrowthPatternFinder table
CREATE TABLE nrgrowthpatternfinder ( SCC char(10) NOT NULL, stateID smallint(6) NOT NULL, growthPatternID smallint(6) NOT NULL, PRIMARY KEY (SCC,stateID), UNIQUE KEY XPKNRGrowthPatternFinder (SCC,stateID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrhcspeciation table
CREATE TABLE nrhcspeciation ( pollutantID smallint(6) NOT NULL, processID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, fuelSubtypeID smallint(6) NOT NULL, nrHPCategory char(1) NOT NULL, speciationConstant double DEFAULT NULL, speciationConstantCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (pollutantID,processID,engTechID,fuelSubtypeID,nrHPCategory) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrhcspeciation is used by these modules:
nrHourAllocation table
CREATE TABLE nrhourallocation ( NRHourAllocPatternID smallint(6) NOT NULL, hourID smallint(6) NOT NULL, hourFraction float NOT NULL, PRIMARY KEY (NRHourAllocPatternID,hourID), UNIQUE KEY XPKNRHourAllocation (NRHourAllocPatternID,hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrHourAllocPattern table
CREATE TABLE nrhourallocpattern ( NRHourAllocPatternID smallint(6) NOT NULL, description char(255) NOT NULL, PRIMARY KEY (NRHourAllocPatternID), UNIQUE KEY XPKNRHourAllocPattern (NRHourAllocPatternID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrHourPatternFinder table
CREATE TABLE nrhourpatternfinder ( NREquipTypeID smallint(6) NOT NULL, NRHourAllocPatternID smallint(6) DEFAULT NULL, PRIMARY KEY (NREquipTypeID), UNIQUE KEY XPKNRHourPatternFinder (NREquipTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrhpcategory table
CREATE TABLE nrhpcategory ( nrhprangebinid smallint(6) NOT NULL, engtechid smallint(6) NOT NULL, nrhpcategory char(1) DEFAULT NULL, PRIMARY KEY (nrhprangebinid,engtechid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrhpcategory is used by these modules:
nrHPRangeBin table
CREATE TABLE nrhprangebin ( NRHPRangeBinID smallint(6) NOT NULL, binName char(20) DEFAULT NULL, hpMin smallint(6) DEFAULT NULL, hpMax smallint(6) DEFAULT NULL, engSizeID smallint(6) NOT NULL, PRIMARY KEY (NRHPRangeBinID), UNIQUE KEY XPKNRHPRangeBin (NRHPRangeBinID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrintegratedspecies table
CREATE TABLE nrintegratedspecies ( pollutantID smallint(6) NOT NULL, PRIMARY KEY (pollutantID) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrintegratedspecies is used by these modules:
nrmetalemissionrate table
CREATE TABLE nrmetalemissionrate ( pollutantID smallint(6) NOT NULL, processID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, nrHPCategory char(1) NOT NULL, units char(12) DEFAULT NULL, meanBaseRate double DEFAULT NULL, meanBaseRateCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (pollutantID,processID,fuelTypeID,engTechID,nrHPCategory) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrmetalemissionrate is used by these modules:
nrmethanethcratio table
CREATE TABLE nrmethanethcratio ( processID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, fuelSubtypeID smallint(6) NOT NULL, nrHPCategory char(1) NOT NULL, CH4THCRatio double DEFAULT NULL, CH4THCRatioCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (processID,fuelSubtypeID,engTechID,nrHPCategory) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrmethanethcratio is used by these modules:
nrMonthAllocation table
CREATE TABLE nrmonthallocation ( SCC char(10) NOT NULL, stateID smallint(6) NOT NULL, monthID smallint(6) NOT NULL, monthFraction float NOT NULL, PRIMARY KEY (SCC,stateID,monthID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrpahgasratio table
CREATE TABLE nrpahgasratio ( pollutantID smallint(6) NOT NULL, processid smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, nrHPCategory char(1) NOT NULL, atratio double DEFAULT NULL, atratioCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (pollutantID,processid,fuelTypeID,engTechID,nrHPCategory) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrpahgasratio is used by these modules:
nrpahparticleratio table
CREATE TABLE nrpahparticleratio ( pollutantID smallint(6) NOT NULL, processid smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, nrHPCategory char(1) NOT NULL, atratio double DEFAULT NULL, atratioCV double DEFAULT NULL, datasourceId smallint(6) DEFAULT NULL, PRIMARY KEY (pollutantID,processid,fuelTypeID,engTechID,nrHPCategory) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
The nrpahparticleratio is used by these modules:
nrRetrofitFactors table
CREATE TABLE nrretrofitfactors ( retrofitStartYear smallint(6) NOT NULL, retrofitEndYear smallint(6) NOT NULL, StartModelYear smallint(6) NOT NULL, EndModelYear smallint(6) NOT NULL, SCC char(10) NOT NULL, engTechID smallint(6) NOT NULL, hpMin smallint(6) NOT NULL, hpMax smallint(6) NOT NULL, pollutantID smallint(6) NOT NULL, retrofitID smallint(6) NOT NULL, annualFractionRetrofit float DEFAULT NULL, retrofitEffectiveFraction float DEFAULT NULL, PRIMARY KEY (SCC,engTechID,hpMin,hpMax,pollutantID,retrofitID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrSCC table
CREATE TABLE nrscc ( SCC char(10) NOT NULL, NREquipTypeID smallint(6) NOT NULL, description char(40) DEFAULT NULL, fuelTypeID smallint(6) NOT NULL, PRIMARY KEY (SCC), UNIQUE KEY XPKNRSCC (SCC) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrScrappageCurve table
CREATE TABLE nrscrappagecurve ( NREquipTypeID smallint(6) NOT NULL, fractionLifeused float NOT NULL, percentageScrapped float DEFAULT NULL, PRIMARY KEY (NREquipTypeID,fractionLifeused), UNIQUE KEY XPKNRScrappageCurve (NREquipTypeID,fractionLifeused) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrSourceUseType table
CREATE TABLE nrsourceusetype ( sourceTypeID smallint(6) NOT NULL, SCC char(10) NOT NULL, NRHPRangeBinID smallint(6) NOT NULL, medianLifeFullLoad float DEFAULT NULL, hoursUsedPerYear float DEFAULT NULL, loadFactor float DEFAULT NULL, hpAvg float DEFAULT NULL, isPumpFilled char(1) DEFAULT NULL, tankUnits char(7) DEFAULT NULL, tankSize float DEFAULT NULL, tankFillFrac float DEFAULT NULL, tankMetalFrac float DEFAULT NULL, hoseLength float DEFAULT NULL, hoseDiameter float DEFAULT NULL, hoseMetalFrac float DEFAULT NULL, marineFillNeckHoseLength float DEFAULT NULL, marineFillNeckHoseDiameter float DEFAULT NULL, marineSupplyHoseLength float DEFAULT NULL, marineSupplyHoseDiameter float DEFAULT NULL, marineVentHoseLength float DEFAULT NULL, marineVentHoseDiameter float DEFAULT NULL, hotSoaksPerSHO float DEFAULT NULL, nonInstMarineTankFrac float DEFAULT NULL, marineInstPlasticTankTrailFrac float NOT NULL, marineInstPlasticTankWaterFrac float DEFAULT NULL, marineInstMetalTankTrailerFrac float DEFAULT NULL, marineInstMetalTankWaterFrac float DEFAULT NULL, e10TankPermeationAdjFac float DEFAULT NULL, e10HosePermeationAdjFac float DEFAULT NULL, e10MarineFillNeckPermAdjFac float DEFAULT NULL, e10MarineSupplyHosePermAdjFac float DEFAULT NULL, e10MarineVentHosePermAdjFac float DEFAULT NULL, PRIMARY KEY (sourceTypeID), UNIQUE KEY XPKNRSourceUseType (sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrStateSurrogate table
CREATE TABLE nrstatesurrogate ( surrogateID smallint(6) NOT NULL DEFAULT '0', stateID smallint(6) NOT NULL DEFAULT '0', countyID int(11) NOT NULL DEFAULT '0', surrogatequant double NOT NULL, surrogateYearID smallint(6) NOT NULL DEFAULT '2002', PRIMARY KEY (surrogateID,stateID,countyID,surrogateYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrSulfurAdjustment table
CREATE TABLE nrsulfuradjustment ( fuelTypeID smallint(6) NOT NULL, engTechID smallint(6) NOT NULL, PMBaseSulfur float NOT NULL, sulfatePMConversionFactor float NOT NULL, PRIMARY KEY (fuelTypeID,engTechID), UNIQUE KEY XPKNRSulfurAdjustment (fuelTypeID,engTechID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrSurrogate table
CREATE TABLE nrsurrogate ( surrogateID smallint(6) NOT NULL, description char(255) DEFAULT NULL, surrogateAbbr char(3) DEFAULT NULL, PRIMARY KEY (surrogateID), UNIQUE KEY XPKNRSurrogate (surrogateID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
nrUSMonthAllocation table
CREATE TABLE nrusmonthallocation ( SCC char(10) NOT NULL, stateID smallint(6) NOT NULL, monthID smallint(6) NOT NULL, monthFraction float NOT NULL, PRIMARY KEY (SCC,stateID,monthID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
offNetworkLink table
CREATE TABLE offnetworklink ( sourceTypeID smallint(6) NOT NULL, zoneID int(11) NOT NULL DEFAULT '0', vehiclePopulation float DEFAULT NULL, startFraction float DEFAULT NULL, extendedIdleFraction float DEFAULT NULL, parkedVehicleFraction float DEFAULT NULL, PRIMARY KEY (zoneID,sourceTypeID), KEY sourceTypeID (sourceTypeID,zoneID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The offNetworkLink is used by these modules:
OMDGPolProcessRepresented table
CREATE TABLE omdgpolprocessrepresented ( polProcessID int(11) NOT NULL, representingPolProcessID int(11) NOT NULL, PRIMARY KEY (polProcessID), KEY representingPolProcessID (representingPolProcessID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The OMDGPolProcessRepresented is used by these modules:
onRoadRetrofit table
CREATE TABLE onroadretrofit ( pollutantID smallint(6) NOT NULL, processID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, retrofitYearID smallint(6) NOT NULL, beginModelYearID smallint(6) NOT NULL, endModelYearID smallint(6) NOT NULL, cumFractionRetrofit double NOT NULL DEFAULT '0', retrofitEffectiveFraction double NOT NULL DEFAULT '0', PRIMARY KEY (pollutantID,processID,fuelTypeID,sourceTypeID,retrofitYearID,beginModelYearID,endModelYearID), KEY retrofitYearID (retrofitYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
OperatingMode table
CREATE TABLE operatingmode ( opModeID smallint(6) NOT NULL DEFAULT '0', opModeName char(50) DEFAULT NULL, VSPLower float DEFAULT NULL, VSPUpper float DEFAULT NULL, speedLower float DEFAULT NULL, speedUpper float DEFAULT NULL, brakeRate1Sec float DEFAULT NULL, brakeRate3Sec float DEFAULT NULL, minSoakTime smallint(6) DEFAULT NULL, maxSoakTime smallint(6) DEFAULT NULL, PRIMARY KEY (opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The OperatingMode is used by these modules:
- Average Speed Operating Mode Distribution Generator
- Rates Operating Mode Distribution Generator
- Start Operating Mode Distribution Generator
OpModeDistribution table
CREATE TABLE opmodedistribution ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', linkID int(11) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', opModeFraction float DEFAULT NULL, opModeFractionCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (hourDayID,linkID,opModeID,polProcessID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY hourDayID (hourDayID), KEY linkID (linkID), KEY polProcessID (polProcessID), KEY opModeID (opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The OpModeDistribution is used by these modules:
- Evaporative Emissions Operating Mode Distribution Generator
- Evaporative Permeation Calculator
- Link Operating Mode Distribution Generator
- Liquid Leaking Calculator
- Start Operating Mode Distribution Generator
- Tank Vapor Venting Calculator
OpModePolProcAssoc table
CREATE TABLE opmodepolprocassoc ( polProcessID int(11) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (opModeID,polProcessID), KEY polProcessID (polProcessID), KEY opModeID (opModeID), KEY opModeID_2 (opModeID,polProcessID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The OpModePolProcAssoc is used by these modules:
- Evaporative Emissions Operating Mode Distribution Generator
- Link Operating Mode Distribution Generator
- Rates Operating Mode Distribution Generator
- Start Operating Mode Distribution Generator
OxyThreshName table
CREATE TABLE oxythreshname ( oxyThreshID smallint(6) NOT NULL DEFAULT '0', oxyThreshName char(100) DEFAULT NULL, PRIMARY KEY (oxyThreshID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
pahGasRatio table
CREATE TABLE pahgasratio ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', atRatio double DEFAULT NULL, atRatioCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,fuelTypeID,modelYearGroupID), UNIQUE KEY XPKPAHGasRatio (polProcessID,fuelTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The pahGasRatio is used by these modules:
pahParticleRatio table
CREATE TABLE pahparticleratio ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', atRatio double DEFAULT NULL, atRatioCV double DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,fuelTypeID,modelYearGroupID), UNIQUE KEY XPKPAHParticleRatio (polProcessID,fuelTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The pahParticleRatio is used by these modules:
PM10EmissionRatio table
CREATE TABLE pm10emissionratio ( polProcessID int(11) NOT NULL, sourceTypeID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, PM10PM25Ratio float NOT NULL, PM10PM25RatioCV float DEFAULT NULL, minModelYearID smallint(6) NOT NULL DEFAULT '1940', maxModelYearID smallint(6) NOT NULL DEFAULT '2050', PRIMARY KEY (polProcessID,sourceTypeID,fuelTypeID,minModelYearID,maxModelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The PM10EmissionRatio is used by these modules:
PMSpeciation table
CREATE TABLE pmspeciation ( processID smallint(6) NOT NULL, inputPollutantID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, minModelYearID smallint(6) NOT NULL, maxModelYearID smallint(6) NOT NULL, outputPollutantID smallint(6) NOT NULL, pmSpeciationFraction double NOT NULL, PRIMARY KEY (processID,inputPollutantID,sourceTypeID,fuelTypeID,minModelYearID,maxModelYearID,outputPollutantID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The PMSpeciation is used by these modules:
Pollutant table
CREATE TABLE pollutant ( pollutantID smallint(6) NOT NULL DEFAULT '0', pollutantName char(50) DEFAULT NULL, energyOrMass char(6) NOT NULL DEFAULT '', globalWarmingPotential smallint(6) DEFAULT NULL, NEIPollutantCode char(10) DEFAULT NULL, pollutantDisplayGroupID smallint(6) DEFAULT NULL, shortName varchar(50) DEFAULT NULL, isAffectedByOnroad tinyint(1) DEFAULT '1', isAffectedByNonroad tinyint(1) DEFAULT '0', PRIMARY KEY (pollutantID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The Pollutant is used by these modules:
PollutantProcessAssoc table
CREATE TABLE pollutantprocessassoc ( polProcessID int(11) NOT NULL DEFAULT '0', processID smallint(6) NOT NULL DEFAULT '0', pollutantID smallint(6) NOT NULL DEFAULT '0', isAffectedByExhaustIM char(1) NOT NULL DEFAULT 'N', isAffectedByEvapIM char(1) NOT NULL DEFAULT 'N', chainedto1 int(11) DEFAULT NULL, chainedto2 int(11) DEFAULT NULL, isAffectedByOnroad tinyint(1) DEFAULT '1', isAffectedByNonroad tinyint(1) DEFAULT '0', nrChainedTo1 int(11) DEFAULT NULL, nrChainedTo2 int(11) DEFAULT NULL, PRIMARY KEY (polProcessID), KEY processID (processID), KEY pollutantID (pollutantID), KEY processID_2 (processID,pollutantID,polProcessID), KEY pollutantID_2 (pollutantID,processID,polProcessID), KEY polProcessID (polProcessID,processID,pollutantID), KEY polProcessID_2 (polProcessID,pollutantID,processID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The PollutantProcessAssoc is used by these modules:
- Air toxics Calculator
- Base Rate Generator
- BaseRateCalculator
- Crankcase Emission Calculator
- Evaporative Emissions Operating Mode Distribution Generator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- NO Calculator
- NO2 Calculator
- PM10 Brake Tire Calculator
- PM10 Emission Calculator
- Rates Operating Mode Distribution Generator
- SO2 Calculator
- SourceBin Distribution Generator
- Tank Vapor Venting Calculator
PollutantProcessModelYear table
CREATE TABLE pollutantprocessmodelyear ( polProcessID int(11) NOT NULL DEFAULT '0', modelYearID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', fuelMYGroupID int(11) DEFAULT NULL, IMModelYearGroupID int(11) DEFAULT NULL, PRIMARY KEY (modelYearID,polProcessID), KEY polProcessID (modelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The PollutantProcessModelYear is used by these modules:
- Air toxics Calculator
- Base Rate Generator
- Evaporative Permeation Calculator
- HC Speciation Calculator
- Liquid Leaking Calculator
- SourceBin Distribution Generator
- Tank Vapor Venting Calculator
processDisplayGroup table
CREATE TABLE processdisplaygroup ( processDisplayGroupID smallint(6) NOT NULL, processDisplayGroupName char(50) NOT NULL, disPlayAsGroup char(1) NOT NULL, PRIMARY KEY (processDisplayGroupID), UNIQUE KEY XPKProcessDisplayGroup (processDisplayGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
processGroupID table
CREATE TABLE processgroupid ( processGroupID smallint(6) NOT NULL, processGroupName char(15) NOT NULL, PRIMARY KEY (processGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
RefuelingFactors table
CREATE TABLE refuelingfactors ( fuelTypeID smallint(6) NOT NULL, defaultFormulationID smallint(6) DEFAULT NULL, vaporTermA float NOT NULL DEFAULT '0', vaporTermB float NOT NULL DEFAULT '0', vaporTermC float NOT NULL DEFAULT '0', vaporTermD float NOT NULL DEFAULT '0', vaporTermE float NOT NULL DEFAULT '0', vaporTermF float NOT NULL DEFAULT '0', vaporLowTLimit float NOT NULL DEFAULT '0', vaporHighTLimit float NOT NULL DEFAULT '0', tankTDiffLimit float NOT NULL DEFAULT '0', minimumRefuelingVaporLoss float NOT NULL DEFAULT '0', refuelingSpillRate float NOT NULL DEFAULT '0', refuelingSpillRateCV float NOT NULL DEFAULT '0', displacedVaporRateCV float NOT NULL DEFAULT '0', PRIMARY KEY (fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The RefuelingFactors is used by these modules:
region table
CREATE TABLE region ( regionID int(11) NOT NULL, VV smallint(6) DEFAULT NULL, WW smallint(6) DEFAULT NULL, XX smallint(6) DEFAULT NULL, YY smallint(6) DEFAULT NULL, ZZ smallint(6) DEFAULT NULL, description varchar(150) DEFAULT NULL, PRIMARY KEY (regionID), KEY index1 (regionID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
regionCode table
CREATE TABLE regioncode ( regionCodeID int(11) NOT NULL, regionCodeDescription varchar(200) NOT NULL DEFAULT '', PRIMARY KEY (regionCodeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
regionCounty table
CREATE TABLE regioncounty ( regionID int(11) NOT NULL, countyID int(11) NOT NULL, regionCodeID int(11) NOT NULL, fuelYearID int(11) NOT NULL, PRIMARY KEY (regionID,countyID,regionCodeID,fuelYearID), KEY countyID (countyID,fuelYearID,regionCodeID,regionID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
RegulatoryClass table
CREATE TABLE regulatoryclass ( regClassID smallint(6) NOT NULL DEFAULT '0', regClassName char(25) DEFAULT NULL, regClassDesc char(100) DEFAULT NULL, PRIMARY KEY (regClassID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The RegulatoryClass is used by these modules:
RetrofitInputAssociations table
CREATE TABLE retrofitinputassociations ( listName varchar(20) NOT NULL, commonName varchar(50) NOT NULL, idealName varchar(50) NOT NULL, PRIMARY KEY (listName,commonName) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
RoadOpmodeDistribution table
CREATE TABLE roadopmodedistribution ( sourceTypeID smallint(6) NOT NULL, opModeID smallint(6) NOT NULL, roadTypeID smallint(6) NOT NULL, isRamp char(1) NOT NULL DEFAULT 'Y', avgSpeedBinID smallint(6) NOT NULL, opModeFraction float NOT NULL DEFAULT '0', opModeFractionCV float DEFAULT NULL, PRIMARY KEY (sourceTypeID,opModeID,roadTypeID,isRamp,avgSpeedBinID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The RoadOpmodeDistribution is used by these modules:
RoadType table
CREATE TABLE roadtype ( roadTypeID smallint(6) NOT NULL DEFAULT '0', roadDesc char(50) DEFAULT NULL, rampFraction float DEFAULT NULL, isAffectedByOnroad tinyint(1) DEFAULT '1', isAffectedByNonroad tinyint(1) DEFAULT '0', shouldDisplay tinyint(1) DEFAULT '1', PRIMARY KEY (roadTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The RoadType is used by these modules:
RoadTypeDistribution table
CREATE TABLE roadtypedistribution ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', roadTypeID smallint(6) NOT NULL DEFAULT '0', roadTypeVMTFraction float DEFAULT NULL, PRIMARY KEY (roadTypeID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY roadTypeID (roadTypeID), KEY roadTypeID_2 (roadTypeID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The RoadTypeDistribution is used by these modules:
SampleVehicleDay table
CREATE TABLE samplevehicleday ( vehID int(11) NOT NULL DEFAULT '0', dayID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (vehID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SampleVehicleDay is used by these modules:
- Start Operating Mode Distribution Generator
- Tank Temperature Generator
- Tank Vapor Venting Calculator
- Total Activity Generator
sampleVehiclePopulation table
CREATE TABLE samplevehiclepopulation ( sourceTypeModelYearID int(10) unsigned NOT NULL, sourceTypeID smallint(6) NOT NULL DEFAULT '0', modelYearID smallint(6) NOT NULL DEFAULT '0', fuelTypeID smallint(5) unsigned NOT NULL, engTechID smallint(6) NOT NULL, regClassID smallint(5) unsigned NOT NULL, stmyFuelEngFraction double NOT NULL, stmyFraction double NOT NULL, PRIMARY KEY (sourceTypeModelYearID,fuelTypeID,engTechID,regClassID), KEY stmyft (sourceTypeID,modelYearID,fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1
The sampleVehiclePopulation is used by these modules:
sampleVehicleSoaking table
CREATE TABLE samplevehiclesoaking ( soakDayID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, dayID smallint(6) NOT NULL, hourID smallint(6) NOT NULL, soakFraction double DEFAULT NULL, PRIMARY KEY (soakDayID,sourceTypeID,dayID,hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The sampleVehicleSoaking is used by these modules:
sampleVehicleSoakingDay table
CREATE TABLE samplevehiclesoakingday ( soakDayID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, dayID smallint(6) NOT NULL, F double DEFAULT NULL, PRIMARY KEY (soakDayID,sourceTypeID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The sampleVehicleSoakingDay is used by these modules:
sampleVehicleSoakingDayBasis table
CREATE TABLE samplevehiclesoakingdaybasis ( soakDayID smallint(6) NOT NULL, dayID smallint(6) NOT NULL, F double DEFAULT NULL, PRIMARY KEY (soakDayID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The sampleVehicleSoakingDayBasis is used by these modules:
sampleVehicleSoakingDayBasisUsed table
CREATE TABLE samplevehiclesoakingdaybasisused ( soakDayID smallint(6) NOT NULL, dayID smallint(6) NOT NULL, F double DEFAULT NULL, PRIMARY KEY (soakDayID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
sampleVehicleSoakingDayUsed table
CREATE TABLE samplevehiclesoakingdayused ( soakDayID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, dayID smallint(6) NOT NULL, F double DEFAULT NULL, PRIMARY KEY (soakDayID,sourceTypeID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
SampleVehicleTrip table
CREATE TABLE samplevehicletrip ( vehID int(11) NOT NULL DEFAULT '0', dayID smallint(6) NOT NULL DEFAULT '0', tripID smallint(6) NOT NULL DEFAULT '0', hourID smallint(6) DEFAULT NULL, priorTripID smallint(6) DEFAULT NULL, keyontime int(11) DEFAULT NULL, keyOffTime int(11) NOT NULL DEFAULT '0', PRIMARY KEY (vehID,dayID,tripID), KEY vehID (vehID), KEY tripID (tripID), KEY idxPriorTripID (priorTripID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SampleVehicleTrip is used by these modules:
- Start Operating Mode Distribution Generator
- Tank Temperature Generator
- Tank Vapor Venting Calculator
- Total Activity Generator
scc table
CREATE TABLE scc ( SCC char(10) NOT NULL DEFAULT '', fuelTypeID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', roadTypeID smallint(6) NOT NULL DEFAULT '0', processID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (SCC), KEY fuelTypeID (fuelTypeID), KEY sourceTypeID (sourceTypeID), KEY roadTypeID (roadTypeID), KEY processID (processID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
Sector table
CREATE TABLE sector ( sectorID smallint(6) NOT NULL, description char(40) DEFAULT NULL, PRIMARY KEY (sectorID), UNIQUE KEY XPKSector (sectorID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHO table
CREATE TABLE sho ( hourDayID smallint(6) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', ageID smallint(6) NOT NULL DEFAULT '0', linkID int(11) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', SHO float DEFAULT NULL, SHOCV float DEFAULT NULL, distance float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (ageID,hourDayID,linkID,monthID,sourceTypeID,yearID), KEY hourDayID (hourDayID), KEY monthID (monthID), KEY yearID (yearID), KEY ageID (ageID), KEY linkID (linkID), KEY sourceTypeID (sourceTypeID), KEY linkID_2 (linkID,yearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SHO is used by these modules:
- Activity Calculator
- BaseRateCalculator
- Distance Calculator
- Evaporative Emissions Operating Mode Distribution Generator
- Total Activity Generator
SizeWeightFraction table
CREATE TABLE sizeweightfraction ( sourceTypeModelYearID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', engTechID smallint(6) NOT NULL DEFAULT '0', engSizeID smallint(6) NOT NULL DEFAULT '0', weightClassID smallint(6) NOT NULL DEFAULT '0', sizeWeightFraction float DEFAULT NULL, PRIMARY KEY (engSizeID,engTechID,fuelTypeID,sourceTypeModelYearID,weightClassID), KEY yearFuelTech (sourceTypeModelYearID,engTechID,fuelTypeID), KEY engTechID (engTechID), KEY engSizeID (engSizeID), KEY weightClassID (weightClassID), KEY sourceTypeModelYearID (sourceTypeModelYearID), KEY fuelTypeID (fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
SoakActivityFraction table
CREATE TABLE soakactivityfraction ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', zoneID int(11) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', soakActivityFraction float DEFAULT NULL, soakActivityFractionCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (sourceTypeID,zoneID,monthID,hourDayID,opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SoakActivityFraction is used by these modules:
SourceBin table
CREATE TABLE sourcebin ( sourceBinID bigint(20) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', engTechID smallint(6) NOT NULL DEFAULT '0', regClassID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', engSizeID smallint(6) NOT NULL DEFAULT '0', weightClassID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (sourceBinID), KEY fuelTypeID (fuelTypeID), KEY modelYearGroupID (modelYearGroupID), KEY sourceBinID (sourceBinID,fuelTypeID,modelYearGroupID), KEY sourceBinID_2 (sourceBinID,modelYearGroupID,fuelTypeID), KEY fuelTypeID_2 (fuelTypeID,modelYearGroupID,sourceBinID), KEY fuelTypeID_3 (fuelTypeID,sourceBinID,modelYearGroupID), KEY modelYearGroupID_2 (modelYearGroupID,fuelTypeID,sourceBinID), KEY modelYearGroupID_3 (modelYearGroupID,sourceBinID,fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceBin is used by these modules:
- Base Rate Generator
- BaseRateCalculator
- Distance Calculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- SourceBin Distribution Generator
- Tank Vapor Venting Calculator
SourceBinDistribution table
CREATE TABLE sourcebindistribution ( sourceTypeModelYearID int(11) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', sourceBinID bigint(20) NOT NULL DEFAULT '0', sourceBinActivityFraction float DEFAULT NULL, sourceBinActivityFractionCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (polProcessID,sourceBinID,sourceTypeModelYearID), KEY sourceTypeModelYearID (sourceTypeModelYearID), KEY polProcessID (polProcessID), KEY sourceBinID (sourceBinID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceBinDistribution is used by these modules:
- Base Rate Generator
- Distance Calculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- SourceBin Distribution Generator
- Tank Vapor Venting Calculator
SourceHours table
CREATE TABLE sourcehours ( hourDayID smallint(6) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', ageID smallint(6) NOT NULL DEFAULT '0', linkID int(11) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', sourceHours float DEFAULT NULL, sourceHoursCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (hourDayID,monthID,yearID,ageID,linkID,sourceTypeID), KEY hourDayID (hourDayID), KEY monthID (monthID), KEY yearID (yearID), KEY ageID (ageID), KEY linkID (linkID), KEY sourceTypeID (sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceHours is used by these modules:
- Activity Calculator
- Evaporative Emissions Operating Mode Distribution Generator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- Tank Vapor Venting Calculator
- Total Activity Generator
SourceTypeAge table
CREATE TABLE sourcetypeage ( ageID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', survivalRate double DEFAULT NULL, relativeMAR double DEFAULT NULL, functioningACFraction double DEFAULT NULL, functioningACFractionCV double DEFAULT NULL, PRIMARY KEY (ageID,sourceTypeID), KEY ageID (ageID), KEY sourceTypeID (sourceTypeID), KEY sourceTypeID_2 (sourceTypeID,ageID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeAge is used by these modules:
SourceTypeAgeDistribution table
CREATE TABLE sourcetypeagedistribution ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', ageID smallint(6) NOT NULL DEFAULT '0', ageFraction double DEFAULT NULL, PRIMARY KEY (ageID,sourceTypeID,yearID), KEY sourceTypeID (sourceTypeID), KEY yearID (yearID), KEY ageID (ageID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeAgeDistribution is used by these modules:
SourceTypeDayVMT table
CREATE TABLE sourcetypedayvmt ( yearID smallint(6) NOT NULL, monthID smallint(6) NOT NULL, dayID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, VMT double NOT NULL, PRIMARY KEY (yearID,monthID,dayID,sourceTypeID), KEY sourceTypeID (sourceTypeID,yearID,monthID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeDayVMT is used by these modules:
SourceTypeHour table
CREATE TABLE sourcetypehour ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', idleSHOFactor float DEFAULT NULL, hotellingdist double DEFAULT NULL, PRIMARY KEY (hourDayID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY hourDayID (hourDayID), KEY hourDayID_2 (hourDayID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeHour is used by these modules:
SourceTypeModelYear table
CREATE TABLE sourcetypemodelyear ( sourceTypeModelYearID int(11) NOT NULL DEFAULT '0', modelYearID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', ACPenetrationFraction float DEFAULT NULL, ACPenetrationFractionCV float DEFAULT NULL, PRIMARY KEY (sourceTypeModelYearID), KEY modelYearID (modelYearID), KEY sourceTypeID (sourceTypeID), KEY sourceTypeModelYearID (sourceTypeModelYearID,modelYearID,sourceTypeID), KEY sourceTypeModelYearID_2 (sourceTypeModelYearID,sourceTypeID,modelYearID), KEY sourceTypeID_2 (sourceTypeID,modelYearID,sourceTypeModelYearID), KEY modelYearID_2 (modelYearID,sourceTypeID,sourceTypeModelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeModelYear is used by these modules:
- Activity Calculator
- Base Rate Generator
- BaseRateCalculator
- Distance Calculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- SourceBin Distribution Generator
- Tank Vapor Venting Calculator
SourceTypeModelYearGroup table
CREATE TABLE sourcetypemodelyeargroup ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', tankTemperatureGroupID smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (sourceTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeModelYearGroup is used by these modules:
SourceTypePolProcess table
CREATE TABLE sourcetypepolprocess ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', isSizeWeightReqd char(1) DEFAULT NULL, isRegClassReqd char(1) DEFAULT NULL, isMYGroupReqd char(1) DEFAULT NULL, PRIMARY KEY (polProcessID,sourceTypeID), KEY sourceTypeID (sourceTypeID), KEY polProcessID (polProcessID), KEY polProcessID_2 (polProcessID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypePolProcess is used by these modules:
- Rates Operating Mode Distribution Generator
- SourceBin Distribution Generator
- Start Operating Mode Distribution Generator
SourceTypeTechAdjustment table
CREATE TABLE sourcetypetechadjustment ( processID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, modelYearID smallint(6) NOT NULL, refuelingTechAdjustment float NOT NULL DEFAULT '0', PRIMARY KEY (processID,sourceTypeID,modelYearID), KEY processID (processID), KEY sourceTypeID (sourceTypeID), KEY modelYearID (modelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeTechAdjustment is used by these modules:
SourceTypeYear table
CREATE TABLE sourcetypeyear ( yearID smallint(6) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', salesGrowthFactor double DEFAULT NULL, sourceTypePopulation double DEFAULT NULL, migrationrate double DEFAULT NULL, PRIMARY KEY (sourceTypeID,yearID), KEY yearID (yearID), KEY sourceTypeID (sourceTypeID), KEY sourceTypeID_2 (sourceTypeID,yearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeYear is used by these modules:
SourceTypeYearVMT table
CREATE TABLE sourcetypeyearvmt ( yearID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, VMT double NOT NULL, PRIMARY KEY (yearID,sourceTypeID), KEY sourceTypeID (sourceTypeID,yearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceTypeYearVMT is used by these modules:
SourceUseType table
CREATE TABLE sourceusetype ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', HPMSVtypeID smallint(6) NOT NULL DEFAULT '0', sourceTypeName char(50) DEFAULT NULL, PRIMARY KEY (sourceTypeID), KEY HPMSVtypeID (HPMSVtypeID), KEY sourceTypeID (sourceTypeID,HPMSVtypeID), KEY HPMSVtypeID_2 (HPMSVtypeID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SourceUseType is used by these modules:
sourceUseTypePhysics table
CREATE TABLE sourceusetypephysics ( sourceTypeID smallint(6) NOT NULL, beginModelYearID smallint(6) NOT NULL, endModelYearID smallint(6) NOT NULL, rollingTermA float DEFAULT NULL, rotatingTermB float DEFAULT NULL, dragTermC float DEFAULT NULL, sourceMass float DEFAULT NULL, fixedMassFactor float DEFAULT NULL, PRIMARY KEY (sourceTypeID,beginModelYearID,endModelYearID), KEY beginModelYearID (beginModelYearID,endModelYearID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
Starts table
CREATE TABLE starts ( hourDayID smallint(6) NOT NULL DEFAULT '0', monthID smallint(6) NOT NULL DEFAULT '0', yearID smallint(6) NOT NULL DEFAULT '0', ageID smallint(6) NOT NULL DEFAULT '0', zoneID int(11) NOT NULL DEFAULT '0', sourceTypeID smallint(6) NOT NULL DEFAULT '0', starts float DEFAULT NULL, StartsCV float DEFAULT NULL, isUserInput char(1) NOT NULL DEFAULT 'N', PRIMARY KEY (ageID,hourDayID,monthID,sourceTypeID,yearID,zoneID), KEY hourDayID (hourDayID), KEY monthID (monthID), KEY yearID (yearID), KEY ageID (ageID), KEY zoneID (zoneID), KEY sourceTypeID (sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The Starts is used by these modules:
startsHourFraction table
CREATE TABLE startshourfraction ( zoneID int(11) NOT NULL, dayID smallint(6) NOT NULL, hourID smallint(6) NOT NULL, allocationFraction double NOT NULL, PRIMARY KEY (zoneID,dayID,hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
startsMonthAdjust table
CREATE TABLE startsmonthadjust ( monthID smallint(6) NOT NULL, monthAdjustment double NOT NULL, PRIMARY KEY (monthID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
startsPerDay table
CREATE TABLE startsperday ( zoneID int(11) NOT NULL, dayID smallint(6) NOT NULL, yearID smallint(6) NOT NULL, startsPerDay double NOT NULL, PRIMARY KEY (zoneID,dayID,yearID), KEY yearID (yearID,zoneID,dayID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
StartsPerVehicle table
CREATE TABLE startspervehicle ( sourceTypeID smallint(6) NOT NULL DEFAULT '0', hourDayID smallint(6) NOT NULL DEFAULT '0', startsPerVehicle float DEFAULT NULL, startsPerVehicleCV float DEFAULT NULL, PRIMARY KEY (sourceTypeID,hourDayID), KEY sourceTypeID (sourceTypeID), KEY hourDayID (hourDayID), KEY hourDayID_2 (hourDayID,sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The StartsPerVehicle is used by these modules:
startsSourceTypeFraction table
CREATE TABLE startssourcetypefraction ( sourceTypeID smallint(6) NOT NULL, allocationFraction double NOT NULL, PRIMARY KEY (sourceTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
StartTempAdjustment table
CREATE TABLE starttempadjustment ( fuelTypeID smallint(6) NOT NULL DEFAULT '0', polProcessID int(11) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', opModeID smallint(6) NOT NULL DEFAULT '0', tempAdjustTermA float DEFAULT NULL, tempAdjustTermACV float DEFAULT NULL, tempAdjustTermB float DEFAULT NULL, tempAdjustTermBCV float DEFAULT NULL, tempAdjustTermC float DEFAULT NULL, tempAdjustTermCCV float DEFAULT NULL, startTempEquationType varchar(4) DEFAULT '', PRIMARY KEY (fuelTypeID,polProcessID,modelYearGroupID,opModeID), KEY fuelTypeID (fuelTypeID), KEY polProcessID (polProcessID), KEY modelYearGroupID (modelYearGroupID), KEY opModeID (opModeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The StartTempAdjustment is used by these modules:
State table
CREATE TABLE state ( stateID smallint(6) NOT NULL DEFAULT '0', stateName char(25) DEFAULT NULL, stateAbbr char(2) DEFAULT NULL, PRIMARY KEY (stateID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
SulfateEmissionRate table
CREATE TABLE sulfateemissionrate ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', modelYearGroupID int(11) NOT NULL DEFAULT '0', meanBaseRate float DEFAULT NULL, meanBaseRateCV float DEFAULT NULL, dataSourceID smallint(6) DEFAULT NULL, PRIMARY KEY (polProcessID,fuelTypeID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SulfateEmissionRate is used by these modules:
SulfateFractions table
CREATE TABLE sulfatefractions ( processID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, minModelYearID smallint(6) NOT NULL, maxModelYearID smallint(6) NOT NULL, SulfatenonECPMFraction double NOT NULL, H2OnonECPMFraction double NOT NULL, BaseFuelSulfurLevel double NOT NULL, BaseFuelSulfateFraction double NOT NULL, DataSourceId smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (processID,fuelTypeID,sourceTypeID,minModelYearID,maxModelYearID), KEY processID (processID,sourceTypeID,fuelTypeID,minModelYearID,maxModelYearID), KEY processID_2 (processID,minModelYearID,maxModelYearID,fuelTypeID,sourceTypeID), KEY processID_3 (processID,minModelYearID,maxModelYearID,sourceTypeID,fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The SulfateFractions is used by these modules:
SulfurBase table
CREATE TABLE sulfurbase ( modelYearGroupID int(11) NOT NULL DEFAULT '0', sulfurBase float DEFAULT NULL, sulfurBasis float DEFAULT '30', sulfurGPAMax float DEFAULT '330', PRIMARY KEY (modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
sulfurCapAmount table
CREATE TABLE sulfurcapamount ( fuelTypeID smallint(6) NOT NULL, sulfurCap double DEFAULT NULL, PRIMARY KEY (fuelTypeID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
SulfurModelCoeff table
CREATE TABLE sulfurmodelcoeff ( processID smallint(6) NOT NULL, pollutantID smallint(6) NOT NULL, M6emitterID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, fuelMYGroupID int(8) NOT NULL, sulfurFunctionID smallint(6) NOT NULL, sulfurCoeff float DEFAULT NULL, lowSulfurCoeff double DEFAULT NULL, PRIMARY KEY (processID,pollutantID,M6emitterID,sourceTypeID,fuelMYGroupID,sulfurFunctionID), KEY processID (processID,pollutantID,M6emitterID,sourceTypeID,fuelMYGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
SulfurModelName table
CREATE TABLE sulfurmodelname ( M6EmitterID smallint(6) NOT NULL DEFAULT '0', sulfurFunctionID smallint(6) NOT NULL DEFAULT '0', M6emitterName char(10) DEFAULT NULL, sulfurFunctionName char(10) DEFAULT NULL, PRIMARY KEY (M6EmitterID,sulfurFunctionID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
TankTemperatureGroup table
CREATE TABLE tanktemperaturegroup ( tankTemperatureGroupID smallint(6) NOT NULL DEFAULT '0', tankTemperatureGroupName char(50) NOT NULL DEFAULT '', PRIMARY KEY (tankTemperatureGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
TankTemperatureRise table
CREATE TABLE tanktemperaturerise ( tankTemperatureGroupID smallint(6) NOT NULL DEFAULT '0', tankTemperatureRiseTermA float DEFAULT NULL, tankTemperatureRiseTermACV float DEFAULT NULL, tankTemperatureRiseTermB float DEFAULT NULL, tankTemperatureRiseTermBCV float DEFAULT NULL, PRIMARY KEY (tankTemperatureGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The TankTemperatureRise is used by these modules:
TankVaporGenCoeffs table
CREATE TABLE tankvaporgencoeffs ( ethanolLevelID smallint(6) NOT NULL DEFAULT '0', altitude char(1) NOT NULL DEFAULT '', tvgTermA float DEFAULT NULL, tvgTermB float DEFAULT NULL, tvgTermC float DEFAULT NULL, PRIMARY KEY (ethanolLevelID,altitude) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The TankVaporGenCoeffs is used by these modules:
TemperatureAdjustment table
CREATE TABLE temperatureadjustment ( polProcessID int(11) NOT NULL DEFAULT '0', fuelTypeID smallint(6) NOT NULL DEFAULT '0', tempAdjustTermA float DEFAULT NULL, tempAdjustTermACV float DEFAULT NULL, tempAdjustTermB float DEFAULT NULL, tempAdjustTermBCV float DEFAULT NULL, tempAdjustTermC float DEFAULT NULL, tempAdjustTermCCV float DEFAULT NULL, minModelYearID smallint(6) NOT NULL DEFAULT '1960', maxModelYearID smallint(6) NOT NULL DEFAULT '2050', PRIMARY KEY (polProcessID,fuelTypeID,minModelYearID,maxModelYearID), KEY polProcessID (polProcessID), KEY fuelTypeID (fuelTypeID), KEY polProcessID_2 (polProcessID), KEY fuelTypeID_2 (fuelTypeID), KEY fuelTypeID_3 (fuelTypeID,polProcessID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The TemperatureAdjustment is used by these modules:
temperatureFactorExpression table
CREATE TABLE temperaturefactorexpression ( processID smallint(6) NOT NULL, pollutantID smallint(6) NOT NULL, fuelTypeID smallint(6) NOT NULL, sourceTypeID smallint(6) NOT NULL, minModelYearID smallint(6) NOT NULL, maxModelYearID smallint(6) NOT NULL, tempCorrectionExpression varchar(5000) DEFAULT NULL, PRIMARY KEY (processID,pollutantID,fuelTypeID,sourceTypeID,minModelYearID,maxModelYearID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The temperatureFactorExpression is used by these modules:
TemperatureProfileID table
CREATE TABLE temperatureprofileid ( temperatureProfileID bigint(20) NOT NULL, zoneID int(11) NOT NULL, monthID smallint(6) NOT NULL, PRIMARY KEY (temperatureProfileID), KEY zoneID (zoneID,monthID,temperatureProfileID), KEY monthID (monthID,zoneID,temperatureProfileID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
togSpeciation table
CREATE TABLE togspeciation ( fuelSubtypeID smallint(6) NOT NULL, regClassID smallint(6) NOT NULL, processID smallint(6) NOT NULL, modelYearGroupID int(11) NOT NULL, togSpeciationProfileID varchar(10) NOT NULL DEFAULT '0', PRIMARY KEY (fuelSubtypeID,regClassID,processID,modelYearGroupID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The togSpeciation is used by these modules:
TOGSpeciationProfile table
CREATE TABLE togspeciationprofile ( mechanismID smallint(6) NOT NULL, togSpeciationProfileID varchar(10) NOT NULL DEFAULT '0', integratedSpeciesSetID smallint(6) NOT NULL, pollutantID smallint(6) NOT NULL, lumpedSpeciesName varchar(20) NOT NULL, TOGSpeciationDivisor double DEFAULT NULL, TOGSpeciationMassFraction double DEFAULT NULL, PRIMARY KEY (mechanismID,togSpeciationProfileID,integratedSpeciesSetID,pollutantID,lumpedSpeciesName) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The TOGSpeciationProfile is used by these modules:
TOGSpeciationProfileName table
CREATE TABLE togspeciationprofilename ( togSpeciationProfileID varchar(10) NOT NULL DEFAULT '0', TOGSpeciationProfileName varchar(100) DEFAULT NULL, dataSourceId smallint(6) DEFAULT NULL, PRIMARY KEY (togSpeciationProfileID), KEY TOGSpeciationProfileName (TOGSpeciationProfileName) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
WeightClass table
CREATE TABLE weightclass ( weightClassID smallint(6) NOT NULL DEFAULT '0', weightClassName char(50) DEFAULT NULL, midpointWeight float DEFAULT NULL, PRIMARY KEY (weightClassID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
Year table
CREATE TABLE year ( yearID smallint(6) NOT NULL DEFAULT '0', isBaseYear char(1) DEFAULT NULL, fuelYearID int(11) NOT NULL DEFAULT '0', PRIMARY KEY (yearID), KEY isBaseYear (isBaseYear) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The Year is used by these modules:
- Air toxics Calculator
- BaseRateCalculator
- CO2AERunningStartExtendedIdleCalculator
- Evaporative Permeation Calculator
- Liquid Leaking Calculator
- Refueling Loss Calculator
- SO2 Calculator
- Sulfate PM Calculator
- Tank Fuel Generator
- Tank Vapor Venting Calculator
- TOG Speciation Calculator
- Total Activity Generator
Zone table
CREATE TABLE zone ( zoneID int(11) NOT NULL DEFAULT '0', countyID int(11) NOT NULL DEFAULT '0', startAllocFactor double DEFAULT NULL, idleAllocFactor double DEFAULT NULL, SHPAllocFactor double DEFAULT NULL, PRIMARY KEY (zoneID), KEY countyID (countyID), KEY zoneID (zoneID,countyID), KEY countyID_2 (countyID,zoneID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The Zone is used by these modules:
- Liquid Leaking Calculator
- Meteorology Generator
- Tank Fuel Generator
- Tank Vapor Venting Calculator
- Total Activity Generator
ZoneMonthHour table
CREATE TABLE zonemonthhour ( monthID smallint(6) NOT NULL DEFAULT '0', zoneID int(11) NOT NULL DEFAULT '0', hourID smallint(6) NOT NULL DEFAULT '0', temperature float DEFAULT NULL, temperatureCV float DEFAULT NULL, relHumidity float DEFAULT NULL, heatIndex float DEFAULT NULL, specificHumidity float DEFAULT NULL, relativeHumidityCV float DEFAULT NULL, PRIMARY KEY (hourID,monthID,zoneID), KEY monthID (monthID), KEY zoneID (zoneID), KEY hourID (hourID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ZoneMonthHour is used by these modules:
- BaseRateCalculator
- Meteorology Generator
- Refueling Loss Calculator
- Sulfate PM Calculator
- Tank Fuel Generator
- Tank Temperature Generator
- Tank Vapor Venting Calculator
ZoneRoadType table
CREATE TABLE zoneroadtype ( zoneID int(11) NOT NULL DEFAULT '0', roadTypeID smallint(6) NOT NULL DEFAULT '0', SHOAllocFactor double DEFAULT NULL, PRIMARY KEY (roadTypeID,zoneID), KEY roadTypeID (roadTypeID,zoneID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
The ZoneRoadType is used by these modules:
Pollutants and Modules Cross Reference
Pollutant | Process | Module |
---|---|---|
Benzene (20) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzene (20) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzene (20) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzene (20) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzene (20) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
Benzene (20) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
Benzene (20) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
Benzene (20) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
Benzene (20) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
Benzene (20) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
Benzene (20) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
Benzene (20) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
Ethanol (21) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Ethanol (21) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Ethanol (21) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
Ethanol (21) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
Ethanol (21) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
Ethanol (21) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
Ethanol (21) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
Ethanol (21) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
Ethanol (21) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
Ethanol (21) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
Ethanol (21) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
Ethanol (21) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
MTBE (22) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
MTBE (22) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
MTBE (22) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
MTBE (22) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
MTBE (22) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
MTBE (22) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
MTBE (22) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
MTBE (22) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
MTBE (22) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
MTBE (22) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
MTBE (22) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
MTBE (22) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
Naphthalene particle (23) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Naphthalene particle (23) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
1,3-Butadiene (24) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
1,3-Butadiene (24) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Formaldehyde (25) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Formaldehyde (25) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Acetaldehyde (26) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Acetaldehyde (26) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Acrolein (27) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Acrolein (27) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
2,2,4-Trimethylpentane (40) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
2,2,4-Trimethylpentane (40) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
2,2,4-Trimethylpentane (40) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
2,2,4-Trimethylpentane (40) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Ethyl Benzene (41) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Ethyl Benzene (41) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
Ethyl Benzene (41) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
Ethyl Benzene (41) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
Ethyl Benzene (41) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
Hexane (42) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Hexane (42) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Hexane (42) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
Hexane (42) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
Hexane (42) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
Hexane (42) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
Hexane (42) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
Hexane (42) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
Hexane (42) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
Hexane (42) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
Hexane (42) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
Hexane (42) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
Propionaldehyde (43) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Propionaldehyde (43) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Styrene (44) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Styrene (44) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Toluene (45) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Toluene (45) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Toluene (45) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
Toluene (45) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
Toluene (45) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
Toluene (45) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
Toluene (45) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
Toluene (45) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
Toluene (45) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
Toluene (45) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
Toluene (45) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
Toluene (45) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
Xylene (46) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Xylene (46) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Xylene (46) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator Air toxics Calculator |
Xylene (46) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator Air toxics Calculator |
Xylene (46) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
Xylene (46) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
Xylene (46) | Evap RecMar Neck Hose Permeation (22) | Nonroad Air toxics Calculator |
Xylene (46) | Evap RecMar Supply/Ret Hose Permeation (23) | Nonroad Air toxics Calculator |
Xylene (46) | Evap RecMar Vent Hose Permeation (24) | Nonroad Air toxics Calculator |
Xylene (46) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
Xylene (46) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
Xylene (46) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
Mercury Elemental Gaseous (60) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Mercury Divalent Gaseous (61) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Mercury Particulate (62) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Arsenic Compounds (63) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Chromium 6+ (65) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Manganese Compounds (66) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Nickel Compounds (67) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Dibenzo(a,h)anthracene particle (68) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Dibenzo(a,h)anthracene particle (68) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Fluoranthene particle (69) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Fluoranthene particle (69) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Acenaphthene particle (70) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Acenaphthene particle (70) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Acenaphthylene particle (71) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Acenaphthylene particle (71) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Anthracene particle (72) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Anthracene particle (72) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benz(a)anthracene particle (73) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benz(a)anthracene particle (73) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(a)pyrene particle (74) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(a)pyrene particle (74) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(b)fluoranthene particle (75) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(b)fluoranthene particle (75) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(g,h,i)perylene particle (76) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(g,h,i)perylene particle (76) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(k)fluoranthene particle (77) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(k)fluoranthene particle (77) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Chrysene particle (78) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Chrysene particle (78) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Fluorene particle (81) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Fluorene particle (81) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Indeno(1,2,3,c,d)pyrene particle (82) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Indeno(1,2,3,c,d)pyrene particle (82) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Phenanthrene particle (83) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Phenanthrene particle (83) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Pyrene particle (84) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Pyrene particle (84) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
NonHAPTOG (88) | Running Exhaust (1) | Nonroad Air toxics Calculator TOG Speciation Calculator |
NonHAPTOG (88) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator TOG Speciation Calculator |
NonHAPTOG (88) | Refueling Displacement Vapor Loss (18) | Nonroad Air toxics Calculator TOG Speciation Calculator |
NonHAPTOG (88) | Refueling Spillage Loss (19) | Nonroad Air toxics Calculator TOG Speciation Calculator |
NonHAPTOG (88) | Evap Tank Permeation (20) | Nonroad Air toxics Calculator |
NonHAPTOG (88) | Evap Hose Permeation (21) | Nonroad Air toxics Calculator |
NonHAPTOG (88) | Diurnal Fuel Vapor Venting (30) | Nonroad Air toxics Calculator |
NonHAPTOG (88) | HotSoak Fuel Vapor Venting (31) | Nonroad Air toxics Calculator |
NonHAPTOG (88) | RunningLoss Fuel Vapor Venting (32) | Nonroad Air toxics Calculator |
1,2,3,7,8,9-Hexachlorodibenzo-p-Dioxin (130) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Octachlorodibenzo-p-dioxin (131) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,4,6,7,8-Heptachlorodibenzo-p-Dioxin (132) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Octachlorodibenzofuran (133) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,4,7,8-Hexachlorodibenzo-p-Dioxin (134) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,7,8-Pentachlorodibenzo-p-Dioxin (135) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
2,3,7,8-Tetrachlorodibenzofuran (136) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,4,7,8,9-Heptachlorodibenzofuran (137) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
2,3,4,7,8-Pentachlorodibenzofuran (138) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,7,8-Pentachlorodibenzofuran (139) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,6,7,8-Hexachlorodibenzofuran (140) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,6,7,8-Hexachlorodibenzo-p-Dioxin (141) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
2,3,7,8-Tetrachlorodibenzo-p-Dioxin (142) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
2,3,4,6,7,8-Hexachlorodibenzofuran (143) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,4,6,7,8-Heptachlorodibenzofuran (144) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,4,7,8-Hexachlorodibenzofuran (145) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
1,2,3,7,8,9-Hexachlorodibenzofuran (146) | Running Exhaust (1) | Nonroad Air toxics Calculator BaseRateCalculator |
Dibenzo(a,h)anthracene gas (168) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Dibenzo(a,h)anthracene gas (168) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Fluoranthene gas (169) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Fluoranthene gas (169) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Acenaphthene gas (170) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Acenaphthene gas (170) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Acenaphthylene gas (171) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Acenaphthylene gas (171) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Anthracene gas (172) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Anthracene gas (172) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benz(a)anthracene gas (173) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benz(a)anthracene gas (173) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(a)pyrene gas (174) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(a)pyrene gas (174) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(b)fluoranthene gas (175) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(b)fluoranthene gas (175) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(g,h,i)perylene gas (176) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(g,h,i)perylene gas (176) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Benzo(k)fluoranthene gas (177) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Benzo(k)fluoranthene gas (177) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Chrysene gas (178) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Chrysene gas (178) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Fluorene gas (181) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Fluorene gas (181) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Indeno(1,2,3,c,d)pyrene gas (182) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Indeno(1,2,3,c,d)pyrene gas (182) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Phenanthrene gas (183) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Phenanthrene gas (183) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Pyrene gas (184) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Pyrene gas (184) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Naphthalene gas (185) | Running Exhaust (1) | Nonroad Air toxics Calculator Air toxics Calculator |
Naphthalene gas (185) | Crankcase Running Exhaust (15) | Nonroad Air toxics Calculator Crankcase Emission Calculator |
Methane (CH4) (5) | Running Exhaust (1) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Methane (CH4) (5) | Crankcase Running Exhaust (15) | Nonroad HC Speciation Calculator Crankcase Emission Calculator |
Methane (CH4) (5) | Refueling Displacement Vapor Loss (18) | Nonroad HC Speciation Calculator |
Methane (CH4) (5) | Refueling Spillage Loss (19) | Nonroad HC Speciation Calculator |
Methane (CH4) (5) | Evap Tank Permeation (20) | Nonroad HC Speciation Calculator |
Methane (CH4) (5) | Evap Hose Permeation (21) | Nonroad HC Speciation Calculator |
Methane (CH4) (5) | Diurnal Fuel Vapor Venting (30) | Nonroad HC Speciation Calculator |
Methane (CH4) (5) | HotSoak Fuel Vapor Venting (31) | Nonroad HC Speciation Calculator |
Methane (CH4) (5) | RunningLoss Fuel Vapor Venting (32) | Nonroad HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Running Exhaust (1) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Crankcase Running Exhaust (15) | Nonroad HC Speciation Calculator Crankcase Emission Calculator |
Non-Methane Hydrocarbons (79) | Refueling Displacement Vapor Loss (18) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Refueling Spillage Loss (19) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Evap Tank Permeation (20) | Nonroad HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Evap Hose Permeation (21) | Nonroad HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Diurnal Fuel Vapor Venting (30) | Nonroad HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | HotSoak Fuel Vapor Venting (31) | Nonroad HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | RunningLoss Fuel Vapor Venting (32) | Nonroad HC Speciation Calculator |
Non-Methane Organic Gases (80) | Running Exhaust (1) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Non-Methane Organic Gases (80) | Crankcase Running Exhaust (15) | Nonroad HC Speciation Calculator Crankcase Emission Calculator |
Non-Methane Organic Gases (80) | Refueling Displacement Vapor Loss (18) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Non-Methane Organic Gases (80) | Refueling Spillage Loss (19) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Non-Methane Organic Gases (80) | Evap Tank Permeation (20) | Nonroad HC Speciation Calculator |
Non-Methane Organic Gases (80) | Evap Hose Permeation (21) | Nonroad HC Speciation Calculator |
Non-Methane Organic Gases (80) | Diurnal Fuel Vapor Venting (30) | Nonroad HC Speciation Calculator |
Non-Methane Organic Gases (80) | HotSoak Fuel Vapor Venting (31) | Nonroad HC Speciation Calculator |
Non-Methane Organic Gases (80) | RunningLoss Fuel Vapor Venting (32) | Nonroad HC Speciation Calculator |
Total Organic Gases (86) | Running Exhaust (1) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Total Organic Gases (86) | Crankcase Running Exhaust (15) | Nonroad HC Speciation Calculator Crankcase Emission Calculator |
Total Organic Gases (86) | Refueling Displacement Vapor Loss (18) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Total Organic Gases (86) | Refueling Spillage Loss (19) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Total Organic Gases (86) | Evap Tank Permeation (20) | Nonroad HC Speciation Calculator |
Total Organic Gases (86) | Evap Hose Permeation (21) | Nonroad HC Speciation Calculator |
Total Organic Gases (86) | Diurnal Fuel Vapor Venting (30) | Nonroad HC Speciation Calculator |
Total Organic Gases (86) | HotSoak Fuel Vapor Venting (31) | Nonroad HC Speciation Calculator |
Total Organic Gases (86) | RunningLoss Fuel Vapor Venting (32) | Nonroad HC Speciation Calculator |
Volatile Organic Compounds (87) | Running Exhaust (1) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Volatile Organic Compounds (87) | Crankcase Running Exhaust (15) | Nonroad HC Speciation Calculator Crankcase Emission Calculator |
Volatile Organic Compounds (87) | Refueling Displacement Vapor Loss (18) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Volatile Organic Compounds (87) | Refueling Spillage Loss (19) | Nonroad HC Speciation Calculator HC Speciation Calculator |
Volatile Organic Compounds (87) | Evap Tank Permeation (20) | Nonroad HC Speciation Calculator |
Volatile Organic Compounds (87) | Evap Hose Permeation (21) | Nonroad HC Speciation Calculator |
Volatile Organic Compounds (87) | Diurnal Fuel Vapor Venting (30) | Nonroad HC Speciation Calculator |
Volatile Organic Compounds (87) | HotSoak Fuel Vapor Venting (31) | Nonroad HC Speciation Calculator |
Volatile Organic Compounds (87) | RunningLoss Fuel Vapor Venting (32) | Nonroad HC Speciation Calculator |
Total Gaseous Hydrocarbons (1) | HotSoak Fuel Vapor Venting (31) | Nonroad Calculator |
Total Gaseous Hydrocarbons (1) | Diurnal Fuel Vapor Venting (30) | Nonroad Calculator |
Total Gaseous Hydrocarbons (1) | Refueling Displacement Vapor Loss (18) | Nonroad Calculator Refueling Loss Calculator |
Total Gaseous Hydrocarbons (1) | Refueling Spillage Loss (19) | Nonroad Calculator Refueling Loss Calculator |
Total Gaseous Hydrocarbons (1) | RunningLoss Fuel Vapor Venting (32) | Nonroad Calculator |
Total Gaseous Hydrocarbons (1) | Evap Tank Permeation (20) | Nonroad Calculator |
Total Gaseous Hydrocarbons (1) | Evap Hose Permeation (21) | Nonroad Calculator |
Atmospheric CO2 (90) | Running Exhaust (1) | Nonroad Calculator CO2AERunningStartExtendedIdleCalculator |
Total Energy Consumption (91) | Running Exhaust (1) | Nonroad Calculator BaseRateCalculator |
Brake Specific Fuel Consumption (BSFC) (99) | Running Exhaust (1) | Nonroad Calculator |
Total Gaseous Hydrocarbons (1) | Running Exhaust (1) | Nonroad Calculator BaseRateCalculator |
Carbon Monoxide (CO) (2) | Running Exhaust (1) | Nonroad Calculator BaseRateCalculator |
Oxides of Nitrogen (NOx) (3) | Running Exhaust (1) | Nonroad Calculator BaseRateCalculator |
Ammonia (NH3) (30) | Running Exhaust (1) | Nonroad Calculator BaseRateCalculator |
Sulfur Dioxide (SO2) (31) | Running Exhaust (1) | Nonroad Calculator SO2 Calculator |
Primary Exhaust PM10 - Total (100) | Running Exhaust (1) | Nonroad Calculator PM10 Emission Calculator |
Primary Exhaust PM2.5 - Total (110) | Running Exhaust (1) | Nonroad Calculator Sulfate PM Calculator |
Total Gaseous Hydrocarbons (1) | Crankcase Running Exhaust (15) | Nonroad Calculator Crankcase Emission Calculator |
Benzene (20) | Start Exhaust (2) | Air toxics Calculator |
Benzene (20) | Evap Permeation (11) | Air toxics Calculator |
Benzene (20) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
Benzene (20) | Evap Fuel Leaks (13) | Air toxics Calculator |
Benzene (20) | Extended Idle Exhaust (90) | Air toxics Calculator |
Benzene (20) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Ethanol (21) | Start Exhaust (2) | Air toxics Calculator |
Ethanol (21) | Evap Permeation (11) | Air toxics Calculator |
Ethanol (21) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
Ethanol (21) | Evap Fuel Leaks (13) | Air toxics Calculator |
MTBE (22) | Start Exhaust (2) | Air toxics Calculator |
MTBE (22) | Evap Permeation (11) | Air toxics Calculator |
MTBE (22) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
MTBE (22) | Evap Fuel Leaks (13) | Air toxics Calculator |
Naphthalene particle (23) | Start Exhaust (2) | Air toxics Calculator |
Naphthalene particle (23) | Extended Idle Exhaust (90) | Air toxics Calculator |
Naphthalene particle (23) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
1,3-Butadiene (24) | Start Exhaust (2) | Air toxics Calculator |
1,3-Butadiene (24) | Extended Idle Exhaust (90) | Air toxics Calculator |
1,3-Butadiene (24) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Formaldehyde (25) | Start Exhaust (2) | Air toxics Calculator |
Formaldehyde (25) | Extended Idle Exhaust (90) | Air toxics Calculator |
Formaldehyde (25) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Acetaldehyde (26) | Start Exhaust (2) | Air toxics Calculator |
Acetaldehyde (26) | Extended Idle Exhaust (90) | Air toxics Calculator |
Acetaldehyde (26) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Acrolein (27) | Start Exhaust (2) | Air toxics Calculator |
Acrolein (27) | Extended Idle Exhaust (90) | Air toxics Calculator |
Acrolein (27) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Start Exhaust (2) | Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap Permeation (11) | Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Evap Fuel Leaks (13) | Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Extended Idle Exhaust (90) | Air toxics Calculator |
2,2,4-Trimethylpentane (40) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Ethyl Benzene (41) | Start Exhaust (2) | Air toxics Calculator |
Ethyl Benzene (41) | Evap Permeation (11) | Air toxics Calculator |
Ethyl Benzene (41) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
Ethyl Benzene (41) | Evap Fuel Leaks (13) | Air toxics Calculator |
Ethyl Benzene (41) | Extended Idle Exhaust (90) | Air toxics Calculator |
Ethyl Benzene (41) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Hexane (42) | Start Exhaust (2) | Air toxics Calculator |
Hexane (42) | Evap Permeation (11) | Air toxics Calculator |
Hexane (42) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
Hexane (42) | Evap Fuel Leaks (13) | Air toxics Calculator |
Hexane (42) | Extended Idle Exhaust (90) | Air toxics Calculator |
Hexane (42) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Propionaldehyde (43) | Start Exhaust (2) | Air toxics Calculator |
Propionaldehyde (43) | Extended Idle Exhaust (90) | Air toxics Calculator |
Propionaldehyde (43) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Styrene (44) | Start Exhaust (2) | Air toxics Calculator |
Styrene (44) | Extended Idle Exhaust (90) | Air toxics Calculator |
Styrene (44) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Toluene (45) | Start Exhaust (2) | Air toxics Calculator |
Toluene (45) | Evap Permeation (11) | Air toxics Calculator |
Toluene (45) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
Toluene (45) | Evap Fuel Leaks (13) | Air toxics Calculator |
Toluene (45) | Extended Idle Exhaust (90) | Air toxics Calculator |
Toluene (45) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Xylene (46) | Start Exhaust (2) | Air toxics Calculator |
Xylene (46) | Evap Permeation (11) | Air toxics Calculator |
Xylene (46) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
Xylene (46) | Evap Fuel Leaks (13) | Air toxics Calculator |
Xylene (46) | Extended Idle Exhaust (90) | Air toxics Calculator |
Xylene (46) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Dibenzo(a,h)anthracene particle (68) | Start Exhaust (2) | Air toxics Calculator |
Fluoranthene particle (69) | Start Exhaust (2) | Air toxics Calculator |
Acenaphthene particle (70) | Start Exhaust (2) | Air toxics Calculator |
Acenaphthylene particle (71) | Start Exhaust (2) | Air toxics Calculator |
Anthracene particle (72) | Start Exhaust (2) | Air toxics Calculator |
Benz(a)anthracene particle (73) | Start Exhaust (2) | Air toxics Calculator |
Benzo(a)pyrene particle (74) | Start Exhaust (2) | Air toxics Calculator |
Benzo(b)fluoranthene particle (75) | Start Exhaust (2) | Air toxics Calculator |
Benzo(g,h,i)perylene particle (76) | Start Exhaust (2) | Air toxics Calculator |
Benzo(k)fluoranthene particle (77) | Start Exhaust (2) | Air toxics Calculator |
Chrysene particle (78) | Start Exhaust (2) | Air toxics Calculator |
Fluorene particle (81) | Start Exhaust (2) | Air toxics Calculator |
Indeno(1,2,3,c,d)pyrene particle (82) | Start Exhaust (2) | Air toxics Calculator |
Phenanthrene particle (83) | Start Exhaust (2) | Air toxics Calculator |
Pyrene particle (84) | Start Exhaust (2) | Air toxics Calculator |
Dibenzo(a,h)anthracene gas (168) | Start Exhaust (2) | Air toxics Calculator |
Dibenzo(a,h)anthracene gas (168) | Extended Idle Exhaust (90) | Air toxics Calculator |
Dibenzo(a,h)anthracene gas (168) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Fluoranthene gas (169) | Start Exhaust (2) | Air toxics Calculator |
Fluoranthene gas (169) | Extended Idle Exhaust (90) | Air toxics Calculator |
Fluoranthene gas (169) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Acenaphthene gas (170) | Start Exhaust (2) | Air toxics Calculator |
Acenaphthene gas (170) | Extended Idle Exhaust (90) | Air toxics Calculator |
Acenaphthene gas (170) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Acenaphthylene gas (171) | Start Exhaust (2) | Air toxics Calculator |
Acenaphthylene gas (171) | Extended Idle Exhaust (90) | Air toxics Calculator |
Acenaphthylene gas (171) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Anthracene gas (172) | Start Exhaust (2) | Air toxics Calculator |
Anthracene gas (172) | Extended Idle Exhaust (90) | Air toxics Calculator |
Anthracene gas (172) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Benz(a)anthracene gas (173) | Start Exhaust (2) | Air toxics Calculator |
Benz(a)anthracene gas (173) | Extended Idle Exhaust (90) | Air toxics Calculator |
Benz(a)anthracene gas (173) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Benzo(a)pyrene gas (174) | Start Exhaust (2) | Air toxics Calculator |
Benzo(a)pyrene gas (174) | Extended Idle Exhaust (90) | Air toxics Calculator |
Benzo(a)pyrene gas (174) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Benzo(b)fluoranthene gas (175) | Start Exhaust (2) | Air toxics Calculator |
Benzo(b)fluoranthene gas (175) | Extended Idle Exhaust (90) | Air toxics Calculator |
Benzo(b)fluoranthene gas (175) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Benzo(g,h,i)perylene gas (176) | Start Exhaust (2) | Air toxics Calculator |
Benzo(g,h,i)perylene gas (176) | Extended Idle Exhaust (90) | Air toxics Calculator |
Benzo(g,h,i)perylene gas (176) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Benzo(k)fluoranthene gas (177) | Start Exhaust (2) | Air toxics Calculator |
Benzo(k)fluoranthene gas (177) | Extended Idle Exhaust (90) | Air toxics Calculator |
Benzo(k)fluoranthene gas (177) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Chrysene gas (178) | Start Exhaust (2) | Air toxics Calculator |
Chrysene gas (178) | Extended Idle Exhaust (90) | Air toxics Calculator |
Chrysene gas (178) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Fluorene gas (181) | Start Exhaust (2) | Air toxics Calculator |
Fluorene gas (181) | Extended Idle Exhaust (90) | Air toxics Calculator |
Fluorene gas (181) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Indeno(1,2,3,c,d)pyrene gas (182) | Start Exhaust (2) | Air toxics Calculator |
Indeno(1,2,3,c,d)pyrene gas (182) | Extended Idle Exhaust (90) | Air toxics Calculator |
Indeno(1,2,3,c,d)pyrene gas (182) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Phenanthrene gas (183) | Start Exhaust (2) | Air toxics Calculator |
Phenanthrene gas (183) | Extended Idle Exhaust (90) | Air toxics Calculator |
Phenanthrene gas (183) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Pyrene gas (184) | Start Exhaust (2) | Air toxics Calculator |
Pyrene gas (184) | Extended Idle Exhaust (90) | Air toxics Calculator |
Pyrene gas (184) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Naphthalene gas (185) | Start Exhaust (2) | Air toxics Calculator |
Naphthalene gas (185) | Evap Permeation (11) | Air toxics Calculator |
Naphthalene gas (185) | Evap Fuel Vapor Venting (12) | Air toxics Calculator |
Naphthalene gas (185) | Evap Fuel Leaks (13) | Air toxics Calculator |
Naphthalene gas (185) | Refueling Displacement Vapor Loss (18) | Air toxics Calculator |
Naphthalene gas (185) | Refueling Spillage Loss (19) | Air toxics Calculator |
Naphthalene gas (185) | Extended Idle Exhaust (90) | Air toxics Calculator |
Naphthalene gas (185) | Auxiliary Power Exhaust (91) | Air toxics Calculator |
Total Gaseous Hydrocarbons (1) | Start Exhaust (2) | BaseRateCalculator |
Total Gaseous Hydrocarbons (1) | Brakewear (9) | BaseRateCalculator |
Total Gaseous Hydrocarbons (1) | Tirewear (10) | BaseRateCalculator |
Total Gaseous Hydrocarbons (1) | Extended Idle Exhaust (90) | BaseRateCalculator |
Total Gaseous Hydrocarbons (1) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Carbon Monoxide (CO) (2) | Start Exhaust (2) | BaseRateCalculator |
Carbon Monoxide (CO) (2) | Brakewear (9) | BaseRateCalculator |
Carbon Monoxide (CO) (2) | Tirewear (10) | BaseRateCalculator |
Carbon Monoxide (CO) (2) | Extended Idle Exhaust (90) | BaseRateCalculator |
Carbon Monoxide (CO) (2) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Oxides of Nitrogen (NOx) (3) | Start Exhaust (2) | BaseRateCalculator |
Oxides of Nitrogen (NOx) (3) | Brakewear (9) | BaseRateCalculator |
Oxides of Nitrogen (NOx) (3) | Tirewear (10) | BaseRateCalculator |
Oxides of Nitrogen (NOx) (3) | Extended Idle Exhaust (90) | BaseRateCalculator |
Oxides of Nitrogen (NOx) (3) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Nitrous Oxide (N2O) (6) | Running Exhaust (1) | BaseRateCalculator |
Nitrous Oxide (N2O) (6) | Start Exhaust (2) | BaseRateCalculator |
Nitrous Oxide (N2O) (6) | Brakewear (9) | BaseRateCalculator |
Nitrous Oxide (N2O) (6) | Tirewear (10) | BaseRateCalculator |
Nitrous Oxide (N2O) (6) | Extended Idle Exhaust (90) | BaseRateCalculator |
Nitrous Oxide (N2O) (6) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Ammonia (NH3) (30) | Start Exhaust (2) | BaseRateCalculator |
Ammonia (NH3) (30) | Brakewear (9) | BaseRateCalculator |
Ammonia (NH3) (30) | Tirewear (10) | BaseRateCalculator |
Ammonia (NH3) (30) | Extended Idle Exhaust (90) | BaseRateCalculator |
Ammonia (NH3) (30) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Total Energy Consumption (91) | Start Exhaust (2) | BaseRateCalculator |
Total Energy Consumption (91) | Brakewear (9) | BaseRateCalculator |
Total Energy Consumption (91) | Tirewear (10) | BaseRateCalculator |
Total Energy Consumption (91) | Extended Idle Exhaust (90) | BaseRateCalculator |
Total Energy Consumption (91) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Composite - NonECPM (118) | Running Exhaust (1) | BaseRateCalculator Sulfate PM Calculator |
Composite - NonECPM (118) | Start Exhaust (2) | BaseRateCalculator Sulfate PM Calculator |
Composite - NonECPM (118) | Brakewear (9) | BaseRateCalculator |
Composite - NonECPM (118) | Tirewear (10) | BaseRateCalculator |
Composite - NonECPM (118) | Extended Idle Exhaust (90) | BaseRateCalculator Sulfate PM Calculator |
Composite - NonECPM (118) | Auxiliary Power Exhaust (91) | BaseRateCalculator Sulfate PM Calculator |
Elemental Carbon (112) | Running Exhaust (1) | BaseRateCalculator Sulfate PM Calculator |
Elemental Carbon (112) | Start Exhaust (2) | BaseRateCalculator Sulfate PM Calculator |
Elemental Carbon (112) | Brakewear (9) | BaseRateCalculator |
Elemental Carbon (112) | Tirewear (10) | BaseRateCalculator |
Elemental Carbon (112) | Extended Idle Exhaust (90) | BaseRateCalculator Sulfate PM Calculator |
Elemental Carbon (112) | Auxiliary Power Exhaust (91) | BaseRateCalculator Sulfate PM Calculator |
Primary PM2.5 - Brakewear Particulate (116) | Running Exhaust (1) | BaseRateCalculator |
Primary PM2.5 - Brakewear Particulate (116) | Start Exhaust (2) | BaseRateCalculator |
Primary PM2.5 - Brakewear Particulate (116) | Brakewear (9) | BaseRateCalculator |
Primary PM2.5 - Brakewear Particulate (116) | Tirewear (10) | BaseRateCalculator |
Primary PM2.5 - Brakewear Particulate (116) | Extended Idle Exhaust (90) | BaseRateCalculator |
Primary PM2.5 - Brakewear Particulate (116) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Primary PM2.5 - Tirewear Particulate (117) | Running Exhaust (1) | BaseRateCalculator |
Primary PM2.5 - Tirewear Particulate (117) | Start Exhaust (2) | BaseRateCalculator |
Primary PM2.5 - Tirewear Particulate (117) | Brakewear (9) | BaseRateCalculator |
Primary PM2.5 - Tirewear Particulate (117) | Tirewear (10) | BaseRateCalculator |
Primary PM2.5 - Tirewear Particulate (117) | Extended Idle Exhaust (90) | BaseRateCalculator |
Primary PM2.5 - Tirewear Particulate (117) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Petroleum Energy Consumption (92) | Running Exhaust (1) | BaseRateCalculator |
Petroleum Energy Consumption (92) | Start Exhaust (2) | BaseRateCalculator |
Petroleum Energy Consumption (92) | Brakewear (9) | BaseRateCalculator |
Petroleum Energy Consumption (92) | Tirewear (10) | BaseRateCalculator |
Petroleum Energy Consumption (92) | Extended Idle Exhaust (90) | BaseRateCalculator |
Petroleum Energy Consumption (92) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
Fossil Fuel Energy Consumption (93) | Running Exhaust (1) | BaseRateCalculator |
Fossil Fuel Energy Consumption (93) | Start Exhaust (2) | BaseRateCalculator |
Fossil Fuel Energy Consumption (93) | Brakewear (9) | BaseRateCalculator |
Fossil Fuel Energy Consumption (93) | Tirewear (10) | BaseRateCalculator |
Fossil Fuel Energy Consumption (93) | Extended Idle Exhaust (90) | BaseRateCalculator |
Fossil Fuel Energy Consumption (93) | Auxiliary Power Exhaust (91) | BaseRateCalculator |
CO2 Equivalent (98) | Running Exhaust (1) | CO2AERunningStartExtendedIdleCalculator |
Atmospheric CO2 (90) | Start Exhaust (2) | CO2AERunningStartExtendedIdleCalculator |
CO2 Equivalent (98) | Start Exhaust (2) | CO2AERunningStartExtendedIdleCalculator |
Atmospheric CO2 (90) | Extended Idle Exhaust (90) | CO2AERunningStartExtendedIdleCalculator |
CO2 Equivalent (98) | Extended Idle Exhaust (90) | CO2AERunningStartExtendedIdleCalculator |
Atmospheric CO2 (90) | Auxiliary Power Exhaust (91) | CO2AERunningStartExtendedIdleCalculator |
CO2 Equivalent (98) | Auxiliary Power Exhaust (91) | CO2AERunningStartExtendedIdleCalculator |
Carbon Monoxide (CO) (2) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Oxides of Nitrogen (NOx) (3) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Nitrous Oxide (N2O) (6) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Ammonia (NH3) (30) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Sulfur Dioxide (SO2) (31) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Nitrogen Oxide (NO) (32) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Nitrogen Dioxide (NO2) (33) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Nitrous Acid (HONO) (34) | Crankcase Running Exhaust (15) | Crankcase Emission Calculator |
Total Gaseous Hydrocarbons (1) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Carbon Monoxide (CO) (2) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Oxides of Nitrogen (NOx) (3) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Methane (CH4) (5) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Nitrous Oxide (N2O) (6) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzene (20) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Ethanol (21) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
MTBE (22) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Naphthalene particle (23) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
1,3-Butadiene (24) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Formaldehyde (25) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Acetaldehyde (26) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Acrolein (27) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Ammonia (NH3) (30) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Sulfur Dioxide (SO2) (31) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Nitrogen Oxide (NO) (32) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Nitrogen Dioxide (NO2) (33) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Nitrous Acid (HONO) (34) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Non-Methane Hydrocarbons (79) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Non-Methane Organic Gases (80) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Total Organic Gases (86) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Volatile Organic Compounds (87) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
2,2,4-Trimethylpentane (40) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Ethyl Benzene (41) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Hexane (42) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Propionaldehyde (43) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Styrene (44) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Toluene (45) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Xylene (46) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Dibenzo(a,h)anthracene particle (68) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Fluoranthene particle (69) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Acenaphthene particle (70) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Acenaphthylene particle (71) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Anthracene particle (72) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benz(a)anthracene particle (73) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(a)pyrene particle (74) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(b)fluoranthene particle (75) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(g,h,i)perylene particle (76) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(k)fluoranthene particle (77) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Chrysene particle (78) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Fluorene particle (81) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Indeno(1,2,3,c,d)pyrene particle (82) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Phenanthrene particle (83) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Pyrene particle (84) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Dibenzo(a,h)anthracene gas (168) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Fluoranthene gas (169) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Acenaphthene gas (170) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Acenaphthylene gas (171) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Anthracene gas (172) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benz(a)anthracene gas (173) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(a)pyrene gas (174) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(b)fluoranthene gas (175) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(g,h,i)perylene gas (176) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Benzo(k)fluoranthene gas (177) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Chrysene gas (178) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Fluorene gas (181) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Indeno(1,2,3,c,d)pyrene gas (182) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Phenanthrene gas (183) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Pyrene gas (184) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Naphthalene gas (185) | Crankcase Start Exhaust (16) | Crankcase Emission Calculator |
Total Gaseous Hydrocarbons (1) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Carbon Monoxide (CO) (2) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Oxides of Nitrogen (NOx) (3) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Methane (CH4) (5) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Nitrous Oxide (N2O) (6) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzene (20) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Ethanol (21) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
MTBE (22) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Naphthalene particle (23) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
1,3-Butadiene (24) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Formaldehyde (25) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Acetaldehyde (26) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Acrolein (27) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Ammonia (NH3) (30) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Sulfur Dioxide (SO2) (31) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Nitrogen Oxide (NO) (32) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Nitrogen Dioxide (NO2) (33) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Nitrous Acid (HONO) (34) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Non-Methane Hydrocarbons (79) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Non-Methane Organic Gases (80) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Total Organic Gases (86) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Volatile Organic Compounds (87) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
2,2,4-Trimethylpentane (40) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Ethyl Benzene (41) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Hexane (42) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Propionaldehyde (43) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Styrene (44) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Toluene (45) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Xylene (46) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Dibenzo(a,h)anthracene particle (68) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Fluoranthene particle (69) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Acenaphthene particle (70) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Acenaphthylene particle (71) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Anthracene particle (72) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benz(a)anthracene particle (73) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(a)pyrene particle (74) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(b)fluoranthene particle (75) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(g,h,i)perylene particle (76) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(k)fluoranthene particle (77) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Chrysene particle (78) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Fluorene particle (81) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Indeno(1,2,3,c,d)pyrene particle (82) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Phenanthrene particle (83) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Pyrene particle (84) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Dibenzo(a,h)anthracene gas (168) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Fluoranthene gas (169) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Acenaphthene gas (170) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Acenaphthylene gas (171) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Anthracene gas (172) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benz(a)anthracene gas (173) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(a)pyrene gas (174) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(b)fluoranthene gas (175) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(g,h,i)perylene gas (176) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Benzo(k)fluoranthene gas (177) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Chrysene gas (178) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Fluorene gas (181) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Indeno(1,2,3,c,d)pyrene gas (182) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Phenanthrene gas (183) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Pyrene gas (184) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Naphthalene gas (185) | Crankcase Extended Idle Exhaust (17) | Crankcase Emission Calculator |
Total Gaseous Hydrocarbons (1) | Evap Permeation (11) | Evaporative Permeation Calculator |
Methane (CH4) (5) | Start Exhaust (2) | HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Start Exhaust (2) | HC Speciation Calculator |
Non-Methane Organic Gases (80) | Start Exhaust (2) | HC Speciation Calculator |
Total Organic Gases (86) | Start Exhaust (2) | HC Speciation Calculator |
Volatile Organic Compounds (87) | Start Exhaust (2) | HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Evap Permeation (11) | HC Speciation Calculator |
Non-Methane Organic Gases (80) | Evap Permeation (11) | HC Speciation Calculator |
Total Organic Gases (86) | Evap Permeation (11) | HC Speciation Calculator |
Volatile Organic Compounds (87) | Evap Permeation (11) | HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Evap Fuel Vapor Venting (12) | HC Speciation Calculator |
Non-Methane Organic Gases (80) | Evap Fuel Vapor Venting (12) | HC Speciation Calculator |
Total Organic Gases (86) | Evap Fuel Vapor Venting (12) | HC Speciation Calculator |
Volatile Organic Compounds (87) | Evap Fuel Vapor Venting (12) | HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Evap Fuel Leaks (13) | HC Speciation Calculator |
Non-Methane Organic Gases (80) | Evap Fuel Leaks (13) | HC Speciation Calculator |
Total Organic Gases (86) | Evap Fuel Leaks (13) | HC Speciation Calculator |
Volatile Organic Compounds (87) | Evap Fuel Leaks (13) | HC Speciation Calculator |
Methane (CH4) (5) | Extended Idle Exhaust (90) | HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Extended Idle Exhaust (90) | HC Speciation Calculator |
Non-Methane Organic Gases (80) | Extended Idle Exhaust (90) | HC Speciation Calculator |
Total Organic Gases (86) | Extended Idle Exhaust (90) | HC Speciation Calculator |
Volatile Organic Compounds (87) | Extended Idle Exhaust (90) | HC Speciation Calculator |
Methane (CH4) (5) | Auxiliary Power Exhaust (91) | HC Speciation Calculator |
Non-Methane Hydrocarbons (79) | Auxiliary Power Exhaust (91) | HC Speciation Calculator |
Non-Methane Organic Gases (80) | Auxiliary Power Exhaust (91) | HC Speciation Calculator |
Total Organic Gases (86) | Auxiliary Power Exhaust (91) | HC Speciation Calculator |
Volatile Organic Compounds (87) | Auxiliary Power Exhaust (91) | HC Speciation Calculator |
Total Gaseous Hydrocarbons (1) | Evap Fuel Leaks (13) | Liquid Leaking Calculator |
Nitrogen Dioxide (NO2) (33) | Running Exhaust (1) | NO2 Calculator |
Nitrogen Dioxide (NO2) (33) | Start Exhaust (2) | NO2 Calculator |
Nitrogen Dioxide (NO2) (33) | Extended Idle Exhaust (90) | NO2 Calculator |
Nitrogen Dioxide (NO2) (33) | Auxiliary Power Exhaust (91) | NO2 Calculator |
Nitrogen Oxide (NO) (32) | Running Exhaust (1) | NO Calculator |
Nitrogen Oxide (NO) (32) | Start Exhaust (2) | NO Calculator |
Nitrogen Oxide (NO) (32) | Extended Idle Exhaust (90) | NO Calculator |
Nitrogen Oxide (NO) (32) | Auxiliary Power Exhaust (91) | NO Calculator |
Nitrous Acid (HONO) (34) | Running Exhaust (1) | NO Calculator |
Nitrous Acid (HONO) (34) | Start Exhaust (2) | NO Calculator |
Nitrous Acid (HONO) (34) | Extended Idle Exhaust (90) | NO Calculator |
Nitrous Acid (HONO) (34) | Auxiliary Power Exhaust (91) | NO Calculator |
Primary PM10 - Brakewear Particulate (106) | Brakewear (9) | PM10 Brake Tire Calculator |
Primary PM10 - Tirewear Particulate (107) | Tirewear (10) | PM10 Brake Tire Calculator |
Primary Exhaust PM10 - Total (100) | Start Exhaust (2) | PM10 Emission Calculator |
Primary Exhaust PM10 - Total (100) | Extended Idle Exhaust (90) | PM10 Emission Calculator |
Primary Exhaust PM10 - Total (100) | Auxiliary Power Exhaust (91) | PM10 Emission Calculator |
Primary Exhaust PM10 - Total (100) | Crankcase Running Exhaust (15) | PM10 Emission Calculator |
Primary Exhaust PM10 - Total (100) | Crankcase Start Exhaust (16) | PM10 Emission Calculator |
Primary Exhaust PM10 - Total (100) | Crankcase Extended Idle Exhaust (17) | PM10 Emission Calculator |
Sulfur Dioxide (SO2) (31) | Start Exhaust (2) | SO2 Calculator |
Sulfur Dioxide (SO2) (31) | Extended Idle Exhaust (90) | SO2 Calculator |
Sulfur Dioxide (SO2) (31) | Auxiliary Power Exhaust (91) | SO2 Calculator |
Nitrate (NO3) (35) | Running Exhaust (1) | Sulfate PM Calculator |
Nitrate (NO3) (35) | Start Exhaust (2) | Sulfate PM Calculator |
Nitrate (NO3) (35) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Nitrate (NO3) (35) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Nitrate (NO3) (35) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Nitrate (NO3) (35) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Nitrate (NO3) (35) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Ammonium (NH4) (36) | Running Exhaust (1) | Sulfate PM Calculator |
Ammonium (NH4) (36) | Start Exhaust (2) | Sulfate PM Calculator |
Ammonium (NH4) (36) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Ammonium (NH4) (36) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Ammonium (NH4) (36) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Ammonium (NH4) (36) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Ammonium (NH4) (36) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Chloride (51) | Running Exhaust (1) | Sulfate PM Calculator |
Chloride (51) | Start Exhaust (2) | Sulfate PM Calculator |
Chloride (51) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Chloride (51) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Chloride (51) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Chloride (51) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Chloride (51) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Sodium (52) | Running Exhaust (1) | Sulfate PM Calculator |
Sodium (52) | Start Exhaust (2) | Sulfate PM Calculator |
Sodium (52) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Sodium (52) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Sodium (52) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Sodium (52) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Sodium (52) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Potassium (53) | Running Exhaust (1) | Sulfate PM Calculator |
Potassium (53) | Start Exhaust (2) | Sulfate PM Calculator |
Potassium (53) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Potassium (53) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Potassium (53) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Potassium (53) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Potassium (53) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Magnesium (54) | Running Exhaust (1) | Sulfate PM Calculator |
Magnesium (54) | Start Exhaust (2) | Sulfate PM Calculator |
Magnesium (54) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Magnesium (54) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Magnesium (54) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Magnesium (54) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Magnesium (54) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Calcium (55) | Running Exhaust (1) | Sulfate PM Calculator |
Calcium (55) | Start Exhaust (2) | Sulfate PM Calculator |
Calcium (55) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Calcium (55) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Calcium (55) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Calcium (55) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Calcium (55) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Titanium (56) | Running Exhaust (1) | Sulfate PM Calculator |
Titanium (56) | Start Exhaust (2) | Sulfate PM Calculator |
Titanium (56) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Titanium (56) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Titanium (56) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Titanium (56) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Titanium (56) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Silicon (57) | Running Exhaust (1) | Sulfate PM Calculator |
Silicon (57) | Start Exhaust (2) | Sulfate PM Calculator |
Silicon (57) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Silicon (57) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Silicon (57) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Silicon (57) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Silicon (57) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Aluminum (58) | Running Exhaust (1) | Sulfate PM Calculator |
Aluminum (58) | Start Exhaust (2) | Sulfate PM Calculator |
Aluminum (58) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Aluminum (58) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Aluminum (58) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Aluminum (58) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Aluminum (58) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Iron (59) | Running Exhaust (1) | Sulfate PM Calculator |
Iron (59) | Start Exhaust (2) | Sulfate PM Calculator |
Iron (59) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Iron (59) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Iron (59) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Iron (59) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Iron (59) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Primary Exhaust PM2.5 - Total (110) | Start Exhaust (2) | Sulfate PM Calculator |
Primary Exhaust PM2.5 - Total (110) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Primary Exhaust PM2.5 - Total (110) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Primary Exhaust PM2.5 - Total (110) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Primary Exhaust PM2.5 - Total (110) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Primary Exhaust PM2.5 - Total (110) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Organic Carbon (111) | Running Exhaust (1) | Sulfate PM Calculator |
Organic Carbon (111) | Start Exhaust (2) | Sulfate PM Calculator |
Organic Carbon (111) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Organic Carbon (111) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Organic Carbon (111) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Organic Carbon (111) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Organic Carbon (111) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Elemental Carbon (112) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Elemental Carbon (112) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Elemental Carbon (112) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Sulfate Particulate (115) | Running Exhaust (1) | Sulfate PM Calculator |
Sulfate Particulate (115) | Start Exhaust (2) | Sulfate PM Calculator |
Sulfate Particulate (115) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Sulfate Particulate (115) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Sulfate Particulate (115) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Sulfate Particulate (115) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Sulfate Particulate (115) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Composite - NonECPM (118) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Composite - NonECPM (118) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Composite - NonECPM (118) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
H2O (aerosol) (119) | Running Exhaust (1) | Sulfate PM Calculator |
H2O (aerosol) (119) | Start Exhaust (2) | Sulfate PM Calculator |
H2O (aerosol) (119) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
H2O (aerosol) (119) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
H2O (aerosol) (119) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
H2O (aerosol) (119) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
H2O (aerosol) (119) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
CMAQ5.0 Unspeciated (PMOTHR) (121) | Running Exhaust (1) | Sulfate PM Calculator |
CMAQ5.0 Unspeciated (PMOTHR) (121) | Start Exhaust (2) | Sulfate PM Calculator |
CMAQ5.0 Unspeciated (PMOTHR) (121) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
CMAQ5.0 Unspeciated (PMOTHR) (121) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
CMAQ5.0 Unspeciated (PMOTHR) (121) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
CMAQ5.0 Unspeciated (PMOTHR) (121) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
CMAQ5.0 Unspeciated (PMOTHR) (121) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
Non-carbon Organic Matter (NCOM) (122) | Running Exhaust (1) | Sulfate PM Calculator |
Non-carbon Organic Matter (NCOM) (122) | Start Exhaust (2) | Sulfate PM Calculator |
Non-carbon Organic Matter (NCOM) (122) | Extended Idle Exhaust (90) | Sulfate PM Calculator |
Non-carbon Organic Matter (NCOM) (122) | Auxiliary Power Exhaust (91) | Sulfate PM Calculator |
Non-carbon Organic Matter (NCOM) (122) | Crankcase Running Exhaust (15) | Sulfate PM Calculator |
Non-carbon Organic Matter (NCOM) (122) | Crankcase Start Exhaust (16) | Sulfate PM Calculator |
Non-carbon Organic Matter (NCOM) (122) | Crankcase Extended Idle Exhaust (17) | Sulfate PM Calculator |
CB05 Mechanism (1000) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_ALDX (1002) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_ETH (1005) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_ETHA (1006) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_FORM (1008) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_IOLE (1009) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_OLE (1012) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_PAR (1013) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_TOL (1015) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_UNR (1017) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_XYL (1018) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_ISOP (1010) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_MEOH (1011) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_TERP (1014) | Running Exhaust (1) | TOG Speciation Calculator |
CB05_UNK (1016) | Running Exhaust (1) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Start Exhaust (2) | TOG Speciation Calculator |
NonHAPTOG (88) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_ALDX (1002) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_ETH (1005) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_ETHA (1006) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_FORM (1008) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_IOLE (1009) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_OLE (1012) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_PAR (1013) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_TOL (1015) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_UNR (1017) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_XYL (1018) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_ISOP (1010) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_MEOH (1011) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_TERP (1014) | Start Exhaust (2) | TOG Speciation Calculator |
CB05_UNK (1016) | Start Exhaust (2) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Evap Permeation (11) | TOG Speciation Calculator |
NonHAPTOG (88) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_ALDX (1002) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_ETH (1005) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_FORM (1008) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_IOLE (1009) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_ISOP (1010) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_MEOH (1011) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_OLE (1012) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_PAR (1013) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_TERP (1014) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_TOL (1015) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_UNR (1017) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_XYL (1018) | Evap Permeation (11) | TOG Speciation Calculator |
CB05_ETHA (1006) | Evap Permeation (11) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
NonHAPTOG (88) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_ALDX (1002) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_FORM (1008) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_IOLE (1009) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_ISOP (1010) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_OLE (1012) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_PAR (1013) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_TOL (1015) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_UNR (1017) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_XYL (1018) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05_TERP (1014) | Evap Fuel Vapor Venting (12) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
NonHAPTOG (88) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_ALDX (1002) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_FORM (1008) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_IOLE (1009) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_ISOP (1010) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_OLE (1012) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_PAR (1013) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_TOL (1015) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_UNR (1017) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_XYL (1018) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05_TERP (1014) | Evap Fuel Leaks (13) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_ALDX (1002) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_ETH (1005) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_ETHA (1006) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_FORM (1008) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_IOLE (1009) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_OLE (1012) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_PAR (1013) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_TOL (1015) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_UNR (1017) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_XYL (1018) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_ISOP (1010) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_MEOH (1011) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_TERP (1014) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05_UNK (1016) | Crankcase Running Exhaust (15) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
NonHAPTOG (88) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_ALDX (1002) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_ETH (1005) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_ETHA (1006) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_FORM (1008) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_IOLE (1009) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_OLE (1012) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_PAR (1013) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_TOL (1015) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_UNR (1017) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_XYL (1018) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_ISOP (1010) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_MEOH (1011) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_TERP (1014) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05_UNK (1016) | Crankcase Start Exhaust (16) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
NonHAPTOG (88) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_ALDX (1002) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_ETH (1005) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_ETHA (1006) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_FORM (1008) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_IOLE (1009) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_ISOP (1010) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_OLE (1012) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_PAR (1013) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_TERP (1014) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_TOL (1015) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_UNK (1016) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_UNR (1017) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05_XYL (1018) | Crankcase Extended Idle Exhaust (17) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_ALDX (1002) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_FORM (1008) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_IOLE (1009) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_ISOP (1010) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_OLE (1012) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_PAR (1013) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_TERP (1014) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_TOL (1015) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_UNR (1017) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05_XYL (1018) | Refueling Displacement Vapor Loss (18) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_ALDX (1002) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_FORM (1008) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_IOLE (1009) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_ISOP (1010) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_OLE (1012) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_PAR (1013) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_TOL (1015) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_UNR (1017) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_XYL (1018) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05_TERP (1014) | Refueling Spillage Loss (19) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
NonHAPTOG (88) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_ALDX (1002) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_ETH (1005) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_ETHA (1006) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_FORM (1008) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_IOLE (1009) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_ISOP (1010) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_OLE (1012) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_PAR (1013) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_TERP (1014) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_TOL (1015) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_UNK (1016) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_UNR (1017) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05_XYL (1018) | Extended Idle Exhaust (90) | TOG Speciation Calculator |
CB05 Mechanism (1000) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
NonHAPTOG (88) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_ALD2 (1001) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_ALDX (1002) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_ETH (1005) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_ETHA (1006) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_FORM (1008) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_IOLE (1009) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_ISOP (1010) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_OLE (1012) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_PAR (1013) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_TERP (1014) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_TOL (1015) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_UNK (1016) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_UNR (1017) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
CB05_XYL (1018) | Auxiliary Power Exhaust (91) | TOG Speciation Calculator |
Total Gaseous Hydrocarbons (1) | Evap Fuel Vapor Venting (12) | Tank Vapor Venting Calculator |