OAR Box 1828 

Prepped by Ollie Stewart 

Document Number: 

7) ll-K- (A) - 20 

Docket Number: 

A-83-27 

Printed 11/12/200811:12:48 AM Sheet 7 of 325 

P.1 
II-K-(A)-20 

ENERGY AND ENVIRONMENTAL ANALYSIS, INC. 

1655 North Fort Myer Dr 

Arlington, Virginia 22209 

(703) 528-1900 
-

p4--

INDUSTRIAL FUEL CHOICE ANALYSIS MODEL 

USER'S MANUAL 

Prepared for: 

U.S. ENVIRONMENTAL PROTECTION AGENCY 

Office of Air Quality Planning and Standards 

Research Triangle Park, North Carolina 27711 

Prepared by: 

ENERGY AND ENVIRONMENTAL ANALYSIS, INC. 

1655 North Fort Myer Drive 

Arlington, Virginia 22209 

November 1984 
^ 

r J* 

This report was furnished to the U.S. Environmental Protection Agency 

by Energy and Environmental Analysis, Inc., Arlington, Virginia, in fulfillment of Contract Number 68-02-3564. The contents of this report are 

reproduced herein as received from the contractor. 

The opinions, findings, and conclusions expressed are those of the 

author and not necessarily those of the U.S. Environmental Protection 

Agency. 
P.5 

r

 2X 

PREFACE 

The Industrial Fuel Choice Analysis Model (IFCAM) was developed by 

Energy and Environmental Analysis, Inc. IFCAM has been used by the Office 

of Air Quality Planning and Standards, U.S. Environmental Protection Agency 

to project the national and regional environmental, cost and energy impacts 

of alternative New Source Performance Standards for industrial fossil 

fuel-fired boilers. 

The purpose of this User's Manual is to provide information related to 

user options, input file formats and units, output table features and 

program operating instructions. 

A separate report, Description of the Industrial Fuel Choice Analysis 

Model (-November*-h98/*f), presents the model scope and capabilities, model 

logic, key assumptions, data sources, and references. 

A description of IFCAM program structure has been provided in a third 

report. The model's programs, subroutines, and data files are outlined. 

Flowcharts are also presented and these illustrations depict the sequence 

of model steps. Reference "Industrial Fuel Choice Analysis Model: Overview and Flowcharts of Program Structure," Energy and Environmental Analysis, Inc., Arlington, Virginia, prepared for the U.S. Environmental Protection Agency (Industrial Environmental Research Laboratory and Office of Air 

Quality Planning and Standards), July 9, 1982. 
P.6 

TABLE OF CONTENTS 

Page 

1. INTRODUCTION 1-1 

1.1 Model Overview ; 1-1 

1.2 User Options 1-2 

1.3 Report Organization 1-9 

2. INPUT DATA FILES 2-1 

2.1 Alternative NSPS 2-1 

2.2 Projected Industrial Fossil Fuel Prices 2-5 

2.3 Projected Industrial Fossil Fuel Demand 2-11 

2.4 Industrial Production Growth Forecast 2-16 

3. OPERATING INSTRUCTIONS 3-1 

3.1 Introduction 3-1 

3.2 Industrial Boilers in 1985 3-3 

3.3 Fuel Choice Decisions in 1985 3-3 

3.4 1985 IFCAM Output Tables 3-8 

3.5 Industrial Boilers in 1990 3-8 

3.6 Fuel Choice Decisions in 1990 3-8 

3.7 1990 IFCAM Output Tables 3-15 

3.8 Briefing Package Output Tables 3-15 

4. OUTPUT TABLES .4-1 

4.1 Regular Output Tables 4-1 

4.2 Briefing Package Output Tables 4-8 
P.7 

LIST OF TABLES 

Page 

1-1 Industrial Boiler Pollution Control Equipment 

Options in IFCAM -. 1-3 

2-1 Specifications for IFCAM NSPS Assumptions Input File 2-4 

4-1 Fuel Type Codes Used in Table IX 4-3 

4-2 Pollution Control Equipment Codes in Table IX 4-5 

4-3 Directory of IFCAM Output Tables 4-7 
P.8 

LIST OF FIGURES 

Page 

1-1 IFCAM User Options 1-4 

1-2 Federal Regions of the United States 1-7 

2-1 NSPS Assumptions 2-2 

2-2 Oil and Gas Price Interpolation Program 2-7 

2-3 Coal Price Interpolation Program 2-10 

2-4 Oil/Gas Price Present Value Program 2-12 

2-5 Coal Price Present Value Program 2-14 

2-6 Industrial Fuel Demand Projections 2-17 

2-7 Industrial Production Activity 2-19 

3-1 Sequence of IFCAM Program Jobs 3-2 

3-2 CALINT(BASEJCL) 3-4 

3-3 EC0N(JCL85) 3-7 

3-4 TABLE(JCL85) 3-9 

3-5 CALINT(BASEJCL2) 3-10 

3-6 EC0N(JCL90) 3-14 

3-7 TABLE(JCL90) 3-16 

3-8 IFCAM.AUXILIRY(BRIEFJCL) 3-17 
P.9 

r

 A 

1. INTRODUCTION 

This section summarizes the major model steps and describes IFCAM's 

user options. 

1.1 MODEL OVERVIEW 

The Industrial Fuel Choice Analysis Model (IFCAM) is an energy demand 

model developed by Energy and Environmental Analysis, Inc. (EEA). In 

addition to generating industrial boiler fuel mix estimates, IFCAM projects 

levels of air emissions, solid waste and energy consumption associated with 

emission control, and steam generating costs. 

IFCAM is a disaggregated process engineering model; models of this 

type simulate the effects of specific policies on new and existing technical alternatives, including innovative boiler designs and new pollution 

control equipment. IFCAM is designed to assess the impact of several 

factors on fuel choice.decisions in the industrial sector, including fuel 

prices, energy and environmental policies, and capital and annual operating 

and maintenance (O&M) costs of firing alternative fossil fuels. 

IFCAM disaggregates exogenous total industrial fossil fuel demand 

forecasts into nine industrial subsectors. Energy use in each of these 

industrial subsectors then is divided into boiler and process heat applications. 

Industrial boiler fossil fuel use is subdivided further to reflect the 

amount of fuel that will be used in new and existing boilers of different 

sizes and annual capacity utilization rates. Existing boilers are classified according to the type of fuel they are designed to fire and whether 

they can be retrofitted to fire alternative fuels. Eight size classes and 

five capacity utilization rate categories are delineated for both new and 

existing boilers. 

Each new boiler is sited in an Air Quality Control Region (AQCR). New 

boilers are located within each AQCR according to historical siting patterns. Because state environmental regulations for existing and new 

1-1 
P.10 

— n 

boilers often vary by AQCR, IFCAM applies current regulations on an AQCR 

basis. These regulations are based on current State air laws for existing 

fossil fuel-fired boilers. 

The boilers represented in IFCAM are fired by one of several types of 

fossil fuels: coal, distillate fuel oil, residual fuel oil, or natural 

gas. IFCAM provides a choice between 9 coal types that vary by sulfur, 

ash, and Btu content. Additionally, four residual fuel oil types that vary 

by sulfur content are available. The price of each fuel type can vary by 

region. 

The pollution control equipment options available in IFCAM are presented in Table 1-1. For each fuel type (i.e., coal, oil, and gas), the 

least cost pollution control strategy that meets the recommended standard 

is calculated. The least cost strategy includes finding the lowest cost 

option in terms of the boiler, pollution control equipment, and annual fuel 

costs. Based on the characteristics of each combustor (e.g., size, operating rate, pollution control requirements), capital and operating costs are 

generated for each fuel type. The fuel type associated with the lowest 

after-tax present value (including expected fuel expenses) of the total 

cost of generating steam over the boiler's investment period is selected. 

1.2 USER OPTIONS 

Figure 1-1 summarizes the major IFCAM user options. "User options" 

are defined to be frequent user modifications to a subset of the model 

input files. 

The IFCAM user options can be classified in two groups: 

• Alternative New Source Performance Standards (NSPS) and 

• "Energy scenario" specifications 

Alternative NSPS refers to alternative Federal air emissions standards for 

sulfur dioxide (SOp), particulate matter (PM) and nitrogen oxide (N0x) 

emissions from the combustion of coal, distillate fuel oil, residual fuel 

oil and natural gas in new industrial boilers. Energy scenario specifications are exogenous regional projections of: 

• Industrial fossil fuel prices 

• Total industrial fossil fuel demand 

• Industrial production activity 

1-2 
p.11 

TABLE 1-1. INDUSTRIAL BOILER POLLUTION CONTROL EQUIPMENT 

OPTIONS IN IFCAM 

Pollutant Technology 

SO? Flue gas desulfurization 

Dual alkali 

Lime spray drying 

Sodium throwaway 

PM Single mechanical collector 

Dual mechanical collector 

Side stream separator 

Electrostatic precipitator 

Fabric filter 

NO Combustion modification 

Low excess air 

Staged combustion air 

aCombined S02/PM control system; includes a fabric filter. 

1-3 
P.12 

' L* 

FIGURE 1-1 

IFCAM User Options 

Industrial Production 

Forecast 

NSPS 

Industrial Energy 

Demand Forecast 

IFCAM 

OUTPUT 

• Fuel Mix 

• Emissions 

• Costs 

Industrial Fuel 

Price Forecast 

1-4 
P.13 

A 

1.2.1 Alternative NSPS 

There are eight industrial boiler size classes in IFCAM (MMBtu/hr heat 

input): 

• 

• 

• 

• 

• 

• 

• 

t 

10-30 

30-50 

50-75 

75-100 

100-150 

150-200 

200-250 

>250 

Model users may specify emissions ceilings by boiler size category, annual 

capacity utilization rate (less than or greater than 30 percent), pollutant 

(S02 and PM) and fuel type (residual fuel oil and coal) in terms of pounds 

of emissions per million Btu of fuel consumption. 

Mandatory scrubbing can also be required for new residual fuel oil and 

coal boilers by size class. The S0~ percentage removal requirement can be 

fixed (constant for all fuel types regardless of sulfur content) or variable (function of the sulfur content of the fuel, such as the current 

electric utility coal-fired boiler NSPS). 

The emissions standards, when expressed as an emissions ceiling 

(lb/MMBtu), limit compliance alternatives. For example, a mechanical 

collector is assumed not to be able to comply with a very low (i.e., 0.05 

lb/MMBtu) coal PM emissions regulation. A very low (i.e., 0.2 lb/MMBtu) 

coal S02 emissions ceiling will restrict coal compliance options to scrubbing low sulfur coals. 

The alternative NSPS assumptions apply only to new industrial boilers. 

They do not apply to existing industrial boilers. "New" industrial boilers 

are defined to be units installed after 1985. 

1.2.2 Industrial Fossil Fuel Price Forecast 

Projected delivered industrial fuel prices are required for the 

following fuel types: 

• Natural gas 

• Distillate fuel oil 

1-5 
P.14 

• Residual fuel oil 

- 3.0 percent sulfur 

- 1.6 percent sulfur 

- 0.8 percent sulfur 

- 0.3 percent sulfur 

• Coal (lb S02/MMBtu) 

- bituminous <1.08 

- bituminous 1.08-1.67 

- bituminous 1.67-2.50 

- bituminous 2.50-3.33 

- bituminous 3.33-5.00 

- bituminous > 5.00 

- subbituminous <1.08 

- subbituminous 1.08-1.67 

- subbituminous 1.67-2.50 

Fuel prices are required year-by-year (1985-2005 at a minimum) and by 

Federal region (see Figure 1-2) in constant 1978 $/MMBtu. 

1.2.3 Industrial Fossil Fuel Demand Forecast 

Total projected industrial fossil fuel demand is an exogenous parameter. IFCAM has not been used as a portion of a "general equilibrium" 

system which simultaneously reflects the interactions between the economy 

and energy markets. IFCAM does not address the relationship between 

overall industrial production and energy demand. IFCAM is a fuel choice 

model calibrated to an exogenous forecast of total industrial fossil fuel 

demand. 

"Total industrial fossil fuel demand" is defined to include only the 

sum of: 

• Natural gas (excluding lease and plant gas and transmission and 

distribution losses) 

t Distillate and residual fuel oil 

t Coal (excluding metallurgical coal) 

Projections are required by Federal region for the beginning and end of the 

simulation period (e.g., 1985 and 1990). The units are trillion Btu. This 

1-6 
FIGURE 1-2 

Federal Regions of the United States 

REGION NAMES 

1. New England 

2. New York/New Jersey 

3. Middle Atlantic 

4. South Atlantic 

5. Midwest 

6. Southwest 

7. Central 

8. North Central 

9. West 

10. Northwest 
file includes projected industrial fossil fuel combustion in process 

heaters as well as in boilers. 

This file provides IFCAM with an expectation of the total net increase 

in total industrial fossil fuel demand during the simulation period. IFCAM 

estimates how much of this net increase will be burned by boilers and how 

much will be consumed in process heaters by region. 

1.2.4 Industrial Production Forecast 

Projections of industrial production activity are required by Federal 

region and industry group. There are nine industry groups in IFCAM: 

t Food 

t Textiles 

t Paper 

• Chemicals 

• Petroleum refining 

• Stone, clay and glass 

• Steel 

t Aluminum 

t Other (miscellaneous manufacturing, agriculture, construction, 

and mining). 

This forecast is used to disaggregate the projections of total industrial energy demand by industry group. The industrial production forecast 

should be consistent with the macroeconomic assumptions used to derive the 

forecast of total industrial energy demand. 

The industrial production forecast serves to allow model users to 

assume that the distribution of total fossil fuel demand by industry group 

within a region will not necessarily remain constant in the future. It 

also permits the model user to assume that, for a specific industry group, 

expected industrial production activity will increase or decline at different rates by region. 

This allocation by industry group in IFCAM is important. It is 

assumed that the boiler/process heater distribution of total industrial 

fossil fuel demand is unique for each industry. Since the industry mix is 

permitted to change over time, total projected boiler fossil fuel demand 

may increase at a different rate than total projected process heater fossil 

1-8 
P.17 

fuel demand. In addition, it is also assumed that the distribution of new 

industrial boiler sizes and annual capacity utilization rates is unique for 

each industry group. 

1.3 REPORT ORGANIZATION 

The input data file specifications (related to the user options) are 

described in Section 2. The IFCAM operating instructions are explained in 

Section 3. The IFCAM output tables are reviewed in Section 4. 

1-9 
P.18 

2. INPUT DATA FILES 

There are four IFCAM input data files related to user options: 

• Alternative NSPS 

t Projected industrial fossil fuel prices 

• Projected industrial fossil fuel demand 

• Industrial production growth forecast 

These data files are described in this section. 

2.1 ALTERNATIVE NSPS 

The alternative NSPS data file is revised by model users more than any 

other single IFCAM input data file. This file summarizes alternative 

Federal air emissions standards for new industrial fossil fuel-fired steam 

generators (revisions of 40 CFR Part 60, Subpart D) by size class (8), 

pollutant (S02, PM, and NO ) and fuel type (natural gas, distillate fuel 

oil, residual fuel oil, and coal). 

NSPS assumptions are stored in files labeled NSPSDATA( ) where the 

file name inside the parentheses is specified by the user (1-8 characters) 

when the file is created. The record length for this file is 80 characters. It is read free-format (distinct data items are separated by at 

least one blank) by IFCAM. 

Figure 2-1 presents an example of this file. User options are confined to lines 1, 10, 11, 13-15, and 17-24: 

• Line 1: 

Line 10 

Line 11 

Line 13 

Line 14 

User-specified name, 1-8 characters; must correspond 

identically to characters inside the parentheses pf the 

file name 

Residual fuel oil S02 emissions ceiling 

Residual fuel oil PM emissions ceiling 

Coal S02 emissions ceiling (30-day, rolling average) 

Coal PM emissions ceiling (greater than 0.3 CU) 

2-1 
COMMAND? 

Figure 2-1 . NSPS Assumptions 

USE PAUL.NSPSDATA(ARO130) CLR 

ro 

i 

ro 

1. 

2. 

4. 

5. 

6. 

7. 

8. 

9. 

10. 

11. 

12. 

13. 

14. 

15. 

16. 

17. 

18. 

19, 

20. 

21. 

22. 

23. 

24. 

COMMAND? 

ARO130 

8 

30 50 75 100 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

0.0 

0.0 

0.0 

8*0.0 

0.0 

0.0 

0.0 

8*0.0 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

0.0 

0.0 

0.0 

0.0 

0.0 

0.0 

150 200 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

0.0 

0.0 

0.0 

0.0 

0.0 

0.0 

250 1000 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

9999.9 

0.0 

0.0 

0.0 

0.0 

0.0 

0.0 

9999. 

9999. 

20.0 

9999. 

9999. 

20.0 

9999. 

9999. 

31.0 

9999. 

5.0 

20.0 

60.0 

0.0 

0.0 

0.0 

0.0 

0.0 

0.0 

9 

9 

9 

9 

9 

9 

9 

9999. 

9999. 

20.0 

9999. 

9999. 

20.0 

9999. 

9999. 

31.0 

9999. 

5.0 

20.0 

60.0 

0.0 

0.0 

0.0 

0.0 

0.0 

0.0 

9 

9 

9 

9 

9 

9 

9 

9999. 

9999. 

20.0 

9999. 

9999. 

20.0 

9999. 

9999. 

31.0 

9999. 

5.0 

20.0 

60.0 

0.0 

0.0 

0.0 

0.0 

0.0 

0.0 

9 

9 

9 

9 

9 

9 

9 

9999.9 

9999.9 

30.0 

80.0 

10.0 

30.0 

80.0 

10.0 

31.0 

120.0 

5.0 

5.0 

70.0 

0.0 

0.0 

0.0 

0.0 

0.0 

0.0 
P.20 

• 

• 

t 

• 

Line 

Line 

Line 

Line 

21 

22 

23 

24 

• Line 15: Coal PM emissions ceiling (less than or equal to 

0.3 CU) 

• Line 17: Residual fuel oil S02 emissions floor 

• Line 18: Residual fuel oil S02 emissions recommended percentage 

reduction 

• Line 19: Residual fuel oil S02 emissions minimum percentage 

reduction 

t Line 20: Residual fuel oil low sulfur (S02) exemption from 

mandatory scrubbing requirement 

Coal S02 emissions floor (30-day, rolling average) 

Coal S02 emissions recommended percentage reduction 

Coal SOo emissions minimum percentage reduction 

Coal low sulfur (S02) exemption from mandatory 

scrubbing requirement 

"CU" refers to annual capacity utilization rate. EPA is considering 

revised NSPS which are a function of CU. 

Table 2-1 summarizes, for each line, the units and parameter values to 

be used if there is no regulation. In lines 4 through 24, eight values 

must be entered for each line. These correspond with the eight boiler size 

classes in IFCAM, from the smallest to the largest. The upper limit for 

each size class (MMBtu/hr) is noted in line 3. 

Lines 17 through 24 apply if it is assumed that new industrial residual fuel oil and/or coal boilers must scrub. Line 20 permits low sulfur 

residual fuel oil exemptions from a mandatory scrubbing requirement. Line 

24 permits low sulfur coal exemptions from a mandatory scrubbing requirement. 

If the minimum S02 removal rate is non-zero, the corresponding S02 

emissions floor must also be non-zero. The S02 emissions floor is usually 

less than the corresponding S02 emissions ceiling. The low sulfur exemption from the mandatory scrubbing requirement is usually less than or equal 

to the corresponding S02 emissions ceiling. The minimum S02 removal rate 

must always be smaller than the recommended S02 removal rate. The recommended S02 removal rate can never exceed "90" and the recommended and 

minimum S02 removal rates both must equal or exceed "50". 

2-3 
P.21 

TABLE 2-1. SPECIFICATIONS FOR IFCAM NSPS 

ASSUMPTIONS INPUT FILE 

Line number(s) Units Parameter value 

4-16 (lb/MMBtu) x 100 9999.9 

17, 20, 21, 24 (lb/MMBtu) x 100 0.0 

18, 19, 22, 23 Percentages6 0.0 

aIf there is no regulation. 

bE.g., "70.0", "90.0". 

a 

2-4 
2.2 PROJECTED INDUSTRIAL FOSSIL FUEL PRICES 

In IFCAM, fuel choice decisions for new industrial fossil fuel-fired 

boilers are made based on a comparison of life cycle costs. Specifically, 

the total after-tax present value of the new industrial boiler and pollution control equipment capital, O&M and fuel expenses is calculated for 

each fuel type. The estimated after-tax present value of fuel expenses is 

based on an exogenous forecast of industrial fuel prices over a 15-year 

period. The industrial fuel price forecast varies by Federal region and 

fuel type. 

2.2.1 Annual Fuel Price Projections 

Year-by-year fuel price projections for the 1980 to 2005 time period 

are usually not available. Fuel price projections are usually available 

for selected years (e.g., 1985, 1990, 1995, and 2000). Values for intermediate years must be interpolated by the IFCAM model, user. There are two 

computer programs which perform the interpolation function: 

PRICES(GR0WTH4) for oil and gas prices and PRICES(ICFGRW) for coal prices. 

The input file for program PRICES(GR0WTH4) is 78 lines long: 6 fuel 

types (natural gas, distillate fuel oil, residual fuel oil - 4 sulfur 

classes) and 13 lines of data for each. 

1. 

2. 

3. 

4. 

5. 

6. 

7. 

8. 

9. 

10. 

11. 

12. 

13. 

1 

2 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

0 

1 

85 

100 

100 

100 

100 

100 

100 

100 

100 

100 

100 

0 

2 

90 

P85 

P85 

P85 

P85 

P85 

P85 

P85 

P85 

P85 

P85 

0 

3 

95 

P90 

P90 

P90 

P90 

P90 

P90 

P90 

P90 

P90 

P90 

0 

P95 

P95 

P95 

P95 

P95 

P95 

P95 

P95 

P95 

P95 

0 

P100 

P100 

P100 

P100 

P100 

P100 

P100 

P100 

P100 

P100 

0 

Item 1 in row 1 is the fuel type code: 

1 - Natural gas 

2 - Distillate fuel oil 

3 - Residual fuel oil (3.0 percent sulfur) 

4 - Residual fuel oil (1.6 percent sulfur) 

5 - Residual fuel oil (0.8 percent sulfur) 

6 - Residual fuel oil (0.3 percent sulfur) 

2-5 
P.23 

The other items in row 1 should not be changed. 

Item 1 in row 2 is the total number of projected years with data 

values minus 2. In this example, data is available for four years: 1985, 

1990, 1995, and 2000. Four minus two equals two. The balance of row 2 

includes the projection years (less 1,900), but not including the last 

forecast year (all items separated by a space). 

Rows 3 through 12 present data for the ten Federal regions. The first 

item is the Federal region number. The' next item is the last forecast 

year (less 1,900). The next four items are the fuel prices, in constant 

$/MMBtu (each separated by a space). Replace "P85" with the 1985 fuel 

price and so on. 

Fuel prices can be input in any (i.e., 1980, 1982, 1975) constant 

(real) dollars, but they should not be nominal (current) dollars. They 

must be the same constant dollars for all six fuel types. 

Rows 14-26, 27-39, 40-52, 53-65, and 66-78 are mirror images of rows 

1-13. The only difference is the fuel code. Change the first item in row 

14 to 2 (for distillate fuel oil), in row 27 to 3 (for 3.0 percent sulfur 

residual fuel oil), etc. 

This is an example for 1985, 1990, 1995, and 2000. However, program 

PRICES(GR0WTH4) is flexible and the input file could be set up for any 

number of years or intervals (e.g., 1986, 1989, 1991, 1999, 2004, 2006, 

2010). 

Program PRICES(GR0WTH4) is presented in Figure 2-2. Note line 56. 

Replace "?" with the number of years between the next-to-last and last year 

for which prices are input. If prices are input for 1985, 1990, 1995, and 

2000, then replace "?" with "5". Note also line 52. IFCAM fuel price 

files are in 1978 dollars. If prices were not input in 1978 dollars, this 

line must be edited to convert them to 1978 dollars. Line 92 contains the 

user-specified name of the input file described above. Line 93 contains 

the user-specified name of the output file. The input file name must be 

"PRICES(0GINP_J" and the output file name must be "PRICES(0G_ '_ )" 

where the user fills in the blanks or deletes those not filled in. 

The input file for program PRICES(ICFGRW) is straightforward. There 

are 110 possible coal types (10 Federal regions x 11 coal types per region). The eleven coal types are: 

2-6 
P.24 

Figure 2-2. Oil and Gas Price Interpolation Program 

USE PAUL.PRICES(CR0WTH4> CLR 

COMMAND? L 

1. //PDJOCSTR JOB <NSPSSASDDIND.D098).'OCSTREAM'.TINE»<.30> 

2. /*ROUTE PRINT R020 

3. // EXEC FORTXCC 

4. //FORT.SYSIN DD # 

5. C*******»**>**»»»«»»***««**»»**«»*«**« »** ****» 

6. C NAME NEUICR0HTH4 

7. C PROCRAM TO CALCULATE NSPS IFCAM OIL AND CAS FUEL PRICE CROUTH RATES 

8. C OUTPUT: ANNUAL FUEL PRICES (1978»/MMBTU) FOR 1982-2031 

9. FOR NAT.GASr DIST. OIL AND RESIO.OIL (4 SULFUR CLASSES) 

10. C REPLACE '?' IN LINE 36 UITH THE NUMBER OF YEARS BETWEEN'THE NEXT-TO-LAST AND 

11. C LAST YEAR FOR WHICH PRICES ARE INPUT 

12. C •»•»»**»*•»•»»»•»»**»•>»»•»•»»»»**#•»*»•»•»»•»#»#»**»*»•»•»»###• 

13. DIMENSION NSEC(3).IYR(10)iIYD(10).RATE(10)rPRICE!10) 

14. DIMENSION FUEL(80.30.3).FU(90).SEV<10.6).IYRINP(9) 

15. C 

16! C 1978 AVC. PRICES (1978 */MMBTU) BY FEDERAL REGION 

