# Presentation: 792173

## Chemical Mass Balance Software:  EPA-CMB8.2

**C. Thomas Coulter**
- Air Quality Modeling Group
- Office of Air Quality Planning & Standards
- U.S. Environmental Protection Agency
- Research Triangle Park, NC  27711
**John V. Scalco**
- Ideal Software, Inc.
- P.O. Box 298
- Apex, NC  27502

## Governing Equation

*C**i* is the ambient concentration of specie *i*;
*a**ij* is the fractional concentration of specie *i* in the emissions from source *j;*
*S**j* is the total mass concentration contributed by source *j; and*
*p* is the number of sources, and *n* is the number of species, with *n* ≥ *p*.
- The *C**i* and *a**ij* are known and the *S**j* are found by a least squares solution of the overdetermined system of equations.

## FEATURES

**Windows****®****-based, event-driven operations**
**Multiple arrays for fitting species and fitting sources**
**Britt-Luecke algorithm**
**Improved collinearity diagnostics**
**Better handling of VOC applications**
**Search for best fit**
**User-selected preferences**

**Notes:**
Windows®-based, event-driven operations:  EPA-CMB8.2 makes full use of Windows® (32-bit) features, including a tabbed interface that facilitates the necessary progression for doing a CMB calculation.  Commands may be executed with hot-keys or toolbar buttons, and features are described via mouse-overs and context sensitive on-line help screens.  EPA-CMB8.2 also offers flexible options for input/output data formats.  Input formats are compatible with output files from EPA’s source profile library SPECIATE (www.epa.gov/ttn/chief/).
Multiple arrays for fitting species and fitting sources:  Up to ten indexed arrays of fitting source profiles and fitting species may be specified in input data selection files.  Different arrays can be selected during EPA-CMB8.2 operation.  Upon session exit, an option is provided to conveniently save (update) or rename selection files to reflect arrays that are added, modified or deleted during the session.
Britt-Luecke algorithm: A general solution to the least squares estimation problem that includes uncertainty in all the variables (i.e., the source compositions as well as the ambient concentrations) is available.  While an approximation to the Britt-Luecke iteration scheme (Britt and Luecke, 1973) was used in CMB7, exercise of Britt-Luecke algorithm option in EPA-CMB8.2 allows solution without approximation.
Improved collinearity diagnostics:  The uncertainty/similarity clusters have been replaced with a singular value decomposition eligible space treatment that allows the user to define an acceptable error and an acceptable collinearity among weighted source profiles.
Better handling of VOC applications:  EPA-CMB8.2 gives the user control in adjusting collinearity parameters which in CMB7 are "hard-wired" and not necessarily optimum for every application.  Values for these parameters were chosen in CMB7 to be compatible with characteristics of particulate mass measurements, but they may not be as well suited to CMB solutions involving VOC.
Search for best fit:  Using a user-selected weighted optimization of performance measures, EPA-CMB8.2 can systematically check up to 10 possible paired combinations of fitting species and sources arrays as it searches for a maximum of an empirical composite measure.  The best fit arrays are then indicated in their respective windows.
User-selected preferences:  In EPA-CMB8.2, the user may set options for maximum iterations for convergence, eligible space tolerances, positions of decimal points in output, receptor concentration units, special calculation alternatives, and performance measure weights for use in Best Fit mode.  The user may now easily retain or clear tagged samples following a  multiple-sample (batch) run.

## FEATURES (cont’d)

**Negative source contributions**
**Improved memory management**
**Upgraded linear algebra library**
**Versatile graphic display capability**
**Context-sensitive on-line help**
**Flexible input and output formats**
**File handling**

- 				Previously	EPA-CMB8.2
- Source _**PR**_ofile selection file:		SO*.sel		**PR***.sel
_**SP**_ecies selection file:		PO*.sel		**SP***.sel
_**A**_mbient _**D**_ata (sample) selection file:	DS*.sel	**	****AD***.sel

