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

November 30, 2011


-------
Table of Contents

Capacity	1

Component and Associated Data	8

Control	52

Default and WAF	64

Formula	114

Fuel	141

Fuel Flow	154

Load	167

Location	191

Method	233

Monitoring Plan	302

Program	313

Qualification	322

Span	362

System	401


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

11/30/2011 11:10:14AM

Check Category:
Capacity

Environmental Protection Agency

Page 1 of 432


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

11/30/2011 11:10:14AM

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
A

Response

You reported [datefield2] which is prior to [datefieldl] for [key].

Severity

Critical Error Level 1

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 2 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 432


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

11/30/2011 11:10:14AM

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.

Otherwise,

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

Results:

Result	Response	Severity

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

B	You defined an invalid [fieldname] for [key]. This value must be greater than zero. 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 432


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

11/30/2011 11:10:14AM

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

Usage:

1

Response
Process/Category:

Severity

Monitoring Plan Evaluation Report	Unit Capacity Evaluation

Environmental Protection Agency

Page 5 of 432


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

11/30/2011 11:10:14AM

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 432


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

11/30/2011 11:10:14AM

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 432


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

11/30/2011 11:10:14AM

Check Category:
Component and Associated Data

Environmental Protection Agency

Page 8 of 432


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

11/30/2011 11:10:14AM

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 432


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

11/30/2011 11:10:14AM

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

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
Fatal

Critical Error Level 1

Process/Category:
Process/Category:

Monitoring Plan Evaluation Report	System Component Evaluation

Monitoring Plan Data Entry Screen Evaluation System Component Evaluation

Environmental Protection Agency

Page 10 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 432


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

11/30/2011 11:10:14AM

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 Severity

A	You reported [datefield2] but did not report an [hourfield2] for [key].	Critical Error Level 1

B	You reported [hourfield2] but did not report [datefield2] for [key].	Critical Error Level 1

C	You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and	Critical Error Level 1

[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

Environmental Protection Agency

Page 13 of 432


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

11/30/2011 11:10:14AM

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 432


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

11/30/2011 11:10:14AM

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
A

Response

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

Severity

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 15 of 432


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

11/30/2011 11:10:14AM

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 432


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

11/30/2011 11:10:14AM

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 1

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 432


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

11/30/2011 11:10:14AM

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", 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

Otherwise,

Otherwise,

Environmental Protection Agency

Page 18 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

Component record.

If not found,

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 Sample Acquisition Method Code of [value] for [key], which is not
appropriate for the component type and basis.

Severity

Critical Error Level 1
Critical Error Level 1

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 19 of 432


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

11/30/2011 11:10:14AM

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

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

C

Informational Message

D

Critical Error Level 1

Environmental Protection Agency

Page 20 of 432


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

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

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 21 of 432


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

11/30/2011 11:10:14AM

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 22 of 432


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

11/30/2011 11:10:14AM

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 23 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values for this hour for [key].

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 24 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 25 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 26 of 432


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

11/30/2011 11:10:14AM

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

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:
Process/Category:

Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation

Environmental Protection Agency

Page 27 of 432


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

11/30/2011 11:10:14AM

Check Code:

COMPON-26

Check Name:

Component Active Status

Related Former Checks:

Applicability:

Description:

Specifications:

General Check

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.

Environmental Protection Agency

Page 28 of 432


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

11/30/2011 11:10:14AM

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 29 of 432


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

11/30/2011 11:10:14AM

Check Code:

COMPON-30

Check Name:

Required Analyzer Range Reported for Component

Related Former Checks:

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 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

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 A.

return result B.

Results:

Result
A

Response

You have not reported an analyzer range record that was active during the
evaluation period for [key].

You have not reported an active analyzer range record 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	Component Evaluation

Current Component Active Equals true

Environmental Protection Agency

Page 30 of 432


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

11/30/2011 11:10:14AM

Check Code:

COMPON-33

Check Name:

System and Component Dates Consistent

Related Former Checks:

Applicability:

Description:

Specifications:

General Check

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

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,

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.

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 for the associated monitoring system.

Severity

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 31 of 432


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

11/30/2011 11:10:14AM

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 32 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

Response

You reported [key] as the [range] range of a dual-range analyzer, but you did not
report 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 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.

Severity

Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Component Analyzer Range Evaluation

Current Analyzer Range Active Equals true

Environmental Protection Agency

Page 33 of 432


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

11/30/2011 11:10:14AM

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,

Results:

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

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	Critical Error Level 1

analyzer 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 34 of 432


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

11/30/2011 11:10:14AM

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 35 of 432


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

11/30/2011 11:10:14AM

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 36 of 432


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

11/30/2011 11:10:14AM

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

If found,

If found,

Environmental Protection Agency

Page 37 of 432


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

11/30/2011 11:10:14AM

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,

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 anj[ 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

Environmental Protection Agency

Page 38 of 432


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

11/30/2011 11:10:14AM

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:

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
anv 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
anv 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.

Environmental Protection Agency

Page 39 of 432


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

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

11/30/2011 11:10:14AM

Results:

Result
A

B

Response

You did not report [missing formulas] formula record(s) that was/were active during
the evaluation period to compute emission values. These formulas are required
when using a [system type] system with a [component type] [basis] component.
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.
You did not report [missing formulas] formula record(s) that was/were active during
the 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.

Severity

Critical Error Level 1

Critical Error Level 2

Critical Error Level 2

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Component Evaluation

Current System Component Active Equals true

Environmental Protection Agency

Page 40 of 432


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

11/30/2011 11:10:14AM

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 not found,

return result A.

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.

Results:

Result	Response

A	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].

B	You reported [key], but you did not report [scale] [span parameter] span records to

span the entire evaluation period for the analyzer.

Usage:

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

Conditions:	Current Analyzer Range Active Equals true

Severity

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 41 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

type] 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 42 of 432


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

11/30/2011 11:10:14AM

Check Code:

COMPON-47

Check Name:

Overlapping Analyzer Range Reported for Component

Related Former Checks:

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 43 of 432


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

11/30/2011 11:10:14AM

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 44 of 432


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

11/30/2011 11:10:14AM

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 not found,

return result A.

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.

Results:

Result	Response

A	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].

B	You reported [key], but you did not report [scale] [span parameter] span records to

span the entire evaluation period for the analyzer.

Usage:

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

Conditions:	Current Analyzer Range Active Equals true

Severity

Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 45 of 432


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

11/30/2011 11:10:14AM

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
A

B

Response

You reported [key], but you did not report a FLOW span record that was active
during the evaluation period, which is required when you report a FLOW
component.

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

Severity

Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Component Evaluation

Current Component Active Equals true

Environmental Protection Agency

Page 46 of 432


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

11/30/2011 11:10:14AM

Check Code:

COMPON-56

Check Name:

Required Default Reported for System and Component

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

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 47 of 432


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

11/30/2011 11:10:14AM

Check Code:

COMPON-80

Check Name:

Overlapping System Component Records

Related Former Checks:

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 start and end times during the evaluation period.

Severity

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 48 of 432


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

11/30/2011 11:10:14AM

Check Code:

Check Name:

Related Former Checks:

Applicability:

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

COMPON-53

Duplicate Component Records
General Check

Environmental Protection Agency

Page 49 of 432


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

11/30/2011 11:10:14AM

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 50 of 432


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

11/30/2011 11:10:14AM

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 51 of 432


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

11/30/2011 11:10:14AM

Check Category:
Control

Environmental Protection Agency

Page 52 of 432


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

11/30/2011 11:10:14AM

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 53 of 432


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

11/30/2011 11:10:14AM

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 54 of 432


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

11/30/2011 11:10:14AM

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
A

Response

You reported an OptimizationDate of [Date] that is either before the
InstallationDate or after the RetireDate for [key].

Severity

Critical Error Level 1

Usage:

1

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Unit Control Evaluation

Current Control Active Equals true

Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Environmental Protection Agency

Page 55 of 432


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