17. C - NAT. CAS 

18. C 

19. C 

20. C 

21. C 

22. C 

23. C 

24. DATA SEV/2.90.2.54.2.00.1.49.1.85.1.08.1.39F1.24.1.92r 1,76r 

29. • 3.50.3.46.3.44.3.33.3.30.3.35.3.22.3.19.3.17.3.16. 

26. • 1.73.1.73.1.70.1.67.2.13.1.49.1.93.1.44.1.34>1.52a 

27. » 2.07.2.03.2.02.1.99.2.47.1.81.2.27.1.76.1.86.1.84. 

28. * 2.32.2.30.2.27.2.24.2.72.2.06.2.32,2.01.2.11.2.09. 

29. • 2.36.2.34.2.31.2.48.2.96.2.30.2.76.2.23.2.33.2.33/ 

30. EQUIVALENCE (IYR(2).IYRINP(l)) 

31. DATA IYR/78»9*»0/ 

32. OO 21 1=1.80 

33. DO 21 J*1.30 

34. OO 21 KM,3 

35. 21 FUEL(I.J.K)»99. 

36. 22 READ(3»*».END«25)IFUEL.NSEC 

37. URITE(6.29)IFUEL.NSEC 

38. 29 F0RMAT(1X,I1.(3(7X.I1>>) 

39. READ(5.#)NT, (IYRINP(I) .1=1.NT) 

40. NT=NT+1 

41. NP=>NT*M 

42. NPP»NT*2 

43. DO 1 Isl.NT 

44. 1 IYD(I*H)=IYR(I)*t*l 

45. IYD(1)=IYR(1) 

46. URITE(6»31)(IYD(I).1=1.NP) 

DIST. 

RESID: 

RESID: 

RESIO: 

RESID: 

3.0 

1.6 

0.8 

0.3 

X 

X 

X 

X 

S 

S 

S 

S 

2-7 
P.25 

Figure 2-2. Oil and Gas Price Interpolation Program 

47. 14 READ(5.#)IREC.IYR(NPr7TPTTlCE(I).I=2.NPP) 

48. DO 13 1=2.NPP 

49. C 

30! C CONVERT TO 1978 »/MMBTU 

31. C 

32. 13 PRICE(I)'PRICE(I)/1.166 

53. IF(IREC.LE.0)URITE(6.40) 

34. IF(IREC.LE.0)CO TO 22 

35. IYD(NPP)=IYR(NP)*M 

56. IYR(NPP>=lYR(NP>*t-? 

57. 31 FORMAT(9X.I3.1X.(10(2X.I3.2X))) 

58. 40 FORMAT (' 0000000000 0 0') 

59. PRICE(1)=SEV(IREC.IFUEL> 

60. OO 2 I=2.NPP 

6 1 . 2 RATE(I)=(PRICE(I)/PRICE(I-l))«»(l/(FLOAT(IYR(I))-

62. »FLOAT(IYR(I-l))>) 

63. RATE(1)=PRICE(1> 

64. WRITE(6.30)IREG.I YD(NPP).(RATE(I),1 = 1,NPP) 

63. 30 FORMAT(1X,I2.1X.I3.2X.F4.2,1X.(10(F6.4>1X))> 

66. FUU)=RATE(1> 

67. R=l. 

68. KY=1 

69. OO 3 IY=2»80 

70. ICHK=IYD(1)+IY-1 

71. IF(KY.CT.9) GO TO 6 

72. IF(ICHK.NE.IYD(KY+l))GO TO 6 

73. R=RATE(KY+1) 

74. KY=KY***1 

73. 6 CONTINUE 

76. FU(IY)=FU(IY-1)«R 

77. 5 CONTINUE 

78. IREC-»IFUEL+8*»(IREC-1> 

79. DO 9 1-1.3 

80. ISEC=NSEC(I> 

81. IFUSEC.EQ.0) CO TO 9 

82. DO 10 IY = 1.50 

83. FUEL(IREC.IY.ISEC)=FU(IY+4) 

84. 10 CONTINUE 

85. 9 CONTINUE 

86. GO TO 14 

87. 25 CONTINUE 

88. WRITE(1.24)FUEL 

89. 24 FORMAT(8F10.4) 

90. STOP 

91. END 

92. //CO.SYSIN DD DSN=PDJNSPS.PRICES(0CINP16),DISP=SHR 

93. //CO.FT01F001 DD DSN=PDJNSPS.PRICES(0CSET16),DISP=MOD 

COMMAND? 

2-8 
P.26 

• Bituminous ICF type A 

• Bituminous ICF type B 

• Bituminous ICF type D 

• Bituminous ICF type E 

• Bituminous ICF type F 

• Bituminous ICF type G 

t Bituminous ICF type H 

• Subbituminous ICF type A 

• Subbituminous ICF type B 

• Subbituminous ICF type D 

t Subbituminous ICF type E 

EPA is not currently using bituminous ICF coal type A and subbituminous ICF 

coal type A. 

This input file has 111 rows. Row 1, item 1, indicates the number of 

years of input prices. For example, if input prices are available for 

1980, 1985, 1990, 1995, and 2000, the parameter value for the first item in 

row 1 is "5". The remaining values in row 1 are the forecast years, less 

1,900 (e.g., 80 85 90 95 100). 

Rows 2-111 are data for the 110 coal types. The first item in each of 

these rows is the coal type number (1 to 111). This is followed by the 

coal prices, each separated by a space, in constant $/MMBtu for 1980, 1985, 

1990, 1995, and 2000. Rows 2-12 are the eleven coal types for Federal 

region 1. Rows 13-23 for Federal region 2, etc. If there are no coal 

prices and.a coal type is not applicable in a certain region, enter 

"999.99" for the coal price for each year. The first year must always be 

1980. The other years are input by the user, may be different than 1985, 

1990, 1995, and 2000 and may be for a larger or smaller number of years. 

Program PRICES(ICFGRW) is presented in Figure 2-3. Note line 25. 

If the input coal prices are not entered in 1978 dollars, replace "1.4" 

in this line with the appropriate conversion factor. Line 42 contains 

the input file name for the 111-line file described above. Line 43 

contains the output file name. These file names must be in the form 

"PRICES(COLINP_J" and "PRICES(COL J" , respectively, where the 

blanks are filled in the user and the user deletes any blanks not filled 

in. 

2-9 
P.27 

Figure 2-3. Coal Price Interpolation Program 

USE PAUL.PRICES(ICFGRW) CLR 

COMMAND? L 

1. //PDJICFCR JOB (NSPSSASDDIND.D098) .TIME*" (.30) 

2. //STEP01 EXEC FORTXCC 

3. //FORT.SYSIN DD » 

- 4. C**»»»***»»**»**»*»#»»»*»»*»#»*»*#*##»#«»«##»*»»#»# 

5. C NAME:PRICES(ICFGR0W2) 

6. C CALCULATES DELIVERED COAL PRICES FOR THE ICF COAL TYPES. 

7. C OUTPUT IS BY COAL TYPE (10 PER RECORD). BY YEAR (11 RECORDS PER YEAR), 

8. C BY SECTOR (50 YEARS PER SECTOR). 

9. C THE FIRST YEAR OUTPUT IS EQUAL TO THE FIRST YEAR INPUT PLUS 2 (FOR THE PV 

10. C PROGRAM TO CORRECTLY INTERPRET THIS FILE. THE FIRST YEAR OUTPUT SHOULD BE 32. 

11. C AND THUS THE FIRST YEAR INPUT SHOULD BE 80) 

12. C»»*»»»*»»»»*»**• »** *»•#*»•*»**#»••*«•*»»»»»»» 

13. DIMENSION IYR(10),RATE(10)>PRICE(10).FUEL(110.50.3).FU(70) 

14. C 

15. READ(1.»)NT. < IYRd ) , 1 = 1 ,NT> 

16. DO 25 ITYP=1,110 

17. READ(1.».END=ZS)ICOAL.(PRICE(I).1=1.NT) 

18 C 

19! DO 2 1=2.NT 

20. 2 RATE(I) = (PRICE(I)/PRICE(I-1))«*» 

21. • (l/(FLOAT(IYR(I))-FLOAT(IYR(I-l>))) 

22. C 

23. C CONVERT TO *1978 

2 4 . C 

2 5 . FU(1)=PRICE(1)/1. 4 

2 6 . KY=1 

2 7 . DO 5 IY=2.7 0 

2 8 . ICHK=IYR(1)+IY- 1 

2 9 . IF((ICHK.EQ.IYR(KY) + 1).AND. (KY .LT.NT) )KY=KY-t-l 

3 0 . FU(IY)=FU(IY-1)*»RATE(KY) 

3 1 . 5 CONTINUE 

3 2 . C 

3 3 ! DO 10 1=1. 3 

3 4 . DO 10 IYM.5 0 

3 3 . 10 FUEL(IC0AL.IY,I)=FU(IY+2 ) 

3 6 . 25 CONTINUE 

3 7 . C 

3 8 . WRITE(2.24)FUEL 

3 9 . 24 FORMATU0F10.4) 

4 0 . STOP 

4 1 . END 

42. //CO.FT01F001 DD DSN=PDJNSPS.PRICES(COLINP05).DISP=SHR 

43. //CO.FT02F001 DD DSN=PDJNSPS.PRICES(COLSET05),DISP=MOD 

COMMAND? 

2-10 
P.28 

2.2.2 After-Tax Present Values 

The annual fuel price forecast must be converted to an after-tax 

present value. Program PRICES(OGFINL) converts the annual oil and gas 

price forecasts to after-tax present values. The annual coal price projections are converted to after-tax present values by program PRICES(ICFFINL). 

Program PRICES(OGFINL) is listed in Figure 2-4. Edit the end of line 

17 to indicate the IFCAM run year that you wish to create an input oil and 

gas price file for. The model user must run this program to create a 

separate oil and gas price file for every IFCAM run year (i.e., 1985 and 

1990). In this example, an oil and gas price file will be created for a 

1990 IFCAM run: "NYEAR/90/". 

The input file for this program is noted in line 94. The input file 

name is always "PRICES(0G )" as discussed in Section 2.2.1. 

There are two output files created by this program. Both of these 

output files are IFCAM input files. These output file names are 

"abcdeXX.OTH" as in line 95, and "TabcdeXX.OTH" as in line 98. The user 

must specify the characters for "abcde" and be consistent in both file 

names. For example, "SET15" was used in Figure 2-4. 

Replace "XX" with the value for NYEAR in line 17. In Figure 2-4, "XX" 

was replaced with "90". 

Figure 2-5 presents program PRICES(ICFFINL). Edit line 23 to indicate 

the IFCAM run year (e.g., "NYEAR/85/" or "NYEAR/90/"). 

The input file name is found in line 100. This file name is always 

"PRICES(C0L )" as discussed above. 

There are two output files from this program: "abcdeXX.FOB" in line 

101, and "TabcdeXX.FOB" in line 104. The user may fill in the "abcde" 

stream with any characters, but they must be consistent for both files. In 

Figure 2-5, "SET05" is used. Replace "XX" with the value for NYEAR in the 

data statement in line 23. In this example, replace "XX" with "90". 

2.3 PROJECTED INDUSTRIAL FOSSIL FUEL DEMAND 

Projections of industrial fossil fuel demand are required by Federal 

region for the beginning and end of the simulation period (e.g., 1985 and 

1990). The forecasts are also required for the Petroleum Refining industry 

and all other industrial groups (including mining, construction, agriculture, fishing, forestry, and other manufacturing sectors). The units are 

trillion Btu. 

2-11 
P.29 

Figure 2-4. Oil/Gas Price Present Value Program 

USE PAUL.PRICES(OGFINL) CLR 

COMMAND? L 

1. //PDJOGPV JOB (NSPSSASDOIND,D098)»TIME=(.30> 

2. //STEP01 EXEC FORTXCC 

3. //FORT.SYSIN DD * 

4. DIMENSION FUEL(80.50.3) 

5. READI2.*)FUEL 

6. CALL OCFINL(FUEL) 

7. RETURN 

8. END 

9. SUBROUTINE OCFINL(FUEL) 

10. C*»**»#*»**»***»**»**»*»*»**»**» »»** *»*»«^ F00001 

11. C TO COMPUTE PRESENT VALUE OF VARIOUS INVESTMENT COMPONENTS F00001 

12. C**»»»*»**»#***#***#***##»»**»#**#*»**» #*«*»#»*•###*##» *#•*«»»#»«*••#*»•• 

13. C 

14. DEFINEFILE 3(1224,80.L.IND).4(1224.S0.L.IND) 

13. ' DIMENSION DISCNTI3.2).FUEL(80,50,3),FUELPV(80.30.3). 

16. S FUELOP(80.3> 

17. DATA DISCNT/.12..12..08,.1..1..1/.NYEAR/90/ 

18. WRITE(6,50)NYEAR.DISCNT 

19. 50 FORMAT(//' •*•«*•»#•*#»# 19'.I2.' BOILER RUN *»*«»»«#•««####'/ 

20. • ' * DISCOUNT RATES ' .3F8.4./.19X.3F3.4) 

21. DO 999 IFILE=3.4 

22. CALL FLHALF(FUEL0P.FU£LPV.FUEL.2.DISCNT(l,IFILE-2),80.50.3.NYEAR, 

23. & IFILE) 

24. INO=l 

25. DO 13 J=l,50 

26. WRITE (IFILE'IND, 14) ((FUELPVd . J.K) .K=l .3) , 1 = 1.80) 

27. 500 FORMAT(1H1.20X,'YEAR '.12.' ANNUALIZED FUEL PRICES FOR SECTOR',12) 

28. DO 130 K=3»3 

29. WRITE(6.500)J.K 

30. WRITE (6,501) (FUELPVd, J.K). I = 1.80) 

31. 130 CONTINUE 

32. 14 FORMAT(10F8.3) 

33. 501 FORMAT(/30X.'PV OF FUEL PRICES'/(10F8.3)) 

34. 13 CONTINUE 

35. WRITE (IFILE 'IND, 14) ((FUELOPd.K) ,K=1.3) . 1 = 1.80) 

36. 997 FORMAT(1H1»20X.'FUA TEST FUEL PRICES FOR SECTOR',12) 

37. DO 998 K=3,3 

38. WRITE(6,997)K 

39. WRITE(6.501) (FUELOPd.K) ,1 = 1.80) 

40. 998 CONTINUE 

41. 999 CONTINUE 

42. STOP 

43. END 

2-12 
P.30 

Figure 2-4. Oil/Gas Price Present Value Program 

44. C**»»*»**»####*##***» #«** »###**#»*»»#»*»**»»»»*»«#*»*#****»#*»###»#»»##» 

4 5 . SUBROUTINE FLHALF(FUELOP,FUELPV,FUEL,NCDISCNT,ND1,ND2.NDS,NYEAR, 

46. & IFILE) 

47. C*#*»»*»*»*»»*»*»***»**»»*»»»»»«*»*»«»»#*#»»«^ 

48. C TO CONVERT INPUT YEARLY FUEL COST MATRICS TO AFTER TAX 

49. t PRESENT VALUE OF TOTAL FUEL COST OVER OPERATING LIFE 

50. DOUBLE PRECISION SUM 

51. DIMENSION FUEL(ND1,ND2,ND3),DISCNT(3).STORE(50).FUELOP(ND1,ND3), 

52. & FUELPV(ND1,ND2,ND3) 

53. C 

54. C ««•» ISTART IS YEAR NEW UNITS WILL COME IN 

55. C 

56. ISTART=0 

57. DO 5 IREC=1,ND1 

58. DO 5 ISEC=1,3 

59. R=DISCNT(ISEC) 

60. LAC=NYEAR-S4 

61. IF(ISEC.EQ.3)LAC=ISTART+LAC 

62. DO 5 IYR=LAG.50 

63. IF(IYR.EQ.LAG)FUELOP(IREC.ISEC)=FUEL(IREC.IYR.ISEC) ' 

64. STORE(IYR)=-FUEL(IREC.IYR,ISEC)* 

65. * PVALUE(IYR-LAG+1.IYR-LAG+1.R)*.5 

66. IF(IYR.GT.LAC)STORE(IYR)=STORE(IYR)+STORE(IYR-1) 

67. IF((IYR.EQ.LAC+10).AND.(IFILE.EQ.3)) 

68. & STORE(IYR)*-STORE(IYR)-STORE(LAC+l) 

69. FUELPV(IREC,IYR-LAG+1, ISECMAMAX1 (STORE (IYR) ,-999.0) 

70. 5 CONTINUE 

71. RETURN 

72. END 

73. C**»**»**»**»*#*»*»***»********»***»****»*»**» #** »**»*»* 

74. C 

75. C TO COMPUTE PRESENT VALUE OF INVESTMENT 

76. C ---

77. C 

78. C NS=STARTINC YEAR OF INVESTMENT 

79. C NE=ENDING YEAR OF INVESTMENT 

80. C R =DISCOUNT RATE 

81. C»**«*#»*»*»**»*»*»»»»»»***»*******»**»*»**^ 

82. FUNCTION PVALUE(NS,NE,R) 

83. DOUBLE PRECISION X 

84. C 

85. IF(R.EQ.-l.)R=-.95 

86. X=l./(1.+R) 

87. IFU.NE.l.) GO TO 1 

88. PVALUE=NE-NS+1 

89. RETURN 

90. 1 CONTINUE 

91. PVALUE=(X*»NE-X**(NS-1))/(X-1.) 

92. RETURN 

93. END 

94. //GO.FT02F001 DD DSN=PDJNSPS.PRICES(0GSET15),DISP=SHR 

95. //GO.FT03F001 DD DSN=PDJNSPS.SET1590.OTH,DISP=(,CATLG,DELETE), 

96. // UNIT=DISK.SPACE=(TRK.(25.10).RLSE). 

97. // DCB=(RECFM=F,LRECL=80.DSORG=DA) 

98. //GO.FT04F001 DD DSN=PDJNSPS.TSET1590.OTH.DISP=(.CATLC.DELETE). 

99. // UNIT=DISK,SPACE=(TRK,(25.10).RLSE). 

100. // DCB=(RECFM=F,LRECL=80.DSORG=DA) 

COMMAND? 

2-13 
P.31 

Figure 2-5. Coal Price Present Value Program 

USE PAUL.PRICES(ICFINL) CLR 

COMMAND? L 

1. //PDJICFFL JOB (NSPSSASDDIND.D098).TIME=(,30) 

2. //STEP01 EXEC FORTXCC 

3. //FORT.SYSIN DD » 

4. C»*«#*»*»**»»*»*###*####*»****»**#*«##»»»***#*#»###»«»»#**»»*»»*»###*#*#»#*»#»# 

5. C THIS PROGRAM TAKES THE "SET" FILE FOR DELIVERED COAL PRICES (110 ICF COAL TYPES) 

6. C AND CREATES THE PV FILES FOR THE 87. AND 107. DISCOUNT RATES. THE YEAR TO 8E RUN 

7. C IS SPECIFIED IN THE DATA STATEMENT FOR "NYEAR". IT SHOULD BE CHANGED TO IN8. C DICATE THE DESIRED YEAR . 

9. C**»*»»*»»*»»*#*»***#**###**»#*»*»»*»*»#»##»#**»^ 

10. DIMENSION FUEL(110.50.3) 

11. READ(2.»)FUEL 

12. CALL ICFINL(FUEL) 

13. RETURN 

14. END 

15. SUBROUTINE ICFINL(FUEL) 

16. C*»*#*»**»*»*»»***»*»*»*»**#*»*»**»***»***» ^ F00001 

17. C TO COMPUTE PRESENT VALUE OF VARIOUS INVESTMENT COMPONENTS F00001 

18. C** *»»*»**»*»»**»*»*»*»»********»#***»##**»»^ 

19. C 

20. DEFINEFILE 3(1683,80.L,IND).4(1683.80.L.IND) 

21. DIMENSION DISCNTI3. 2) .FUELU10. 50.3) ,FUELPV(110. 50,3) , 

22. & FUELOP(110.3) 

23. DATA DISCNT/.12,.12,.08,.1,.1,.1/,NYEAR/90/ 

24. WRITE(6,50)NYEAR,DISCNT 

25. 50 FORMAT(//' #••*#•»•»»•»»»» 19'.12.' BOILER RUN »»***#•»**•*#**•/ 

26. # ' * DISCOUNT RATES ' .3F8.4,/.19X.3F8.4) 

27. DO 999 IFILE=3,4 

28. CALL FLHALF(FUELOP.FUELPV,FUEL.2.DISCNT(l,IFILE-2).110.50.3,NYEAR, 

29. 8. IFILE) 

30. IND=1 

31. DO 13 J=l,50 

32. WRITE< IFILE'IND. 14) ((FUELPVd i J.K) >K = 1.3) . 1 = 1.110) 

33. 500 FORMAT(1H1.20X.'YEAR '.12.' ANNUALIZED FUEL PRICES FOR SECTOR'.12) 

34. DO 130 K=3.3 

35. WRITE(6.500)J.K 

36. WRITE(6.501) (FUELPVd , J,K) .1 = 1,110) 

37. 130 CONTINUE 

38. 14 FORMAT(10F8.3) 

39. 501 FORMAT</30X»'PV OF FUEL PRICES'/(10F8.3)) 

40. 13 CONTINUE 

41. WRITEdFILE'IND, 14) ((FUELOPd.K) .K = l.3) .1 = 1.110) 

42. 997 FORMAT(1H1,20X,'FUA TEST FUEL PRICES FOR SECTOR'.12) 

43. DO 998 K=3.3 

44. WRITE(6.997)K 

45. WRITE(6.501) (FUELOPd >K) . 1 = 1,110) 

46. 998 CONTINUE 

47. 999 CONTINUE 

48. STOP 

49. END 

2-14 
P.32 

— n 

Figure 2-5. Coal Price Present Value Program 

50. C**»«»»##****##*#»*»#»#«*******#*#*#*»»###*»»»*«*»»»»#*##»*#t*##*»*«#««#* 

51. SUBROUTINE FLHALF(FUELOP.FUELPV.FUEL.NC.DISCNT,NDl,ND2.NDS.NYEAR. 

52. & IFILE) 

53. C»*»**»**»»*»**»»»»«»***#»*##*»##*»*»»»#**»-»»*»*#**#«#*-»*»#»*#»##»*####t»»*#» 

54. C TO CONVERT INPUT YEARLY FUEL COST MATRICS TO AFTER TAX 

55. C PRESENT VALUE OF TOTAL FUEL COST OVER OFERATINC LIFE 

36. DOUBLE PRECISION SUM 

57. DIMENSION FUEL (NDl .ND2.ND3) ,DISCNTO) ,STORE(30) ,FUELOP(NDl ,ND3) . 

58. & FUELPV(ND1,N02.ND3> 

59. C 

bi. C »•»» ISTART IS YEAR NEW UNITS WILL COME IN 

61. C 

62. ISTART=0 

63. DO 5 IREC=1,ND1 

64. DO 3 ISEC=1.3 

65. R=DISCNT(ISEC) 

66. LAC=NYEAR-84 

67. IF(ISEC.EQ.3)LAC=ISTART*t*LAC 

68. DO 5 IYR=LAG,50 

69. IFdYR.EQ.LAC)FUELOP(IREC.ISEC)=FUEL(IREC.IYR,ISEC) 

70. STORE(IYR)=-FUEL(IREC.IYR.ISEC)# 

71. » PVALUE(IYR-LAG+1.IYR-LAG+1,R)*.5 

72. IF(IYR.CT.LAC)STORE(IYR)=STOREdYR)*STORE(IYR-l) 

73. IF((IYR.EQ.LAC+10).AND.(IFILE.EQ.3)) 

7 4 . & STORE ( I YR>=STOREdYR>-STORE <LAG+1) 

7 5 . FUELPVdREC.IYR-LAC+l.ISEC)=AMAXl (STOREdYR) ,-999.0 ) 

76. 5 CONTINUE 

77. RETURN 

78. END 

79. C****»#*»»***#*»»*#»#*»***>*»»***»»***»***»»*****»*»»»*»*****»*»* 

80. C 

81. C TO COMPUTE PRESENT VALUE OF INVESTMENT 

82. C 

83. C 

84! C NS=STARTINC YEAR OF INVESTMENT 

85. C NE=ENDINC YEAR OF INVESTMENT 

86. C R "DISCOUNT RATE 

87. C •»»»•»»•»#•»**•»**»»*•»**»*»*•»•»**»* *•»»*•»»*#»»»***•»»»•»»*•*» 

88. FUNCTION PVALUE(NS.NE.R) 

89. DOUBLE PRECISION X 

90. C 

91. IF(R.EQ.-l.)R=-.95 

92. Xsl./a.+R) 

93. IF(X.NE.l.) GO TO 1 

94. PVALUE=NE-NS+1 

95. RETURN 

96. 1 CONTINUE 

97. PVALUE=(X»*»NE-X#»(NS-1))/(X-1.) 

98. RETURN 

99. END 

100. //CO.FT02F001 DD DSN=PDJNSPS.PRICES(COLSET05),DISP=SHR 

101. //GO.FT03F001 DO DSN=PDJNSPS.SET0590.FOB.DISP=(.CATLC,DELETE). 

102. // UNIT=DISK.SPACE=(TRK.(25.10).RLSE). 

103. // DCB=(RECFM=F.LRECL=80.DSORC=DA) 

104. //GO.FT04F001 OD DSN=PDJNSPS.TSET0590.FOB,DISP=(.CATLC,DELETE). 

105. // UNIT=DISK.SPACE=(TRK,(25.10).RLSE)» 

106. // DCB=(RECFM=F.LRECL=80.DSORG=DA) 

COMMAND? 

2-15 
P.33 

The forecast includes the sum of non-metallurgical coal, natural gas, 

distillate and residual fuel oil for total boiler and process heat fossil 

fuel demand. It excludes petro-chemical feedstocks and natural gas 

consumed as lease and plant fuel. 

Figure 2-6 presents two current IFCAM input files. The first column 

is the Federal region number (see Figure 1-2). The second column is total 

fossil fuel demand in the Petroleum Refining industry. The third column is 

total fossil fuel demand in the other industry group. Projections for 1985 

are included in file "DEM(RS085)M and projections for 1990 are included in 

file "DEM(RS090)". The source for the values presented in Figure 2-6 is 

the Middle World Price (Case A) of the DOE Energy Information Administration's 1982 Annual Energy Outlook. This forecast is derived from outputs 

of EIA's Intermediate Futures Forecasting System. 

The standard form of this file name is "DEM(R )" where these 

four blank spaces are defined by the user. The first two blank spaces are 

a two-character scenario code. In the examples presented in Figure 2-6, 

the scenario code is "SO". The last two blank spaces are the run year 

(i.e., "85" or "90"). 

2.4 INDUSTRIAL PRODUCTION GROWTH FORECAST 

Industrial production growth rates are used to determine the relative 

energy demand growth rates between industry groups in IFCAM. They do not 

affect the aggregate energy demand totals. They are used to allocate those 

totals among the major industry groups. 

Currently, IFCAM uses projections of U.S. Department of Commerce value 

added data, in millions of 1975 dollars, by Federal region and industry 

group: 

• Food 

• Textiles 

• Paper 

• Chemicals 

• Petroleum Refining 

• Stone, clay, and glass 

• Steel 

• Aluminum 

t Other (miscellaneous manufacturing, agriculture, construction, 

and mining) 

2-16 
P.34 

Figure 2-6. Industrial Fuel Demand Projections 

I 

I 

COMMAND? use *pdJnsps.dem(rso85> cir 

COMMAND? 1 

1. 

2. 

3. 

4. 

5. 

6. 

7. 

8. 

9. 

10. 

COMMAND? 

COMMAND? 

1. 

2. 

3. 

4. 

5. 

6. 

7. 

8. 

9. 

10. 

1 0.0 196.0 

2 43.0 485.0 

3 59.0 897.0 

4 44.0 1531.0 

5 101.0 2217.0 

6 482.0 2763.0 

7 25.0 595.0 

8 32.0 528.0 

9 120.0 695.0 

10 31.0 419.0 

use *pdjnsps.dem(rso90) 

1 

1 0.0 212.0 

2 41.0 513.0 

3 54.0 964.0 

4 41.0 1638.0 

5 94.0 2369.0 

6 448.0 3041.0 

7 24.0 633.0 

8 30.0 594.0 

9 111.0 774.0 

10 28.0 483.0 

cir 

2-17 
P.35 

Figure 2-7 presents three IFCAM input data files. "NSPSDATA(DRI75)", 

"NSPSDATA(DRI85)", and "NSPSDATA(DRI90)" contain estimates for 1974, 1985, 

and 1990, respectively. "NSPSDATA(DRI75)" presents value added estimates 

by row for the nine industry groups (in the order listed above) and by 

column for the ten Federal regions (in the order shown in Figure 1-2). In 

this example, industry groups 7 (Steel) and 8 (Aluminum) use estimates for 

total Primary Metals and industry group 2 (Textiles) uses estimates for 

industry group 9 (Other). 

Row 1 in "NSPSDATA(DRI85)" and "NSPSDATA(DRI90)" are conservation 

factors for each of the nine industry groups. They represent forecasts of 

reductions in energy consumption per unit of output (1974=1.0). Derived 

industrial production growth rates are multiplied by these conservation 

factors to estimate growth rates in total energy consumption by region and 

industry group. Rows 2 through 10 correspond to the 90 values shown in 

"NSPSDATA(DRI75)". 

These three files can be replaced or revised but the file names must 

not change if the run years are 1985 and 1990. Industrial production 

estimates in constant dollars other than 1975 dollars or indices may be 

substituted as long as all three files are consistent. 

2-18 
P.36 

rt * «J* . . • I-. f-. « f 

•ont*. <ons9>*>i n 

o***s»cors«icO'*">****«si 

rt CO->-O N CO -*•*—0 0 

CO *•***» »•« • • —< rt *-t 

CO - 0 *--••-> 0 * • •"fr 0 * 0 * «0 

co «*- io •*-o N s st-«-

NC**»**-*C* v-C-*''r**-**'-iO*' 

• IN • • . . rs 

M 00*50 * • >NNC 9 

« * CO CO *•* N S l r s r*s CO 

~ co <s. «o rs N m in co 

CO*^(S|-^«*^4«0*>~<*»--,*r4 

•^ •* oo ts a» •> >o >o *«i-

•* «*• in no rs N oo oo «i-

•tNtna-ONN N 

l-sCO-aN- * - • N M CO 

• 0^ ••••••Q N 

rv «f ,0 *s> N is rs rs. •«* 

NNCON-.CONN N 

rsoocofocoootsrsoo 

N(i)«M^H^«( 0 

• «0 -4) 

rsoo*^<**>Hiors*<*«oo 

MMrs|O00«l"***M 

C- 00 0*** N >0 rs CM N 00 

•>in«n-NNNi o 

(*>J*^4 .....* 4 

I D * • «T CO - 0 --• C~ -t 

m-a-^ to so -a N (si si 

•»<*«too»4»«*«tt'0*(h*«» ' 

CO * ..... . * 

is.*^)<scooo*«frsrs,^) 

-O IO •*-•> is. S l St - 0 - 0 10 

T**I « •**•»MCOIO rsrs io 

|0.*4......*^* 4 

CMO N o* co •« io io io 

N S l 00 is. N CO - 6 - 0 St 

MCs^vf-arrsOOOOO* * 

• CO • • • CO 

**-^ 4 • <0 . . rt rt rt 

in in co co co «*>• -o «o to 

•a «* m in <a co N C-J «t 

•jj* rt *o N co co — —• ••-• 

• ^ > • • • a ^ » 

i n s • «*• « N «o -o st 

lOCOCO*»-«*«f-C0-O»OC 0 

N - O N co-osi s>si >o 

IOrt-4COCO*-*-*>*<-*,*<-i*»--> 

. S I * .. . Ql 

oo co •«*• . rs rs, is. co 

io <s» o « rs (a •* •* «» 

<o -o to si N in co co -o 

- « N CO IO i * rt rt rt N 

4-> 

( J 

-X. 

• M 

CJ 

3 

• o 

o 

sQ . 

CO \z 

•l-J 

I/) 

3 

• o 

is. 

CSJ 

-) 

o> 

i . 

u 

10 

is. 

•r* 

i. 

xt 

in 

a. 

Ul 

Ul 

OL 

Ul 

c 

•"» 

TJ 

• *>......o> * 

co in st N .-«••-••*->.-< in 

in co «r N •* <>•• st st co 

C0**CfC0**CM—•-•• * 

«|- N <--•-) O CO •<-*> N N N 

^ is • st • « CM CM <a 

CM co co -< >o -^ -a <a co 

>> ••*- co ~o-£ st co co <-

NN4-SlN-»*-*0-O N 

'-<0 >*IO*'^*****<*t*.^*»,<0 >' 

• i . 

.(M* . .. . (M -rt 

•*IO00* * • CO • * • * IO U 

I D IO S i *4-CO -*•*- -6- 0 IO 

-OC0C0NO**-O*'*O-OC0- ~ 

«O«***00*«l'Csl(OC0'*l O 

GO 

• QO * 

N r t *-> 

.fr y* -yl 

sua -^ 

IOC0 M 

• < M • 

N S in 

00 CO S I 

-OW*- ) 

**>*** N 

• • • u 

a . Sk SI 00 TJ 

fs. • fs. N N -m ••*• 

Qr* * «^ *^*, t ) * ^ t. 

•**4) •* stsna •** 

- 0 CO N .-ar t CO <«J 

TJ 

Ul 

• • • • N 

«o • •<-. mi n S i 

S l - 0 S l 00 00 CO 

inco o- rtrt m 

co io *•-» co co •* 

• a. 

in 

c 

• • •-> 

.(0> . • • CO TJ 

CON-^CO • • m m N o. 

•*>O*^**00*«l'C0C0«O*» 

io io CM O ••-•> co m io in 

rtN'-«**-i**-*''rsrtrtN w 

in 

3 < 

• C0»N ,"

|

'***C 0 Nco**ts.io*>*e*»*©«o* 

N S l «>• S l fs. r s N - ^ rt «(• 

•>N*«fo»**-«*-«fs.rs.ts.*j-r 

CO • • 

v « • <4> • • • «** 

o* -•io ** N • • cocom 

• NCON**«*©OIOIOC O 

N io oo co co «*• co co in 

C0*OSt-"--*0sC0-*«tS t 

rtrtrtUOrt**—l«»frrtrtrt 

o 

«t • CO • • ...c o 

- rt Nl) rt N < t • rt (*»>• Cr* »•« 

frniflN*t-t--*«fio 

• rs.oosimoo*^>***>*co 

COIOIOCNIONCOCOIO 

N 

S i 

0 * 

«*0 

CO 

0 * 

N 

N 

0*-

rs 

o 

00 • • • • • 00 

>o-• >o io • •*-• inin *•-« 

st N •*-> rs. st oo rs, is, N 

NNN-4-tlOSS S 

>0« * N 4<O N 00 00-4 -

• co« . ...c o 

C O N 0*> CO .mStSt N 

rt|D*a<0 0>»NM O 

* * CO 0*> 00 N 0 * CO CO 00 

m'j-^o-rsrtNCM** 

<a 

o 

i . 

TJ 

4 

T» 

Ul 

0. 

Ul 

c 

. 

Ul 

a. 

Ul 

c 

• ON. . « . or* ^ 

COfs. N OT • .O-OTsCL . 

rtNN«tO>t>NNN** 

|s.rs.oors.co*^»-*«rs 

-rtN*^<*^-*00*<^*^* N v 

Ul 

3 < 

• C^ • 00 * * * • o* 

ONStSt0000<O-0-0Sl 

iDNCO-ossNininc o 

rscocooosicom****©-

•fs-CONNIONNNCO 

00 • • 

IO • t - • • •• 

rsoo**1*

4

 • ***o * .o^o******* 

• 00 -tO'-m IO -0 IO IO -* 

N -^ <f ><f co oo xt* <r-< 

COSIIO-OCO-OSI-O-OI D 

|OcMrt^OrtNls.rtrtr t 

fs. 

0>CO* 1*t' ,*«J " ...* * 

00 S l CO CO N 'I O S l SiC O 

MfiexN» 0 O-iCOOO O 

.coinio-o*4cois.rsm 

^ OOh. ^ O- ( 0 * x t 00 

• •I O • •••I O 

oo -o rs co • --* t ••* -o ii)N<-<>tioaMOtf)M 

•O — -O00**«fsC0CO< O 

r s CO «t-NO - coc o ooo o • * 

CO 

00 

fs. 

0 * 

m 

fs 

O S i 

m m 

0** N 

• N 

CO "CO 

-Ol O 00 

rt«0 0». 

N N * 

• ^ N rm 

oo • . 

CO S l 00 

fsCC O 

StNO O 

•*N N 

• .. . CO 

N S l CN O - 0 

I H IS) *M ' M i l 

S l C*» CO CO N 

- < N N N-4 ) 

" * * 00 

• r-s -. --.co 

•-o 0s co co rs 

CO •—' **^ •»-> St 

N*»*« - ^ -rt nt 

w 

lfi 

<*.. r>. <x-r>. _:_ • " 

Q Q Q Q 5 5 

z z .....•• • >zz • ••••••• • .zz •sc«*«Nco**m*^rs.oocs«a*^Nco**m*<fsoooNSiSS^NW*

f,0'or^coo*'a 

zz zz — S S ** C I z z E Z 

oo oo o o 

oo oo ^ " 

2-19 
P.37 

< « 

3. OPERATING INSTRUCTIONS 

3.1 INTRODUCTION 

Currently, EPA is reviewing projected environmental, cost and energy 

impacts of alternative S02 NSPS for new industrial fossil fuel-fired 

boilers installed in the five-year period from 1986-1990. The base year in 

IFCAM is 1974. Therefore, the base year must be extended to 1985 and the 

projected population of new industrial fossil fuel-fired boilers installed 

from 1986 to 1990 must be created. 

Figure 3-1 presents the sequence of IFCAM files which contain the 

necessary Job Control Language (JCL) to run the various IFCAM programs: 

• CALINT(BASEJCL) 

• EC0N(JCL85) 

• TABLE(JCL85) 

• CALINT(BASEJCL2) 

t EC0N(JCL90) 

• TABLE(JCL90) 

Figure 3-1 also shows the major IFCAM input files (discussed in Section 2) 

which can be modified by the user. 

All jobs must be run in the order shown in Figure 3-1. However, 

TABLE(JCL85) does not need to be run before CALINT(BASEJCL2). TABLE(JCL85) 

can be run at any time after EC0N(JCL85) is executed. In fact, TABLE(JCL85) 

does not need to be run at all because EPA's NSPS analysis focuses on the 

output from TABLE(JCL90), not TABLE(JCL85). 

The file that is revised most often by the model user is the NSPS file 

used in EC0N(JCL90). All other assumptions are usually held constant. 

IFCAM projections, based on alternative NSPS assumptions, are compared to 

assess the projected environmental, cost and energy impacts. As shown in 

Figure 3-1, if all input assumptions are to be held constant and only the 

NSPS file used in EC0N(JCL90) is to be modified, then it is not necessary 

to rerun CALINT(BASEJCL), EC0N(JCL85), and CALINT(BASEJCL2). Revise the 

3-1 
P.38 

FIGURE 3-1 

Sequence Of IFCAM Program Jobs 

1985 Ind. 

Fossil Fuel Demand 

DEM (RS085) 

f NSPS U 

1990 Ind. 

Fossil Fuel 

Demand 

DEM (RSO90) 

( NSPS L 

Create Population of 

Industrial Boilers in 1985 

CALINT (BASEJCL) 

i 

Determine Least-cost Fuel 

Type, Emissions and Costs 

for Each Boiler in 1985. 

ECON (JCL85) 

Create Population of 

Industrial Boilers in 1990. 

CALINT (BASEJCL2) 

I 

Determine Least-cost Fuel 

Type, Emissions and Costs 

For Each Boiler in 1990. 

ECON (JCL90) 

K 

K 

1974 Ind. Prod. 

NSPSDATA (DRI75) 

1985 Ind. Prod. 

NSPSDATA (DRI85) 

1985 Fuel 

Price Files I 

Generate Output Tables 

TABLE (JCL85) 

Output Tables 

1974 Ind. Prod. 

NSPSDATA (DRI75) 

1990 Ind. Prod. 

NSPSDATA (DRI90) 

1990 Fuel 

Price Files I 

Generate Output Tables 

TABLE (JCL90) 

Output Tables 

3-2 
P.39 

NSPS file, edit EC0N(JCL90) to incorporate the new NSPS file name, rerun 

EC0N(JCL90) and then rerun TABLE(JCL90). 

The following sections explain Figure 3-1 in detail. 

3.2 INDUSTRIAL BOILERS IN 1985 

File CALINT(BASEJCL) contains the JCL to create the population of 

industrial boilers in 1985. This file is listed in Figure 3-2. 

Lines 14, 15, 20, 36, 43, 44, 120,.and 134 must be edited. In each of 

these lines in Figure 3-2, there is "XX" which must be replaced with a 

scenario code. This scenario code must be consistent with the projected 

1985 industrial fossil fuel demand input file (see Section 2.3). Figure 

2-6 presents an example of these input files and in this example the 

scenario code is "SO". The scenario code can only be two characters in 

length. Each "XX" in the lines listed above must be replaced with the same 

scenario code. For example, if the model user wishes to use input file 

DEM(RS085), it is necessary to replace each "XX" with "SO" (the second and 

third characters inside the parentheses). If the model user created input 

file DEM(RAR85), it would be necessary to replace "XX" with "AR" in all of 

the lines listed above. 

3.3 FUEL CHOICE DECISIONS IN 1985 

File EC0N(JCL85) contains the JCL to make fuel choice decisions for 

industrial boilers in 1985. This file is presented in Figure 3-3. 

User options are located in lines 31 and 32 in Figure 3-3. Users can 

modify values for "OGPV", "CLPV", "ARO", and "INDF". In this example, the 

present values of industrial fuel oil and natural gas prices are stored in 

files labeled "SET15" and the present values of industrial coal prices are 

stored in files labeled "SET05". If new fuel price files are created (as 

discussed in Section 2.2), the revised file names must be identified in 

line 31. 

The scenario code (SC= in line 31) must be consistent with the 

scenario code used in CALINT(BASEJCL). In the example presented in Figure 

3-3, SC=S0. 

The NSPS assumptions are stored in a file labeled by the user, 

NSPSDATA( ) , as discussed in Section 2.1. The name inside the parentheses is inserted in line 32, "AR0= ". In this example, file 

NSPSDATA(AR0142) is to be used (since "AR0=AR0142" in line 32). 

3-3 
P.40 

Figure 3-2. CALINT(BASEJCL) 

COMHAND? USE PAUL.CALINT(EASEJCL) CLR 

COMMAND? L 

1. 

2. 

3. 

4. 

3. 

6. 

7. 

8. 

9. 

10. 

11. 

12. 

13. 

14. 

13. 

16. 

17. 

18. 

19. 

20. 

21. 

22. 

23. 

24. 

23. 

26. 

27. 

28. 

29. 

30. 

31. 

32. 

33. 

34. 

33. 

36. 

37. 

38. 

39. 

40. 

41. 

42. 

43. 

44. 

43. 

46. 

47. 

(NSPSSASDDIND.D098)a'CAL8S'»TIME=1 

R020 

//PDJCAL83 JOB 

/•ROUTE PRINT 

II* 

*************************** 

* NAME NSPS:CALINT * 

II* 

II* 

II* 

II* 

//JOBLIB DD DSN=PDJNSPS.NSPSLIBtOISP=SHR 

II* STEP01 »•**##•*»••**•••*«•*•*»••••*•••••••*»*•*•»••••••••*«•••**• 

//STEP01 EXEC PCM»BOIL01FREOION»200K 

//FT06F001 DD SYSOUT=A 

//FT1SF001 DD DSN=PDJNSPS.NSPSDATA(ECDBTN>.DISP=SHR 

//FT03F001 DD DSN=PDJNSPS.NSPSDATA(BLRDMN83>.DISP=SHR 

//FT04F001 DD DSN*-*PDJNSPS.DEM(PTXX85).DISP=*M0D 

//FT20F001 DD DSN=PDJNSPS.DEM(PARMXX85).DISP=M00 

//FT23F001 DD DSN*PDJNSPS.NSPSDATA(BOBCOAL)aD!SP=SHR 

//FT30F001 DD DSN=66C0FACfDISP=(iPASS>.» 

// UNIT=SYSDA»SPACE=<TRK. U50.50) .RLSE) . 

// DCB = (RECFM=FB»LRECL-**80»BLKSIZE-'12000) 

//FT08F001 DD DSN=PDJNSPS.DEM(RXX83>»DISP=SHR 

//FT10F001 DD DSN=PDJNSPS.NSPSDATA(B08C0AL),DISP=SHR 

//FTUF001 DD DSN=PDJNSPS.NSPSDATA(NBBCOAL)-DISP--SHR 

//FT16F001 DD DSN=PDJNSPS.NSPSDATA(DRI75),DISP=SHR 

//FT02F001 DD DSN=PDJNSPS.NSPSDATA(DRI83>.DISP=SHR 

//FT05F001 DD *» 

85 

10 

.0062 

,0062 

//• STEP0Z »«»#**##*#*»»#*»»#*•#»*•*#**»#•#•*•»##•#*##**#»*##«#*#•»»** 

//STEP02 EXEC PCM=B85002.RECION=183K 

//FT06F001 DD SYSOUT=*A 

//FT13F001 DD DSN=PDJNSPS.DEH(PTXX85)»0ISP=SHR 

//FT10F001 DD DSN--.PDJNSPS.NSPSDATA(NEWBD6) .DISP=SHR 

//FT11F001 DD DSN=-&8.TEM.DISP=(.DELETE> . 

// UNIT=SYSDA.SPACE-MTRK. (150.50) .RLSE) » 

// DCB=(RECFM=FB.LRECL=80»BLKSIZE'*12000> 

//FT09F001 DD DSN=PDJNSPS.NSPSDATA(AQCRCDF),DISP=SHR 

//FT03F001 DD DSN=PDJNSPS.NSPSDATA(EXB075) .DISP--SHR 

//FT20F001 DD DSN=PDJNSPS.DEM(PARMXX85).DISP=0LD 

//FT21F001 DD DSN-*PDJNSPS.DEM(PARMXX83).DISP = SHR 

//FT04F001 DD DSN=&&CAT1.DISP=(.PASS). 

/ / UNIT=SYSDA»SPACE=(TRK.(150.50).RLSE). 

/ / DCB=<RECFM=FB»LRECL=80.BLKSIZE=12000) 

3-4 

-^^ 
P.41 

f l 

Figure 3-2. CALINT(BASEJCL) 

48. //• STEP03 ••»•••••»••**»•••*••••»•»*•*#*»»***•»•***•»#**•***#*••*•••* 

49. //STEP03 EXEC SORTD.REGI0N"52K 

30. //SORT.SYSOUT DD DUMMY 

31. //SORTIN DD DSN=88CAT1,DISP"(OLD,DELETE) 

32. //SORTOUT DD DSN=e8CAT2»DISP=(.PASS), 

53. // UNIT"SYSDA.SPACE=(TRK.(150.50).RLSE)» 

34. // DCB=(RECFM"FB.LRECL=80.BLKSIZE"12000) 

55. //SORTHK01 DD UNIT=SYSDA.SPACE"(TRK.(80)..CONTIC) 

56. //SORTHK02 DD UNIT=SYSDA.SPACE"(TRK,(80).,CONTIC) 

57. //SORTUK03 DD UNIT=SYSDA.SPACE"(TRK.(80)..CONTIC) 

58. //SORTWK04 DD UNIT=SYSDA,SPACE"(TRK,(80)..CONTIC) 

59. //SORTMK05 DD UNIT=SYSDA.SPACE"(TRK.(80)..CONTIC) 

60. //SORTWK06 DD UNIT=SYSDA.SPACE"(TRK.(80)..CONTIC) 

61. //SYSIN DD » 

62. SORT FIELDS=(1.28.CH.A) 

63. //* STEP04 •••»•**•»•»***•••*****••*••••*••*•**»*•«***••*•*•*•»•••••• 

64. //STEP04 EXEC PCM=B85003.RECION=100K 

65. //FT06F001 DD SYSOUT=A 

66. //FT02F001 DD DSN=S&BOILERS.DISP"(.PASS). 

67. // UNIT=SYSDA»SPACE=(TRK»(130.30).RLSE). 

68. // DCB"(RECFM"FB.LRECL"80.BLKSIZE"12000> 

69. //FT01F001 DD DSN=SSCAT2.DISP"(OLD.DELETE) 

70. //* STEP0S »*•***»•***••***#***#***••• »•** *•«*•••**••**•**••**••• 

71. //STEP05 EXEC S0RTD.REGION"32K 

72. //SORT.SYSOUT DD DUMMY 

73. //SORTIN DO DSN=6&B0ILERS»DISP"(OLD.DELETE) 

74. //SORTOUT DD DSN=86CAT0.DISP"<.PASS). 

73. // UNIT=SYSDA.SPACE"(TRK.(150.50).RLSE). 

76. // DCB=(RECFM"FB.LRECL=80.BLKSIZE=12000) 

77. //SORTWK01 DD UNIT=SYSDA,SPACE"(TRK.(80)..CONTIC) 

78. //SORTWK02 DD UNIT"SYSDA.SPACE"(TRK.(80)>.CONTIC) 

79. //SORTHK03 DD UN1T=SYSDA.SPACE"(TRK,(80)..CONTIC) 

80. //SORTUK04 DD UNIT=SYSDA.SPACE"(TRK.(80)..CONTIC) 

81. //SORTWK05 DD UNIT=SYSDA.SPACE"(TRK.(80)..CONTIC) 

82. //SORTUK06 DD UNIT=SYSDA.SPACE"(TRK.(80)..CONTIC) 

83. //SYSIN DD * 

84. SORT FIELDS"(13.9.CH»A) 

83. II* STEP06 »»»##*#»#*»**#»»»•#•»*#»•*##•##•*•#*•»*•#«#•»#»«»*•###»#*#«* 

86. //STEP06 EXEC PCM"B85004.RECION"S00K 

87. //FT06F001 DD SYSOUT=A 

88. //FT01F001 DD DSN=PDJNSPS.NSPSDATA(FILTAOCR).DISP=SHR 

89. //FT02F001 DD DSN"PDJNSPS.NSPSDATA(NEUSIPS2).DISP=SHR 

90. //FT03F001 DD DSN=88CAT0.DISP"(OLD.DELETE) 

91. //FT04F001 DD DSN=&8CAT1.DISP"(.PASS), 

92. // UNIT=SYSDA.SPACE"(TRK.(150.30).RLSE)» 

93. // DCB»(RECFM"FB.LRECL=80.BLKSIZE»12000) 

3-5 
P.42 

Figure 3-2. CALINT(BASEJCL) 

94. II* STEP07 »#»»*•##*»»*#»#»#«•##•*##*#»**#•##»•«»*«»»#»»»#*•»•##*»•»# 

95. //STEP07 EXEC SORTD.REGI0N"52K 

96. //SORT.SYSOUT DD DUMMY 

97. //SORTIN DD DSN=&8CAT1.DISP=(0LD.DELETE) 

98. //SORTOUT DD DSN=88CAT2.DISP"(.PASS). 

99. // UNIT=SYSDA.SPACE"(TRK.(130.30),RLSE). 

100. // DCB"(RECFM"FB,LRECL"80,BLKSIZE"12000) 

101. //SORTWK01 DD UNIT=SYSDA,SPACE"(TRK.(80)..CONTIC) 

102. //SORTWK02 DD UNIT"SYSDA.SPACE"(TRK.(80).,CONTIC) 

103. //SORTWK03 DD UNIT=SYSDA,SPACE"(TRK,(80)>.CONTIC) 

104. //SORTWK04 DD UNIT=SYSDA,SPACE"(TRK,(80).,CONTIC) 

105. //SORTHK05 DD UNIT=SYSDA,SPACE"(TRK,(80),,CONTIC) 

106. //SORTHK06 DD UNIT=SYSDA,SPACE"(TRK.(80),.CONTIC) 

107. //SYSIN DD » 

108. SORT FIELDS"(1.35.CH.A> 

109. II* STEP08 »»#«»•*•»#»#*##****»»•»»»#•»»*«»»»»•»•••»«»•#••«»»»«•*»»•» 

110. //STEP08 EXEC PCM=BOIL05.RECION=100K 

111. //FT06F001 DD SYSOUT"A 

112. //FT02F001 DD DSN"88CAT3.DISP"(.PASS). 

113. // UNIT=SYSDA,SPACE"(TRK,(150,50),RLSE), 

114. // DCB=(RECFM=FB,LRECL=80,BLKSIZE=12000) 

115. //FT01F001 DD DSN"88CAT2,DISP"(OLD,DELETE) 

116. II* STEP09 ****•#*•*•**•***••**»# #** ****#*******•*«*•»**•**«•••*• 

117. //STEP09 EXEC S0RTD»RECI0N=52K 

118. //SORT.SYSOUT DD DUMMY 

119. //SORTIN DD DSN=S8CAT3.DISP=(OLD.DELETE) 

120. //SORTOUT DD DSN=PDJNSPS.DEM(B0XX85),DISP=MOD 

121. //SORTUK01 DD UNIT=SYSDA,SPACE"(TRK,(80),,CONTIC) 

122. //SORTUK02 DD UNIT"SYSOA,SPACE"(TRK,(80),,CONTIC) 

123. //SORTWK03 DD UNIT=SYSDA,SPACE"(TRK,(80),,CONTIC) 

124. //SORTWK04 DD UNIT»SYSDA.SPACE"(TRK.(80)..CONTIC) 

125. //SORTWK05 DD UNIT=SYSDA.SPACE"(TRK.(80),,CONTIC) 

126. //SORTHK06 DD UNIT»SYSDA.SPACE"(TRK.(80)..CONTIC) 

127. //SYSIN DD *» 

128. SORT FIELDS=(26.10,CH,A,8,9,CH.A.5.3.CH.A.1.2.CH.A) 

129. II* STEP10 ##»##«*•*#•###•#»»»#**»***»«**•*#***••*•**»••«##*##«#«»•»## 

130. //STEP10 EXEC PGM=BOIL06,RECION=100K 

131. //FT06F001 DD SYSOUT=A 

132. //FT09F001 DD DSN=PDJNSPS.NSPSDATA(BOBCOAL),DISP=SHR 

133. //FT04F001 DD DSN=8SC0FAC.DISP"(OLD.DELETE) 

134. //FT08F001 DD DSN=PDJNSPS.DEM(BOCXX83).DISP=MOD 

COMMAND? 

3-6 
P.43 

Figure 3-3. EC0N(JCL85) 

COMMAND? 

1 . 

2 . 

3 . 

4 . 

3 . 

6 . 

7. 

8 . 

9 . 

10. 

1 1 . 

1 2. 

13. 

14. 

I S . 

16. 

17. 

18. 

19. 

2 0 . 

2 1 . 

2 2 . 

2 3 . 

2 4. 

2 3 . 

2 6 . 

2 7 . 

28. 

2 9. 

3 0 . 

3 1 . 

3 2 . 

3 3 . 

3 4 . 

3 3 . 

3 6 . 

3 7 . 

3 8 . 

3 9 . 

4 0. 

4 1 . 

4 2. 

4 3. 

4 4. 

COMMAND? 

ute *»>dJntn.tcori<Jcl83> ci r 

1 

//PDJEC083 JOB (NSPSSASDDIND.D098.t130).'BASE8383»'»PASSW0RD»RUN»TIME*»3 

//JOBLIB DD DSN-PDJNSPS.NSPSLIBiDISP>SHR 

/•CPUID EPA3 

/•ROUTE PRINT R020 

/»CNTL PDJECOfSHR 

//ECO PROC 

//STEP01 EXEC PCM»8,ECOPCM»RECION»800K 

//FT06F001 DD SYSOUT-A 

//FT01F001 DD DSN»PDJNSPS.FORCAP.DISP**SHR 

//FT02F001 DD DSN>PDJNSPS.FOROMtDISP-SHR 

//FT03F001 DD DSN»PDJNSPS.»CLPV.83.F0BrDISP»SHR 

//FT08F001 DD DSN=PDJNSPS.»0CPV.83.0TH»DISP"SHR 

//FT20F001 DD DSN»PDJNSPS.DEM<PARM*SC.83)»DISP«M0D 

//FT21F001 DD DSN>PDJNSPS.DEM(PARM&SC.83)rDISP>SHR 

//FT23F001 DD DSN«PDJNSPS.TtCLPV.83.F0B,DISP«SHR 

//FT28F001 DD DSN>PDJNSPS.U0CPV.83.0THfDISP>SHR 

//FT33F001 DD DSN>PDJNSPS.(CLPV.83.F0BrDISP«SHR 

//FT38F001 DD DSN°PDJNSPS.&0CPV.83.0THrDISP-SHR 

//FTUF00 1 DD DSN-PDJNSPS.DEM(B0&SC.83)>DISP>SHR 

//FT12F001 DD DSN>PDJNSPS.DEM(B0CtSC.83)fDISpaSHR 

//FT10F001 DD DSN>PDJNSPS.NSPSDATA<NEWRET)>DISP<>SHR 

//FT13F001 DD DSN'PDJNSPS.NSPSDATA(&ARO.)>DISP"SHR 

//FT16F001 DD DSN>PDJNSPS.NSPSDATA(COALS110)t>DISP-SHR 

//FT17F001 DD DSN»PDJNSPS.NSPSDATA(LVEC83) r-DISP»SHR 

//FT30F001 DD DSN=PDJNSPS.DEM(SUM*SC.83)»DISP=M0D 

//FT14F001 DO DSN-PDJNSPS.DUIN&INDF.(B083)aDISP-M0D 

//FT89F001 DD DUMMY 

DD SYSOUT»A 

DD DUMMY 

//FT83F001 

//FT99F001 

// PEND 

//B EXEC PROC»ECO>OCPV>SET13>CLPV*SET03>SC*<SOr 

// AR0«AR0142FEC0PCM"S02>INDF*>178 

//STEP01.FT03F001 DD # 

0 

0 

0.5476 

83 

900 

10*900 

2 

13 

100 40 

999999999 

/» 

3-7 
P.44 

INDF is an identification code. If the user keeps a log of all IFCAM 

runs, INDF can be used to keep track of each job. The value for INDF 

should be changed for each IFCAM run. In this example, INDF=178. The 

value for INDF must be less than five characters. 

3.4 1985 IFCAM OUTPUT TABLES 

TABLE(JCL85) contains the necessary JCL to generate IFCAM output 

tables for 1985. See Figure 3-4. Note line 5; where do you want the 

output printed? 

User options are located in lines 21 and 22. Note the value for INDF 

in line 21. It is the same value as line 32 in Figure 3-3. This indicates 

that output file 178 from the 1985 fuel choice decisions will be summarized 

and printed. The value in line 28 in Figure 3-4 should always be the same 

as the value for INDF in line 21 in Figure 3-4. The value of the scenario 

code, SC, must be the same as that used in EC0N(JCL85). In this example, 

SC=S0. Line 22 should also be edited to note the name of the NSPS file 

(from Figure 3-3, line 32) that corresponds with IFCAM run 178. 

The IFCAM output tables produced by TABLE(JCL85) are briefly reviewed 

in Section 4.1. 

3.5 INDUSTRIAL BOILERS IN 1990 

The JCL necessary to create the population of industrial boilers in 

1990 is stored in CALINT(BASEJCL2). See Figure 3-5. 

The only user option is located in line 151. Note INDF. INDF=150 in 

this example. It could be set equal to the same value used in the 1985 

jobs (178 was used in Figures 3-3 and 3-4). 

"SC" is the same scenario code that is used in CALINT(BASEJCL) in 

Figure 3-2. If the projected 1990 industrial fossil fuel demand input file 

is DEM(RS090), as in Figure 2-6, then SC=S0. SCF should be set equal to 

the same value as SC. In this example, SCF=S0. 

3.6 FUEL CHOICE DECISIONS IN 1990 

The JCL to make fuel choice decisions in 1990 is in file EC0N(JCL90). 

This file is listed in Figure 3-6. 

User options are located in lines 31 and 32. The fuel price file 

names must be identified. In this example, "SET15" oil and gas prices and 

"SET05" coal prices are to be used. These file names are not necessarily 

the same file names used in EC0N(JCL85). Section 2.2 explains the creation 

of these files. 

3-8 
P.45 

Figure 3-4. TABLE(JCL85) 

ust *t»djnspf.tibia(Jcl83) cir 

COMMAND? 1 

1. //PDJTAB83 JOB (NSPSSASDDINDFD098.30I30.30).'TAB8383'.TIME»<1> 

2. //JOBLIB DD DSN=PDJNSPS.NSPSLIBfDISP=SHR 

3. // DD DSN»SYS1.VRENTLIBFDISP»SHR 

4. /*CPUID EPA3 

3. /»ROUTE PRINT R020 

6. //TAB PROC 

7. //STEP01 EXEC PCM«&TA8PCMFRECION»700K 

8. //FT06F001 DD SYSOUT»A 

9. //FT01F001 DD DSN»PDJNSPS.DEM(B0&SC.83)FDISP»SHR 

10. //FT03F001 DD DSN=PDJNSPS.DEM(B0C&SC.83)FDISP=SHR 

11. //FT04F001 DD DSN>PDJNSPS.DUIN&INDF.(B083)FDISP«SHR 

12. //FT15F001 DD DSN»PDJNSPS.NSPSDATA(&ARO.)FDISP'SHR 

13. //FT20F001 DD DSN»PDJNSPS.DEM(PARM85)FDISP=*OLD 

14. //FT21F001 DD DSN«PDJNSPS.DEM(PARM83>rDISP-SHR 

13. //FT30F001 DD DSN»PDJNSPS.NSPSDATA(COALS110)FDISP*SHR 

16. //FT91F001 DD SYSOUT=AF 

17. // DCB»(RECFM"FBAFLRECL»133FBLKSIZE*»1330> 

18. //FT85F001 DD SYSOUT»Ai 

19. // DCB*(RECFM=FBAFLRECL=133FBLKSIZE"1330> 

20. // PEND 

21. //C EXEC PR0C«TABFINDF«178FSC«S0F 

22. // TABPCM=0UTPUTFAR0=AR0142 

23. //STEP01.FT03F001 DD *» 

24. 85 

23. i 

26. 3 

27. 110 

28. 178 

29. /* 

COMMAND? 

3-9 
P.46 

Figure 3-5. CALINT(BASEJCL2) 

USE PAUL.CALINT(BASEJCL2) 

COMMAND? L 

CLR 

1. 

2. 

3. 

4. 

3. 

6. 

7. 

8. 

9. 

10. 

11. 

12. 

13. 

14. 

15. 

16. 

17. 

18. 

19. 

20. 

21. 

22. 

23. 

24. 

23. 

26. 

27. 

28. 

29. 

30. 

31. 

32. 

33. 

34. 

35. 

36. 

37. 

38. 

39. 

40. 

41. 

42. 

43. 

44. 

43. 

46. 

47. 

48. 

//PDJCAL90 JOB (NSPSSASDDIND.D098.30.30.50).'CAL90'.TIME"04 

//JOBLIB DD DSN=PDJNSPS.NSPSLIB,DISP"SHR 

/•ROUTE PRINT R020 

//CAL PROC 

//STEP01 EXEC PCM"BOIL01,COND"(4.LE).RECIONn300K 

//FT06F001 DO SYSOUT=A 

//FT13F001 DD DSN"PDJNSPS.NSPSDATA(ECDBTN),DISP»SHR 

//FT16F001 DD DSN«PDJNSPS.NSPSDATA(DRI73),DISP"SHR 

//FT02F001 DD DSN=PDJNSPS.NSPSDATA(DRI8CY.),DISP=SHR 

//FT03F001 DD DSN«PDJNSPS.NSPSDATA(BLRDMN8CY.),DISP=SHR 

//FT04F001 DO DSN»PDJNSPS.DEM(PT&SC8CY.),DISP*M0D 

//FT08F001 DD DSN»PDJNSPS.DEM(R8SC&CY),DISP=SHR 

//FT01F001 DD DSN»PDJNSPS.DEM(PT8SC8PY.),DISP»SHR 

//FT10F001 DD DSN»PDJNSPS.NSPSDATA(BOBCOAL),DISP"SHR 

//FT11F001 DD DSN«PDJNSPS.NSPSDATA(NBBCOAL),DISP"SHR 

//FT20F001 DD DSN"PDJNSPS.DEM(PAR&SC&CY.),DISP°MOD 

//FT23F001 DD DSN»PDJNSPS.DEM(B0C&SC8PY.),DISP=SHR 

//FT33F001 DD DSN=PDJNSPS.DEM(SUM8SCF8PY.),DISP=SHR 

//FT30F001 DD DSN"88C0LFB,DISP"(.PASS), 

// UNIT=SYSDA,SPACE"(TRK.(10.5).RLSE). 

// DCB"(RECFM"FB.LRECL"80,BLKSIZE"6160> 

//STEP02 EXEC 

//FT06F001 DD 

//FT11F001 

//FT09F001 

//FT13F001 

//FT01F001 

//FT02F001 

//FT10F001 

//FT20F001 

//FT21F001 

//FT03F001 

II 

II 

PCM"BOIL02,COND"(4,LE),RECION"300K 

SYSOUT=A 

DSN»PDJNSPS.DEM(PT8SC8CY.>,DISP"SHR 

DSN=PDJNSPS.DEM(B0C8SC8PY.),DISP"SHR 

DSN«PDJNSPS.DEM(SUMSSCFSPY.),DISP"SHR 

DSN"PDJNSPS.DEM(BO&SC&PY.).DISP"SHR 

DSN»PDJNSPS.DHIN&INDF.(B08PY.),DISP"SHR 

DSN.88C0LFB.DISP"(OLD.DELETE) 

DSN>PDJNSPS.DEM(PAR8SC&CY.).DISP"0LD 

DSN»PDJNSPS.DEM(PAR8SC8CY.).DISP"SHR 

DSN»88CAT1,DISP=(.PASS). 

UNIT=SYSDA,SPACE"(TRK,(150,10),RLSE), 

DCB>(RECFH>FB,LRECL"80,BLKSIZE"12000) 

DD 

DD 

DD 

DD 

DD 

DD 

OD 

DO 

DD 

//FT08F001 DD DSN"PDJNSPS.DEM(B0C8SC8CY.)»DISP"MOD 

//STEP03 EXEC PGH«ICEMAN,C0ND=(4,LE)>RECI0N=S2K 

//SYSOUT DD SYSOUT"A 

//SORT.SYSOUT OO DUMMY 

//SORTIN OO DSN-&»CAT1.DISP"(OLD.DELETE) 

//SORTOUT DD DSN=88CAT2.DISP"(.PASS)» 

// UNIT"SYSOA.SPACE"(TRK,(99,10),RLSE>, 

// DCB"(RECFM"FB,LRECL"80,BLKSIZE"12000) 

//SORTUK01 DD UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

//SORTHK02 DD UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

//SORTWK03 OD UNIT"SYSDA,SPACE"(TRK,(50),.CONTIC) 

//SORTUK04 DD UNIT»SYSDA.SPACE"(TRK.(50)..CONTIC) 

//SORTWK05 DD UNIT«SYSDA,SPACE"(TRK,(50),,CONTIC) 

//SORTUK06 DD UNIT=*SYSDA.SPACE" (TRK, (50) ,,CONTIC) 

3-10 
P.47 

Figure 3-5. CALINT(BASEJCL2) 

49. //STEP04 EXEC PCM"B90003.COND=(4.LE),RECION=300K 

50. //FT06F001 DD SYSOUT=A 

31. //FT02F001 DD DSN"88CAT3,DISP"(.PASS). 

32. // UNIT=SYSDA.SPACE"(TRK.(99.10),RLSE). 

53. // DCB"(RECFM"FB.LRECL"80,BLKSIZE"12000> 

54. //FT01F001 DD DSN=88CAT2,DISP=(0LD,DELETE) 

55. //STEP03 EXEC PCM=ICEMAN,C0ND"(4,LE),REGI0N»32K 

56. //SYSOUT DD SYSOUT=A 

57. //SORT.SYSOUT DO DUMMY 

58. //SORTIN DD DSN=88CAT3,DISP"(OLD,DELETE) 

59. //SORTOUT OD DSN=88EXB0IL,DISP"(,PASS), 

60. // UNIT"SYSDA,SPACE"(TRK,(99,10),RLSE), 

61. // DCB"(RECFM"FB,LRECL"80,BLKSIZE"12000> 

62. //SORTMK01 DD UNIT=SYSDA.SPACE"(TRK,(30)..CONTIC) 

63. //SORTUK02 OD UNIT=SYSDA.SPACE"(TRK,(50),,CONTIC) 

64. //SORTUK03 DO UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

63. //SORTUK04 DD UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

66. //SORTUK03 DD UNIT=SYSDA,SPACE"(TRK,(50),,CONTIC) 

67. //SORTWK06 DD UNIT"SYSOA,SPACE"(TRK,(50)..CONTIC) 

68. //STEP06 EXEC PCM=B90004,COND"(4.LE),RECI0N»183K 

69. //FT06F001 DD SYSOUT=A 

70. //FT13F001 DD DSN=PDJNSPS.DEM(PT8SC8CY.),DISP=SHR 

71. //FT10F001 DD DSN»PDJNSPS.NSPSDATA(NEMBD6),DISP=SHR 

72. //FT11F001 DO DSN=88TEM,DISP=(,DELETE), 

73. // UNIT=SYSDA,SPACE"(TRK,(99,10),RLSE), 

74. // DCB=(RECFM=FB,LRECL"80.BLKSIZE=12000) 

75. //FT09F001 DD DSN=PDJNSPS.NSPSDATA(AQCRCDF).DISP»SHR 

76. //FT04F001 DD 0SN"88CAT1,DISP"(,PASS)» 

77. // UNIT=SYSDA.SPACE"(TRK.(99.10).RLSE). 

78. // DCB»(RECFM=FB.LRECL=80.BLKSIZE=12000) 

79. //STEP07 EXEC PCM"ICEMAN.COND"(4.LE),RECION"52K 

80. //SYSOUT DD SYSOUT"A 

81. //SORT.SYSOUT DD DUMMY 

82. //SORTIN DD DSN=88CAT1,DISP=(OLD,DELETE) 

83. //SORTOUT DD DSN«88CAT2,DISP"(,PASS), 

84. // UNIT=SYSDA,SPACE"(TRK,(99.10).RLSE), 

83. // OCB"(RECFM"FB,LRECL=80,BLKSIZE"12000> 

86. //SORTMK01 DD UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

87. //SORTWK02 DD UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

88. //SORTHK03 DD UNIT»SYSDA,SPACE"(TRK,(50),,CONTIC) 

89. //SORTWK04 DD UNIT'SYSDA.SPACE"(TRK,(50),,CONTIC) 

90. //SORTUK05 DO UNIT=SYSDA,SPACE"(TRK,(50),,CONTIC) 

91. //SORTWK06 DD UNIT"SYSDA,SPACE"(TRK.(30),,CONTIC) 

92. //STEP08 EXEC PCM"B90005.COND"(4.LE)>RECION"300K 

93. //FT06F001 DD SYSOUT=A 

94. //FT02F001 OD DSN=88CATIN.DISP"(.PASS). 

95. // UNIT=SYSDA.SPACE=(TRK,(99.10).RLSE). 

96. // DCB"(RECFM=FB.LRECL"80,BLKSIZE"12000) 

97. //FT01F001 OO 0SN"88CAT2,DISP"(OLD,DELETE) 

3-11 
P.48 

Figure 3-5. CALINT(BASEJCL2) 

98. //STEP09 EXEC PCM'ICEMAN.COND"(4,LE),RECI0N=32K 

99. //SYSOUT DD SYSOUT=A 

100. //SORT.SYSOUT DD DUMMY 

101. //SORTIN DD DSN»88CATIN,DISP"(OLD,DELETE) 

102. //SORTOUT OO DSN»68CAT0.DISP"(.PASS). 

103. // UNIT"SYSDA.SPACE"(TRK.(99,10),RLSE), 

104. // DCB"(RECFM"FB,LRECL"80,BLKSIZE"12000) 

105. //SORTUK01 DD UNIT"SYSOA,SPACE"(TRK,(50),,CONTIC) 

106. //SORTWK02 OD UNIT=SYSDA,SPACE"(TRK,(30),,CONTIC) 

107. //SORTWK03 DD UNIT"SYSDA,SPACE"(TRK,(50),.CONTIC) 

108. //SORTUK04 DD UNIT=SYSDA.SPACE"(TRK.(50)..CONTIC) 

109. //SORTUK05 OD UNIT=SYSDA.SPACE"(TRK.(50)..CONTIC) 

110. //SORTUK06 DD UNIT=SYSDA.SPACE"(TRK.(50),.CONTIC) 

U l . //STEP10 EXEC PCM"B90006.COND"(4.LE).RECION"300K 

112. //FT06F001 DD SYSOUT"A 

113. //FT01F001 DD DSN=PDJNSPS.NSPSDATA(FILTAQCR),DISP=SHR 

114. //FT02F001 DD DSN=PDJNSPS.NSPSDATA(NEHSIPS2),DISP"SHR 

113. //FT03F001 DO DSN"88CAT0,DISP"(OLD.DELETE) 

116. //FT04F001 DD DSN=8*CAT1,DISP"(,PASS)> 

117. // UNIT=SYSDA,SPACE"(TRK,(99,10),RLSE), 

118. // DCB=(RECFM=FB,LRECL"80,BLKSIZE"12000) 

119. //STEP11 EXEC PGM=1CEMAN,C0ND»(4,LE),RECI0N=52K 

120. //SYSOUT DD SYSOUT=A 

121. //SORT.SYSOUT 00 DUMMY 

122. //SORTIN DD DSN»88CAT1.DISP"(OLD.DELETE) 

123. //SORTOUT DD DSN"88CAT2.DISP"(.PASS). 

1247 // UNIT"SYSDA.SPACE"1TRK.(99.10),RLSE). 

123. // DCB"(RECFM'FB.LRECL"80.BLKSIZE"12000) 

126. //SORTWK01 DD UNIT"SYSDA.SPACE"(TRK.(30).,CONTIC) 

127. //SORTUK02 DD UNIT=SYSDA.SPACE"(TRK,(5f),.CONTIC) 

128. //SORTWK03 DD UNIT-SYSDA.SPACE"(TRK.(50).,CONTIC) 

129. //SORTWK04 DD UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

130. //SORTUK05 DD UNIT°SYSDA,SPACE"(TRK,(50),,CONTIC) 

131. //SORTUK06 00 UNIT=SYSDA,SPACE"(TRK,(30),,CONTIC) 

132. //STEP12 EXEC PCM"B90007,COND"(4,LE),RECION=300K 

133. //FT06F001 DD SYSOUT"A 

134. //FT02F001 DO DSN"88CAT3,DISP"(,PASS), 

133. // UNIT=SYSDA.SPACE"(TRK.(99,10).RLSE). 

136. // DCB"(RECFM"FB,LRECL"80,BLKSIZE"12000) 

137. //FT01F001 DD DSN"88CAT2.DISP"(OLD.DELETE) 

3-12 
P.49 

Figure 3-5. CALINT(BASEJCL2) 

138. //STEP13 EXEC PCM"ICEMAN,COND"(4,LE),RECI0N=32K 

139. 

140. 

141. 

142. 

143. 

144. 

143. 

146. 

147. 

148. 

149. 

150. 

131. 

152. 

153. 

154. 

153. 

156. 

157. 

138. 

159. 

160. 

161. 

162. 

163. 

164. 

163. 

166. 

167. 

168. 

169. 

170. 

171. 

172. 

173. 

174. 

173. 

176. 

177. 

178. 

179. 

180. 

181. 

COMMAND? 

//SYSOUT DD SYSOUT"A 

//SORT.SYSOUT DD DUMMY 

//SORTIN DD DSN"88CAT3,DISP"(OLD,DELETE) 

// DD 0SN"88EXB0IL,DISP"(OLD.DELETE) 

//SORTOUT DD DSN=POJNSPS.DEM(B08SC8CY.).DISP"MOD 

//SORTUK01 DO UNIT=SYSDA.SPACE"(TRK.(50)..CONTIC) 

//SORTUK02 DD UNIT"SYSOA.SPACE"(TRK.(50)..CONTIC) 

//SORTUK03 DD UNIT=SYSDA.SPACE"(TRK.(50)..CONTIC) 

//SORTUK04 DO UNIT"SYSDA.SPACE"(TRK.(50)..CONTIC) 

//SORTUK05 DD UNIT=SYSDA,SPACE"(TRK,(50),,CONTIC) 

//SORTWK06 DO UNIT"SYSDA,SPACE"(TRK,(50),,CONTIC) 

// PEND 

//A EXEC PROC=CAL,INDF=150,SCF=SO,SC=SO,PY=85,CY=90 

//STEP01.FT05F001 DD # 

0 

0 

0 

90 

0003 

0.0062 

0.0062 

1* 

//STEP02.FT05F001 DD * 

0 5 

/• 

//STEP03.SYSIN DD *» 

SORT FIEL0S"(1,33,CH,A) 

/• 

//STEP03.SYSIN DD * 

SORT FIELDS'(26,10,CH.A.8>9.CH>A.3.3.CH.A.1>2>CH.A> 

/• 

//STEP07.SYSIN DD » 

SORT FIELDS"(1.28.CH.A) 

/• 

//STEP09.SYSIN DO *» 

SORT FIEL0S"(13.9.CH.A> 

1* 

//STEP11.SYSIN OD •» 

SORT FIELDS" U,33,CH, A) 

/* 

//STEP13.SYSIN DD * 

SORT FIELDS"(26>10>CH>A.8.9.CH.A>3t3.CH.A>l,2,CH,A) 

/* 

3-13 

J 
P.50 

Figure 3-6. EC0N(JCL90) 

•sc *t»dJn§Pi.tcon(Jcl90> cir 

COMMAND? 1 

1. //PDJECO90 JOB (NSPSSASDDINDFD098F F130)F'BASE9090F'FPASSU0RD>RUNFTIHE-3 

2. //JOBLIB DD DSN-PDJNSPS.NSPSLIBFDISP»SHR 

3. /*CPUID EPA3 

4. /*ROUTE PRINT R020 

3. /*CNTL PDJECOFSHR 

6. //ECO PROC 

7. //STEP01 EXEC PCM««,ECOPCM»RECION«800K 

8. //FT06F001 DD SYSOUT'A 

9. //FT01F001 DD DSN«PDJNSPS.FORCAPFDISP»SHR 

10. //FT02F001 DD DSN»PDJNSPS.FOROHFDISP«SHR 

11. //FT03F001 DD DSN«PDJNSPS.4CLPV.90.FOBFDISP»SHR 

12. //FT08F001 DD DSN»PDJNSPS.*OCPV.90.OTHFDISP-SHR 

13. //FT20F001 DD DSN>PDJNSPS.RUNtINDF(PARM90>FDISP»MOD 

14. //FT21F001 DD DSN«PDJNSPS.DEM<PARM*SC.90>FDISP-SHR 

13. //FT23F001 DD DSN«PDJNSPS.TJ.CLPV.90.FOB»DISP»SHR 

16. //FT28F001 DD DSN«PDJNSPS.T8.OGPV.90.OTHFDISP-SHR 

17. //FT33F001 DD DSN»PDJNSPS.*CLPV.90.FOBFDISP«SHR 

18. //FT38F001 DD DSN»PDJNSPS.&OCPV.90.OTHFDISP»SHR 

19. //FT11F001 DD DSN»PDJNSPS.DEM(BO&SC.90)FDISP=SHR 

20. //FT12F001 DD DSN>PDJNSPS.DEH<BOC&SC90) FDISP-SHR 

21. //FT10F001 DD DSN«PDJNSPS.NSPSDATA(NEHRET)FDISP»SHR 

22. //FT13F001 DD DSN«PDJNSPS.NSPSDATA(tARO.)FDISP«SHR 

23. //FT16F001 DD DSN«PDJNSPS.NSPSDATA(COALS110)FDISP-SHR 

24. //FT17F001 DD DSN»PDJNSPS.NSPSDATA(LVEC90)FDISP»SHR 

23. //FT30F001 DD DSN-PDJNSPS.RUNHNDF. (SUM90) FDISP-MOD 

26. //FT14F001 DD DSN-PDJNSPS.DUINtlNDF.(BO90)FDISP'MOD 

27. //FT89F001 DD DUMMY 

28. //FT90F001 DD SYSOUT-A 

29. //FT99F001 DD DUMMY 

30. // PEND 

31. //B EXEC PROC«ECOFOCPV«SET13FCLPV»SET03FSC=SOF 

32. // AR0»AR0142FEC0PCH"S02FINDF«178 

33. //STEP01.FT0SF001 DD * 

34. 0 

33. 0 

36. 0.3476 

37. 90 

38. 900 

39. 10*900 

40. 2 

41. 15 

42. 100 40 

43. 999999999 

44. /* 

COMMAND? 

3-14 
P.51 

The value for the scenario code, SC= , must be the same as the 

scenario code used in CALINT(BASEJCL), EC0N(JCL85), and CALINT(BASEJCL2). 

In the example, SC=S0. 

The NSPS input file is usually not the same file that is used in 

EC0N(JCL85). Section 2.1 explains the creation of this input file. The 

user stores the NSPS assumptions in NSPSDATA( ). The characters inside 

these parentheses are listed in line 32 in Figure 3-6, "AR0= ". In 

this example, the file to be used is NSPSDATA(AR0142). 

The value for INDF, an identification code, should be unique each time 

EC0N(JCL90) is run. It does not necessarily have to be the same as the 

value used for INDF in EC0N(JCL85). 

3.7 1990 IFCAM OUTPUT TABLES 

Figure 3-7 presents the file, TABLE(JCL90), with the necessary JCL to 

generate 1990 IFCAM output tables. Note line 5; where you want the output 

tables printed? 

Note line 25. The value for INDF must be the same value used for INDF 

in EC0N(JCL90). In this example, INDF=178. Line 32 must also contain the 

same value. The scenario code, SC, must also be identical to the scenario 

code used in EC0N(JCL90). In this example, SC=S0. 

In line 26 in Figure 3-7, the name of the NSPS file is the same as 

that used in EC0N(JCL90), line 32 in Figure 3-6. In this example, 

AR0=AR0142. 

The IFCAM output tables produced by TABLE(JCL90) are briefly summarized in Section 4.1. It is also possible to generate "briefing package 

output tables" (see Section 4.2). If this is desired for 1990 results, the 

value in line 30 in Figure 3-7 should be "1". If briefing package output 

tables are not desired, the value in line 30 in Figure 3-7 should be set to 

"3". 

3.8 BRIEFING PACKAGE OUTPUT TABLES 

IFCAM.AUXILIRY(BRIEFJCL), shown in Figure 3-8, is the name df the file 

with the JCL to run the briefing package output tables. 1990 IFCAM results 

can be compared for up to seven IFCAM runs (see Section 4.2). TABLE(JCL90) 

must be executed for each IFCAM run before the JCL in Figure 3-8 is run. 

Note line 3; where do you want to print these output tables? 

3-15 
P.52 

Figure 3-7. TABLE(JCL90) 

COMMAND? 

1. 

2 . 

3 . 

4 . 

3 . 

6 . 

7 . 

8 . 

9 . 

10. 

1 1 . 

12. 

13. 

14. 

15. 

16. 

17. 

18. 

19. 

2 0 . 

2 1 . 

2 2. 

2 3 . 

2 4. 

2 5 . 

2 6. 

2 7 . 

2 8. 

2 9 . 

3 0 . 

3 1 . 

3 2 . 

3 3 . 

COMMAND? 

1 

•r»dJnsp«.Ublt<Jcl90> ci r 

//PDJTAB90 JOB (NSPSSASDDINDFD098F30»30F50)F'TAB9090'FTIME-(1 ) 

//JOBLIB DD DSN«PDJNSPS.NSPSLIBFDISP»SH R 

/ / DD DSN«SYS1.VRENTUBFDISP»SH R 

/•CPUID EPA3 

/•ROUTE PRINT R020 

//TAB PROC 

//STEP01 EXEC PCM-&TABPCMFRECION>700K 

//FT06F001 DD SYSOUT»A 

//FT01F001 DO DSN»PDJNSPS.DEM(BO*SC.90)FDISP»SHR 

//FT03F001 DD DSN«PDJNSPS.DEM(BOCtSC.90)iDISP«SHR 

//FT04F001 DO DSN»PDJNSPS.DWIN*INDF.(BO90)FDISP«SHR 

//FT13F001 DD DSN'PDJNSPS.NSPSDATA(&ARO.)FDISP>SHR 

//FT20F001 DO DSN>PDJNSPS.RUN(INDF.(PARH90)FDISP-OLD 

//FT21F001 DD DSN>PDJNSPS.RUN&INDF.(PARH90)FDISP>SHR 

//FT30F001 DO DSN>PDJNSPS.NSPSDATA(COALS110)FDISP>SHR 

//FT91F001 DD SYSOUT-Ar 

// DCB*(RECFM-FBAFLRECL'133FBLKSIZE**1330) 

//FT90F001 DD SYSOUT=AF 

// DCB«(RECFM-FBAFLRECL»133»BLKSIZE"1330) 

//STEP01.FT30F001 DD DSN'PDJNSPS.STORE.TEST178t 

// DISP>(NEMFCATLCFDELETE)F 

// UNIT«DISKFSPACE-(TRKF(3F3))F 

// DCB*(RECFM>FBFLRECL-140FBLKSIZE»3640) 

// PEND 

//C EXEC PR0C-TABFINDF«178FSC*S0F 

// TABPCM»0UTPUTFAR0«AR0142 

//STEP01.FT03F001 DD • 

90 

1 

1 

110 

178 

/• 

3-16 
P.53 

Figure 3-8. IFCAM.AUXILIRY(BRIEFJCL) 

USE PAUL.IFCAM.AUXILIRY(BRIEFJCL) CLR 

COMMAND? L 

1. //PDJBRIEF JOB (NSPSSASDDINDFD098)FPASSWORD=APT»TIME=(»30) 

2. /*CPUID EPA3 

3. /*ROUTE PRINT R020 

4. //JOBLIB DD DSN=PDJNSPS.NSPSLIBFDISP=SHR 

5. //STEP01 EXEC PGM=XBRIEF 

6. //FT01F001 DD DSN=PDJNSPS.IFCAM.AUXILIRY(NOTES170)rDISP=SHR 

7. //FT20F001 DD DSN=PDJNSPS.RUN172(PARM90>FDISP=SHR 

8. // DD DSN=PDJNSPS.RUN173(PARM90)FDISP=SHR 

9. // DD DSN=PDJNSPS.RUN174(PARM90)FDISP=SHR 

10. // DD DSN=PDJNSPS.RUN177(PARM90)FDISP=SHR 

11. // DD DSN=PDJNSPS.RUN175(PARM90)FDISP=SHR 

12. // DD DSN=PDJNSPS.RUN176(PARM90)FDISP=SHR 

13. //FT25F001 DD DSN=PDJNSPS.NSPSDATA(AR0132)FDISP=SHR 

14. // DD DSN=PDJNSPS.NSPSDATA(AR0133)FDISP=SHR 

15. // DD DSN=PDJNSPS.NSPSDATA(AR0134)FDISP=SHR 

16. // DD DSN=PDJNSPS.NSPSDATA(AR0141)FDISP=SHR 

17. // DD' DSN=PDJNSPS.NSPSDATA(AR0139)FDISP=SHR 

18. // DD DSN=PDJNSPS.NSPSDATA(ARO140)FDISP=SHR 

19. //FT11F001 DD DSN=PDJNSPS.STORE.TEST170FDISP=SHR 

20. //FT12F001 DD DSN = PDJNSPS.STORE.TEST172FDISP=*SHR 

21. //FT13F001 DD DSN=PDJNSPS.STORE.TEST173FDISP=SHR 

22. //FT14F001 DD DSN=PDJNSPS.STORE.TEST174FDISP=SHR 

23. //FT15F001 DD DSN=PDJNSPS.STORE.TEST177FDISP=SHR 

24. //FT16F001 DD DSN=PDJNSPS.STORE.TEST175FDISP=SHR 

25. //FT17F001 DD DSN=PDJNSPS.STORE.TEST176FDISP=SHR 

26. //FT06F001 DD SYSOUT=A 

27. //FT05F001 DD * 

28. 7 1 

COMMAND? 

3-17 
P.54 

Line 6 is the name of a user-created file containing format statements. These statements contain comments that may summarize input assumptions or results. 

Lines 7 through 18 in Figure 3-8 are IFCAM EC0N(JCL90) input file 

names. They contain the assumptions for the six alternative NSPS. The 

base case NSPS assumptions are not included in this list. If there are 

less than six "Option Cases," only list the identification codes and NSPS 

file names for the Option Cases. List these file names in the correct 

order that you want them to appear in the output tables. List the file for 

Option Case 1, then Option Case 2, then Option Case 3, etc. 

Units 11 through 17 contain data generated from TABLE(JCL90). If 

there are seven IFCAM results to be compared, edit lines 19 through 25 to 

reflect the identification numbers (INDF) used in each TABLE(JCL90). The 

base case INDF is always put in line 13, Option Case 1 INDF in line 14, 

Option Case 2 INDF in line 15, etc. If there are less than seven IFCAM 

runs to be summarized, delete the unused lines. For example, if there are 

4 cases (Base Case and 3 Option Cases), edit lines 19 through 22 and delete 

lines 23 through 25. 

In Figure 3-8, the value for INDF for the Base Case is "170". Line 19 

contains the file name (the output file created by running TABLE(JCL90) 

with "INDF=170") "STORE.TEST170". Option Cases 1-6 have values for INDF 

of 172, 173, 174, 177, 175, and 176, respectively, in this example (lines 

7-12 and 20-25). The NSPS assumptions, in this example, for Option Cases 

1-6 have file names of AR0132, AR0133, AR0134, AR0141, AR0139, and AR0140, 

respectively. Consult TABLE(JCL90) to check the correct association 

between the value used for INDF and the NSPS assumptions file name. 

Line 22 contains the total number of cases (1-7) as the first item. 

There are "7" cases in this example. This item should be edited by the 

model user. Do not edit the second item in line 28 ("1"). 

3-18 
4. OUTPUT TABLES 

There are two IFCAM output table programs. The "regular" output 

tables present about 120 pages of aggregate summaries for each model run. 

The "briefing package" output tables present selected model results for 

several model runs on the same page and is about 35 pages long. The 

objectives and uses of each output table in the current table programs are 

described in this section. 

The fuel demand, air emissions, solid waste, water pollution, energy 

penalty, and non-fuel O&M cost projections are estimated annual values for 

the last year of the simulation period (e.g., 1990). The capital cost 

projections are total cost estimates for all new units installed during the 

simulation period. The annualized capital costs are calculated by multiplying total capital costs by a capital recovery factor, 0.13147 (based on 

a 10 percent discount rate and a 15-year period). The annualized fuel cost 

projections are derived using a 10 percent discount rate and a 15-year 

period of future fuel prices. 

4.1 REGULAR OUTPUT TABLES 

The first five output tables are auxiliary tables; these are followed 

by 19 output tables. The "auxiliary" output tables are Tables IX, Zero, 

00, and XVI. Table IX is a diagnostic table. Tables Zero, 00, and XVI are 

the only output tables containing projections for existing as well as new 

boilers. The output tables numbered "1" to "19" include model results only 

for new industrial boilers which are subject to the alternative NSPS. 

4.1.1 Table IX 

Table IX is the only output table which presents selected results for 

individual new industrial boilers. This table provides the model user with 

an indication of what the projected fuel mix is for new industrial fossil 

fuel-fired boilers by boiler size, capacity utilization rate and region. 

It also provides the model user with an indication of the order of magnitude of the cost data. 

4-1 
This table prints information for a single record by searching the 

IFCAM output file for unique combinations of boiler size, capacity utilization rate, region and fuel type. These "sample" records are sorted by 

size and capacity utilization rate. If a particular boiler size/capacity 

utilization rate/region combination is not listed in this table, then there 

were no new industrial boilers with those characteristics in this particular model run. For each boiler size/capacity utilization rate combination, 

the region may be listed not at all, once, or up to four times. If the 

region is listed only once, then all of the new boiler records with this 

combination chose the same fuel type (natural gas, distillate fuel oil, 

residual fuel oil, or coal). However, they did not all necessarily choose 

the same fuel quality. If the region is listed more than once for a single 

boiler size/capacity utilization rate combination, then some of the new 

boilers chose different fuel types. This is possible because not all of 

the new boilers in a given region have the same local air emissions standards and, therefore, can be expected to make different fuel choice decisions. 

The "fuel type" listed in this table is a three-digit code. The first 

digit of this three-digit code indicates the fuel type: 

• 1 - Natural gas 

t 2 - Distillate fuel oil 

• 3 - Residual fuel oil 

t 4 or 5 - Coal. 

There are four residual fuel oil types (301, 302, 303, and 304) and 11 coal 

types (11 coal types * 10 regions, numbered from 401-510)—fuel quality. 

This table prints an example of each fuel type, but not each unique fuel 

quality selected (e.g., only one of the coal types, not an example of each 

coal type). See Table 4-1. 

Table IX lists the pollution control equipment selected for each of 

the sample new boiler records. Table 4-2 summarizes the pollution control 

equipment codes used in Table IX. 

Sample cost data are also printed in Table IX. This data can help the 

model user determine if the cost data in the model are appropriate. The 

total capital (excluding interest during construction estimates) and annual 

0&M (excludes fuel) costs include boiler and pollution control equipment 

costs. 

4-2 
TABLE 4-1. FUEL TYPE CODES IN TABLE IX 

Code Fuel Type 

100 

200 

301 

302 

303 

304 

401-411 

412-422 

423-433 

434-444 

445-455 

456-466 

467-477 

478-488 

489-499 

500-510 

First coal (e.g., 467) 

Second coal (e.g., 468) 

Third coal (e.g., 469) 

Fourth coal (e.g., 470) 

Fifth coal (e.g., 471) 

Natural gas 

Distillate fuel oil 

Residual fuel oil 3.0 percent sulfur 

Residual fuel oil 1.6 percent sulfur 

Residual fuel oil 0.8 percent sulfur 

Residual fuel oil 0.3 percent sulfur 

Coal, Federal region 1 

Coal, Federal region 2 

Coal, Federal region 3 

Coal, Federal region 4 

Coal, Federal region 5 

Coal, Federal region 6 

Coal, Federal region 7 

Coal, Federal region 8 

Coal, Federal region 9 

Coal, Federal region 10 

Not used 

Bituminous, <1.08 lb S02/MMBtu 

Bituminous, 1.08-1.67 lb S02/MMBtu 

Bituminous, 1.67-2.50 lb S02/MMBtu 

Bituminous, 2.50-3.33 lb S02/MMBtu 

4-3 
P.58 

TABLE 4-1. FUEL TYPE CODES IN TABLE IX (cont'd) 

Code Fuel Type 

Sixth coal (e.g., 472) 

Seventh coal (e.g., 473) 

Eighth coal (e.g., 474) 

Ninth coal (e.g., 475) 

Tenth coal (e.g., 476) 

Eleventh coal (e.g., 477) 

Bituminous, 3.33-5.00 lb S02/MMBtu 

Bituminous, >5.00 lb S02/MMBtu 

Not used 

Subbituminous, <1.08 lb S02/MMBtu 

Subbituminous, 1.08-1.67 lb S02/MMBtu 

Subbituminous, 1.67-2.50 lb S02/MMBtu 

4-4 
P.59 

TABLE 4-2. POLLUTION CONTROL EQUIPMENT CODES IN TABLE IX 

Code SO, PM NO. 

1 

2 

3 

4 

5 

Dual alkali FGD/SMCd 

Dual alkali FGD 

Sodium throwaway FGD 

t 

Lime spray drying FGD 

Fabric filter 

ESP (coal) 

ESP (resid) 

Code not used 

Dual mechanical 

collector 

Single mechanical 

collector 

Side stream separator 

Low excess air 

Staged combustion air 

Combined S0?/PM emissions control technology. Includes a single mechanical collector (SMC). 

'Combined S02/PM emissions control technology. Includes a fabric filter. 

4-5 
P.60 

4.1.2 Table Zero 

Table Zero presents the total projected industrial fossil fuel-fired 

boiler energy demand by industry group, region, fuel type, and sector. 

There are three sectors: 

• "Ex. 1974" - boilers installed before 1975, 

• "Old NSPS" - boilers installed after 1974 and before 1986, 

• "ARO" - boilers installed after 1985 and subject to the alternative NSPS (alternative regulatory option). 

4.1.3 Table 00 

Table 00 corresponds with Table Zero but includes only industrial 

boilers larger than 100 MMBtu/hr. 

4.1.4 Table XVI 

Table XVI presents total industrial fossil fuel-fired boiler projected 

air emissions by region, pollutant and sector. 

4.1.5 Title Page 

This page summarizes some of the key model run assumptions. The date, 

time and run ID# are calculated automatically. However, the "Run Background Information" is not calculated automatically and revisions must be 

made to the output table program source code. 

4.1.6 Industrial Boiler NSPS Assumptions 

This table lists the alternative NSPS assumptions. 

4.1.7 Remaining Output Tables 

The major features of the remaining output tables (1 through 19) are 

summarized in Table 4-3. Tables 1 through 19 include information only for 

new industrial boilers which are subject to the alternative NSPS. They do 

not include aggregate data on existing boilers. 

These output tables are self-explanatory. However, a few notes are 

necessary. 

t Table 5 

- "Particulate Control - Mult. Cyclone" includes the single 

and dual mechanical collectors. 

- "Particulate Control - Mult. Cyclone" does not include the 

single mechanical collector in "FGD - Dbl Alkali/M Col." 

4-6 
P.61 

TABLE 4-3. DIRECTORY OF IFCAM OUTPUT TABLES 

Boiler Capacity Pollution 

Table Size Utilization Fuel Industry Control 

Category No. Class Rate Type Region Pollutant Group Equipment 

Air emissions 

Average air 

emissions rates 

Pollution control 

equipment 

Water pollution 

Solid waste 

Fuel demand 

Number of 

new boilers 

Energy penalty 

Costs 

1. 

3. 

3A.-3E. 

17. 

2. 

4. 

5. 

6. 

7.7A. 

8. 

8A.-8E. 

9. 

11A.-11F. 

12A..12B. 

15. 

10. 

16. 

13..13A. 

14. 

14A. 

18. 

19. 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

4-7 
- "Particulate Control - Fabric Filter" does not include the 

fabric filter in "FGD - Lime Spray Dry." 

• Table 11 

- "Compliance" coal is burned in a boiler without a scrubber. 

- "Noncompliance" coal is burned in a boiler with a scrubber. 

• Table 13 

- Energy penalty estimates for'"NOx

 Contro1 " Low Excess Air" 

are negative because fuel savings are represented as a 

negative O&M cost in the pollution control cost algorithms. 

4.2 BRIEFING PACKAGE OUTPUT TABLES 

The "briefing package" report presents model results for multiple 

(up to seven) IFCAM runs side-by-side. These tables highlight national and 

regional model results. Aggregate results are compared for: 

• Air emissions by pollutant (S02, PM, and NO ) , Federal region, 

fuel type, and boiler size 

• Annual fuel demand by fuel type, Federal region, and boiler size 

• Costs by fuel type, Federal region, and boiler size 

The Base Case is usually presented first (first row or column in the 

table). This usually represents the status quo (current NSPS). Alternative NSPS cases are labeled as Option Case 1, Option Case 2, . . . 

The briefing package output tables have been the primary IFCAM computer output product presented to EPA. The regular output tables are long 

and are used for diagnostic purposes as well as to meet special requests 

for specific output details. 

The briefing package output tables present a subset of the information 

contained in the regular output tables. The briefing package output tables 

can be considered an "executive summary" of the regular output tables. 

The briefing package output tables present aggregate results only for 

new industrial boilers installed after 1985. They do not include aggregate 

data on existing boilers. 

4-8