The MOVES post-processing scripts are consisted with two major python scripts. One is called “Moves2smkEF.pl” that extracts the emissions factor tables from the MOVES databases and converts them into a format that can be used as SMOKE inputs. The second script is an optional python script, called “SmkEFsum.pl” that aggregates up to 13 different modes emissions rate lookup tables produced by Moves2smkEF.pl into 4 different modes (i.e., EXH, EVP, BRK and TIR) to reduce the size of emissions rates lookup tables and computational time. The “SmkEFsum.pl” is called by “Moves2smkEF.pl” or it can be called independently to sum already processed lookup tables from Moves2smkEF.pl
The MOVES post-processor script “Moves2smkEF.pl” extracts the emission factor tables from the MOVES databases (RPD, RPV, and RPP MOVES formatted Lookup tables) and converts them into a format that can be processed using Movesmrg. Moves2smkEF.pl maps MOVES source, fuel, and road types to Source Classification Codes (SCCs); and formats the emission factor tables so that they can be used as SMOKE inputs.
Create a new field for 'countyID'
None of the MOVES lookup tables contain a countyID field solely dedicated to a state-county FIPS code, but SMOKE needs this information. For this reason, Moves2smkEF.pl creates a county field by extracting it from other fields that include county codes as part of their value. The RPD table has a linkID field that contains countyID in the leading five digits followed by more numbers to allow for future implementation of link modeling. The RPV table has a zoneID field that is countyID with a trailing zero. The RPP table has a TemperatureProfileID field, which also leads with countyID and is trailed by other numbers to indicate month and other identification. The postprocessing script parses countyID from linkID, zoneID and TemperatureProfileID and stores it as a separate field.
Cross-tab pollutantID to reduce output table size
Each of the three MOVES lookup tables contains a pollutantID field, and associated emission rates for each are listed in the ratePerDistance field or ratePerVehicle filed (depending on lookup table). This table structure repeats the leftmost fields (e.g., MOVESRunID, yearID, monthID) for each pollutantID, which greatly increases the total number of rows. The cross-tabbing postprocessing step replaces the column for 'ratePerDistance' (or 'ratePerVehicle', 'ratePerProfile') with additional pollutant-specific columns containing values of emission rates. For example, new field headings would include 'CO_ratePerDistance', 'NOX_ratePerDistance', 'BENZENE_ratePerDistance', etc. Performing this cross-tab on the pollutant emission rates significantly reduces the size of the tables for use by SMOKE.
Estimate HONO based on NO and NO2 from MOVES using equations developed by U.S. EPA
HONO = 0.008*NO2 + 0.008*NO
NO2 = 0.992*NO2 - 0.008*NO
Augment the MOVES speciated PM emission factors to reflect the PM species needed for SMOKE modeling
The following information developed by U.S. EPA to speciate the partially speciated PM2.5 exhaust emissions from MOVES2010. The advantage of using this approach over the approach used for speciating total PM2.5 is that it allows the speciated emissions from MOVES; i.e., elemental carbon and particulate sulfate to be retained and only the remainder of the PM2.5 to rely on speciation profiles.
MOVES PM2.5 species are related as follows:
PM25_TOTAL = PM25EC + PM25OM + PSO4
CMAQ PM2.5 species are related as follows:
The five CMAQ species Primary or Particulate Organic Carbon (POC), Primary Elemental Carbon (PEC), Primary Nitrate (PNO3), Primary Sulfate (PSO4), and other primary 2.5 particulate matter (PMFINE) also sum to total PM2.5:
PM2.5 = POC+PEC+PNO3+PSO4+PMFINE
The purpose of the equations given above is to fully speciate the MOVES2010 partially speciated exhause PM2.5 to create the model species needed for CMAQ. These equations are only used when there are exhause-related emissions (e.g. Running Exhaust, Start Exhaust, Creankcase Start/Running Exhaust, and Idle Exhaust). The equations utilize the following MOVES2010 outputs:
File Name | Description |
---|---|
PM25EC | identical to the element carbon portion of PM2.5, or PEC |
PM25SO4 | identical to the sulfate portion of PM2.5, or PSO4 |
PM25OM | contains all components of PM2.5 other than PEC and PSO4 |
insert PEC_72 discussion from SMOKE-MOVES Integration tool 3.2.4 here
Table 5.2. The MOVES temperature adjustment factors (PEC_Tadj) to PEC
Vehicle Type | Temperature ( ° F ) | TemperatureAdjustment Factor (PEC_Tadj) | |
---|---|---|---|
Start Exhaust | Running Exhaust | ||
Gasoline Vehicles | T < 72 ° F | 28.039*exp(-00463*T) | 9.871*exp(-0.0318*T) |
Gasoline Vehicles | T ≥ 72 ° F | 1.0 | 1.0 |
Diesel Vehicles | All temperatures | 1.0 | 1.0 |
The Equations are as follows:
PEC = PM25EC
PSO4=PM25SO4
PNO3 = (PEC/PEC_Tadj)*(FNO3/FEC)
METAL = (PEC/PEC_Tadj)*(FMETAL/FEC)
POC = 5/6 * (PM25OM - METAL - PNO3)
PMFINE = METAL + (0.2 x POC)
PMC = (RPM10-to-PM25-1)*(PMFINE + PEC + POC + PSO4 + PNO3)
PMC = PM10BRAKE - PM25BRAKE
PMC = PM10TIRE - PM25TIRE
Table 5.3. Definitions used in equations to obtain the PM2.5 unaffected by temperature
Equation Entry | Definition |
---|---|
Gasoline SCCS | SCCs begin with "2201" |
Diesel SCCS | ALL SCCs begin with "2230" |
PEC | Mass of primary elemental carbon, a species needed for CMAQ |
PM25EC | Mass of primary elemental carbon PM2.5 provided by the MOVES model |
PM10EC | Mass of primary elemental carbon PM10 provided by the MOVES model |
PM25SO4 | Mass of primary sulfate provided by the MOVES model |
PSO4 | Mass of primary sulfate, a species needed for CMAQ |
PNO3 | Mass of primary nitrate, a species needed for CMAQ |
PEC_72 | Mass of primary elemental carbon when MOVES runs at 72°F or higher temperature ; calculated by “backing out“ the temperature adjustment factor, PEC_Tadj |
PEC_Tadj | The MOVES cold-temperature adjustment factor to PM25EC from gasoline vehicles |
FNO3, FEC, FMETAL | Percentages of nitrate, elemental carbon, and metal derived from the vehicle-type-specific speciation profile; values are provided in Table 5.3, “Definitions used in equations to obtain the PM2.5 unaffected by temperature” |
METAL | Mass of metal component of PM2.5, which is a component of PMFINE |
62.0049 | Molecular weight of nitrate |
96.0576 | Molecular weight of sulfate |
18.0383 | Molecular weight of ammonium |
POC | Mass of primary organic carbon, a species needed for CMAQ |
PM25OM | Mass of organic material PM2.5 provided by the MOVES model this actually includes more than organic matter. It includes the mass of all components of PM2.5 other than PEC and PSO4 |
PM10OM | Mass of organic material PM10 provided by the MOVES model. |
PMFINE | Mass of other primary PM2.5 not accounted for in PEC, POC, PSO4, and PNO3; this is a species needed for CMAQ. This mass includes the ammonium, metals, water, and the mass of the noncarbon material, i.e., hydrogen, oxygen, and other atoms attached to the organic carbon |
PMC | Mass of the coarse fraction of PM10; defined as PM10 - PM2.5; this is a species needed for CMAQ |
RPM10-to-PM25 | Ratio of PM10-to-PM2.5, which is a constant that is dependent upon fuel type; values are provided in next table |
Table 5.4, “Values and basis for fractions used to compute PNO3, METAL, and PMC” gives the values for FNO3, FEC and FMETAL and RPM10-to-PM25. They are based on the vehicle type (first seven digits of the SCC), except that RPM10-to- PM25 is based soley on fuel type.
Table 5.4. Values and basis for fractions used to compute PNO3, METAL, and PMC
Vehicle Type | SCC list | FEC(%) | FNO3(%) | FMETAL(%) | RPM10-to-PM25 |
---|---|---|---|---|---|
LDDV | ALL SCCs that begin with:223000[1-6] | 57.4805 | 0.2300 | 0.6513 | 1.0309 |
HDDV | ALL SCCs that begin with:223007 | 77.1241 | 0.1141 | 0.2757 | 1.0309 |
LDGV/HDGV | ALL SCCs that begin with:2201 | 20.8011 | 0.1015 | 2.2256 | 1.0860 |
Create final emission rate lookup tables in SMOKE format
In addition to the changes specified above sections(put in reference), a few minor cosmetic changes (described in this section) are made to each table. The three postprocessed tables named rateperdistance_smoke, ratepervehicle_smoke, and rateperprofile_smoke are exported from MySQL into ASCII files for their use in SMOKE. The fields are listed by lookup table type (refer to final lookup table - section2).
Table 5.5. MOVES processID, corresonding processName and associated emission rate lookup table for SMOKE
processID | Description | smokeProcID | agg. smokeProcID | Lookup Table(s) |
---|---|---|---|---|
1 | Running Exhaust | EXR | EXH | RPD |
2 | Start Exhaust | EXR | EXH | RPV |
15 | Crank Run Exhaust | CXR | EXH | RPD |
16 | Crank Start Exhaust | CXS | EXH | RPV |
17 | Crank Ext Idle Exhaust | CEI | EXH | RPV |
90 | Ext Idle Exhaust | EXT | EXH | RPV |
11 | Evap Permeation | EPM | EVP | RPD, RPV |
12 | Evaporative Fuel Vent | EFV | EVP | RPD, RPP |
13 | Evaporative Fuel Leak | EFL | EVP | RPD, RPV |
18 | Refuel Disp Vap | RFV | N/A | N/A |
19 | Refuel Spillage | RFS | N/A | N/A |
9 | Brakewear | BRK | BRK | RPD |
10 | Tirewear | TIR | TIR | RPD |
Moves2smkEF.pl is run after runspec.csh, and before any SMOKE processing. The Moves2smkEF.pl is written in Perl, generates SMOKE-ready MOVES lookup tables (i.e., RPD, RPV and RPP) by each reference county and fuel month for inputs to Movesmrg.
File Name | Format | Description | |||
---|---|---|---|---|---|
|
MOVES format | Columns in the MOVES Emission Rate Lookup Table are described in Table 2.9, “MOVES Emission Rate Lookup Table (MOVES Format)”. | |||
File Name | Format | Description | |||
---|---|---|---|---|---|
|
SMOKE format | Columns in the MOVES Emission Rate Lookup Table are described in Table 2.10, “MOVES Emission Rate Lookup Table (SMOKE Format)”. |
The SmkEFsum.pl aggregates up to 13 different modes emission rate lookup tables produced by SmkEFsum.pl into four different modes (i.e., EXH, EVP, BRK and TIR) to reduce the size of emissions rate lookup tables and computational time.
The perl script performs the following steps:
In the directory specified by InputDBlist, SmkEFsum.pl will read the three MRCLIST
files created by Moves2smkEF.pl
It then opens each emission factor files listed in the MRCLIST
files that were created by Moves2smkEF.pl and sums the emissions.
It will write new emission factor files to the OutputPath directory and create a new MRCLIST file.
The new files are all named with ".summed.lst" or ".summed.csv" to avoid any confusion with the original emission factor files. SmkEFsum.pl will work with files created by earlier versions of Moves2smkEF.pl (where the evaporative permeation emissions were named EVP - prior to renaming to EPM) and with the latest version.
File Name | Format | Description |
---|---|---|
InputDBlist :
|
ASCII | List of MySQL database names to process (generated by runspec_generator_v0.1.pl) |
mcrlist.rateperdistance.lst :
|
ASCII | |
mcrlist.ratepervehicle.lst :
|
ASCII | |
mcrlist.rateperprofile.lst :
|
ASCII |
File Name | Format | Description |
---|---|---|
rateperdistance_smoke_*.csv |
ASCII | RPD SMOKE formatted lookup table (fuel month specific) |
ratepervehicle_smoke_*.csv |
ASCII | RPV SMOKE formatted lookup table (fuel month specific) |
rateperprofile_smoke_*.csv |
ASCII | RPP SMOKE formatted lookup table (fuel month specific) |
MRCLIST |
ASCII | contain a list of these lookup table names by fuel month for Movesmrg to use as an input file |