The Air Pollution Control Division, Colorado Dept. of Public Health and Environment (CDPHE) is charged with creating inventories of mobile source pollution in the Denver metro area. Given a transportation network and traffic volume data, an inventory is created that contains the total emissions for each of a number of pollutants for every link in the road network. Increased demand for these inventories has necessitated the automation of the process, and a GIS-based application, the Mobile Source Geographic Emission Inventory System (MSGEIS), was created to answer the problem. This system combines ArcInfo with external emission factor models to produce the required coverages and reports with an absolute minimum of user intervention.
Figure 1 - Generalized data flow in MSGEIS
For a given individual link in the road network, only three basic elements of data are required to generate the emissions for a given pollutant: length, traffic volume, and emission rate (grams of emissions = length in miles * volume * emission rate in grams/mile). However, it is in the emission rate calculation that much of the complexity arises. The Mobile5a model, originally developed by EPA, is used to calculate emission rates for the pollutants Carbon Monoxide, Hydrocarbons, and Nitrous Oxide (CO, HC, and NOX). The calculations are performed once for each unique combination of functional class, area type, and time period taking into account many factors including speed, scenario year, air temperature, and season. In addition, in the Denver metro area there is an inspections/maintenance program underway to detect and repair cars with high pollution rates. To incorporate the effects of this program all the calculations must be made an additional 4 times using different sets of inspection and maintenance parameters. So overall, for a given inventory year, the Mobile5a calculations are made 3,200 times! The output from all these calculations are distilled into an emission rate for each pollutant for each season for each unique combination of functional class, area type, and time period (800 values).
A second model, Part5, which was also developed by EPA is used to calculate the emission rates for Sulfur Dioxide, 10 micron particulates, and 2.5 micron particulates (SOX, PM10, and PM25). Fortunately the calculations are much simpler for these pollutants since they are not affected by season nor temperature. The output from these model runs is condensed into a format similar to that of the Mobile5a runs; one emission rates for each pollutant for each unique combination of functional class, area type, and time period.
Sanding and reentrained emissions, two types of particulate pollutants, are derived from static lookup tables based on functional class and area type. However, "credits" must be applied to reduce these emissions in order to account for street sweeping. These credits are based upon a road segment's presence within three different geographical areas representing different sweeping strategies.
The overriding objective for the MSGEIS was to reduce the amount of user-intervention required for the inventory process to an absolute minimum while maintaining (or improving) the accuracy and usability of the results. Additionally the system needed to be as flexible and easy-to-use as possible and relatively robust in terms of error-handling, From a software design perspective, the objectives were to create an application that was dynamic and modular.
The application is implemented using a single AML which acts as an executive, controlling the execution of a collection of perl, Bourne shell, and tcl/tk scripts through the use of the TASK function. Processing times can be many hours long so status messages are written to a separate logfile for each inventory created. Perl scripts are used for a variety of pre- and post-processing tasks which are largely the reformatting and extraction of text files. For example, converting the network files generated by DRCOG's traffic model into a ArcInfo GENERATE file.
The goal of modularity was addressed by using AML subroutines to group the functionality into relatively independent modules. Not only did this facilitate debugging and maintenance, but it allows only the required code to be executed. For instance, if the user only wants a Vehicle Miles Travelled (VMT) report, the emission rates calculation code is not required and not called even though it is part of the same AML program. Initially, the approach was to separate the functionality into different AML programs rather than subroutines, but given some required dependence between modules, conveying the state information between programs proved to be cumbersome.
Functionality that is best handled outside of AML is accomplished through shell and perl scripts which behave like AML functions - receiving parameters and returning values.
In order to accommodate the desired flexibility in processing, the MSGEIS must be somewhat dynamic. The application creates several INFO programs and reports as well as some AML programs at runtime. This allows them to be tailored according to the needs of that particular run. For instance, if a user requests reports on only certain pollutants, the INFO reports and programs will be created on-the-fly to exclude the unneeded ones. An side benefit to this strategy is that there is no dependence on a particular workspace or INFO directory since all INFO programs and reports are created, run, and deleted for each inventory processed.
The emission rates calculations are handled by two Bourne shell scripts, one for the Mobile5a model and one for the Part5 model. These scripts receive the necessary parameters from the AML executive and then create the input files for the models, sometimes requiring a call to another external program. The emission rates models themselves are then run, followed by the required post-processing scripts. The end results are stored in an INFO table using the class/area type/time period as the relational key. All of the complexity of multiple model runs, pre- and post-processing is completely hidden from the AML executive.
The user-input required is minimal, but what is necessary is handled through a graphical user interface implemented in the Tcl/Tk language. This approach was selected over AML's Form Menus because of the additional flexibility Tk afforded. Four dialogs are presented at the outset of the application and this is the only user-interaction required. The first dialog (figure 2) allows the user to select via check boxes which road networks to process. The check boxes are built at run-time based on available road network datasets. The second dialog offers the user the choice of spatial modeling domains which limit the extent of the inventory. The third dialog (figure 3) presents the user with a choice of pollutants for which to calculate inventories. The fourth dialog (figure 4) sets the temperatures for AM, PM and off-peak time periods for both winter and summer. Standard values are provided as defaults, and the minimum and maximum values required by the models are derived from the inputs. The last dialog (figure 5) gives the user the opportunity to specify which output reports to generate and whether to have them automatically printed. After this point the user can walk away and the inventory will be created for each requested network in sequence.
Figure 2 - Network selection dialog
Figure 3 - Pollutant selection dialog
Figure 4 - Temperature selection dialog
Figure 5 - Report selection dialog
The principal output from the system is a coverage where each road segment has attributes for functional class, area type, traffic volumes, and the total emissions for each of the pollutants for that particular link. Given these data a number of useful summaries are possible such as thematic maps showing the spatial distribution of traffic or emissions across the road network. However, currently the most popular outputs are the tabular reports showing summaries, by functional class and area type, of the total emissions for each pollutant and time period (see figure 6). VMT reports, also summarized by class and area type, are much quicker to calculate and are frequently used as a quick check that the network is reasonable. Although less often required, emissions summaries by vehicle type are also available.
Figure 6 - A portion of the Emissions Summary report
Emissions Summary for lv20 April 11, 1997 8:47 AM Analysis Domain: bound Winter Temperatures - AM: 27 PM: 52 OP: 36 Summer Temperatures - AM: 64 PM: 77 OP: 71 AM PERIOD PM PERIOD OP PERIOD TOTAL GRAMS TOTAL TONS CO_W 13,430,762 21,678,681 23,661,901 58,771,345 64.78 CO_S 10,713,334 18,296,490 19,471,217 48,481,042 53.44 NOX_W 1,471,005 3,082,605 5,527,568 10,081,179 11.11 NOX_S 1,268,978 2,763,431 4,754,124 8,786,534 9.69 HC_W 1,598,693 3,146,558 3,188,161 7,933,413 8.75 HC_S 1,286,074 2,696,116 3,169,735 7,151,926 7.88 SOX 80,866 187,551 289,864 558,282 0.62 PM10 60,367 138,537 216,584 415,489 0.46 PM25 48,569 110,973 174,716 334,259 0.37 SAND 47,385 111,515 167,034 325,935 0.36 REENTR 603,524 1,476,430 2,006,655 4,086,609 4.50 04/11/97 PAGE 1 CO_W AM EMISSIONS SUMMARY REPORT - LV20 AREA ROAD AM1 AM2 AM3 TOTAL TYPE CLASS (GRAMS) (GRAMS) (GRAMS) (GRAMS) 1 1 0 0 0 0 1 2 0 0 0 0 1 3 0 0 0 0 1 4 0 0 0 0 1 5 1,310 1,138 1,761 4,209 1 6 0 0 0 0 1 7 0 0 0 0 1 8 0 0 0 0 ------------ ------------ ------------ ------------ 1 1,310 1,138 1,761 4,209 2 1 259,407 210,926 318,255 788,588 2 2 9,512 7,327 9,262 26,101 2 3 175,899 154,472 224,411 554,783 2 4 73,567 64,466 96,343 234,376 2 5 63,312 65,801 107,467 236,580 2 6 22,178 19,109 25,867 67,154 2 7 0 0 0 0 2 8 23,270 14,188 15,713 53,171 ------------ ------------ ------------ ------------ 2 627,145 536,289 797,318 1,960,752
The MSGEIS system has evolved over the course of a few years, but underwent a major re-engineering and enhancement effort in 1996. The system is now fully operational and has dramatically increased the number of inventories that CDPHE can process. It is anticipated that during 1997, DRCOG will be bringing MSGEIS up on their system. Although, this will mean moving from a Data General Aviion to a Solaris environment, few problems are anticipated since the majority of the code is in platform-independent scripting languages.
John Cartwright, Richard Barrett, and Barbara MacRae
Air Pollution Control Division, Colorado Department of Public
Health and Environment
APCD-MS-B1
4300 Cherry Creek Drive South Denver, Colorado 80222-1530
Telephone: (303) 692-3141
Fax: (303) 782-5693