**Notes:**
Negative source contributions:  EPA-CMB8.2 calculations can be set to eliminate negative contributions.
Improved memory management:  EPA-CMB8.2 memory is limited only by the available RAM on the host computer, not by pre-set memory limitations.
Upgraded linear algebra library:  The linear algebra library that EPA-CMB8.2 uses to perform its effective variance, least-squares regressions has been updated with LAPACK v3.0.
Versatile graphic display capability:  For ambient samples and source profiles, bar charts for species concentrations can be displayed within EPA-CMB8.2:  very useful for inspection.  These can be cut from their windows and pasted into other Windows documents.
Context-sensitive on-line help: Context-sensitive on-line help is accessible directly from the User Interface.
Flexible input and output formats: comma-separated value (CSV), xBASE (DBF), and worksheet (WKS) formats are supported as input files, in addition to the formatted, blank-delimited ASCII text files (TXT) supported by CMB7.  Output files formats are ASCII and CSV (nicely portable to EXCEL).
File handling:	  EPA-CMB8.2 differs from CMB7 in several ways with regard to the files used by each.  EPA-CMB8.2 does not support CMB6 style ambient data and source profile data files.  Control File (formerly filenames file), source profile, ambient data, and sample selection file formats differ slightly from CMB7.  CMB7 source profile and ambient concentration data files can be read directly by EPA-CMB8.2, however, so backward compatibility is assured.  Different Control Files can be loaded during the same session, obviating the need to terminate the application.  In EPA-CMB8.2 graphical output is not provided as HPGL text files.

## Launching the EPA-CMB-8.2 Software

**Click**

## Browse Dialog forSelecting a Control File

**Click**

- We load the San Joaquin Valley Fine data set (Chow *et al.*, 1992).

## Click

**Click**

## Banner Page

**Banner Page**
**        ****via**
**Help | About**

**Click**

##  Control File name is echoed, as are any 	input files it directs to load.

-  **Control File name is echoed, as are any ****	****input files it directs to load.**
** ****Use browse boxes to add / change input ****	****files during a session.**

**Click**

**Click**

## This parameter sets the maximum number of iterations EPA-CMB8.2 will attempt to arrive at a solution.  If no convergence can be achieved, there is probably excessive collinearity for this sample and combination of fitting sources.  Its value is adjusted via the spinners.  (Must be >0; no theoretical upper limit; default = 20)

- This parameter sets the maximum number of iterations EPA-CMB8.2 will attempt to arrive at a solution.  If no convergence can be achieved, there is probably excessive collinearity for this sample and combination of fitting sources.  Its value is adjusted via the *spinners*.  (Must be >0; no theoretical upper limit; default = 20)

## Allows the eligible space collinearity evaluation method of Henry (1992) to be implemented with each CMB calculation.  The maximum source uncertainty is a threshold expressed as a percentage of the total measured mass and is adjustable via the spinners (default = 20% ; acceptable range 0 - 100).

- Allows the eligible space collinearity evaluation method of Henry (1992) to be implemented with each CMB calculation.  The maximum source uncertainty is a *threshold* expressed as a percentage of the total measured mass and is adjustable via the *spinners* (default = 20% ; acceptable range 0 - 100).

## Allows the eligible space collinearity evaluation method of Henry (1992) to be implemented with each CMB calculation.  The minimum source projection is set to a default value of 0.95 (acceptable range 0.0 - 1.0), but can be changed in the display field.

## This parameter sets the number of decimal places displayed in the output window and output files.  Depends on the units used in the input data files.  Setting affects the display columns for source contributions estimates, measured species concentrations (ambient samples and source profiles), calculated contributions by species, as well as for inverse singular values.  Adjusted by using the spinners.  The default value is 5 and the maximum value is 6.

- This parameter sets the number of decimal places displayed in the output window and output files.  Depends on the units used in the input data files.  Setting affects the display columns for source contributions estimates, measured species concentrations (ambient samples and source profiles), calculated contributions by species, as well as for inverse singular values.  Adjusted by using the *spinners*.  The default value is 5 and the maximum value is 6.

## The units used for reporting results may be changed via a pull-down menu.  Other typical units are available, or one may be created (the number of characters is limited to 5 or less).

## File format for spreadsheet-type output is selected in the pull-down box.  Default is ASCII (txt); comma-separated value (CSV) is also available.  Selection is echoed on the status bar at the top of the screen.