11/30/2011 11:10:14AM

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

D

Usage:

1

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:
Process/Category:

Monitoring Plan Evaluation Report	Unit Control Evaluation

Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Non-Critical Error

Critical Error Level 1

Environmental Protection Agency

Page 56 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 57 of 432


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

11/30/2011 11:10:14AM

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 58 of 432


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

11/30/2011 11:10:14AM

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
A

Response

You reported [datefield2] which is prior to [datefieldl] for [key].

Severity

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Evaluation Report	Unit Control Evaluation

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

Environmental Protection Agency

Page 59 of 432


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

11/30/2011 11:10:14AM

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
A

Response

The ControlCode [code] for the unit is not appropriate for the UnitTypeCode
[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 60 of 432


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

11/30/2011 11:10:14AM

Check Code:

CONTROL-13

Check Name:

Overlapping Controls

Related Former Checks:

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 61 of 432


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

11/30/2011 11:10:14AM

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 FuelGroup 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
A

Response

There should be no S02 or PART controls if the Unit burns only gas. You have
defined a [control parameter] control for [key].

Severity

Non-Critical Error

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Unit Control Evaluation

Current Control Active Equals true

Environmental Protection Agency

Page 62 of 432


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

11/30/2011 11:10:14AM

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	Response

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

Usage:

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

Seventy
Fatal

Environmental Protection Agency

Page 63 of 432


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

Check Category:
Default and WAF

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 64 of 432


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

11/30/2011 11:10:14AM

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 65 of 432


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

11/30/2011 11:10:14AM

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

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	Default Evaluation

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Severity

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

Environmental Protection Agency

Page 66 of 432


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

11/30/2011 11:10:14AM

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 67 of 432


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

11/30/2011 11:10:14AM

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

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:

Monitoring Plan Evaluation Report	Default Evaluation

Monitoring Plan Data Entry Screen Evaluation Default Evaluation

Severity
Fatal

Critical Error Level 1

Environmental Protection Agency

Page 68 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 69 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 70 of 432


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

11/30/2011 11:10:14AM

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 71 of 432


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

11/30/2011 11:10:14AM

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

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.

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 72 of 432


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

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

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 73 of 432


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

11/30/2011 11:10:14AM

Check Code:

DEFAULT-49

Check Name:

Default Value Valid

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

Applicability:

General Check

Description:

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 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 Default Value is not an integer,
return result B.

Otherwise,

Otherwise,

Environmental Protection Agency

Page 74 of 432


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

11/30/2011 11:10:14AM

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.

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

Environmental Protection Agency

Page 75 of 432


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

11/30/2011 11:10:14AM

"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
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

E

F

G

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.

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

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

Environmental Protection Agency

Page 76 of 432


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

11/30/2011 11:10:14AM

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 77 of 432


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

11/30/2011 11:10:14AM

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 units of measure [value] reported for [key] is not appropriate for the associated
parameter.

Severity

Fatal

Fatal

Critical Error Level 1

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

Environmental Protection Agency

Page 78 of 432


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

11/30/2011 11:10:14AM

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 79 of 432


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

11/30/2011 11:10:14AM

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 T able.

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 80 of 432


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

11/30/2011 11:10:14AM

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 FuelGroup 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.

Environmental Protection Agency

Page 81 of 432


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

11/30/2011 11:10:14AM

If the ParameterCode is equal to "MNGF",

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

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:

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 fuel code [value] reported for [key] is not appropriate for the associated
parameter and purpose.

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 82 of 432


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

11/30/2011 11:10:14AM

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.

Environmental Protection Agency

Page 83 of 432


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

11/30/2011 11:10:14AM

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.

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 84 of 432


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

11/30/2011 11:10:14AM

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:

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:

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 85 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

D

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.

Severity

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	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 86 of 432


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

11/30/2011 11:10:14AM

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 87 of 432


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

11/30/2011 11:10:14AM

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 88 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

D

Response

You have reported a default value for [key], but you have also defined a concurrent
NOXR default value for the same fuel.

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 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 value for this fuel for use during base load hours 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	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 89 of 432


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

11/30/2011 11:10:14AM

Check Code:

DEFAULT-7 4

Check Name:

Overlapping Default Records

Related Former Checks: ARP-69B

Applicability:

Description:

Specifications:

General Check

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
A

Response

You have reported more than one concurrently active [parameter] default records
for purpose [purpose], fuel [fuel], and operating condition [condition].

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 90 of 432


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

11/30/2011 11:10:14AM

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 MPC Value 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",

Environmental Protection Agency

Page 91 of 432


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

11/30/2011 11:10:14AM

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 MPF Value 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",

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
A

Response

You have reported a default value for [key] which is greater than the [maximum] for
the location (and fuel).

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 92 of 432


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

11/30/2011 11:10:14AM

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

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

Usage:

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 93 of 432


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

11/30/2011 11:10:14AM

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 94 of 432


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

11/30/2011 11:10:14AM

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

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.

Process/Category:

Conditions:

Process/Category:

Severity
Fatal

Informational Message

Informational Message

Critical Error Level 1

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 95 of 432


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

11/30/2011 11:10:14AM

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 96 of 432


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

11/30/2011 11:10:14AM

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 97 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 98 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 99 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 100 of 432


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

11/30/2011 11:10:14AM

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

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 [datefield2] that is prior to the year of the [datefieldl] for [key].

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 432


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

11/30/2011 11:10:14AM

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

A

B

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 from [minvalue] to [maxvalue].

You have reported less than 3 test runs 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

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 102 of 432


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

11/30/2011 11:10:14AM

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 103 of 432


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

11/30/2011 11:10:14AM

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	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].

C	You have reported less than 4 as the Number of Test Ports for [key], which is not	Critical Error Level 1

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

Environmental Protection Agency

Page 104 of 432


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

11/30/2011 11:10:14AM

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.

If the NumberOfTraversePointsWAF is valid and is not equal to the NumberOfTraversePointsRef,
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 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.

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Usage:

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 105 of 432


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

11/30/2011 11:10:14AM

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].

1

Process/Category:
Process/Category:

Severity

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

Monitoring Plan Evaluation Report	WAF Evaluation

Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation

Environmental Protection Agency

Page 106 of 432


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

11/30/2011 11:10:14AM

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 107 of 432


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

11/30/2011 11:10:14AM

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 108 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

applied 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 109 of 432


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

11/30/2011 11:10:14AM

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
A

B

Response

You did not report a GroupID for [key]. If this location does not belong to an
identical group of units, you do not need to report the default Hg concentration in
a default record.

You reported a GroupID for [key], which is not appropriate for this parameter and
purpose.

Severity

Critical Error Level 1

Critical Error Level 1

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

Environmental Protection Agency

Page 110 of 432


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

11/30/2011 11:10:14AM

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

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

B

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Default Evaluation

Current Default Active Equals true

Environmental Protection Agency

Page 111 of432


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

11/30/2011 11:10:14AM

Check Code:

DEFAULT-95

Check Name:

Duplicate Default Records

Related Former Checks:

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 112 of 432


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

11/30/2011 11:10:14AM

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 113 of 432


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

11/30/2011 11:10:14AM

Check Category:
Formula

Environmental Protection Agency

Page 114 of 432


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

11/30/2011 11:10:14AM

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 115 of 432


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

11/30/2011 11:10:14AM

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 116 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 117 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 118 of 432


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

11/30/2011 11:10:14AM

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 119 of 432


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

11/30/2011 11:10:14AM

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 120 of 432


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

11/30/2011 11:10:14AM

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 121 of 432


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

11/30/2011 11:10:14AM

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 122 of 432


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

11/30/2011 11:10:14AM

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 123 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B
C
D

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

Usage:

1

1

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 124 of 432


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

11/30/2011 11:10:14AM

Check Code:

FORMULA-11

Check Name:

Heat Input Apportionment/Summary Formula Valid

Related Former Checks:

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.

If found,

