8.2.7. PTHOUR: Point source hour-specific emissions

8.2.7.1. Date range setting
8.2.7.2. EMS-95 Format
8.2.7.3. CEM hour-specific format

The PTHOUR file is the input point-source inventory file for hour-specific data and profiles. The file must be a list file (see Section 8.2.1.1, “Inventory list files” and the files listed in the PTHOUR file must be in either EMS-95 format or Continuous Emissions Monitoring (CEM) format. Each file must have an format identifier (either #EMS-95 or #CEM) or the format can be specified in the PTHOUR list file (#LIST EMS-95 or #LIST CEM). The contents of the hour-specific data files vary depending on whether the PTINV file is in EMS-95 or IDA format. In addition, these files can have a #COUNTRY entry to set the country code (see Section 8.2.1.4, “Header records”. The default country code is 0, which corresponds to the United States in the default COSTCY file.

8.2.7.1. Date range setting

The PTHOUR file may optionally contain a packet to control the range of dates for which Smkinven will read data. When this feature is needed, the following entry should appear on the first line of the PTHOUR file.

DATERANGE MMDD(start) MMDD(end)

where MMDD is the two-digit month and day of the month at the start and end of the period of interest. For example, to request July 10th through 12th, the first line of the file should read:

DATERANGE 0710 0712

The year is implied by the data themselves; note that the files can only contain data for a single year. As an alternative to using the DATERANGE packet, you can manually break the year up into smaller periods in separate files, and only list the files of interest in the PTHOUR file. Note that reading in the whole year of data and extracting just a few days will take much more time than manually editing the file to contain just the days of interest. Also note that if you choose the manual editing option, you must select days that fully cover the modeling episode after accounting for time zone differences between the facility’s time zone and the modeling time zone (set by the OUTZONE option).

8.2.7.2. EMS-95 Format

For EMS-95 formatted data, SMOKE requires that the sources in the PTHOUR file also be in the PTINV file. The values of the fields that are common to the hour-specific data and the annual data need to match exactly. These fields are Facility ID, Stack ID, Device ID, and Process ID. These fields are treated as text fields (not numeric) in SMOKE, so leading zeros need to be consistent between the hour-specific and annual or average-day inventory files.

To process pollutant names greater than 5 characters, you need to add the new field of inventory pollutant code known as CAS number from column 261 to 276. If this new field is filled, the POLID is not used. If the new field is not filled, the POLID is required to use the inventory data name. The CAS number will be used to distinguish which chemical compound or inventory pollutant is provided on each line of the file. Smkinven matches these numbers with teh CAS numbers from an inventory table (INVTABLE) file, described in Section 8.10.3, “INVTABLE: Inventory table”. The CAS number does not necessarily have to be a valid CAS number; it can be any number as long as there is a match between the numbers in the SMOKE ORL file and the inventory table.

When using hour-specific data in EMS-95 format with the IDA annual inventory, the fields in the PTHOUR file should line up with the fields in the PTINV file as follows:

  • PTHOUR Facility ID (FCID) maps to PTINV PLANTID

  • PTHOUR Stack ID (SKID) maps to PTINV POINTID

  • PTHOUR Device ID (DVID) maps to PTINV STACKID

  • PTHOUR Process ID (PRID) maps to PTINV SEGMENT

  • PTHOUR SCC (implied by Process ID in EMS-95 process file) maps to PTINV SCC

The EMS-95 format for hour-specific data is shown in Table 8.42, “EMS-95 Format for individual hour-specific files”.

Table 8.42. EMS-95 Format for individual hour-specific files

Position Name Type Description
1-2 STID Int State Code (required)
3-5 CYID Int County Code (required)
6-20 FCID Char Facility ID (a.k.a. plant ID) (required)
21-32 SKID Char
If PTINV in EMS-95 format: Stack ID (required)
If PTINV in IDA format: Point ID
33-44 DVID Char
If PTINV in EMS-95 format: Device ID (required)
If PTINV in IDA format: Stack ID
45-56 PRID Char
If PTINV in EMS-95 format: Process ID (required)
If PTINV in IDA format: Segment
57-61 POLID Char Pollutant name (required)
62-69 DATE Char Date in MM/DD/YY format. Years less than 70 are treated as century 2000 (required)
70-72 TZONNAM Char Time zone name associated with emissions data. Valid entries are GMT, ADT, AST, EDT, EST, CDT, CST, MDT, MST, PDT, and PST. (required)
73-79 HRVAL1 Real Hourly emissions for hour 1 (short tons/hour) (required)
80-86 HRVAL2 Real Hourly emissions for hour 2 (short tons/hour) (required)
87-93 HRVAL3 Real Hourly emissions for hour 3 (short tons/hour) (required)
...      
234-240 HRVAL24 Real Hourly emissions for hour 24 (short tons/hour) (required)
241-248 DAYTOT Real Daily emissions total (short tons/day)
250-259 SCC Char Only if PTINV in IDA format: SCC (required).
261-276 DATNAM Char Inventory Pollutant Code (16-characters) (optional) that matches same column of Inventory Table. It is the name of the pollutants used in the RAW IDA or ORL inventory files. This field should be used instead of the "POLID" field when pollutant anmes are longer than 5 characters. If this field is filled, POLID is not used.

8.2.7.3. CEM hour-specific format

The CEM hour-specific format can only be used with IDA-formatted annual inventory files. SMOKE uses the CEM ORIS ID and Boiler ID fields to match sources in the CEM hour-specific inventory to those in the IDA-formatted annual inventory. Note that the CEM data hours are in standard local time (no daylight saving time adjustment). The format of the CEM hour-specific data is shown in Table 8.43, “CEM Format for individual hour-specific data files”.

Table 8.43. CEM Format for individual hour-specific data files

Position Name Type Description
A ORISID Char (6) DOE Plant ID (required) (should match the same field in the PTINV file in IDA format)
B BLRID Char (6) Boiler Identification Code (required) (should match the same field in the PTINV file in IDA format)
C YYMMDD Int Date of data in YYMMDD format (required)
D HOUR Integer Hour value from 0 to 23
E NOXMASS Real Nitrogen oxide emissions (lb/hr) (required)
F SO2MASS Real Sulfur dioxide emissions (lb/hr) (required)
G NOXRATE Real Nitrogen oxide emissions rate (lb/MMBtu) (not used by SMOKE)
H OPTIME Real Fraction of hour unit was operating (optional)
I GLOAD Real Gross load (MW) (optional)
J SLOAD Real Steam load (1000 lbs/hr) (optional)
K HTINPUT Real Heat input (mmBtu) (required)
L HTINPUTMEASURE Character(2) Code number indicating measured or substituted, not used by SMOKE.
M SO2MEASURE Character(2) Code number indicating measured or substituted, not used by SMOKE.
N NOXMMEASURE Character(2) Code number indicating measured or substituted, not used by SMOKE.
O NOXRMEASURE Character(2) Code number indicating measured or substituted, not used by SMOKE.
P UNITFLOW Real Flow rate (ft3/sec) for the Boiler Unit (optional; must be present for all records or not any records – not yet used by SMOKE)

The code numbers used in columns L through O have the following meanings:

  • 01 = 'Measured'
  • 02 = 'Calculated'
  • 03 = 'Substitute'
  • 04 = 'Measured and Substitute'
  • 97 = 'Not Applicable'
  • 98 = 'Undetermined'
  • 99 = 'Unknown Code'