## Checking this box applies the Britt and Luecke (1973) linear least squares solution explained by Watson et al. (1984) when applied to CMB calculations.  Allows the source profiles used in the fit calculation to vary, and enables a general solution to the least squares estimation that includes uncertainty in all the variables (i.e., the source compositions as well as the ambient concentrations).

- Checking this box applies the Britt and Luecke (1973) linear least squares solution explained by Watson *et al.* (1984) when applied to CMB calculations.  Allows the source profiles used in the fit calculation to vary, and enables a general solution to the least squares estimation that includes uncertainty in all the variables (i.e., the source compositions as well as the ambient concentrations).

## Slide 17

## Checking this box eliminates negative source contributions from the calculation, one at a time.  After each fit attempt, if any sources have negative contributions, the source with the largest negative contribution is eliminated and another fit is attempted.  Process is repeated until EPA-CMB8.2 finds no sources with negative contributions.  Invocation of this option affects the fit obtained by effectively removing collinear sources.

- Checking this box eliminates *negative *source contributions from the calculation, one at a time.  After each fit attempt, if any sources have negative contributions, the source with the largest negative contribution is eliminated and another fit is attempted.  Process is repeated until EPA-CMB8.2 finds no sources with negative contributions.  Invocation of this option affects the fit obtained by effectively removing collinear sources.

## Causes the program to cycle through the corresponding pairs (same array index) of fitting species and source profile arrays specified in the source and species selection input windows until best composite Fit Measure has been achieved. The fit with the largest Fit Measure is then displayed and becomes the current fit.  After a Best Fit has been made, the fitting species and fitting sources arrays will be tagged (highlighted) in their respective windows.

- Causes the program to cycle through the corresponding *pairs* (same array index) of fitting species and source profile arrays specified in the source and species selection input windows until best composite Fit Measure has been achieved. The fit with the largest Fit Measure is then displayed and becomes the current fit.  After a Best Fit has been made, the fitting species and fitting sources arrays will be tagged (highlighted) in their respective windows.

## Weights (coefficients) applied to each of the performance measures chi square, r-square, percent mass, and fraction of eligible sources.  Positive values between 0 and 1 may be entered by typing into the appropriate display fields.  Defaults are 1.0 for each performance measure weight.

**Click**

## Click

**Click**

## Collapsed list of samples.

**Click**

**Collapsed list of samples.**

## Click

**Click**

## Click

**Click**

## Click Index Number

**Click Index Number**

## Click

**Click**

## Click Index Number

**Click Index Number**

## Slide 28

## Click

**Click**

## Click

**Click**

**Click**

## Collapsed view for Array 5

**Click**

**Collapsed view for Array 5**

## NB:  Sample selection will be retained following the batch calculation.  Samples can easily be DEselected and REselected on the Ambient Data Samples screen.

**NB:  Sample selection will be retained following the batch calculation.  Samples can easily be DEselected and REselected on the Ambient Data Samples screen.**

**Click**

## Batch run for the 6 samples tagged ...

**Click**

**Batch run for the 6 samples tagged ...**

## 3rd result of the 6 in the buffer ...

**3****rd**** result of the 6 in the buffer ...**

- SUM

**Click**

**Print / Save Main Report**

**Click**

**Click**

**Click**

**Click**

**Click**

**Save spreadsheet-type results**

**Click**

## Left-hand side of the spreadsheet-type output file ...