Locate a Monitoring Method record where the location is any of the stack/pipe locations in

Otherwise,

Environmental Protection Agency

Page 125 of 432


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

11/30/2011 11:10:14AM

the retired 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,

return result D.

Results:

Result
A

B
C

D

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 a [parameter] [code] formula for [key], which is inappropriate for
a [Location Type].

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.

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.

Severity

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	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 126 of 432


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

11/30/2011 11:10:14AM

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",
beginning with "CEM" or equal to " AK", a BeginDate and BeginHour that is on or before the
End Date and End Hour, and an End Date that is null or and EndDate and EndHour that is on
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.

a MethodCode
Formula Evaluation
or after the Formula

Environmental Protection Agency

Page 127 of 432


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

11/30/2011 11:10:14AM

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.

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 128 of 432


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

11/30/2011 11:10:14AM

Check Code:

FORMULA-13

Check Name:

Formula Parameter and Code Consistent with System or Fuel

Related Former Checks: ARP-7, ARP-86

Applicability:
Description:

General Check

Validation Tables:

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 not found,

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,

Environmental Protection Agency

Page 129 of 432


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

11/30/2011 11:10:14AM

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.

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",

Environmental Protection Agency

Page 130 of 432


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

11/30/2011 11:10:14AM

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.

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

Environmental Protection Agency

Page 131 of 432


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

11/30/2011 11:10:14AM

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
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",

Environmental Protection Agency

Page 132 of 432


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

11/30/2011 11:10:14AM

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 any 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",

Locate a Fuel Record for the location where the Fuel Group 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.

Environmental Protection Agency

Page 133 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

C

D

Usage:

1

Response

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.
You reported [key], but you did not report a [system type] monitoring system that
is appropriate for a [parameter] [code] formula.

You reported a [parameter] formula for [key], but you have not reported a [system
type] system containing more than one component to measure flow.

You reported [key], but you did not report a component with a component type
code and basis code that is appropriate for the formula. A [parameter] [code]
formula requires a [component and basis] component.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report -
Current Formula Active Equals true

¦ Formula Evaluation

Severity

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

Environmental Protection Agency

Page 134 of 432


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

11/30/2011 11:10:14AM

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

Response

You reported [key], but you did not burn natural gas at the unit, which is required
when using a [Code] formula.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 135 of 432


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

11/30/2011 11:10:14AM

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

Response

You have reported a [code] formula for [key] that requires moisture correction, but
you 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 you have not reported H20 method 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	Formula Evaluation

Current Formula Active Equals true

Environmental Protection Agency

Page 136 of 432


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

11/30/2011 11:10:14AM

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 any. 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 not found,

return result A.

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.

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 137 of 432


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

11/30/2011 11:10:14AM

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

Environmental Protection Agency

Page 138 of 432


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

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Formula Evaluation

Conditions:	Current Formula Active Equals true

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 139 of 432


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

11/30/2011 11:10:14AM

Check Code:

Check Name:

Related Former Checks:

Applicability:

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

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

Usage:

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

FORMULA-18
Duplicate Formula Records

General Check

Seventy
Fatal

Environmental Protection Agency

Page 140 of 432


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

Check Category:
Fuel

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 141 of 432


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

11/30/2011 11:10:14AM

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 142 of 432


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

11/30/2011 11:10:14AM

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].

Severity

Critical Error Level 1

B

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 fuel.

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 432


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

11/30/2011 11:10:14AM

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	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 have provided the demonstration method for GCV monthly fuel sampling or	Critical Error Level 1

%S daily or annual fuel sampling for [key] but this information is not appropriate
for this fuel.

Usage:

1	Process/Category:

Conditions:

1	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 144 of 432


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

11/30/2011 11:10:14AM

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 145 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 146 of 432


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

11/30/2011 11:10:14AM

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 147 of 432


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

11/30/2011 11:10:14AM

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 148 of 432


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

11/30/2011 11:10:14AM

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 149 of 432


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

11/30/2011 11:10:14AM

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 150 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

this 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 151 of 432


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

11/30/2011 11:10:14AM

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	Response	Severity

A	You did not provide [fieldname], which is required, 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	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 152 of 432


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

11/30/2011 11:10:14AM

Check Code:

FUEL-52

Check Name:

Duplicate Unit Fuel Records

Related Former Checks:

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 153 of 432


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

11/30/2011 11:10:14AM

Check Category:
Fuel Flow

Environmental Protection Agency

Page 154 of 432


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

11/30/2011 11:10:14AM

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 155 of 432


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

11/30/2011 11:10:14AM

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 156 of 432


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

11/30/2011 11:10:14AM

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	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 [Hour], which is outside the range of acceptable	Critical Error Level 1

values for this hour for [key].

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 157 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 158 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 159 of 432


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

11/30/2011 11:10:14AM

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

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:

Severity

Critical Error Level 1
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 160 of 432


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

11/30/2011 11:10:14AM

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 161 of 432


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

11/30/2011 11:10:14AM

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.

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

If not found,

return result B.

If found,

return result C.

If not found,

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 defined a Units of Measure of [value] that is inappropriate for the system type
for [key].

Severity

Fatal

Fatal

C

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 162 of 432


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

11/30/2011 11:10:14AM

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 163 of 432


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

11/30/2011 11:10:14AM

Check Code:

FUELFLW-17

Check Name:

Overlapping Fuel Flow Records

Related Former Checks:

Applicability:

Appendix D Check

Description:

Specifications:

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

Response

You have reported more than one associated fuel flow record for System ID
[System ID] with overlapping start and end times during the evaluation period.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Current Fuel Flow Active Equals true

Environmental Protection Agency

Page 164 of 432


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

11/30/2011 11:10:14AM

Check Code:

FUELFLW-18

Check Name:

System and FuelFlow Dates Consistent

Related Former Checks:

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,

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.

return result A.

Results:

Result
A

Response

The Start and End Date/Hour for [key] is inconsistent with the Start and End
Date/Hour for the associated monitoring system.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System FuelFlow Evaluation

Current Fuel Flow Active Equals true

Environmental Protection Agency

Page 165 of 432


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

11/30/2011 11:10:14AM

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 166 of 432


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

11/30/2011 11:10:14AM

Check Category:
Load

Environmental Protection Agency

Page 167 of 432


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

11/30/2011 11:10:14AM

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 current system date is more than 180 days after the earliest CommenceCommercialOperationDate in the
Current Location record,
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

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.

Severity

Non-Critical Error

Critical Error Level 1

Critical Error Level 1

Informational Message
Informational Message

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

Conditions:	Current Load Active Equals true

Environmental Protection Agency

Page 168 of 432


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

11/30/2011 11:10:14AM

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 169 of 432


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

11/30/2011 11:10:14AM

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	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	Critical Error Level 1

values for this hour for [key].

Usage:

Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

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

Environmental Protection Agency

Page 170 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 171 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 172 of 432


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

11/30/2011 11:10:14AM

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

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	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 173 of 432


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

11/30/2011 11:10:14AM

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 174 of 432


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

11/30/2011 11:10:14AM

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
A

B

Response

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.

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.

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

1

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Load Evaluation

Current Load Active Equals true

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 175 of 432


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

11/30/2011 11:10:14AM

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.

Severity

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 176 of 432


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

11/30/2011 11:10:14AM

Check Code:	LOAD-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	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 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: Monitoring Plan Evaluation Report	Load Evaluation

Conditions:	Current Load Active Equals true

Environmental Protection Agency

Page 177 of 432


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

11/30/2011 11:10:14AM

Check Code:	LOAD-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 178 of 432


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

11/30/2011 11:10:14AM

Check Code:	LOAD-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 179 of 432


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

11/30/2011 11:10:14AM

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 180 of 432


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

11/30/2011 11:10:14AM

Check Code:

LOAD-17

Check Name:

Overlapping Loads

Related Former Checks: ARP-29B

Applicability:

General Check

Description:

Specifications:

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 181 of 432


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

