DRAFT

ECMPS Monitoring Plan
Check Specifications

United States Environmental Protection Agency
Office of Air and Radiation
Clean Air Markets Division

Ariel Rios Building
1200 Pennsylvania Avenue
Washington, DC 20460

December 12, 2012


-------
Table of Contents

Capacity	1

Component and Associated Data	8

Control	50

Default and WAF	62

Formula	111

Fuel	136

Fuel Flow	149

Load	162

Location	186

Method	227

Monitoring Plan	291

Program	301

Qualification	308

Span	346

System	384


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Capacity

Environmental Protection Agency

Page 1 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	CAPAC-1

Check Name:	Unit Capacity Dates Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a UnitCapacity record:

If BeginDate and EndDate are valid,

If the EndDate is not null and the BeginDate is after the EndDate,

set Unit Capacity Dates Consistent to false and return result A.

Otherwise,

set Unit Capacity Dates Consistent to true.

Otherwise,

set Unit Capacity Dates Consistent to false.

Results:

Result	Response	Severity

A	You reported [datefield2] which is prior to [datefieldl] for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Capacity Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation

Environmental Protection Agency

Page 2 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	CAPAC-2

Check Name:	Unit Capacity End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitCapacityData record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Capacity Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation

Environmental Protection Agency

Page 3 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CAPAC-3

Check Name:	Unit Capacity Maximum Heat Input Capacity Valid

Related Former Checks:

Applicability:	LME Check

Description:

Specifications:

For the UnitCapacityData record:

If the MaximumHourlyHeatlnputCapacity is null,
return result A.

Else if the MaximumHourlyHeatlnputCapacity is less than or equal to 1,
return result B.

Else if the MaximumHourlyHeatlnputCapacity is greater than or equal to 20,000,
return result C.

Results:

Result
A
B
C

Response

You have not reported the required value in the field [fieldname] for [key].
You defined an invalid [fieldname] for [key]. This value must be greater than zero.

Severity
Fatal

Critical Error Level 1
Critical Error Level 1

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Unit Capacity Evaluation

Conditions:	Current Unit Capacity Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation

Environmental Protection Agency

Page 4 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	CAP ACM

Check Name:	Unit Capacity Record Active

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a UnitCapacityData record with consistent Dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Unit Capacity Active to false.

Otherwise,

set Unit Capacity Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Unit Capacity Evaluation Begin Date to the Evaluation Begin Date.

Otherwise,

set the Unit Capacity Evaluation Begin Date to the BeginDate.

If the EndDate is null or is after the Evaluation End Date,

set the Unit Capacity Evaluation End Date to the Evaluation End Date.

Otherwise,

set the Unit Capacity Evaluation End Date to the EndDate.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Capacity Evaluation

Environmental Protection Agency

Page 5 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

CAPAC-5

Unit Capacity Begin Date Valid

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the UnitCapacityData record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1930 or later than Maximum Future Date,
return result B.

If either the Commence Operation Date or Commercial Operation Date of the unit is not null, and the BeginDate is prior to the
earlier of the Commence Operation Date or Commercial Operation Date,

return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

You reported a BeginDate of [date], which is earlier than the date reported as the
commence operation (CO) or commence commercial operation (CCO) date. If the CO
date was reported as the capacity begin date but you have only reported the CCO date to
CAMD, use the CCO date as the BeginDate to eliminate this error.

Severity

Critical Error Level 1
Critical Error Level 1

C

Non-Critical Error

Usage:

Process/Category: Monitoring Plan Evaluation Report	Unit Capacity Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation

Environmental Protection Agency

Page 6 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

CAPAC-6

Check Name:

Duplicate UnitCapacity Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a UnitCapacity record with a valid Begin Date:

Locate another UnitCapacity record for the unit with a BeginDate that is equal to the BeginDate in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null,

Locate another UnitCapacity record for the unit with an EndDate that is equal to the EndDate in the current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation

Environmental Protection Agency

Page 7 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Component and Associated Data

Environmental Protection Agency

Page 8 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-3

Check Name:

System Component Begin Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a System Component record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation

Environmental Protection Agency

Page 9 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-4

Check Name:	System Component Begin Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a System Component record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

Results:

Result	Response Severity

A	You have not reported the required value in the field [fieldname] for [key].	Fatal

B	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1
for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation

Environmental Protection Agency

Page 10 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-5

Check Name:	System Component End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a System Component record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1
for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation

Environmental Protection Agency

Page 11 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-6

Check Name:	System Component End Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a System Component record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1
for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation

Environmental Protection Agency

Page 12 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-7

Check Name:	System Component Dates and Hours Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a System Component record:

If the EndDate is valid and not null, and the EndHour is null,

set System Component Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set System Component Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set System Component Dates and Hours Consistent to false, return result C.

Otherwise,

set System Component Dates and Hours Consistent to true.

Otherwise,

set System Component Dates and Hours Consistent to false.

Results:

Result	Response

A	You reported [datefield2] but did not report an [hourfield2] for [key].

B	You reported [hourfield2] but did not report [datefield2] for [key].

C	You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 13 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-8

Check Name:

Component ID Valid

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Component record:

If the ComponentID is null,
return result A.

If the ComponentID does not consist of 3 alphanumeric characters:
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
The ComponentID [ID] has an invalid format. A ComponentID must contain three
alphanumeric characters.

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Component Evaluation

Current Component Active Equals true

Monitoring Plan Data Entry Screen Evaluation Component Evaluation

Environmental Protection Agency

Page 14 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-IO

Check Name:	Component Serial Number Valid

Related Former Checks: NBP-20

Applicability:	General Check

Description:

Specifications:

For a Component record with a valid ComponentTypeCode:

If the SerialNumber is null, and the ComponentTypeCode is not equal to "BGFF", "BOFF", "TANK", "DAHS", "DL", "PLC",
"FLC", or "TRAP",

return result A.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Component Evaluation

Conditions:	Current Component Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Component Evaluation

Environmental Protection Agency

Page 15 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-11

Check Name:	Component Manufacturer Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Component record with a valid ComponentTypeCode:

If the Manufacturer is null, and the ComponentTypeCode is not equal to "BGFF", "BOFF", or "TANK",
return result A.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Component Evaluation

Conditions:	Current Component Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Component Evaluation

Environmental Protection Agency

Page 16 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-12

Check Name:

Component Type Code Valid

Related Former Checks:
Applicability:

General Check

Description:

Validation Tables:

Component Type Code (Complex Lookup Table)

Component Type Code (Complex Lookup Table)

Specifications:

For the Component record:

If the ComponentTypeCode is null,
return result A.

Otherwise,

Locate ComponentTypeCode in the Component Type Code Lookup Table.

If not found,

return result B.

If found,

Locate a Used Identifier record for the location where the Table Code is equal to "C" and the Identifier is equal to
the Component ID in the Component record.

If found,

If the ComponentTypeCode is not equal to the Type or Parameter Code in the retrieved record,
return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have changed the ComponentTypeCode for [key] from its previously reported
value. You should only do this to correct invalid data. If you are installing a component
with a different component type, you should add a new component.

Severity
Fatal

Critical Error Level

C

Critical Error Level 2

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Component Evaluation

Current Component Active Equals true

Monitoring Plan Data Entry Screen Evaluation Component Evaluation

Environmental Protection Agency

Page 17 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-13

Check Name:

Component Sample Acquisition Method Code Valid

Related Former Checks: NBP-19

Applicability:

General Check

Description:

Validation Tables:

Acquisition Method Code (Lookup Table)

Component Type and Basis to Sample Acquisition Method (Cross Check Table)
Acquisition Method Code (Lookup Table)

Component Type and Basis to Sample Acquisition Method (Cross Check Table)
Specifications:

For a Component record with a valid ComponentTypeCode and BasisCode:

If the SampleAcquisitionMethodCode is null,

Locate a record in Component Type and Basis to Sample Acquisition Method cross check table for the
ComponentTypeCode and the BasisCode and SampleAcquisitionMethodCode in the current Monitor Component record.

If not found,

return result A.

Locate SampleAcquisitionMethodCode in the Sample Acquisition Method Code Lookup Table.

If not found,

return result B.

Otherwise,

If the ComponentTypeCode is equal to "S02", "NOX", "C02", "02", "PRB", "HG", or "PM",
set GenericComponentType to "CONC".

If the ComponentTypeCode is equal to "OFFM", "GFFM", "BOFF", "BGFF", "DP", "TEMP", "PRES", "FLC",
"GCH", "MS", or "CALR",

set GenericComponentType to "FUELFLOW".

Otherwise,

set GenericComponentType to ComponentTypeCode.

If the BasisCode is equal to "B" or the ComponentTypeCode is equal to "FLOW", "PRB" or "PM",

Locate a record in Component Type and Basis to Sample Acquisition Method cross check table for the
GenericComponentType and the SampleAcquisitionMethodCode in the Component record.

If not found,

return result C.

Locate a record in Component Type and Basis to Sample Acquisition Method cross check table for the
GenericComponentType and the BasisCode and SampleAcquisitionMethodCode in the Component record.

If not found,

return result C.

Otherwise,

Otherwise,

Environmental Protection Agency

Page 18 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result	Response

A	You did not provide [fieldname], which is required, for [key].

B	You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

C	You reported a Sample Acquisition Method Code of [value] for [key], which is not

appropriate for the component type and basis.

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Component Evaluation

Conditions:	Current Component Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Component Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 19 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-14

Check Name:	Component Basis Code Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Component record with a valid ComponentTypeCode:

If the ComponentTypeCode is equal to "NOX", "S02", "C02", "02", "FLOW", "HG", or "GFM",

If the BasisCode is null,
return result A.

If the BasisCode is not equal to "W", "D", or "B",
return result B.

If ComponentTypeCode is equal to "FLOW" and BasisCode is not equal to "W",
return result B.

If ComponentTypeCode is equal to "GFM" and BasisCode is not equal to "D",
return result B.

If the BasisCode is equal to "B" and the ComponentTypeCode is not equal to "02",
return result B.

If the BasisCode is not equal to "B",

Locate a Used Identifier record for the location where the Table Code is equal to "C" and the Identifier is equal to
the Component ID in the Component record.

If found and the Formula or Basis Code is not null,

If the BasisCode is not equal to the Formula or Basis Code in the retrieved record,
return result C.

Otherwise,

If the BasisCode is not null,
return result D.

Results:

Result

A

B

C

D

Response

You did not provide [fieldname], which is required, for [key].

You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

You have changed the moisture basis for [key] from its previously reported value. You
should only do this to correct invalid data. If you are installing a component with a
different moisture basis, you should add a new component.

You reported an invalid BasisCode for [key]. A BasisCode is not appropriate for a
[component type] component.

Severity

Critical Error Level 1
Critical Error Level 1

Informational Message

Critical Error Level 1

Usage:

1

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Component Evaluation

Current Component Active Equals true

Monitoring Plan Data Entry Screen Evaluation Component Evaluation

Environmental Protection Agency

Page 20 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

COMPON-16

Analyzer Range Code Valid

Related Former Checks:
Applicability:

CEM Check

Description:

Validation Tables:

Analyzer Range Code (Lookup Table)

Analyzer Range Code (Lookup Table)

Specifications:

For an Analyzer Range record:

If the AnalyzerRangeCode is null,
return result A.

If the AnalyzerRangeCode is not in the Analyzer Range Code Lookup Table,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Current Analyzer Range Active Equals true

Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 21 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-18

Check Name:

Analyzer Range Begin Date Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For an Analyzer Range record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 22 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-19

Check Name:	Analyzer Range Begin Hour Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For an Analyzer Range record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

Results:

Result	Response Severity

A	You have not reported the required value in the field [fieldname] for [key].	Fatal

B	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1
for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 23 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	COMPON-20

Check Name:	Analyzer Range End Date Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For an Analyzer Range record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 24 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	COMPON-21

Check Name:	Analyzer Range End Hour Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For an Analyzer Range record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 25 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-22

Check Name:	Analyzer Range Dates and Hours Consistent

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For an Analyzer Range record:

If the EndDate is valid and not null, and the EndHour is null,

set Analyzer Range Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set Analyzer Range Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set Analyzer Range Dates and Hours Consistent to false, return result C.

Otherwise,

set Analyzer Range Dates and Hours Consistent to true.

Otherwise,

set Analyzer Range Dates and Hours Consistent to false.

Results:

Result
A
B
C

Usage:

1

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Process/Category: Monitoring Plan Evaluation Report ¦

¦ Component Analyzer Range Evaluation

1

Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 26 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-26

Check Name:	Component Active Status

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Component record:

Locate all System Component records for the component with an EndDate that is null or an EndDate that is on or after the
BeginDate, a BeginDate that is on or before the Evaluation End Date, and an End Date that is null or is on or after the Evaluation
Begin Date:

If not found,

set Current Component Active to false.

Locate any System Component record for the component.

If not found,

return result A.

If found,

set Current Component Active to true.

If the BeginDate/Begin Hour is later than the EndDate/EndHour in any retrieved record,
set Component Dates and Hours Consistent to false.

Otherwise,

set Component Dates and Hours Consistent to true.

If the earliest BeginDate of the retrieved records is on or after the Evaluation Begin Date,
set Component Evaluation Begin Date to the BeginDate.
set Component Evaluation Begin Hour to the BeginHour.

Otherwise,

set Component Evaluation Begin Date to the Evaluation Begin Date,
set Component Evaluation Begin Hour to 0.

If the End Date of any of the retrieved records is null,

set Component Evaluation End Date to the Evaluation End Date,
set Component Evaluation End Hour to 23.

Otherwise,

If the latest EndDate in the retrieved records is on or before the Evaluation End Date,
set Component Evaluation End Date to the EndDate.
set Component Evaluation End Hour to the EndHour.

Otherwise,

set Component Evaluation End Date to the Evaluation End Date,
set Component Evaluation End Hour to 23.

Results:

Result	Response	Severity

A	The component for [key] has not been linked to any system.	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Evaluation

Environmental Protection Agency

Page 27 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-30

Check Name:	Required Analyzer Range Reported for Component

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Component record with a ComponentTypeCode equal to "S02", "NOX", "C02", "02", or "HG", and consistent dates:

Locate all Component Analyzer Range records for the component with a BeginDate and BeginHour that is on or before the
Component Evaluation End Date and End Hour and an EndDate that is null or and EndDate and EndHour that is on or after the
Component Evaluation Begin Date and Begin Hour.

If not found

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved analyzer range records do not span the entire
component evaluation period,
return result B.

Results:

Result	Response	Severity

A	You have not reported an analyzer range record that was active during the evaluation Critical Error Level 1

period for [key].

B	You have not reported an active analyzer range record for [key] to span the entire	Critical Error Level 1

evaluation period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Evaluation

Conditions:	Current Component Active Equals true

Environmental Protection Agency

Page 28 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-33

Check Name:	System and Component Dates Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a valid System Component record with consistent dates and an associated Monitoring System record with consistent dates:

If the BeginDate in the current Monitoring System record is after the BeginDate in the current SystemComponent record
return result A.

If the BeginDate in the current Monitoring System record is equal to the BeginDate in the current SystemComponent record, and the

BeginHour in the current Monitoring System record is after the BeginHour in the current SystemComponent record,
return result A.

If the EndDate in the current Monitoring System record is not null, and the EndDate in the current SystemComponent record is null,
return result A.

If the EndDate in the current Monitoring System record is prior to the EndDate in the current SystemComponent record,
return result A.

If the EndDate in the current Monitoring System record is equal to the EndDate in the current SystemComponent record, and the
EndHour in the current Monitoring System record is prior to the EndHour in the current SystemComponent record,
return result A.

Results:

Result	Response	Severity

A	The Start and End Date/Hour for [key] is inconsistent with the Start and End Date/Hour Critical Error Level 1

for the associated monitoring system.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

Conditions:	Current System Component Active Equals true

Environmental Protection Agency

Page 29 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-34

Check Name:

Required Second Component Reported for Dual Range Analyzer

Related Former Checks:
Applicability:

CEM Check

Description:

Specifications:

For an Analyzer Range record with an AnalyzerRangeCode equal to "H" or "L" and a DualRangelndicator equal to 1:
If the AnalyzerRangeCode is equal to "H",

Locate an AnalyzerRange record for the location with a ComponentTypeCode equal to the ComponentTypeCode in the
current Component record, an Analyzer Range Code equal to "L", a DualRangelndicator equal to 1, a BeginDate and
BeginHour that is on or before the Analyzer Range Evaluation End Date and End Hour, and an EndDate that is null or an
EndDate and EndHour that is on or after the Analyzer Range Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If none of the retrieved records has a Component Serial Number (minus the string "HI" or "HIGH") equal to the
Component Serial Number of the current record (minus the string "LO" or "LOW"),
return result B.

If the BeginDate, BeginHour, EndDate, and EndHour of the matching record is not equal to the BeginDate,
BeginHour, EndDate, and EndHour of the current record,
return result C.

If the AnalyzerRangeCode is equal to "L",

Locate an AnalyzerRange record for the location with a ComponentTypeCode equal to the ComponentTypeCode in the
current Component record, an Analyzer Range Code equal to "H", a DualRangelndicator equal to 1, a BeginDate and
BeginHour that is on or before the Analyzer Range Evaluation End Date and End Hour, and an EndDate that is null or an
EndDate and EndHour that is on or after the Analyzer Range Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If none of the retrieved records has a Component Serial Number (minus the string "HI" or "HIGH") equal to the
Component Serial Number of the current record (minus the string "LO" or "LOW"),
return result B.

If the BeginDate, BeginHour, EndDate, and EndHour of the matching record is not equal to the BeginDate,
BeginHour, EndDate, and EndHour of the current record,
return result C.

If found,

If found,

Environmental Protection Agency

Page 30 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C

Usage:

1

Response	Severity

You reported [key] as the [range] range of a dual-range analyzer, but you did not report Critical Error Level 1
another dual-range [component] component that was active during the evaluation period
with the alternate analyzer range.

You reported [key] as the [range] range of a dual-range analyzer, but you did not report Critical Error Level 1

a [component] component with the same (or similar) serial number as the alternate-range

analyzer.

You reported [key] as the [range] range of a dual-range analyzer, but you did not report
the same start and end dates/hour in the alternate-range analyzer range record.

Critical Error Level 1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report
Current Analyzer Range Active Equals true

¦ Component Analyzer Range Evaluation

Environmental Protection Agency

Page 31 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-37

Check Name:	Dual Range Indicator Consistent with Analyzer Range Code

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For an Analyzer Range record:

If DualRangelndicator is null,
return result A.

Otherwise,

If AnalyzerRangeCode equal to "A" and the DualRangelndicator is not equal to 1,
return result B.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

B	You have not reported a dual range indicator of " 1" for [key], even though the analyzer Critical Error Level 1

range code indicates that this component is a dual-range analyzer.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Conditions:	Current Analyzer Range Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 32 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

COMPON-38

Analyzer Range Active Status

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For an Analyzer Range record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current Analyzer Range Active to false.

Otherwise,

set Current Analyzer Range Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Analyzer Range Evaluation Begin Date to the Evaluation Begin Date,
set the Analyzer Range Evaluation Begin Hour to 0.

Otherwise,

set the Analyzer Range Evaluation Begin Date to the BeginDate.
set the Analyzer Range Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the Analyzer Range Evaluation End Date to the Evaluation End Date,
set the Analyzer Range Evaluation End Hour to 23.

Otherwise,

set the Analyzer Range Evaluation End Date to the EndDate.
set the Analyzer Range Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Environmental Protection Agency

Page 33 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-39

Check Name:	System Component Active Status

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a System Component record:

If System Component Dates and Hour Consistent is equal to true,

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current System Component Active to false.

Otherwise,

set Current System Component Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the System Component Evaluation Begin Date to the Evaluation Begin Date,
set the System Component Evaluation Begin Hour to 0.

Otherwise,

set the System Component Evaluation Begin Date to the BeginDate.
set the System Component Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the System Component Evaluation End Date to the Evaluation End Date,
set the System Component Evaluation End Hour to 23.

Otherwise,

set the System Component Evaluation End Date to the EndDate.
set the System Component Evaluation End Hour to the EndHour.

Otherwise,

set Current System Component Active to false.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

Environmental Protection Agency

Page 34 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-44

Check Name:

Required Formula Reported for System and Component

Related Former Checks: ARP-5, NBP-28

Applicability:
Description:

General Check

Validation Tables:

Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table)
System Type to Formula Parameter (Cross Check Table)

Specifications:

For a valid System Component record with consistent dates and a valid SystemTypeCode in the associated Monitor System record:

If the associated SystemTypeCode is equal to "C02",

Locate the earliest Method record for the location with a ParameterCode equal to "C02", a BeginDate and BeginHour on or
before the System Component Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and
EndHour that is on or after the System Component Evaluation Begin Date and Begin Hour.

If the associated SystemTypeCode is equal to "C02" and a Method record was retrieved above,

If the ComponentTypeCode in the System Component record is equal to "C02",

Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table
where the ParameterCode is equal to "C02" or "HI", and the ComponentTypeAndBasis equal to the associated
concatenated ComponentTypeCode + BasisCode in the System Component record.

Locate all Formula records for the location with a ParameterCode + FormulaCode equal to the
ParameterCode + FormulaCode in any of the retrieved cross check records, a BeginDate and BeginHour on
or before the earlier of the System Component Evaluation End Date and End Hour and the EndDate and
EndHour in the method record, and an EndDate that is null or and EndDate and EndHour that is on or after
the later of the System Component Evaluation Begin Date and Begin Hour and the BeginDate and
BeginHour of the method record.

If not found,

set Parameter Code/Formula Code(s) to Missing Formula for Component.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not
span the evaluation period (in the above locate statement),

set Parameter Code(s)/Formula Code(s) to Incomplete Formula for Component.

If the ComponentTypeCode in the System Component record is equal to "02",

Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table
where the ParameterCode is equal to "C02C" or "HI", and the ComponentTypeAndBasis equal to the associated
concatenated ComponentTypeCode + BasisCode in the System Component record.

Locate all Formula records for the location with a ParameterCode + FormulaCode equal to the
ParameterCode + FormulaCode in any of the retrieved cross check records, a BeginDate and BeginHour on
or before the earlier of the System Component Evaluation End Date and End Hour and the EndDate and
EndHour in the method record, and an EndDate that is null or and EndDate and EndHour that is on or after
the later of the System Component Evaluation Begin Date and Begin Hour and the BeginDate and
BeginHour of the method record.

If found,

If found,

Environmental Protection Agency

Page 35 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If not found,

set Parameter Code/Formula Code(s) to Missing Formula for Component.

If found,

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span
the evaluation period (in the above locate statement),

set Parameter Code(s)/Formula Code(s) to Incomplete Formula for Component.

If the ParameterCode of any of the retrieved records is equal to "C02C",

Locate all records in the Formula Parameter and Component Type and Basis to Formula
Code cross check table where the ParameterCode is equal to "C02" and the
ComponentTypeAndBasis equal to the associated concatenated ComponentTypeCode +
BasisCode in the System Component record.

If found,

Locate all Formula records for the location with a ParameterCode equal to
"C02", a FormulaCode equal to the FormulaCode in any of the retrieved cross
check records, a BeginDate and BeginHour on or before the earlier of the System
Component Evaluation End Date and End Hour and the EndDate and EndHour in
the method record, and an EndDate that is null or and EndDate and EndHour that
is on or after the later of the System Component Evaluation Begin Date and
Begin Hour and the BeginDate and BeginHour of the method record.

If not found,

set Parameter Code/Formula Code(s) to Missing Formula for
Component.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved
formula records do not span the evaluation period (in the above locate statement),
add Parameter Code/Formula Code(s) to Incomplete Formula for
Component.

Otherwise,

Locate the record in the System Type to Formula Parameter cross check table where the SystemTypeCode is equal to the
SystemTypeCode associated with the current System Component record.

For each cross check record found,

If Optional in the cross check record is not null,

Locate the earliest Method record for the location with a ParameterCode equal to Optional in the retrieved
cross-check record, a MethodCode equal to "AD", a BeginDate and BeginHour on or before the System
Component Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour
that is on or after the System Component Evaluation Begin Date and Begin Hour.

If Optional in the cross check record is null, or a Method record was retrieved above,

Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check
table where the ParameterCode is equal to the ParameterCode in the cross check record and the
ComponentTypeAndBasis equal to the associated concatenated ComponentTypeCode (+BasisCode, if not
null) in the System Component record.

If found,

If Optional in the System Type to Formula Parameter cross check table is not null:

Environmental Protection Agency

Page 36 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Locate all Formula records for the location with a ParameterCode equal to the
ParameterCode in the cross check table, a FormulaCode equal to the FormulaCode in any
of the retrieved cross check records, a BeginDate and BeginHour on or before the earlier
of the System Component Evaluation End Date and End Hour and the EndDate and
EndHour in the method record (if not null), and an EndDate that is null or and EndDate
and EndHour that is on or before the later of the System Component Evaluation Begin
Date and Begin Hour and the BeginDate and BeginHour of the method record.

If not found,

add Parameter Code/Formula Code(s) to Missing Formula for Component.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula
records do not span the evaluation period (in the above locate statement),

add Parameter Code/Formula Code(s) to Incomplete Formula for Component.

Otherwise,

Locate all Formula records for the location with a ParameterCode equal to the
ParameterCode in the cross check table, a FormulaCode equal to the FormulaCode in any
of the retrieved cross check records, a BeginDate and BeginHour on or before the System
Component Evaluation End Date and End Hour, and an EndDate that is null or and
EndDate and EndHour that is on or after the System Component Evaluation Begin Date
and Begin Hour.

If not found,

add Parameter Code/Formula Code(s) to Missing Formula for Component.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula
records do not span the entire system component evaluation period,

add Parameter Code/Formula Code(s) to Incomplete Formula for Component.

If Missing Formula for Component is not null, and Incomplete Formula for Component is null,
return result A.

If Incomplete Formula for Component is not null, and Missing Formula for Component is null,
return result B.

If both Missing Formula for Component and Incomplete Formula for Component are not null,
return result C.

Results:

Result	Response	Severity

A	You did not report [missing formulas] formula record(s) that was/were active during the Critical Error Level 1

evaluation period to compute emission values. These formulas are required when using
a [system type] system with a [component type] [basis] component.

B	You did not report [incomplete formulas] formula record(s) to compute emission values Critical Error Level 2

that are active for the entire evaluation period. These formulas are required when using
a [system type] system with a [component type] [basis] component.

C	You did not report [missing formulas] formula record(s) that was/were active during the Critical Error Level 2

evaluation period to compute emission values. Also, you did not report [incomplete
formulas] formula record(s) to compute emission values that are active for the entire
evaluation period. These formulas are required when using a [system type] system with
a [component type] [basis] component.

Environmental Protection Agency

Page 37 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

Conditions:	Current System Component Active Equals true

Environmental Protection Agency

Page 38 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-45

Check Name:

Required High-Scale Span Reported for Component

Related Former Checks: NBP-33

Applicability:

CEM Check

Description:

Specifications:

For an Analyzer Range record with an AnalyzerRangeCode equal to "H" or "A" and consistent dates:

Locate a Span record for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the associated
Component record, the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Analyzer Range
Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Analyzer Range
Evaluation Begin Date and Begin Hour.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span records do not span the entire analyzer range
evaluation period,

return result B.

If not found,

return result A.

Results:

Result
A

Response

You reported [key], but you did not report a [scale] [span parameter] span record that
was active during the evaluation period, which is required when you report an analyzer
range record with a range code of [range].

You reported [key], but you did not report [scale] [span parameter] span records to span
the entire evaluation period for the analyzer.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Current Analyzer Range Active Equals true

Environmental Protection Agency

Page 39 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-46

Check Name:	System Type Consistent with Component Type

Related Former Checks:	NBP-17

Applicability:	General Check
Description:

Validation Tables:

Component Type Code (Complex Lookup Table)

System Type to Component Type (Cross Check Table)

System Type to Optional Component Type (Cross Check Table)

Specifications:

For a System Component record:

If the associated System record is not valid,

Set System Component Record Valid to false.

Otherwise,

Set System Component Record Valid to true.

If the associated ComponentTypeCode is not equal to "DAHS", "PLC", or "DL", and an EndDate that is null or is on or
after 1/1/2001,

Locate the System Type to Component Type cross check table record where the ComponentTypeCode is equal to
the ComponentTypeCode in the current System Component record and the SystemTypeCode is equal to the
SystemTypeCode in the current Monitoring System record.

If not found,

Locate the System Type to Optional Component Type cross check table record where the Optional
ComponentTypeCode is equal to the ComponentTypeCode in the current System Component record and
the SystemTypeCode is equal to the SystemTypeCode in the current Monitoring System record.

If not found,

Locate the ComponentTypeCode in the current System Component record in the Component Type
Code lookup table.

If found,

set System Component Record Valid to false, and return result A.

Results:

Result	Response	Severity

A	You have linked an inappropriate [component type] component to the [system type] Critical Error Level 1

system for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Component Evaluation

Conditions:	Current System Component Active Equals true

Environmental Protection Agency

Page 40 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-47

Check Name:

Related Former Checks:

Overlapping Analyzer Range Reported for Component

Applicability:

Description:

Specifications:

CEM Check

For a Component record with a ComponentTypeCode equal to "S02", "NOX", "C02", "02", or "HG", and consistent dates:

Locate all Component Analyzer Range records for the component with a BeginDate and BeginHour that is on or after the BeginDate
and BeginHour in the current record and is on or before the Component Evaluation End Date and End Hour and an EndDate that is
null or and EndDate and EndHour that is on or after the Component Evaluation Begin Date and Begin Hour.

If more than one are found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved analyzer range records overlap
during the component evaluation period,

return result A.

Results:

Result
A

Response

You have reported more than one active analyzer range record for [key] during the
evaluation period.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Component Evaluation

Current Component Active Equals true

Environmental Protection Agency

Page 41 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-48

Check Name:	Component and Analyzer Range Dates Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For an Analyzer Range record with consistent dates in both the Analyzer Range and associated Component record:

If the Component Evaluation Begin Date and Begin Hour is after the Analyzer Range Evaluation Begin Date and Begin Hour,
return result A.

If the Component Evaluation End Date is not null, and the Analyzer Range Evaluation End Date is null,
return result A.

If the Component Evaluation End Date and End Hour is prior to the Analyzer Range Evaluation End Date and End Hour,
return result A.

Results:

Result	Response	Severity

A	The BeginDate/Hour and EndDate/Hour for [key] is inconsistent with the	Critical Error Level 1

BeginDate/Hour and EndDate/Hour for the associated component.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Conditions:	Current Analyzer Range Active Equals true

Environmental Protection Agency

Page 42 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-51

Check Name:

Required Low-Scale Span Reported for Component

Related Former Checks: NBP-33

Applicability:

CEM Check

Description:

Specifications:

For an Analyzer Range record with an AnalyzerRangeCode equal to "L" or "A" and consistent dates:

Locate a Span record for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the associated
Component record, the SpanScaleCode is equal to "L", the BeginDate and BeginHour is on or before the Analyzer Range
Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Analyzer Range
Evaluation Begin Date and Begin Hour.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span records do not span the entire analyzer range
evaluation period,

return result B.

If not found,

return result A.

Results:

Result
A

Response

You reported [key], but you did not report a [scale] [span parameter] span record that
was active during the evaluation period, which is required when you report an analyzer
range record with a range code of [range].

You reported [key], but you did not report [scale] [span parameter] span records to span
the entire evaluation period for the analyzer.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Current Analyzer Range Active Equals true

Environmental Protection Agency

Page 43 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-52

Check Name:	Required FLOW Span Reported for Component

Related Former Checks:	NBP-33

Applicability:	CEM Check

Description:

Specifications:

For a Component record with a ComponentTypeCode equal to "FLOW" and consistent dates:

Locate a Span record for the location where the ComponentTypeCode is equal to "FLOW", the BeginDate and BeginHour is on or
before the Component Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or
after the Component Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span records do not span the entire component
evaluation period,

return result B.

Results:

Result	Response	Severity

A	You reported [key], but you did not report a FLOW span record that was active during Critical Error Level 1

the evaluation period, which is required when you report a FLOW component.

B	You reported [key], but you did not report FLOW span records to span the entire	Critical Error Level 1

evaluation period for the component.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Component Evaluation

Conditions:	Current Component Active Equals true

Environmental Protection Agency

Page 44 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-56

Check Name:

Related Former Checks:

Required Default Reported for System and Component

Applicability:

Description:

Specifications:

General Check

For a valid System Component record with consistent dates:

If the associated SystemTypeCode is equal to "C02" and the associated ComponentTypeCode is equal to "02",

Set Missing Default for System and Parameter to "C02X Default for Purpose MD and Fuel NFS".

Locate all Default records for the location with a ParameterCode equal to "C02X", a DefaultPurposeCode equal to "MD", a
FuelCode equal to "NFS", a BeginDate and BeginHour on or before the System Component Evaluation End Date and End
Hour, and an EndDate that is null or and EndDate and EndHour that is on or before the System Component Evaluation
Begin Date and Begin Hour.

If not found, or the BeginDate/BeginHour and EndDate/EndHour of the retrieved default records do not span the entire
system component evaluation period,

Locate all Span records for the location with a ComponentTypeCode equal to "C02", a SpanScaleCode equal to
"H", a BeginDate and BeginHour on or before the System Component Evaluation End Date and End Hour, and an
EndDate that is null or and EndDate and EndHour that is on or before the System Component Evaluation Begin
Date and Begin Hour.

If no Span and no Default records are found,
return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span and default records do not
span the entire system component evaluation period,
return result B.

Results:

Result
A

Response

You did not report [type] record that was active during the evaluation period. This
default is required when using a [system type] system with a [component type]
component.

You did not report [type] record(s) that were active for the entire evaluation period.
This default is required when using a [system type] system with a [component type]
component.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Component Evaluation

Current System Component Active Equals true

Environmental Protection Agency

Page 45 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-80

Check Name:

Related Former Checks:

Overlapping System Component Records

Applicability:

Description:

Specifications:

General Check

For a System Component record with consistent dates:

Locate another System Component record for the system with a ComponentID equal to the ComponentID in the current record and a
BeginDate/BeginHour that is on or after the BeginDate/BeginHour in the current record and is on or before the System Component
Evaluation End Date/Hour, and a EndDate/EndHour that is null or is on or after the System Component Evaluation Begin
Date/Hour.

If found,

return result A.

Results:

Result
A

Response

You have reported two Monitor System Component records for [key] with overlapping Critical Error Level 1
start and end times during the evaluation period.

Severity

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Component Evaluation

Current System Component Active Equals true

Environmental Protection Agency

Page 46 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-53

Check Name:	Duplicate Component Records

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Component record:

Locate another Component record for the location with a ComponentID that is equal to the ComponentID in the current record.

If found,

return result A.

Results:

Result	Response	Severity

A	Another [recordtype] record already exists with the same [fieldnames].	Fatal

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Component Evaluation

Environmental Protection Agency

Page 47 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

COMPON-54

Check Name:

Duplicate Analyzer Range Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For an Analyzer Range record:

Locate another Analyzer Range record for the location with a ComponentID equal to the Component ID in the current record and a
BeginDate/BeginHour that is equal to the BeginDate/BeginHour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null,

Locate another Analyzer Range record for the location with a ComponentID equal to the Component ID in the current
record and an EndDate/EndHour that is equal to the EndDate/EndHour in the current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 48 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	COMPON-55

Check Name:	System Component Record Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a System Component record:

If the ComponentID is null,
return result A.

Locate another System Component record for the location with a MonitoringSystemID equal to the MonitoringSystemID in the
current record, a ComponentID equal to the ComponentID in the current record, and a BeginDate/BeginHour that is equal to the
BeginDate/BeginHour in the current record.

If found,

return result B.

If not found, and the EndDate in the current record is not null,

Locate another System Component record for the location with a MonitoringSystemID equal to the MonitoringSystemID in
the current record, a ComponentID equal to the ComponentID in the current record, and an EndDate/EndHour that is equal
to the EndDate/EndHour in the current record.

If found,

return result B.

Results:

Result	Response Severity

A	You did not provide [fieldname], which is required, for [key].	Fatal

B	Another [recordtype] record already exists with the same [fieldnames].	Fatal

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation

Environmental Protection Agency

Page 49 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Control

Environmental Protection Agency

Page 50 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-1

Check Name:	Control Parameter Code Valid

Related Former Checks:

Applicability:	General Check

Description:

Validation Tables:

Control Code (Lookup Table)

Control Code (Lookup Table)

Specifications:

For the UnitControlData record:

If the ParameterCode is null,
return result A.

Otherwise,

Locate ParameterCode in the Control Code lookup table.

If not found,

return result B.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Fatal

B	You reported the value [value], which is not in the list of valid values, in the field	Critical Error Level 1

[fieldname] for [key].

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Unit Control Evaluation

Conditions:	Current Control Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 51 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-2

Check Name:	Control Code Valid

Related Former Checks:	NBP-66

Applicability:	General Check
Description:

Validation Tables:

Control Code (Lookup Table)

Control Code (Lookup Table)

Specifications:

For the UnitControlData record:

If the ControlCode is null,
return result A.

Otherwise,

Locate the ParameterCode and ControlCode in the Control Code lookup table.

If not found,

Locate the ControlCode in the Control Code lookup table.

If not found,

return result B.

If found, and the ParameterCode is valid,
return result C.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Fatal

B	You reported the value [value], which is not in the list of valid values, in the field	Fatal

[fieldname] for [key].

C	For [key] you have provided a value for [fieldname] that is not appropriate for this	Critical Error Level 1

parameter.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

Conditions:	Current Control Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 52 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-4

Check Name:	Control Optimization Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitControlData record:

If OptimizationDate is not null,

If the InstallDate is valid and the OptimizationDate is prior to the Install Date, or if the RetireDate is valid and non-null and
the OptimizationDate is after the RetireDate,
return result A.

Results:

Result	Response	Severity

A	You reported an OptimizationDate of [Date] that is either before the InstallationDate or Critical Error Level 1

after the RetireDate for [key].

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Unit Control Evaluation

Conditions:	Current Control Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 53 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-5

Check Name:	Control Install Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitControlData record:

Set Control Install Date Valid to true.

If InstallDate is null,

If OriginalCode is not equal to 1,

set Control Install Date Valid to false, and return result A.

Otherwise,

If InstallDate is earlier than 01/01/1930 or later than Maximum Future Date,
set Control Install Date Valid to false, and return result B.

If either the Commence Operation Date or Commercial Operation Date of the unit is not null, and the InstallDate is prior to

the earlier of the Commence Operation Date or Commercial Operation Date,
set Control Install Date Valid to false, and return result C.

If OriginalCode is equal to 1,
return result D.

Results:

Result

A

B

C

D

Usage:

1

Response

You did not provide [fieldname], which is required, for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

You reported an InstallDate of [date], which is earlier than the date reported as the
commence operation (CO) or commence commercial operation (CCO) date. If the
control was installed and operational as part of the original unit design, report" 1" in the
OriginalCode field and leave the InstallDate field blank. If the control was installed
between the CO and CCO dates and you have only reported the CCO date, use the CCO
date as the InstallDate to eliminate this error.

You reported an InstallDate for [key], but you have indicated that the control equipment
was part of the original unit.

Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Non-Critical Error

Critical Error Level 1

1

Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 54 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	CONTROL-6

Check Name:	Control Retire Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitControlData record:

If RetireDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 55 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-8

Check Name:	Control Active Status

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a UnitControlData record with consistent Dates:

If InstallDate is after Evaluation End Date or RetireDate is before Evaluation Begin Date,
set Control Active to false.

Otherwise,

set Control Active to true.

If the InstallDate is prior to the Evaluation Begin Date,

set the Control Evaluation Begin Date to the Evaluation Begin Date.

Otherwise,

set the Control Evaluation Begin Date to the BeginDate.

If the RetireDate is null or is after the Evaluation End Date,

set the Control Evaluation End Date to the Evaluation End Date.

Otherwise,

set the Control Evaluation End Date to the RetireDate.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

Environmental Protection Agency

Page 56 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-9

Check Name:	Control Install Date Consistent with Retire Date

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitControl record:

If InstallDate is valid and RetireDate is valid,

If the RetireDate is not null and the InstallDate is after the RetireDate,

set Control Install Date Consistent with Retire Date to false and return result A.

Otherwise,

set Control Install Date Consistent with Retire Date to true.

Otherwise,

set Control Install Date Consistent with Retire Date to false.

Results:

Result	Response	Severity

A	You reported [datefield2] which is prior to [datefieldl] for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 57 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-11

Check Name:	Control Code Consistent with Unit Type

Related Former Checks:	NBP-64

Applicability:	General Check
Description:

Validation Tables:

Control to Unit Type Cross Check Table (Cross Check Table)

Specifications:

For a UnitControl record with valid ParameterCode and ControlCode:

Locate a record in the Control to Unit Type cross check table where the ControlCode is equal to the ControlCode in the current
record.

If found,

Locate all UnitType records for the unit where the BeginDate is on or before the Control Evaluation End Date and the
EndDate is null or is on or before the Control Evaluation Start Date.

For each UnitType record found,

Locate a record in the Control to Unit Type cross check table where the ControlCode is equal to the ControlCode in
the current record and the UnitTypeCode is equal to the UnitTypeCode in the retrieved UnitType record.

If not found,

Set Invalid Unit Type for Control to the UnitTypeCode.
return result A.

Results:

Result	Response	Severity

A	The ControlCode [code] for the unit is not appropriate for the UnitTypeCode [type]. Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

Conditions:	Current Control Active Equals true

Environmental Protection Agency

Page 58 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

CONTROL-13

Check Name:

Related Former Checks:

Overlapping Controls

Applicability:

Description:

Specifications:

General Check

For a UnitControl record with valid ParameterCode and ControlCode and consistent dates:

Locate another UnitControl record for the unit with the same ParameterCode and ControlCode, and an InstallDate that is on or after
the InstallDate in the current record and is on or before the Control Evaluation End Date, and a RetireDate that is null or is on or
after the Control Evaluation Begin Date.

If found,

return result A.

Results:

Result
A

Response

Concurrently active records have been reported for control parameter [parameter]
control type [control type].

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Unit Control Evaluation

Current Control Active Equals true

Environmental Protection Agency

Page 59 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	CONTROL-14

Check Name:	S02 and PART Controls for Consistent with Fuels

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a UnitControl record with a ParameterCode equal to 'S02' or 'PART':

Locate all Fuel records for the location where the associated Fuel Group is equal to "GAS', the BeginDate is on or before the Control
Evaluation End Date, and the EndDate is null or is on or after the Control Evaluation Start Date.

If found,

Locate all UnitFuel records for the unit where the associated FuelGroup is not equal to "GAS', the BeginDate is on or
before the Control Evaluation End Date, and the EndDate is null or is on or after the Control Evaluation Start Date.

If not found,

return result A.

Results:

Result	Response	Severity

A	There should be no S02 or PART controls if the Unit burns only gas. You have defined Non-Critical Error

a [control parameter] control for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

Conditions:	Current Control Active Equals true

Environmental Protection Agency

Page 60 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

CONTROL-15

Check Name:

Duplicate Unit Control Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a UnitControl record:

Locate another UnitControl record for the unit with a ParameterCode equal to the ParameterCode in the current record and a
ControlCode equal to the ControlCode in the current record and InstallDate that is equal to the InstallDate in the current record.

If found,

return result A.

If not found, and the RetireDate in the current record is not null,

Locate another UnitControl record for the unit with a ParameterCode equal to the ParameterCode in the current record and
a ControlCode equal to the ControlCode in the current record and RetireDate that is equal to the RetireDate in the current
record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 61 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

Check Category:
Default and WAF

12/12/2012 12:00:00AM

Environmental Protection Agency

Page 62 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-3 7

Check Name:

Default Active Status

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Default record with consistent Dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Default Active to false.

Otherwise,

set Default Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Default Evaluation Begin Date to the Evaluation Begin Date,
set the Default Evaluation Begin Hour to 0.

Otherwise,

set the Default Evaluation Begin Date to the BeginDate.
set the Default Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the Default Evaluation End Date to the Evaluation End Date,
set the Default Evaluation End Hour to 23.

Otherwise,

set the Default Evaluation End Date to the EndDate.
set the Default Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 63 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-38

Check Name:	Default Dates and Hours Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Default record:

If the EndDate is valid and not null, and the EndHour is null,

set Default Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set Default Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set Default Dates and Hours Consistent to false, return result C.

Otherwise,

set Default Dates and Hours Consistent to true.

Otherwise,

set Default Dates and Hours Consistent to false.

Results:

Result
A
B
C

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

1

Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 64 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-3 9

Check Name:

Default Begin Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For the Default record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 65 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

Check Name:

Related Former Checks:

Applicability:

Description:

Specifications:

For the Default record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

DEFAULT-40
Default Begin Hour Valid

General Check

Results:

Result

A

B

Usage:

1

1

Response	Severity

You have not reported the required value in the field [fieldname] for [key].	Fatal

You reported a [Fieldname] of [Hour], which is outside the range of acceptable values	Critical Error Level 1

for this hour for [key].

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Default Evaluation

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 66 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	DEFAULT-41

Check Name:	Default End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring System record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 67 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	DEFAULT-42

Check Name:	Default End Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Default record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 68 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-47

Check Name:

Default Parameter Code Valid

Related Former Checks: ARP-55A, B

Applicability:

General Check

Description:

Validation Tables:

Parameter to Category (Cross Check Table)

Parameter to Category (Cross Check Table)

Specifications:

For the Default record:

If the ParameterCode is null,
return result A.

Otherwise,

Locate a record in the List of Default Parameter Codes (Parameter to Category Cross Check Table) where the
ParameterCode is equal to the ParameterCode in the current Default record and the CategoryCode is equal to "DEFAULT".

If not found,

return result B.

If found,

If the Location Type is equal to "CP",

If the ParameterCode begins with "H20", "SO", "CO", "02", "NO", or "HG", or is equal to "FLOX",
"MNHI", "MNNX", or "AKSF",
return result C.

If the Location Type is equal to "MP",

If the ParameterCode begins with "H20", "SO", "CO", "02", or "HG", or is equal to "NOXR", "FLOX",
"MNHI", "MNNX", or "AKSF",
return result C.

If the Location Type is equal to "CS" or "MS",

If the Parameter Code is equal to "C02R", "NOXR", "MNGF", or "MNOF",
return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

The default record for [key] is not valid for a [location type].

Severity
Fatal

Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 69 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-48

Check Name:	Default Operating Condition Code Valid

Related Former Checks:	ARP-69C

Applicability:	General Check

Description:

Specifications:

For a Monitoring Default record with a valid ParameterCode:

If the Default OperatingConditionCode is null,
return result A.

Otherwise,

If the OperatingConditionCode is not equal to "A", "C", "U", "B", or "P",
return result B.

Otherwise,

If the OperatingConditionCode is equal to "B" or "P", and the ParameterCode is not equal to "NOXR",
return result C.

If the OperatingConditionCode is equal to "C", and the ParameterCode is not equal to "S02X", "SORX", "NORX",
"NOCX", or "NOXR",
return result C.

If the OperatingConditionCode is equal to "B", "P", or "C", the ParameterCode is equal to "NOXR", and the
DefaultSourceCode is equal to "DEF",
return result D.

If the OperatingConditionCode is equal to "U", the ParameterCode is equal to "NOXR",
return result E.

Results:

Result

A

B

C

D

Usage:

1

1

Response

You have not reported the required value in the field [fieldname] for [key].

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

The OperatingConditionCode [value] reported for [key] is not appropriate for the
associated parameter.

The OperatingConditionCode [value] reported for [key] is not appropriate for the
DefaultSourceCode "DEF". If you use a generic Part75 NOXR default, it must be used
for all hours.

The OperatingConditionCode U reported for [key] is not appropriate for parameter
NOXR. If you are reporting this record to indicate that you are using a generic Part 75
LME default value for all hours, you should report an OperatingConditionCode of A. If
you normally use a unit-and-fuel specific NOXR default during controlled hours, and
you are reporting this record to indicate that you are using a generic Part 75 LME
default value during hours when controls are not operating, you should report a
ParameterCode of NORX and a DefaultPurposeCode of MD.

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 70 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-49

Check Name:

Default Value Valid

Related Former Checks: ARP-8D, ARP-27B, NBP-47, ARP-58

Applicability:
Description:

General Check

Validation Tables:

Fuel Code to Minimum and Maximum Moisture Default Value (Cross Check Table)
Parameter UOM (Complex Lookup Table)

Fuel Code to Minimum and Maximum Moisture Default Value (Cross Check Table)
Parameter UOM (Complex Lookup Table)

Specifications:

For a Monitoring Default record with a valid ParameterCode:

If the Default Value is null,
return result A.

If the ParameterCode is equal to "AKSF",

If the Default Value is not an integer,
return result B.

Otherwise,

If the Default Value is less than or equal to 0,
return result B.

Otherwise,

Locate the ParameterCode and DefaultUnitsOfMeasureCode in the Parameter Units of Measure lookup table.

If found, and the DefaultValue is not equal to the DefaultValue rounded to the value specified by Decimal_Hrly in
the lookup table record,
return result G.

If the DefaultPurposeCode is equal to "DC",

Locate all Unit Type records linked to the location where the BeginDate is null or is on or before
the Default Evaluation End Date and the EndDate is null or is on or after the Default Evaluation
Begin Date.

If the Unit Type in any the retrieved records is equal to "CC", "CT", "ICE", "OT", or "IGC",
set Boiler Type to "TURBINE".

Otherwise,

set Boiler Type to "BOILER".

If the ParameterCode is equal to "C02N" and the Boiler Type is equal to "TURBINE", and the
DefaultValue is not equal to 1,
return result C.

If the ParameterCode is equal to "C02N" and the Boiler Type is equal to "BOILER", and the
DefaultValue is not equal to 5,
return result C.

Otherwise,

Environmental Protection Agency

Page 71 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If the ParameterCode is equal to "02X" and the Boiler Type is equal to "TURBINE", and the
DefaultValue is not equal to 19,
return result C.

If the ParameterCode is equal to "02X" and the Boiler Type is equal to "BOILER", and the
DefaultValue is not equal to 14,
return result C.

Otherwise,

If the ParameterCode is equal to "H20" and the DefaultSourceCode is equal to "DEF",

Locate the FuelCode in the Fuel Code to Minimum and Maximum Moisture Default Cross
Check Table.

If found,

If the Default Value is less than the Minimum Value in the cross check table or is
greater than the Maximum Value in the cross check table,
return result D.

Else if the ParameterCode is equal to "H20N" and the DefaultSourceCode is equal to "DEF",

If the DefaultValue is not equal to 3.0,
return result F.

Else if the ParameterCode is equal to "H20X" and the DefaultSourceCode is equal to "DEF",

If the DefaultValue is not equal to 15.0,
return result F.

Else if the ParameterCode is equal to "HGX" and the DefaultSourceCode is equal to "DEF",

If the DefaultValue is not equal to 1,9, 10, or 16,
return result F.

Else if the ParameterCode is equal to "HGC",

If the DefaultValue is less than 0.50,
return result F.

Otherwise,

If the Minimum Default Value and the Maximum Default Value are not null,

If ParameterCode is equal to "NOCX" or "NORX", and the DefaultPurposeCode
is equal to "MD",

Locate a Monitor Method record for the location where the
ParameterCode begins with "NOX", the MethodCode is equal to "CEM",
the BeginDate and BeginHour is on or before the Default Evaluation End
Date/End Hour and the EndDate is null or the EndDate and EndHour is
on or after the Default Evaluation Begin Date/Begin Hour.

If found,

If ParameterCode is equal to "NORX" and
OperatingConditionCode is equal to "C",

If the Default Value is less than 0.05 or is greater than

Environmental Protection Agency

Page 72 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

the Maximum Default Value,
return result E.

Otherwise,

If the Default Value is less than the Minimum Default
Value or is greater than the Maximum Default Value,
return result E.

If DefaultPurposeCode and the DefaultSourceCode combination is not equal to
"LM" and "DEF",

If the Default Value is less than the Minimum Default Value or is greater
than the Maximum Default Value,
return result E.

Results:

Result

A

B

C
D

F
G

Usage:

1

1

Response

You have not reported the required value in the field [fieldname] for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid
values. This value must be greater than zero.

The default value [value] reported for [key] is not valid for the unit type.

The default value [value] reported for [key] is not within the valid range of values for

the fuel code [fuel].

The default value [value] reported for [key] is not within the valid range of values for
the parameter.

The default value reported for [key] is not a valid Part75 default value for the parameter.
The default value reported for [key] exceeds the maximum allowable precision.

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Severity
Fatal

Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Critical Error Level 2

Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 73 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-50

Check Name:	Default Units of Measure Code Valid

Related Former Checks:	NBP-48

Applicability:	General Check

Description:

Validation Tables:

Parameter UOM (Complex Lookup Table)

Units Of Measure Code (Lookup Table)

Parameter UOM (Complex Lookup Table)

Units Of Measure Code (Lookup Table)

Specifications:

For a Monitoring Default record with a valid ParameterCode:

If the UnitsOfMeasure is null,

If ParameterCode is not equal to "AKSF",
return result A.

Otherwise,

If ParameterCode is not equal to "AKSF",

Locate a record in the Parameter Units of Measure lookup table where the ParameterCode is equal to the Parameter
Code and the UnitsOfMeasure is equal to the UnitsOfMeasure in the current default record.

If found,

set Maximum Default Value to the Max Value in the lookup table record.

If ParameterCode is equal to "S02R",

set Minimum Default Value to 0.0001.

Otherwise,

set Minimum Default Value to the Min Value in the lookup table record.

If not found,

Locate the UnitsOfMeasure in the Units of Measure Code Lookup Table.

If not found,

return result B.

If found,

return result C.

If ParameterCode is equal to "AKSF",

If UnitsOfMeasure is not null,
return result C.

Environmental Protection Agency

Page 74 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result	Response

A	You have not reported the required value in the field [fieldname] for [key].

B	You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

C	The units of measure [value] reported for [key] is not appropriate for the associated

parameter.

Usage:

1

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Severity

Fatal

Fatal

Critical Error Level 1

Environmental Protection Agency

Page 75 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-51

Check Name:

Default Purpose Code Valid

Related Former Checks: ARP-69D

Applicability:

General Check

Description:

Validation Tables:

Default Parameter to Purpose (Cross Check Table)

Default Purpose Code (Lookup Table)

Default Parameter to Purpose (Cross Check Table)

Default Purpose Code (Lookup Table)

Specifications:

For the Monitoring Default record with a valid ParameterCode:

If the DefaultPurposeCode is null,

set Default Purpose Code Valid to false, and return result A.

Otherwise,

Locate a record in Default Parameter to Purpose cross check table for the ParameterCode and the DefaultPurposeCode in
the current Monitoring Default record.

If found,

set Default Purpose Code Valid to true.

If not found,

set Default Purpose Code Valid to false.

Locate DefaultPurposeCode in the DefaultPurposeCode Lookup Table.

If not found,

return result B.

Otherwise,

return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

The DefaultPurposeCode for [key] is not appropriate for the associated parameter.

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 76 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-52

Check Name:

Default Source Code Valid

Related Former Checks: NBP-49

Applicability:

General Check

Description:

Validation Tables:

Default Parameter to Source of Value (Cross Check Table)

Default Source Code (Lookup Table)

Default Parameter to Source of Value (Cross Check Table)

Default Source Code (Lookup Table)

Specifications:

For the Monitoring Default record with a valid ParameterCode:

If the DefaultSourceCode is null,

set Default Source Code Valid to false, and return result A.

Otherwise,

Locate a record in Default Parameter to Source of Value cross check table for the ParameterCode and the
DefaultSourceCode in the current Monitoring Default record.

If found,

set Default Source Code Valid to true.

If not found,

set Default Source Code Valid to false.

Locate DefaultSourceCode in the DefaultSourceCode Lookup Table.

If not found,

return result B.

Otherwise,

return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

The DefaultSourceCode [value] reported for [key] is not appropriate for the associated
parameter.

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 77 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-5 3

Check Name:

Default Fuel Code Valid

Related Former Checks: ARP-27A, ARP-69A, ARP-69F, ARP-42

Applicability:
Description:

General Check

Validation Tables:

Fuel Code (Lookup Table)
Fuel Code (Lookup Table)

Specifications:

For a Monitoring Default record with a valid ParameterCode:

Set Default Fuel Code Valid to true.

If the FuelCode is null,

set Default Fuel Code Valid to false, and return result A.

Otherwise,

Locate FuelCode in the FuelCode Lookup Table.

If not found,

set Default Fuel Code Valid to false, and return result B.

Otherwise,

Set Default Unit Fuel to the Unit Fuel in the FuelCode lookup table record.

If the ParameterCode is equal to "S02R", "C02R", or "NOXR", and the DefaultPurposeCode is not equal to
"F23",

If the Fuel Group in the FuelCode lookup table record is not equal to "GAS", "OIL" or
"MIX",

set Default Fuel Code Valid to false, and return result C.

If the ParameterCode is equal to "S02R", the DefaultPurposeCode is equal to "F23", and the DefaultSourceCode is
not equal to "APP",

If the FuelCode is not equal to "NNG", "PNG", or "OGS",

set Default Fuel Code Valid to false, and return result C.

If the ParameterCode begins with "02" or is equal to "C02N", "C02X", "H20N", "H20X", "HGC", or "AKSF",

If the FuelCode is not equal to "NFS",

set Default Fuel Code Valid to false, and return result C.

If the ParameterCode is equal to "H20", and the DefaultSourceCode is not equal to "APP",

If the FuelCode is not equal to "NNG", "PNG", "CRF", or " W", or the FuelGroup in the FuelCode lookup
table record is not equal to "COAL",

set Default Fuel Code Valid to false, and return result C.

If the ParameterCode is equal to "MNGF",

If the FuelGroup in the FuelCode lookup table record is not equal to "GAS" or MIX",
set Default Fuel Code Valid to false, and return result C.

Environmental Protection Agency

Page 78 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If the ParameterCode is equal to "MNOF",

If the FuelGroup in the FuelCode lookup table record is not equal to "OIL" or MIX",
set Default Fuel Code Valid to false, and return result C.

Results:

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

1	Process/Category:

Conditions:
1	Process/Category:

Result	Response

A	You have not reported the required value in the field [fieldname] for [key].

B	You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

C	The fuel code [value] reported for [key] is not appropriate for the associated parameter

and purpose.

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 79 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-54

Check Name:	Generic LME Default Emission Rate Valid

Related Former Checks: ARP-28

Applicability:	LME Check

Description:

Validation Tables:

Default Parameter, Boiler Type, and Fuel Type to Default Value (Cross Check Table)

Specifications:

For a Monitoring Default record with a valid ParameterCode, Default Purpose Code Valid equal to true, DefaultSourceCode equal to
"DEF", and a valid FuelCode that is not equal to "NFS":

If the ParameterCode is equal to "NOXR" and DefaultPurposeCode is equal to "LM", OR the ParameterCode is equal to "NORX"
and DefaultPurposeCode is equal to "MD",

Set NOX LME to true.

If DefaultPurposeCode is equal to "MD",

Locate another Monitor Default record for the location where the ParameterCode is equal to "NOXR", the
DefaultPurposeCode is equal to "LM", the BeginDate is null or is on or before the Default Evaluation End Date,
and the

EndDate is null or is on or after the Default Evaluation Start Date

If not found,

set NOX LME to false.

If NOX LME is true,

Set Boiler Type to null.

Locate all Unit Type records linked to the location where the BeginDate is null or is on or before the Default
Evaluation End Date and the EndDate is null or is on or after the Default Evaluation Start Date.

If the Unit Type in all the retrieved records is equal to "CC", "CT", "ICE", "OT", or "IGC"
set Boiler Type to "TURBINE".

If the Unit Type in all the retrieved records is equal to "CFB", "DB", "OB", "T", "PFB", or "BFB"
set Boiler Type to "BOILER".

If Boiler Type is null,
return result A.

Otherwise,

Locate the Default Parameter Code, Boiler Type, and Fuel Type to Default Value cross check table record
where the ParameterCode (and Boiler Type) is equal to the concatenation of "NOXR-" and the Boiler
Type, and where the FuelCode is equal to the FuelCode in the current default record.

If the cross check record is not found,
return result A.

Otherwise,

If the DefaultValue in the current default record is valid, but is not equal to the DefaultValue in the
cross check record,

return result B.

Environmental Protection Agency

Page 80 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Otherwise,

If the ParameterCode is not equal to "HGC" and DefaultPurposeCode is equal to "LM",

Locate the Default Parameter Code, Boiler Type, and Fuel Type to Default Value cross check table record where
the ParameterCode (and Boiler Type) is equal to the ParameterCode in the current default record and the FuelCode
is equal to the FuelCode in the current default record.

If the cross check record is not found,
return result A.

Otherwise,

If the DefaultValue in the current default record is greater than 0, but is not equal to the DefaultValue in
the cross check record,
return result B.

Results:

Result
A

Response

You have reported a parameter for [key] that is not appropriate for the unit type and/or
fuel burned at the location.

The default value [value] reported for [key] is not appropriate for the unit type and/or
fuel burned at the location.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 81 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-56

Check Name:

NOXR LME Default Consistent with Controls and Unit Type

Related Former Checks: ARP-69E, ARP-77A, LME-EXP4

Applicability:

Description:

Specifications:

LME Check

For a Monitoring Default record with a valid ParameterCode equal to "NOXR", a DefaultPurposeCode equal to "LM", a DefaultSourceCode
not equal to "DEF",and consistent dates:

If the OperatingConditionCode is equal to "A",

Locate a Unit Control record for the location where the ParameterCode is equal to "NOX", the ControlCode is equal to
"DLNB", "H20", "NH3", "SCR", "SNCR", or "STM"; the InstallDate is null or is before the Default Evaluation End Date;
and the RetireDate is null or after the Default Evaluation Begin Date.

If found,

return result A.

If the OperatingConditionCode is equal to "B" or "P",

Locate all Unit Type records for this location where the UnitTypeCode is not equal to "CC", "CT", "ICE", "IGC", or "OT";
the BeginDate is null or is before the Default Evaluation End Date; and the EndDate is null or after the Default Evaluation
Begin Date.

If found,

return result B.

If the OperatingConditionCode is equal to "C",

Locate all Unit Control records for the location where the ParameterCode is equal to "NOX", the InstallDate is null or is
before the Default Evaluation End Date; and the RetireDate is null or after the Default Evaluation Begin Date.

If not found,

return result C.

If found, and the control records do not span the entire default evaluation period,
return result D.

Environmental Protection Agency	Page 82 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C

D

Usage:

1

Response

You reported a default record for indicating the use of a unit-and-fuel specific NOXR
default value during any hour, but units with add-on NOx controls or Dry low-NOx
technology can only use a unit-and-fuel specific NOXR default value during controlled
hours.

You reported a default record for indicating the use of separate unit-and-fuel specific
NOXR default values during base and peak load hours, but only combustion turbines
can use separate unit-and-fuel specific NOXR default values during base and peak load
hours.

You reported a default record for indicating the use of a unit-and-fuel specific NOXR
default value during a controlled or uncontrolled hour, but you have not reported an
active NOx control in your monitoring plan.

You reported a default record for indicating the use of a unit-and-fuel specific NOXR
default value during a controlled or uncontrolled hour, but you have not reported NOx
control records that span the entire evaluation period.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Severity

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 83 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-5 8

Check Name:

Default Fuel Type Consistent with Unit Fuel

Related Former Checks: ARP-50
Applicability:	General Check

Description:

Specifications:

For Monitoring Default record with a valid ParameterCode and consistent dates:

If Default Fuel Code Valid is equal to true, and the FuelCode is not equal to "NFS" or "MIX",

Locate all Unit Fuel records linked to the location where the FuelCode is equal to the Default Unit Fuel, the BeginDate is on
or before the Default Evaluation End Date, and the EndDate is null or is on or after the Default Evaluation Begin Date.

If not found,

return result A.

If found, and the Begin and End Dates in the retrieved records do not span the entire default evaluation period,
return result B.

Results:

Result
A

Response

The Fuel Code [Fuel Code] for [key] is inconsistent with the active fuels for the
associated unit.

The Fuel Code [Fuel Code] for [key] is inconsistent with the active fuels for the
associated unit for part of the evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 84 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-7 3

Check Name:

NOXR LME Defaults Consistent

Related Former Checks: ARP-77B, C, D

Applicability:

Description:

Specifications:

LME Check

For a Monitoring Default record with a valid ParameterCode equal to "NOXR" and a DefaultPurposeCode equal to "LM", and consistent
dates:

If the OperatingConditionCode is equal to "A" or "C",

Locate a Monitoring Default record for the location where the ParameterCode is equal to "NOXR", the
DefaultPurposeCode is equal to "LM", the FuelCode is equal to the FuelCode in the current record; the
OperatingConditionCode is not equal to the OperatingConditionCode in the current record; BeginDate and BeginHour is on
or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or
after the Default Evaluation Begin Date and Begin Hour.

If found,

return result A.

If the OperatingConditionCode is equal to "B",

Locate a Monitoring Default record for the location where the ParameterCode is equal to "NOXR", the
DefaultPurposeCode is equal to "LM", the DefaultSourceCode is not equal to "DEF", the FuelCode is equal to the
FuelCode in the current record; the OperatingConditionCode is equal to "P"; BeginDate and BeginHour is on or before the
Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default
Evaluation Begin Date and Begin Hour.

If not found,

return result B.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire default
evaluation period,

return result C.

If the OperatingConditionCode is equal to "P",

Locate a Monitoring Default record for the location where the ParameterCode is equal to "NOXR", the
DefaultPurposeCode is equal to "LM", the DefaultSourceCode is not equal to "DEF", the FuelCode is equal to the
FuelCode in the current record; the OperatingConditionCode is equal to "B"; BeginDate and BeginHour is on or before the
Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default
Evaluation Begin Date and Begin Hour.

If not found,

return result D.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire default
evaluation period,

return result E.

Environmental Protection Agency

Page 85 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C
D

Usage:

1

Response	Severity

You have reported a default value for [key], but you have also defined a concurrent Critical Error Level 1

NOXR default value for the same fuel.

You have reported a default record for [key], but you have not reported a NOXR default Critical Error Level 1

value for this fuel for use during peak load hours that was active during the evaluation

period.

You have reported a default record for [key], but you have not reported a NOXR default
value for this fuel for use during peak load hours for the entire evaluation period.

You have reported a default record for [key], but you have not reported a NOXR default
value for the fuel for use during base load hours that was active during the evaluation
period.

You have reported a default record for [key], but you have not reported a NOXR default Critical Error Level 1
value for this fuel for use during base load hours for the entire evaluation period.

Critical Error Level 1
Critical Error Level 1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 86 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-74

Check Name:	Overlapping Default Records

Related Former Checks: ARP-69B

Applicability:	General Check

Description:

Specifications:

For a Monitoring Default record with a valid ParameterCode:

If Default Purpose Code Valid is equal to true,

Locate another Monitoring Default record for the location where the ParameterCode, DefaultPurposeCode, FuelCode, and
OperatingConditionCode is equal to the ParameterCode, DefaultPurposeCode, FuelCode, and OperatingConditionCode in
the current default record, the BeginDate and BeginHour is on or after the BeginDate and BeginHour in the current record
and is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is
on or after the Default Evaluation Begin Date and Begin Hour.

If found,

return result A.

Results:

Result	Response	Severity

A	You have reported more than one concurrently active [parameter] default records for Critical Error Level 1

purpose [purpose], fuel [fuel], and operating condition [condition].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

Conditions:	Current Default Active Equals true

Environmental Protection Agency

Page 87 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-7 5

Check Name:

Default Value Consistent with Maximum Value

Related Former Checks: ARP-75A/C

Applicability:

Description:

Specifications:

General Check

For a Monitoring Default record with a valid ParameterCode

If Default Value Valid is equal to true,

If the ParameterCode is equal to "C02N",

Locate all Span records for the location where the ComponentTypeCode is equal to "C02", the BeginDate and
BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate
and EndHour is on or after the Default Evaluation Begin Date and Begin Hour.

If the MPCValue or MECValue in any of the retrieved records is greater than zero and less than the Default Value,
set Related Maximum to "MEC or MPC for C02", and return result A.

If the ParameterCode is equal to "02N",

Locate all Span records for the location where the ComponentTypeCode is equal to "02", the BeginDate and
BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate
and EndHour is on or after the Default Evaluation Begin Date and Begin Hour.

If the MPCValue or MECValue in any of the retrieved records is greater than zero and less than the Default Value,
set Related Maximum to "MEC or MPC for 02", and return result A.

If the ParameterCode is equal to "S02X",

Locate all Span records for the location where the ComponentTypeCode is equal to "S02", the SpanScaleCode is
equal to "H", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the
EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour.

If the MPCValue in any of the retrieved records is greater than zero and less than the Default Value,
set Related Maximum to "MPC for S02", and return result A.

If the ParameterCode is equal to "NOCX",

Locate all Span records for the location where the ComponentTypeCode is equal to "NOX", the SpanScaleCode is
equal to "H", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the
EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour.

If the MPCValue in any of the retrieved records is greater than zero and less than the Default Value,
set Related Maximum to "MPC for NOX", and return result A.

If the ParameterCode is equal to "FLOX",

Locate all Span records for the location where the ComponentTypeCode is equal to "FLOW", the BeginDate and
BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate
and EndHour is on or after the Default Evaluation Begin Date and Begin Hour.

If the MPFValue in any of the retrieved records is greater than zero and less than the Default Value,
set Related Maximum to "MPF", and return result A.

If the ParameterCode is equal to "MNNX",

Environmental Protection Agency

Page 88 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Locate all Monitor Default records for the location where the ParameterCode is equal to "NORX", the BeginDate
and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the
EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour.

If the DefaultValue in any of the retrieved records is greater than zero and less than the Default Value in the current
record,

set Related Maximum to "Maximum NOx Emission Rate", and return result A.

If the ParameterCode is equal to "MNGF" or "MNOF"

Locate all System FuelFlow records for the location where the associated FuelCode and the UnitsOfMeasure are
equal to the FuelCode and UnitsOfMeasure in the current default record, the BeginDate and BeginHour is on or
before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on
or after the Default Evaluation Begin Date and Begin Hour.

If the MaximumFuelFlowRate in any of the retrieved records is greater than zero and less than the Default Value,
set Related Maximum to "Maximum Fuel Flow Rate", and return result A.

If the ParameterCode is equal to "H20N",

Locate all Monitor Default records for the location where the ParameterCode is equal to "H20X", the BeginDate
and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the
EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour.

If the DefaultValue in any of the retrieved records is greater than zero and less than the Default Value in the current record,
set Related Maximum to "Maximum Percent H20", and return result A.

If the ParameterCode is equal to "MNHI",

Locate all Unit Capacity records linked to the location (or any unit linked to the location) where the BeginDate is
on or before the Default Evaluation End Date, and the EndDate is null or is on or after the Default Evaluation
Begin Date.

If the MaximumHourlyHeatlnputCapacity in any of the retrieved records is greater than zero and less than the
Default Value,

set Related Maximum to "Maximum Hourly Heat Input", and return result A.

Results:

Result	Response	Severity

A	You have reported a default value for [key] which is greater than the [maximum] for the Critical Error Level 1

location (and fuel).

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

Conditions:	Current Default Active Equals true

Environmental Protection Agency

Page 89 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-78

Check Name:	Rectangular Duct WAF Duct Width at Test Location Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If the Duct Width is null,
return result A.

Otherwise,

If the DuctWidth is equal to or less than zero,
return result B.

Results:

Result

A

B

Usage:

1

Response

You have not reported the required value in the field [fieldname] for [key].
The value [value] in the field [fieldname] for [key] is not within the range of valid
values. This value must be greater than zero.

Severity

Critical Error Level 1
Critical Error Level 1

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	WAF Evaluation

Current WAF Active Equals true

Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 90 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-79

Check Name:	Rectangular Duct WAF Duct Depth at Test Location Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If the Duct Depth is null,
return result A.

Otherwise,

If the DuctDepth is equal to or less than zero,
return result B.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

B	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values. This value must be greater than zero.

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals True

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 91 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-80

Check Name:	Rectangular Duct WAF Value Valid

Related Former Checks:	ARP-80

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If the WAFValue is null,
return result A.

If WAFValue is greater than 0 and less than 1,

If the WAFMethodCode is equal to "FT" or "AT" and the WAFValue is less than 0.9400,
return result B.

If the WAFMethodCode is equal to "DF" and the WAFValue is less than 0.9500,
return result C.

Othewise,

return result D.

Results:

Result

A

B

C
D

Usage:

1

1

Response

You have not reported the required value in the field [fieldname] for [key].

You have reported a WAFValue for [key] that is below the minimum expected value of
.9400 when using method "FT" or "AT". Please re-check your measurements and
calculations to ensure that your WAF is correct.

You have reported a WAFValue for [key] that is below the minimum expected value of
.9500 when using method "DF". Please re-check your measurements and calculations to
ensure that your WAF is correct.

The [fieldname] for [key] is not within the range of valid values. This value must be
greater than 0 and less than 1.

Severity
Fatal

Informational Message

Informational Message

Critical Error Level 1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	WAF Evaluation

Current WAF Active Equals True

Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 92 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-81

Check Name:	Rectangular Duct WAF Method of Determination Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Validation Tables:

WAF Method Code (Lookup Table)

WAF Method Code (Lookup Table)

Specifications:

For the RectangularDuctWAF record:

If the WAFMethodCode is null,
return result A.

Otherwise,

Locate the WAFMethodCode in the WAF Method Code lookup table.

If not found,

return result B.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

B	You reported the value [value], which is not in the list of valid values, in the field	Critical Error Level 1

[fieldname] for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals True

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 93 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-82

Check Name:

Rectangular Duct WAF Effective Date Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If WAFEffectiveDate is null,
return result A.

If WAFEffectiveDate is earlier than 01/01/2004 or later than the current date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 94 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-83

Check Name:

Rectangular Duct WAF Effective Hour Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If WAFEffectiveHour is null,
return result A.

If WAFEffectiveHour is less than 0 or greater than 23
return result B.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Fatal

B	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 95 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	DEFAULT-84

Check Name:	Rectangular Duct WAF End Date Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If EndDate is not null, and is earlier than 01/01/2004 or later than the current date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 96 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	DEFAULT-85

Check Name:	Rectangular Duct WAF End Hour Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 97 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-86

Check Name:	Rectangular Duct WAF Determination Date Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If WAFDeterminationDate is null,
return result A.

Otherwise,

If WAFDeterminationDate is earlier than 01/01/2004 or later than the current date,
return result B.

If WAFEffectiveDate is valid,

If the year of the WAFEffectiveDate is before the year of the WAFDeterminationDate,
return result C.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

B	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

C	You reported [datefield2] that is prior to the year of the [datefieldl] for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals True

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 98 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-87

Check Name:	Rectangular Duct WAF Number of WAF Test Runs Valid
Related Former Checks: ARP-81A

Applicability:	CEM Check
Description:

Specifications:

For the RectangularDuctWAF record:

If the NumberOfWAFTestRuns is null,
return result A.

Otherwise,

If the NumberOfWAFTestRuns is not between 1 and 99,
return result B.

If the WAFMethodCode is equal to "FT" or "AT", and the Number of WAFTestRuns is less than 3,
return result C.

Results:

Result	Response

A	You have not reported the required value in the field [fieldname] for [key].

B	The value [value] in the field [fieldname] for [key] is not within the range of valid

values from [minvalue] to [maxvalue].

C	You have reported less than 3 test runs for [key], which is not valid when using method

"FT" or "AT" to determine the WAF.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals True

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 99 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-88

CheckName:	Rectangular Duct WAF Number of Method 1 Traverse Points in WAF Test Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If the NumberOfTraversePointsWAF is null,
return result A.

Otherwise,

If the NumberOfTraversePointsWAF is not between 12 and 99,
return result B.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

B	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values from [minvalue] to [maxvalue].

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals True

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 100 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-89

Check Name:	Rectangular Duct WAF Number of Test Ports in WAF Test Valid

Related Former Checks:	ARP-81B

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If the NumberOfTestPorts is null,
return result A.

Otherwise,

If the NumberOfTestPorts is not between 1 and 99,
return result B.

If the WAFMethodCode is equal to "FT" or "AT", and the NumberOfTestPorts is less than 4,
return result C.

Results:

Result

A

B

C

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values from [minvalue] to [maxvalue].

You have reported less than 4 as the Number of Test Ports for [key], which is not valid
when using method "FT" or "AT" to determine the WAF.

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals True

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 101 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-90

CheckName:	Rectangular Duct WAF Number of Method 1 Traverse Points in Reference Flow RATA Test Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

If the NumberOfTraversePointsRef is null,
return result A.

Otherwise,

If the NumberOfTraversePointsRef is not between 12 and 99,
return result B.

Results:

Result

A

B

C

Usage:

1

If the NumberOfTraversePointsWAF is valid and is not equal to the NumberOfTraversePointsRef,
return result C.

1

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values from [minvalue] to [maxvalue].

The Number of Traverse Points in the Reference Flow RATA is not equal to the
Number of Method 1 Traverse Points in WAF Test for [key]. When you determine the
rectangular duct WAF, you must use the same number of Method 1 traverse points as
were used in conducting the Reference Flow RATA.

Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals True

Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 102 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-91

Check Name:	WAF Dates and Hours Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the RectangularDuctWAF record:

If the EndDate is valid and not null, and the EndHour is null,

set WAF Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set WAF Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set WAF Dates and Hours Consistent to false, return result C.

Otherwise,

set WAF Dates and Hours Consistent to true.

Otherwise,

set WAF Dates and Hours Consistent to false.

Results:

Result
A
B
C

Usage:

1

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

1

Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 103 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-92

Check Name:

WAF Active Status

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a RectangularDuctWAF record with consistent Dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set WAF Active to false.

Otherwise,

set WAF Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the WAF Evaluation Begin Date to the Evaluation Begin Date,
set the WAF Evaluation Begin Hour to 0.

Otherwise,

set the WAF Evaluation Begin Date to the BeginDate.
set the WAF Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the WAF Evaluation End Date to the Evaluation End Date,
set the WAF Evaluation End Hour to 23.

Otherwise,

set the WAF Evaluation End Date to the EndDate.
set the WAF Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Environmental Protection Agency

Page 104 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-93

Check Name:

Flow System reported for WAF Record

Related Former Checks: ARP-79

Applicability:

Description:

Specifications:

CEM Check

For the RectangularDuctWAF record:

Locate a MonitoringSystem record for the location where the SystemTypeCode is equal to "FLOW", the BeginDate/Hour is on or
before the WAF Evaluation End Date and End Hour, and the EndDate is null or the EndDate/EndHour is on or after the WAF
Evaluation Start Date and Start Hour.

If not found,

return result A.

Results:

Result
A

Response

You have reported [key], which indicates that a rectangular duct WAF is being applied
to the stack flow values recorded by a CEM. However, you have not reported an active
FLOW monitoring system at this location.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	WAF Evaluation

Current WAF Active Equals True

Environmental Protection Agency

Page 105 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-97

Check Name:	WAF Record Consistent with Stack Shape

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the RectangularDuctWAF record:

Locate a LocationAttribute record for the location where the ShapeCode is equal to "RECT", the BeginDate is on or before the
WAF Evaluation End Date, and the EndDate is null or the EndDate is on or after the WAF Evaluation Start Date.

If not found,

return result A.

Results:

Result	Response	Severity

A	You have reported [key], which indicates that a rectangular duct WAF is being applied Critical Error Level 1

to the stack flow values recorded by a CEM. However, the active LocationAttribute
record for the location does not indicate that the stack has a rectangular shape.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	WAF Evaluation

Conditions:	Current WAF Active Equals true

Environmental Protection Agency

Page 106 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-98

Check Name:	Default Group ID Valid

Related Former Checks:

Applicability:	LME Check

Description:

Specifications:

For the Default record with a valid ParameterCode:

If GroupID is null,

If ParameterCode is equal to "HGC" and DefaultPurposeCode is equal to "LM",
return result A.

Otherwise,

If ParameterCode is not equal to "HGC" or "NOXR", or DefaultPurposeCode is not equal to "LM",
return result B.

Results:

Result	Response	Severity

A	You did not report a GroupID for [key]. If this location does not belong to an identical Critical Error Level 1

group of units, you do not need to report the default Hg concentration in a default
record.

B	You reported a GroupID for [key], which is not appropriate for this parameter and	Critical Error Level 1

purpose.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Default Evaluation

Conditions:	Current Default Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 107 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	DEFAULT-99

Check Name:	Required Missing Data Default for NOXR LME Default

Related Former Checks:

Applicability:	LME Check

Description:

Specifications:

For a Monitoring Default record with a valid ParameterCode equal to "NOXR", a DefaultPurposeCode equal to "LM", a DefaultSourceCode
not equal to "DEF", and consistent dates:

Locate a Monitoring Default record for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode is equal
to "MD", the FuelCode is equal to the FuelCode in the current record; BeginDate and BeginHour is on or before the Default
Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation
Begin Date and Begin Hour.

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire default evaluation
period,

return result B.

Results:

Result
A

B

Response

You have reported a unit-and-fuel specific default record for [key], but you have not
reported a generic maximum NOx emission rate default value for the fuel for use during
missing data hours.

You have reported a unit-and-fuel specific default record for [key], but you have not
reported a generic maximum NOx emission rate default value for the fuel for use during
missing data hours that was active during the evaluation period.

Severity

Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Default Active Equals true

¦ Default Evaluation

Environmental Protection Agency

Page 108 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-95

Check Name:

Related Former Checks:

Duplicate Default Records

Applicability:

Description:

Specifications:

General Check

For a default record:

Locate another Default record for the location with a ParameterCode that is equal to the ParameterCode in the current record and a
DefaultPurposeCode equal to the DefaultPurposeCode in the current record and a FuelCode equal to the FuelCode in the current
record and an OperatingConditionCode equal to the OperatingConditionCode in the current record and a BeginDate/Hour equal to
the BeginDate/Hour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null.,

Locate another Default record for the location with a ParameterCode that is equal to the ParameterCode in the current
record and a DefaultPurposeCode equal to the DefaultPurposeCode in the current record and a FuelCode equal to the
FuelCode in the current record and an OperatingConditionCode equal to the OperatingConditionCode in the current record
and an End Date/Hour equal to the EndDate/Hour in the current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Environmental Protection Agency

Page 109 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

DEFAULT-96

Check Name:

Duplicate WAF Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a RectangularDuctWAFData record:

Locate another RectangularDuctWAFData record for the location with a BeginDate/Hour equal to the BeginDate/Hour in the current
record.

If found,

return result A.

If not found, and the EndDate in the current record is not null.,

Locate another RectangularDuctWAFData record for the location with an End Date/Hour equal to the EndDate/Hour in the
current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 110 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Formula

Environmental Protection Agency

Page 111 of413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-1

Check Name:

Formula Begin Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For the Formula record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Formula Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Environmental Protection Agency

Page 112 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

Check Name:

Related Former Checks:

Applicability:

Description:

Specifications:

For the Formula record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

FORMULA-2
Formula Begin Hour Valid

General Check

Results:

Result

A

B

Usage:

1

1

Response

You did not provide [fieldname], which is required, for [key].

You reported a [Fieldname] of [Hour], which is outside the range of acceptable values

for this hour for [key].

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Formula Evaluation

Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 113 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	FORMULA-3

Check Name:	Formula End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Formula record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Formula Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Environmental Protection Agency

Page 114 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	FORMULA-4

Check Name:	Formula End Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Formula record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Formula Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Environmental Protection Agency

Page 115 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FORMULA-5

Check Name:	Formula Dates and Hours Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Formula record:

If the EndDate is valid and not null, and the EndHour is null,

set Formula Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set Formula Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set Formula Dates and Hours Consistent to false, return result C.

Otherwise,

set Formula Dates and Hours Consistent to true.

Otherwise,

set Formula Dates and Hours Consistent to false.

Results:

Result
A
B
C

Usage:

1

1

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Formula Evaluation

Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 116 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-6

Check Name:

Formula Active Status

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Formula record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current Formula Active to false.

Otherwise,

set Current Formula Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Formula Evaluation Begin Date to the Evaluation Begin Date.
Set the Formula Evaluation Begin Hour to 0.

Otherwise,

set the Formula Evaluation Begin Date to the BeginDate.

Set the Formula Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the Formula Evaluation End Date to the Evaluation End Date.
Set the Formula Evaluation End Hour to 23.

Otherwise,

set the Formula Evaluation End Date to the EndDate.

Set the Formula Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	Formula Evaluation

Environmental Protection Agency

Page 117 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-7

Check Name:

Formula ID Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For the Formula record:

If the FormulalD is null,
return result A.

If the FormulalD does not consist of 3 alphanumeric characters:
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The FormulalD [ID] has an invalid format. A FormulalD must contain three

alphanumeric characters.

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Environmental Protection Agency

Page 118 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-8

Check Name:

Formula Parameter Code Valid

Related Former Checks:
Applicability:

General Check

Description:

Validation Tables:

Parameter to Category (Cross Check Table)

Parameter to Category (Cross Check Table)

Specifications:

For a Formula record:

If the ParameterCode is null,
return result A.

Otherwise,

Locate a record in the List of Formula Parameter Codes (Parameter to Category Cross Check Table) where the
ParameterCode is equal to the ParameterCode in the current Formula record and the CategoryCode is equal to

"FORMULA".

If not found,

return result B.

If found,

Locate a Used Identifier record for the location where the Table Code is equal to "F" and the Identifier is equal to
the Formula ID in the Formula record.

If found,

If the ParameterCode is not equal to the Type or Parameter Code in the retrieved record,
return result C.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

You have changed the ParameterCode for [key] from its previously reported value. You
should only do this to correct invalid data. If you are using a different equation to
calculate emissions, you should add a new formula.

Severity
Fatal

Critical Error Level

C

Critical Error Level 2

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Environmental Protection Agency

Page 119 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-9

Check Name:

Formula Code Valid

Related Former Checks: ARP-6, NBP-30

Applicability:

General Check

Description:

Validation Tables:

Equation Code (Lookup Table)

Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table)
Equation Code (Lookup Table)

Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table)
Specifications:

For the Formula record with a valid ParameterCode:

Set 02 Component Required to false.

Set Moisture Method Required to false.

Set Formula Code Valid to true.

If the FormulaCode is null,

Locate the FormulaCode in the Formula Code Lookup Table.

If not found,

set Formula Code Valid to false, and return result B.

If found,

If the Moisture Indicator in the lookup table is equal to 1,
set Moisture Method Required to true.

Locate a record in the Formula Parameter and Component Type and Basis to Formula Code cross check table
where the ParameterCode and FormulaCode are equal to the ParameterCode and FormulaCode in the Formula
record.

If not found,

set Formula Code Valid to false, and return result C.

If found,

If Component Type and Basis begins with "02",
set 02 Component Required to true.

Locate a Used Identifier record for the location where the Table Code is equal to "F" and the Identifier is
equal to the Formula ID in the Formula record.

If found and the Formula or Basis Code is not null,

If the FormulaCode is not equal to the Formula or Basis Code in the retrieved record,
return result D.

If the FormulaText is null,
return result A.

Otherwise,

Environmental Protection Agency

Page 120 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B
C
D

Usage:

1

1

Response

You did not report a formula code or formula text for [key]. If using a standard formula,
you should report the formula code for that formula; otherwise, you must provide a
formula text for the formula.

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have reported a [value] formula which is inappropriate for the ParameterCode
[parameter] for [key].

You have changed the FormulaCode for [key] from its previously reported value. You
should only do this to correct invalid data. If you are using a different equation to
perform emissions calculations, you should add a new formula.

Severity

Critical Error Level 1

Fatal

Critical Error Level 1

Critical Error Level 2

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Environmental Protection Agency

Page 121 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-11

Check Name:

Related Former Checks:

Heat Input Apportionment/Summary Formula Valid

Applicability:

Description:

Specifications:

General Check

For a Formula record with a ParameterCode equal to "HI" and a FormulaCode equal to "F-21A", "F-21B", "F-21C1, "F-21D", or "F-25":

Locate a Monitoring Method records for the location where the ParameterCode is equal to "HI", the MethodCode contains "CALC",
the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the End Date is null or the
EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If found,

If FormulaCode is equal to "F-25" and Location Type is not equal to "CS", or if FormulaCode begins with "F-21" and the
Location Type is not equal to "US", "UP", or "UB",
return result B.

If the FormulaCode is equal to "F-21A",

Locate a Monitor Load record for the location where the Units of Measure is equal to "KLBHR" or
"MMBTUHR", the BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or
on or after the Formula Evaluation Begin Date.

If found,

return result C.

If the FormulaCode is equal to "F-21B",

Locate a Monitor Load record for the location where the Units of Measure is equal to "MW", the
BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or on or after the
Formula Evaluation Begin Date.

If found,

return result C.

If the FormulaCode is equal to "F-21D",

Locate a Unit Stack Configuration where the unit location is the location in the Formula record, the
associated StackPipelD begins with "CP", the BeginDate is on or before the Formula Evaluation End Date,
and the EndDate is null or is on or after the Formula Evaluation Begin Date.

If not found,

return result D.

Locate a Monitoring Method record where the location is any of the stack/pipe locations in the
retrieved Unit Stack Configuration records, the ParameterCode is equal to "HI", the MethodCode
is equal to "AD", the BeginDate is on or before the Formula Evaluation End Date, and the
EndDate is null or on or after the Formula Evaluation Begin Date.

If not found,

Otherwise,

If found,

Environmental Protection Agency

Page 122 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

return result D.

Results:

Result	Response

A	You have reported [key], but you have not reported a [method] method record, which is

required for a [parameter] [code] formula, during the evaluation period.

B	You have reported a [parameter] [code] formula for [key], which is inappropriate for a

[Location Type].

C	You reported [key], which is an [Code] heat input apportionment formula, but this

formula code is not consistent with the units of measure in the active load record for the
unit.

D	You reported [key], which indicates that you apportion heat input from a common pipe

with an uncertified fuel flowmeter, but the unit is not linked to a common pipe that is
using an Appendix D methodology to determine heat input.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Formula Evaluation

Conditions:	Current Formula Active Equals true

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 123 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FORMULA-12

Check Name:	Formula Parameter and Code Consistent with Method and Fuel

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Formula record with a valid ParameterCode and a valid FormulaCode:

If the FormulaCode is equal to "F-23"

Locate a Monitoring Method records for the location with a ParameterCode equal to "S02", a MethodCode containing
"F23", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End Date
that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

set Appropriate Method for Formula to "S02/F23", return result A.

If the FormulaCode is equal to "F-24A",

Locate a Monitoring Method records for the location with a ParameterCode equal to "NOX", a MethodCode containing
"NOXR", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End
Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

set Appropriate Method for Formula to "NOX/NOXR", return result A.

If the FormulaCode is equal to "F-28",

Locate a Monitoring Method records for the location with a ParameterCode equal to "HGM", a MethodCode beginning
with "CEM" or equal to "LME", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End
Hour, and an End Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and
Begin Hour.

If not found,

set Appropriate Method for Formula to "HGM CEM or LME", return result A.

If the FormulaCode is equal to "F-29",

Locate a Monitoring Method records for the location with a ParameterCode equal to "HGM", a MethodCode beginning
with "CEM" or equal to " AK", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End
Hour, and an End Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and
Begin Hour.

If not found,

set Appropriate Method for Formula to "HGM CEM or AK", return result A.

If the FormulaCode is equal to "G-l", "G-2", "G-3", "G-5", "G-6", or "G-8",

Locate a Monitoring Method records for the location with a ParameterCode equal to "C02M", a MethodCode containing
"FSA", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End Date
that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

set Appropriate Method for Formula to "C02M/FSA", return result A.

If found, and FormulaCode is equal to "G-2" or "G-3",

Locate a Unit Fuel record for the location with a FuelCode equal to "C", a BeginDate that is on or before the
Formula Evaluation End Date, and an End Date that is null or is on or after the Formula Evaluation Begin Date.

If not found,

return result B.

Environmental Protection Agency

Page 124 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

Response

You have reported [key], but you have not reported a [method] method record, which is
required for a [parameter] [code] formula, during the evaluation period.

You have reported [key], but the unit is not burning coal, which is required when using
this formula.

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 125 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-13

Check Name:

Formula Parameter and Code Consistent with System or Fuel

Related Former Checks: ARP-7, ARP-86

Applicability:
Description:
Validation Tables:

General Check

Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table)
Specifications:

For a Formula record with a valid ParameterCode and a valid FormulaCode:

If the FormulaCode is equal to "D-12", "D-15A", or "G-4A",

Locate all Monitor System records for the location where the SystemTypeCode is equal to "OILM", "OILV", or "GAS",
SystemDesignationCode is equal to "P", the BeginDate and BeginHour is on or before the Formula Evaluation End Date
and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and
Begin Hour.

If less than two are found, or if the BeginDate/BeginHour and EndDate/EndHour of any pair of system records do not
overlap during the evaluation period, AND the location is a unit,

Locate all Monitor System records for the location and all common pipe locations linked to the location where the
SystemTypeCode is equal to "OILM", "OILV", or "GAS", SystemDesignationCode is equal to "P", the BeginDate
and BeginHour (or intersection between the BeginDate and BeginHour of the System and the associated Unit Stack
Configuration records) is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null (or
EndDate of the System and the associated UnitStackConfiguration record are both null) or EndDate and EndHour
(or intersection between the EndDate and EndHour of the System and the associated Unit Stack Configuration
record) is on or after the Formula Evaluation Begin Date and Begin Hour.

If less than two are found, or if the BeginDate/BeginHour and EndDate/EndHour of any pair of system records do not
overlap during the evaluation period,

If at least one system record is found,

Locate a Fuel Record for the location where the FuelGroup is equal to "GAS" or "OIL", the IndicatorCode
is equal to "I" or "E", BeginDate and BeginHour is on or before the Formula Evaluation End Date and End
Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin
Date and Begin Hour.

If the Formula Code is equal to "D-15A",

Locate a Formula record for the location where the FormulaCode is equal to "F-21A",
"F-21B", or "F-21D", the BeginDate and BeginHour is on or before the Formula
Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour
is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found, or if the BeginDate/BeginHour of any retrieved formula record does not
overlap any of the retrieved system records during the evaluation period,

If not found,

Set the Appropriate System or Component for Formula to "oil or gas", and return
result A.

Otherwise,

Set the Appropriate System or Component for Formula to "oil or gas", and return result A.

Environmental Protection Agency

Page 126 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Otherwise,

Set the Appropriate System or Component for Formula to "oil or gas", and return result A.

If the FormulaCode is equal to "E-2",

Locate all Monitor System records for the location where the SystemTypeCode is equal to "NOXE", the FuelCode is not
equal to "MIX", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the
EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

If less than two are found, or if the BeginDate/BeginHour and EndDate/EndHour of any pair of system records do not
overlap during the evaluation period,

Set the Appropriate System or Component for Formula to "NOXE", and return result A.

If the FormulaCode is equal to "D-3",

Locate a Monitoring System record for the location where the SystemType is equal to "OILV", the BeginDate and
BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

Set the Appropriate System or Component for Formula to "OILV", and return result B.

If the FormulaCode is equal to "N-GAS",

Locate a Monitoring System record for the location where the SystemType is equal to "GAS", the BeginDate and
BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked
during the formula evaluation period (via the System Component table) to at least two concurrently active Component
records with a ComponentTypeCode equal to "GFFM" or "BGFF".

If not found,

Set the Appropriate System or Component for Formula to "GAS", and return result C.

If the FormulaCode is equal to "N-OIL",

Locate a Monitoring System record for the location where the SystemType is equal to "OILM" or "OILV", the BeginDate
and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked
during the formula evaluation period (via the System Component table) to at least two concurrently active Component
records with a ComponentTypeCode equal to "OFFM" or "BOFF".

If not found,

Set the Appropriate System or Component for Formula to "OILM or OILV", and return result C.

If the FormulaCode is equal to "X-FL" or "T-FL",

Locate a Monitoring System record for the location where the SystemType is equal to "FLOW", the BeginDate and
BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked
during the formula evaluation period (via the System Component table) to at least two concurrently active Component
records with a ComponentTypeCode equal to "FLOW".

If not found,

Set the Appropriate System or Component for Formula to "FLOW", and return result C.

If the ParameterCode is equal to "H20",

Locate a Monitoring System record for the location where the SystemType is equal to "H20", the BeginDate and
BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

Environmental Protection Agency

Page 127 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If not found,

Set the Appropriate System or Component for Formula to "H20", and return result B.

If the ParameterCode is equal to "HGC",

Locate a Monitoring System record for the location where the SystemType is equal to "HGK", the BeginDate and
BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

Set the Appropriate System or Component for Formula to "HGK", and return result B.

If the ParameterCode is equal to "HGM",

Locate a Monitor Method record for the location where the ParameterCode is equal to "HGM", the MethodCode contains
"CEM", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is
null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

If found,

Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table
where the ParameterCode and FormulaCode are equal to the ParameterCode and FormulaCode in the Formula
record and the ComponentTypeAndBasis is not null.

Locate a System Component record for the location where the concatenated ComponentTypeCode + BasisCode is
equal to the ComponentTypeAndBasis in any of the retrieved cross-check records, the BeginDate and BeginHour is
on or before the earlier of the Method EndDate/EndHour and the Formula Evaluation End Date/End Hour, and the
EndDate is null or the EndDate and EndHour is on or after the later of the Method BeginDate/BeginHour and the
Formula Evaluation Begin Date/Begin Hour.

If not found,

Set the Appropriate System or Component for Formula to the list of ComponentTypeAndBasis values in
the retrieved cross-check records, and return result D.

Otherwise,

Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the
ParameterCode and FormulaCode are equal to the ParameterCode and FormulaCode in the Formula record and the
ComponentTypeAndBasis is not null.

If found,

If the ParameterCode is equal to "NOXR",

For each of the retrieved cross-check records where ComponentTypeAndBasis does not equal "02B",

If the ComponentTypeAndBasis begins with "02",

Locate a Monitoring System record for the location where the SystemType is equal to
"NOX", the BeginDate and BeginHour is on or before the Formula Evaluation End Date
and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the
Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is
linked during the formula evaluation period (via the System Component table) to
Component records with a concatenated ComponentTypeCode + BasisCode equal to the
ComponentTypeAndBasis in the cross-check record or "02B",

If not found,

Set the Appropriate System or Component for Formula to "NOX", and return

Environmental Protection Agency

Page 128 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

result B.

Otherwise,

Locate a Monitoring System record for the location where the SystemType is equal to
"NOX", the BeginDate and BeginHour is on or before the Formula Evaluation End Date
and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the
Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is
linked during the formula evaluation period (via the System Component table) to
Component records with a concatenated ComponentTypeCode + BasisCode equal to the
ComponentTypeAndBasis in the retrieved cross-check records.

If not found,

Set the Appropriate System or Component for Formula to "NOX", and return
result B.

If the ParameterCode is equal to "S02R",

For each of the retrieved cross-check records,

If the ComponentTypeAndBasis begins with "02",

Locate a Monitoring System record for the location where the SystemType is equal to
"S02R", the BeginDate and BeginHour is on or before the Formula Evaluation End Date
and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the
Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is
linked during the formula evaluation period (via the System Component table) to
Component records with a concatenated ComponentTypeCode + BasisCode equal to the
ComponentTypeAndBasis in the cross-check record or "02B",

If not found,

Set the Appropriate System or Component for Formula to "S02R", and return
result B.

Otherwise,

Locate a Monitoring System record for the location where the SystemType is equal to
"S02R", the BeginDate and BeginHour is on or before the Formula Evaluation End Date
and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the
Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is
linked during the formula evaluation period (via the System Component table) to
Component records with a concatenated ComponentTypeCode + BasisCode equal to the
ComponentTypeAndBasis in the retrieved cross-check records.

If not found,

Set the Appropriate System or Component for Formula to "S02R", and return
result B.

Otherwise,

Locate a System Component record for the location where the concatenated ComponentTypeCode +
BasisCode is equal to the ComponentTypeAndBasis in an^ of the retrieved cross-check records, the
BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the
EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin
Hour.

If not found,

If the ComponentTypeAndBasis in any of the retreived cross-check records is equal to "GFFM" or
"BGFF",

Environmental Protection Agency

Page 129 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Locate a Fuel Record for the location where the FuelGroup is equal to "GAS", the
IndicatorCode is equal to "I" or "E", BeginDate and BeginHour is on or before the
Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

If found,

exit this check with no result.

If the ComponentTypeAndBasis in any of the retreived cross-check records is equal to "OFFM" or
"BOFF",

Locate a Fuel Record for the location where the FuelGroup is equal to "OIL", the
IndicatorCode is equal to "I" or "E", BeginDate and BeginHour is on or before the
Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Formula Evaluation Begin Date and Begin Hour.

If found,

exit this check with no result.

Set the Appropriate System or Component for Formula to the list of ComponentTypeAndBasis
values in the retrieved cross-check records, and return result D.

Results:

Result

Response

Severity

A

You reported [key], which is a [parameter] summation formula for multiple fuels, but
you did not report two [system type] systems during the evaluation period.

Critical Error Level 1

B

You reported [key], but you did not report a [system type] monitoring system that is
appropriate for a [parameter] [code] formula.

Critical Error Level 2

C

You reported a [parameter] formula for [key], but you have not reported a [system type]
system containing more than one component to measure flow.

Critical Error Level 1

D

You reported [key], but you did not report a component with a component type code and

Critical Error Level 2

basis code that is appropriate for the formula. A [parameter] [code] formula requires a
[component and basis] component.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Formula Evaluation

Conditions:	Current Formula Active Equals true

Environmental Protection Agency

Page 130 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-14

Check Name:

Formula Code Consistent with Fuel

Related Former Checks: NBP-32
Applicability:	General Check

Description:

Specifications:

For a Formula record with a ParameterCode equal to "S02" and a FormulaCode equal to "F-23" or "D-5",

If FormulaCode is equal to "D-5",

Locate a Unit Fuel record linked to the location where the FuelCode is equal to "PNG" or "NNG", the BeginDate is on or
before the Formula Evaluation End Date, and the EndDate is null or on or after the Formula Evaluation Begin Date.

If not found,

return result A.

If FormulaCode is equal to "F-23",

Locate a Unit Fuel record linked to the location where the associated FuelGroup is equal to "GAS" or "OIL", the BeginDate
is on or before the Formula Evaluation End Date, and the EndDate is null or on or after the Formula Evaluation Begin Date.

If not found,

return result A.

Results:

Result
A

You reported [key], but you did not burn natural gas at the unit, which is required when Critical Error Level 1
using a [Code] formula.

Response

Severity

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 131 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-15

Check Name:

Required H20 Method Reported for Formula

Related Former Checks: ARP-46

Applicability:

General Check

Description:

Specifications:

For a Monitor Formula record with a valid ParameterCode and a valid FormulaCode:
Set Moisture Default Required to false.

If Moisture Method Required equal to true:

Locate all Monitoring Method records for the location with a ParameterCode equal to "H20", a BeginDate and BeginHour
on or before the Formula Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that
is on or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If found,

If the MethodCode in any of the retrieved records is equal to "MMS", "MWD", or "MTB",
set Moisture Default Required to true.

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved method records do not span the entire formula
evaluation period,

return result B.

Results:

Result
A

You have reported a [code] formula for [key] that requires moisture correction, but you Critical Error Level 1
have not defined a methodology that was active during the evaluation period for
determining H20.

You have reported a [code] formula for [key] which requires moisture correction, but Critical Error Level 1
you have not reported H20 method records that span the entire evaluation period.

Response

Severity

B

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 132 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-16

Check Name:

Required Formula Reported for F-Factor Formula

Related Former Checks:
Applicability:

CEM Check

Description:

Validation Tables:

Formula Code to F-Factor Parameter (Cross Check Table)

Specifications:

For a Monitor Formula record with a ParameterCode equal to "FD", "FC", or "FW", and a valid FormulaCode:

Locate all records in the Formula Code to F-Factor Parameter cross-check table where the ParameterCode is equal to the
ParameterCode in the formula record.

Locate all Monitor Formula records for the location where the FormulaCode is equal to the FormulaCode in anx of the retrieved
cross-check records, a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an
EndDate that is null or an EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire formula
evaluation period,

return result B.

If not found,

return result A.

Results:

Result
A

Response

You have reported an F-factor formula [Formula ID], but no corresponding formulas
that were active during the evaluation period that require the use of an F-factor.
You have reported an F-factor formula [Formula ID], but the corresponding formulas
that use the F-factor do not span the entire evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 133 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FORMULA-17

Check Name:

Required Defaults Reported for Formula

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a Monitor Formula record with a ParameterCode equal to "HI" and a valid FormulaCode:

Set Missing Default for Formula to null.

Set Incomplete Default for Formula to null.

If 02 Component Required is equal to true.

Locate a MonitorDefault record for the location where the ParameterCode is equal to "02N", the BeginDate and BeginHour
is on or before the Formula Evaluation End Date and End Hour, and the End Date is null or the EndDate and EndHour is on
or after the Formula Evaluation Begin Date and Begin Hour.

If not found,

append "02N" to Missing Default for Formula.

If found, and the retrieved records do not span the entire formula evaluation periods,
append "02N" to Incomplete Default for Formula.

If Missing Default for Formula is not null, and Incomplete Default for Formula is null,
return result A.

If Missing Default for Formula is null, and Incomplete Default for Formula is not null,
return result B.

If Missing Default for Formula is not null, and Incomplete Default for Formula is not null,
return result C.

Results:

Result
A

Response

You did not report [missing] default record(s) that was/were active during the evaluation
period for this location. These defaults are required when using formula code [code] to
calculate HI during missing data situations.

You did not report [incomplete] default record(s) for this location for the entire
evaluation period. These defaults are required when using formula code [code] to
calculate HI during missing data situations.

You did not report [missing] default record(s) that was/were active during the evaluation
period for this location. Also, you did not report [incomplete] default record(s) that are
active for the entire evaluation period. These defaults are required when using formula
code [code] to calculate HI during missing data situations.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 134 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FORMULA-18

Check Name:	Duplicate Formula Records

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Formula record:

Locate another Formula record for the location with a FormulalD that is equal to the FormulalD in the current record.

If found,

return result A.

Results:

Result	Response	Severity

A	Another [recordtype] record already exists with the same [fieldnames].	Fatal

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation

Environmental Protection Agency

Page 135 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

Check Category:
Fuel

12/12/2012 12:00:00AM

Environmental Protection Agency

Page 136 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUEL-39

Check Name:	Fuel Active Status

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a UnitFuelData record with consistent Dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Fuel Active to false.

Otherwise,

set Fuel Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Fuel Evaluation Begin Date to the Evaluation Begin Date.

Otherwise,

set the Fuel Evaluation Begin Date to the BeginDate.

If the EndDate is null or is after the Evaluation End Date,

set the Fuel Evaluation End Date to the Evaluation End Date.

Otherwise,

set the Fuel Evaluation End Date to the EndDate.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Environmental Protection Agency

Page 137 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUEL-40

Check Name:

Unit Fuel Demonstration GCV Valid

Related Former Checks:
Applicability:

General Check

Description:

Validation Tables:

Dem Method Code (Lookup Table)

Dem Method Code (Lookup Table)

Specifications:

For the UnitFuelData record with a DemGCV that is not null:

Locate record in the Fuel Demonstration Method lookup table where the DEM_PARAMETER is equal to 'GCV' and the
Dem_Method is equal to the DemGCV in the current UnitFuelData record.

If not found,

return result A.

If found, and the Fuel Group is not null,

If the Fuel Group is not equal to "GAS" or "OIL",
return result B.

Results:

Result
A

Response

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have provided the demonstration method for GCV monthly fuel sampling or %S
daily or annual fuel sampling for [key] but this information is not appropriate for this

Severity

Critical Error Level 1

B

Critical Error Level 1

fuel.

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Current Fuel Active Equals true

Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 138 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUEL-41

Check Name:

Unit Fuel Demonstration S02 Valid

Related Former Checks: ARP-32A

Applicability:

General Check

Description:

Validation Tables:

Dem Method Code (Lookup Table)

Dem Method Code (Lookup Table)

Specifications:

For the UnitFuelData record with a DemS02 that is not null:

Locate record in the Fuel Demonstration Method lookup table where the DEM_PARAMETER is equal to 'SULFUR' and the
Dem_Method is equal to the DemS02 in the current UnitFuelData record.

If not found,

return result A.

If found, and the Fuel Group is not null,

If the Fuel Group is not equal to "GAS" or "OIL",

return result B.

Results:

Result
A

Response

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have provided the demonstration method for GCV monthly fuel sampling or %S
daily or annual fuel sampling for [key] but this information is not appropriate for this

Severity

Critical Error Level 1

B

Critical Error Level 1

fuel.

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Current Fuel Active Equals true

Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 139 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUEL-42

Check Name:

Unit Fuel Begin Date Valid

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the UnitFuelData record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1930 or later than Maximum Future Date,
return result B.

If either the Commence Operation Date or Commercial Operation Date of the unit is not null, and the BeginDate is prior to the
earlier of the Commence Operation Date or Commercial Operation Date,

return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

You reported a BeginDate of [date], which is earlier than the date reported as the
commence operation (CO) or commence commercial operation (CCO) date. If the fuel
began to be used between the CO and CCO dates and you have only reported the CCO
date, use the CCO date as the BeginDate to eliminate this error.

Severity
Fatal

Critical Error Level 1

C

Non-Critical Error

Usage:

Process/Category: Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 140 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	FUEL-43

Check Name:	Unit Fuel End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitFuelData record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Fuel Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 141 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUEL-44

Check Name:	Fuel Dates Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitFuelData record:

If the BeginDate is valid and the EndDate is valid,

If EndDate is not null, and the BeginDate is after the EndDate,
set Fuel Dates Consistent to false, and return result A.

Otherwise,

set Fuel Dates Consistent to true.

Otherwise,

set Fuel Dates Consistent to false.

Results:

Result	Response	Severity

A	You reported [datefield2] which is prior to [datefieldl] for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Fuel Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 142 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUEL-45

Check Name:

Unit Fuel Code Valid

Related Former Checks:
Applicability:

General Check

Description:

Validation Tables:

Fuel Code (Lookup Table)
Fuel Code (Lookup Table)

Specifications:

For the UnitFuelData record:

If the FuelCode is null,
return result A.

Otherwise,

Locate FuelCode in the Fuel Code Lookup Table.

If found,

set Fuel Group to the Fuel Group in the retrieved record.

If not found,

return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Current Fuel Active Equals true

Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 143 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUEL-46

Check Name:	Fuel Consistent with Unit Type

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Fuel record with a FuelCode equal to "C":

Locate all Unit Type records for the unit where the UnitTypeCode is equal to "CT", "CC", "ICE", or "OT", the BeginDate is on or
before the Fuel Evaluation End Date, and the EndDate is null or is on or after the Fuel Evaluation Start Date.

If found,

return result A.

Results:

Result	Response	Severity

A	The fuel type for [key] is not appropriate for this type of unit.	Non-Critical Error

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Conditions:	Current Fuel Active Equals true

Environmental Protection Agency

Page 144 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUEL-48

Check Name:

Fuel Demonstration Methods Consistent with Method

Related Former Checks: ARP-32B

Applicability:

General Check

Description:

Specifications:

For the Unit Fuel record with a valid non-null DemGCV or a valid non-null DemS02:

Locate a MonitoringMethod record where the location is the unit in the fuel record, the MethodCode begins with "AD", a BeginDate
that is on or before the Fuel Evaluation End Date, and an EndDate that is null or is on or after the Fuel Evaluation Start Date.

Locate all UnitStackConfiguration records where the unit location is unit in the Unit Fuel record, the associated
StackPipelD begins with "CP" or "MP", the BeginDate is on or before the Fuel Evaluation End Date, and the EndDate is
null or is on or after the Fuel Evaluation Start Date.

If no UnitStackConfiguration records are found,
return result A.

Locate MonitoringMethod records where the location is any stack/pipe location in the retrieved Unit Stack
Configuration records, the MethodCode begins with "AD", the BeginDate is on or before the Fuel Evaluation End
Date, and the EndDate is null or is on or after the Fuel Evaluation Start Date.

If no records are found,
return result A.

If not found,

Otherwise,

Results:

Result
A

Response

You have provided the demonstration method for GCV monthly fuel sampling or for %S
daily or annual fuel sampling for [key], but you did not indicate the use of Appendix D
for this unit.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Current Fuel Active Equals true

Environmental Protection Agency

Page 145 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUEL-49

Check Name:	Unit Fuel Ozone Season Indicator Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the UnitFuelData record:

If the OzoneSeasonlndicator is equal to " 1" and the IndicatorCode is not equal to " S",
return result A.

Results:

Result	Response	Severity

A	The ozone season indicator only applies to secondary fuels, but you have reported this Critical Error Level 1

indicator for a non-secondary fuel for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Conditions:	Current Fuel Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 146 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUEL-51

Check Name:	Unit Fuel Primary/Secondary Indicator Code Valid

Related Former Checks:

Applicability:	General Check

Description:

Validation Tables:

Indicator Code (Lookup Table)

Indicator Code (Lookup Table)

Specifications:

For the UnitFuelData record:

If the IndicatorCode is null,
return result A.

Otherwise,

Locate IndicatorCode in the Fuel Indicator Code Lookup Table.

If not found,

return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

1

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Unit Fuel Evaluation

Current Fuel Active Equals true

Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 147 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUEL-52

Check Name:

Related Former Checks:

Duplicate Unit Fuel Records

Applicability:

Description:

Specifications:

General Check

For a Unit Fuel record:

Locate another Fuel record for the location with a FuelCode equal to the FuelCode in the current record and BeginDate that is equal
to the BeginDate in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null,

Locate another UnitFuel record for the unit with a FuelCode equal to the FuelCode in the current record and EndDate that is
equal to the EndDate in the current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation

Environmental Protection Agency

Page 148 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Fuel Flow

Environmental Protection Agency

Page 149 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUELFLW-2

Check Name:	Fuel Flow Maximum Fuel Flow Rate Valid

Related Former Checks:

Applicability:	Appendix D Check

Description:

Specifications:

For a MonitoringSystemFuelFlowData record:

If the MaximumFuelFlowRate is null,
return result A.

Otherwise,

If the MaximumFuelFlowRate is not greater than zero,
return result B.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Fatal

B	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values. This value must be greater than zero.

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Conditions:	Current Fuel Flow Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 150 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUELFLW-3

Check Name:

Fuel Flow Begin Date Valid

Related Former Checks:
Applicability:

Appendix D Check

Description:

Specifications:

For a MonitoringSystemFuelFlowData record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 151 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUELFLW-4

Check Name:	Fuel Flow Begin Hour Valid

Related Former Checks:

Applicability:	Appendix D Check

Description:

Specifications:

For a MonitoringSystemFuelFlowData record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

Results:

Result

A

B

Usage:

1

1

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Hour], which is outside the range of acceptable values

for this hour for [key].

Process/Category:
Process/Category:

Severity

Critical Error Level 1
Critical Error Level 1

Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 152 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	FUELFLW-5

Check Name:	Fuel Flow End Date Valid

Related Former Checks:

Applicability:	Appendix D Check

Description:

Specifications:

For a MonitoringSystemFuelFlowData record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System FuelFlow Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 153 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	FUELFLW-6

Check Name:	Fuel Flow End Hour Valid

Related Former Checks:

Applicability:	Appendix D Check

Description:

Specifications:

For a MonitoringSystemFuelFlowData record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System FuelFlow Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 154 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUELFLW-7

Check Name:	Fuel Flow Dates and Hours Consistent

Related Former Checks:

Applicability:	Appendix D Check

Description:

Specifications:

For a MonitoringSystemFuelFlowData record:

If the EndDate is valid and not null, and the EndHour is null,

set System FuelFlow Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set System FuelFlow Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set System FuelFlow Dates and Hours Consistent to false, return result C.

Otherwise,

set System FuelFlow Dates and Hours Consistent to true.

Otherwise,

set System FuelFlow Dates and Hours Consistent to false.

Results:

Result
A
B
C

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category: Monitoring Plan Evaluation Report	System FuelFlow Evaluation

1

Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 155 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUELFLW-8

Check Name:

Fuel Flow Maximum Fuel Flow Rate Source Code Valid

Related Former Checks:
Applicability:

Appendix D Check

Description:

Validation Tables:

Max Rate Source Code (Lookup Table)

Max Rate Source Code (Lookup Table)

Specifications:

For a MonitoringSystemFuelFlowData record:

If the MaximumFuelFlowRateSourceCode is null,
return result A.

Otherwise,

Locate the MaximumFuelFlowRateSourceCode in the Fuel Flow Maximum Rate Source Code Lookup Table.

If not found,

return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Current Fuel Flow Active Equals true

Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 156 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	FUELFLW-10

Check Name:	Fuel Flow Units of Measure Code Valid

Related Former Checks:	NBP-67

Applicability:	Appendix D Check
Description:

Validation Tables:

Parameter UOM (Complex Lookup Table)

System Type Code (Complex Lookup Table)

Units Of Measure Code (Lookup Table)

Parameter UOM (Complex Lookup Table)

System Type Code (Complex Lookup Table)

Units Of Measure Code (Lookup Table)

Specifications:

For a MonitoringSystemFuelFlowData record:

If the UnitsOfMeasureCode is null,
return result A.

Otherwise,

Locate the MonitoringSystemFuelFlowData UnitsOfMeasureCode in the Parameter Units of Measure Lookup Table where
the ParameterCode is equal to the System Parameter Code and the UnitsOfMeasure is equal to the UnitsOfMeasure in the
MonitoringSystemFuelFlowData record.

If not found,

Locate the UnitsOfMeasure in the Units of Measure Code Lookup Table.

If not found,

return result B.

If found,

return result C.

Results:

Result

A

B

C

Response

You did not provide [fieldname], which is required, for [key].

You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

You defined a Units of Measure of [value] that is inappropriate for the system type for
[key].

Severity

Fatal

Fatal

Critical Error Level 1

Usage:

1

1

Process/Category: Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Conditions:	Current Fuel Flow Active Equals true

Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 157 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUELFLW-11

Check Name:

Fuel Flow Active Status

Related Former Checks:
Applicability:

Appendix D Check

Description:

Specifications:

For a MonitoringSystemFuelFlowData record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current Fuel Flow Active to false.

Otherwise,

set Current Fuel Flow Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Fuel Flow Evaluation Begin Date to the Evaluation Begin Date,
set the Fuel Flow Evaluation Begin Hour to 0.

Otherwise,

set the Fuel Flow Evaluation Begin Date to the BeginDate.
set the Fuel Flow Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the Fuel Flow Evaluation End Date to the Evaluation End Date,
set the Fuel Flow Evaluation End Hour to 23.

Otherwise,

set the Fuel Flow Evaluation End Date to the EndDate.
set the Fuel Flow Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Environmental Protection Agency

Page 158 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUELFLW-17

Check Name:

Related Former Checks:

Overlapping Fuel Flow Records

Applicability:

Description:

Specifications:

Appendix D Check

For a SystemFuelFlow record with consistent dates:

Locate another SystemFuelFlow record for the system with a BeginDate/BeginHour that is on or after the BeginDate/BeginHour in
the current record and is on or before the Fuel Flow Evaluation End Date/Hour, and an EndDate/EndHour that is null or is on or
after the Fuel Flow Evaluation Start Date/Hour.

If found,

return result A.

Results:

Result
A

You have reported more than one associated fuel flow record for System ID [System ID] Critical Error Level 1
with overlapping start and end times during the evaluation period.

Response

Severity

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Current Fuel Flow Active Equals true

Environmental Protection Agency

Page 159 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUELFLW-18

Check Name:

Related Former Checks:

System and FuelFlow Dates Consistent

Applicability:

Description:

Specifications:

General Check

For a MonitoringSystemFuelFlowData record with consistent dates and an associated Monitoring System record with consistent dates:
If the BeginDate in the current Monitoring System record is after the BeginDate in the current SystemFuelFlow record

If the BeginDate in the current Monitoring System record is equal to the BeginDate in the current SystemFuelFlow record, and the

BeginHour in the current Monitoring System record is after the BeginHour in the current SystemFuelFlow record,
return result A.

If the EndDate in the current Monitoring System record is not null, and the EndDate in the current SystemFuelFlow record is null,
return result A.

If the EndDate in the current Monitoring System record is prior to the EndDate in the current SystemFuelFlow record,
return result A.

If the EndDate in the current Monitoring System record is equal to the EndDate in the current SystemFuelFlow record, and the

EndHour in the current Monitoring System record is prior to the EndHour in the current SystemFuelFlow record,
return result A.

return result A.

Results:

Result
A

Response

The Start and End Date/Hour for [key] is inconsistent with the Start and End Date/Hour Critical Error Level 1
for the associated monitoring system.

Severity

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Current Fuel Flow Active Equals true

Environmental Protection Agency

Page 160 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

FUELFLW-19

Check Name:

Duplicate System Fuel Flow Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a System Fuel Flow record:

Locate another System Fuel Flow record for the system with a BeginDate/Hour equal to the BeginDate/Hour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null.,

Locate another System Fuel Flow record for the system with an End Date/Hour equal to the EndDate/Hour in the current
record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation

Environmental Protection Agency

Page 161 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Load

Environmental Protection Agency

Page 162 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-1

Check Name:	Load Analysis Date Valid

Related Former Checks: ARP-31A/B

Applicability:	General Check

Description:

Specifications:

For a MonitoringLoadData Record:

If Load Levels Required is equal to false,

If the LoadAnalysisDate is not null,
return result A.

Otherwise,

If LoadAnalysisDate is null,

If the fourth quarter after the Current Z,ocaft'o«.CommenceCommercialOperationDate begins before the current
system date,

return result B.

Otherwise,

return result E.

Otherwise,

If LoadAnalysisDate is prior to 1/1/1993,
return result C.

If the LoadAnalysisDate is later than the BeginDate,

If the BeginDate is on or after 1/1/2001,
return result D.

Results:

Result
A

B
C

D

E

Usage:

1

Response

You have provided extraneous data in [fieldname] in the Monitor Load record for [key].
This information is generally not required for a location without CEMs or for a peaking
unit or a stack serving only peaking units.

For [key] you have not provided required data in [fieldname] for a non-peaking unit.
You reported a [Fieldname] of [Date], which is outside the range of acceptable values
for this date for [key].

You reported [datefield2] which is prior to [datefieldl] for [key].

For [key] you have not provided required data in [fieldname] for a non-peaking unit.

You must provide this information as soon as you have conducted a load analysis.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Load Active Equals true

¦ Load Evaluation

Severity

Non-Critical Error

Critical Error Level 1
Critical Error Level 1

Informational Message
Informational Message

Environmental Protection Agency

Page 163 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-2

Check Name:

Load Begin Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For the MonitoringLoadData record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 164 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-3

Check Name:	Load Begin Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

Results:

Result

A

B

Usage:

1

1

Response	Severity

You have not reported the required value in the field [fieldname] for [key].	Fatal

You reported a [Fieldname] of [Hour], which is outside the range of acceptable values	Critical Error Level 1

for this hour for [key].

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Load Evaluation

Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 165 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	LOAD-4

Check Name:	Load End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 166 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	LOAD-5

Check Name:	Load End Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 167 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-6

Check Name:	Load Dates and Hours Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData record:

If the EndDate is valid and not null, and the EndHour is null,

set Load Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set Load Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set Load Dates and Hours Consistent to false, return result C.

Otherwise,

set Load Dates and Hours Consistent to true.

Results:

Result
A
B
C

Usage:

1

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

1

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Load Evaluation

Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 168 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-7

Check Name:

Load Active Status

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a MonitoringLoadData record with consistent Dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Load Active to false.

Otherwise,

set Load Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Load Evaluation Begin Date to the Evaluation Begin Date,
set the Load Evaluation Begin Hour to 0.

Otherwise,

set the Load Evaluation Begin Date to the BeginDate.
set the Load Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the Load Evaluation End Date to the Evaluation End Date,
set the Load Evaluation End Hour to 23.

Otherwise,

set the Load Evaluation End Date to the EndDate.
set the Load Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

Environmental Protection Agency

Page 169 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-8

Check Name:	Maximum Load Value Valid

Related Former Checks: ARP-70A

Applicability:	General Check

Description:

Specifications:

For a MonitoringLoadData Record:

If the Non Load Based Indicator is equal to 1,

If the MaximumLoadValue is not null,
return result A.

Otherwise,

If the MaximumLoadValue is null,
return result B.

Otherwise,

If the MaximumLoadValue is less than or equal to zero,
return result C.

Results:

Result	Response

A	You have indicated that this unit/stack is a non-load-based unit/stack, but you have

reported maximum hourly load information. Non-load-based units and stacks should not
report maximum hourly load.

B	You have indicated that this unit/stack is a load-based unit/stack, but you have not

reported maximum hourly load information. Load-based units and stacks must report
maximum hourly load.

C	The value [value] in the field [fieldname] for [key] is not within the range of valid

values. This value must be greater than zero.

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Load Evaluation

Conditions:	Current Load Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Severity

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 170 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-9

Check Name:	Load Upper Operation Boundary Valid

Related Former Checks: ARP-30

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData Record:

If Range of Operation Required is equal to true,

If the UpperOperationBoundary is null,
return result A.

Otherwise,

If the UpperOperationBoundary is not greater than zero,
return result B.

If the UpperOperationBoundary is greater than the MaximumLoadValue and MaximumLoadValue is greater than

0,

return result C.

Results:

Result	Response

A	You have not reported the required value in the field [fieldname] for [key].

B	The value [value] in the field [fieldname] for [key] is not within the range of valid

values. This value must be greater than zero.

C	The Upper Boundary Range provided for [key] exceeds the maximum hourly gross load

in Monitor Load record data.

Seventy

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

Conditions:	Current Load Active Equals true

Environmental Protection Agency

Page 171 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	L 0AD-10

Check Name:	Load Lower Operation Boundary Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData Record:

If Range of Operation Required is equal to true,

If the LowerOperationBoundary is null,
return result A.

Otherwise,

If the LowerOperationBoundary is less than zero,
return result B.

If the LowerOperationBoundary is greater than or equal to the UpperOperationBoundary and
UpperOperationBoundary is greater than 0,
return result C.

Results:

Result

A

B

C

Response

You have not reported the required value in the field [fieldname] for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid
values. This value must be greater than zero.

The Lower Boundary Range provided for [key] exceeds the Upper Boundary Range in
Monitor Load record data.

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Load Evaluation

Current Load Active Equals true

Environmental Protection Agency

Page 172 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	L 0AD-11

Check Name:	Load Normal Level Code Valid

Related Former Checks: ARP-31A/B

Applicability:	General Check

Description:

Specifications:

For a MonitoringLoadData Record:

If Load Levels Required is equal to false,

If the NormalLevelCode is not null,
return result A.

Otherwise,

If NormalLevelCode is null,

If the current system date is more than 180 days after the earliest CommenceCommercialOperationDate in the
Current Location record,
return result B.

Otherwise,

return result D.

Otherwise,

If the NormalLevelCode is not equal to "H", "L", or "M",
return result C.

Results:

Result
A

B
C

D

Response

You have provided extraneous data in [fieldname] in the Monitor Load record for [key].
This information is generally not required for a location without CEMs or for a peaking
unit or a stack serving only peaking units.

For [key] you have not provided required data in [fieldname] for a non-peaking unit.
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

For [key] you have not provided required data in [fieldname] for a non-peaking unit.
You must provide this information as soon as you have conducted a load analysis (or
prior to the completion of any certification RATA).

Severity

Non-Critical Error

Critical Error Level 1
Critical Error Level 1

Informational Message

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Load Evaluation

Current Load Active Equals true

Environmental Protection Agency

Page 173 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	L 0AD-12

Check Name:	Load Second Level Code Valid

Related Former Checks: ARP-31A/B

Applicability:	General Check

Description:

Specifications:

For a MonitoringLoadData Record:

If Load Levels Required is equal to false,

If the SecondLevelCode is not null,
return result A.

Otherwise,

If SecondLevelCode is null,

If NormalLevelCode is not null
return result B.

Otherwise,

If the SecondLevelCode is not equal to "H", "L", or "M",
return result C.

Otherwise,

If SecondLevelCode is equal to the NormalLevelCode,
return result D.

Results:

Result
A

B
C

D

Response

You have provided extraneous data in [fieldname] in the Monitor Load record for [key].
This information is generally not required for a location without CEMs or for a peaking
unit or a stack serving only peaking units.

For [key] you have not provided required data in [fieldname] for a non-peaking unit.
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You reported the same value [value] for both the NormalLevelCode and
SecondLevelCode for [key]. The NormalLevelCode and the SecondLevelCode cannot
be the same.

Severity

Non-Critical Error

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Load Evaluation

Current Load Active Equals true

Environmental Protection Agency

Page 174 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-13

Check Name:

Maximum Load Units of Measure Valid

Related Former Checks:
Applicability:

General Check

Description:

Validation Tables:

Parameter UOM (Complex Lookup Table)

Parameter UOM (Complex Lookup Table)

Specifications:

For a MonitoringLoadData record:

Set Maximum Load Units of Measure Valid to true.

If the Non Load Based Indicator is 1,

If the MaximumLoadUnitsOfMeasureCode is not null,

set Maximum Load Units of Measure Valid to false, and return result A.

If the MaximumLoadUnitsOfMeasureCode is null,

set Maximum Load Units of Measure Valid to false, and return result B.

Otherwise,

Locate the MaximumLoadUnitsOfMeasureCode in the Parameter Units of Measure Lookup Table where the
ParameterCode is equal to "LOAD" and the UnitsOfMeasure is equal to the MaximumLoadUnitsOfMeasure.

If not found,

set Maximum Load Units of Measure Valid to false, and return result C.

Otherwise,

Results:

Result
A

Response

You have reported a Maximum Load Units of Measure value for [key]. However, this

value should only be reported for load based locations.

You have not reported the required value in the field [fieldname] for [key].

You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

Severity

Critical Error Level 1

B
C

Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Load Evaluation

Current Load Active Equals true

Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 175 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-17

Check Name:

Overlapping Loads

Related Former Checks: ARP-29B

Applicability:

Description:

Specifications:

General Check

For a MonitoringLoadData record with consistent dates:

Locate another MonitoringLoad record for the location with a BeginDate/BeginHour that is on or after the BeginDate/BeginHour in
the current record and is on or before the Load Evaluation End Date/EndHour, and an EndDate/EndHour that is null or is on or after
the Load Evaluation Begin Date/BeginHour.

If found,

return result A.

Results:

Result
A

Response

You have submitted overlapping active Load records for [key] defining the Range of
Operation for a CEMS unit/stack. There may only be one active Load record at any
time within the evaluation period.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Load Evaluation

Current Load Active Equals true

Environmental Protection Agency

Page 176 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-19

Check Name:

Load Units of Measure Consistent Across Linked Locations

Related Former Checks: NBP-5

Applicability:

General Check

Description:

Specifications:

For a Load record with a valid maximum load Units of Measure:

If the Location Type does not begin with "U", the Location Non Load Based Indicator is not equal to 1,

Locate all MpUnitStackConfiguration records where the stack location is the location in the Load record, the BeginDate is
on or before the Load Evaluation End Date and the EndDate is null or is on or after the Load Evaluation Start Date.

For each MpUnitStackConfiguration record found,

Locate all Load records where the location is the unit location in the MpUnitStackConfiguration record, the
BeginDate/Hour is on or before the Load Evaluation End Date and End Hour and the EndDate is null or the
EndDate/Hour is on or after the Load Evaluation Start Date and Start Hour.

For any record found:

If the MaximumLoadUnitsOf Measure for the unit is not null, and is not equal to
MaximumLoadUnitsOfMeasure for the stack or pipe,

return result A.

Results:

Result
A

Response

You reported the units of measure for maximum load for this stack or pipe as [value],
but the units of measure for maximum load(s) for the associated unit(s) were not
reported with the same units of measure. The maximum load for stacks or pipes and
associated units must be reported with the same units of measure.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Load Evaluation

Current Load Active Equals true

Environmental Protection Agency

Page 177 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-20

Check Name:

Determine Load Requirement

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Monitor Load record:

Set Range of Operation Required and Load Levels Required to false.

Locate a Monitoring System record for the location where the SystemTypeCode is equal to "S02", "S02R", "NOX", "NOXC",
"C02", "02", or "FLOW", the BeginDate/Hour is on or before the Load Evaluation End Date and End Hour, and the EndDate is
null or the EndDate/Hour is on or after the Load Evaluation Start Date and Start Hour.

set Range of Operation Required to true.

If Location Type begins with "U",

Locate all MonitorQualification records where the location is the location in the Monitor Load record
QualificationTypeCode is equal to "PK" or "SK", the BeginDate is on or before the Load Evaluation End Date and
the EndDate is null or is on or after the Load Evaluation Start Date.

If not found, or if the Begin and End Dates of the retrieved records do not span the entire evaluation period,
set Load Levels Required to true.

Locate all UnitStackConfiguration records where the stack location is the location in the Load record, the
BeginDate is on or before the Load Evaluation End Date and the EndDate is null or is on or after the Load
Evaluation Start Date.

For each UnitStackConfiguration record found,

Locate all MonitorQualification records where the location is the unit location in the
UnitStackConfiguration record, the QualificationTypeCode is equal to "PK" or "SK", the BeginDate is on
or before the Load Evaluation End Date and the EndDate is null or is on or after the Load Evaluation Start
Date.

If not found for any unit, or if the Begin and End Dates of the retrieved records for any unit do not span the
entire evaluation period,

set Load Levels Required to true.

Locate a QA Supp record for the location where the TestTypeCode is equal to "FF2LTST", the last day of the Quarter/Year
is on or before the Load Evaluation End Date and End Hour, and the first day of the Quarter/Year is on or after the Load
Evaluation Start Date and Start Hour.

If found,

set Range of Operation Required to true.

If found,

Otherwise,

If not found,

Results:

Result

Response

Severity

Environmental Protection Agency

Page 178 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

Conditions:	Current Load Active Equals true

Environmental Protection Agency

Page 179 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-21

Check Name:	Second Normal Indicator Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a MonitoringLoadData Record:

If Load Levels Required is equal to false,

If the SecondLevellndicator is not null,
return result A.

Otherwise,

If the SecondLevellndicator is null,

If SecondLevelCode is not null,
return result B.

Results:

Severity

Non-Critical Error

Critical Error Level 1
Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

Conditions:	Current Load Active Equals true

Result	Response

A	You have provided extraneous data in [fieldname] in the Monitor Load record for [key].

This information is generally not required for a location without CEMs or for a peaking
unit or a stack serving only peaking units.

B	For [key] you have not provided required data in [fieldname] for a non-peaking unit.

Environmental Protection Agency

Page 180 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-22

Check Name:

Related Former Checks:

Duplicate Load Records

Applicability:

Description:

Specifications:

General Check

For a Load record:

Locate another Load record for the location with a BeginDate/Hour equal to the BeginDate/Hour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null.,

Locate another Load record for the location with an End Date/Hour equal to the EndDate/Hour in the current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 181 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-23

Check Name:	Load Analysis Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a MonitoringLoadData Record:

If the LoadAnalysisDate is not null,

If LoadAnalysisDate is prior to 1/1/1993,
return result A.

If the BeginDate is not null and the LoadAnalysisDate is later than the BeginDate,
return result B.

Severity

Critical Error Level 1
Critical Error Level 1

Results:

Result	Response

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

B	You reported [datefield2] which is prior to [datefieldl] for [key].

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 182 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-24

Check Name:	Load Upper Operation Boundary Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData Record:

If the UpperOperationBoundary is not null,

If the UpperOperationBoundary is not greater than zero,
return result A.

If the UpperOperationBoundary is greater than the MaximumLoadValue and MaximumLoadValue is greater than 0,
return result B.

Results:

Result	Response	Severity

A	You defined an invalid [fieldname] for [key]. This value must be greater than zero. Critical Error Level 1

B	The Upper Boundary Range provided for [key] exceeds the maximum hourly gross load Critical Error Level 1

in Monitor Load record data.

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 183 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	LOAD-25

Check Name:	Load Lower Operation Boundary Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the MonitoringLoadData Record:

If the LowerOperationBoundary is not null,

If the LowerOperationBoundary is less than zero,
return result A.

If the LowerOperationBoundary is greater than or equal to the UpperOperationBoundary and UpperOperationBoundary is
greater than 0,

return result B.

Results:

Result	Response	Severity

A	You defined an invalid [fieldname] for [key]. This value must be greater than zero. Critical Error Level 1

B	The Lower Boundary Range provided for [key] exceeds the Upper Boundary Range in Critical Error Level 1

Monitor Load record data.

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 184 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

LOAD-26

Check Name:

Load Level Codes Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a MonitoringLoad record with either a NormalLevelCode or SecondLevelCode that is not null:

If both NormalLevelCode and SecondLevelCode are not null and SecondLevelCode is equal to the NormalLevelCode,
return result A.

If SecondNormallndicator is null,
return result B.

Results:

Result
A

Response

You reported the same value [value] for both the NormalLevelCode and
SecondLevelCode for [key]. The NormalLevelCode and the SecondLevelCode cannot
be the same.

You did not provide [fieldname], which is required, for [key].

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation

Environmental Protection Agency

Page 185 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Location

Environmental Protection Agency

Page 186 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-2

Check Name:

Location Type

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the monitoring location:

Set Location Type to

Set Location Type Description to

If the UnitID of the monitoring location is not null,

Locate all Unit Stack Configuration records where the unit location is the monitoring location, the BeginDate is on or before
the Evaluation End Date, and an EndDate that is null or on or after the Evaluation Begin Date.

If there is at least one record with an associated StackPipelD that begins with "CS" or "MS", and at least one record with a
StackPipelD that begins with "CP" or "MP",

set Location Type to "UB" and Location Type Description to "unit with associated stacks and pipes".

If there is at least one record with an associated StackPipelD that begins with "CS" or "MS", and no records with a
StackPipelD that begins with "CP" or "MP",

set Location Type to "US" and Location Type Description to "unit with associated stacks but no pipes".

If there is at least one record with an associated StackPipelD that begins with "CP" or "MP", and no records with a
StackPipelD that begins with "CS" or "MS",

set Location Type to "UP" and Location Type Description to "unit with associated pipes but no stacks".

If there are no records found,

set Location Type to "U" and Location Type Description to "unit without associated stacks or pipes".

If the StackPipelD of the monitoring location begins with "CS",

set Location Type to "CS" and Location Type Description to "common stack".

If the StackPipelD of the monitoring location begins with "CP",

set Location Type to "CP" and Location Type Description to "common pipe".

If the StackPipelD of the monitoring location begins with "MS",

set Location Type to "MS" and Location Type Description to "multiple stack".

If the StackPipelD of the monitoring location begins with "MP",

set Location Type to "MP" and Location Type Description to "multiple pipe".

Results:

Result

Response

Severity

Environmental Protection Agency

Page 187 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Usage:

1

Process/Category:

Monitoring Plan Evah

1

Process/Category:

Monitoring Plan Data

2

Process/Category:

Monitoring Plan Data

3

Process/Category:

Monitoring Plan Data

4

Process/Category:

Monitoring Plan Data

5

Process/Category:

Monitoring Plan Data

aation Report — Location Evaluation

Entry Screen Evaluation Default Evaluation

Entry Screen Evaluation Load Evaluation

Entry Screen Evaluation Location Attribute Evaluation

Entry Screen Evaluation Method Evaluation

Entry Screen Evaluation Monitoring Qualification Evaluation

Environmental Protection Agency

Page 188 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-3

Check Name:

Related Former Checks:

Location Attribute Active Status

Applicability:

Description:

Specifications:

CEM Check

For a Location Attribute record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current Location Attribute Active to false.

Otherwise,

set Current Location Attribute Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Attribute Evaluation Begin Date to the Evaluation Begin Date.

Otherwise,

set the Attribute Evaluation Begin Date to the BeginDate.

If the EndDate is null or is after the Evaluation End Date,

set the Attribute Evaluation End Date to the Evaluation End Date.

Otherwise,

set the Attribute Evaluation End Date to the EndDate.

Set Stack Information Required to false.

If Location Type is equal to "CS" or "MS",

set Stack Information Required to true.

Else if Location Type begins with "U",

Locate all Unit Stack Configuration linked to the unit and a common or multiple stack during the Location Attribute
Elevauation period

If not found or if does not span Location Attribute Eval period,
set Stack Information Required to true

Results:

Result

Response

Severity

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Location Attribute Evaluation

Location Attribute Record Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 189 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-5

Check Name:	Stack Ground Elevation Valid

Related Former Checks: ARP-16A, B

Applicability:	CEM Check

Description:

Specifications:

For a Location Attribute record:

If the GroundElevation is not null

If GroundElevation is less than -100 or greater than 15000,
return result A.

Otherwise

If Stack Information Required equals true,
return result B.

Results:

Result	Response	Severity

A	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values from [minvalue] to [maxvalue].

B	You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Location Attribute Evaluation

Conditions:	Current Location Attribute Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 190 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-6

Check Name:	Stack Cross Area Flow Valid

Related Former Checks:	ARP-17, 19

Applicability:	CEM Check

Description:

Specifications:

For a Location Attribute record:

If the CrossAreaFlow is not null,

If the Flow System Active Present is false,
return result A.

If the CrossAreaFlow is less than 5 or is greater than 1700,
return result B.

If the CrossAreaFlow is null, and the Post2008 Flow System Present equals true,
return result C.

Results:

Result
A

B
C

Response	Severity

You provided the cross-sectional area at the flow monitor location for this location, but	Non-Critical Error

there is no flow monitoring system currently used to report data defined.

The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1
values from [minvalue] to [maxvalue].

You have not reported the required value in the field [fieldname] for [key].	Non-Critical Error

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Location Attribute Evaluation

Conditions:	Current Location Attribute Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 191 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-7

Check Name:	Stack Cross Area Exit Valid

Related Former Checks: ARP-16A, B

Applicability:	CEM Check

Description:

Specifications:

ElseFor a Location Attribute record:

If the CrossAreaStackExit is not null,

If CrossAreaStackExit is less than 5 or greater than 1700,
return result A.

If StackHeight is not null,

Set stackHeightToDiameterRatio = StackHeight / (SQRT(CrossAreaStackExit / pi) * 2)

If StackHeightToDiameterRatio is greater than 85,
return result B.

If StackHeightToDiameterRatio is less than 5,

Locate all Unit Type records for the location where the BeginDate is on or before the Attribute Evaluation
Begin Date and the EndDate is null or is on or after the Attribute Evaluation Begin Date.

If found, and any UnitTypeCode is not equal to "CC", "CT", or "OT",
return result B.

Else if Stack Information Required equals true,

return result C.

Results:

Result	Response	Severity

A	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values from [minvalue] to [maxvalue],

B	The ratio of the stack height to the stack diameter for [key] is outside the range of valid Informational Message

values from 5 to 85.

C	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Location Attribute Evaluation

Conditions:	Current Location Attribute Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 192 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-8

Check Name:	Stack Height Valid

Related Former Checks: ARP-16A, B
Applicability:	CEM Check

Description:

Specifications:

For a Location Attribute record:

If the StackHeight is not null,

If is less than 20 or greater than 1600,
return result A.

Otherwise,

If Stack Information Required equals true,
return result B.

Results:

Result	Response	Severity

A	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values from [minvalue] to [maxvalue].

B	You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Location Attribute Evaluation

Conditions:	Current Location Attribute Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 193 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-9

Check Name:

Stack Shape Code Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For a Location Attribute record:

If the ShapeCode is not null, and is not in the list of valid Shape Codes,
return result A.

If the ShapeCode is null, and Flow System Active Present is true,
return result B.

Results:

Result
A

Response

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have not reported the required value in the field [fieldname] for [key].

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Location Attribute Evaluation

Current Location Attribute Active Equals true

Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 194 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-IO

Check Name:

Stack Material Code Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For a Location Attribute record:

If the MaterialCode is not null, and is not in the list of valid Material Codes,
return result A.

If the MaterialCode is null, and the Flow System Active Present is true,
return result B.

Results:

Result
A

Response

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have not reported the required value in the field [fieldname] for [key].

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Location Attribute Evaluation

Current Location Attribute Active Equals true

Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 195 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-11

Check Name:

Location Attribute Begin Date Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For a Location Attribute record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Location Attribute Evaluation

Location Attribute Record Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 196 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-12

Check Name:	Location Attribute End Date Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Location Attribute record:

If EndDate is not null and is greater than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Location Attribute Evaluation

Conditions:	Location Attribute Record Valid Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 197 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	MONLOC-13

Check Name:	Flow System Active Present

Related Former Checks: ARP-17, 19

Applicability:	CEM Check

Description:

Specifications:

For the location attribute record:

Set Flow System Active Present to false and Post2008 Flow System Present to false.

If Location Type is not equal to "CP" or "MP",

Locate a MonitorSystem record for the location with a SystemType equal to "FLOW", a BeginDate on or before the
Attribute Evaluation End Date, and an EndDate that is null or on or after the Attribute Evaluation Begin Date.

If found,

set Flow System Active Present to true.

If any of the retrieved system records have an EndDate that is null or is on or after the ECMPS MP Begin Date,
set Post2008 Flow System Present to true.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Location Attribute Evaluation

Conditions:	Current Location Attribute Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 198 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

Check Name:

Related Former Checks:

Applicability:

Description:

Specifications:

For a monitoring location:

If Location Type that begins with "C",

Locate all MP Unit Stack Configuration records where the stack/pipe location is the monitoring location, the BeginDate is
on or before the Location Evaluation End Date and the EndDate null or on or after the Location Evaluation Begin Date.

If less than two records are found,
return result A.

else if Location Type is equal to "CP",

Locate all Monitor Location records for the facility other than the current monitoring location with a LocationName
beginning with "CP":

For each location found,

Locate all Facility Unit Stack Configuration records where the stack/pipe location is the retrieved
monitoring location, the BeginDate is on or before the Location Evaluation Begin Date and the EndDate
null or on or after the Location Evaluation End Date.

If the list of units in the Facility Unit Stack Configuration records for the retrieved location is the exact
same list of units in the MP Unit Stack Configurations for the location being evaluated,
return result C.

MONLOC-14

Location Type Consistent with Number of Linked Locations

ARP-56

General Check

If Location Type begins with "M",

Locate all MP Unit Stack Configuration records where the stack/pipe location is the monitoring location.

If there is more or less than one retrieved MP Unit Stack Configuration record, or if the BeginDate of the retrieved record is
after the Location Evaluation Begin Date or the EndDate of the retrieved record is before the Location Evaluation End
Date,

return result B.

Results:

Result
A

B

C

Response

You have identified a common stack or pipe [stack/pipe ID] that is not linked to at least
two units for the entire evaluation period.

You have identified a multiple stack or pipe [stack/pipe ID] that is not linked to one and
only one unit for the entire evaluation period.

You have defined a common pipe [stack/pipe ID] that is linked to the same group of
units as another common pipe. If you have multiple fuel sources that feed the same
group of units, you should define multiple fuel flow systems at a single common pipe.

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 2

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report — Location Evaluation
Abort Location Evaluation Equals false

Environmental Protection Agency

Page 199 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-19

Check Name:	Location Stack Pipe ID Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

If the location is a stack or pipe:

Set Stack Pipe ID Format Valid to true.

If the StackPipelD is null,

set Stack Pipe ID Format Valid to false, and return result A.

If the StackPipelD is less than 3 characters, contains non-alphanumeric characters other than or does not begin with "CS",
"MS", "CP", or "MP",

set Stack Pipe ID Format Valid to false, and return result B.

Otherwise,

If StackPipelD contains and is less than 4 characters,

set Stack Pipe ID Format Valid to false, and return result B.

Results:

Result	Response Severity

A	You did not provide [fieldname], which is required, for [key].	Fatal

B	You reported a Stack/Pipe ID [Stack Pipe ID], which has an invalid format.	Fatal

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation

Environmental Protection Agency

Page 200 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-74

Check Name:	Stack Bypass Indicator Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Location Attribute record:

If Bypasslndicator is equal to 1,

If Location Type is not equal to either "CS" or "MS",
return result A.

Results:

Result	Response	Severity

A	You reported a value in field [fieldname] for [key], but this value is only valid for a Critical Error Level 1

stack.

Usage:

1	Process/Category:

Conditions:

1	Process/Category:

Monitoring Plan Evaluation Report	Location Attribute Evaluation

Current Location Attribute Active Equals true

Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 201 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-76

Check Name:	Location Attribute Dates Consistent

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Location Attribute record:

If the BeginDate and EndDate are valid,

If the EndDate is not null and the BeginDate is after the EndDate,
set Location Dates consistent to false, and return result A.

Otherwise,

set Location Dates consistent to true.

Otherwise,

set Location Dates consistent to false.

Results:

Result	Response Severity

A	You reported [datefield2] which is prior to [datefieldl] for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Location Attribute Evaluation

Conditions:	Location Attribute Record Valid Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 202 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-77

Check Name:	Determine Location Evaluation Period

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the location:

If the Location Type begins with "U",

set Affected Unit to false.

set Location Evaluation Begin Date to null.

set Location Evaluation End Date to 1/1/1993.

Locate all Location Program records for the location with an EndDate that is null or is on or after to the Evaluation Begin
Date.

For each record found,

If the ClassCode is not equal to "N", "NA", or "NB",
set Affected Unit to true.

If the EmissionsRecordingBeginDate is not null,

If Location Evaluation Begin Date is null,

set Location Evaluation Begin Date to the EmissionsRecordingBeginDate.

else if the EmissionsRecordingBeginDate is prior to the Location Evaluation Begin Date,
set Location Evaluation Begin Date to the EmissionsRecordingBeginDate.

else if the UnitMonitorCertBeginDate is not null,

if the Location Evaluation Begin Date is null,

set Location Evaluation Begin Date to the UnitMonitorCertBeginDate.

else if the UnitMonitorCertBeginDate is prior to the Location Evaluation Begin Date
set Location Evaluation Begin Date to the UnitMonitorCertBeginDate.

If the EndDate is null,

set Location Evaluation End Date to null.

else if Location Evaluation End Date is not null and EndDate is after the Location Evaluation End Date,
set Location Evaluation End Date to the EndDate.

If the Evaluation Begin Date is not null and the Location Evaluation Begin Date is prior to the Evaluation Begin Date,
set Location Evaluation Begin Date to the Evaluation Begin Date.

If the Location Evaluation End Date is equal to 1/1/1993 or the Location Evaluation End Date is null,
set Location Evaluation End Date to the Evaluation End Date.

else if the Evaluation End Date is not null and the Location Evaluation End Date is after the Evaluation End Date,
set Location Evaluation End Date to the Evaluation End Date.

Locate the latest Unit Operating Status record for the unit where the Begin Date is on or prior to the Location Evaluation
End Date, and the End Date is null or is on or after the Location Evaluation Begin Date,

If found, and the Op Status Code is equal to "LTCS",

Environmental Protection Agency

Page 203 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

set the Location Evaluation End Date to the day before the Begin Date.

Otherwise,

Locate the earliest Unit Program Exemption records for the unit where the Exempt Type is equal to "RUE", the
Exemption Begin Date is on or prior to the Location Evaluation End Date, and the Exemption End Date is null.

If found,

set the Location Evaluation End Date to the day before the Exemption Begin Date.

Otherwise,

If the ProgramCode in all the retrieved Location Program records are only equal to "NBP", "OTC",
"NHNOX", or "SIPNOX",

Locate the latest Unit Operating Status records for the unit, the Begin Date is on or prior to the
Location Evaluation End Date, and the End Date is null or is on or after the Location Evaluation
Begin Date,

If found, and the Op Status Code is equal to "RET",

If the Begin Date is between May 1 and September 30,

set the Location Evaluation End Date to September 30 of the year of the Begin
Date.

Otherwise,

set the Location Evaluation End Date to the day before the Begin Date.

Otherwise,

If the Stack ActiveDate is null or is prior to the Evaluation Begin Date,

set the Location Evaluation Begin Date to the Evaluation Begin Date,

Otherwise,

set the Location Evaluation Begin Date to the Stack ActiveDate.

Locate all Location Program records for the location with an EndDate that is null or is on or after to the Evaluation Begin
Date.

If found, and the earliest UnitMonitorCertBeginDate in the retrieved records is after the Location Evaluation Begin Date,
set Location Evaluation Begin Date to the earliest UnitMonitorCertBeginDate in the retrieved records.

If the Stack RetirementDate is not null and is prior to the Evaluation End Date,
set the Location Evaluation End Date to the Stack RetirementDate.

Otherwise,

set the Location Evaluation End Date to the Evaluation End Date.

If the Location Evaluation Begin Date :
set Abort Location Evaluation

is on or before than the Location Evaluation End Date,
to false,

false,

Otherwise,

set Abort Location Evaluation to true, abort the evaluation of the location, and return result A.

Environmental Protection Agency

Page 204 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result	Response	Severity

A	[Location] does not appear to have been operational during the evaluation period. It Informational Message

will not be evaluated.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Environmental Protection Agency

Page 205 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-80

Check Name:

Related Former Checks:

Required Location Attribute Reported for Location

Applicability:

Description:

Specifications:

CEM Check

For the location:

Locate all Location Attribute records for this location where the BeginDate is on or before the Location Evaluation End Date, and
the EndDate is null or is on or after the Location Evaluation Begin Date.

If Location Type is equal to "CP" or "MP",

set Location Attribute Record Valid to false, and return result A.

Otherwise,

Set Location Attribute Record Valid to true.

If the BeginDate and EndDate of all the retrieved records does not span the entire location evaluation period,

Locate all MonitorSystem records for the location with a SystemType equal to "S02", "S02R", "NOX",
"NOXC", "C02", "02", "H20", "H20M", or "FLOW".

If the BeginDate and EndDate of all the retrieved location attribute records does not span the entire
intersection between the location evaluation period and the earliest system begin date and the latest system
end date,

return result B.

If Location Type is equal to "CS", "MS", "U", or "UP",
return result C.

Else if Location Type equals 'US' or 'UB'

Locate Unit Stack Configuration Records for the unit with a BeginDate on or before the Location Evaluation End
Date, and a EndDate that is null or on or after the Location Evaluation Begin Date, and the Stack/Pipe Name begins
with 'CS' or 'MS'.

Locate a MonitorSystem record for the location with a SystemType equal to "S02", "S02R", "NOX", "NOXC",
"C02", "02", "H20", "H20M", or "FLOW", a BeginDate on or before the Location Evaluation End Date, and a
EndDate that is null or on or after the ECMPS MP Begin Date.

If found,

return result C.

If found,

If none are found,

If not found or the records do not span the later of the Location Evaluation Begin Date and January 1 st,
2009 through the Location Evaluation End Date,
return result to C

If result is null,

Environmental Protection Agency

Page 206 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C

Usage:

1

Response	Severity

You have reported a monitor location attribute record for [key]. This record should only Non-Critical Error

be reported for stacks, units that are not linked to stacks, or units with CEMS.

You have not reported monitor location attribute records that span the entire evaluation Critical Error Level 1
period for [key].

You have not reported a monitor location attribute record that was active during the
evaluation period for [key].

Critical Error Level 1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report — Location Evaluation
Abort Location Evaluation Equals false

Environmental Protection Agency

Page 207 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-81

Check Name:

Stack Pipe Active Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

If the location is a stack or pipe:

If ActiveDate is null,

return result A.

If ActiveDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation

Environmental Protection Agency

Page 208 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	MONLOC-82

Check Name:	Stack Pipe Retire Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

If the location is a stack or pipe:

If RetireDate is not null and is greater than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation

Environmental Protection Agency

Page 209 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	MONLOC-83

Check Name:	Stack Pipe Dates Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

If the location is a stack or pipe:

If Stack ActiveDate and Stack RetireDate are both valid,

If the RetireDate is not null and the ActiveDate is after the RetireDate,
return result A.

Results:

Result	Response	Severity

A	You reported [datefield2] which is prior to [datefieldl] for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation

Environmental Protection Agency

Page 210 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-85

Check Name:

Unit Stack Begin Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Unit Stack Configuration record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity

Fatal

Fatal

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Unit Stack Configuration Evaluation

Not Location Type Begins With U

Monitoring Plan Data Entry Screen Evaluation Unit Stack Configuration Evaluation

Environmental Protection Agency

Page 211 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-86

Check Name:	Unit Stack End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Unit Stack Configuration record:

If EndDate is not null and is greater than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Stack Configuration Evaluation

Conditions:	Not Location Type Begins With U

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Stack Configuration Evaluation

Environmental Protection Agency

Page 212 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-87

Check Name:

Unit Stack Configuration Dates Consistent

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Unit Stack Configuration record:

If the BeginDate and EndDate are both valid, the EndDate is not null, and the BeginDate is after the EndDate,

If the Location Type is equal to "CS", "MS", "CP", "MP",

If the BeginDate and the Stack ActiveDate are valid, and the BeginDate is before the ActiveDate,
return result B.

If the EndDate and the Stack RetireDate are valid, the RetireDate is not null, and the EndDate is null or is after the
RetireDate,

return result A.

return result C.

Results:

Result

Response

You reported [datefield2] which is prior to [datefieldl] for [key].

You reported [datefieldl] as prior to the Stack Active Date for [key].

You have not reported [datefield2] or you have reported it as later than the Stack Retire

Date for [key].

Severity

A
B
C

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Unit Stack Configuration Evaluation

Not Location Type Begins With U

Environmental Protection Agency

Page 213 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-88

Check Name:

Related Former Checks:

Determine Non Load Based Indicator for Location

Applicability:

Description:

Specifications:

General Check

For a monitoring location:

If the Location Type begins with "U",

set the Location Non Load Based Indicator to the NonLoadBasedlndicator for the unit.

Otherwise,

Locate all MP Unit Stack Configuration records where the stack/pipe location is the monitoring location.

If the NonLoadBasedlndicator in all of the retrieved records is equal to 1,
set the Location Non Load Based Indicator to 1.

If the NonLoadBasedlndicator in all of the retrieved records is equal to 0,
set the Location Non Load Based Indicator to 0.

Otherwise,

set the Location Non Load Based Indicator to 0, and return result A.

Results:

Result
A

You have reported that common stack or pipe [key] is linked to both a non-load-based Critical Error Level 1
unit and a load-based unit. This is invalid.

Response

Severity

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report — Location Evaluation
Abort Location Evaluation Equals false

Monitoring Plan Data Entry Screen Evaluation Load Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 214 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-97

Check Name:	Unit Type Consistent with Non Load Based Indicator

Related Former Checks:	ARP-67

Applicability:	General Check

Description:

Specifications:

If the Location Type begins with "U", and the NonLoadBasedlndicator is null or equal to 0,

Locate all Unit Type records for the location where the BeginDate is null or is on or before the Evaluation End Date and the End
Date is null or is on or after the Evaluation Begin Date,

If the Unit Type in any of the retrieved is equal to "KLN" or "PRH",
return result A.

Results:

Result	Response	Severity

A	Based on the unit type, the unit does not generate load, but you did not report that Unit Critical Error Level 2

ID [key] was a non-load-based unit.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 215 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-98

Check Name:	Overlapping Unit Capacity Records Reported

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

If Location Type begins with "U",

Locate all Unit Capacity records for this location where the BeginDate is on or before the Location Evaluation End Date, and the
EndDate is null or is on or after the Location Evaluation Begin Date.

If there is more than one record active at any time during the location evaluation period,
return result A.

Results:

Result	Response	Severity

A	You have reported more than one unit capacity record for [unit] during the evaluation Critical Error Level 1

period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 216 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-99

Check Name:

Required Unit Capacity Record Reported for Unit

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

If Location Type begins with "U",

Locate all Unit Capacity records for this location where the BeginDate is null or is on or before the Location Evaluation End Date,
and the EndDate is null or is on or after the Location Evaluation Begin Date.

If none are found,

return result A.

Otherwise,

If the BeginDate and EndDate of all the retrieved records does not span the entire location evaluation period,
return result B.

Results:

Result
A

Response

You have not reported a unit capacity record that was active during the evaluation
period for [key].

You have not reported unit capacity records for [key] that span the entire evaluation
period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report — Location Evaluation
Abort Location Evaluation Equals false

Environmental Protection Agency

Page 217 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

Check Name:

Related Former Checks:

Applicability:

Description:

Specifications:

For the location:

Locate all Location Attribute records for this location where the BeginDate is on or before the Location Evaluation End Date, and
the EndDate is null or is on or after the Location Evaluation Begin Date.

If there is more than one record active at any time during the location evaluation period,
return result A.

Results:

Result	Response	Severity

A	You have reported overlapping Location Attribute records for [key] during the	Critical Error Level 1

evaluation period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

MONLOC-lOO

Overlapping Location Attribute Records Reported
CEM Check

Environmental Protection Agency

Page 218 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-101

Check Name:	Required Load Record Reported for Location

Related Former Checks:	ARP-10, ARP-29A, NBP-50, NBP-51

Applicability:	General Check

Description:

Specifications:

For any location:

Locate all Monitor Load records for this location where the BeginDate is on or before the Location Evaluation End Date, and the
EndDate is null or is on or after the Location Evaluation Begin Date.

If none are found,

If Location Non Load Based Indicator is null or is equal to 0,
return result A.

Otherwise,

Locate all Test Summary records for this location where TestTypeCode is equal to "FF2LBAS", the BeginDate is
on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation
Begin Date.

If any are found,

return result A.

Otherwise,

Locate a MonitorSystem record for the location with a SystemType equal to "S02", "S02R", "NOX",
"NOXC", "C02", "02", "H20", "H20M", or "FLOW", a BeginDate on or before the Location Evaluation
End Date, and a EndDate that is null or on or after the Location Evaluation Begin Date.

If found,

return result A.

Otherwise,

If the BeginDate/BeginHour and EndDate/EndHour of all the retrieved records does not span the entire location evaluation
period,

return result B.

Results:

Result	Response	Severity

A	You did not define load information that was active during the evaluation period for Critical Error Level 1

[key]. You must submit this information for each load-based monitoring location.

B	You did not define load information for [key] for the entire evaluation period. You must Critical Error Level 1

submit this information for each load-based monitoring location.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 219 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-103

Check Name:	Required Primary Fuel Record Reported for Unit

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

If Location Type begins with "U", and Affected Unit is equal to true,

Locate all Unit Fuel records for this unit where the IndicatorCode is equal to "P", the BeginDate is on or before the Location
Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date.

If none are found,

return result A.

Otherwise,

If the BeginDate and EndDate of all the retrieved records does not span the entire location evaluation period,
return result B.

Results:

Result

A

B

Response

You did not report a primary fuel that was active during the evaluation period for [key].
You did not report a primary fuel to span the entire evaluation period for [key].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report — Location Evaluation
Abort Location Evaluation Equals false

Environmental Protection Agency

Page 220 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-104

Check Name:

Overlapping Primary Fuels Reported

Related Former Checks: NBP-65
Applicability:	General Check

Description:

Specifications:

If Location Type begins with "U",

Locate all Unit Fuel records for this unit where the IndicatorCode is equal to "P", the BeginDate is on or before the Location
Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date.

If there is more than one record active at any time during the location evaluation period,

return result A.

Results:

Result
A

Response

You have defined overlapping primary fuel types for the current period for [key].

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report — Location Evaluation
Abort Location Evaluation Equals false

Environmental Protection Agency

Page 221 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-105

Check Name:	Multiple Pipe Valid

Related Former Checks:

Applicability:	Appendix D Check

Description:

Specifications:

If Location Type is equal to "MP",
return result A.

Results:

Result	Response	Severity

A	Most configurations do not require the definition of a multiple pipe. You should consult Informational Message

CAMD prior to defining a multiple pipe.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 222 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-111

Check Name:	Monitoring Plan Contains All Used IDs for Location

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the location:

Set Unused IDs to null.

Locate all Used Identifier records for the location.

For each record with Table Code equal to "S":

Locate a Monitoring System record for the location where the Monitoring System ID is equal to the Identifier in the Used
Identifier record.

If not found,

append "System ID: " + Identifier to Unused IDs.

For each record with Table Code equal to "C":

Locate a Component record for the location where the Component ID is equal to the Identifier in the Used Identifier record.

If not found,

append "Component ID: " + Identifier to Unused IDs.

For each record with Table Code equal to "F":

Locate a Monitoring Formula record for the location where the Formula ID is equal to the Identifier in the Used Identifier
record.

If not found,

append "Formula ID: " + Identifier to Unused IDs.

If Unused IDs is not null,
return result A.

Results:

Result	Response	Severity

A	You have inappropriately deleted records for the location from the MP with the	Fatal

following IDs: [list]. You cannot delete these records because QA and emissions data
have already been reported using these IDs.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Environmental Protection Agency

Page 223 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-106

Check Name:	Duplicate Stack Pipe Records

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a StackPipe record with a valid StackPipelD format:

Locate another StackPipe record for the location with a StackPipelD equal to the StackPipelD in the current record.

If found,

return result A.

Results:

Result	Response	Severity

A	Another [recordtype] record already exists with the same [fieldnames].	Fatal

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation

Environmental Protection Agency

Page 224 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONLOC-107

Check Name:

Unit Stack Configuration Record Valid

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a UnitStackConfiguration record:

If the UnitID is null,

return result A.

Otherwise,

Locate another UnitStackConfiguration record with an associated StackPipelD and UnitID equal to the StackPipelD and
UnitID in the current record.

If found,

return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

Another [recordtype] record already exists with the same [fieldnames].

Severity

Fatal

Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Stack Configuration Evaluation

Environmental Protection Agency

Page 225 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONLOC-109

Check Name:	Location Attribute Record Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Location Attribute record:

Locate another MonitoringLocationAttribute record for the location with a BeginDate that is equal to the BeginDate in the current
record.

If found,

return result A.

If not found, and the EndDate in the current record is not null,

Locate another Location Attribute record for the location with an EndDate that is equal to the EndDate in the current record.

If found,

return result A.

Otherwise,

If the location is a pipe (the StackPipelD of the monitoring location begins with "CP" or "MP"),
return result B.

Otherwise,

If the location is a pipe (the StackPipelD of the monitoring location begins with "CP" or "MP"),
return result B.

Results:

Result	Response Severity

A	Another [recordtype] record already exists with the same [fieldnames].	Fatal

B	You have reported a monitor location attribute record for [key]. This record should only Critical Error Level 1
be reported for stacks, units that are not linked to stacks, or units with CEMS.

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 226 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Method

Environmental Protection Agency

Page 227 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-1

Check Name:

Method Begin Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For the Monitoring Method record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity

Fatal

Fatal

Usage:

Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 228 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-2

Check Name:	Method Begin Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Method record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Fatal

B	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 229 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	METHOD-3

Check Name:	Method End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Method record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 230 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	METHOD-4

Check Name:	Method End Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Method record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 231 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-5

Check Name:	Method Dates and Hours Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Method record:

If the EndDate is valid and not null, and the EndHour is null,

set Method Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set Method Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set Method Dates and Hours Consistent to false, return result C.

Otherwise,

set Method Dates and Hours Consistent to true.

Otherwise,

set Method Dates and Hours Consistent to false.

Results:

Result
A
B
C

Usage:

1

1

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Method Evaluation

Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 232 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-6

Check Name:

Method Active Status

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Monitor Method record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current Method Active to false.

Otherwise,

set Current Method Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Method Evaluation Begin Date to the Evaluation Begin Date.
Set the Method Evaluation Begin Hour to 0.

Otherwise,

set the Method Evaluation Begin Date to the BeginDate.

Set the Method Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the Method Evaluation End Date to the Evaluation End Date.
Set the Method Evaluation End Hour to 23.

Otherwise,

set the Method Evaluation End Date to the EndDate.

Set the Method Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Environmental Protection Agency

Page 233 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-7

Check Name:

Method Parameter Code Valid

Related Former Checks: ARP-12(old)

Applicability:

General Check

Description:

Validation Tables:

[Parameter to Category] (Cross Check Table)

[Parameter to Category] (Cross Check Table)

Specifications:

For the Monitoring Method record:

Set Method Parameter Valid to true.

If the Method ParameterCode is null,

set Method Parameter Valid to false, and return result A.

If the ParameterCode is equal to "H20" "OP", "NOX", "NOXR", "NOXM", or "HGM", and the Location Type is equal to "CP" or
"MP",

set Method Parameter Valid to false, and return result B.

Otherwise,

Locate a record in the List of Method Parameter Codes (Parameter to Category Cross Check Table) where the
ParameterCode is equal to the ParameterCode in the current Method record and the CategoryCode is equal to "METHOD".

If not found,

set Method Parameter Valid to false, and return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You have reported a methodology for [key], which is inappropriate for a [Location

Type].

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

Severity
Fatal

Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 234 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-8

Check Name:

Method Method Code Valid

Related Former Checks: NBP-59, old ARP-13, ARP-78A

Applicability:

General Check

Description:

Validation Tables:

Method Parameter to Method to System Type (Cross Check Table)

Method Code (Lookup Table)

Method Parameter to Method to System Type (Cross Check Table)

Method Code (Lookup Table)

Specifications:

For the Monitoring Method record:

Set Method Method Code Valid to true.

If the Method Code is null,

set Method Method Code Valid to false, and return result A.

If the Method Code is not in the Method Code Lookup Table,

set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result B.

If the Method Code is equal to "EXP", and the Parameter Code is equal to "HI"

If the Location Type does not begin with "U",

set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result C.

If the Method Code is equal to "CEMNOXR", and the Parameter Code is equal to "NOX",

If the EndDate is null or is on or after the ECMPS MP Begin Date,
return result D.

Otherwise,

Locate a record in the Parameter to Method Cross Check table where the ParameterCode is equal to the ParameterCode in
the current Method record and the MethodCode is equal to the MethodCode in the current Method record.

If found,

If the Location Type is equal to "CS", and the MethodCode begins with "AD", or is equal to "EXP", "AE", "FSA",
"LTFF", or "MHHI",

set Method Method Code Valid to false, and return result C.

If the Location Type is equal to "MS", and the MethodCode begins with "AD" or is equal to "EXP", "AE", "FSA",
"LTFF", "MHHI", or "CALC",

set Method Method Code Valid to false, and return result C.

If the Location Type is equal to "CS" or "MS", the MethodCode is equal to "LME", and the ParameterCode is not
equal to "HGM",

set Method Method Code Valid to false, and return result C.

If the Location Type is equal to "CP", and the MethodCode contains "CEM" or "CALC" or is equal to "EXP",
"LME", "MHHI", "NOXR", "AE", or "F23",

set Method Method Code Valid to false, and return result C.

If the Location Type is equal to "MP", and the MethodCode contains "CEM" or "CALC" or is equal to "EXP",
"LME", "MHHI", "LTFF" or "F23",

set Method Method Code Valid to false, and return result C.

Environmental Protection Agency

Page 235 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If Location Type is equal to "U", and the MethodCode contains "CALC",

set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result C.

If not found,

set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result E.

Results:

Result

A

B

C

D

E

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have reported a methodology for [key], which is inappropriate for a [Location
Type].

You have reported a methodology for [key], which has previously been a valid
methodology, but is no longer allowed.

You have reported a monitoring methodology [value], which is not appropriate for the
parameter [parameter].

Severity

Fatal

Fatal

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Usage:

1

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 236 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-9

Check Name:	Method Substitute Data Code Valid

Related Former Checks:

Applicability:	General Check

Description:

Validation Tables:

Method to Substitute Data Code (Cross Check Table)

Substitute Data Code (Lookup Table)

Method to Substitute Data Code (Cross Check Table)

Substitute Data Code (Lookup Table)

Specifications:

For the Monitoring Method record with a valid MethodCode:

Set Method Substitute Data Code Valid to true.

If the SubstituteDataCode is null,

If ParameterCode is equal to "HGM",

set Method Substitute Data Code Valid to false, and return result A.

Otherwise,

Locate a record in the Method to Substitute Data Code cross check table for the MethodCode in the current
MonitoringMethod record.

If found,

set Method Substitute Data Code Valid to false, and return result A.

Otherwise,

If the SubstituteDataCode is not in the Substitute Data Code Lookup table,
set Method Substitute Data Code Valid to false, and return result B.

Otherwise,

If ParameterCode is equal to "HGM",

If the SubstituteDataCode is not equal to "SPTS",

set Method Substitute Data Code Valid to false, and return result C.

Otherwise,

Locate all records in the Method to Substitute Data Code cross check table for the MethodCode and
SubstituteDataCode in the current MonitoringMethod record.

If not found,

set Method Substitute Data Code Valid to false, and return result C.

If more than one record is found, or one record is found and the ParameterCode in the cross check record is
not null,

If the ParameterCode in the current MonitoringMethod record is valid,

If the ParameterCode in the current MonitoringMethod record is not equal to the
ParameterCode in any of the retrieved cross check records,

set Method Substitute Data Code Valid to false, and return result C.

Environmental Protection Agency

Page 237 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result	Response

A	You have not reported the required value in the field [fieldname] for [key].

B	You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

C	You reported substitute data code [value], which is not appropriate for the monitoring

methodology for [key].

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 238 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-10

Check Name:	Method Bypass Approach Code Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Validation Tables:

Bypass Approach Code (Lookup Table)

Bypass Approach Code (Lookup Table)

Specifications:

For the Monitoring Method record:

Set Method Bypass Approach Code Valid to true.

If the BypassApproachCode that is not null,

Locate BypassApproachCode in the Bypass Approach Code Lookup Table.

If not found,

set Method Bypass Approach Code Valid to false, and return result A.

If found,

If the Method Parameter Code is valid and does not begin with "S02", "NOX", or "HGM", or the Method Method
Code is valid and does not begin with "CEM" or is not equal to "AMS" or "S02R",
set Method Bypass Approach Code Valid to false, and return result B.

Results:

Result	Response	Severity

A	You reported the value [value], which is not in the list of valid values, in the field	Critical Error Level 1

[fieldname] for [key].

B	You reported a bypass methodology for [key]. A bypass methodology does not apply to Critical Error Level 1

this parameter.

Usage:

1	Process/Category:

Conditions:

1	Process/Category:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 239 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-11

Check Name:

Overlapping Methods

Related Former Checks: NBP-58, ARP-76 (LME)

Applicability:

Description:

Specifications:

General Check

For a Monitoring Method record with a valid ParameterCode and consistent dates:

Locate another Monitoring Method record for the location with a ParameterCode equal to the ParameterCode in the current record
and a BeginDate/BeginHour that is on or after the BeginDate/BeginHour in the current record and is on or before the Method
Evaluation End Date/Hour, and a EndDate/EndHour that is null or is on or after the Method Evaluation Begin Date/Hour.

If found,

return result A.

Results:

Result
A

Response

You have reported two monitoring methodologies for [parameter] with overlapping start Critical Error Level 1
and end times during the evaluation period.

Severity

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals True

Environmental Protection Agency

Page 240 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-12

Check Name:	HI Methods Valid for Linked Locations

Related Former Checks: ARP-78B

Applicability:	General Check

Description:

Specifications:

For a Monitoring Method record with a ParameterCode equal to "HI" or "HIT", a valid MethodCode, and consistent dates:

If the MethodCode contains "CALC" or the Location Type does not begin with "U",

Locate all Unit Stack Configuration records for the location where the BeginDate is on or before the Method Evaluation

End Date and the EndDate is null or is on or after the Method Evaluation Begin Date.

If the MethodCode is equal to "LTFF",

For each Unit Stack Configuration record,

Locate all Monitoring Method records where the location is the unit location in the Unit Stack
Configuration record, the ParameterCode is equal to "HIT", the MethodCode contains "CALC", the
BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null
or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour.

If not found for all units, or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of the
retrieved method records do not span the entire intersection between the method evaluation period and the
BeginDate and EndDate of the Unit Stack Configuration record,
return result A.

If the Location Type is equal to "CP" or "MP", and the MethodCode is equal to "AD",

For each Unit Stack Configuration record,

Locate all Monitoring Method records where the location is the unit location in the Unit Stack
Configuration record, the ParameterCode is equal to "HI", the MethodCode contains "CALC", the
BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null
or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour.

If not found for all units or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of the
retrieved method records do not span the entire intersection between the method evaluation period and the
BeginDate and EndDate of the Unit Stack Configuration record,
return result B.

If the Location Type is equal to "CS" or "MS", and the MethodCode is equal to "CEM" or "AMS",

For each Unit Stack Configuration record,

Locate all Monitoring Method records where the location is the unit location in the Unit Stack
Configuration record, the ParameterCode is equal to "HI", the MethodCode contains "CALC", the
BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null
or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour.

If not found for at least one unit, or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of
the retrieved method records do not span the entire intersection between the method evaluation period and the
BeginDate and EndDate of the Unit Stack Configuration record,
return result C.

If the Location Type is equal to "CS", and the MethodCode is equal to "CALC",

For each Unit Stack Configuration record,

Locate all Monitoring Method records where the location is the unit location in the Unit Stack
Configuration record, the ParameterCode is equal to "HI", the MethodCode begins with "AD" or is equal

Environmental Protection Agency

Page 241 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

to "CEM", "AMS", or "CALC", the BeginDate/BeginHour is on or before the Method Evaluation End
Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation
Begin Date/Begin Hour.

If not found for all units, or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of the
retrieved method records do not span the entire intersection between the method evaluation period and the
BeginDate and EndDate of the Unit Stack Configuration record,
return result D.

If the Location Type begins with "U", and the MethodCode contains "CALC",

Set Method Found to false.

For any Unit Stack Configuration record with an associated StackPipelD beginning with "CS",

Locate all Monitoring Method records where the location is the stack/pipe location in the Unit Stack
Configuration record, the ParameterCode is equal to "HI", the MethodCode is equal to "CEM" or "AMS",
the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is
null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour.

If found,

If the Non Load Based Indicator for the unit is equal to true,
return result E.

Otherwise,

set Method Found to true.

If Method Found is false,

For any Unit Stack Configuration record with an associated StackPipelD beginning with "CP",

Locate all Monitoring Method records where the location is the stack/pipe location in the Unit
Stack Configuration record, the ParameterCode is equal to "HI" or "HIT", the MethodCode begins
with "AD" or is equal to "LTFF", the BeginDate/BeginHour is on or before the Method Evaluation
End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method
Evaluation Begin Date/Begin Hour.

If found,

If the Non Load Based Indicator for the unit is equal to true,
return result E.

Otherwise,

set Method Found to true.

If Method Found is false, or the BeginDate/BeginHour and EndDate/EndHour of all of the method records
retrieved above do not span the method evaluation period,

Set Method Found to null.

For each Unit Stack Configuration record with an associated StackPipelD beginning with "MS":

Locate a Monitoring Location Attribute record where the location is the stack/pipe location in the
Unit Stack Configuration record, the Bypasslndicator is equal to 1, the BeginDate is on or before
the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation
Begin Date.

If not found,

Locate all Monitoring Method records where the location is the stack/pipe location in the

Environmental Protection Agency

Page 242 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode is
equal to "CEM" or "AMS", the BeginDate/BeginHour is on or before the Method
Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or
after the Method Evaluation Begin Date/Begin Hour.

If found,

If Method Found is equal to false, or the BeginDate/BeginHour and
EndDate/EndHour of all of the method records retrieved above do not span the
entire intersection between the method evaluation period and the BeginDate and
EndDate of the Unit Stack Configuration record,
return result F.

Otherwise,

set Method Found to true.

If not found,

If Method Found is equal to true,
return result F.

Otherwise,

set Method Found to false.

If Method Found is null or is equal to false,

set Method Found to null.

For each Unit Stack Configuration record with an associated StackPipelD beginning with "MP":

Locate all Monitoring Method records where the location is the stack/pipe location in the
Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode
begins with "AD", the BeginDate/BeginHour is on or before the Method Evaluation End
Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method
Evaluation Begin Date/Begin Hour.

If found,

If Method Found is equal to false, or the BeginDate/BeginHour and
EndDate/EndHour of ah of the method records retrieved above do not span the
entire intersection between the method evaluation period and hour 23 of the
BeginDate and hour 0 of the EndDate of the Unit Stack Configuration record,
return result F.

Otherwise,

set Method Found to true.

If not found,

If Method Found is equal to true,
return result F.

Otherwise,

set Method Found to false.

If Method Found is null or is equal to false,
return result F.

Environmental Protection Agency

Page 243 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result	Response

A	You have reported a Heat Input methodology of "LTFF" for [location], but you have not

reported a Heat Input methodology of "CALC" for all units linked to this pipe for the
entire evaluation period.

B	You have reported an Appendix D Heat Input methodology for [location], but you have

not reported a Heat Input methodology of "CALC" for all units linked to this pipe for
the entire evaluation period.

C	You have reported a Heat Input methodology of "CEM" or " AMS" for [location], but

you have not reported a Heat Input methodology of "CALC" for at least one unit linked
to this stack for the entire evaluation period.

D	You have reported a Heat Input methodology of "CALC" for [location], but you have

not reported an appropriate Heat Input methodology for all units linked to this stack for
the entire evaluation period.

E	You have reported a Heat Input methodology indicating that heat input for [location] is

apportioned from heat input measured at a common stack or pipe, but the unit is a
non-load-based unit. You cannot apportion heat input for a non-load-based unit.

F	You have reported a Heat Input methodology of "CALC" for [location], but you have

not reported an appropriate Heat Input methodology for the stacks or pipes linked to this
unit for the entire evaluation period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals true

Severity

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 244 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-14

Check Name:

Method Consistent with Program

Related Former Checks:
Applicability:
Description:

Validation Tables:

General Check

[Program Parameter to Method Parameter] (Cross Check Table)
Specifications:

For a Monitoring Method record with consistent dates:

Matching Program Parameter Cd List = List of lookup Program Parameter Cd from Cross-Check Table "Program Parameter To
Method Parameter" where MethodParameterList contains Current Method.ParameterCd.

Locate all Location Program Parameter Records linked to the location with a ClassCode not equal to "N", "NA", or "NB"; an
UnitMonitorCertBeginDate that is on or before the Method Evaluation End Date and is not null, and a ParameterCd in Matching
Program Parameter Cd List.

If not found,

return result A.

If found,

If the ParameterCode is equal to "HI" and the MethodCode is equal to "EXP",

Locate a Unit Program Record linked to the location with a ProgramCode equal to "ARP", a ClassCode not equal
to "NA" or "N", an UnitMonitorCertBeginDate that is on or before the Method Evaluation End Date and is not null,
and an EndDate that is null or is on or after the Method Evaluation Begin Date.

If found,

return result A.

If the Method Evaluation Begin Date is earlier than the earlier of the EmissionsRecordingBeginDate and January 1
of the year of the UnitMonitorCertBeginDate in the retrieved record with the earliest UnitMonitorCertBeginDate,
return result C.

else if the EndDates in all the retrieved records are not null and the latest End Date is prior to the Method
Evaluation End Date,
return result G.

else if the BeginDates of the BeginReportPeriodlds and the EndDates of the EndReportPeridoIds for the retrieved
Program Parameter Records do not span the Method Evaluation Period,
return result H

else if the ParameterCode is equal to "C02" or "C02M",

From the Location Program Parameter Records previously located, locate records with Requiredlnd
equal to 1.

If not found, or if the Method Evaluation Begin Date is earlier than the earlier of the
EmissionsRecordingBeginDate and January 1 of the year of the UnitMonitorCertBeginDate in the retrieved

Otherwise,

If the EndDate in the current Method record is null,
return result B.

Else

Environmental Protection Agency

Page 245 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

record with the earliest UnitMonitorCertBeginDate,

Locate all Monitor Plan Reporting Frequency records linked to the location where the
ReportingFrequency is equal to "OS"; and the BeginQuarter is on or before the quarter of the
Method Evaluation End Date; and the EndQuarter is null or is on or after the quarter of the
Method Evaluation Begin Date.

If found,

return result D.

Otherwise,

If the month/day of the Method Evaluation Begin Date is not January 1,

Locate another Method record for the location where the BeginDate is prior to the
Method Evaluation Begin Date and the End Date is null or is on or after January
1 of the year of the Method Evaluation Begin Date.

If found,

return result E.

Otherwise,

return result F.

Otherwise,

return result F.

Results:

Result
A

B
C

D

E
F

H

Response

You reported a monitoring methodology for [key], but this methodology is not
appropriate for the active programs associated with this location.

You have indicated that this unit is exempt from reporting heat input.

You reported a monitoring methodology for [key], but the BeginDate is not consistent
with the dates in the Unit Program records (or Unit Stack Configuration records)
associated with this location. If you believe that this error is incorrect, and has been
caused by an inaccurate date in the Unit Program record, please contact Craig Hillock at
Hillock. Craig@epamail.epa. gov.

You reported a monitoring methodology for [key], but according to the reporting
frequency records in this montioring plan, this location was an ozone-season only
reporter for all or part of the time that this method record was active. A C02 monitoring
methodology is only appropriate for locations that report on an annual basis.
You reported a monitoring methodology for [key] that does not span the entire reporting
year. A C02 monitoring methodology must be reported for an entire reporting year.
Based on the dates of in this record and in the unit program records associated with this
location, the monitoring methodology for [key] should only be reported if you are using
this software to report C02 emissions as part of the Greenhouse Gas Mandatory
Reporting Rule. If that is not the case, you should either not report this methodology or
should correct the dates in this record to be consistent with the ARP or RGGI unit
program records.

You reported a monitoring methodology for [key] with an End Date that is not
consistent with the End Date in the Unit Program records (or Unit Stack Configuration
records) associated with this location. If you believe that this error is incorrect, and has
been caused by an inaccurate date in the Unit Program record, please contact Craig
Hillock at Hillock.Craig@epamail.epa.gov.

You reported a monitoring methodology for [key] that is not appropriate for the entire
evaluation period.

Severity

Critical Error Level 1

Informational Message
Critical Error Level 1

Critical Error Level 1

Critical Error Level 2
Informational Message

Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Method Active Equals true

¦ Method Evaluation

Environmental Protection Agency

Page 246 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-15

Check Name:	Method Consistent with Fuels

Related Former Checks:	ARP-14B, 72B, old ARP-61, ARP-42, ARP-51

Applicability:	General Check

Description:

Validation Tables:

Fuel Code (Lookup Table)

Specifications:

For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates:

If the ParameterCode is equal to "OP" and the MethodCode is equal to "EXP",

Locate all Unit Control records linked to the location where the ControlCode is equal to "WL", "WLS", or "WS", the
InstallDate is null, and the OriginalCode is equal to 1.

If not found,

Locate all Unit Control records linked to the location where the ControlCode is equal to "WL", "WLS", or "WS",
the InstallDate is on or before Method Evaluation End Date, and the RetireDate is null or is on or after Method
Evaluation Begin Date).

If not found,

Locate all Unit Fuel records linked to the location where BeginDate is on or before Method Evaluation
End Date and EndDate is null or is on or after Method Evaluation Begin Date.

For each record found,

If FuelCode is not equal to "DSL",

Locate FuelCode in Fuel Code lookup table.

If FuelGroupCode is not equal to "GAS" or "OIL",
return result A.

If FuelGroupCode is equal to "OIL",

Locate a Monitor Qualification record for the location where
QualificationTypeCode is equal to "GF", the BeginDate is on or before the
Method Evaluation End Date, and the EndDate is null or is on or after the Method
Evaluation Begin Date,

If not found,

return result A.

If the MethodCode begins with "AD", or "LTF", or is equal to "AE", "PEM", or "LME",

Locate all Unit Fuel records linked to the location where BeginDate is on or before Method Evaluation End Date and
EndDate is null or is on or after Method Evaluation Begin Date.

For each record found,

Locate FuelCode in Fuel Code lookup table.

If FuelGroupCode is equal to "COAL" or "OTHER",

set Invalid Method Fuel to "coal or other solid fuels", and return result B.

Environmental Protection Agency

Page 247 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If MethodCode is equal to "FSA",

Locate all Unit Fuel records linked to the location where the FuelCode is equal to "W" or "OSF", the BeginDate is on or
before Method Evaluation End Date and EndDate is null or is on or after Method Evaluation Begin Date.

If found,

set Invalid Method Fuel to "wood or other solid fuel", and return result B.

Results:

Result	Response	Severity

A	You have reported [key], but this methodology is not appropriate unless the unit is only Critical Error Level 1

burning gas or diesel, or is a gas-fired unit that is burning only gas or oil.

B	You have reported [key], but this methodology is not appropriate when the unit is	Critical Error Level 1

burning [invalid fuel].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals true

Environmental Protection Agency

Page 248 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-16

Check Name:	Substitute Data Code Consistent with Non Load Based Indicator

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitoring Method record with a valid SubstituteDataCode that begins with "NLB",

If the Location Non Load Based Indicator is not equal to 1,
return result A.

Results:

Result	Response	Severity

A	You have reported a substitute data approach of NLB or NLBOP for [key]. This	Critical Error Level 1

approach is only appropriate for use by non load-based units.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Environmental Protection Agency

Page 249 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-17

Check Name:

Substitute Data Code Consistent with Program and Reporting Frequency

Related Former Checks: ARP-73E

Applicability:

General Check

Description:

Specifications:

For a Monitor Method record with a valid Substitute Data Code equal to "OZN75" and consistent dates:

Locate all Monitor Plan Reporting Frequency records linked to the location where the ReportingFrequency is equal to "Q"; and the
BeginQuarter is on or before the quarter of the Method Evaluation End Date; and the EndQuarter is null or is on or after the quarter
of the Method Evaluation Begin Date.

If found, and the EndQuarter of all the retrieved records are not null, and the latest EndQuarter of the retrieved records is prior to the
quarter of the Method Evaluation End Date,
return result B.

If not found,

return result A.

Results:

Result
A

Response

You have reported a substitute data approach of OZN75 for [key]. This approach is
only appropriate for use by Subpart H units that report on a year-round basis.
You have reported a substitute data approach of OZN75 for [key]. This approach is
only appropriate for use by Subpart H units that report on a year-round basis, but you
have not reported the appropriate reporting frequency records that span the entire
evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 250 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-18

Check Name:	Required Unit Control for Bypass Approach

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Monitoring Method record with a valid BypassApproachCode that is not null and consistent dates:

Locate all Unit Type records linked to this location where the UnitTypeCode is equal to "CC", and the BeginDate is null or is on or
before the Method Evaluation End Date and the EndDate is null or on or after the Method Evaluation Begin Date.

If no Unit Type records are found, or there are no Unit Type records with a null End Date, or the latest EndDate of the retrieved
record is prior to the Method Evaluation End Date,

If the Method ParameterCode is equal to "NOXR",

Locate all Unit Control records linked to this location where the ParameterCode is equal to "NOX", the BeginDate
is null or is on or before the Method Evaluation End Date and the EndDate is null or on or after the Method
Evaluation Begin Date.

Otherwise,

Locate all Unit Control records linked to this location where the ParameterCode is equal to the Method
ParameterCode, the BeginDate is null or is on or before the Method Evaluation End Date and the EndDate is null
or on or after the Method Evaluation Begin Date.

If no Unit Type records are found, and no Unit Control records are found,
return result A.

If the there are no Unit Type or Unit Control records with a null EndDate or the latest EndDate of all the retrieved Unit Type and
Unit Control records is prior to the Method Evaluation End Date,
return result B.

Results:

Result
A

B

Response

You have reported a Bypass Stack Approach Code for [key], which indicates that
emissions normally monitored at this location are sometimes emitted through an
unmonitored bypass stack when unit controls are not working. However, this location
does not have any unit controls defined that were active during the evaluation period.
You have reported a Bypass Stack Approach Code for [key], which indicates that
emissions normally monitored at this location are sometimes emitted through an
unmonitored bypass stack when unit controls are not working. However, you have not
reported unit controls records for this location that span the entire evaluation period.

Severity

Non-Critical Error

Non-Critical Error

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals true

Environmental Protection Agency

Page 251 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-19

Check Name:	Bypass Approach Code Consistent with Bypass Stack Indicator

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Monitoring Method record with a valid BypassApproachCode that is not null, consistent dates, and a Location Type equal to "CS" or
"MS":

Locate a Location Attribute record for the location where the Bypasslndicator is equal to 1 and the BeginDate is on or before the

Monitor Evaluation End Date and the EndDate is null or is on or after the Monitor Evaluation Begin Date.

If found,

return result A.

Results:

Result	Response

A	You have reported a Bypass Stack Approach Code for [key], which indicates that

emissions normally monitored at this location are sometimes emitted through an
unmonitored bypass stack. However, this location is defined as a bypass stack. A
Bypass Stack Approach Code is not appropriate for a monitoring method at a bypass
stack.

Seventy

Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Environmental Protection Agency

Page 252 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-20

Check Name:	CEM Methods Consistent

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Monitoring Method record with consistent dates:

If the ParameterCode is equal to "H20",

Locate all Monitoring Method records for the location where the MethodCode is equal to "CEM" or " AMS", the BeginDate
and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the Method Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If found, the BeginDate/Hour and EndDate/Hour of all the retrieved records do not span the entire method evaluation
period,

return result B.

If the MethodCode is equal to "CEM",

If ParameterCode is equal to "NOX" or "NOXR",

Locate all Monitoring Method records for the location where the MethodCode begins with "PEM" or "LTF"
or is equal to "AE", "LME", or "MHHI", the BeginDate and BeginHour is on or before the Method Evaluation End
Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation
Begin Date and Begin Hour.

If found,

add all ParameterCodes in the retrieved records to the Invalid Parameters for CEM Method, and return
result C.

Otherwise,

Locate all Monitoring Method records for the location where the MethodCode begins with "AD", "PEM", or "LTF"
or is equal to "AE", "LME", or "MHHI", the BeginDate and BeginHour is on or before the Method Evaluation End
Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation
Begin Date and Begin Hour.

If found,

add all ParameterCodes in the retrieved records to the Invalid Parameters for CEM Method, and return
result C.

Results:

Result	Response	Severity

A	You have reported a H20 monitoring methodology for [key], but no corresponding Critical Error Level 1

CEM/AMS methodology for this location.

B	You have reported a H20 monitoring methodology for [key], but you have not reported Critical Error Level 1

corresponding CEM/AMS method records that span the entire evaluation period for this
location.

C	You reported a CEM monitoring methodology for [key], but you reported an	Critical Error Level 1

inappropriate non-CEM methodology for [parameters].

Environmental Protection Agency

Page 253 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Environmental Protection Agency

Page 254 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-22

Check Name:	Appendix E Method Consistent with HI Method

Related Former Checks:

Applicability:	Appendix E Check

Description:

Specifications:

For a MonitoringMethod record with a ParameterCode equal to "NOXR", "C02", or "S02", and a valid MonitoringMethodCode equal to
"AE" or "AD":

If MonitoringMethodCode is equal to "AD",

Locate all Method records for the location where the ParameterCode is equal to "HI" and the MonitoringMethodCode
begins with "AD", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and an
EndDate and EndHour that is null or is on or after the Method Evaluation End Date and End Hour.

Locate all Method records for the location where the ParameterCode is equal to "HI" and the MonitoringMethodCode is
equal to "AD" or "CALC", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour,
and an EndDate and EndHour that is null or is on or after the Method Evaluation End Date and End Hour.

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire period from the
Method Evaluation Begin Date/Begin Hour to the Method Evaluation End Date/End Hour,
return result B.

Results:

Result
A

B

Response

You have reported [key], but you have not reported an active corresponding Heat Input
Appendix D methodology.

You have reported [key], but you have not reported corresponding Heat Input Appendix
D methodology records that span the entire evaluation period.

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Environmental Protection Agency

Page 255 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-23

Check Name:

LME Methods Consistent

Related Former Checks: ARP-59, 60

Applicability:

Description:

Specifications:

LME Check

For a Monitoring Method record with consistent dates and a valid method code equal to "LME", "MHHI", or "LTFF", and a ParameterCode
not equal to "HGM":

Locate a Monitoring Method record for the facility where the location is the current location; the MethodCode begins with "CEM"
or "AD" or is equal to "PEM", "AE", "FSA", or "AMS"; the BeginDate and BeginHour is on or before the Method Evaluation End
Date and End Hour; and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and
Begin Hour.

set Invalid Parameters for LME Method to all the Parameter Codes in the retrieved records, and return result A.

If not found, and the Location Type is equal to "CP".

Locate all Unit Stack Configuration records for the location where the BeginDate is on or before the Method Evaluation
End Date and the EndDate is null or is on or after the Method Evaluation Begin Date.

For each Unit Stack Configuration record:

Locate a Monitoring Method record for the facility where the location is the unit in the retrieved Unit Stack
Configuration records; the MethodCode begins with "CEM" or "AD" or is equal to "PEM", "AE", "FSA", or
"AMS"; the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour; and the
EndDate is null or the EndDate and EndHour is on or after the later of the Unit Stack Configuration Begin Date
Hour 23 and the Method Evaluation Begin Date and Begin Hour.

If found,

append all the ParameterCodes in the retrieved records to Invalid Parameters for LME Method.

If Invalid Parameters for LME Method is not null,
return result A.

If found,

Results:

Result
A

Response

You reported an LME monitoring methodology for [key], but you reported an
inappropriate non-LME methodology for [parameters].

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 256 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-24

Check Name:

Related Former Checks:

Required Methods Reported for NOX/NOXR Method

Applicability:

Description:

Specifications:

General Check

For a Monitor Method record with a ParameterCode equal to "NOX", a MethodCode equal to "NOXR", and consistent dates:

Locate a Monitor Method record for the location with a ParameterCode equal to "NOXR", a BeginDate and BeginHour that is on or
before the Method Evaluation End Date and End Hour, and an EndDate and EndHour that is null or is on or after the Method
Evaluation End Date and End Hour.

set Missing Method Parameters for NOX/NOXR Method to "NOXR".

Also, Locate a Monitor Method record for the location with a ParameterCode equal to "HI", a BeginDate and BeginHour that is on
or before the Method Evaluation End Date and End Hour, and an EndDate and EndHour that is null or is on or after the Method
Evaluation End Date and End Hour.

append "HI" to Missing Method Parameters for NOX/NOXR Method.

If either record is not found,
return result A.

Otherwise,

If any NOXR records are found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved NOXR records do
not span the entire method evaluation period,

set Missing Method Parameters for NOX/NOXR Method to "NOXR".

If any HI records are found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved HI records do not span
the entire method evaluation period,

append "HI" to Missing Method Parameters for NOX/NOXR Method.

If the Missing Method Parameters for NOX/NOXR Method is not null,
return result B.

If not found,

If not found,

Results:

Result
A

Response

You reported [key], which indicates that NOx Mass is calculated using NOx Rate and
Heat Input. However, you have not reported a methodology that was active during the
evaluation period for [missing] at this location.

You reported [key], which indicates that NOx Mass is calculated using NOx Rate and
Heat Input. However, you have not reported a methodology for [missing] at this
location that span the entire evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 257 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-25

Check Name:

Required NFS System Reported for Method

Related Former Checks: ARP-11, ARP-53A, NBP-57

Applicability:

General Check

Description:

Validation Tables:

Method Parameter to Method to System Type (Cross Check Table)

Specifications:

For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates:
If the ParameterCode is equal to "HI", and the MethodCode is equal to "CEM",

Locate all Monitor System records for the location where the SystemTypeCode is equal to "C02" or "02", the
SystemDesignationCode is equal to "P", the BeginDate/BeginHour is null or is on or before the Method Evaluation End
Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found, and the Method Evaluation Begin Date is on or after the ECMPS MP Begin Date,
set Required System for Method to "C02 or 02", and return result A.

If not found and the Method Evaluation Begin Date is prior to the ECMPS MP Begin Date, or if the BeginDate/BeginHour
and EndDate/EndHour of the retrieved records do not span the entire method evaluation period,

Locate a Unit Program record linked to the location where the ProgramCode is equal to "ARP", the ClassCode is
not equal to "NA", and the UnitMonitorCertBeginDate is prior to the ECMPS MP Begin Date,

If no Monitor System records were found,

set Required System for Method to "C02 or 02", and return result A.

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved Monitor System records do not span
the portion of the method evaluation period on or after the UnitMonitorCertBeginDate hour 0,
set Required System for Method to "C02 or 02", and return result B.

If not found, and the Method Evaluation End Date is on or after the ECMPS MP Begin Date,

If no Monitor System records were found,

set Required System for Method to "C02 or 02", and return result A.

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved Monitor System records do not span
the portion of the method evaluation period on or after ECMPS MP Begin Date hour 0,
set Required System for Method to "C02 or 02", and return result B.

If the ParameterCode is not equal to "HI", and the MethodCode contains "CEM" or is equal to "PEM", "MTB", "MMS", or
"MWD",

Locate a record in the Parameter and Method to System Type Cross Check table where the ParameterCode is equal to the
ParameterCode in the current Method record, the MethodCode is equal to the MethodCode in the current Method record,
and the SystemTypeCode is not null,

If one record is found,

Locate all Monitor System records for the location where the SystemTypeCode is equal to the SystemTypeCode in
the cross check table, the SystemDesignationCode is equal to "P" or "PB", the BeginDate/BeginHour is null or is
on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the
Method Evaluation Begin Date/Begin Hour.

If found,

Environmental Protection Agency

Page 258 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If not found,

set Required System for Method to the SystemTypeCode in the cross check table, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,

set Required System for Method to the SystemTypeCode in the cross check table, and return result B.

If more than one record is found,

Set Required System for Method to null.

Set Incomplete System for Method to null.

Set primary to null.

For each cross check table record found:

Locate all Monitor System records for the location where the SystemTypeCode is equal to the
SystemTypeCode in the cross check table record, the BeginDate/BeginHour is null or is on or before the
Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method
Evaluation Begin Date/Begin Hour.

If not found,

append SystemTypeCode in the cross check table to Required System for Method.

If found,

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,

append SystemTypeCode in the cross check table to Incomplete System for Method.

Otherwise,

If the SystemDesignationCodes in all the retrieved records are equal to "P" or "PB",
If primary is equal to "FOUND",
set primary to "BOTH".

Otherwise,

set primary to "FOUND".

If Required System for Method is not null, and Incomplete System for Method is null,
return result C.

If Required System for Method is null, and Incomplete System for Method is not null,
return result D.

If Required System for Method is not null, and Incomplete System for Method is not null,
return result E.

If primary is equal to "BOTH",
return result F.

If primary is null,

Locate all Monitor System records for the location where the SystemTypeCode is equal to any. of the
SystemTypeCodes in the retrieved cross check table records, the SystemDesignationCode is equal to "P" or
"PB", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and
the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found, or if the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the
entire method evaluation period,
return result G.

Environmental Protection Agency

Page 259 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result	Response

A	You reported a monitoring methodology for [key], but there is no primary [system]

monitoring system that was active during the evaluation period, which is required for
this method.

B	You reported a monitoring methodology for [key], but there is no primary [system]

monitoring system that is active for the entire evaluation period.

C	You reported a monitoring methodology for [key], but there is no [system] monitoring

system that was active during the evaluation period, which is required for this method.

D	You reported a monitoring methodology for [key], but there is no [incomplete]

monitoring system that is active for the entire evaluation period.

E	You reported a monitoring methodology for [key], but there is no [system] monitoring

system that was active during the evaluation period, which is required for this method.
Also, you did not report a [incomplete] monitoring system that was active for the entire
evaluation period.

F	You reported concurrently active primary HG and HGK monitoring systems. If you use

the CEMAK methodology to measure HGM, you must designate either the HG or the
HGK system to be the primary system.

G	You reported a monitoring methodology for [key], but you did not designate an HG or

HGK monitoring system to be the primary monitoring system for the entire evaluation
period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Severity

Critical Error Level 1

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 260 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-26

Check Name:

Required Flow System Reported for Method

Related Former Checks: ARP-11, NBP-57

Applicability:

General Check

Description:

Specifications:

For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates:

If the ParameterCode is equal to "S02", "HI", "C02", or "NOX", and the MethodCode contains "CEM"; OR the ParameterCode is
equal to "HGM",

Locate a Monitor System for the location where the SystemTypeCode is equal to "FLOW", the SystemDesignationCode is
equal to "P", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

return result B.

Results:

Result
A

Response

You reported a monitoring methodology for [key], but there is no primary [system]
monitoring system that was active during the evaluation period, which is required for
this method.

You reported a monitoring methodology for [key], but there is no primary [system]
monitoring system that is active for the entire evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 261 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-27

Check Name:	Required Formula Reported for Method

Related Former Checks: ARP-2, ARP-3, ARP-4, ARP-25, ARP-48, NBP-27, NBP-25, old NBP-22

Applicability:	General Check

Description:

Specifications:

For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates:

If the ParameterCode is equal to "HI" and the MethodCode contains "CALC",

If the Location Type is equal to "CS",

Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to
"F-25", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "HI F-25" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,

set "HI F-25" for Missing Formula for Method, and return result B.

If the Location Type is equal to "UB" or "UP",

Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to
"F-21A", "F-21B", "F-21C", or "F-21D", the BeginDate/BeginHour is null or is on or before the Method
Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin
Date/Begin Hour.

If not found,

set "HI apportionment or summation" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,

set "HI apportionment or summation" for Missing Formula for Method, and return result B.

If the Location Type is equal to "US",

Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to
"F-21A", "F-21B", or "F-21C", the BeginDate/BeginHour is null or is on or before the Method Evaluation End
Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "HI apportionment or summation" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,

set "HI apportionment or summation" for Missing Formula for Method, and return result B.

If the MethodCode begins with "AD",

If found,

If ParameterCode is equal to "HI" or "C02",

Locate all Monitor System records for the location where the SystemTypeCode is equal to "OILM",

Environmental Protection Agency

Page 262 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

"OILV", or "GAS", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is
null or is on or after the Method Evaluation Begin Date.

If more than one record is found, and for an^ two records the FuelCode is different, and the BeginDate and
EndDate of the records overlap during the method evaluation period,

If ParameterCode is equal to "HI",

Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the
FormulaCode is equal to "D-15A", the BeginDate/BeginHour is null or is on or before the
Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after
the Method Evaluation Begin Date/Begin Hour.

If not found,

set "HI D-15A" for Missing Formula for Method, and return result C.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do
not span the overlapping period in the Monitor System records that also overlaps the
method evaluation period,

Set "HI D-15A" for Missing Formula for Method, and return result B.

Otherwise,

Locate a Monitor Formula for the location where the ParameterCode is equal to "C02",
the FormulaCode is equal to "G-4A", the BeginDate/BeginHour is null or is on or before
the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or
after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "C02 G-4A" for Missing Formula for Method, and return result C.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do
not span the overlapping period in the Monitor System records that also overlaps the
method evaluation period,

Set "C02 G-4A" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "S02",

Locate all Monitor System records for the location where the SystemTypeCode is equal to "OILM",
"OILV", or "GAS", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is
null or is on or after the later of the Method Evaluation Begin Date and the ECMPS MP Begin Date.

If more than one record is found, and for an^two records the FuelCode is different, and the BeginDate and
EndDate of the records overlap the part of the method evaluation period that is on or after the ECMPS MP
Begin Date.

Locate a Monitor Formula for the location where the ParameterCode is equal to "S02", the
FormulaCode is equal to "D-12", the BeginDate/BeginHour is null or is on or before the Method
Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the later of the
Method Evaluation Begin Date/Begin Hour and the ECMPS MP Begin Date.

If not found,

set "S02 D-12" for Missing Formula for Method, and return result C.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not
span the overlapping period in the Monitor System records that also overlaps the part of the
method evaluation period that is on or after the ECMPS MP Begin Date,

Set "S02 D-12" for Missing Formula for Method, and return result B.

Environmental Protection Agency

Page 263 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If the ParameterCode is equal to "NOXR" and the MethodCode is equal to "AE",

Locate all Monitor System records for the location where the SystemTypeCode is equal to "NOXE", the BeginDate is on or
before the Method Evaluation End Date, and the EndDate is null or is on or after the later of the Method Evaluation Begin
Date and the ECMPS MP Begin Date.

If more than one record is found, and for any two records the FuelCode is different, and the BeginDate and EndDate of the
records overlap during the method evaluation period that is on or after the ECMPS MP Begin Date.

Locate a Monitor Formula for the location where the ParameterCode is equal to "NOXR", the FormulaCode is
equal to "E-2", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and
the EndDate/EndHour is null or is on or after the later of the Method Evaluation Begin Date/Begin Hour and the
ECMPS MP Begin Date.

If not found,

set "NOXR E-2" for Missing Formula for Method, and return result D.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the overlapping
period in the Monitor System records that also overlaps the part of the method evaluation period that is on or after
the ECMPS MP Begin Date.

Set "NOXR E-2" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "NOX" and the MethodCode contains "NOXR",

Locate a Monitor Formula for the location where the ParameterCode is equal to "NOX", the FormulaCode is equal to
"F-24A", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "NOX F-24A" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

set "NOX F-24A" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "S02" and the MethodCode contains "F23",

Locate a Monitor Formula for the location where the ParameterCode is equal to "S02", the FormulaCode is equal to
"F-23", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "S02 F-23" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

set "S02 F-23" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "HI" and the MethodCode contains "CEM",

Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to "F-15",
"F-16", "F-17", or "F-18", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour,
and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "HI CEM" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method

Environmental Protection Agency

Page 264 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

evaluation period,

set "HI CEM" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "C02" and the MethodCode contains "CEM",

Locate a Monitor Formula for the location where the ParameterCode is equal to "C02", the FormulaCode is equal to "F-2"
or "F-l 1", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "C02 CEM" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

set "C02 CEM" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "C02M" and the MethodCode contains "FSA",

Locate a Monitor Formula for the location where the ParameterCode is equal to "C02M", the FormulaCode is equal to
"G-l", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "C02M FSA" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

set "C02M FSA" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "HGM" and the MethodCode is equal to "LME",

Locate a Monitor Formula for the location where the ParameterCode is equal to "HGM", the FormulaCode is equal to
"F-28", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "HGM F-28" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

set "HGM F-28" for Missing Formula for Method, and return result B.

If the ParameterCode is equal to "HGM" and the MethodCode contains "AK",

Locate a Monitor Formula for the location where the ParameterCode is equal to "HGM", the FormulaCode is equal to
"F-29", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

set "HGM F-29" for Missing Formula for Method, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

set "HGM F-29" for Missing Formula for Method, and return result B.

Environmental Protection Agency

Page 265 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B
C

D

Severity

Critical Error Level 1

Critical Error Level 1

Response

You have reported [key], but you have not reported a [formula] formula that was active
during the evaluation period, which is required when using this monitoring
methodology.

You have reported [key], but you have not reported the required [formula] formula to
span the entire evaluation period.

You have reported [key], but you have not reported a [formula] formula that was active Critical Error Level 1
during the evaluation period, which is required when using this monitoring methodology
with fuel flow systems measuring more than one fuel.

You reported [key], but you have not reported a [formula] formula that was active
during the evaluation period, which is required when using this monitoring methodology
with multiple NOXE systems for different fuels.

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals True

Environmental Protection Agency

Page 266 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-28

Check Name:	Required Defaults Reported for Method

Related Former Checks: ARP-47

Applicability:	General Check

Description:

Specifications:

For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates:

set Missing Default for Method and Incomplete Default for Method to null.

If the ParameterCode is equal to "H20" and the MethodCode is equal to "MDF",

Locate a Monitor Default for the location where the ParameterCode is equal to "H20", the DefaultPurposeCode is equal to
"PM", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is
null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add "H20 PM" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

add "H20 PM" to Incomplete Default for Method.

If the ParameterCode is equal to "S02" and the MethodCode contains "F23",

Locate a Monitor Default for the location where the ParameterCode is equal to "S02R", the DefaultPurposeCode is equal to
"F23", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is
null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add " S02R F23" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

add "S02R F23" to Incomplete Default for Method.

If the ParameterCode is equal to "NOXR", and MethodCode begins with "CEM",

Locate a Monitor Default for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode is equal
to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End
Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add "NORX MD" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

add "NORX MD" to Incomplete Default for Method.

If the MethodCode is equal to "S02R",

Locate a Monitor Default for the location where the ParameterCode is equal to "SORX", the DefaultPurposeCode is equal
to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End
Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add " SORX MD" to Missing Default for Method.

Environmental Protection Agency

Page 267 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

add " SORX MD" to Incomplete Default for Method.

If the MethodCode is equal to "PEM",

Locate a Monitor Default for the location where the ParameterCode is equal to "NOCX", the DefaultPurposeCode is equal
to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End
Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add "NOCX MD" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

add "NOCX MD" to Incomplete Default for Method.

Locate a Monitor Default for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode is equal
to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End
Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add "NORX MD" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

add "NORX MD" to Incomplete Default for Method.

If the ParameterCode is equal to "HIT" and the MethodCode is equal to "MHHI",

Locate a Monitor Default for the location where the ParameterCode is equal to "MHHI", the DefaultPurposeCode is equal
to "LM", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour
is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add "MHHI LM" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method
evaluation period,

add "MHHI LM" to Incomplete Default for Method.

If the ParameterCode is equal to "HGM",

If the MethodCode is equal to "LME" or "AK",

Locate a Monitor Default for the location where the ParameterCode is equal to "HGX", the DefaultPurposeCode is
equal to "MD", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add "HGX MD" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,

add "HGX MD" to Incomplete Default for Method.

If the MethodCode contains "AK",

Environmental Protection Agency

Page 268 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Locate a Monitor Default for the location where the ParameterCode is equal to " AKSF", the DefaultPurposeCode is
equal to "AK", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add "AKSF AK" to Missing Default for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,

add "AKSF AK" to Incomplete Default for Method.

If Missing Default for Method is not null, and Incomplete Default for Method is null,
return result A.

If Missing Default for Method is null, and Incomplete Default for Method is not null,
return result B.

If Missing Default for Method is not null, and Incomplete Default for Method is not null,
return result C.

If the MethodCode is equal to "AE",

Locate all Unit Fuel records linked to the location where the IndicatorCode is equal to "E", the BeginDate is on or before
the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date.

For each Location Fuel record found,

Locate a Monitor Default for the location where the ParameterCode is equal to "NOCX", the DefaultPurposeCode
is equal to "MD", the associated UnitFuel is equal to the FuelCode in the fuel record, the BeginDate/BeginHour is
on or before the earlier of the Method Evaluation End Date/End Hour and the End Date and End Hour in the fuel
record, and the EndDate/EndHour is null or is on or after the later of the Method Evaluation Begin Date/Begin
Hour and the Begin Date and Begin Hour in the fuel record.

If not found for any. fuel,

add "NOCX MD" to Missing Default for Method.

If, for an^ fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
intersection of the method evaluation period and active fuel record period,
add "NOCX MD" to Incomplete Default for Method.

Locate a Monitor Default for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode
is equal to "MD", the associated UnitFuel is equal to the FuelCode in the fuel record, the BeginDate/BeginHour is
on or before the earlier of the Method Evaluation End Date/End Hour and the End Date and End Hour in the fuel
record, and the EndDate/EndHour is null or is on or after the later of the Method Evaluation Begin Date/Begin
Hour and the Begin Date and Begin Hour in the fuel record.

If not found for any. fuel,

add "NORX MD" to Missing Default for Method.

If, for any fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
intersection of the method evaluation period and active fuel record period,
add "NORX MD" to Incomplete Default for Method.

If Missing Default for Method is not null, and Incomplete Default for Method is null,
return result D.

If Missing Default for Method is null, and Incomplete Default for Method is not null,
return result E.

Environmental Protection Agency

Page 269 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

If Missing Default for Method is not null, and Incomplete Default for Method is not null,
return result F.

If the MethodCode is equal to "LME",

Set Missing Default Fuel for Method and Incomplete Default Fuel for Method to null.

Locate all Unit Fuel records linked to the location where the BeginDate is on or before the Method Evaluation End Date,
and the EndDate is null or is on or after the Method Evaluation Begin Date.

For each Location Fuel record found,

If ParameterCode is equal to "NOXM",

Locate a Monitor Default for the location where the ParameterCode is equal to "NOXR", the
DefaultPurposeCode begins with "LM", the associated UnitFuel is equal to the FuelCode in the unit fuel
record, an OperatingConditionCode equal to "A", "C", or "B", and the BeginDate/BeginHour is on or
before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the
Method Evaluation Begin Date/Begin Hour.

If not found for any. fuel,

add FuelCode in Unit Fuel record to Missing Default Fuel for Method,
add "NOXR LM" to Missing Default for Method.

If, for an^ fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the
entire intersection of the method evaluation period and active fuel record period,
add FuelCode in Unit Fuel record to Incomplete Default Fuel for Method,
add "NOXR LM" to Incomplete Default for Method.

If ParameterCode is equal to "C02M",

Locate a Monitor Default for the location where the ParameterCode is equal to "C02R", the
DefaultPurposeCode begins with "LM", the associated UnitFuel is equal to the FuelCode in the unit fuel
record, an OperatingConditionCode equal to "A", and the BeginDate/BeginHour is on or before the
Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method
Evaluation Begin Date/Begin Hour.

If not found for anv fuel.

add FuelCode in Unit Fuel record to Missing Default Fuel for Method,
add "C02R LM" to Missing Default for Method.

If, for anjifuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the
entire intersection of the method evaluation period and active fuel record period,
add FuelCode in Unit Fuel record to Incomplete Default Fuel for Method,
add "C02R LM" to Incomplete Default for Method.

If ParameterCode is equal to "S02M",

Locate a Monitor Default for the location where the ParameterCode is equal to "S02R", the
DefaultPurposeCode begins with "LM", the associated UnitFuel is equal to the FuelCode in the unit fuel
record, an OperatingConditionCode equal to "A", and the BeginDate/BeginHour is on or before the
Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method
Evaluation Begin Date/Begin Hour.

If not found for anv fuel.

add FuelCode in Unit Fuel record to Missing Default Fuel for Method,
add " S02R LM" to Missing Default for Method.

If, for aim fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the

Environmental Protection Agency

Page 270 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

entire intersection of the method evaluation period and active fuel record period,
add FuelCode in Unit Fuel record to Incomplete Default Fuel for Method,
add " S02R LM" to Incomplete Default for Method.

If Missing Default for Method is not null, and Incomplete Default for Method is null,
return result G.

If Missing Default for Method is null, and Incomplete Default for Method is not null,
return result H.

If Missing Default for Method is not null, and Incomplete Default for Method is not null,
return result I.

Results:

Result
A

B
C

D

E
F

H
I

Usage:

1

Response

You have reported [key], but you have not reported a [default parameter] default record
that was active during the evaluation period, which is required when using this
monitoring methodology.

You have reported [key], but you have not reported [incomplete default parameter]
default records that are active for the entire evaluation period.

You have reported [key], but you have not reported a [default parameter] default record
that was active during the evaluation period, which is required when using this
monitoring methodology. Also, you have not reported [incomplete default parameter]
default records that are active for the entire evaluation period.

You have reported [key], but you have not reported a [default parameter] default record
that was active during the evaluation period for every emergency fuel, which is required
when using this methodology.

You have reported [key], but you have not reported [incomplete default parameter]
default records that are active for the entire evaluation period for every emergency fuel.
You have reported [key], but you have not reported a [default parameter] default record
that was active during the evaluation period for every emergency fuel, which is required
when using this methodology. Also, you have not reported [incomplete default
parameter] default records that are active for the entire evaluation period.

You have reported [key], but you have not reported a valid [default parameter] default
record that was active during the evaluation period for [fuels], which is required when
using an LME methodology.

You have reported [key], but you have not reported [incomplete default parameter]
default records that are active for the entire evaluation period for [incomplete fuels].
You have reported [key], but you have not reported a valid [default parameter] default
record that was active during the evaluation period for [fuels], which is required when
using an LME methodology. Also, you have not reported [incomplete default
parameter] default records for [incomplete fuels] that are active for the entire evaluation
period.

Severity

Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report -
Current Method Active Equals True

¦ Method Evaluation

Environmental Protection Agency

Page 271 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-29

Check Name:

Required Defaults Reported for Missing Data Approach

Related Former Checks: ARP-74, 75B/D

Applicability:
Description:
Validation Tables:

CEM Check

Method Parameter to Maximum Default Parameter to Component Type (Cross Check Table)
Specifications:

For a Monitoring Method record with consistent dates:

If the SubstituteDataCode is valid and equal to "FSP75C",

If the MethodCode is equal to "S02R",

Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table
with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not
equal to " S02X".

Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table
with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not
equal to "SORX".

For each retrieved cross check record,

Locate all Monitor Default records for the location where the ParameterCode is equal to the Maximum Default
Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", FuelCode not equal to
"NFS", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and a
EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin
Hour.

If not found, or none of the retrieved records has a FuelCode equal to "MIX",
add Maximum Default Parameter Code to Missing Maximum Default.

If the ComponentTypeCode in the retrieved cross-check record is equal to "NOX" or "S02",

Locate a Monitor Span record for the location where the ComponentTypeCode is equal to the
ComponentTypeCode in the cross-check record, the SpanScaleCode is equal to "H", the
MaximumPotentialConcentration is equal to the highest DefaultValue in the retrieved default
records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End
Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method
Evaluation Begin Date and Begin Hour.

If not found,

add the ComponentTypeCode in the cross-check record to Invalid Maximum Default.

If the ComponentTypeCode in the retrieved cross-check record is equal to "FLOW",

Locate a Monitor Span record for the location where the ComponentTypeCode is equal to
"FLOW", the MaximumPotentialFlow is equal to the highest DefaultValue in the retrieved default
records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End
Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method
Evaluation Begin Date and Begin Hour.

Otherwise,

If found,

Environmental Protection Agency

Page 272 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If not found,

add "FLOW" to Invalid Maximum Default.

If the ComponentTypeCode in the retrieved cross-check record is null

Locate a Monitor Default record for the location where the ParameterCode is equal to the Default
Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD",
FuelCode equal to "NFS", a DefaultValue equal to the highest DefaultValue in the retrieved
default records, StartDate and StartHour that is on or before the Method Evaluation End Date and
End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method
Evaluation Begin Date and Begin Hour.

If not found,

add the Maximum Default Parameter Code in the cross-check record to Invalid Maximum
Default.

If the SubstituteDataCode is valid and equal to "FSP75",

If the MethodCode is equal to "S02R",

Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table
with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not
equal to " S02X".

Otherwise,

Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table
with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not
equal to "SORX".

For each retrieved cross check record,

Locate all Monitor Default records for the location where the ParameterCode is equal to the Default Parameter
Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", a FuelCode not equal to "NFS" or
"MIX", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and a
EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin
Hour.

If less than two records are found, or if there is only one FuelCode in the retrieved default records,
add Maximum Default Parameter Code to Missing Maximum Default.

Otherwise,

If the ComponentTypeCode in the retrieved cross-check record is equal to "NOX" or "S02",

Locate a Monitor Span record for the location where the ComponentTypeCode is equal to the
ComponentTypeCode in the cross-check record, the SpanScaleCode is equal to "H", the
MaximumPotentialConcentration is equal to the highest DefaultValue in the retrieved default
records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End
Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method
Evaluation Begin Date and Begin Hour.

If not found,

add the ComponentTypeCode in the cross-check record to Invalid Maximum Default.
If the ComponentTypeCode in the retrieved cross-check record is equal to "FLOW",

Locate a Monitor Span record for the location where the ComponentTypeCode is equal to

Environmental Protection Agency

Page 273 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

"FLOW", the MaximumPotentialFlow is equal to the highest DefaultValue in the retrieved default
records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End
Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Method
Evaluation Begin Date and Begin Hour.

If not found,

add "FLOW" to Invalid Maximum Default.

If the ComponentTypeCode in the retrieved cross-check record is null,

Locate a Monitor Default record for the location where the ParameterCode is equal to the Default
Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD",
FuelCode equal to "NFS", a DefaultValue equal to the highest DefaultValue in the retrieved
default records, StartDate and StartHour that is on or before the Method Evaluation End Date and
End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method
Evaluation Begin Date and Begin Hour.

If not found,

add the Maximum Default Parameter Code in the cross-check record to Invalid Maximum
Default.

If the MethodCode is valid, and the BypassApproachCode is valid and equal to "BYMAXFS",

If the MethodCode is equal to "S02R",

Locate the record in the Method Parameter to Maximum Default Parameter and Component Type lookup table with
a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not
equal to "S02X" or "FLOX".

Otherwise,

Locate the record in the Method Parameter to Maximum Default Parameter and Component Type lookup table with
a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not
equal to "SORX" or "FLOX".

Locate all Monitor Default records for the location where the ParameterCode is equal to the Default Parameter Code in the
retrieved cross check records, a DefaultPurposeCode equal to "MD", a FuelCode not equal to "NFS", a BeginDate and
BeginHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate
and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour.

If found, and there are either more than one FuelCode in the retrieved records or the FuelCode in the retrieved record(s) is
equal to "MIX",

If the ComponentTypeCode in the retrieved cross-check record is equal to "NOX" or "S02",

Locate a Monitor Span record for the location where the ComponentTypeCode is equal to the
ComponentTypeCode in the cross-check record, the SpanScaleCode is equal to "H", the
MaximumPotentialConcentration is equal to the highest DefaultValue in the retrieved default records, a
StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and a
EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and
Begin Hour.

If not found,

add the ComponentTypeCode in the cross-check record to Invalid Maximum Default.

If the ComponentTypeCode in the retrieved cross-check record is null,

Locate a Monitor Default record for the location where the ParameterCode is equal to the Default
Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", FuelCode

Environmental Protection Agency

Page 274 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

equal to "NFS", a DefaultValue equal to the highest DefaultValue in the retrieved default records,

StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and an
EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and
Begin Hour.

If not found,

add the Maximum Default Parameter Code in the cross-check record to Invalid Maximum Default.

Otherwise,

add Maximum Default Parameter Code to Missing Maximum Default.

If the Missing Maximum Default is not null, and the Invalid Maximum Default is null,
return result A.

If the Invalid Maximum Default is not null, and the Missing Maximum Default is null,
return result B.

If both the Missing Maximum Default and the Invalid Maximum Default are not null,
return result C.

If the SubstituteDataCode is valid and equal to "MHHI",

Locate a Monitor Default for the location where the ParameterCode is equal to "MHHI", the DefaultPurposeCode is equal
to "LM", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour
is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

return result D.

Results:

Result
A

B

D

Usage:

1

Response	Severity

You reported a substitute data or bypass approach code in the monitoring methodology Critical Error Level 1

record for [key] indicating the use of fuel-specific missing data, but you have not

reported the appropriate default records that were active during the evaluation period for

[missing default].

You reported a substitute data or bypass approach code in the monitoring methodology Critical Error Level 1
record for [key] indicating the use of fuel-specific missing data, but you have not
reported a default value for [invalid default] that is equal to the MPC/MPF in the
corresponding span record or the MER in the corresponding NFS default record.

You reported a substitute data or bypass approach code in the monitoring methodology
record for [key] indicating the use of fuel-specific missing data, but you have not
reported the appropriate default records that were active during the evaluation period for
[missing default]. Also, you have not reported a default value for [invalid default] that
is equal to the MPC/MPF in the corresponding span record or the MER in the
corresponding NFS default record.

You reported a SubstituteDataCode of [code] for [key], but you did not report a [param]
default record in your monitoring plan that is required for missing data purposes.

Critical Error Level 1

Critical Error Level 1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Method Active Equals true

¦ Method Evaluation

Environmental Protection Agency

Page 275 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-30

Check Name:

Required FuelFlow System Reported for Method

Related Former Checks: ARP-11, NBP-57

Applicability:
Description:
Validation Tables:

Appendix D Check

Fuel Code (Lookup Table)
Specifications:

For a Monitoring Method record with a ParameterCode equal to "HI" or "HIT", a valid MethodCode, and consistent dates:

If the MethodCode begins with "AD", and the Location Type begins with "U",

Locate all Unit Stack Configuration records where the unit location is the location in the Method record, the associated
StackPipelD begins with "CP" or "MP", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is
null or is on or after the Method Evaluation Begin Date.

Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "OIL", the IndicatorCode is equal to
"P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the
Method Evaluation Begin Date.

For each Unit Fuel record found,

Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel
record.

Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit
Stack Configuration records, the SystemTypeCode is equal to "OILM" or "OILV", the SystemDesignationCode is
equal to "P", the FuelCode is any. of the FuelCode in the retrieved Fuel Code Lookup table records, the
BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0.
add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method.

Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "GAS", the IndicatorCode is equal to
"P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the
Method Evaluation Begin Date.

For each record found,

Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel
record.

Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit
Stack Configuration records, the SystemTypeCode is equal to "GAS", the SystemDesignationCode is equal to "P",
the FuelCode is any. of the FuelCode in the retrieved Fuel Code Lookup table records, the BeginDate/BeginHour is
null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or
after the Method Evaluation Begin Date/Begin Hour.

If not found,

add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method.

Environmental Protection Agency

Page 276 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0.

add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method.

If the MethodCode begins with "LTF", and the Location Type begins with "U",

Locate all Unit Stack Configuration records where the unit location is the location in the Method record, the associated
StackPipelD begins with "CP", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or
is on or after the Method Evaluation Begin Date.

Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "OIL", the IndicatorCode is equal to
"P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the
Method Evaluation Begin Date.

For each Unit Fuel record found,

Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel
record.

Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit
Stack Configuration records, the SystemTypeCode is equal to "LTOL", the SystemDesignationCode is equal to
"P", the FuelCode is any of the FuelCode in the retrieved Fuel Code Lookup table records, the
BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the
EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0.

add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method.

Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "GAS", the IndicatorCode is equal to
"P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the
Method Evaluation Begin Date.

For each record found,

Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel
record.

Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit
Stack Configuration records, the SystemTypeCode is equal to "LTGS", the SystemDesignationCode is equal to "P",
the FuelCode is any of the FuelCode in the retrieved Fuel Code Lookup table records, the BeginDate/BeginHour is
null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or
after the Method Evaluation Begin Date/Begin Hour.

If not found,

add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0.
add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method.

If Missing Fuel System for Method is not null, and the Incomplete Fuel System for Method is null,
return result A.

Environmental Protection Agency

Page 277 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

else if Incomplete Fuel System for Method is not null, and the Missing Fuel System for Method is null,
return result B.

else if both the Missing Fuel System for Method and the Incomplete Fuel System for Method are not null,
return result C.

otherwise,

If the MethodCode begins with "AD",

Locate all Monitor Systems for the location where the SystemTypeCode is equal to "OILM", "OILV", or "GAS",
the SystemDesignationCode is equal to "P", the BeginDate/BeginHour is null or is on or before the Method
Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin
Date/Begin Hour.

If not found,

return result D.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,
return result E.

If the MethodCode begins with "LTF",

Locate all Monitor Systems for the location where the SystemTypeCode is equal to "LTOL" or "LTGS", the
SystemDesignationCode is equal to "P", the BeginDate/BeginHour is null or is on or before the Method Evaluation
End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin
Hour.

If not found,

return result D.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
method evaluation period,
return result E.

Results:

Result
A

B
C

D

Response

You reported a monitoring methodology for [key], but there is no primary FuelFlow
system that was active during the evaluation period to measure [missing fuel] at the unit
or at a pipe linked to the unit, which is required for this method.

You reported a monitoring methodology for [key], but there is no primary FuelFlow
system to measure [incomplete fuel] that is active for the entire evaluation period.
You reported a monitoring methodology for [key], but there is no primary FuelFlow
system that was active during the evaluation period to measure [missing fuel] at the unit
or at a pipe linked to the unit. Also, there is no primary FuelFlow system to measure
[incomplete fuel] that is active for the entire evaluation period.

You reported a monitoring methodology for [key], but there is no primary FuelFlow
system that was active during the evaluation period at the location, which is required for
this method.

You reported a monitoring methodology for [key], but there is no primary FuelFlow
system at the location, which is active for the entire evaluation period.

Severity

Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 278 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-31

Check Name:

Required Peaking Qualification Reported for Appendix E Method

Related Former Checks: ARP-15

Applicability:

Appendix E Check

Description:

Specifications:

For a Monitoring Method record with a ParameterCode equal to "NOXR", a MethodCode equal to " AE", and consistent dates:

If Location Type is equal to "MP",

Locate a UnitStackConfiguration record for the stack/pipe location.

Locate Monitor Qualification records where the location is the unit location in the UnitStackConfiguration record, the
QualificationTypeCode is equal to "PK" or "SK", the BeginDate is on or before the Method Evaluation End Date, and the
EndDate is null or is on or after the Method Evaluation Begin Date.

Otherwise,

Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is equal to
"PK" or "SK", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the
Method Evaluation Begin Date.

If not found,

return result A.

If found, and the BeginDate and EndDate in the retrieved records do not span the entire method evaluation period,
return result B.

Results:

Result
A

Response

You reported a method for [key], but there are no Monitor Qualification records that
were active during the evaluation period indicating that the unit is a peaking unit. The
Appendix E method can only be used for peaking units.

You reported a method for [key], but the Monitor Qualification records do not indicate
that the unit was a peaking unit for the entire evaluation period.

Severity

Critical Error Level 2

B

Critical Error Level 2

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals True

Environmental Protection Agency

Page 279 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-32

Check Name:

Required Appendix E System Reported for Method

Related Former Checks: ARP-11, NBP-57

Applicability:

Appendix E Check

Description:

Validation Tables:

Fuel Code (Lookup Table)

Specifications:

For a Monitoring Method record with a ParameterCode equal to "NOXR", a MethodCode equal to " AE", and consistent dates:
set "NOXE" to NOX System Type.

Locate a Monitor System for the location where the SystemTypeCode is equal to "NOXE", the SystemDesignationCode is equal to
"P", the FuelCode is equal to "MIX", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End
Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

Locate all Unit Fuel records linked to the location where the associated FuelGroup is equal to "OIL" or "GAS", the
IndicatorCode is equal to "P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is
null or is on or after the Method Evaluation Begin Date.

For each record found,

Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel
record.

Locate a Monitor System for the location where the SystemTypeCode is equal to "NOXE", the
SystemDesignationCode is equal to "P", the FuelCode is any of the FuelCode in the Fuel Code Lookup table
records retrieved above, the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End
Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour.

If not found,

add the FuelCode in the Location Fuel Record to the Missing NOX System for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire
intersection between the method evaluation period and the location fuel start/end dates.

add the FuelCode in the Location Fuel Record to the Incomplete NOX System for Method.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection between
the method evaluation period and the location fuel start/end dates,
add "MIX" to the Incomplete NOX System for Method.

If Missing NOX System for Method is not null, and the Incomplete NOX System for Method is null,
return result A.

If Incomplete NOX System for Method is not null, and the Missing NOX System for Method is null,
return result B.

If both Missing NOX System for Method and the Incomplete NOX System for Method are not null,
return result C.

If not found,

Environmental Protection Agency

Page 280 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B
C

Usage:

1

Response

You reported a monitoring methodology for [key], but there is no primary [system type]
system that was active during the evaluation period to measure [missing fuel], which is
required for this method.

You reported a monitoring methodology for [key], but there is no primary [system type]
system to measure [incomplete fuel] that is active for the entire evaluation period.
You reported a monitoring methodology for [key], but there is no primary [system type]
system that was active during the evaluation period to measure [missing fuel]. Also,
there is no primary [system type] system to measure [incomplete fuel] that is active for
the entire evaluation period.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Severity

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 281 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-33

Check Name:	Required LME Qualification Reported for LME Method

Related Former Checks:

Applicability:	LME Check

Description:

Specifications:

For a Monitoring Method record with a valid MethodCode equal to "LME", consistent dates, and a ParameterCode not equal to "HGM":

If ParameterCode is equal to "C02M" or "S02M",

Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is equal to
"LMEA", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the
Method Evaluation Begin Date.

If not found,

Set Missing Qualification for Method to "LMEA", and return result A.

If found,

If the EndDate in the Method record is null,

If the BeginDate and EndDate in the retrieved records do not span the period from the Method Evaluation
Begin Date to the Method Evaluation End Date,

Set Incomplete Qualification for Method to "LMEA", and return result B.

Otherwise,

If the BeginDate and EndDate in the retrieved records do not span the period from the Method Evaluation
Begin Date through December 31 of the year prior to the EndDate in the method record.

Set Incomplete Qualification for Method to "LMEA", and return result B.

Otherwise,

Set Missing Qualification for Method to null.

Set Incomplete Qualification for Method to null.

Locate a Reporting Frequency record for the location where the ReportingFrequencyCode is equal to "Q" and the first day
of the BeginQuarter is on or before the Method Evaluation End Date, and the EndQuarter is null or the last day of the
EndQuarter is on or after the Method Evaluation Begin Date.

If found,

Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is
equal to "LMEA", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on
or after the later of the Method Evaluation Begin Date and the first day of the BeginQuarter in the reporting
frequency record.

If not found,

Set Missing Qualification for Method to "LMEA".

If found,

If the EndDate in the Method record is null,

If the BeginDate and EndDate in the retrieved records do not span the entire period from the later
of the Method Evaluation Begin Date and the first day of the BeginQuarter in the reporting
frequency record until the Method Evaluation End Date,

Set Incomplete Qualification for Method to "LMEA".

Environmental Protection Agency

Page 282 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Otherwise,

If the BeginDate and EndDate in the retrieved records do not span the entire period from the later
of the Method Evaluation Begin Date and the first day of the BeginQuarter in the reporting
frequency record through December 31 of the year prior to the EndDate in the method record,
Set Incomplete Qualification for Method to "LMEA".

Locate a Unit Program record for the location where the ProgramCode is equal to "NBP", "NHNOX", "OTC", "CAIROS",
or "SIPNOX", the ClassCode is not equal to "N" or "NB", and the UnitMonitorCertBeginDate is on or before the Method
Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date.

If found,

Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is
equal to "LMES", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on
or after the later of the Method Evaluation Begin Date and the earliest UnitMonitorCertBeginDate in the unit
program record.

If not found,

append "LMES" to Missing Qualification for Method.

If found,

Set LMES Begin Date to the the later of the Method Evaluation Begin Date and the earliest

UnitMonitorCertBeginDate in the retrived Unit Program records.

If LMES Begin Date is prior to May 1,

Set LMES Begin Date to May 1 of the year of the LMES Begin Date.

If the EndDate in the Method record is null,

If the BeginDate and EndDate in the retrieved records do not span the entire period from the
LMES Begin Date to the Method Evaluation End Date,

append "LMES" to Incomplete Qualification for Method.

Otherwise,

If the BeginDate and EndDate in the retrieved records do not span the entire period from the
LMES Begin Date to September 30 of the year prior to the EndDate in the method record,
append "LMES" to Incomplete Qualification for Method.

If Missing Qualification for Method is not null, and Incomplete Qualification for Method is null,
return result A.

If Missing Qualification for Method is null, and Incomplete Qualification for Method is not null,
return result B.

If Missing Qualification for Method is not null, and Incomplete Qualification for Method is not null,
return result C.

Environmental Protection Agency

Page 283 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result	Response

A	You have reported a [param] method record for this unit indicating the use of an LME

methodology, but you have not reported a [missing] Monitor Qualification record for the
unit that is active during the evaluation period.

B	You have reported a [param] method record for this unit indicating the use of an LME

methodology, but you have not reported an [incomplete] Monitor Qualification record
for the unit that spans the entire evaluation period.

C	You have reported a [param] method record for this unit indicating the use of an LME

methodology, but you have not reported an [missing] Monitor Qualification record for
the unit that is active during the evaluation period. Also, you have not reported an
[incomplete] Monitor Qualification record for the unit that spans the entire evaluation
period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Severity

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 284 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-34

Check Name:

Alternative Monitoring Methodology Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Method record with a valid Method Code:

If MethodCode is equal to "AMS", "PEM", or "S02R",
return result A.

Results:

Result	Response	Severity

A	You have a reported a monitoring methodology for [key] that requires approval from Informational Message

EPA.

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 285 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-35

Check Name:	Required Unit Control for MTB Method

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Monitoring Method record with a valid MethodCode equal to "MTB" and consistent dates:

Locate all Unit Control record linked to this location where the ParameterCode is equal to "PART", the ControlCode is equal to
"WS", the InstallDate is null and the OriginalCode is equal to 1,

If not found,

Locate all Unit Control record linked to this location where the ParameterCode is equal to "PART", the ControlCode is
equal to " WS", the InstallDate is on or before the Method Evaluation End Date, and the RetireDate is null or on or after the
Method Evaluation Begin Date.

If not found,

return result A.

If found, and the InstallDate and RetireDate of the retrieved Unit Control records do not span the entire period between the
Method Evaluation Begin Date and Method Evaluation End Date,
return result B.

Results:

Result
A

B

Response	Severity

You have reported the use of a moisture lookup table in [key], but you have not reported Critical Error Level 1

the use of a wet scrubber in a unit control record that was active during the evaluation

period.

You have reported the use of a moisture lookup table in [key], but you have not reported Critical Error Level 1
the use of a wet scrubber for the entire evaluation period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals true

Environmental Protection Agency

Page 286 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-37

Check Name:

H20 Method Substitute Data Code Consistent with Formula

Related Former Checks:
Applicability:

CEM Check

Description:

Specifications:

For a Method record with a ParameterCode equal to "H20", a valid MethodCode that is not equal to "MDF", and a valid
SubstituteDataCode, and consistent dates:

Set Moisture Default Parameter to null.

Locate all Monitor Formula records for the location where the FormulaCode is equal to "19-3", "19-3D", "19-4", or "19-8", the
BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate
and EndHour is on or after the Method Evaluation Begin Date and Begin Hour.

If SubstituteDataCode is equal to "REV75",

Locate all Monitor Formula records for the location where the FormulaCode is equal to "F-2", "F-14B", "F-16",
"F-17", "F-18", "F-26B", "19-5", or "19-9", the BeginDate and BeginHour is on or before the Method Evaluation
End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation
Begin Date and Begin Hour.

If not found,

return result A.

If found,

Set Moisture Default Parameter to "H20N".

else if SubstituteDataCode is equal to "SPTS",

Set Moisture Default Parameter to "H20X".

If SubstituteDataCode is equal to "SPTS",

Locate all Monitor Formula records for the location where the FormulaCode is equal to "F-2", "F-14B", "F-16",
"F-17", "F-18", "F-26B", "19-5", or "19-9", the BeginDate and BeginHour is on or before the Method Evaluation
End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation
Begin Date and Begin Hour.

If found,

return result B.

If not found,

Set Moisture Default Parameter to "H20X".

else if SubstituteDataCode is equal to "REV75",

Set Moisture Default Parameter to "H20N".

If Moisture Default Parameter is not null,

Locate a MonitorDefault record for the location where the ParameterCode is equal to Moisture Default Parameter, the
BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the End Date is null or the
EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour.

If found,

If not found,

Environmental Protection Agency

Page 287 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If not found,

return result C.

If found, and the retrieved records do not span the entire method evaluation period,
return result D.

Results:

Result
A

B

C

D

Usage:

1

Response

You reported "REV75" as the SubstituteDataCode for [key], but based on your formula
records, you should be using the Standard Part 75 missing data procedures.

You reported "SPTS" as the SubstituteDataCode for [key], but based on your formula
records, you should be using the Inverse Part 75 missing data procedures.

You reported a SubstituteDataCode of [code] for [key], but you did not report a [param]
default record in your monitoring plan that is required for missing data purposes.
You reported a SubstituteDataCode of [code] for [key], but you did not report [param]
default records in your monitoring plan, which is required for missing data purposes,
that span the entire evaluation period.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 288 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	METHOD-38

Check Name:	Required Default Reported for HGM LME Method

Related Former Checks:

Applicability:	LME Check

Description:

Specifications:

For a Monitoring Method record with a valid ParameterCode equal to "HGM" a MethodCode is equal to "LME", and consistent dates:

Locate a QA Supp record for the location with a TestTypeCode equal to "HGLME", a TestReasonCode equal to "INITIAL", and an
EndDate and End Hour on or before the Method Evaluation Begin Date and Begin Hour.

If not found,

Locate a Monitor Default record for the location with a ParameterCode equal to "HGC", a DefaultPurposeCode equal to
"LM", a GroupID that is not null, and a BeginDate and BeginHour that is on or before the Method Evaluation Begin Date
and Begin Hour.

If not found,

If the Method Evaluation Begin Date is on or after the current date,
return result A.

Otherwise,

return result B.

Results:

Result
A

B

Response

You reported [key], but you did not report a HGLME test to establish an initial default
Hg concentration. If this location is an identical unit, you must report the default
concentration in a monitor default record in your monitoring plan.

You reported [key], but you did not report a HGLME test to establish an initial default
Hg concentration. If this location is an identical unit, you must report the default
concentration in an HGC monitor default record in your monitoring plan. You must
report HGLME test (or HGC default record) before the methodology becomes active.

Severity

Critical Error Level 1

Informational Message

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 289 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

METHOD-36

Check Name:

Duplicate Method Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a Monitoring Method record:

Locate another Monitoring Method record for the location with a ParameterCode equal to the ParameterCode in the current record
and a BeginDate/BeginHour that is equal to the BeginDate/BeginHour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null,

Locate another Monitoring Method record for the location with a ParameterCode equal to the ParameterCode in the current
record and an EndDate/EndHour that is equal to the EndDate/EndHour in the current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 290 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Monitoring Plan

Environmental Protection Agency

Page 291 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONPLAN-1

Check Name:	Monitoring Plan Has Affected Unit

Related Former Checks:

Applicability:

Description:

Specifications:

For the monitoring plan:

Locate a Unit Program record for any location in the monitoring plan with an EndDate that is null or is on or after the Evaluation
Begin Date.

If no records are found,

return result A, and discontinue the evaluation of this plan.

Results:

Result	Response	Severity

A	There are no locations in this monitoring plan that were active during the evaluation Informational Message

period. Further evaluation of this monitoring plan will not be performed.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation

Environmental Protection Agency

Page 292 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONPLAN-4

Check Name:

Monitor Plan Comment Begin Date Valid

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Monitor Plan Comment record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report — Monitor Plan Comment Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation

Environmental Protection Agency

Page 293 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	MONPLAN-5

Check Name:	Monitor Plan Comment End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitor Plan Comment record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Monitor Plan Comment Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation

Environmental Protection Agency

Page 294 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	MONPLAN-6

Check Name:	Monitor Plan Comment Dates Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitor Plan Comment record:

If the BeginDate and EndDate are both valid, the EndDate is not null, and the BeginDate is after the EndDate,
return result A.

Results:

Result	Response	Severity

A	You reported [datefield2] which is prior to [datefieldl] for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Monitor Plan Comment Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation

Environmental Protection Agency

Page 295 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	MONPLAN-8

Check Name:	Initialize Variables

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the monitoring plan:

If the associated First ECMPS Reporting Period for the monitoring plan is null,

Set ECMPS MP Begin Date to {01/01/2009}

Else

Set ECMPS MP Begin Date to the first day of the First ECMPS Reporting Period.

Set Protocol Gases to null.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Environmental Protection Agency

Page 296 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONPLAN-9

Check Name:	Monitoring Plan Has Actively Reporting Units

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Plan:

If the End Reporting Period of the monitoring plan is null:

Locate all Unit Op Status record for all units in the monitoring plan with an Op Status Code equal to "RET" or "LTCS", and
an End Date that is null.

If at least one record is found, and the monitoring plan contains a common stack or a common pipe,

Locate all Unit Op Status record for all units in the monitoring plan with an Op Status Code equal to "OPR", and an
End Date that is null.

If at least one record is found,
return result A.

Otherwise,

If End Reporting Period of the monitoring plan is prior to the Begin Reporting Period of the monitoring plan,
return result B.

Otherwise,

Locate an Emissions Submission Access record for the monitoring plan where the Reporting Period is after the
End Reporting Period of the monitoring plan.

If found,

retun result C.

Otherwise,

Locate all Unit Op Status records for all units in the monitoring plan with an Op Status Code equal to
"RET" or "LTCS", a Begin Date that is in the year prior to the year of the End Reporting Period of the
monitoring plan, and an End Date that is null or is after the End Reporting Period of the monitoring plan.

If at least one record is found, and the monitoring plan contains a common stack or a common pipe,
return result A.

Results:

Result
A

B
C

Usage:

1

Response	Severity

The monitoring plan contains at least one unit that should not be reporting because it has Critical Error Level 2
retired or is in long-term cold storage. You should enter an End Date in the Unit Stack
Configuration record that indicates the date when the unit no longer had to report.

The end reporting period is prior to the begin reporting period for the monitoring plan. Critical Error Level 2
Please contact ECMPS technical support to resolve this problem.

The end reporting period of the monitoring plan is inconsistent with the emissions data
reported for the monitoring configuration. If the unit is linked to a stack, be sure that
you have reported an End Date in the Unit Stack Configuration record that indicates the
date when the unit no longer had to report.

Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation

Critical Error Level 2

Environmental Protection Agency

Page 297 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONPL AN-10

Check Name:	Determine If Monitoring Plan Can Be Submitted

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the monitoring plan:

If the first day of the Begin Reporting Period of the monitoring plan is more than 60 days prior to the current date,
return result A.

Results:

Result	Response	Severity

A	You cannot submit a monitoring plan more than 60 days prior to when the monitoring Critical Error Level 1

plan becomes active. If the monitoring plan contains a single unit, the monitoring plan
normally becomes active on the first day of the quarter of the earliest BeginDate in the
MonitoringMethod records for the unit. If the monitoring plan contains one or more
stack/pipes, the monitoring plan normally becomes active on the first day of the quarter
of the latest BeginDate in the UnitStackConfiguration records associated with the units,
stacks, and pipes in the monitoring plan.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation

Environmental Protection Agency

Page 298 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

MONPLAN-3

Check Name:

Duplicate Monitoring Plan Comment Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a Monitoring Plan Comment record:

If the SubmissionAvailabilityCode in the current record is not equal to "UPDATED",

Locate another MonitoringPlanComment record for the location with a MonitoringPlanComment equal to the
MonitoringPlanComment in the current record and a Begin Date equal to the BeginDate in the current record.

If found,

return result A.

If not found and the EndDate in the current record is not null,

Locate another MonitoringPlanComment record for the location with a MonitoringPlanComment equal to the
MonitoringPlanComment in the current record and an EndDate equal to the EndDate in the current record.

If found,

return result A.

Otherwise,

return result B.

Results:

Result

A

B

Response

Another [recordtype] record already exists with the same [fieldnames].

This comment has already been submitted and cannot be changed. If you wish change

this comment to resubmit it, please contact EPA for approval.

Severity

Fatal

Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation

Environmental Protection Agency

Page 299 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	MONPLAN-7

Check Name:	Monitor Plan Comment Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Plan Comment record:

If MonitorPlanComment is null,
return result A.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Fatal

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation

Environmental Protection Agency

Page 300 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Program

Environmental Protection Agency

Page 301 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	PROGRAM-1

Check Name:	Program Active Status

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Unit Program record:

If the UnitMonitorCertBeginDate is not null,

If the UnitMonitorCertBeginDate is after the current date, or the EndDate is before Evaluation Begin Date, or the end
reporting period of the MP is not null and is prior to the UnitMonitorCertBeginDate,
set Current Program Active to false.

else

set Current Program Active to true.

If EmissionsRecordingBeginDate is not null and is after the EvaluationBeginDate

set the Program Evaluation Begin Date to the EmissionsRecordingBeginDate.

else if the UnitMonitorCertBeginDate + 180 days is after to the Evaluation Begin Date,

set the Program Evaluation Begin Date to the UnitMonitorCertBeginDate + 180 days.

Otherwise,

set the Program Evaluation Begin Date to the Evaluation Begin Date.

If the EndDate is null or the EndDate is after the Evaluation End Date,

set the Program Evaluation End Date to the Evaluation End Date,

Otherwise,

set the Program Evaluation End Date to the EndDate.

Locate an Operating Status record for the unit where the OpStatusCode is equal to "RET" and the EndDate is null.

If found, and the BeginDate of the Operating Status record is on or prior to the Program Evaluation End Date,
set the Program Evaluation End Date to the day before the BeginDate of the Operating Status record.

Otherwise,

set Current Program Active to false.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Program Evaluation

Environmental Protection Agency

Page 302 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

PROGRAM-10

Check Name:

Program Parameter Active Status

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Current Program Parameter record:

If Current Program Active is true, the Reporting Period Begin Date for the BeginReportPeriodld is before the Program Evaluation
End Date, and the EndReportPeriodld is null or the corresponding Reporting Period End Date is after the Program Evaluation
Begin Date

set Current Program Parameter Active to true.

If Program Evaluation Begin Date is after the Reporting Period Begin Date for the BeginReportPeriodld
Program Parameter Evaluation Begin Date = Program Evaluation Begin Date

else

Program Parameter Evaluation Begin Date = Reporting Period Begin Date for the BeginReportPeriodld

If EndReportPeriodld is null, or Program Evaluation End Date is before the Reporting Period End Date for the
EndReportPeriodld

Program Parameter Evaluation End Date = Program Evaluation End Date

else

Program Parameter Evaluation End Date = Reporting Period End Date for the EndReportPeriodld

else

set Current Program Parameter Active to false.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	Unit Program Parameter Evaluation

Environmental Protection Agency

Page 303 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

PROGRAM-11

Check Name:

Required Method Reported for Program

Related Former Checks: Replaces Program 2, 3, 5, 6, 8 and 9.

Applicability:

General Check

Description:

Validation Tables:

[Program Parameter to Location Type] (Cross Check Table)

[Program Parameter to Method Code] (Cross Check Table)

[Program Parameter to Method Parameter] (Cross Check Table)

[Program Parameter to Severity] (Cross Check Table)

Specifications:

For the Current Program Parameter record when Requiredlnd equals 1 and ClassCode is not equal to "N", "NA" or"NB":

Method Parameter List = Lookup Method Parameter List from Cross-Check Table "Program Parameter To Method Parameter"
where ProgramParameterCd equals the Current Program Parameter. ParamctcrCd.

Program Method Parameter Description = Lookup Method Parameter Description from Cross-Check Table "Program Parameter
To Method Parameter" where ProgramParameterCd equals the Current Program Parameter.ParameterCd.

Common Type List = Lookup Common Location Type List from Cross-Check Table "Program Parameter To Location Type" where
ProgramParameterCd equals the Current Program Parameter.ParameterCd.

Multiple Type List = Lookup Multiple Location Type List from Cross-Check Table "Program Parameter To Location Type" where
ProgramParameterCd equals the Current Program Parameter.ParameterCd.

Method Code List = Lookup Method Code List from Cross-Check Table "Program Parameter To Method Code" where
ProgramParameterCd equals the Current Program Parameter.ParameterCd.

Severity Code = Lookup Severity Code from Cross-Check Table "Program Parameter To Severity" where ProgramParameterCd
equals the Current Program Parameter.ParameterCd.

Locate all Unit Stack Configuration records where unit is the Current Program Parameter unit, the stack/pipe location has a
StackPipelD beginning with one of the items in Common Type List, the BeginDate is on or prior to the Program Parameter
Evaluation End Date and the End Date is null or is on or after the Program Parameter Evaluation Begin Date.

Locate all Monitor Method records where the location is either the Current Program Parameter unit or anv of the stack/pipe
locations in the retrieved Unit Stack Configuration records, the ParameterCode is in Method Parameter List or the MethodCode is in
Method Code List, the BeginDate is on or prior to the Program Parameter Evaluation End Date, and the End Date is null or is on
or after the Program Parameter Evaluation Begin Date.

If no method records are found, or the BeginDate/BeginHour and EndDate/EndHour of the retrieved Method records do not span
the entire Program Evaluation period,

Locate all Unit Stack Configuration records where unit is the Current Program Parameter unit, the stack/pipe location has
a StackPipelD beginning with one of the items in Common Type List or Multiple Type List, the BeginDate is on or prior to
the Program Parameter Evaluation End Date and the End Date is null or is on or after the Program Parameter
Evaluation Begin Date.

If there are no stack or pipes in the retrieved Unit Stack Configuration records with a StackPipelD that begins with one of
the items in Multiple Type List,

If no Method records are found,

If Severity Code equals "NONCRIT'

Return result C

Else

Environmental Protection Agency

Page 304 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Retrun result A

Else

If Severity Code equals "NONCRIT"
Return result D

Else

Retrun result B

Else

Locate all Monitor Method records where the location is either the Current Program Parameter unit or anv of
the stack/pipe locations in the retrieved Unit Stack Configuration records, the ParameterCode is in Method
Parameter List or the MethodCode is in Method Code List, the BeginDate is on or prior to the Program
Parameter Evaluation End Date, and the End Date is null or is on or after the Program Parameter Evaluation
Begin Date.

If no Method records are found,

If Severity Code equals "NONCRIT"

Return result C

Else

Retrun result A

Else if the BeginDate/BeginHour and EndDate/EndHour of the retrieved Method records do not span the entire
Program Evaluation period,

If Severity Code equals "NONCRIT"

Return result D

Else

Retrun result B

Otherwise,

For each hour beginning with Hour 23 of the Program Parameter Evaluation End Date and ending with
Hour 0 of the Program Parameter Evaluation Begin Date'.

Locate all Unit Stack Configuration records where unit is the Current Program Parameter unit,
the stack/pipe location has a StackPipelD beginning with one of the items in Common Type List
or Multiple Type List, the BeginDate is on or prior to the hour being checked, and the End Date
is null or is on or after the hour being checked.

Locate all Monitor Method records where the location is either the Current Program
Parameter unit or anv of the stack/pipe locations in the retrieved Unit Stack Configuration
records, the ParameterCode is in Method Parameter List or the MethodCode is in Method Code
List, the BeginDate/BeginHour is on or prior to the hour being checked, and the End Date is
null or EndDate/EndHour is on or after the hour being checked.

If a Method record is found for the unit OR for any. common stack/pipe in the retrieved Unit
Stack configuration records,

Check next hour.

Else if the hour being checked is Hour 0,

If a Method record is found for at least one multiple stack but not all multiple stacks in
the retrieved Unit Stack configuration records with a BeginDate that is prior to the date
being checked,

Environmental Protection Agency

Page 305 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

If Severity Code equals "NONCRIT"

Return result D

Else

Retrun result B

else if a Method record is found for at least one multiple pipe but not all multiple pipes
in the retrieved Unit Stack configuration records with a BeginDate that is prior to the
date being checked,

If Severity Code equals "NONCRIT"
Return result D

Else

Retrun result B

Otherwise,

Check next hour.

Else if the hour being checked is Hour 23,

If a Method record is found for at least one multiple stack but not all multiple stacks in
the retrieved Unit Stack configuration records with an EndDate that is null or after the
date being checked,

If Severity Code equals "NONCRIT"
Return result D

Else

Retrun result B

else if a Method record is found for at least one multiple pipe but not ah multiple pipes
in the retrieved Unit Stack configuration records with an EndDate that is null or after
the date being checked,

If Severity Code equals "NONCRIT"
Return result D

Else

Retrun result B

Otherwise,

Check next hour.

Otherwise,

If a Method record is found for at least one multiple stack but not ah multiple stacks in
the retrieved Unit Stack configuration records with a BeginDate prior to the date being
checked and an EndDate that is null or after the date being checked,

If Severity Code equals "NONCRIT"

Return result D

Else

Retrun result B

else if a Method record is found for at least one multiple pipe but not all multiple pipes
in the retrieved Unit Stack configuration records with a BeginDate prior to the date
being checked and an EndDate that is null or after the date being checked,

If Severity Code equals "NONCRIT"

Environmental Protection Agency

Page 306 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Return result D

Else

Retrun result B

Otherwise,

Check next hour.

Results:

Result
A

B

C

D

Response

Although Unit ID [Unit ID] is a [program] affected unit, no monitoring method(s) for
[method] have been reported that was/were active during the evaluation period for the
unit, for a common stack or pipe linked to the unit, or for all multiple stacks or pipes
linked to the unit.

Although Unit ID [Unit ID] is a [program] affected unit, monitoring method(s) for
[method] have not been reported for the unit, for a common stack or pipe linked to the
unit, or for all multiple stacks or pipes linked to the unit for the entire evaluation period.
If you believe that this error is incorrect, and has been caused by an inaccurate date in
the Unit Program record, please contact Craig Hillock at
Hillock.Craig@epamail.epa.gov.

Although Unit ID [Unit ID] is a [program] affected unit, no monitoring method(s) for
[method] have been reported that was/were active during the evaluation period for the
unit, for a common stack or pipe linked to the unit, or for all multiple stacks or pipes
linked to the unit.

Although Unit ID [Unit ID] is a [program] affected unit, monitoring method(s) for
[method] have not been reported for the unit, for a common stack or pipe linked to the
unit, or for all multiple stacks or pipes linked to the unit for the entire evaluation period.
If you believe that this error is incorrect, and has been caused by an inaccurate date in
the Unit Program record, please contact Craig Hillock at
Hillock.Craig@epamail.epa.gov.

Severity

Critical Error Level 1

Critical Error Level 1

Non-Critical Error

Non-Critical Error

Usage:

1

Process/Category: Monitoring Plan Evaluation Report	Unit Program Parameter Evaluation

Environmental Protection Agency

Page 307 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Qualification

Environmental Protection Agency

Page 308 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-1

Check Name:	Monitoring Qualification Type Consistent with Non Load Based Indicator

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitor Qualification record with a valid QualificationTypeCode equal to "LMEA", "LMES", or "COMPLEX":

If the Location Non Load Based Indicator is equal to 1,
return result A.

Results:

Result	Response	Severity

A	You have reported an invalid Monitor Qualification record for [key] This qualification Critical Error Level 1

type does not apply to non-load based units.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Conditions:	Current Qualification Active Equals true

Environmental Protection Agency

Page 309 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-3

Check Name:	Monitoring Qualification Type Consistent with Fuel

Related Former Checks:	LME-1

Applicability:	General Check

Description:

Specifications:

For a Monitor Qualification record with a valid Qualification Type Code is equal to "GF", "LMEA", or "LMES",

Locate a Fuel record for the location where the associated Fuel Group is not equal to "GAS" or "OIL", the BeginDate is on or before
the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date.

If found,

return result A.

Results:

Result	Response	Severity

A	You have reported an invalid Monitor Qualification record for [key]. This type of	Critical Error Level 1

qualification is only valid for units burning oil and/or gas fuels.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Conditions:	Current Qualification Active Equals true

Environmental Protection Agency

Page 310 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-5

Monitoring Qualification Type Consistent with Program and Reporting Frequency

Related Former Checks: LME-4A

Applicability:

General Check

Description:

Specifications:

For a Monitor Qualification record with a valid QualificationTypeCode equal to "LMEA", "LMES", "PK", or "SK":

If Qualification Type Code is equal to "SK":

Locate a Monitor Plan Reporting Frequency record for the location where ReportingFrequency is equal to "Q", the
BeginQuarter is on or before the quarter of the Qualification Evaluation End Date, and the EndQuarter is null or is on or
after the quarter of the Qualification Evaluation Start Date.

If found,

return result A.

If Qualification Type Code is equal to "PK" or "LMEA":

Locate a Monitor Plan Reporting Frequency record for the location where ReportingFrequency is equal to "Q", the Begin
Quarter is on or before the quarter of the Qualification Evaluation End Date, and the EndQuarter is null or is on or after the
quarter of the Qualification Evaluation Start Date.

If not found,

return result B.

If Qualification Type Code is equal to "LMES":

Locate a Unit Program record for the unit where the ProgramCode is equal to "NBP", "NHNOX", "CAIROS", or
"SIPNOX", the ClassCode is equal to "A", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End
Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date.

If not found,

return result C.

Results:

Result
A

Response

You have reported an invalid Monitoring Qualification record for [key]. A
Qualification Type of SK is not appropriate for units reporting on a quarterly basis.
You have reported an invalid Monitoring Qualification record for [key]. A
Qualification Type of [type] is only appropriate for units reporting on a quarterly basis.
You have reported an invalid Monitoring Qualification record for [key]. A
Qualification Type of LMES is only appropriate for units that belong to an ozone-season
program.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification Evaluation

Current Qualification Active Equals true

Environmental Protection Agency

Page 311 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Related Former Checks:

Check Code:

QUAL-7

Monitoring Qualification Percent Qualification Year Valid

Applicability:

Description:

Specifications:

General Check

For the Monitor Qualification Percent record:

If the QualificationYear is null,
return result A.

If the dates in the associated Monitor Qualification record are consistent and the QualificationYear is prior to the year of the
BeginDate,

return result B.

If the EndDate in the associated Monitor Qualification record is null,

If the QualificationYear is greater than the current year and the YrlQualificationDataTypeCode is not equal to "P",
return result B.

Otherwise,

If the dates in the associated Monitor Qualification record are consistent and the QualificationYear is more than one year
after the year of the EndDate,
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The QualificationYear for [key] does not correspond to the BeginDate and EndDate in

the Monitoring Qualification record.

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Process/Category:

Environmental Protection Agency

Page 312 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-8

Monitoring Qualification Percent Average Percent Value Valid

Related Former Checks: NBP-11A

Applicability:

General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

Set Calculated Average Percent Value to null.

If AveragePercentValue is null,
return result A.

If AveragePercent Value is less than 0 or greater than 100,
return result B.

If Yrl Percentage Value, Yr2Percentage Value, and Yr3PercentageValue are all between 0 and 100,

Calculate Calculated Average Percent Value = (YrlPercentageValue + Yr2PercentageValue + Yr3PercentageValue) / 3,
and round the result to 1 decimal place.

If AveragePercentValue is not equal to Calculated Average Percent Value,

return result C.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values from [minvalue] to [maxvalue].

The average percent capacity or percent heat input from gas reported for [key] is not
consistent with the average recalculated from the Year 1, 2 and 3 values.

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Process/Category:

Environmental Protection Agency

Page 313 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-11

Check Name:	PCT Qualification Eligibility Valid

Related Former Checks:	NBP-11B/C/D/E

Applicability:	General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

If the associated EndDate is null, or the QualificationYear and associated EndDate are both valid and the Qualification Year is less
than the year of the EndDate,

If the associated QualificationTypeCode is equal to "GF",

If either the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue is greater than or equal to 0 and
less than 85.0,

return result A.

If the Calculated Average Percent Value is less than 90.0,
return result B.

Otherwise,

If either the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue is greater than 20.0 and less than
or equal to 100.0,

return result C.

If the Calculated Average Percent Value is greater than 10.0,
return result D.

If the associated EndDate is not null, and the QualificationYear and associated EndDate are both valid and the Qualification Year is
one greater than the year of the EndDate,

If the associated QualificationTypeCode is equal to "GF",

If the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue are all between 85.0 and 100, and the
Calculated Average Percent Value is greater than or equal to 90.0,
return result E.

Otherwise,

If the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue are all between 0 and 20.0, and the
Calculated Average Percent Value is less than or equal to 10.0,
return result F.

Results:

Result

ResDonse

Severity

A

The percent heat input from gas for one or more years reported for [key] is less than
85%, which is the minimum required percentage to qualify as a gas-fired unit.

Critical Error Level 2

B

The average of the reported yearly percent heat input from gas reported for [key] is less
than 90%, which is the minimum required percentage to qualify as a gas-fired unit.

Critical Error Level 2

C

The reported % capacity factor for one or more years reported for [key] is more than
20%, which is the maximum allowable capacity factor to qualify as a peaking unit.

Critical Error Level 2

D

The average of the reported yearly percent capacity factors reported for [key] is greater
than 10%, which is the maximum allowable capacity factor to qualify as a peaking unit.

Critical Error Level 2

E

You have reported that the unit has lost its status as a gas-fired unit, yet the % heat input
for gaseous fuel values reported for [key] do not indicate this.

Non-Critical Error

F

You have reported that the unit has lost its status as a peaking unit, yet the % capacity
factors reported for [key] do not indicate this.

Non-Critical Error

Environmental Protection Agency

Page 314 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Conditions:	Current Qualification Active Equals true

And Monitor Qualification Valid Equals true

Environmental Protection Agency

Page 315 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-12

Check Name:	Required LME Qualification for Program and Reporting Frequency

Related Former Checks: LME-4C/D/F

Applicability:	LME Check

Description:

Specifications:

For a Monitor Qualification record with a valid QualificationTypeCode that begins with "LME":

If Qualification Type Code is equal to "LMES",

Set NOX LME Unit to true.

Set S02 LME Unit to false.

Locate a Monitor Plan Reporting Frequency record for the location where the ReportingFrequency is equal to "Q", the
BeginQuarter is on or before the quarter of the Qualification Evaluation End Date, and the EndQuarter is null or is on or
after the quarter of the Qualification Evaluation Start Date.

If found,

Locate a Monitor Qualification record for the unit where the QualificationTypeCode is equal to "LMEA" and the
Begin Date is on or before the later of the BeginDate in the current Monitor Qualification record and the first day
of the BeginQuarter in the Reporting Frequency record.

If not found,

return result A.

If Qualification Type Code is equal to "LMEA",

Set NOX LME Unit to false.

Set S02 LME Unit to false.

Locate a Unit Program record for the unit where the ProgramCode is equal" ARP", the ClassCode is not equal to "NA", the
UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after
the Qualification Evaluation Start Date.

If found,

set S02 LME Unit and NOX LME Unit to true.

If not found,

Locate a Unit Program record for the unit where the ProgramCode is equal "CAIRS02", "TRS02G1" or
"TRS02G2", the ClassCode is not equal to "N", the UnitMonitorCertBeginDate is on or before the Qualification
Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date.

If found,

set S02 LME Unit to true.

Locate a Unit Program record for the unit where the ProgramCode is equal "CAIRNOX" or "TRNOX", the
ClassCode is equal to "A", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date,
and the EndDate is null or is on or after the Qualification Evaluation Start Date.

If found,

set NOX LME Unit to true.

Locate a Unit Program record for the unit where the ProgramCode is equal "NBP", "NHNOX", "CAIROS", "TRNOXOS",
or "SIPNOX", the ClassCode is equal to "A", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation
End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date.

Environmental Protection Agency

Page 316 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If found,

set NOX LME Unit to true.

Locate a Monitor Qualification record for the unit where the QualificationTypeCode is equal to "LMES" and the
Begin Date is on or before the later of the BeginDate in the current Monitor Qualification record, May 1 of the year
of the BeginDate in the the current Monitor Qualification record, and the earliest UnitMonitorCertBeginDate in the
UnitProgram record.

If NOX LME Unit is equal to false and S02 LME Unit is equal to false.

Locate a Unit Program record for the unit where the ProgramCode is equal "RGGI", the ClassCode is not equal to
"N", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null
or is on or after the Qualification Evaluation Start Date.

If not found,

return result B.

If found,

set S02 LME Unit and NOX LME Unit to true.

Results:

Result
A

Response

You reported Monitor Qualification record for [key], but you did not report a LME A
qualification record that was active during the evaluation period. Units in a seasonal
NOx program that report on a year-round basis must report LME qualification data on
both an annual and ozone-season basis.

You reported Monitor Qualification record for [key], but you did not report an LMES
qualification record that was active during the evaluation period. Units that report on a
year-round basis that belong to a seasonal NOx program must report LME qualification
data on both an annual and ozone-season basis.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification Evaluation

Current Qualification Active Equals true

Environmental Protection Agency

Page 317 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Related Former Checks:

Check Code:

QUAL-14

Required Monitoring System for Qualification

Applicability:

Description:

Specifications:

CEM Check

For a Monitor Qualification record with a QualificationTypeCode equal to "PRATA1"PRATA2", "COMPLEX", or "LOWSULF":

If QualificationTypeCode is equal to "LOWSULF",
set Qualification System Type to "S02".

Otherwise,

set Qualification System Type to "FLOW".

Locate a Monitor System record for the location where the SystemTypeCode begins with the Qualification System Type, the
BeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification
Evaluation Start Date.

If not found,

return result A.

Results:

Result
A

Response

You have reported a Monitor Qualification record for [key], but no [type] system that
was active during the evaluation period has been reported at this location.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification Evaluation

Current Qualification Active Equals true

Environmental Protection Agency

Page 318 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-16

Check Name:	Monitoring Qualification Qualification Type Code Valid

Related Former Checks:

Applicability:	General Check

Description:

Validation Tables:

Qual Data Type Code (Lookup Table)

Qual Data Type Code (Lookup Table)

Specifications:

For the MonitoringQualification record:

If the QualificationTypeCode is null,
return result A.

Otherwise,

If QualificationTypeCode is equal to "LMEA", "LMES", "PK", "SK", or "GF",

If Location Type does not begin with "U",
return result C.

Otherwise,

Locate QualificationTypeCode in the QualificationTypeCode Lookup Table.

If not found,

return result B.

Results:

Result

A

B

C

Usage:

1

Response

You did not provide [fieldname], which is required, for [key].

You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

You have reported an invalid Monitor Qualification record for [key]. This type of
qualification only applies to units.

Severity
Fatal

Critical Error Level 1
Critical Error Level 1

1

Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Conditions:	Current Qualification Active Equals true

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation

Environmental Protection Agency

Page 319 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-18

Monitoring Qualification Begin Date Valid

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Monitoring Qualification Data record:

If BeginDate is null,

return result A.

If Qualification Type Code is equal to "LMEA" or "LMES",
set Earliest Begin Date to "01/01/2000".

If Qualification Type Code is equal to "PK", "SK", or "GF",
set Earliest Begin Date to "01/01/1996".

Otherwise,

set Earliest Begin Date to "01/01/1993".

If BeginDate is earlier than the Earliest Begin Date or later than Maximum Future Date,
return result B.

Else if Qualification Type Code is equal to "SK" or "LMES", and the BeginDate is not between May and September,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 320 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	QUAL-19

Check Name:	Monitoring Qualification End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Qualification Data record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 321 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-20

Monitoring Qualification Dates Consistent

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Monitoring Qualification Data record:

If the Monitoring Qualification Data Start Date is valid and the Monitoring Qualification Data End Date is valid,

If the BeginDate is after the EndDate,

set Monitor Qualification Dates Consistent to false, and return result A.

Otherwise,

set Monitor Qualification Dates Consistent to true.

Otherwise,

set Monitor Qualification Dates Consistent to false.

Results:

Result
A

Response

You reported [datefield2] which is prior to [datefieldl] for [key].

Severity

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 322 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-22

Check Name:	Monitoring Qualification LME Data Qualification Year Valid

Related Former Checks:	LME-2

Applicability:	LME Check

Description:

Specifications:

For a Monitor Qualification LME record:

If QualificationDataYear is null,
return result A.

If QualificationDataYear is more than two years after the year of the BeginDate in the current qualification record or more than 3
years prior to the year of the BeginDate in the current qualification record,
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values.

Severity
Fatal

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Qualification LME Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation

Environmental Protection Agency

Page 323 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-23

Check Name:	Monitoring Qualification LME Data S02 Tons Valid

Related Former Checks: LME-3B, 3F, 4E

Applicability:	LME Check

Description:

Specifications:

For a Monitor Qualification LME record:

If S02 LME Unit is true,

If S02Tons is null,

return result A.

If S02Tons is less than 0,
return result B.

If S02Tons is greater than 25.0
return result C.

Otherwise,

If S02Tons is not null,
return result D.

Results:

Result

A

B

C

D

Usage:

1

Response	Severity

You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values. This value must be greater than or equal to zero.

You reported a value for [fieldname] for [key], which exceeds allowable value to qualify Critical Error Level 1
as an LME unit.

You reported a value for [fieldname] for [key], but this value is not appropriate for the
affected programs and/or qualification type.

Critical Error Level 1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification LME Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Environmental Protection Agency

Page 324 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-24

Check Name:	Monitoring Qualification LME Data NOx Tons Valid

Related Former Checks: LME-3A, 3C, 3D, 3E, 3G

Applicability:	LME Check

Description:

Specifications:

For a Monitor Qualification LME record:

If NOX LME Unit is true,

If NOxTons is null,

return result A.

If NOxTons is less than 0,
return result B.

If the associated QualificationTypeCode is equal to "LMES",

If the year of the BeginDate in the associated Monitor Qualification record is before 2002,

If NOxTons is greater than 25.0
return result C.

Otherwise,

If NOxTons is greater than 50.0
return result C.

Otherwise,

If the year of the BeginDate in the associated Monitor Qualification record is before 2002,

If NOxTons is greater than 50.0
return result C.

Otherwise,

If NOxTons is greater than 100.0
return result C.

Otherwise,

If NOxTons is not null,
return result D.

Results:

Result

A

B

C

D

Response	Severity

You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values. This value must be greater than or equal to zero.

You reported a value for [fieldname] for [key], which exceeds allowable value to qualify Critical Error Level 1
as an LME unit.

You reported a value for [fieldname] for [key], but this value is not appropriate for the
affected programs and/or qualification type.

Critical Error Level 1

Environmental Protection Agency

Page 325 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification LME Evaluation

Conditions:	Current Qualification Active Equals true

And Monitor Qualification Valid Equals true

Environmental Protection Agency

Page 326 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-25

Check Name:	Monitoring Qualification LME Data Operating Hours Valid

Related Former Checks:

Applicability:	LME Check

Description:

Specifications:

For a Monitor Qualification LME record:

If OperatingHours is null,
return result A.

If OperatingHours is less than 0 or greater than 8784,
return result B.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

B	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values from [minvalue] to [maxvalue].

Usage:

1

Process/Category:
Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Qualification LME Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation

Environmental Protection Agency

Page 327 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-27

Check Name:	Monitoring Qualification Percent Year 1 Data Type Code Valid

Related Former Checks: NBP-10

Applicability:	General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

If the YrlQualificationDataTypeCode is null,
return result A.

If YrlQualificationDataTypeCode is equal "P",

If YrlQualificationDataYear and QualificationYear are both valid, and YrlQualificationDataYear is before the
QualificationYear,

return result B.

If YrlQualificationDataTypeCode is equal "A",

If YrlQualificationDataYear and QualificationYear are both valid, and YrlQualificationDataYear is on or after the
QualificationYear,

return result C.

If YrlQualificationDataTypeCode is equal "D",

If the associated QualificationTypeCode is not equal to "GF",
return result D.

If YrlQualificationDataYear and QualificationYear are both valid, and YrlQualificationDataYear is not equal to the
QualificationYear,

return result E.

Otherwise,

return result D.

Results:

Result

A

B

C

D

E

Response

You did not provide [fieldname], which is required, for [key].

You have reported that the data for [key] was projected data, but the [fieldname2] is

prior to the QualificationYear.

You have reported that the data for [key] was historical data, but the [fieldname2] is not
prior to the QualificationYear.

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have reported that the data for [key] was demonstration data, but
YrlQualificationDataYear is not equal to the QualificationYear.

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 328 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-28

Monitoring Qualification Percent Year 1 Data Year Valid

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Monitoring Qualification Percent record:

If YrlQualificationDataYear is null,
return result A.

If YrlQualificationDataYear is less than 1990,
return result B.

If QualificationYear is valid, and YrlQualificationDataYear is after the Qualification Year or is more than 3 years prior to the

Qualification Year

return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values.

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Process/Category:

Environmental Protection Agency

Page 329 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-29

Check Name:	Monitoring Qualification Percent Year 1 Percentage Value Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

If Yrl Percentage Value is null,
return result A.

If Yrl Percentage Value is less than 0 to greater than 100,
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values from [minvalue] to [maxvalue].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 330 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-34

Check Name:	Monitoring Qualification Data Active

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitoring Qualification Data record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Monitoring Qualification Data Active to false.

Otherwise,

set Monitoring Qualification Data Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Monitoring Qualification Data Evaluation Begin Date to the Evaluation Begin Date.

Otherwise,

set the Monitoring Qualification Data Evaluation Begin Date to the BeginDate.

If the EndDate is null or is after the Evaluation End Date,

set the Monitoring Qualification Data Evaluation End Date to the Evaluation End Date.

Otherwise,

set the Monitoring Qualification Data Evaluation End Date to the EndDate.

Results:

Result	Response	Severity

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Environmental Protection Agency

Page 331 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-38

Monitoring Qualification Child Records Valid

Related Former Checks: ARP-39C, 44; LME-2

Applicability:

Description:

Specifications:

General Check

For a valid Monitor Qualification record with consistent dates and a QualificationTypeCode equal to "PK", "SK", "GF", "LMEA", or
"LMES":

If QualificationTypeCode is equal to "PK", "SK", or "GF",

Set Previous Data Year to the year of the BeginDate in the current record.

For each QualificationYear from the year of the BeginDate in the current record through the year of the EndDate in the
current record (if EndDate is not null) or the current year (if EndDate is null):

Locate the Monitor Qualification Percent record for the current qualification and QualificationYear.

If YrlQualificationDataYear is after the year of the BeginDate in the current qualification record,

If YrlQualificationDataYear is not equal to Previous Data Year + 1,
return result A.

Otherwise,

set Previous Data Year to the YrlQualificationDataYear.

If YrlQualificationDataYear is equal to the QualificationYear or is one or 2 years prior to the
Qualification Year, and Initial Qualification is equal to false,
return result B.

If QualificationYear is prior to the current year; or if QualificationYear is equal to the current year and the
current month is later than June,
return result C.

If QualificationYear is equal to the current year and the current month is later than March,

Locate a Monitor Program Reporting Frequency record for the location where the
ReportingFrequency is equal to "Q", the BeginQuarter is on or before the quarter of the
Qualification Evaluation End Date, and the EndQuarter is null or is on or after the quarter of the
Qualification Evaluation Start Date.

If found,

return result C.

If found,

Otherwise,

If not found,

If QualificationTypeCode begins with "LME",

Count the number of Monitor Qualification LME record for the current qualification.

If the number of records is not equal to 3,
return result D.

Environmental Protection Agency

Page 332 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Otherwise,

Proceed through the retrieved Monitor Qualification LME records in ascending QualificationDataYear order.
If this is first Monitor Qualification LME record,

If QualificationDataYear is greater than the year of the BeginDate in the current qualification record or
more than 3 years prior to the year of the BeginDate in the current qualification record,
return result E.

Otherwise,

set Previous Data Year to the QualificationDataYear.

Otherwise,

If QualificationDataYear is not equal to Previous Data Year + 1,
return result E.

Otherwise,

set Previous Data Year to the QualificationDataYear.

Results:

Result
A

Response

The sequence of actual and projected qualification data years in the Monitor
Qualification Percent records for [key] is not valid.

You have reported projected data in the Monitor Qualification Percent records for [key],
but this is not allowed when requalifying for this status.

You have not reported all the required Monitor Qualification Percent records for [key].
You have reported more or less than the three required Monitor Qualification LME
records for [key].

The qualification data years in the Monitor Qualification LME records for [key] are not
valid.

Severity

Critical Error Level 1

B

Critical Error Level 1

C
D

Critical Error Level 1
Critical Error Level 1

E

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification Evaluation

Current Qualification Active Equals true

Environmental Protection Agency

Page 333 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-39

Check Name:	Overlapping Monitoring Qualification Record

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitoring Qualification record:

If Qualification Type Code Valid is equal to false, or Qualification Consistent with Non Load Based Indicator is equal to false (not
null), or Qualification Consistent with Fuel is equal to false (not null), or Qualification Consistent with Program and Reporting
Frequency is equal to false (not null),

set Monitor Qualification Valid to false.

Otherwise,

set Monitor Qualification Valid to true.

Locate another Monitor Qualification record for this location with the same Qualification Type Code, and a BeginDate that
is before the BeginDate in the current record.

If found,

Set Initial Qualification to false.

If the EndDate of any retrieved record is null or the EndDate is on or after the BeginDate of the current record,
set Monitor Qualification Valid to false, and return result A.

If not found,

set Initial Qualification to true.

Results:

Result	Response	Severity

A	You have reported overlapping [type] monitoring qualification records for this location. Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Conditions:	Current Qualification Active Equals true

Environmental Protection Agency

Page 334 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-40

Monitoring Qualification Percent Year 2 Data Type Code Valid

Related Former Checks: NBP-10
Applicability:	General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

If the Yr2QualificationDataTypeCode is null,
return result A.

If Yr2QualificationDataTypeCode is equal "P",

If Yr2QualificationDataYear and QualificationYear are both valid, and Yr2QualificationDataYear is before the
QualificationYear,

If Yr2QualificationDataTypeCode is equal "A",

If Yr2QualificationDataYear and QualificationYear are both valid, and Yr2QualificationDataYear is on or after the
QualificationYear,

return result B.

return result C.

Otherwise,

return result D.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

You have reported that the data for [key] was projected data, but the [fieldname2] is

prior to the QualificationYear.

You have reported that the data for [key] was historical data, but the [fieldname2] is not
prior to the QualificationYear.

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

D

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Process/Category:

Environmental Protection Agency

Page 335 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-41

Check Name:	Monitoring Qualification Percent Year 2 Percentage Value Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

If Yr2PercentageValue is null,
return result A.

If Yr2PercentageValue is less than 0 to greater than 100,
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values from [minvalue] to [maxvalue].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 336 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-42

Check Name:	Monitoring Qualification Percent Year 2 Data Year Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Qualification Percent record:

If Yr2QualificationDataYear is null,
return result A.

If Yr2QualificationDataYear is less than 1990,
return result B.

If YrlQualificationDataYear is valid, and Yr2QualificationDataYear is not one year after YrlQualificationDataYear,
return result B.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

B	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values.

Usage:

1	Process/Category:

Conditions:

1	Process/Category:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 337 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-43

Monitoring Qualification Percent Year 3 Data Type Code Valid

Related Former Checks: NBP-10
Applicability:	General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

If the Yr3QualificationDataTypeCode is null,
return result A.

If Yr3QualificationDataTypeCode is equal "P",

If Yr3QualificationDataYear and QualificationYear are both valid, and Yr3QualificationDataYear is before the
QualificationYear,

If Yr3QualificationDataTypeCode is equal "A",

If Yr3QualificationDataYear and QualificationYear are both valid, and Yr3QualificationDataYear is on or after the
QualificationYear,

return result B.

return result C.

Otherwise,

return result D.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

You have reported that the data for [key] was projected data, but the [fieldname2] is

prior to the QualificationYear.

You have reported that the data for [key] was historical data, but the [fieldname2] is not
prior to the QualificationYear.

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

D

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Process/Category:

Environmental Protection Agency

Page 338 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-44

Check Name:	Monitoring Qualification Percent Year 3 Percentage Value Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitor Qualification Percent record:

If Yr3PercentageValue is null,
return result A.

If Yr3PercentageValue is less than 0 to greater than 100,
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values from [minvalue] to [maxvalue].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 339 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-45

Check Name:	Monitoring Qualification Percent Year 3 Data Year Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring Qualification Percent record:

If Yr3QualificationDataYear is null,
return result A.

If Yr3QualificationDataYear is less than 1990,
return result B.

If Yr2QualificationDataYear is valid, and Yr3QualificationDataYear is not one year after Yr2QualificationDataYear,
return result B.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

B	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values.

Usage:

1	Process/Category:

Conditions:

1	Process/Category:

Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Current Qualification Active Equals true
And Monitor Qualification Valid Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 340 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-35

Duplicate Monitoring Qualification Records

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For a Monitoring Qualification record:

Locate another Qualification record for the location with a QualificationTypeCode equal to the QualificationTypeCode in the
current record and a BeginDate/Hour equal to the BeginDate/Hour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null.,

Locate another Qualification record for the location with a QualificationTypeCode equal to the QualificationTypeCode in
the current record and an End Date/Hour equal to the EndDate/Hour in the current record.

If found,

return result A.

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation

Environmental Protection Agency

Page 341 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-36

Check Name:	Duplicate Monitoring Qualification Percent Records

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitoring Qualification Percent record:

Locate another Monitoring Qualification Percent record for the qualification with a QualificationYear equal to the Qualification Year
in the current record.

If found,

return result A.

Results:

Result	Response	Severity

A	Another [recordtype] record already exists with the same [fieldnames].	Fatal

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 342 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-37

Check Name:	Duplicate Monitoring Qualification LME Records

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitoring Qualification LME record:

Locate another Monitoring Qualification LME record for the qualification with a QualificationDataYear equal to the
QualificationDataYear in the current record.

If found,

return result A.

Results:

Result	Response	Severity

A	Another [recordtype] record already exists with the same [fieldnames].	Fatal

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation

Environmental Protection Agency

Page 343 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	QUAL-46

Check Name:	Monitoring Qualification LME Data NOx Tons Valid

Related Former Checks:

Applicability:	LME Check

Description:

Specifications:

For a Monitor Qualification LME record:

If Nox Tons is not null,

If NOxTons is less than 0,
return result A.

If the associated QualificationTypeCode is equal to "LMES",

If the year of the BeginDate in the associated Monitor Qualification record is before 2002,

If NOxTons is greater than 25.0
return result B

Otherwise,

If NOxTons is greater than 50.0
return result B.

Otherwise,

If the year of the BeginDate in the associated Monitor Qualification record is before 2002,

If NOxTons is greater than 50.0
return result B.

Otherwise,

If NOxTons is greater than 100.0
return result B.

Results:

Result	Response	Severity

A	The value [value] in the field [fieldname] for [key] is not within the range of valid	Critical Error Level 1

values. This value must be greater than or equal to zero.

B	You reported a value for [fieldname] for [key], which exceeds allowable value to qualify Critical Error Level 1

as an LME unit.

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation

Environmental Protection Agency

Page 344 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

QUAL-47

Monitoring Qualification LME Data S02 Tons Valid

Related Former Checks:
Applicability:

LME Check

Description:

Specifications:

For a Monitor Qualification LME record:

If S02Tons is not null,

If the associated QualificationTypeCode is equal to "LMES",
return result C.

If S02Tons is less than 0,
return result A.

If S02Tons is greater than 25.0
return result B.

Results:

Result
A

Response

The value [value] in the field [fieldname] for [key] is not within the range of valid
values. This value must be greater than or equal to zero.

You reported a value for [fieldname] for [key], which exceeds allowable value to qualify
as an LME unit.

You reported a value for [fieldname] for [key], but this value is not appropriate for the
affected programs and/or qualification type.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation

Environmental Protection Agency

Page 345 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
Span

Environmental Protection Agency

Page 346 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-1

Check Name:

Span MPC Value Valid

Related Former Checks: NBP-37

Applicability:
Description:
Validation Tables:

CEM Check

NOX MPC to Fuel Category and Unit Type (Cross Check Table)
Specifications:

For a Span record with a valid ComponentTypeCode:

If the MPCValue is null,

If the ComponentTypeCode is not equal to "FLOW" or "02", and the SpanScaleCode is equal to "H",
set Span MPC Value Valid to false, and return result A.

If the MPCValue is not null,

If the ComponentTypeCode is equal to "FLOW" or "02", or the SpanScaleCode is equal to "L
set Span MPC Value Valid to false, and return result B.

Otherwise,

If the MPCValue is less than or equal to 0,

set Span MPC Value Valid to false, and return result C.

Otherwise,

If the ComponentTypeCode is equal to "NOX" and the SpanMethodCode is equal to "TB",

set Natural Gas Location to false.

Locate all Unit Fuel records linked to the location where the BeginDate is on or before the Span Evaluation

End Date and the EndDate is null or is on or after the Span Evaluation Start Date.

If the FuelCode of any of the retrieved records is equal to "C",
set Location Fuel Category to "COAL".

If the Fuel Code of all of the retrieved records is equal to "NNG" or "PNG",

set Location Fuel Category to "GAS" and Natural Gas Location to true.

If the associated Fuel Group of all of the retrieved records is equal to "GAS",
set Location Fuel Category to "GAS".

If the associated Fuel Group of all of the retrieved records is equal to "OIL",
set Location Fuel Category to "OIL".

If the associated Fuel Group of all of the retrieved records is equal to "OIL" or "GAS",
set Location Fuel Category to "OIL/GAS".

Locate the NOX MPC to Fuel Category and Unit Type cross check record where NOXMPC is equal to the

MPCValue in the current Span record, the FuelCategory is equal to the Location Fuel Category, and the

UnitTypeCode is null.

Locate all UnitType records linked to the location where the BeginDate is on or before the Span
Evaluation End Date and the EndDate is null or is on or after the Span Evaluation Begin Date.

If not found,

Environmental Protection Agency

Page 347 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If NaturalGasLocation is equal to true,

Locate the NOX MPC to Fuel Category and Unit Type cross check record where
NOXMPC is equal to the MPCValue in the current Span record, the FuelCategory is equal
to the Location Fuel Category, "NG", or null, and the UnitTypeCode is any of the
UnitTypeCodes in the retrieved records.

Otherwise,

Locate the NOX MPC to Fuel Category and Unit Type cross check record where
NOXMPC is equal to the MPCValue in the current Span record, the FuelCategory is equal
to the Location Fuel Category or null, and the UnitTypeCode is any of the UnitTypeCodes
in the retrieved records.

If not found,

If MPCValue is not equal to 50, or the EndDate in the current Span record is null or is
after 3/31/2003, or none of the UnitTypeCodes in the retrieved records is equal to "CT",
return result D.

If the ComponentTypeCode is equal to "HG" and the SpanMethodCode is equal to "TB",

If the MPCValue is not null and is not equal to 1, 9, 10, or 16,
return result E.

If the ComponentTypeCode is equal to "C02" and the SpanMethodCode is equal to "TB",

Locate all Unit Type records linked to this location where the BeginDate is on or before the Span
Evaluation End Date and the EndDate is null or is on or after the Span Evaluation Begin Date.

If the Unit Type in none of the retrieved records are equal to "KLN" or "PRH",

If MPCValue is not equal to 6 or 14,
return result F.

Otherwise,

If the Unit Type in ah of the retrieved records are equal to "CC", "CT", "ICE", "OT", or
"IGC", and the MPCValue is not equal to 6,
return result F.

If the Unit Type in none of the retrieved records are equal to "CC", "CT", "ICE", "OT", or
"IGC", and the MPCValue is not equal to 14,
return result F.

Environmental Protection Agency

Page 348 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result

A

B

C

D

Response

You did not report an MPCValue for [key].

You have reported an MPCValue for [key], but an MPCValue is not appropriate for this
ComponentTypeCode and SpanScaleCode.

The value [value] in the field [fieldname] for [key] is not within the range of valid
values. This value must be greater than zero.

You reported a SpanMethodCode of "TB" for [key], which indicates that you used a
standard MPCValue based on fuel type and unit type. However, the MPCValue that you
reported is not consistent with the fuel type(s) and unit type(s) at this location.
You reported a SpanMethodCode of "TB" for [key], which indicates that you used a
standard MPCValue based on fuel type. However, the MPCValue that you reported is
not a standard value.

You reported a SpanMethodCode of "TB" for [key], which indicates that you used a
standard MPCValue based on unit type. However, the MPCValue that you reported is
not consistent with the unit type(s) at this location.

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Critical Error Level 2

Critical Error Level 2

Critical Error Level 2

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Environmental Protection Agency

Page 349 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-2

Check Name:

Span MEC Value Valid

Related Former Checks: NBP-37, NBP-38

Applicability:

Description:

Specifications:

CEM Check

For a Span record with a valid ComponentTypeCode:

If the MEC Value is null,

If the ComponentTypeCode is equal to "S02", "NOX", or "HG", and SpanScaleCode is equal to "L",
set Span MEC Value Valid to false, and return result A.

If the ComponentTypeCode is equal to "S02" or "NOX, the SpanScaleCode is equal to "H", and the DefaultHighRange is
not null,

set Span MEC Value Valid to false, and return result B.

If the ComponentTypeCode is equal to "S02" and the SpanScaleCode is equal to "H",

Locate a Location Control record for the location where the ParameterCode is equal to "S02", the InstallDate is
180 days before the Span Evaluation End Date, and the RetireDate is null or is after the Span Evaluation Begin
Date,

Locate a Location Attribute record for the location where the Bypasslndicator is equal to 1, the BeginDate
is on or before the Span Evaluation End Date, and the EndDate is null or is on or after the Span Evaluation
Begin Date,

If not found,

return result C.

If the ComponentTypeCode is equal to "NOX" and the SpanScaleCode is equal to "H",

Locate a Unit Control record linked to the location where the ParameterCode is equal to "NOX", the ControlCode
is equal to "H20", "STM", "SCR", "SNCR", "DLNB", or "NH3", the InstallDate is 180 days before the Span
Evaluation End Date, and the RetireDate is null or is after the Span Evaluation Begin Date,

Locate a Location Attribute record for the location where the Bypasslndicator is equal to 1, the BeginDate
is on or before the Span Evaluation End Date, and the EndDate is null or is on or after the Span Evaluation
Begin Date,

If not found,

return result E.

If found,

If found,

If the MEC Value is not null,

If the ComponentTypeCode is equal to "FLOW" or "02",

set Span MEC Value Valid to false, and return result F.

If the MECValue is less than or equal to 0,

set Span MEC Value Valid to false, and return result G.

Environmental Protection Agency

Page 350 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C

E

F
G

H

Response

You did not report an MECValue for [key]. This value is required in a non-flow
low-scale span record.

You did not report an MECValue for [key], but you defined a DefaultHighRange value.
You must determine a maximum expected concentration when using a default high range
value.

You did not report an MECValue for [key], but you have reported S02 controls at this

location. You must determine an MEC for S02 if controls are used.

You did not report an MECValue for [key], but you have reported add-on NOX controls

at this location. You must determine an MEC for NOX if add-on controls are used.

You have inappropriately reported an MECValue for [key].

The value [value] in the field [fieldname] for [key] is not within the range of valid

values. This value must be greater than zero.

You reported an MECValue for [key], but you have not reported any add-on NOX
controls at this location. You should only determine an MEC for NOX if add-on
controls are used.

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 2

Critical Error Level 2

Critical Error Level 1
Critical Error Level 1

Critical Error Level 2

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Span Active Equals true

Span Evaluation

Environmental Protection Agency

Page 351 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-3

Check Name:

Span MPF Value Valid

Related Former Checks: NBP-37

Applicability:

CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the ComponentTypeCode is equal to "FLOW",

If the MPFValue is null,
return result A.

Otherwise,

If the MPFValue is less than 500,000,
return result B.

If the ComponentTypeCode is not equal to "FLOW", and the MPFValue is not null,
return result C.

Results:

Result

A

B

Response

You have not reported a [fieldname] for [key], which is a required field for flow span.
You have reported an MPF for [key], which is lower than the expected minimum value
of 500,000 scfh.

You have reported a value in [fieldname] for [key], which is inappropriate for a
non-flow span record.

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

Environmental Protection Agency

Page 352 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-4

Check Name:

Related Former Checks:

Span Scale Transition Point Value Valid

Applicability:

Description:

Specifications:

CEM Check

For a Monitoring Span record with a valid ComponentTypeCode and a SpanScale equal to "H":

If ScaleTransitionPoint is not null,

If SpanValue is null and DefaultHighRangeValue is not null,
return result A.

If the dates are consistent in the Span record,

Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in
the current span record, the SpanScale is equal to "L", the BeginDate and BeginHour is on or before Span
Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span
Evaluation Begin Date and Begin Hour.

If found,

If the ScaleTransitionPoint in all the retrieved records equal to the ScaleTransitionPoint in the current span
record,

If, for any retrieved record where the FullScaleRangeValue is not null, the ScaleTransitionPoint is
not between 1/2 and 1 times the FullScaleRangeValue in the retrieved record,
return result B.

Otherwise,

return result C.

Locate an AnalyzerRange record for the location where the associated ComponentTypeCode is equal to the
ComponentTypeCode in the current span record, the DualRangelndicator is equal to 1, the BeginDate and
BeginHour is on or before Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour in on or after the Span Evaluation Begin Date and Begin Hour.

If found,

return result D.

If ScaleTransitionPoint is null, and the dates are consistent in the Span record,

If EndDate is null or the EndDate is on or after the ECMPS MP Begin Date,

Environmental Protection Agency

Page 353 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C
D

Usage:

1

Response

You have reported a ScaleTransitionPoint for [key], but you have indicated that you
used a DefaultHighRangeValue. You should only report a ScaleTransitionPoint when
using a dual-range analyzer.

You have reported a ScaleTransitionPoint for [key] that is not within the valid range of

values. The ScaleTransitionPoint should be between one-half and one times the

FullScaleRangeValue in the corresponding low-scale span record.

You have reported a ScaleTransitionPoint for [key], but you have not reported the same

ScaleTransitionPoint in the corresponding low-scale span records.

You have not reported a ScaleTransitionPoint for [key], but you have indicated that you

used a dual-range [type] component. You should report a ScaleTransitionPoint when

you use a dual-range analyzer.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Span Active Equals true

Span Evaluation

Severity

Critical Error Level 1

Critical Error Level 2

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 354 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-6

Check Name:

Span Value Valid

Related Former Checks: NBP-43, ARP-57

Applicability:

CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the SpanValue is null,

If the ComponentTypeCode is not equal to "NOX" or "S02", or the SpanScaleCode is not equal to "H",
return result A.

If the SpanValue is not null,

If ComponentTypeCode is equal to "FLOW", and UnitsOfMeasure is not equal to "SCFH",
set Minimum Span Value to .001

If ComponentTypeCode is equal to "FLOW", and UnitsOfMeasure equal to "SCFH",
set Minimum Span Value to 500,000

If ComponentTypeCode is equal to "S02", "NOX", or "HG",
set Minimum Span Value to 1

If ComponentTypeCode is equal to "C02" or "02",
set Minimum Span Value to 0.1

If the SpanValue is less than the Minimum Span Value,
return result B.

If Maximum Span Value is not null, and the SpanValue is greater than the Maximum Span Value,
return result C.

If the ComponentTypeCode is not equal to "FLOW",

If the SpanScaleCode is equal to "H" and the MPCValue is valid,
set MPC orMEC to "MPC".

If the SpanValue is less than the MPCValue,
return result D.

If the ComponentTypeCode is equal to "S02","NOX", and the MPCValue * 1.25 (and rounded up to the
next highest multiple of 100 ppm) is less than the SpanValue,
return result E.

If the ComponentTypeCode is equal to "HG", and the SpanValue is not equal to the MPCValue (rounded
up to the next highest multiple of 10 ugscm),
return result F.

If the SpanScaleCode is equal to "L" and the MECValue is valid,

set MPC or MEC to "MEC".

If the SpanValue is less than the MECValue,
return result D.

If the ComponentTypeCode is equal to "S02","NOX", and MECValue * 1.25 (and rounded up to the next

Environmental Protection Agency

Page 355 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

highest multiple of 100 ppm) is less than the Span Value,
return result E.

If the ComponentTypeCode is equal to "HG", and the SpanValue is not equal to 10,
return result G.

Results:

Result	Response	Severity

A	You did not provide [fieldname], which is required, for [key].	Critical Error Level 1

B	The span value for [key] is less than [minvalue], which is the lowest span value specified Critical Error Level 2

in Part 75 for this parameter.

C	The span value for [key] exceeds the highest reasonable span value of [maxvalue].	Critical Error Level 1

D	You reported a Span Value that is less than the [MPC/MEC] for [key].	Critical Error Level 1

E	You reported a SpanValue that is greater than 1.25 times the [MPC/MEC] (rounded up Critical Error Level 2

to the next highest multiple of 100 ppm) for [key].

F	You reported a SpanValue that is not equal to the MPC (rounded up to the next highest Critical Error Level 2

multiple of 10 ug/scm) for [key].

G	You reported a SpanValue that is not equal to 10 ug/scm for [key].	Critical Error Level 2

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Span Evaluation

Conditions:	Current Span Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 356 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-7

Check Name:

Span Full Scale Range Value Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the FullScaleRange is null,

If the ComponentTypeCode is not equal to "NOX" or "S02", or the DefaultHighRange is null, or the SpanScaleCode is
equal to "L",

return result A.

If the FullScaleRange is not null, the SpanValue is valid, and the FullScaleRange is less than the SpanValue,
return result B.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

You reported a FullScaleRange value that is less than the SpanValue for [key].

Severity

Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 357 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-8

Check Name:

Span Begin Date Valid

Related Former Checks:

Applicability:

CEM Check

Description:

Specifications:

For the Span record:

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Date], which is outside the range of acceptable values

for this date for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Span Evaluation

Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 358 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-9

Check Name:	Span Begin Hour Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the Span record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

Results:

Result

A

B

Usage:

1

1

2

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Hour], which is outside the range of acceptable values

for this hour for [key].

Process/Category:
Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation
Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Severity
Fatal

Critical Error Level 1

Environmental Protection Agency

Page 359 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	SPAN-10

Check Name:	Span End Date Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the Span record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Span Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 360 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	SPAN-11

Check Name:	Span End Hour Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the Span record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response	Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1

for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Span Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 361 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-12

Check Name:	Span Dates and Hours Consistent

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For the Span record:

If the EndDate is valid and not null, and the EndHour is null,

set Span Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set Span Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set Span Dates and Hours Consistent to false, return result C.

Otherwise,

set Span Dates and Hours Consistent to true.

Otherwise,

set Span Dates and Hours Consistent to false.

Results:

Result
A
B
C

Usage:

1

1

2

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

Process/Category:
Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation
Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 362 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-13

Check Name:

Span Active Status

Related Former Checks:
Applicability:

CEM Check

Description:

Specifications:

For a Span record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current Span Active to false.

Otherwise,

set Current Span Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the Span Evaluation Begin Date to the Evaluation Begin Date,
set the Span Evaluation Begin Hour to 0.

Otherwise,

set the Span Evaluation Begin Date to the BeginDate.
set the Span Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the Span Evaluation End Date to the Evaluation End Date,
set the Span Evaluation End Hour to 23.

Otherwise,

set the Span Evaluation End Date to the EndDate.
set the Span Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	Span Evaluation

Environmental Protection Agency

Page 363 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-16

Check Name:	Flow Span Value Valid

Related Former Checks:	ARP-41

Applicability:	CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the ComponentTypeCode is equal to "FLOW",

If the FlowSpanValue is null,
return result A.

If the MPF Value is greater than 0 and not null, and the FlowSpanValue is not between 1.0 and 1.25 times the MPF Value
(rounded to the nearest 1000 scfh),
return result B.

If the SpanValue is valid,

If the UnitsOfMeasure is equal to "SCFH", and the SpanValue is not equal to the FlowSpanValue,
return result C.

If the UnitsOfMeasure is equal to "KSCFH", and the FlowSpanValue / 1000 (rounded to the nearest integer) is not
equal to the SpanValue (rounded to the nearest integer),
return result C.

If the UnitsOfMeasure is equal to "MSCFH", and the FlowSpanValue / 1000000 (rounded to the nearest integer) is
not equal to the SpanValue (rounded to the nearest integer),
return result C.

If the UnitsOfMeasure is equal to "SCFM", and the FlowSpanValue / 60 (rounded to the nearest integer) is not
equal to the SpanValue (rounded to the nearest integer),
return result C.

If the UnitsOfMeasure is equal to "KSCFM", and the FlowSpanValue / 60000 (rounded to the nearest integer) is
not equal to the SpanValue (rounded to the nearest integer),
return result C.

If the ComponentTypeCode is not equal to "FLOW", and the FlowSpanValue is not null,
return result D.

Results:

Result
A
B
C

D

Usage:

1

Response

You have not reported a [fieldname] for [key], which is a required field for flow span.
The Flow Span Value is not between 100 and 125% of the MPF for [key].
The SpanValue reported for [key], which was reported in [uom], is inconsistent with the
FlowSpanValue reported in scfh.

You have reported a value in [fieldname] for [key], which is inappropriate for a
non-flow span record.

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

Severity

Critical Error Level 1
Critical Error Level 2
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 364 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

SPAN-17

Flow Span Full Scale Range Value Valid

Related Former Checks: ARP-41
Applicability:	CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the ComponentTypeCode is equal to "FLOW",

If the FlowFullScaleRange is null,
return result A.

If the FlowSpanValue is valid, and the FlowFullScaleRange is not greater than or equal to the FlowSpanValue,
return result B.

If the ComponentTypeCode is not equal to "FLOW", and the FlowFullScaleRange is not null,

return result C.

Results:

Result

A

B

Response

You have not reported a [fieldname] for [key], which is a required field for flow span.
You reported a Flow Full Scale Range Value that is not greater than or equal to the Flow
Span Value for [Key].

You have reported a value in [fieldname] for [key], which is inappropriate for a
non-flow span record.

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

Environmental Protection Agency

Page 365 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-18

Check Name:

Span Scale Code Valid

Related Former Checks: NBP-35
Applicability:	CEM Check

Description:

Specifications:

For the Span record with a valid ComponentTypeCode:

If the ComponentTypeCode is not equal to "FLOW",

If the SpanScaleCode is null,
return result A.

If the SpanScaleCode is not equal to "H" or "L",
return result B.

If the ComponentTypeCode is equal to "FLOW", and the SpanScaleCode is not null,
return result C.

Results:

Result

A

B

Response

You did not provide [fieldname], which is required, for [key].

You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

You reported a span scale in the span record for [key], but this is not appropriate for
flow span record.

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 366 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-20

Check Name:

Span Component Type Code Valid

Related Former Checks:
Applicability:

CEM Check

Description:

Validation Tables:

Component Type Code (Complex Lookup Table)
Component Type Code (Complex Lookup Table)

Specifications:

For the Span record:

Set Span MPC Valid and Span MEC Valid to true.

If the ComponentTypeCode is null,
return result A.

Otherwise,

Locate ComponentTypeCode in the Component Type Code Lookup Table where Span Indicator is equal to 1.

If not found,

return result B.

If found,

set Component Parameter Code to the ParameterCode in the lookup table record.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 367 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-21

Check Name:

Span Units of Measure Code Valid

Related Former Checks: NBP-44, NBP-45, NBP-46

Applicability:

CEM Check

Description:

Validation Tables:

Parameter UOM (Complex Lookup Table)

Units Of Measure Code (Lookup Table)

Parameter UOM (Complex Lookup Table)

Units Of Measure Code (Lookup Table)

Specifications:

For the Span record with a valid ComponentTypeCode:

If the UnitsOfMeasure is null,
return result A.

Otherwise,

Locate a record in the Parameter Units of Measure lookup table where the ParameterCode is equal to the Component
Parameter Code and the UnitsOfMeasure is equal to the UnitsOfMeasure in the span record.

If found,

set Maximum Span Value to Max Value in lookup table record.

If not found,

Locate the UnitsOfMeasure in the Units of Measure Code Lookup Table.

If not found,

return result B.

If found,

return result C.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You defined a units of measure of [value] that is inappropriate for the component type in
the span record for [key].

Severity

Critical Error Level 1
Fatal

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 368 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-36

Check Name:	Span Default High Range Value Valid

Related Former Checks: ARP-26 A, B, E

Applicability:	CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the DefaultHighRange is not null,

If ComponentTypeCode is not equal to "S02" or "NOX", or the SpanScaleCode is equal to "L",
return result A.

If DefaultHighRange is less than or equal to 0,
return result B.

If the MPCValue is greater than 0 and not null, and the DefaultHighRange is not equal to two times the MPCValue,

If the ComponentTypeCode is not equal to "NOX", or the MPCValue is not equal to 50, or the DefaultHighRange
is not equal to 200, or the EndDate is null or is after 3/31/2003,
return result C.

If the DefaultHighRange is null and the SpanValue is null,

If the SpanScaleCode is equal to "H", and the ComponentTypeCode is equal to "NOX" or "S02",
return result D.

Results:

Result
A

B

C

D

Usage:

1

1

Response

You have defined a default high range value for [key]. You should only report the
default value in a high-scale S02 or NOX span record.

The value [value] in the field [fieldname] for [key] is not within the range of valid
values. This value must be greater than zero.

You have indicated the use of a default high range value for [key], but the value defined
as the default in the span record is not 200% of the MPC.

You have not defined a SpanValue or a DefaultHighRange for [key]. You must report
either a SpanValue or a DefaultHighRange in a high-scale [type] span record.

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 369 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

SPAN-37

Default High Range Value Consistent with Span Value and Full Scale Range

Related Former Checks: ARP-26C/D
Applicability:	CEM Check

Description:

Specifications:

For a Span record with a ComponentTypeCode equal to "S02" or "NOX", and a SpanScaleCode equal to "H",
If the DefaultHighRange is not null, and either the SpanValue or the FullScaleRange are not null,

return result A.

Results:

Result
A

You have indicated the use of a default high range for [key], but you have defined a span Critical Error Level 1
value and/or a full scale range value. You should not define a span value or full scale
range if you are using a default high-range value.

Response

Severity

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 370 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-47

Check Name:

High Scale Span Consistent with Low Scale Span

Related Former Checks: NBP-42A

Applicability:

CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode and a SpanScaleCode equal to "L":

Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the current Span
record, the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End
Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour.

If the SpanValue in the current span record is valid,

If, for any high-scale record found, the SpanValue is greater than 0, but less than the SpanValue in the current low-scale
span,

return result A.

If the MEC Value in the current span record greater than 0 and not null,

If, for any high-scale record found, the MEC Value is greater than 0, but is not equal to the MEC Value in the current
low-scale span,

return result B.

Results:

Result
A

Response

You reported a SpanValue for [key] that is greater than the SpanValue in the
corresponding high-scale span record. The high-scale span value must be greater than
the low-scale span value.

You reported an MEC for [key] that is not equal to the MEC in the corresponding
high-scale span record. The MEC values in these records should be the same.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Environmental Protection Agency

Page 371 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-48

Check Name:

Required Low Scale Span Record Reported for Low MEC or Default High Range

Related Former Checks: ARP-26G

Applicability:

Description:

Specifications:

CEM Check

For a Span record with a SpanScaleCode equal to "H":

IF the ComponentTypeCode equal to "S02" or "NOX",

If the FullScaleRange is valid and non-null and the MEC Value is valid and non-null:

If the MECValue is less than 20% of the FullScaleRange,

Locate all Span records for the location where the ComponentTypeCode is equal to the
ComponentTypeCode in the current Span record, the SpanScaleCode is equal to "L", the BeginDate and
BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the
EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If the DefaultHighRange is valid and non-null,

Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in
the current Span record, the SpanScaleCode is equal to "L", the BeginDate and BeginHour is on or before the Span
Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span
Evaluation Begin Date and Begin Hour.

If not found,

return result B.

If found, and the MECValue is not null, is greater than 0, and (rounded up to next highest lOppm) is less than 20%
of the FullScaleRange (if not null) in an^ record,
return result C.

IF the ComponentTypeCode equal to "HG",

If the SpanValue is greater than or equal to 20 and the MECValue is valid and non-null:

If the MECValue is less than 20% of the SpanValue,

Locate all Span records for the location where the ComponentTypeCode is equal to "HG", the
SpanScaleCode is equal to "L", the BeginDate and BeginHour is on or before the Span Evaluation End
Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span
Evaluation Begin Date and Begin Hour.

If not found,

return result D.

Environmental Protection Agency

Page 372 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C

D

Usage:

1

Response	Severity

The MEC reported is less than 20% of MPC for [key], but no corresponding low span Critical Error Level 2

scale record that was active during the evaluation period has been reported.

You have reported a DefaultHighRange value for [key], but no corresponding low span Critical Error Level 1
scale record that was active during the evaluation period has been reported.

You have indicated the use of a default high range value for [key], but this is not
allowed, because the full scale range in the low-scale span record is more than five times
the MEC.

The MEC reported is less than 20% of the SpanValue for [key], but no corresponding
low span scale record that was active during the evaluation period has been reported.

Critical Error Level 2

Critical Error Level 2

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Environmental Protection Agency

Page 373 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-50

Check Name:	Span Method Code Valid
Related Former Checks: NBP-36

Applicability:	CEM Check
Description:

Validation Tables:

Component Type and Span Scale to Span
Span Method Code (Lookup Table)

Component Type and Span Scale to Span
Span Method Code (Lookup Table)

Specifications:

For the Span record with a valid ComponentTypeCode and the ComponentTypeCode is equal to "FLOW" or Span Scale Code Valid is true:

If ComponentTypeCode is equal to "FLOW"

Locate a record in the Component Type and Span Scale to Span Method Cross Check Table where the
ComponentTypeCode and SpanMethodCode are equal to ComponentTypeCode and SpanMethodCode in the span record.

Otherwise,

Locate record in the Component Type and Span Scale to Span Method Cross Check Table for the ComponentTypeCode,
SpanScaleCode, and SpanMethodCode in the span record.

If not found,

If the SpanMethodCode is null,

If ComponentTypeCode is not equal to "02",
return result A.

If the SpanMethodCode is not null,

Locate SpanMethodCode in the SpanMethodCode Lookup Table.

If not found,

return result B.

Otherwise,

return result C.

Results:

Result	Response

A	You did not provide [fieldname], which is required, for [key].

B	You reported the value [value], which is not in the list of valid values, in the field

[fieldname] for [key].

C	You defined a SpanMethodCode of [value], which is an invalid method of establishing

the MPC/MEC/MPF for [key].

Method (Cross Check Table)
Method (Cross Check Table)

Seventy

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	Span Evaluation

Conditions:	Current Span Active Equals true

1	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category:	Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 374 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-52

Check Name:

Required Component Reported for Span

Related Former Checks: NBP-34

Applicability:

CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode and a valid SpanScaleCode and a DefaultHighRange that is null:

If the ComponentTypeCode is equal to "FLOW"

Locate all System Component records for the location where the associated ComponentTypeCode is equal to "FLOW", the
BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the
EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour.

Otherwise,

Locate all Analyzer Range records for the location where the associated ComponentTypeCode is equal to the
ComponentTypeCode in the current Span record, the AnalyzerRangeCode is equal to "A" or is equal to the SpanScaleCode
in the current Span record, the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and
the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire span evaluation
period,

return result B.

Results:

Result
A

Response

You reported a span record for [key], but you did not report a component that was active
during the evaluation period with the same component type (and range).

You reported a span record for [key], but you did not report a component with the same
component type (and range) that is active for the entire evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Environmental Protection Agency

Page 375 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-53

Check Name:

Overlapping Span Records

Related Former Checks: ARP-66

Applicability:

Description:

Specifications:

CEM Check

For a Span record with a valid ComponentTypeCode and a valid SpanScaleCode:

Locate another Span record for the location where the ComponentTypeCode and SpanTypeCode is equal to the
ComponentTypeCode and SpanScaleCode in the current span record, the BeginDate and BeginHour is on or after the BeginDate
and BeginHour of the current record and is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or
the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour.

If found,

return result A.

Results:

Result
A

Response

You have reported [key], but you have reported another span record with the same
ComponentTypeCode (and SpanScaleCode) that was active at the same time.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Environmental Protection Agency

Page 376 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

SPAN-54

Required High-Scale Span Record Reported

Related Former Checks: NBP-42B

Applicability:

CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode and a SpanScaleCode equal to "L":

Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the current Span
record, the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End
Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire span evaluation
period,

return result B.

Results:

Result
A

Response

You defined a span record for [key], but you have not reported a corresponding
high-scale span record that was active during the evaluation period. If the unit/stack has
a dual range monitor or uses a default high range value the high-scale must also be
defined. If the unit/stack has a single-scale monitor, define only a high-scale span
record.

You defined a span record for [key], but you have not reported corresponding high-scale
span records that span the entire evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Environmental Protection Agency

Page 377 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-60

Check Name:	Span MPC MEC Value Consistency Check

Related Former Checks: New

Applicability:	CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode, and a null EndDate:

If EndDate is null

If the MPCValue is not null and MECValue is not null

If the MECValue is equal to or greater than the MPCValue
return result A.

Severity

Critical Error Level 1

Results:

Result	Response

A	You have reported a MECValue equal to or greater than the MPCValue for [key].
Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Span Evaluation

Conditions:	Current Span Active Equals true

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 378 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Related Former Checks:

Check Code:

SPAN-55

Duplicate Span Records

Applicability:

Description:

Specifications:

General Check

For a Span record with a valid ComponentTypeCode:

If ComponentTypeCode is equal to "FLOW",

Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode in the
current record and a BeginDate/Hour equal to the BeginDate/Hour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null.,

Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode
in the current record and an End Date/Hour equal to the EndDate/Hour in the current record.

If found,

return result A.

Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode in the
current record and a SpanScaleCode equal to the SpanScaleCode in the current record and a BeginDate/Hour equal to the
BeginDate/Hour in the current record.

If found,

return result A.

If not found, and the EndDate in the current record is not null.,

Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode
in the current record and a SpanScaleCode equal to the SpanScaleCode in the current record and an End Date/Hour
equal to the EndDate/Hour in the current record.

If found,

return result A.

Otherwise,

Results:

Result
A

Response

Another [recordtype] record already exists with the same [fieldnames].

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation

2	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 379 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-56

Check Name:	Span MPC Value Valid

Related Former Checks: NBP-37

Applicability:	CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the MPCValue is null,

If the ComponentTypeCode is not equal to "FLOW" or "02", and the SpanScaleCode is equal to "H",
set Span MPC Value Valid to false, and return result A.

If the MPCValue is not null,

If the ComponentTypeCode is equal to "FLOW" or "02", or the SpanScaleCode is equal to "L"
set Span MPC Value Valid to false, and return result B.

Otherwise,

If the MPCValue is less than or equal to 0,

set Span MPC Value Valid to false, and return result C.

Results:

Result	Response Severity

A	You did not report an MPCValue for [key]. Critical Error Level 1

B	You have reported an MPCValue for [key], but an MPCValue is not appropriate for this Critical Error Level 1

ComponentTypeCode and SpanScaleCode.

C	You defined an invalid [fieldname] for [key]. This value must be greater than zero. Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 380 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SPAN-57

Check Name:

Span MEC Value Valid

Related Former Checks: NBP-37, NBP-38

Applicability:

CEM Check

Description:

Specifications:

For a Span record with a valid ComponentTypeCode:

If the MEC Value is null,

If the ComponentTypeCode is not equal to "FLOW" or "02", and the SpanScaleCode is equal to "L",
set Span MEC Value Valid to false, and return result A.

If the ComponentTypeCode is equal to "S02" or "NOX, the SpanScaleCode is equal to "H", and the DefaultHighRange is
not null,

set Span MEC Value Valid to false, and return result B.

If the MEC Value is not null,

If the ComponentTypeCode is equal to "FLOW" or "02",

set Span MEC Value Valid to false, and return result C.

If the MECValue is less than or equal to 0,

set Span MEC Value Valid to false, and return result D.

Results:

Result
A

Response

You did not report an MECValue for [key]. This value is required in a non-flow
low-scale span record.

You did not report an MECValue for [key], but you defined a DefaultHighRange value.
You must determine a maximum expected concentration when using a default high range
value.

You have inappropriately reported an MECValue for [key].

You defined an invalid [fieldname] for [key]. This value must be greater than zero.

Severity

Critical Error Level 1

B

Critical Error Level 1

C
D

Critical Error Level 1
Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 381 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-58

Check Name:	High Span Scale Transition Point Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Monitoring Span record with a valid ComponentTypeCode and a SpanScale equal to "H":

If ScaleTransitionPoint is not null,

If SpanValue is null and DefaultHighRangeValue is not null,
return result A.

Results:

Result	Response	Severity

A	You have reported a ScaleTransitionPoint for [key], but you have indicated that you Critical Error Level 1

used a DefaultHighRangeValue. You should only report a ScaleTransitionPoint when
using a dual-range analyzer.

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 382 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SPAN-59

Check Name:	Low Span Scale Transition Point Valid

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

For a Monitoring Span record with a valid ComponentTypeCode and a SpanScale equal to "L":

If ScaleTransitionPoint is not null,

If FullScaleRangeValue is not null, and the ScaleTransitionPoint is not between 1/2 and 1 times the FullScaleRangeValue,
return result A.

Results:

Result	Response	Severity

A	You have reported a ScaleTransitionPoint for [key] that is not within the valid range of Critical Error Level 2

values. The ScaleTransitionPoint should be between one-half and one times the
F ull ScaleRange V alue.

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation

Environmental Protection Agency

Page 383 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Category:
System

Environmental Protection Agency

Page 384 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Check Code:	SYSTEM-1

Check Name:	System Begin Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring System record:

Set System Record Valid to false.

If BeginDate is null,

return result A.

If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date,
return result B.

Results:

Result	Response	Severity

A	You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

B	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1

for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 385 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-2

Check Name:	System Begin Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring System record:

If BeginHour is null,

return result A.

If BeginHour is less than 0 or greater than 23
return result B.

Results:

Result

A

B

Usage:

1

1

Response

You have not reported the required value in the field [fieldname] for [key].

You reported a [Fieldname] of [Hour], which is outside the range of acceptable values

for this hour for [key].

Severity

Critical Error Level 1
Critical Error Level 1

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	System Evaluation

Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 386 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-3

Check Name:	System End Date Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring System record:

If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date,
return result A.

Results:

Result	Response Severity

A	You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1
for this date for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 387 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-4

Check Name:	System End Hour Valid

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring System record:

If EndHour is not null, and is less than 0 or greater than 23
return result A.

Results:

Result	Response Severity

A	You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1
for this hour for [key].

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Evaluation

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 388 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-5

Check Name:	System Dates and Hours Consistent

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For the Monitoring System record:

If the EndDate is valid and not null, and the EndHour is null,

set Monitoring System Dates and Hours Consistent to false, and return result A.

If the EndHour is valid and not null, and the EndDate is null,

set Monitoring System Dates and Hours Consistent to false, and return result B.

If the BeginDate, BeginHour, EndDate, and EndHour are all valid,

If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour,
set Monitoring System Dates and Hours Consistent to false, return result C.

Otherwise,

set Monitoring System Dates and Hours Consistent to true.

Otherwise,

set Monitoring System Dates and Hours Consistent to false.

Results:

Result
A
B
C

Usage:

1

Response

You reported [datefield2] but did not report an [hourfield2] for [key].
You reported [hourfield2] but did not report [datefield2] for [key].
You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and
[hourfieldl] for [key].

1

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	System Evaluation

Monitoring Plan Data Entry Screen Evaluation System Evaluation

Severity

Critical Error Level 1
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 389 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-6

Check Name:

System Active Status

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Monitor System record with consistent dates:

If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date,
set Current System Active to false.

Otherwise,

set Current System Active to true.

If the BeginDate is prior to the Evaluation Begin Date,

set the System Evaluation Begin Date to the Evaluation Begin Date,
set the System Evaluation Begin Hour to 0.

Otherwise,

set the System Evaluation Begin Date to the BeginDate.
set the System Evaluation Begin Hour to the BeginHour.

If the EndDate is null or is after the Evaluation End Date,

set the System Evaluation End Date to the Evaluation End Date,
set the System Evaluation End Hour to 23.

Otherwise,

set the System Evaluation End Date to the EndDate.
set the System Evaluation End Hour to the EndHour.

Results:

Result

Response

Severity

Usage:

Process/Category: Monitoring Plan Evaluation Report	System Evaluation

Environmental Protection Agency

Page 390 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

SYSTEM-7

Monitoring System ID Valid

Related Former Checks:
Applicability:

General Check

Description:

Specifications:

For the Monitoring System record:

If the MonitoringSy stemID is null,
return result A.

If the MonitoringSystemID does not consist of 3 alphanumeric characters:
return result B.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
The MonitoringSystemID [ID] has an invalid format. A MonitoringSystemID must
contain three alphanumeric characters.

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals True

Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 391 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-8

Check Name:	System Type Code Valid

Related Former Checks:

Applicability:	General Check

Description:

Validation Tables:

System Type Code (Complex Lookup Table)

System Type Code (Complex Lookup Table)

Specifications:

For the Monitoring System record:

If the SystemTypeCode is null,
return result A.

Otherwise,

Locate SystemTypeCode in the System Type Lookup Table.

If not found,

return result B.

If found,

set System Parameter Code to the ParameterCode in the lookup table record,
set System Record Valid to true.

Locate a Used Identifier record for the location where the Table Code is equal to "S" and the Identifier is equal to
the Monitoring System ID in the Monitoring System record.

If found,

If the SystemTypeCode is not equal to the Type or Parameter Code in the retrieved record,

If the SystemTypeCode begins with "H20" and the Type or Parameter Code begins with "H20",
return result C.

Otherwise,

return result D.

Results:

Result

A

B

C

D

Response

You have not reported the required value in the field [fieldname] for [key].
You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have changed the SystemTypeCode for [key] from its previously reported value.
You should only do this to correct invalid data. If you are installing a system with a
different system type, you should add a new system.

You have changed the SystemTypeCode for [key] from its previously reported value.
You should only do this to correct invalid data. If you are installing a system with a
different system type, you should add a new system.

Severity
Fatal

Critical Error Level 1
Informational Message

Critical Error Level 2

Usage:

1

1

Process/Category: Monitoring Plan Evaluation Report	System Evaluation

Conditions:	Current System Active Equals True

Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 392 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-9

Check Name:	System Designation Code Valid

Related Former Checks:	ARP-68

Applicability:	General Check

Description:

Validation Tables:

System Designation Code (Lookup Table)

System Designation Code (Lookup Table)

Specifications:

For the Monitoring System record:

If the SystemDesignationCode is null,
return result A.

If SystemDesignationCode is equal to "CI",

If SystemTypeCode is valid and SystemTypeCode is not equal to "S02", "NOX", "NOXC", "S02R", "HG", or "HGK",
return result B.

If SystemDesignationCode is equal to "RM" and SystemTypeCode is equal to "GAS", "OILM", "OILV", "OP", "NOXP", or
"NOXE"

return result B.

If SystemDesignationCode is equal to "PB",

If SystemTypeCode is valid and SystemTypeCode is not equal to "NOX", or "NOXC",
return result B.

Otherwise,

Locate SystemDesignationCode in System Designation Code Lookup table.

If not found,

return result C.

Results:

Result

A

B

C

Usage:

1

1

Response	Severity

You have not reported the required value in the field [fieldname] for [key].	Critical Error Level 1

You reported [value] as the SystemDesignationCode for [key], which is not appropriate	Critical Error Level 1
for the System Type [Monitor System Type].

You reported the value [value], which is not in the list of valid values, in the field	Critical Error Level 1
[fieldname] for [key].

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals True

Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 393 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-10

Check Name:

System Fuel Code Valid

Related Former Checks:
Applicability:

General Check

Description:

Validation Tables:

Fuel Code (Lookup Table)

System Type to Fuel Group (Cross Check Table)

Fuel Code (Lookup Table)

System Type to Fuel Group (Cross Check Table)

Specifications:

For Monitoring System record:

Set System Fuel Code Valid to true and System Unit Fuel to null.

If the FuelCode in the Monitoring System record is null,

set System Fuel Code Valid to false, and return result A.

Otherwise,

Locate the FuelCode in the Fuel Code Lookup Table.

If not found,

set System Fuel Code Valid to false, and return result B.

If found, and the SystemTypeCode is valid,

Locate a record in the System Type to Fuel Group Cross Check table where the SystemTypeCode is equal to the
SystemTypeCode in the Monitoring System record and the Fuel Group Code is equal to Fuel Group in the
retrieved Fuel Code lookup table record.

If not found,

set System Fuel Code Valid to false, and return result C.

If found,

set System Unit Fuel to the UnitFuel in the retrieved Fuel Code lookup table.

Results:

Result
A

Response

You have not reported a Fuel Code for [key]. A Fuel Code is required for a [System
Type] system.

You reported the value [value], which is not in the list of valid values, in the field
[fieldname] for [key].

You have reported the Fuel Code [value] for [key], which is not appropriate for a
[System Type] system.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Monitoring Plan Data Entry Screen Evaluation System Evaluation

Environmental Protection Agency

Page 394 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-12

Check Name:

System Type Consistent with Method

Related Former Checks: ARP-1

Applicability:

General Check

Description:

Validation Tables:

Method Parameter to Method to System Type (Cross Check Table)

Specifications:

For Monitoring System record with a valid System Type Code and consistent dates:

If the System Type Code is equal to "OILV", "OILM", or "GAS",

Locate a Monitoring Method record for the location with a MethodCode that begins with "AD", a BeginDate and
BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and
EndHour that is on or after the System Evaluation Begin Date and Begin Hour.

If not found,

return result A.

If the System Type Code is equal to "LTGS" or "LTOL",

Locate a Monitoring Method record for the location with a MethodCode that begins with "LTF", a BeginDate and
BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and
EndHour that is on or after the System Evaluation Begin Date and Begin Hour.

If not found,

return result A.

Otherwise,

Locate the SystemTypeCode in the Method Parameter and Method to System Type Cross Check table.

Locate a Monitoring Method record for the location with any ParameterCode and MethodCode combination found
in the cross check table, a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour,
and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and
Begin Hour.

If not found,

return result A.

If found,

Results:

Result
A

Response

You have not reported a method that is consistent with the system type [system type
code] for [key] during the evaluation period.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 395 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-13

Check Name:	System Type Consistent with Components

Related Former Checks:

Applicability:	General Check

Description:

Validation Tables:

System Type to Component Type (Cross Check Table)

Specifications:

For a Monitor System record with consistent dates and a valid SystemTypeCode:

If the SystemTypeCode is equal to "S02R", "NOX", or "C02",

Locate all System Component records for the system where the ComponentTypeCode is equal to "C02", the BeginDate and
BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the System Evaluation Begin Date and Begin Hour.

For each record found,

Locate another System Component record for the system where the ComponentTypeCode is equal to "02", the
BeginDate and BeginHour is on or before the earlier of the System Evaluation End Date and End Hour and the End
Date and End Hour of the retrieved System Component record, and the EndDate is null or the EndDate and
EndHour is on or after the later of the System Evaluation Begin Date and Begin Hour and the Begin Date and
Begin Hour of the retrieved System Component record.

If found,

return result A.

If the SystemTypeCode is equal to "S02", "S02R", "NOX", "NOXC", "C02", "02", or "HG",

Locate all records in the System Type to Component Type cross-check table where the SystemTypeCode is equal to the
SystemTypeCode in the current system record.

For each of the retrieved records in the cross-check table:

Locate all System Component records for the system where the ComponentTypeCode is equal to the
ComponentTypeCode in the cross-check record, the ComponentID does not begin with "LK", the BeginDate and
BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate
and EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If more than one record is found,

Locate all Analyzer Range records for the components in the retrieved system component records, the
AnalyzerRangeCode is equal to "H" or "A", the BeginDate and BeginHour is on or before the System
Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the
System Evaluation Begin Date and Begin Hour.

If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour of any
analyzer range records and the associated system component record overlaps the intersection between
BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component
record for a different component with a ComponentID that does not begin with "LK" at any time during the
system evaluation period,
return result B.

Otherwise,

Locate all Analyzer Range records for the location where the ComponentID is equal to the

Environmental Protection Agency

Page 396 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

ComponentID of any of the components in the retrieved system component records, the
AnalyzerRangeCode is equal to "L" or "A", the BeginDate and BeginHour is on or before the
System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour
is on or after the System Evaluation Begin Date and Begin Hour.

If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour
of any analyzer range records and the associated system component record overlaps the
intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the
associated system component record for a different component with a ComponentID that does not
begin with "LK" at any time during the system evaluation period,
return result B.

If the SystemTypeCode is equal to "H20",

Locate all System Component records for the system where the associated ComponentTypeCode is equal to "02", the
ComponentID does not begin with "LK", the StartDate and StartHour is on or before the System Evaluation End Date and
End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin
Hour.

If at least one record is found with an associated BasisCode equal to "B" and at least one record is found with an associated
BasisCode equal to "W" or "D",

If the time span between BeginDate/Hour and EndDate/Hour of any record with a BasisCode equal to "B" overlaps
with the time span between BeginDate/Hour and EndDate/Hour of any record with a BasisCode equal to " W" or
"D" at any time during the system evaluation period,
return result C.

If more than one record is found with the same non-null BasisCode,

For each BasisCode with more than one record found,

Locate all Analyzer Range records for the components with this BasisCode in the retrieved system
component records, the AnalyzerRangeCode is equal to "H" or "A", the BeginDate and BeginHour is on or
before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour of any
analyzer range records and the associated system component record overlaps the intersection between
BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component
record for a different component with the same basis code and a ComponentID that does not begin with
"LK" at any time during the system evaluation period,
return result B.

Otherwise,

Locate all Analyzer Range records for the location where the ComponentID is equal to the
ComponentID of any of the components with this BasisCode in the retrieved system component
records, the AnalyzerRangeCode is equal to "L" or "A", the BeginDate and BeginHour is on or
before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour
of any analyzer range records and the associated system component record overlaps the
intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the
associated system component record for a different component with the same basis code and a
ComponentID that does not begin with "LK" at any time during the system evaluation period,
return result B.

Environmental Protection Agency

Page 397 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Results:

Result
A

B

C

Response

You have reported a CEM system for [key] that contains an active C02 component and
a concurrently active 02 component. This is invalid.

You have reported a CEM or H20 system for [key] that contains more than one active
analyzer with the same component type (and basis) and analyzer range. This is an
invalid configuration of components.

You have reported an H20 system for [key] that contains an 02 component with a basis
code of "B", and a concurrently active 02 component with a basis code of "W" or "D".
This is an invalid configuration of components.

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current System Active Equals true

System Evaluation

Environmental Protection Agency

Page 398 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-14

Check Name:

System Fuel Consistent with Unit Fuel

Related Former Checks:
Applicability:

Appendix D Check

Description:

Specifications:

For Monitoring System record with a valid SystemTypeCode, a valid SystemFuelCode, and consistent dates:

If the FuelCode is not equal to "NFS" or "MIX",

Locate the latest Unit Fuel record linked to the location where the FuelCode is equal to the System Unit Fuel, the BeginDate
is on or before the System Evaluation End Date, and the EndDate is null or is on or after the System Evaluation Begin Date.

If not found,

return result A.

If found,

If the Indicator Code in the retrieved record is equal to "I" or "E",
return result C.

If the EndDate of retrieved Unit Fuel record is not null, and either the EndDate of the Monitoring System record is
null or the End Date of the Monitoring System record is later than the EndDate of the retrieved Unit Fuel record,
return result B.

Results:

Result
A

Response

The Fuel Code [Fuel Code] for [key] is inconsistent with the active fuels for the
associated unit.

According to the Unit Fuel (and Unit Stack Configuration) records, the FuelCode [Fuel
Code] for [key] is not being combusted for the entire evaluation period.

According to the Unit Fuel (and Unit Stack Configuration) records, the fuel flow system
for [key] may be measuring an emergency or ignition fuel. Although it is permitted to
define a fuel flow system for ignition or emergency fuels, it is not required to do so.

Severity

Critical Error Level 1

B

Informational Message

C

Informational Message

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 399 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Related Former Checks:

Check Code:

SYSTEM-16

RM System Consistent with Non-RM Systems

Applicability:

Description:

Specifications:

General Check

For a Monitoring System record with a valid SystemDesignationCode equal to "RM", Required DAHS for System equal to true, and
Required Non-DAHS Components for System equal to true:

Locate another Monitor System record for the location with the same SystemTypeCode, a SystemDesignationCode not equal to
"RM", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an
EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour.

Locate all System Component records for all of the retrieved system where the associated ComponentTypeCode is not equal
to "DAHS", "PLC", "FLC", or "PRB", the BeginDate and BeginHour on or before the System Evaluation End Date and
End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and
Begin Hour.

For each of the retrieved System Component records.

Locate a System Component record for the current system with the same Component ID.

If any are found, and the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour,
and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin
Hour,

If not found,

return result A.

If found,

return result B.

Results:

Result
A

Response

You have reported a [System Type] RM System for [key], but you have not reported a
corresponding non-RM system at the location.

You have reported an RM [System Type] system for [key], which contains components
that are also part of a non-RM [System Type] system at the location.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 400 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-17

Check Name:

Related Former Checks:

Backup System Consistent with Primary System

Applicability:

Description:

Specifications:

General Check

For a Monitoring System record with a valid SystemTypeCode, a SystemDesignationCode is equal to "B" or "RB", and consistent dates:

Locate all System Component records for the system where the associated ComponentTypeCode is not equal to "DAHS", "PLC", or
"FLC", the BeginDate and BeginHour in on or before the System Evaluation End Date and End Hour, and the EndDate is null or the
EndDate and EndHour in on or after the System Evaluation Begin Date and Begin Hour.

Locate another Monitoring System for the location where the SystemTypeCode is equal to the SystemTypeCode of the current
system, the SystemDesignationCode is equal to "P", the BeginDate and BeginHour in on or before the System Evaluation End Date
and End Hour, and the EndDate is null or the EndDate and EndHour in on or after the System Evaluation Begin Date and Begin
Hour.

For each of the retrieved system records:

Locate all System Component records for the location where the MonitoringSystemID is equal to the MonitoringSystemID
in the retrieved system record, the associated ComponentTypeCode is not equal to "DAHS", "PLC", or "FLC", the
BeginDate and BeginHour in on or before the System Evaluation End Date and End Hour, and the EndDate is null or the
EndDate and EndHour in on or after the System Evaluation Begin Date and Begin Hour.

If the list of ComponentlDs in the retrieved records is equal to the list of ComponentlDs in the System Component records
for the current system,
return result A.

Results:

Result
A

Response

You have reported a backup system [key] that has the same non-DAHS components that Critical Error Level 1
are part of the primary [System Type] system at the location.

Severity

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 401 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-18

Check Name:

Required DAHS Component Reported for System

Related Former Checks: NBP-12

Applicability:

General Check

Description:

Specifications:

For a Monitoring System record with consistent dates:

Set Required DAHS for System to true.

Locate all System Component record for the system where the ComponentTypeCode is equal to "DAHS".

If not found,

set Required DAHS for System to false, and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system evaluation
period,

return result B.

Results:

Result
A

Response

The system does not contain a required DAHS component that was active during the
evaluation period for [key].

The system does not contain a required DAHS component records for [key] to span the
entire evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 402 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-19

Check Name:

Required Non-DAHS Components Reported for System

Related Former Checks: NBP-16, NBP-18

Applicability:
Description:
Validation Tables:

General Check

System Type to Component Type (Cross Check Table)
Specifications:

For a Monitoring System record with a valid System Type and consistent dates:

Set Required Non-DAHS Components for System to true.
Set Required Probe to false.

If the SystemType is not equal to "H20" or "HGK",

Locate the System Type in the System Type to Component Type Cross Check Table where Mandatory is equal to "Yes".

Locate all System Component records for the system where the ComponentTypeCode is equal to the
ComponentTypeCode in the retrieved cross check record; the ComponentID does not begin with "LK"; the
StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or
the EndDate is on or after the System Evaluation Begin Date and Begin Hour.

If not found,

set Missing Components for System to the ComponentTypeCode in the cross check record.

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system
evaluation period,

set Incomplete Components for System to the ComponentTypeCode in the cross check record.

If ComponentTypeCode is equal to "S02", "NOX", "C02", "02", "H20", or "HG" and the
SampleAcquisitionMethodCode is equal to "DIL", "DOU", "DIN", "EXT", or "WXT",
set Required Probe to true.

Locate the System Type in the System Type to Component Type Cross Check Table where Mandatory is null.

Locate all System Component records for the system where the ComponentTypeCode is equal to any of the
ComponentTypeCodes in the retrieved cross check records; the ComponentID does not begin with "LK"; the
StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or
the EndDate is on or after the System Evaluation Begin Date and Begin Hour.

If none are found,

append the ComponentTypeCodes in the retrieved cross check records to Missing Components for System.

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system
evaluation period,

append the ComponentTypeCodes in the retrieved cross check records to Incomplete Components
for System.

If found,

If found,

If found,

If found,

Environmental Protection Agency

Page 403 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

If ComponentTypeCode is equal to "S02", "NOX", "C02", "02", "H20", or "HG" and the
SampleAcquisitionMethodCode is equal to "DIL", "DOU", "DIN", "EXT", or "WXT",
set Required Probe to true.

If Missing Components for System is not null, and Incomplete Components for System is null,
set Required Non-DAHS Components for System to false, and return result A.

If Incomplete Components for System is not null, and Missing Components for System is null,
return result B.

If both Missing Components for System and Incomplete Components for System are not null,
set Required Non-DAHS Components for System to false, and return result C.

If the SystemType is equal to "H20",

Locate all System Component records for the system where the ComponentTypeCode is equal to "02", the ComponentID
does not begin with "LK", the BasisCode is equal to "B" or " W", the StartDate and StartHour is on or before the System
Evaluation End Date and End Hour, and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date
and Begin Hour.

If not found,

return result D.

If found,

If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system
evaluation period,

return result E.

If the SampleAcquisitionMethodCode is equal to "DIL", "DOU", "DIN", "EXT", or "WXT",
set Required Probe to true.

For each retrieved record with a BasisCode equal to " W":

Locate all System Component records for the system where the ComponentTypeCode is equal to "02", the
ComponentID does not begin with "LK", the BasisCode is equal to "D", the StartDate and StartHour is on
or before the System Evaluation End Date and End Hour in the retrieved record, and the EndDate is null or
the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If not found,

return result D.

If found and the BeginDate/BeginHour and EndDate/EndHour of the retrieved "D" records do not span the
intersection of the system evaluation period and the time span between the BeginDate/BeginHour and
EndDate/EndHour of the retrieved "W" record,
return result E.

If the SystemType is equal to "HGK",

Locate all System Component records for the system where the ComponentTypeCode is equal to "TRAP"; the
ComponentID does not begin with "LK"; the StartDate and StartHour is on or before the System Evaluation End Date and
End Hour; and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour.

If less than two are found,

set Required Non-DAHS Components for System to false, and Missing Components for System to "TRAP"
Otherwise,

For each retrieved System Component record,

Environmental Protection Agency

Page 404 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Locate all System Component records for the system where the ComponentTypeCode is equal to "TRAP";
the ComponentID does not equal to ComponentID in the System Component record being evaluated; the
StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is
null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour.

If the BeginDate/BeginHour and EndDate/EndHour of the second set of retrieved records does not span the
entire system evaluation period,

set Missing Components for System to "TRAP", exit for.

Locate all System Component records for the system where the ComponentTypeCode is equal to "GFM"; the ComponentID
does not begin with "LK"; the StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and
the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour.

If less than two are found,

set Required Non-DAHS Components for System to false, and append "GFM" to Missing Components for System.
Otherwise,

For each retrieved System Component record,

Locate all System Component records for the system where the ComponentTypeCode is equal to "GFM";
the ComponentID does not equal to ComponentID in the System Component record being evaluated; the
StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is
null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour.

If the BeginDate/BeginHour and EndDate/EndHour of the second set of retrieved records does not span the
entire system evaluation period,

append "GFM" to Missing Components for System, exit for.

If Missing Components for System is not null,
return result F.

Results:

Result
A

Response

You have not reported [missing component] component(s) that was/were active during
the evaluation period for [key]. This component type is required in a [system type]
monitoring system.

You have not reported [incomplete component] component(s) for [key] that is/are active
for the entire evaluation period. If the component(s) was/were not installed during part
of the evaluation period, you will not be allowed to report measured emissions using this
monitoring system during the period of time when the [incomplete component]
component(s) was/were not active.

You have not reported a(n) [missing component] component that was active during the
evaluation period for [key]. Also, you have not reported a [incomplete component]
component that is active for the entire evaluation period. These component types are
required in a [system type] monitoring system.

You have not reported wet-basis and dry-basis component(s) that was/were active during
the evaluation period for [key]. These components are required in an H20 monitoring
system.

You have not reported active wet-basis and dry-basis component(s) for [key] for the
entire evaluation period. These components required in an H20 monitoring system.
You did not report two [missing component] that were concurrently active for the entire
evaluation period for [key]. Two TRAP and two GFM components are required in an
HGK monitoring system.

Severity

Critical Error Level 1

B

Informational Message

C

Critical Error Level 1

D

Critical Error Level 1

E

Critical Error Level 1

F

Critical Error Level 1

Environmental Protection Agency

Page 405 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Evaluation

Conditions:	Current System Active Equals true

Environmental Protection Agency

Page 406 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-20

Check Name:	Required Formula Reported for System

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a Monitor System record with consistent dates and a valid SystemTypeCode:

If the SystemTypeCode is equal to "OILV" or "OILM",

Locate all System Component records for the system where the associated ComponentTypeCode is equal to "OFFM" or
"BOFF", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is
null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If more than one record is found, and they overlap at any time during the system evaluation period,

Locate all Formula records for the location with a ParameterCode equal to the "FOIL", a FormulaCode equal to
"N-OIL", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an
EndDate that is null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin
Hour.

If not found,

set Missing Formula for System to "FOIL N-OIL", and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the
entire time that the system component records overlap during the system evaluation period,
set Missing Formula for System to "FOIL N-OIL", and return result B.

If the SystemTypeCode is equal to "GAS",

Locate all System Component records for the system where the associated ComponentTypeCode is equal to "GFFM" or
"BGFF", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is
null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If more than one record is found, and they overlap at any time during the system evaluation period,

Locate all Formula records for the location with a ParameterCode equal to the "FGAS", a FormulaCode equal to
"N-GAS", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an
EndDate that is null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin
Hour.

If not found,

set Missing Formula for System to "FGAS N-GAS", and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the
entire time that the system component records overlap during the system evaluation period,
set Missing Formula for System to "FGAS N-GAS", and return result B.

If the SystemTypeCode is equal to "FLOW",

Locate all System Component records for the system where the associated ComponentTypeCode is equal to "FLOW", the
BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the
EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If more than one record is found, and they overlap at any time during the system evaluation period,

Locate all Formula records for the location with a ParameterCode equal to the "FLOW", a BeginDate and

Environmental Protection Agency

Page 407 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or and
EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour.

If not found,

set Missing Formula for System to "FLOW", and return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the
entire time that the system component records overlap during the system evaluation period,
set Missing Formula for System to "FLOW", and return result B.

If the SystemTypeCode is equal to "H20",

Locate all Formula records for the location with a ParameterCode equal to "H20", a FormulaCode equal to "F-31" or
"M-1K", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is
null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour.

If not found,

return result C.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire
system evaluation period,
return result D.

If the SystemTypeCode is equal to "HGK",

Locate all Formula records for the location with a ParameterCode equal to "HGC", a FormulaCode equal to "K-5", a
BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or and
EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour.

If not found,

return result E.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire
system evaluation period,
return result F.

Results:

Result
A

B

D

E

Response

You reported [system type] [key], which has more than one concurrently active
flowmeter component, but you did not report a(n) [formula type] formula record that
was active during the evaluation period. If this system really has more than one
component that measures flow, this formula is required. Otherwise, you should correct
the system component records so that the dates/hours in these records do not overlap.
You reported [key], but you did not report [formula type] formula records that are active
for the entire evaluation period. These formulas are required when using a [system type]
system with more than one flowmeter.

You reported [key], but you did not report an H20 formula record that was active during
the evaluation period to compute emission values for this location. This formula is
required when using an H20 system.

You reported [key], but you did not report H20 formula records that are active for the
entire evaluation period. This formula is required when using an H20 system.
You reported [key], but you did not report an HGC formula record that was active
during the evaluation period to compute emission values for this location. This formula
is required when using an HGK system.

You reported [key], but you did not report HGC formula records that are active for the
entire evaluation period. This formula is required when using an HGK system.

Severity

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 408 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications	12/12/2012 12:00:00AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	System Evaluation

Conditions:	Current System Active Equals true

Environmental Protection Agency

Page 409 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-21

Check Name:

Required Defaults Reported for System

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

For a Monitoring System record with a valid SystemTypeCode, a valid FuelCode, and consistent dates:

If the SystemTypeCode is equal to "NOXE",

Locate all Monitor Default records for the location with a ParameterCode equal to "NORX", a DefaultPurposeCode equal
to "MD", a FuelCode equal to the FuelCode in the system record, an OperatingConditionCode equal to "A" or "U, a
BeginDate and BeginHour that is on or before the System Evaluation End Date and End Hour, and an EndDate that is null
or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour,

If not found,

add "NORX MD" to Missing Default for System.

If found, and the Begin and End Dates for the retrieved record do not span the entire system evaluation period,
add "NORX MD" to Incomplete Default for System.

Locate all Monitor Default records for the location with a ParameterCode equal to "NOCX", a DefaultPurposeCode equal
to "MD", a FuelCode equal to the FuelCode in the system record, an OperatingConditionCode equal to "A" or "U, a
BeginDate and BeginHour that is on or before the System Evaluation End Date and End Hour, and an EndDate that is null
or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour,

If not found,

add "NOCX MD" to Missing Default for System.

If found, and the Begin and End Dates for the retrieved record do not span the entire system evaluation period,
add "NOCX MD" to Incomplete Default for System.

If Missing Default for System is not null, and Incomplete Default for System is null,
return result A.

If Missing Default for System is null, and Incomplete Default for System is not null,
return result B.

If Missing Default for System is not null, and Incomplete Default for System is not null,
return result C.

Results:

Result
A

Response

You did not report a [missing] default record that was active during the evaluation
period for fuel code [fuel], which is required when you defined a [system type]
monitoring system for [key] for this fuel.

You did not report a [incomplete] default record for fuel code [fuel], which is active for
the entire evaluation period. This default is required when you define a [system type]
monitoring system for [key] for this fuel.

You did not report a [missing] default record that was active during the evaluation
period for fuel code [fuel], which is required when you defined a [system type]
monitoring system for [key] for this fuel. Also, you did not report a [incomplete] default
record for fuel code [fuel], which is active for the entire evaluation period.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 410 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:

SYSTEM-22

Check Name:

Required Fuel Flow Record Reported for Fuel System

Related Former Checks: NBP-52A

Applicability:

Appendix D Check

Description:

Specifications:

For a Monitoring System record with consistent dates and a SystemTypeCode equal to "OILV", "OILM", or "GAS":

If the SystemTypeCode is equal to "OILV" or "OILM",

Locate a System Component record for the system where the ComponentTypeCode is equal to "OFFM", the BeginDate and
BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If the SystemTypeCode is equal to "GAS",

Locate a System Component record for the system where the ComponentTypeCode is equal to "GFFM", the BeginDate and
BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and
EndHour is on or after the System Evaluation Begin Date and Begin Hour.

If the System Component record is found,

Locate a System FuelFlow record for the system where the BeginDate and BeginHour is on or before the System Evaluation
End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin
Date and Begin Hour.

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system
evaluation period,

return result B.

Results:

Result
A

Response

You did not report a system fuel flow record that was active during the evaluation period
for [key].

You did not report system fuel flow records for [key] that span the entire evaluation
period.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 411 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Name:

Check Code:

SYSTEM-23

Required Probe Reported for CEM System

Related Former Checks:
Applicability:

CEM Check

Description:

Specifications:

For a Monitoring System record with a valid System Type and consistent dates:

If Required Probe is equal to true and the EndDate of the system is null or is on or after 1/1/2008,

Locate all System Component record for the system where the ComponentTypeCode is equal to "PRB".

If not found,

return result A.

If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system
evaluation period on or after 1/1/2008,
return result B.

Results:

Result
A

Response

You have not reported [missing component] component(s) that was/were active during
the evaluation period for [key]. This component type is required in a [system type]
monitoring system.

You have not reported [incomplete component] component(s) for [key] that is/are active
for the entire evaluation period. This component type is required in a [system type]
monitoring system.

Severity

Critical Error Level 1

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 412 of 413


-------
Draft ECMPS Monitoring Plan Check Specifications

12/12/2012 12:00:00AM

Check Code:	SYSTEM-24

Check Name:	Duplicate System Records

Related Former Checks:

Applicability:	General Check

Description:

Specifications:

For a System record:

Locate another System record for the location with a MonitoringSystemID that is equal to the MonitoringSystemID in the current
record.

If found,

return result A.

Results:

Result	Response

A	Another [recordtype] record already exists with the same [fieldnames].

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation

Severity
Fatal

Environmental Protection Agency

Page 413 of 413


-------