**SPcode SPname   I SiteID       DATE     ST DR SIZE     Mconc      Munc     ****Cconc      Cunc****     Rsquare   CHIsqr     %MASS    SJV001     SOIL01**
- TMAC   TMAU       FELLOW       07/26/88 0  24 FINE    21.53630   1.19000  20.61957   1.05551   0.91276   4.86863  95.74332   4.72533   0.30812
- N3IC   N3IU     * FELLOW       07/26/88 0  24 FINE     0.21280   0.18520   0.25688   0.05922   0.91276   4.86863  95.74332   0.01276   0.02221
- S4IC   S4IU     * FELLOW       07/26/88 0  24 FINE     5.14750   0.27090   5.64551   0.50730   0.91276   4.86863  95.74332   0.00189   0.00614
- N4TC   N4TU     * FELLOW       07/26/88 0  24 FINE     1.91540   0.13330   1.72104   0.17520   0.91276   4.86863  95.74332   0.00284   0.00236
- KPAC   KPAU     * FELLOW       07/26/88 0  24 FINE     0.11510   0.02380   0.10179   0.03801   0.91276   4.86863  95.74332   0.00473   0.00142
- NAAC   NAAU     * FELLOW       07/26/88 0  24 FINE     0.14880   0.05830   0.13499   0.03160   0.91276   4.86863  95.74332   0.00425   0.00189
- ECTC   ECTU     * FELLOW       07/26/88 0  24 FINE     0.81720   0.19810   1.81263   0.49971   0.91276   4.86863  95.74332   0.12995   0.05434
- OCTC   OCTU     * FELLOW       07/26/88 0  24 FINE     3.89260   0.45780   2.74572   0.61583   0.91276   4.86863  95.74332   0.48482   0.06521
- ALXC   ALXU     * FELLOW       07/26/88 0  24 FINE     0.29510   0.03000   0.44982   0.05106   0.91276   4.86863  95.74332   0.44796   0.05103
- SIXC   SIXU     * FELLOW       07/26/88 0  24 FINE     0.94330   0.06120   1.17369   0.13467   0.91276   4.86863  95.74332   1.15014   0.13042
- SUXC   SUXU     _ FELLOW       07/26/88 0  24 FINE     2.01640   0.10200   1.83451   0.15798   0.91276   4.86863  95.74332   0.00945   0.00520
- CLXC   CLXU     * FELLOW       07/26/88 0  24 FINE     0.02750   0.00710   0.05008   0.01515   0.91276   4.86863  95.74332   0.00331   0.00047
- KPXC   KPXU     * FELLOW       07/26/88 0  24 FINE     0.16320   0.01060   0.14503   0.02987   0.91276   4.86863  95.74332   0.04867   0.00567
- CAXC   CAXU     * FELLOW       07/26/88 0  24 FINE     0.17820   0.01160   0.09446   0.01020   0.91276   4.86863  95.74332   0.08836   0.00992
- TIXC   TIXU     * FELLOW       07/26/88 0  24 FINE     0.02980   0.00690   0.02505   0.00288   0.91276   4.86863  95.74332   0.02457   0.00284
- VAXC   VAXU     * FELLOW       07/26/88 0  24 FINE     0.03660   0.00370   0.03836   0.00275   0.91276   4.86863  95.74332   0.00142   0.00047
- CRXC   CRXU     * FELLOW       07/26/88 0  24 FINE     0.00660   0.00180   0.00187   0.00090   0.91276   4.86863  95.74332   0.00142   0.00000
- MNXC   MNXU     * FELLOW       07/26/88 0  24 FINE     0.00580   0.00100   0.00632   0.00075   0.91276   4.86863  95.74332   0.00520   0.00047
- FEXC   FEXU     * FELLOW       07/26/88 0  24 FINE     0.27460   0.01830   0.28496   0.03120   0.91276   4.86863  95.74332   0.27549   0.03119
- NIXC   NIXU     * FELLOW       07/26/88 0  24 FINE     0.03790   0.00230   0.03604   0.00405   0.91276   4.86863  95.74332   0.00047   0.00000
- CUXC   CUXU     _ FELLOW       07/26/88 0  24 FINE     0.13830   0.06990   0.00059   0.00007   0.91276   4.86863  95.74332   0.00047   0.00000
- ZNXC   ZNXU     _ FELLOW       07/26/88 0  24 FINE     0.09320   0.04160   0.01606   0.00178   0.91276   4.86863  95.74332   0.00095   0.00000
- BRXC   BRXU     _ FELLOW       07/26/88 0  24 FINE     0.01080   0.00080   0.00708   0.00367   0.91276   4.86863  95.74332   0.00047   0.00000
- PBXC   PBXU     * FELLOW       07/26/88 0  24 FINE     0.02310   0.00540   0.00900   0.00500   0.91276   4.86863  95.74332   0.00000   0.00000

**Left-hand side of the spreadsheet-type output file ...**

## Click

**Click**

## Click

**Click**

## Modified Pseudo-Inverse Normalized Matrix

**Modified Pseudo-Inverse Normalized Matrix**