11/30/2011 11:10:14AM

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 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 Load records where the location is the unit location in the UnitStackConfiguration 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 anjL 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 182 of 432


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

11/30/2011 11:10:14AM

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.

If found,

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.

Otherwise,

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.

If not found,

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.

Environmental Protection Agency

Page 183 of 432


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

11/30/2011 11:10:14AM

Results:

Result

Response

Usage:

1	Process/Category:

Conditions:

Severity

Monitoring Plan Evaluation Report ¦
Current Load Active Equals true

¦ Load Evaluation

Environmental Protection Agency

Page 184 of 432


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

11/30/2011 11:10:14AM

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:

Result
A

B

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.

Severity

Non-Critical Error

Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Load Evaluation

Conditions:	Current Load Active Equals true

Environmental Protection Agency

Page 185 of 432


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

11/30/2011 11:10:14AM

Check Code:

LOAD-22

Check Name:

Duplicate Load Records

Related Former Checks:

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 186 of 432


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

11/30/2011 11:10:14AM

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 187 of 432


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

11/30/2011 11:10:14AM

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 Critical Error Level 1

load in Monitor Load record data.

Usage:

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

Environmental Protection Agency

Page 188 of 432


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

11/30/2011 11:10:14AM

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

A

B

Response

You defined an invalid [fieldname] for [key]. 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

Usage:

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

Environmental Protection Agency

Page 189 of 432


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

11/30/2011 11:10:14AM

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 190 of 432


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

11/30/2011 11:10:14AM

Check Category:
Location

Environmental Protection Agency

Page 191 of 432


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

11/30/2011 11:10:14AM

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 192 of 432


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

11/30/2011 11:10:14AM

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 193 of 432


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

11/30/2011 11:10:14AM

Check Code:	MONLOC-3

Check Name:	Location Attribute Active Status

Related Former Checks:

Applicability:	CEM Check

Description:

Specifications:

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.

Results:

Result	Response

Usage:

1	Process/Category:

Conditions:

1	Process/Category:

Severity

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 194 of 432


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

11/30/2011 11:10:14AM

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 and is less than -100 or greater than 15000,
return result A.

If Location Type is equal to "CS", "MS", "U", or "UP", and the GroundElevation is null,
return result B.

Results:

Result
A

Response

The value [value] in the field [fieldname] for [key] is not within the range of valid
values from [minvalue] to [maxvalue].

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 432


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

11/30/2011 11:10:14AM

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

You provided the cross-sectional area at the flow monitor location for this location,
but 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
values from [minvalue] to [maxvalue].

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

Severity

Non-Critical Error
Critical Error Level 1
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 196 of 432


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

11/30/2011 11:10:14AM

Check Code:	MONLOC-7

Check Name:	Stack Cross Area Exit Valid

Related Former Checks: ARP-16A, B

Applicability:	CEM Check

Description:

Specifications:

For 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 tempval = StackHeight / (SQRT(CrossAreaStackExit / pi) * 2)

If tempval is greater than 85,
return result B.

If tempval 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.

If Location Type is equal to "CS", "MS", "U", or "UP", and the CrossAreaStackExit is null,
return result C.

Results:

Result
A

B
C

Response

The value [value] in the field [fieldname] for [key] is not within the range of valid
values from [minvalue] to [maxvalue].

The ratio of the stack height to the stack diameter for [key] is outside the range of
valid values from 5 to 85.

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

Severity

Critical Error Level 1
Informational Message
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 197 of 432


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

11/30/2011 11:10:14AM

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 and is less than 20 or greater than 1600,
return result A.

If the Location Type is equal to "CS" , "MS", "U", or "UP", and the StackHeight is null,
return result B.

Results:

Result
A

Response

The value [value] in the field [fieldname] for [key] is not within the range of valid
values from [minvalue] to [maxvalue].

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 198 of 432


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

11/30/2011 11:10:14AM

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 199 of 432


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

11/30/2011 11:10:14AM

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 200 of 432


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

11/30/2011 11:10:14AM

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 201 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 202 of 432


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

11/30/2011 11:10:14AM

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

Usage:

1

1

Response

Process/Category:

Conditions:

Process/Category:

Severity

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 203 of 432


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

11/30/2011 11:10:14AM

Check Code:

MONLOC-14

Check Name:

Location Type Consistent with Number of Linked Locations

Related Former Checks: ARP-56

Applicability:

Description:

Specifications:

General Check

For a monitoring location:

If Location Type that begins with "C",

Locate all 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 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 Unit Stack Configuration records for the retrieved location is the exact same
list of units in the Unit Stack Configurations for the location being evaluated,
return result C.

If Location Type begins with "M",

Locate all Unit Stack Configuration records where the stack/pipe location is the monitoring location.

If there is more or less than one retrieved 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

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

B

Critical Error Level 1

C

Critical Error Level 2

Environmental Protection Agency

Page 204 of 432


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

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 205 of 432


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

11/30/2011 11:10:14AM

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 206 of 432


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

11/30/2011 11:10:14AM

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:	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 207 of 432


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

11/30/2011 11:10:14AM

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
A

Response

You reported [datefield2] which is prior to [datefieldl] for [key].

Severity

Critical Error Level 1

Usage:

1

1

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 208 of 432


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

11/30/2011 11:10:14AM

Check Code:

MONLOC-77

Check Name:

Determine Location Evaluation Period

Related Former Checks:

Applicability:

Description:

Specifications:

General Check

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.

Environmental Protection Agency

Page 209 of 432


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

11/30/2011 11:10:14AM

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",

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.

Environmental Protection Agency

Page 210 of 432


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

11/30/2011 11:10:14AM

If the Location Evaluation Begin Date is on or before than the Location Evaluation End Date,
set Abort Location Evaluation to false,

Otherwise,

set Abort Location Evaluation to true, abort the evaluation of the location, and return result A.

Results:

Result	Response	Severity

A	[Location] does not appear to have been operational during the evaluation period.	Informational Message

It will not be evaluated.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Environmental Protection Agency

Page 211 of 432


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

11/30/2011 11:10:14AM

Check Code:

MONLOC-80

Check Name:

Required Location Attribute Reported for Location

Related Former Checks:

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 found,

If Location Type is equal to "CP" or "MP",

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,

If Location Type is equal to "CS", "MS", "U", or "UP",
return result C.

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 ECMPS MP Begin Date.

If found,

set Location Attribute Record Valid to false, and return result A.

Otherwise,

return result B.

If none are found,

return result C.

Environmental Protection Agency

Page 212 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

C

Usage:

1

Response

You have reported a monitor location attribute record for [key]. This record should
only 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 period for [key].

You have not reported a monitor location attribute record that was active during
the evaluation period for [key].

Process/Category:
Conditions:

Monitoring Plan Evaluation Report — Location Evaluation
Abort Location Evaluation Equals false

Severity

Non-Critical Error
Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 213 of 432


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

11/30/2011 11:10:14AM

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 214 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 215 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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 216 of 432


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

11/30/2011 11:10:14AM

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 217 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 218 of 432


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

11/30/2011 11:10:14AM

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 219 of 432


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

11/30/2011 11:10:14AM

Check Code:

MONLOC-88

Check Name:

Determine Non Load Based Indicator for Location

Related Former Checks:

Applicability:

General Check

Description:

Specifications:

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 Unit Stack Configuration records where the stack/pipe location is the monitoring location, the BeginDate is
on or before the Evaluation End Date, and the EndDate is null or is on or after the Evaluation Begin Date.

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

Response

You have reported that common stack or pipe [key] is linked to both a
non-load-based unit and a load-based unit. This is invalid.

Severity

Critical Error Level 1

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 220 of 432


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

11/30/2011 11:10:14AM

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

A	Based on the unit type, the unit does not generate load, but you did not report that

Unit ID [key] was a non-load-based unit.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Severity

Critical Error Level 2

Environmental Protection Agency

Page 221 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

evaluation period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 222 of 432


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

11/30/2011 11:10:14AM

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	Response	Severity

A	You have not reported a unit capacity record that was active during the evaluation	Critical Error Level 1

period for [key].

B	You have not reported unit capacity records for [key] that span the entire	Critical Error Level 1

evaluation period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 223 of 432


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

11/30/2011 11:10:14AM

Check Code:	MONLOC-100

Check Name:	Overlapping Location Attribute Records Reported

Related Former Checks:

Applicability:	CEM Check

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

Environmental Protection Agency

Page 224 of 432


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

11/30/2011 11:10:14AM

Check Code:

MONLOC-lOl

Check Name:

Required Load Record Reported for Location

Related Former Checks: ARP-10, ARP-29A, NBP-50, NBP-51

Applicability:

Description:

Specifications:

General Check

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.

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.

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.

If the BeginDate/BeginHour and EndDate/EndHour of all the retrieved records does not span the entire location
evaluation period,

return result B.

Otherwise,

Otherwise,

Otherwise,

Results:

Result
A

Response

You did not define load information that was active during the evaluation period
for [key]. You must submit this information for each load-based monitoring
location.

You did not define load information for [key] for the entire evaluation period. You
must submit this information for each load-based monitoring location.

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 225 of 432


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

11/30/2011 11:10:14AM

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	Response	Severity

A	You did not report a primary fuel that was active during the evaluation period for	Critical Error Level 1

[key].

B	You did not report a primary fuel to span the entire evaluation period for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 226 of 432


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

11/30/2011 11:10:14AM

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	Response	Severity

A	You have defined overlapping primary fuel types for the current period for [key].	Critical Error Level 1

Usage:

1	Process/Category: Monitoring Plan Evaluation Report — Location Evaluation

Conditions:	Abort Location Evaluation Equals false

Environmental Protection Agency

Page 227 of 432


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

11/30/2011 11:10:14AM

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	Informational Message

consult 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 228 of 432


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

11/30/2011 11:10:14AM

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 229 of 432


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

11/30/2011 11:10:14AM

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 230 of 432


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

11/30/2011 11:10:14AM

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 231 of 432


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

11/30/2011 11:10:14AM

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

A

B

Response

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

You have reported a monitor location attribute record for [key]. This record should

only be reported for stacks, units that are not linked to stacks, or units with CEMS.

Severity
Fatal

Critical Error Level 1

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation

Environmental Protection Agency

Page 232 of 432


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

11/30/2011 11:10:14AM

Check Category:
Method

Environmental Protection Agency

Page 233 of 432


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

11/30/2011 11:10:14AM

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 234 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values for this hour for [key].

Usage:

Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

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

Environmental Protection Agency

Page 235 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 236 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 237 of 432


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

11/30/2011 11:10:14AM

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.

Severity

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

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

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

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].

Environmental Protection Agency

Page 238 of 432


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

11/30/2011 11:10:14AM

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 239 of 432


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

11/30/2011 11:10:14AM

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.

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.

Otherwise,

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 240 of 432


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

11/30/2011 11:10:14AM

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 T able,

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",

Environmental Protection Agency

Page 241 of 432


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

11/30/2011 11:10:14AM

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.

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

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].

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].

Process/Category:

Conditions:

Process/Category:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Monitoring Plan Data Entry Screen Evaluation Method Evaluation

Severity

Fatal

Fatal

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

Environmental Protection Agency

Page 242 of 432


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

11/30/2011 11:10:14AM

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,

Environmental Protection Agency	Page 243 of 432


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

11/30/2011 11:10:14AM

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.

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 reported substitute data code [value], which is not appropriate for the
monitoring methodology for [key].

Severity

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 244 of 432


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

11/30/2011 11:10:14AM

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
A

Response

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

You reported a bypass methodology for [key]. A bypass methodology does not
apply to this parameter.

Severity

Critical Error Level 1

B

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 245 of 432


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

11/30/2011 11:10:14AM

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 and end times during the evaluation period.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals True

Environmental Protection Agency

Page 246 of 432


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

11/30/2011 11:10:14AM

Check Code:

METHOD-12

Check Name:

HI Methods Valid for Linked Locations

Related Former Checks: ARP-78B

Applicability:

Description:

Specifications:

General Check

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,

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,

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 A.

return result B.

return result C.

Environmental Protection Agency

Page 247 of 432


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

11/30/2011 11:10:14AM

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 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 ah of the method records
retrieved above do not span the method evaluation period,

Environmental Protection Agency

Page 248 of 432


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

11/30/2011 11:10:14AM

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 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 ah 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

Environmental Protection Agency

Page 249 of 432


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

11/30/2011 11:10:14AM

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.

Results:

Result
A

B

D

Response

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.

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.

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.

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.

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.

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.

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

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals true

Environmental Protection Agency

Page 250 of 432


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

11/30/2011 11:10:14AM

Check Code:	METHOD-14

Check Name:	Method Consistent with Program

Related Former Checks:

Applicability:	General Check

Description:

Validation Tables:

[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 "C02" or "C02M",

Locate all Unit Program Record linked to the location with a ProgramCode equal to "ARP" or "RGGI"; a
ClassCode not equal to "NA" or "N"; an UnitMonitorCertBeginDate that is on or before the Method
Evaluation End Date and is not null.

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
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.

Environmental Protection Agency

Page 251 of 432


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

11/30/2011 11:10:14AM

Otherwise,

return result F.

Otherwise,

return result F.

If found and 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 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.

Otherwise,

If the EndDate in the current Method record is null,
return result B.

Else

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

Environmental Protection Agency

Page 252 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B
C

D

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	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 253 of 432


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

11/30/2011 11:10:14AM

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,

Environmental Protection Agency

Page 254 of 432


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

11/30/2011 11:10:14AM

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.

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
A

B

Response

You have reported [key], but this methodology is not appropriate unless the unit is
only burning gas or diesel, or is a gas-fired unit that is burning only gas or oil.
You have reported [key], but this methodology is not appropriate when the unit is
burning [invalid fuel].

Severity

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 255 of 432


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

11/30/2011 11:10:14AM

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 256 of 432


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

11/30/2011 11:10:14AM

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 257 of 432


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

11/30/2011 11:10:14AM

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:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Method Active Equals true

¦ Method Evaluation

Environmental Protection Agency

Page 258 of 432


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

11/30/2011 11:10:14AM

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	Severity

A	You have reported a Bypass Stack Approach Code for [key], which indicates that	Critical Error Level 1

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.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Environmental Protection Agency

Page 259 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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.

Environmental Protection Agency

Page 260 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

Response

You have reported a H20 monitoring methodology for [key], but no corresponding
CEM/AMS methodology for this location.

You have reported a H20 monitoring methodology for [key], but you have not
reported corresponding CEM/AMS method records that span the entire evaluation
period for this location.

You reported a CEM monitoring methodology for [key], but you reported an
inappropriate non-CEM methodology for [parameters].

Severity

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 261 of 432


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

11/30/2011 11:10:14AM

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.

else

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	Response	Severity

A	You have reported [key], but you have not reported an active corresponding Heat	Critical Error Level 1

Input Appendix D methodology.

B	You have reported [key], but you have not reported corresponding Heat Input	Critical Error Level 1

Appendix D methodology records that span the entire evaluation period.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Method Evaluation

Conditions:	Current Method Active Equals True

Environmental Protection Agency

Page 262 of 432


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

11/30/2011 11:10:14AM

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 263 of 432


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

11/30/2011 11:10:14AM

Check Code:

METHOD-24

Check Name:

Required Methods Reported for NOX/NOXR Method

Related Former Checks:

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,

Environmental Protection Agency

Page 264 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

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

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report ¦
Current Method Active Equals true

¦ Method Evaluation

Environmental Protection Agency

Page 265 of 432


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

11/30/2011 11:10:14AM

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 found,

Environmental Protection Agency

Page 266 of 432


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

11/30/2011 11:10:14AM

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 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,

Environmental Protection Agency

Page 267 of 432


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

11/30/2011 11:10:14AM

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.

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.

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.

You reported a monitoring methodology for [key], but there is no [incomplete]
monitoring system that is active for the entire evaluation period.

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.

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.

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.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

D

Critical Error Level 1

E

Critical Error Level 1

F

Critical Error Level 1

G

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals True

Environmental Protection Agency

Page 268 of 432


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

11/30/2011 11:10:14AM

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

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.

Response

Severity

Critical Error Level 1

B

You reported a monitoring methodology for [key], but there is no primary [system]
monitoring system that is active for the entire evaluation period.

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 269 of 432


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

11/30/2011 11:10:14AM

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",

Environmental Protection Agency

Page 270 of 432


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

11/30/2011 11:10:14AM

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",
"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 anj[ 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 anj[ 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.

Environmental Protection Agency

Page 271 of 432


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

11/30/2011 11:10:14AM

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.

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

Environmental Protection Agency

Page 272 of 432


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

11/30/2011 11:10:14AM

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 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.

Environmental Protection Agency

Page 273 of 432


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

11/30/2011 11:10:14AM

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.

Results:

Result
A

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 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.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

D

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals True

Environmental Protection Agency

Page 274 of 432


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

11/30/2011 11:10:14AM

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",

Environmental Protection Agency

Page 275 of 432


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

11/30/2011 11:10:14AM

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.

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",

Environmental Protection Agency

Page 276 of 432


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

11/30/2011 11:10:14AM

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",

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 an^ fuel,

add "NOCX MD" to Missing Default for Method.

Environmental Protection Agency

Page 277 of 432


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

11/30/2011 11:10:14AM

If, for anx 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 anx fuel,

add "NORX MD" to Missing Default for Method.

If, for anx 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.

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 anx fuel,

add FuelCode in Unit Fuel record to Missing Default Fuel for Method,
add "NOXR LM" to Missing Default for Method.

If, for anx 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",

Environmental Protection Agency

Page 278 of 432


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

11/30/2011 11:10:14AM

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 anx fuel,

add FuelCode in Unit Fuel record to Missing Default Fuel for Method,
add "C02R LM" to Missing Default for Method.

If, for anx 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 "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 anx fuel,

add FuelCode in Unit Fuel record to Missing Default Fuel for Method,
add " S02R LM" to Missing Default for Method.

If, for anx 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 " 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.

Environmental Protection Agency

Page 279 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B
C

D

H

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	Method Evaluation

Current Method Active Equals True

Environmental Protection Agency

Page 280 of 432


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

11/30/2011 11:10:14AM

Check Code:

METHOD-29

Check Name:

Required Defaults Reported for Missing Data Approach

Related Former Checks: ARP-74, 75B/D

Applicability:
Description:

CEM Check

Validation Tables:

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",

Otherwise,

If found,

Environmental Protection Agency

Page 281 of 432


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

11/30/2011 11:10:14AM

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.

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

Environmental Protection Agency

Page 282 of 432


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

11/30/2011 11:10:14AM

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 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",

Environmental Protection Agency

Page 283 of 432


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

11/30/2011 11:10:14AM

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 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.

Environmental Protection Agency

Page 284 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

D

Response

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].

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 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.

Severity

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 ¦
Current Method Active Equals true

¦ Method Evaluation

Environmental Protection Agency

Page 285 of 432


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

11/30/2011 11:10:14AM

Check Code:	METHOD-30

Check Name:	Required FuelFlow System Reported for Method

Related Former Checks:	ARP-11, NBP-57

Applicability:	Appendix D Check
Description:

Validation Tables:

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 anjL 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

Environmental Protection Agency

Page 286 of 432


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

11/30/2011 11:10:14AM

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 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

Environmental Protection Agency

Page 287 of 432


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

11/30/2011 11:10:14AM

Unit Stack Configuration records, the SystemTypeCode is equal to "LTGS", the SystemDesignationCode is
equal to "P", the FuelCode is anjL 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.

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.

Environmental Protection Agency

Page 288 of 432


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

11/30/2011 11:10:14AM

Results:

Result	Response

A	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.

B	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.

C	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.

D	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.

E	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.

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

Environmental Protection Agency

Page 289 of 432


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

11/30/2011 11:10:14AM

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 290 of 432


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

11/30/2011 11:10:14AM

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,

If not found,

Environmental Protection Agency

Page 291 of 432


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

return result C.

11/30/2011 11:10:14AM

Results:

Result	Response

A	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.

B	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.

C	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.

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 292 of 432


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

11/30/2011 11:10:14AM

Check Code:

METHOD-33

Check Name:

Required LME Qualification Reported for LME Method

Related Former Checks:

Applicability:

Description:

Specifications:

LME Check

For a Monitoring Method record with a valid MethodCode equal to "LME", consistent dates, and a ParameterCode not equal to

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 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.

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.

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".

'HGM":

If found,

Otherwise,

If found,

If found,

Environmental Protection Agency

Page 293 of 432


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

11/30/2011 11:10:14AM

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".

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 294 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

Response

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.

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.

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.

Severity

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 295 of 432


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

11/30/2011 11:10:14AM

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	Informational Message

from EPA.

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 296 of 432


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

11/30/2011 11:10:14AM

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

You have reported the use of a moisture lookup table in [key], but you have not
reported 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 the use of a wet scrubber for the entire evaluation period.

Severity

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 297 of 432


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

11/30/2011 11:10:14AM

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,

If found,

If not found,

Environmental Protection Agency

Page 298 of 432


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

11/30/2011 11:10:14AM

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 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

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.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

D

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Method Evaluation

Current Method Active Equals true

Environmental Protection Agency

Page 299 of 432


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

11/30/2011 11:10:14AM

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 ¦
Current Method Active Equals true

¦ Method Evaluation

Environmental Protection Agency

Page 300 of 432


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

11/30/2011 11:10:14AM

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 301 of 432


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

11/30/2011 11:10:14AM

Check Category:
Monitoring Plan

Environmental Protection Agency

Page 302 of 432


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

11/30/2011 11:10:14AM

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	Informational Message

evaluation 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 303 of 432


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

11/30/2011 11:10:14AM

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 304 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 305 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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 306 of 432


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

11/30/2011 11:10:14AM

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:

Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation

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 307 of 432


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

11/30/2011 11:10:14AM

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.

Environmental Protection Agency

Page 308 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B
C

Response

The monitoring plan contains at least one unit that should not be reporting
because it has 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. 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.

Severity

Critical Error Level 2

Critical Error Level 2

Critical Error Level 2

Usage:

1

Process/Category:

Monitoring Plan Evaluation Report Monitoring Plan Evaluation

Environmental Protection Agency

Page 309 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

monitoring 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 310 of 432


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

11/30/2011 11:10:14AM

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 311 of 432


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

11/30/2011 11:10:14AM

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 312 of 432


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

11/30/2011 11:10:14AM

Check Category:
Program

Environmental Protection Agency

Page 313 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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

Environmental Protection Agency

Page 314 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

Usage:

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

Environmental Protection Agency

Page 315 of 432


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

11/30/2011 11:10:14AM

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 316 of 432


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

11/30/2011 11:10:14AM

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.ParameterCd.

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 ParamctcrCd.

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,

Environmental Protection Agency

Page 317 of 432


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

11/30/2011 11:10:14AM

If no Method records are found,

If Severity Code equals "NONCRIT"
Return result C

Else

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

Environmental Protection Agency

Page 318 of 432


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

11/30/2011 11:10:14AM

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 anx 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 ah multiple
stacks 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

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 ah 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 all 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

Environmental Protection Agency

Page 319 of 432


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

11/30/2011 11:10:14AM

Otherwise,

Check next hour.

Otherwise,

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 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"

Return result D

Else

Retrun result B

Otherwise,

Check next hour.

Results:

Result
A

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

B

Critical Error Level 1

C

Non-Critical Error

D

Non-Critical Error

Environmental Protection Agency

Page 320 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Unit Program Parameter Evaluation

Environmental Protection Agency

Page 321 of 432


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

11/30/2011 11:10:14AM

Check Category:
Qualification

Environmental Protection Agency

Page 322 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

qualification 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 323 of 432


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

11/30/2011 11:10:14AM

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 324 of 432


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

11/30/2011 11:10:14AM

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

Environmental Protection Agency

Page 325 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Conditions:	Current Qualification Active Equals true

Environmental Protection Agency

Page 326 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-7

Monitoring Qualification Percent Qualification Year Valid

Related Former Checks:

Applicability:

Description:

Specifications:

General Check

For the Monitor Qualification Percent record:

If the Qualification Year is null,
return result A.

If the dates in the associated Monitor Qualification record are consistent and the Qualification Year 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,
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:

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

Environmental Protection Agency

Page 327 of 432


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

11/30/2011 11:10:14AM

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 AveragePercentValue is less than 0 or greater than 100,
return result B.

If YrlPercentageValue, Yr2PercentageValue, 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:

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

Environmental Protection Agency

Page 328 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-11

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.

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.

Otherwise,

Environmental Protection Agency

Page 329 of 432


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

11/30/2011 11:10:14AM

Results:

Result	Response

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.

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.

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.

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.

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.

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.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification PCT Evaluation

Conditions:	Current Qualification Active Equals true

And Monitor Qualification Valid Equals true

Severity

Critical Error Level 2
Critical Error Level 2

Critical Error Level 2

Critical Error Level 2

Non-Critical Error
Non-Critical Error

Environmental Protection Agency

Page 330 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-12

Required LME Qualification for Program and Reporting Frequency

Related Former Checks: LME-4C/D/F

Applicability:

Description:

Specifications:

LME Check

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.

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.

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,

If not found,

Environmental Protection Agency

Page 331 of 432


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

11/30/2011 11:10:14AM

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.

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 found,

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
LMEA 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 season 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 332 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-14

Required Monitoring System for Qualification

Related Former Checks:

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 333 of 432


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

11/30/2011 11:10:14AM

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

Usage:

1

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.

Process/Category:

Conditions:

Process/Category:

Severity
Fatal

Critical Error Level 1
Critical Error Level 1

Monitoring Plan Evaluation Report	Qualification Evaluation

Current Qualification Active Equals true

Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation

Environmental Protection Agency

Page 334 of 432


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

11/30/2011 11:10:14AM

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 335 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 336 of 432


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

11/30/2011 11:10:14AM

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 337 of 432


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

11/30/2011 11:10:14AM

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 338 of 432


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

11/30/2011 11:10:14AM

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

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. 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
Critical Error Level 1

Critical Error Level 1

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 339 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-24

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.

Environmental Protection Agency

Page 340 of 432


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

11/30/2011 11:10:14AM

Results:

Result

A

B

C
D

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. 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
Critical Error Level 1

Critical Error Level 1

Critical Error Level 1

Usage:

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 341 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-25

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:

Process/Category:

Process/Category:
Conditions:

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 342 of 432


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

11/30/2011 11:10:14AM

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
Qualification Y ear,

return result B.

If YrlQualificationDataTypeCode is equal "A",

If YrlQualificationDataYear and QualificationYear are both valid, and YrlQualificationDataYear is on or after the
Qualification Y ear,

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
Qualification Y ear,

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

Environmental Protection Agency

Page 343 of 432


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

11/30/2011 11:10:14AM

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 344 of 432


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

11/30/2011 11:10:14AM

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 Qualification Year 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:

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

Environmental Protection Agency

Page 345 of 432


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

11/30/2011 11:10:14AM

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 YrlPercentageValue is null,
return result A.

If YrlPercentageValue 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 346 of 432


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

11/30/2011 11:10:14AM

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.

Response Severity
Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Results:

Result

Usage:

1

Environmental Protection Agency

Page 347 of 432


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

11/30/2011 11:10:14AM

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 Qualification Year 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",

Environmental Protection Agency

Page 348 of 432


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

11/30/2011 11:10:14AM

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.

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

Critical Error Level 1

D

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 349 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

location.

Usage:

1	Process/Category: Monitoring Plan Evaluation Report	Qualification Evaluation

Conditions:	Current Qualification Active Equals true

Environmental Protection Agency

Page 350 of 432


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

11/30/2011 11:10:14AM

Check Code:	QUAL-40

Check Name:	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
Qualification Y ear,

return result B.

If Yr2QualificationDataTypeCode is equal "A",

If Yr2QualificationDataYear and QualificationYear are both valid, and Yr2QualificationDataYear is on or after the
Qualification Y ear,

return result C.

Otherwise,

return result D.

Results:

Result

A

B

C
D

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

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 351 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-41

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	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:

Process/Category:

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

Environmental Protection Agency

Page 352 of 432


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

11/30/2011 11:10:14AM

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 353 of 432


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

11/30/2011 11:10:14AM

Check Code:	QUAL-43

Check Name:	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
Qualification Y ear,

return result B.

If Yr3QualificationDataTypeCode is equal "A",

If Yr3QualificationDataYear and QualificationYear are both valid, and Yr3QualificationDataYear is on or after the
Qualification Y ear,

return result C.

Otherwise,

return result D.

Results:

Result

A

B

C
D

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

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 354 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-44

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	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:

Process/Category:

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

Environmental Protection Agency

Page 355 of 432


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

11/30/2011 11:10:14AM

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 356 of 432


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

11/30/2011 11:10:14AM

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 357 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

QUAL-36

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
A

Response

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

Severity
Fatal

Usage:

Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation

Environmental Protection Agency

Page 358 of 432


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

11/30/2011 11:10:14AM

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 359 of 432


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

11/30/2011 11:10:14AM

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

A	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.

B	You reported a value for [fieldname] for [key], which exceeds allowable value to

qualify as an LME unit.

Usage:

1	Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation

Severity

Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 360 of 432


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

11/30/2011 11:10:14AM

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 361 of 432


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

11/30/2011 11:10:14AM

Check Category:
Span

Environmental Protection Agency

Page 362 of 432


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

11/30/2011 11:10:14AM

Check Code:	SPAN-1

Check Name:	Span MPC Value Valid

Related Former Checks:	NBP-37

Applicability:	CEM Check
Description:

Validation Tables:

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.

Environmental Protection Agency

Page 363 of 432


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

11/30/2011 11:10:14AM

If not found,

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 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 all 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 364 of 432


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

11/30/2011 11:10:14AM

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 365 of 432


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

11/30/2011 11:10:14AM

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 MECValue 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 MECValue is not null,

If the ComponentTypeCode is equal to "FLOW" or "02",

set Span MEC Value Valid to false, and return result F.

Environmental Protection Agency

Page 366 of 432


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

If the MECValue is less than or equal to 0,

set Span MEC Value Valid to false, and return result G.

11/30/2011 11:10:14AM

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	Span Evaluation

Current Span Active Equals true

Environmental Protection Agency

Page 367 of 432


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

11/30/2011 11:10:14AM

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

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

B

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 368 of 432


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

11/30/2011 11:10:14AM

Check Code:

SPAN-4

Check Name:

Span Scale Transition Point Value Valid

Related Former Checks:

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 369 of 432


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

11/30/2011 11:10:14AM

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	Span Evaluation

Current Span Active Equals true

Severity

Critical Error Level 1

Critical Error Level 2

Critical Error Level 1
Critical Error Level 1

Environmental Protection Agency

Page 370 of 432


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

11/30/2011 11:10:14AM

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 or MEC 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 MEC Value is valid,

set MPC or MEC to "MEC".

Environmental Protection Agency

Page 371 of 432


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

11/30/2011 11:10:14AM

If the SpanValue is less than the MECValue,
return result D.

If the ComponentTypeCode is equal to "S02","N0X", and MECValue * 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 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	Critical Error Level 2

specified 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	Critical Error Level 2

up 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	Critical Error Level 2

highest 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 372 of 432


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

11/30/2011 11:10:14AM

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 373 of 432


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

11/30/2011 11:10:14AM

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 374 of 432


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

11/30/2011 11:10:14AM

Check Code:

Check Name:

Related Former Checks:

Applicability:

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.

SPAN-9

Span Begin Hour Valid
CEM Check

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 375 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 376 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 377 of 432


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

11/30/2011 11:10:14AM

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

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 378 of 432


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

11/30/2011 11:10:14AM

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 379 of 432


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

11/30/2011 11:10:14AM

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

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.

Severity

Critical Error Level 1

Critical Error Level 2
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 380 of 432


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

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

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 381 of 432


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

11/30/2011 11:10:14AM

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

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

B

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 382 of 432


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

11/30/2011 11:10:14AM

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	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 span scale in the span record for [key], but this is not appropriate

for flow span record.

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

Severity

Critical Error Level 1
Critical Error Level 1

Critical Error Level 1

Environmental Protection Agency

Page 383 of 432


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

11/30/2011 11:10:14AM

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 384 of 432


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

11/30/2011 11:10:14AM

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 385 of 432


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

11/30/2011 11:10:14AM

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

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.

Severity

Critical Error Level 1

B

Critical Error Level 1

C

Critical Error Level 1

D

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 386 of 432


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

11/30/2011 11:10:14AM

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

Response

You have indicated the use of a default high range for [key], but you have defined
a span 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.

Severity

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 387 of 432


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

11/30/2011 11:10:14AM

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 MECValue in the current span record greater than 0 and not null,

If, for any high-scale record found, the MECValue is greater than 0, but is not equal to the MECValue 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 388 of 432


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

11/30/2011 11:10:14AM

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 MECValue 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 anj[ 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 389 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

C

D

Usage:

1

Response

The MEC reported is less than 20% of MPC for [key], but no corresponding low
span 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 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.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	Span Evaluation

Current Span Active Equals true

Severity

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

Critical Error Level 2

Environmental Protection Agency

Page 390 of 432


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

11/30/2011 11:10:14AM

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 Method (Cross Check Table)

Span Method Code (Lookup Table)

Component Type and Span Scale to Span Method (Cross Check Table)

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.

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 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 T able.

If not found,

return result B.

Otherwise,

Otherwise,

If not found,

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 defined a SpanMethodCode of [value], which is an invalid method of
establishing the MPC/MEC/MPF for [key].

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Environmental Protection Agency

Page 391 of 432


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

11/30/2011 11:10:14AM

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 392 of 432


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

11/30/2011 11:10:14AM

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 393 of 432


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

11/30/2011 11:10:14AM

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 394 of 432


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

11/30/2011 11:10:14AM

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 395 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

SPAN-55

Duplicate Span Records

Related Former Checks:

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 396 of 432


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

11/30/2011 11:10:14AM

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

A

B

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.

You defined an invalid [fieldname] for [key]. This value must be greater than zero.

Severity

Critical Error Level 1
Critical Error Level 1

C

Critical Error Level 1

Usage:

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

Environmental Protection Agency

Page 397 of 432


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

11/30/2011 11:10:14AM

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 MECValue 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 MECValue 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 398 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

you 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 399 of 432


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

11/30/2011 11:10:14AM

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
F ull ScaleRange V alue,
return result A.

Results:

Result	Response	Severity

A	You have reported a ScaleTransitionPoint for [key] that is not within the valid	Critical Error Level 2

range of values. The ScaleTransitionPoint should be between one-half and one
times the FullScaleRangeValue.

Usage:

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

Environmental Protection Agency

Page 400 of 432


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

11/30/2011 11:10:14AM

Check Category:
System

Environmental Protection Agency

Page 401 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 402 of 432


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

11/30/2011 11:10:14AM

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	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 [Hour], which is outside the range of acceptable	Critical Error Level 1

values for this hour for [key].

Usage:

Process/Category: Monitoring Plan Evaluation Report	System Evaluation

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

Environmental Protection Agency

Page 403 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 404 of 432


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

11/30/2011 11:10:14AM

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	Critical Error Level 1

values 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 405 of 432


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

11/30/2011 11:10:14AM

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

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	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 406 of 432


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

11/30/2011 11:10:14AM

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 407 of 432


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

11/30/2011 11:10:14AM

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 MonitoringSystemID 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 408 of 432


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

11/30/2011 11:10:14AM

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

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

C

Informational Message

D

Critical Error Level 2

Environmental Protection Agency

Page 409 of 432


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

Usage:

1	Process/Category:	Monitoring Plan Evaluation Report	System Evaluation

Conditions:	Current System Active Equals True

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

11/30/2011 11:10:14AM

Environmental Protection Agency

Page 410 of 432


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

11/30/2011 11:10:14AM

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,

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.

return result A.

Results:

Result

A

B

Response

You have not reported the required value in the field [fieldname] for [key].
You reported [value] as the SystemDesignationCode for [key], which is not
appropriate for the System Type [Monitor System Type].

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

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 411 of 432


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

11/30/2011 11:10:14AM

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 412 of 432


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

11/30/2011 11:10:14AM

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 413 of 432


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

11/30/2011 11:10:14AM

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,

Environmental Protection Agency

Page 414 of 432


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

11/30/2011 11:10:14AM

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 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

Environmental Protection Agency

Page 415 of 432


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

11/30/2011 11:10:14AM

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.

Results:

Result
A

B

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 416 of 432


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

11/30/2011 11:10:14AM

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 417 of 432


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

11/30/2011 11:10:14AM

Check Name:

Check Code:

SYSTEM-16

RM System Consistent with Non-RM Systems

Related Former Checks:

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 418 of 432


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

11/30/2011 11:10:14AM

Check Code:

SYSTEM-17

Check Name:

Backup System Consistent with Primary System

Related Former Checks:

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 are part of the primary [System Type] system at the location.

Severity

Critical Error Level 1

Usage:

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 419 of 432


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

11/30/2011 11:10:14AM

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

B

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
Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 420 of 432


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

11/30/2011 11:10:14AM

Check Code:

SYSTEM-19

Check Name:

Required Non-DAHS Components Reported for System

Related Former Checks: NBP-16, NBP-18

Applicability:
Description:

General Check

Validation Tables:

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

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.

Yes".

If found,

If found,

If found,

Environmental Protection Agency

Page 421 of 432


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

11/30/2011 11:10:14AM

If found,

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 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

Environmental Protection Agency

Page 422 of 432


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

11/30/2011 11:10:14AM

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,

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.

Environmental Protection Agency

Page 423 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

D

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

Informational Message

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 ¦
Current System Active Equals true

System Evaluation

Environmental Protection Agency

Page 424 of 432


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

11/30/2011 11:10:14AM

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",

Environmental Protection Agency

Page 425 of 432


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

11/30/2011 11:10:14AM

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
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.

Environmental Protection Agency

Page 426 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

D

E

Usage:

1

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.

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System 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 427 of 432


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

11/30/2011 11:10:14AM

Check Code:

SYSTEM-21

Check Name:

Required Defaults Reported for System

Related Former Checks:

Applicability:

Description:

Specifications:

General Check

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,

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,

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.

If not found,

If not found,

Environmental Protection Agency

Page 428 of 432


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

11/30/2011 11:10:14AM

Results:

Result
A

B

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

Critical Error Level 1

Critical Error Level 1

Usage:

1

Process/Category:
Conditions:

Monitoring Plan Evaluation Report	System Evaluation

Current System Active Equals true

Environmental Protection Agency

Page 429 of 432


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

11/30/2011 11:10:14AM

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 430 of 432


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

11/30/2011 11:10:14AM

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 431 of 432


-------
Draft ECMPS Monitoring Plan Check Specifications	11/30/2011 11:10:14AM

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	Severity

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

Usage:

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

Environmental Protection Agency

Page 432 of 432


-------