DRAFT ECMPS Monitoring Plan Check Specifications United States Environmental Protection Agency Office of Air and Radiation Clean Air Markets Division Ariel Rios Building 1200 Pennsylvania Avenue Washington, DC 20460 December 12, 2012 ------- Table of Contents Capacity 1 Component and Associated Data 8 Control 50 Default and WAF 62 Formula 111 Fuel 136 Fuel Flow 149 Load 162 Location 186 Method 227 Monitoring Plan 291 Program 301 Qualification 308 Span 346 System 384 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Capacity Environmental Protection Agency Page 1 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CAPAC-1 Check Name: Unit Capacity Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: For a UnitCapacity record: If BeginDate and EndDate are valid, If the EndDate is not null and the BeginDate is after the EndDate, set Unit Capacity Dates Consistent to false and return result A. Otherwise, set Unit Capacity Dates Consistent to true. Otherwise, set Unit Capacity Dates Consistent to false. Results: Result Response Severity A You reported [datefield2] which is prior to [datefieldl] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Capacity Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation Environmental Protection Agency Page 2 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CAPAC-2 Check Name: Unit Capacity End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitCapacityData record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Capacity Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation Environmental Protection Agency Page 3 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CAPAC-3 Check Name: Unit Capacity Maximum Heat Input Capacity Valid Related Former Checks: Applicability: LME Check Description: Specifications: For the UnitCapacityData record: If the MaximumHourlyHeatlnputCapacity is null, return result A. Else if the MaximumHourlyHeatlnputCapacity is less than or equal to 1, return result B. Else if the MaximumHourlyHeatlnputCapacity is greater than or equal to 20,000, return result C. Results: Result A B C Response You have not reported the required value in the field [fieldname] for [key]. You defined an invalid [fieldname] for [key]. This value must be greater than zero. Severity Fatal Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Capacity Evaluation Conditions: Current Unit Capacity Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation Environmental Protection Agency Page 4 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CAP ACM Check Name: Unit Capacity Record Active Related Former Checks: Applicability: General Check Description: Specifications: For a UnitCapacityData record with consistent Dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Unit Capacity Active to false. Otherwise, set Unit Capacity Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Unit Capacity Evaluation Begin Date to the Evaluation Begin Date. Otherwise, set the Unit Capacity Evaluation Begin Date to the BeginDate. If the EndDate is null or is after the Evaluation End Date, set the Unit Capacity Evaluation End Date to the Evaluation End Date. Otherwise, set the Unit Capacity Evaluation End Date to the EndDate. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Capacity Evaluation Environmental Protection Agency Page 5 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: CAPAC-5 Unit Capacity Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitCapacityData record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1930 or later than Maximum Future Date, return result B. If either the Commence Operation Date or Commercial Operation Date of the unit is not null, and the BeginDate is prior to the earlier of the Commence Operation Date or Commercial Operation Date, return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. You reported a BeginDate of [date], which is earlier than the date reported as the commence operation (CO) or commence commercial operation (CCO) date. If the CO date was reported as the capacity begin date but you have only reported the CCO date to CAMD, use the CCO date as the BeginDate to eliminate this error. Severity Critical Error Level 1 Critical Error Level 1 C Non-Critical Error Usage: Process/Category: Monitoring Plan Evaluation Report Unit Capacity Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation Environmental Protection Agency Page 6 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CAPAC-6 Check Name: Duplicate UnitCapacity Records Related Former Checks: Applicability: General Check Description: Specifications: For a UnitCapacity record with a valid Begin Date: Locate another UnitCapacity record for the unit with a BeginDate that is equal to the BeginDate in the current record. If found, return result A. If not found, and the EndDate in the current record is not null, Locate another UnitCapacity record for the unit with an EndDate that is equal to the EndDate in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Capacity Evaluation Environmental Protection Agency Page 7 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Component and Associated Data Environmental Protection Agency Page 8 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-3 Check Name: System Component Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For a System Component record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report System Component Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation Environmental Protection Agency Page 9 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-4 Check Name: System Component Begin Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For a System Component record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Fatal B You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation Environmental Protection Agency Page 10 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-5 Check Name: System Component End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For a System Component record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation Environmental Protection Agency Page 11 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-6 Check Name: System Component End Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For a System Component record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation Environmental Protection Agency Page 12 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-7 Check Name: System Component Dates and Hours Consistent Related Former Checks: Applicability: General Check Description: Specifications: For a System Component record: If the EndDate is valid and not null, and the EndHour is null, set System Component Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set System Component Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set System Component Dates and Hours Consistent to false, return result C. Otherwise, set System Component Dates and Hours Consistent to true. Otherwise, set System Component Dates and Hours Consistent to false. Results: Result Response A You reported [datefield2] but did not report an [hourfield2] for [key]. B You reported [hourfield2] but did not report [datefield2] for [key]. C You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 13 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-8 Check Name: Component ID Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Component record: If the ComponentID is null, return result A. If the ComponentID does not consist of 3 alphanumeric characters: return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. The ComponentID [ID] has an invalid format. A ComponentID must contain three alphanumeric characters. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Component Evaluation Current Component Active Equals true Monitoring Plan Data Entry Screen Evaluation Component Evaluation Environmental Protection Agency Page 14 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-IO Check Name: Component Serial Number Valid Related Former Checks: NBP-20 Applicability: General Check Description: Specifications: For a Component record with a valid ComponentTypeCode: If the SerialNumber is null, and the ComponentTypeCode is not equal to "BGFF", "BOFF", "TANK", "DAHS", "DL", "PLC", "FLC", or "TRAP", return result A. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Evaluation Conditions: Current Component Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Component Evaluation Environmental Protection Agency Page 15 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-11 Check Name: Component Manufacturer Valid Related Former Checks: Applicability: General Check Description: Specifications: For a Component record with a valid ComponentTypeCode: If the Manufacturer is null, and the ComponentTypeCode is not equal to "BGFF", "BOFF", or "TANK", return result A. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Evaluation Conditions: Current Component Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Component Evaluation Environmental Protection Agency Page 16 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-12 Check Name: Component Type Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Component Type Code (Complex Lookup Table) Component Type Code (Complex Lookup Table) Specifications: For the Component record: If the ComponentTypeCode is null, return result A. Otherwise, Locate ComponentTypeCode in the Component Type Code Lookup Table. If not found, return result B. If found, Locate a Used Identifier record for the location where the Table Code is equal to "C" and the Identifier is equal to the Component ID in the Component record. If found, If the ComponentTypeCode is not equal to the Type or Parameter Code in the retrieved record, return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have changed the ComponentTypeCode for [key] from its previously reported value. You should only do this to correct invalid data. If you are installing a component with a different component type, you should add a new component. Severity Fatal Critical Error Level C Critical Error Level 2 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Component Evaluation Current Component Active Equals true Monitoring Plan Data Entry Screen Evaluation Component Evaluation Environmental Protection Agency Page 17 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-13 Check Name: Component Sample Acquisition Method Code Valid Related Former Checks: NBP-19 Applicability: General Check Description: Validation Tables: Acquisition Method Code (Lookup Table) Component Type and Basis to Sample Acquisition Method (Cross Check Table) Acquisition Method Code (Lookup Table) Component Type and Basis to Sample Acquisition Method (Cross Check Table) Specifications: For a Component record with a valid ComponentTypeCode and BasisCode: If the SampleAcquisitionMethodCode is null, Locate a record in Component Type and Basis to Sample Acquisition Method cross check table for the ComponentTypeCode and the BasisCode and SampleAcquisitionMethodCode in the current Monitor Component record. If not found, return result A. Locate SampleAcquisitionMethodCode in the Sample Acquisition Method Code Lookup Table. If not found, return result B. Otherwise, If the ComponentTypeCode is equal to "S02", "NOX", "C02", "02", "PRB", "HG", or "PM", set GenericComponentType to "CONC". If the ComponentTypeCode is equal to "OFFM", "GFFM", "BOFF", "BGFF", "DP", "TEMP", "PRES", "FLC", "GCH", "MS", or "CALR", set GenericComponentType to "FUELFLOW". Otherwise, set GenericComponentType to ComponentTypeCode. If the BasisCode is equal to "B" or the ComponentTypeCode is equal to "FLOW", "PRB" or "PM", Locate a record in Component Type and Basis to Sample Acquisition Method cross check table for the GenericComponentType and the SampleAcquisitionMethodCode in the Component record. If not found, return result C. Locate a record in Component Type and Basis to Sample Acquisition Method cross check table for the GenericComponentType and the BasisCode and SampleAcquisitionMethodCode in the Component record. If not found, return result C. Otherwise, Otherwise, Environmental Protection Agency Page 18 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result Response A You did not provide [fieldname], which is required, for [key]. B You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. C You reported a Sample Acquisition Method Code of [value] for [key], which is not appropriate for the component type and basis. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Evaluation Conditions: Current Component Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Component Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 19 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-14 Check Name: Component Basis Code Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Component record with a valid ComponentTypeCode: If the ComponentTypeCode is equal to "NOX", "S02", "C02", "02", "FLOW", "HG", or "GFM", If the BasisCode is null, return result A. If the BasisCode is not equal to "W", "D", or "B", return result B. If ComponentTypeCode is equal to "FLOW" and BasisCode is not equal to "W", return result B. If ComponentTypeCode is equal to "GFM" and BasisCode is not equal to "D", return result B. If the BasisCode is equal to "B" and the ComponentTypeCode is not equal to "02", return result B. If the BasisCode is not equal to "B", Locate a Used Identifier record for the location where the Table Code is equal to "C" and the Identifier is equal to the Component ID in the Component record. If found and the Formula or Basis Code is not null, If the BasisCode is not equal to the Formula or Basis Code in the retrieved record, return result C. Otherwise, If the BasisCode is not null, return result D. Results: Result A B C D Response You did not provide [fieldname], which is required, for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have changed the moisture basis for [key] from its previously reported value. You should only do this to correct invalid data. If you are installing a component with a different moisture basis, you should add a new component. You reported an invalid BasisCode for [key]. A BasisCode is not appropriate for a [component type] component. Severity Critical Error Level 1 Critical Error Level 1 Informational Message Critical Error Level 1 Usage: 1 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Component Evaluation Current Component Active Equals true Monitoring Plan Data Entry Screen Evaluation Component Evaluation Environmental Protection Agency Page 20 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: COMPON-16 Analyzer Range Code Valid Related Former Checks: Applicability: CEM Check Description: Validation Tables: Analyzer Range Code (Lookup Table) Analyzer Range Code (Lookup Table) Specifications: For an Analyzer Range record: If the AnalyzerRangeCode is null, return result A. If the AnalyzerRangeCode is not in the Analyzer Range Code Lookup Table, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation Current Analyzer Range Active Equals true Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 21 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-18 Check Name: Analyzer Range Begin Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 22 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-19 Check Name: Analyzer Range Begin Hour Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Fatal B You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 23 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-20 Check Name: Analyzer Range End Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 24 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-21 Check Name: Analyzer Range End Hour Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 25 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-22 Check Name: Analyzer Range Dates and Hours Consistent Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record: If the EndDate is valid and not null, and the EndHour is null, set Analyzer Range Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set Analyzer Range Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set Analyzer Range Dates and Hours Consistent to false, return result C. Otherwise, set Analyzer Range Dates and Hours Consistent to true. Otherwise, set Analyzer Range Dates and Hours Consistent to false. Results: Result A B C Usage: 1 Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Process/Category: Monitoring Plan Evaluation Report ¦ ¦ Component Analyzer Range Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 26 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-26 Check Name: Component Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a Component record: Locate all System Component records for the component with an EndDate that is null or an EndDate that is on or after the BeginDate, a BeginDate that is on or before the Evaluation End Date, and an End Date that is null or is on or after the Evaluation Begin Date: If not found, set Current Component Active to false. Locate any System Component record for the component. If not found, return result A. If found, set Current Component Active to true. If the BeginDate/Begin Hour is later than the EndDate/EndHour in any retrieved record, set Component Dates and Hours Consistent to false. Otherwise, set Component Dates and Hours Consistent to true. If the earliest BeginDate of the retrieved records is on or after the Evaluation Begin Date, set Component Evaluation Begin Date to the BeginDate. set Component Evaluation Begin Hour to the BeginHour. Otherwise, set Component Evaluation Begin Date to the Evaluation Begin Date, set Component Evaluation Begin Hour to 0. If the End Date of any of the retrieved records is null, set Component Evaluation End Date to the Evaluation End Date, set Component Evaluation End Hour to 23. Otherwise, If the latest EndDate in the retrieved records is on or before the Evaluation End Date, set Component Evaluation End Date to the EndDate. set Component Evaluation End Hour to the EndHour. Otherwise, set Component Evaluation End Date to the Evaluation End Date, set Component Evaluation End Hour to 23. Results: Result Response Severity A The component for [key] has not been linked to any system. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Evaluation Environmental Protection Agency Page 27 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-30 Check Name: Required Analyzer Range Reported for Component Related Former Checks: Applicability: CEM Check Description: Specifications: For a Component record with a ComponentTypeCode equal to "S02", "NOX", "C02", "02", or "HG", and consistent dates: Locate all Component Analyzer Range records for the component with a BeginDate and BeginHour that is on or before the Component Evaluation End Date and End Hour and an EndDate that is null or and EndDate and EndHour that is on or after the Component Evaluation Begin Date and Begin Hour. If not found return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved analyzer range records do not span the entire component evaluation period, return result B. Results: Result Response Severity A You have not reported an analyzer range record that was active during the evaluation Critical Error Level 1 period for [key]. B You have not reported an active analyzer range record for [key] to span the entire Critical Error Level 1 evaluation period. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Evaluation Conditions: Current Component Active Equals true Environmental Protection Agency Page 28 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-33 Check Name: System and Component Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: For a valid System Component record with consistent dates and an associated Monitoring System record with consistent dates: If the BeginDate in the current Monitoring System record is after the BeginDate in the current SystemComponent record return result A. If the BeginDate in the current Monitoring System record is equal to the BeginDate in the current SystemComponent record, and the BeginHour in the current Monitoring System record is after the BeginHour in the current SystemComponent record, return result A. If the EndDate in the current Monitoring System record is not null, and the EndDate in the current SystemComponent record is null, return result A. If the EndDate in the current Monitoring System record is prior to the EndDate in the current SystemComponent record, return result A. If the EndDate in the current Monitoring System record is equal to the EndDate in the current SystemComponent record, and the EndHour in the current Monitoring System record is prior to the EndHour in the current SystemComponent record, return result A. Results: Result Response Severity A The Start and End Date/Hour for [key] is inconsistent with the Start and End Date/Hour Critical Error Level 1 for the associated monitoring system. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation Conditions: Current System Component Active Equals true Environmental Protection Agency Page 29 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-34 Check Name: Required Second Component Reported for Dual Range Analyzer Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record with an AnalyzerRangeCode equal to "H" or "L" and a DualRangelndicator equal to 1: If the AnalyzerRangeCode is equal to "H", Locate an AnalyzerRange record for the location with a ComponentTypeCode equal to the ComponentTypeCode in the current Component record, an Analyzer Range Code equal to "L", a DualRangelndicator equal to 1, a BeginDate and BeginHour that is on or before the Analyzer Range Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Analyzer Range Evaluation Begin Date and Begin Hour. If not found, return result A. If none of the retrieved records has a Component Serial Number (minus the string "HI" or "HIGH") equal to the Component Serial Number of the current record (minus the string "LO" or "LOW"), return result B. If the BeginDate, BeginHour, EndDate, and EndHour of the matching record is not equal to the BeginDate, BeginHour, EndDate, and EndHour of the current record, return result C. If the AnalyzerRangeCode is equal to "L", Locate an AnalyzerRange record for the location with a ComponentTypeCode equal to the ComponentTypeCode in the current Component record, an Analyzer Range Code equal to "H", a DualRangelndicator equal to 1, a BeginDate and BeginHour that is on or before the Analyzer Range Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Analyzer Range Evaluation Begin Date and Begin Hour. If not found, return result A. If none of the retrieved records has a Component Serial Number (minus the string "HI" or "HIGH") equal to the Component Serial Number of the current record (minus the string "LO" or "LOW"), return result B. If the BeginDate, BeginHour, EndDate, and EndHour of the matching record is not equal to the BeginDate, BeginHour, EndDate, and EndHour of the current record, return result C. If found, If found, Environmental Protection Agency Page 30 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C Usage: 1 Response Severity You reported [key] as the [range] range of a dual-range analyzer, but you did not report Critical Error Level 1 another dual-range [component] component that was active during the evaluation period with the alternate analyzer range. You reported [key] as the [range] range of a dual-range analyzer, but you did not report Critical Error Level 1 a [component] component with the same (or similar) serial number as the alternate-range analyzer. You reported [key] as the [range] range of a dual-range analyzer, but you did not report the same start and end dates/hour in the alternate-range analyzer range record. Critical Error Level 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Current Analyzer Range Active Equals true ¦ Component Analyzer Range Evaluation Environmental Protection Agency Page 31 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-37 Check Name: Dual Range Indicator Consistent with Analyzer Range Code Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record: If DualRangelndicator is null, return result A. Otherwise, If AnalyzerRangeCode equal to "A" and the DualRangelndicator is not equal to 1, return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 B You have not reported a dual range indicator of " 1" for [key], even though the analyzer Critical Error Level 1 range code indicates that this component is a dual-range analyzer. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation Conditions: Current Analyzer Range Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 32 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: COMPON-38 Analyzer Range Active Status Related Former Checks: Applicability: CEM Check Description: Specifications: For an Analyzer Range record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current Analyzer Range Active to false. Otherwise, set Current Analyzer Range Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Analyzer Range Evaluation Begin Date to the Evaluation Begin Date, set the Analyzer Range Evaluation Begin Hour to 0. Otherwise, set the Analyzer Range Evaluation Begin Date to the BeginDate. set the Analyzer Range Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the Analyzer Range Evaluation End Date to the Evaluation End Date, set the Analyzer Range Evaluation End Hour to 23. Otherwise, set the Analyzer Range Evaluation End Date to the EndDate. set the Analyzer Range Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation Environmental Protection Agency Page 33 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-39 Check Name: System Component Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a System Component record: If System Component Dates and Hour Consistent is equal to true, If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current System Component Active to false. Otherwise, set Current System Component Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the System Component Evaluation Begin Date to the Evaluation Begin Date, set the System Component Evaluation Begin Hour to 0. Otherwise, set the System Component Evaluation Begin Date to the BeginDate. set the System Component Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the System Component Evaluation End Date to the Evaluation End Date, set the System Component Evaluation End Hour to 23. Otherwise, set the System Component Evaluation End Date to the EndDate. set the System Component Evaluation End Hour to the EndHour. Otherwise, set Current System Component Active to false. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation Environmental Protection Agency Page 34 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-44 Check Name: Required Formula Reported for System and Component Related Former Checks: ARP-5, NBP-28 Applicability: Description: General Check Validation Tables: Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table) System Type to Formula Parameter (Cross Check Table) Specifications: For a valid System Component record with consistent dates and a valid SystemTypeCode in the associated Monitor System record: If the associated SystemTypeCode is equal to "C02", Locate the earliest Method record for the location with a ParameterCode equal to "C02", a BeginDate and BeginHour on or before the System Component Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Component Evaluation Begin Date and Begin Hour. If the associated SystemTypeCode is equal to "C02" and a Method record was retrieved above, If the ComponentTypeCode in the System Component record is equal to "C02", Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the ParameterCode is equal to "C02" or "HI", and the ComponentTypeAndBasis equal to the associated concatenated ComponentTypeCode + BasisCode in the System Component record. Locate all Formula records for the location with a ParameterCode + FormulaCode equal to the ParameterCode + FormulaCode in any of the retrieved cross check records, a BeginDate and BeginHour on or before the earlier of the System Component Evaluation End Date and End Hour and the EndDate and EndHour in the method record, and an EndDate that is null or and EndDate and EndHour that is on or after the later of the System Component Evaluation Begin Date and Begin Hour and the BeginDate and BeginHour of the method record. If not found, set Parameter Code/Formula Code(s) to Missing Formula for Component. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the evaluation period (in the above locate statement), set Parameter Code(s)/Formula Code(s) to Incomplete Formula for Component. If the ComponentTypeCode in the System Component record is equal to "02", Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the ParameterCode is equal to "C02C" or "HI", and the ComponentTypeAndBasis equal to the associated concatenated ComponentTypeCode + BasisCode in the System Component record. Locate all Formula records for the location with a ParameterCode + FormulaCode equal to the ParameterCode + FormulaCode in any of the retrieved cross check records, a BeginDate and BeginHour on or before the earlier of the System Component Evaluation End Date and End Hour and the EndDate and EndHour in the method record, and an EndDate that is null or and EndDate and EndHour that is on or after the later of the System Component Evaluation Begin Date and Begin Hour and the BeginDate and BeginHour of the method record. If found, If found, Environmental Protection Agency Page 35 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If not found, set Parameter Code/Formula Code(s) to Missing Formula for Component. If found, If the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the evaluation period (in the above locate statement), set Parameter Code(s)/Formula Code(s) to Incomplete Formula for Component. If the ParameterCode of any of the retrieved records is equal to "C02C", Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the ParameterCode is equal to "C02" and the ComponentTypeAndBasis equal to the associated concatenated ComponentTypeCode + BasisCode in the System Component record. If found, Locate all Formula records for the location with a ParameterCode equal to "C02", a FormulaCode equal to the FormulaCode in any of the retrieved cross check records, a BeginDate and BeginHour on or before the earlier of the System Component Evaluation End Date and End Hour and the EndDate and EndHour in the method record, and an EndDate that is null or and EndDate and EndHour that is on or after the later of the System Component Evaluation Begin Date and Begin Hour and the BeginDate and BeginHour of the method record. If not found, set Parameter Code/Formula Code(s) to Missing Formula for Component. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the evaluation period (in the above locate statement), add Parameter Code/Formula Code(s) to Incomplete Formula for Component. Otherwise, Locate the record in the System Type to Formula Parameter cross check table where the SystemTypeCode is equal to the SystemTypeCode associated with the current System Component record. For each cross check record found, If Optional in the cross check record is not null, Locate the earliest Method record for the location with a ParameterCode equal to Optional in the retrieved cross-check record, a MethodCode equal to "AD", a BeginDate and BeginHour on or before the System Component Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Component Evaluation Begin Date and Begin Hour. If Optional in the cross check record is null, or a Method record was retrieved above, Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the ParameterCode is equal to the ParameterCode in the cross check record and the ComponentTypeAndBasis equal to the associated concatenated ComponentTypeCode (+BasisCode, if not null) in the System Component record. If found, If Optional in the System Type to Formula Parameter cross check table is not null: Environmental Protection Agency Page 36 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Locate all Formula records for the location with a ParameterCode equal to the ParameterCode in the cross check table, a FormulaCode equal to the FormulaCode in any of the retrieved cross check records, a BeginDate and BeginHour on or before the earlier of the System Component Evaluation End Date and End Hour and the EndDate and EndHour in the method record (if not null), and an EndDate that is null or and EndDate and EndHour that is on or before the later of the System Component Evaluation Begin Date and Begin Hour and the BeginDate and BeginHour of the method record. If not found, add Parameter Code/Formula Code(s) to Missing Formula for Component. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the evaluation period (in the above locate statement), add Parameter Code/Formula Code(s) to Incomplete Formula for Component. Otherwise, Locate all Formula records for the location with a ParameterCode equal to the ParameterCode in the cross check table, a FormulaCode equal to the FormulaCode in any of the retrieved cross check records, a BeginDate and BeginHour on or before the System Component Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Component Evaluation Begin Date and Begin Hour. If not found, add Parameter Code/Formula Code(s) to Missing Formula for Component. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire system component evaluation period, add Parameter Code/Formula Code(s) to Incomplete Formula for Component. If Missing Formula for Component is not null, and Incomplete Formula for Component is null, return result A. If Incomplete Formula for Component is not null, and Missing Formula for Component is null, return result B. If both Missing Formula for Component and Incomplete Formula for Component are not null, return result C. Results: Result Response Severity A You did not report [missing formulas] formula record(s) that was/were active during the Critical Error Level 1 evaluation period to compute emission values. These formulas are required when using a [system type] system with a [component type] [basis] component. B You did not report [incomplete formulas] formula record(s) to compute emission values Critical Error Level 2 that are active for the entire evaluation period. These formulas are required when using a [system type] system with a [component type] [basis] component. C You did not report [missing formulas] formula record(s) that was/were active during the Critical Error Level 2 evaluation period to compute emission values. Also, you did not report [incomplete formulas] formula record(s) to compute emission values that are active for the entire evaluation period. These formulas are required when using a [system type] system with a [component type] [basis] component. Environmental Protection Agency Page 37 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation Conditions: Current System Component Active Equals true Environmental Protection Agency Page 38 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-45 Check Name: Required High-Scale Span Reported for Component Related Former Checks: NBP-33 Applicability: CEM Check Description: Specifications: For an Analyzer Range record with an AnalyzerRangeCode equal to "H" or "A" and consistent dates: Locate a Span record for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the associated Component record, the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Analyzer Range Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Analyzer Range Evaluation Begin Date and Begin Hour. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span records do not span the entire analyzer range evaluation period, return result B. If not found, return result A. Results: Result A Response You reported [key], but you did not report a [scale] [span parameter] span record that was active during the evaluation period, which is required when you report an analyzer range record with a range code of [range]. You reported [key], but you did not report [scale] [span parameter] span records to span the entire evaluation period for the analyzer. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation Current Analyzer Range Active Equals true Environmental Protection Agency Page 39 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-46 Check Name: System Type Consistent with Component Type Related Former Checks: NBP-17 Applicability: General Check Description: Validation Tables: Component Type Code (Complex Lookup Table) System Type to Component Type (Cross Check Table) System Type to Optional Component Type (Cross Check Table) Specifications: For a System Component record: If the associated System record is not valid, Set System Component Record Valid to false. Otherwise, Set System Component Record Valid to true. If the associated ComponentTypeCode is not equal to "DAHS", "PLC", or "DL", and an EndDate that is null or is on or after 1/1/2001, Locate the System Type to Component Type cross check table record where the ComponentTypeCode is equal to the ComponentTypeCode in the current System Component record and the SystemTypeCode is equal to the SystemTypeCode in the current Monitoring System record. If not found, Locate the System Type to Optional Component Type cross check table record where the Optional ComponentTypeCode is equal to the ComponentTypeCode in the current System Component record and the SystemTypeCode is equal to the SystemTypeCode in the current Monitoring System record. If not found, Locate the ComponentTypeCode in the current System Component record in the Component Type Code lookup table. If found, set System Component Record Valid to false, and return result A. Results: Result Response Severity A You have linked an inappropriate [component type] component to the [system type] Critical Error Level 1 system for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Component Evaluation Conditions: Current System Component Active Equals true Environmental Protection Agency Page 40 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-47 Check Name: Related Former Checks: Overlapping Analyzer Range Reported for Component Applicability: Description: Specifications: CEM Check For a Component record with a ComponentTypeCode equal to "S02", "NOX", "C02", "02", or "HG", and consistent dates: Locate all Component Analyzer Range records for the component with a BeginDate and BeginHour that is on or after the BeginDate and BeginHour in the current record and is on or before the Component Evaluation End Date and End Hour and an EndDate that is null or and EndDate and EndHour that is on or after the Component Evaluation Begin Date and Begin Hour. If more than one are found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved analyzer range records overlap during the component evaluation period, return result A. Results: Result A Response You have reported more than one active analyzer range record for [key] during the evaluation period. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Component Evaluation Current Component Active Equals true Environmental Protection Agency Page 41 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-48 Check Name: Component and Analyzer Range Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: For an Analyzer Range record with consistent dates in both the Analyzer Range and associated Component record: If the Component Evaluation Begin Date and Begin Hour is after the Analyzer Range Evaluation Begin Date and Begin Hour, return result A. If the Component Evaluation End Date is not null, and the Analyzer Range Evaluation End Date is null, return result A. If the Component Evaluation End Date and End Hour is prior to the Analyzer Range Evaluation End Date and End Hour, return result A. Results: Result Response Severity A The BeginDate/Hour and EndDate/Hour for [key] is inconsistent with the Critical Error Level 1 BeginDate/Hour and EndDate/Hour for the associated component. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation Conditions: Current Analyzer Range Active Equals true Environmental Protection Agency Page 42 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-51 Check Name: Required Low-Scale Span Reported for Component Related Former Checks: NBP-33 Applicability: CEM Check Description: Specifications: For an Analyzer Range record with an AnalyzerRangeCode equal to "L" or "A" and consistent dates: Locate a Span record for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the associated Component record, the SpanScaleCode is equal to "L", the BeginDate and BeginHour is on or before the Analyzer Range Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Analyzer Range Evaluation Begin Date and Begin Hour. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span records do not span the entire analyzer range evaluation period, return result B. If not found, return result A. Results: Result A Response You reported [key], but you did not report a [scale] [span parameter] span record that was active during the evaluation period, which is required when you report an analyzer range record with a range code of [range]. You reported [key], but you did not report [scale] [span parameter] span records to span the entire evaluation period for the analyzer. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Component Analyzer Range Evaluation Current Analyzer Range Active Equals true Environmental Protection Agency Page 43 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-52 Check Name: Required FLOW Span Reported for Component Related Former Checks: NBP-33 Applicability: CEM Check Description: Specifications: For a Component record with a ComponentTypeCode equal to "FLOW" and consistent dates: Locate a Span record for the location where the ComponentTypeCode is equal to "FLOW", the BeginDate and BeginHour is on or before the Component Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Component Evaluation Begin Date and Begin Hour. If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span records do not span the entire component evaluation period, return result B. Results: Result Response Severity A You reported [key], but you did not report a FLOW span record that was active during Critical Error Level 1 the evaluation period, which is required when you report a FLOW component. B You reported [key], but you did not report FLOW span records to span the entire Critical Error Level 1 evaluation period for the component. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Component Evaluation Conditions: Current Component Active Equals true Environmental Protection Agency Page 44 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-56 Check Name: Related Former Checks: Required Default Reported for System and Component Applicability: Description: Specifications: General Check For a valid System Component record with consistent dates: If the associated SystemTypeCode is equal to "C02" and the associated ComponentTypeCode is equal to "02", Set Missing Default for System and Parameter to "C02X Default for Purpose MD and Fuel NFS". Locate all Default records for the location with a ParameterCode equal to "C02X", a DefaultPurposeCode equal to "MD", a FuelCode equal to "NFS", a BeginDate and BeginHour on or before the System Component Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or before the System Component Evaluation Begin Date and Begin Hour. If not found, or the BeginDate/BeginHour and EndDate/EndHour of the retrieved default records do not span the entire system component evaluation period, Locate all Span records for the location with a ComponentTypeCode equal to "C02", a SpanScaleCode equal to "H", a BeginDate and BeginHour on or before the System Component Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or before the System Component Evaluation Begin Date and Begin Hour. If no Span and no Default records are found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved span and default records do not span the entire system component evaluation period, return result B. Results: Result A Response You did not report [type] record that was active during the evaluation period. This default is required when using a [system type] system with a [component type] component. You did not report [type] record(s) that were active for the entire evaluation period. This default is required when using a [system type] system with a [component type] component. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Component Evaluation Current System Component Active Equals true Environmental Protection Agency Page 45 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-80 Check Name: Related Former Checks: Overlapping System Component Records Applicability: Description: Specifications: General Check For a System Component record with consistent dates: Locate another System Component record for the system with a ComponentID equal to the ComponentID in the current record and a BeginDate/BeginHour that is on or after the BeginDate/BeginHour in the current record and is on or before the System Component Evaluation End Date/Hour, and a EndDate/EndHour that is null or is on or after the System Component Evaluation Begin Date/Hour. If found, return result A. Results: Result A Response You have reported two Monitor System Component records for [key] with overlapping Critical Error Level 1 start and end times during the evaluation period. Severity Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Component Evaluation Current System Component Active Equals true Environmental Protection Agency Page 46 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-53 Check Name: Duplicate Component Records Related Former Checks: Applicability: General Check Description: Specifications: For a Component record: Locate another Component record for the location with a ComponentID that is equal to the ComponentID in the current record. If found, return result A. Results: Result Response Severity A Another [recordtype] record already exists with the same [fieldnames]. Fatal Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Component Evaluation Environmental Protection Agency Page 47 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-54 Check Name: Duplicate Analyzer Range Records Related Former Checks: Applicability: General Check Description: Specifications: For an Analyzer Range record: Locate another Analyzer Range record for the location with a ComponentID equal to the Component ID in the current record and a BeginDate/BeginHour that is equal to the BeginDate/BeginHour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null, Locate another Analyzer Range record for the location with a ComponentID equal to the Component ID in the current record and an EndDate/EndHour that is equal to the EndDate/EndHour in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Analyzer Range Evaluation Environmental Protection Agency Page 48 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: COMPON-55 Check Name: System Component Record Valid Related Former Checks: Applicability: General Check Description: Specifications: For a System Component record: If the ComponentID is null, return result A. Locate another System Component record for the location with a MonitoringSystemID equal to the MonitoringSystemID in the current record, a ComponentID equal to the ComponentID in the current record, and a BeginDate/BeginHour that is equal to the BeginDate/BeginHour in the current record. If found, return result B. If not found, and the EndDate in the current record is not null, Locate another System Component record for the location with a MonitoringSystemID equal to the MonitoringSystemID in the current record, a ComponentID equal to the ComponentID in the current record, and an EndDate/EndHour that is equal to the EndDate/EndHour in the current record. If found, return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Fatal B Another [recordtype] record already exists with the same [fieldnames]. Fatal Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Component Evaluation Environmental Protection Agency Page 49 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Control Environmental Protection Agency Page 50 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-1 Check Name: Control Parameter Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Control Code (Lookup Table) Control Code (Lookup Table) Specifications: For the UnitControlData record: If the ParameterCode is null, return result A. Otherwise, Locate ParameterCode in the Control Code lookup table. If not found, return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Fatal B You reported the value [value], which is not in the list of valid values, in the field Critical Error Level 1 [fieldname] for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation Conditions: Current Control Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation Environmental Protection Agency Page 51 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-2 Check Name: Control Code Valid Related Former Checks: NBP-66 Applicability: General Check Description: Validation Tables: Control Code (Lookup Table) Control Code (Lookup Table) Specifications: For the UnitControlData record: If the ControlCode is null, return result A. Otherwise, Locate the ParameterCode and ControlCode in the Control Code lookup table. If not found, Locate the ControlCode in the Control Code lookup table. If not found, return result B. If found, and the ParameterCode is valid, return result C. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Fatal B You reported the value [value], which is not in the list of valid values, in the field Fatal [fieldname] for [key]. C For [key] you have provided a value for [fieldname] that is not appropriate for this Critical Error Level 1 parameter. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation Conditions: Current Control Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation Environmental Protection Agency Page 52 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-4 Check Name: Control Optimization Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitControlData record: If OptimizationDate is not null, If the InstallDate is valid and the OptimizationDate is prior to the Install Date, or if the RetireDate is valid and non-null and the OptimizationDate is after the RetireDate, return result A. Results: Result Response Severity A You reported an OptimizationDate of [Date] that is either before the InstallationDate or Critical Error Level 1 after the RetireDate for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation Conditions: Current Control Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation Environmental Protection Agency Page 53 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-5 Check Name: Control Install Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitControlData record: Set Control Install Date Valid to true. If InstallDate is null, If OriginalCode is not equal to 1, set Control Install Date Valid to false, and return result A. Otherwise, If InstallDate is earlier than 01/01/1930 or later than Maximum Future Date, set Control Install Date Valid to false, and return result B. If either the Commence Operation Date or Commercial Operation Date of the unit is not null, and the InstallDate is prior to the earlier of the Commence Operation Date or Commercial Operation Date, set Control Install Date Valid to false, and return result C. If OriginalCode is equal to 1, return result D. Results: Result A B C D Usage: 1 Response You did not provide [fieldname], which is required, for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. You reported an InstallDate of [date], which is earlier than the date reported as the commence operation (CO) or commence commercial operation (CCO) date. If the control was installed and operational as part of the original unit design, report" 1" in the OriginalCode field and leave the InstallDate field blank. If the control was installed between the CO and CCO dates and you have only reported the CCO date, use the CCO date as the InstallDate to eliminate this error. You reported an InstallDate for [key], but you have indicated that the control equipment was part of the original unit. Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation Severity Critical Error Level 1 Critical Error Level 1 Non-Critical Error Critical Error Level 1 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation Environmental Protection Agency Page 54 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-6 Check Name: Control Retire Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitControlData record: If RetireDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation Environmental Protection Agency Page 55 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-8 Check Name: Control Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a UnitControlData record with consistent Dates: If InstallDate is after Evaluation End Date or RetireDate is before Evaluation Begin Date, set Control Active to false. Otherwise, set Control Active to true. If the InstallDate is prior to the Evaluation Begin Date, set the Control Evaluation Begin Date to the Evaluation Begin Date. Otherwise, set the Control Evaluation Begin Date to the BeginDate. If the RetireDate is null or is after the Evaluation End Date, set the Control Evaluation End Date to the Evaluation End Date. Otherwise, set the Control Evaluation End Date to the RetireDate. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation Environmental Protection Agency Page 56 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-9 Check Name: Control Install Date Consistent with Retire Date Related Former Checks: Applicability: General Check Description: Specifications: For the UnitControl record: If InstallDate is valid and RetireDate is valid, If the RetireDate is not null and the InstallDate is after the RetireDate, set Control Install Date Consistent with Retire Date to false and return result A. Otherwise, set Control Install Date Consistent with Retire Date to true. Otherwise, set Control Install Date Consistent with Retire Date to false. Results: Result Response Severity A You reported [datefield2] which is prior to [datefieldl] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation Environmental Protection Agency Page 57 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-11 Check Name: Control Code Consistent with Unit Type Related Former Checks: NBP-64 Applicability: General Check Description: Validation Tables: Control to Unit Type Cross Check Table (Cross Check Table) Specifications: For a UnitControl record with valid ParameterCode and ControlCode: Locate a record in the Control to Unit Type cross check table where the ControlCode is equal to the ControlCode in the current record. If found, Locate all UnitType records for the unit where the BeginDate is on or before the Control Evaluation End Date and the EndDate is null or is on or before the Control Evaluation Start Date. For each UnitType record found, Locate a record in the Control to Unit Type cross check table where the ControlCode is equal to the ControlCode in the current record and the UnitTypeCode is equal to the UnitTypeCode in the retrieved UnitType record. If not found, Set Invalid Unit Type for Control to the UnitTypeCode. return result A. Results: Result Response Severity A The ControlCode [code] for the unit is not appropriate for the UnitTypeCode [type]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation Conditions: Current Control Active Equals true Environmental Protection Agency Page 58 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-13 Check Name: Related Former Checks: Overlapping Controls Applicability: Description: Specifications: General Check For a UnitControl record with valid ParameterCode and ControlCode and consistent dates: Locate another UnitControl record for the unit with the same ParameterCode and ControlCode, and an InstallDate that is on or after the InstallDate in the current record and is on or before the Control Evaluation End Date, and a RetireDate that is null or is on or after the Control Evaluation Begin Date. If found, return result A. Results: Result A Response Concurrently active records have been reported for control parameter [parameter] control type [control type]. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Unit Control Evaluation Current Control Active Equals true Environmental Protection Agency Page 59 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-14 Check Name: S02 and PART Controls for Consistent with Fuels Related Former Checks: Applicability: General Check Description: Specifications: For a UnitControl record with a ParameterCode equal to 'S02' or 'PART': Locate all Fuel records for the location where the associated Fuel Group is equal to "GAS', the BeginDate is on or before the Control Evaluation End Date, and the EndDate is null or is on or after the Control Evaluation Start Date. If found, Locate all UnitFuel records for the unit where the associated FuelGroup is not equal to "GAS', the BeginDate is on or before the Control Evaluation End Date, and the EndDate is null or is on or after the Control Evaluation Start Date. If not found, return result A. Results: Result Response Severity A There should be no S02 or PART controls if the Unit burns only gas. You have defined Non-Critical Error a [control parameter] control for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Control Evaluation Conditions: Current Control Active Equals true Environmental Protection Agency Page 60 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: CONTROL-15 Check Name: Duplicate Unit Control Records Related Former Checks: Applicability: General Check Description: Specifications: For a UnitControl record: Locate another UnitControl record for the unit with a ParameterCode equal to the ParameterCode in the current record and a ControlCode equal to the ControlCode in the current record and InstallDate that is equal to the InstallDate in the current record. If found, return result A. If not found, and the RetireDate in the current record is not null, Locate another UnitControl record for the unit with a ParameterCode equal to the ParameterCode in the current record and a ControlCode equal to the ControlCode in the current record and RetireDate that is equal to the RetireDate in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Control Evaluation Environmental Protection Agency Page 61 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications Check Category: Default and WAF 12/12/2012 12:00:00AM Environmental Protection Agency Page 62 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-3 7 Check Name: Default Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a Default record with consistent Dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Default Active to false. Otherwise, set Default Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Default Evaluation Begin Date to the Evaluation Begin Date, set the Default Evaluation Begin Hour to 0. Otherwise, set the Default Evaluation Begin Date to the BeginDate. set the Default Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the Default Evaluation End Date to the Evaluation End Date, set the Default Evaluation End Hour to 23. Otherwise, set the Default Evaluation End Date to the EndDate. set the Default Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 63 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-38 Check Name: Default Dates and Hours Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the Default record: If the EndDate is valid and not null, and the EndHour is null, set Default Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set Default Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set Default Dates and Hours Consistent to false, return result C. Otherwise, set Default Dates and Hours Consistent to true. Otherwise, set Default Dates and Hours Consistent to false. Results: Result A B C Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Default Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 64 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-3 9 Check Name: Default Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Default record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 65 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: Check Name: Related Former Checks: Applicability: Description: Specifications: For the Default record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. DEFAULT-40 Default Begin Hour Valid General Check Results: Result A B Usage: 1 1 Response Severity You have not reported the required value in the field [fieldname] for [key]. Fatal You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Process/Category: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 66 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-41 Check Name: Default End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring System record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Default Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 67 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-42 Check Name: Default End Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Default record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Default Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 68 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-47 Check Name: Default Parameter Code Valid Related Former Checks: ARP-55A, B Applicability: General Check Description: Validation Tables: Parameter to Category (Cross Check Table) Parameter to Category (Cross Check Table) Specifications: For the Default record: If the ParameterCode is null, return result A. Otherwise, Locate a record in the List of Default Parameter Codes (Parameter to Category Cross Check Table) where the ParameterCode is equal to the ParameterCode in the current Default record and the CategoryCode is equal to "DEFAULT". If not found, return result B. If found, If the Location Type is equal to "CP", If the ParameterCode begins with "H20", "SO", "CO", "02", "NO", or "HG", or is equal to "FLOX", "MNHI", "MNNX", or "AKSF", return result C. If the Location Type is equal to "MP", If the ParameterCode begins with "H20", "SO", "CO", "02", or "HG", or is equal to "NOXR", "FLOX", "MNHI", "MNNX", or "AKSF", return result C. If the Location Type is equal to "CS" or "MS", If the Parameter Code is equal to "C02R", "NOXR", "MNGF", or "MNOF", return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. The default record for [key] is not valid for a [location type]. Severity Fatal Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 69 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-48 Check Name: Default Operating Condition Code Valid Related Former Checks: ARP-69C Applicability: General Check Description: Specifications: For a Monitoring Default record with a valid ParameterCode: If the Default OperatingConditionCode is null, return result A. Otherwise, If the OperatingConditionCode is not equal to "A", "C", "U", "B", or "P", return result B. Otherwise, If the OperatingConditionCode is equal to "B" or "P", and the ParameterCode is not equal to "NOXR", return result C. If the OperatingConditionCode is equal to "C", and the ParameterCode is not equal to "S02X", "SORX", "NORX", "NOCX", or "NOXR", return result C. If the OperatingConditionCode is equal to "B", "P", or "C", the ParameterCode is equal to "NOXR", and the DefaultSourceCode is equal to "DEF", return result D. If the OperatingConditionCode is equal to "U", the ParameterCode is equal to "NOXR", return result E. Results: Result A B C D Usage: 1 1 Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. The OperatingConditionCode [value] reported for [key] is not appropriate for the associated parameter. The OperatingConditionCode [value] reported for [key] is not appropriate for the DefaultSourceCode "DEF". If you use a generic Part75 NOXR default, it must be used for all hours. The OperatingConditionCode U reported for [key] is not appropriate for parameter NOXR. If you are reporting this record to indicate that you are using a generic Part 75 LME default value for all hours, you should report an OperatingConditionCode of A. If you normally use a unit-and-fuel specific NOXR default during controlled hours, and you are reporting this record to indicate that you are using a generic Part 75 LME default value during hours when controls are not operating, you should report a ParameterCode of NORX and a DefaultPurposeCode of MD. Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Monitoring Plan Data Entry Screen Evaluation Default Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 70 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-49 Check Name: Default Value Valid Related Former Checks: ARP-8D, ARP-27B, NBP-47, ARP-58 Applicability: Description: General Check Validation Tables: Fuel Code to Minimum and Maximum Moisture Default Value (Cross Check Table) Parameter UOM (Complex Lookup Table) Fuel Code to Minimum and Maximum Moisture Default Value (Cross Check Table) Parameter UOM (Complex Lookup Table) Specifications: For a Monitoring Default record with a valid ParameterCode: If the Default Value is null, return result A. If the ParameterCode is equal to "AKSF", If the Default Value is not an integer, return result B. Otherwise, If the Default Value is less than or equal to 0, return result B. Otherwise, Locate the ParameterCode and DefaultUnitsOfMeasureCode in the Parameter Units of Measure lookup table. If found, and the DefaultValue is not equal to the DefaultValue rounded to the value specified by Decimal_Hrly in the lookup table record, return result G. If the DefaultPurposeCode is equal to "DC", Locate all Unit Type records linked to the location where the BeginDate is null or is on or before the Default Evaluation End Date and the EndDate is null or is on or after the Default Evaluation Begin Date. If the Unit Type in any the retrieved records is equal to "CC", "CT", "ICE", "OT", or "IGC", set Boiler Type to "TURBINE". Otherwise, set Boiler Type to "BOILER". If the ParameterCode is equal to "C02N" and the Boiler Type is equal to "TURBINE", and the DefaultValue is not equal to 1, return result C. If the ParameterCode is equal to "C02N" and the Boiler Type is equal to "BOILER", and the DefaultValue is not equal to 5, return result C. Otherwise, Environmental Protection Agency Page 71 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If the ParameterCode is equal to "02X" and the Boiler Type is equal to "TURBINE", and the DefaultValue is not equal to 19, return result C. If the ParameterCode is equal to "02X" and the Boiler Type is equal to "BOILER", and the DefaultValue is not equal to 14, return result C. Otherwise, If the ParameterCode is equal to "H20" and the DefaultSourceCode is equal to "DEF", Locate the FuelCode in the Fuel Code to Minimum and Maximum Moisture Default Cross Check Table. If found, If the Default Value is less than the Minimum Value in the cross check table or is greater than the Maximum Value in the cross check table, return result D. Else if the ParameterCode is equal to "H20N" and the DefaultSourceCode is equal to "DEF", If the DefaultValue is not equal to 3.0, return result F. Else if the ParameterCode is equal to "H20X" and the DefaultSourceCode is equal to "DEF", If the DefaultValue is not equal to 15.0, return result F. Else if the ParameterCode is equal to "HGX" and the DefaultSourceCode is equal to "DEF", If the DefaultValue is not equal to 1,9, 10, or 16, return result F. Else if the ParameterCode is equal to "HGC", If the DefaultValue is less than 0.50, return result F. Otherwise, If the Minimum Default Value and the Maximum Default Value are not null, If ParameterCode is equal to "NOCX" or "NORX", and the DefaultPurposeCode is equal to "MD", Locate a Monitor Method record for the location where the ParameterCode begins with "NOX", the MethodCode is equal to "CEM", the BeginDate and BeginHour is on or before the Default Evaluation End Date/End Hour and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date/Begin Hour. If found, If ParameterCode is equal to "NORX" and OperatingConditionCode is equal to "C", If the Default Value is less than 0.05 or is greater than Environmental Protection Agency Page 72 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM the Maximum Default Value, return result E. Otherwise, If the Default Value is less than the Minimum Default Value or is greater than the Maximum Default Value, return result E. If DefaultPurposeCode and the DefaultSourceCode combination is not equal to "LM" and "DEF", If the Default Value is less than the Minimum Default Value or is greater than the Maximum Default Value, return result E. Results: Result A B C D F G Usage: 1 1 Response You have not reported the required value in the field [fieldname] for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. The default value [value] reported for [key] is not valid for the unit type. The default value [value] reported for [key] is not within the valid range of values for the fuel code [fuel]. The default value [value] reported for [key] is not within the valid range of values for the parameter. The default value reported for [key] is not a valid Part75 default value for the parameter. The default value reported for [key] exceeds the maximum allowable precision. Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Monitoring Plan Data Entry Screen Evaluation Default Evaluation Severity Fatal Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 2 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 73 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-50 Check Name: Default Units of Measure Code Valid Related Former Checks: NBP-48 Applicability: General Check Description: Validation Tables: Parameter UOM (Complex Lookup Table) Units Of Measure Code (Lookup Table) Parameter UOM (Complex Lookup Table) Units Of Measure Code (Lookup Table) Specifications: For a Monitoring Default record with a valid ParameterCode: If the UnitsOfMeasure is null, If ParameterCode is not equal to "AKSF", return result A. Otherwise, If ParameterCode is not equal to "AKSF", Locate a record in the Parameter Units of Measure lookup table where the ParameterCode is equal to the Parameter Code and the UnitsOfMeasure is equal to the UnitsOfMeasure in the current default record. If found, set Maximum Default Value to the Max Value in the lookup table record. If ParameterCode is equal to "S02R", set Minimum Default Value to 0.0001. Otherwise, set Minimum Default Value to the Min Value in the lookup table record. If not found, Locate the UnitsOfMeasure in the Units of Measure Code Lookup Table. If not found, return result B. If found, return result C. If ParameterCode is equal to "AKSF", If UnitsOfMeasure is not null, return result C. Environmental Protection Agency Page 74 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result Response A You have not reported the required value in the field [fieldname] for [key]. B You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. C The units of measure [value] reported for [key] is not appropriate for the associated parameter. Usage: 1 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Monitoring Plan Data Entry Screen Evaluation Default Evaluation Severity Fatal Fatal Critical Error Level 1 Environmental Protection Agency Page 75 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-51 Check Name: Default Purpose Code Valid Related Former Checks: ARP-69D Applicability: General Check Description: Validation Tables: Default Parameter to Purpose (Cross Check Table) Default Purpose Code (Lookup Table) Default Parameter to Purpose (Cross Check Table) Default Purpose Code (Lookup Table) Specifications: For the Monitoring Default record with a valid ParameterCode: If the DefaultPurposeCode is null, set Default Purpose Code Valid to false, and return result A. Otherwise, Locate a record in Default Parameter to Purpose cross check table for the ParameterCode and the DefaultPurposeCode in the current Monitoring Default record. If found, set Default Purpose Code Valid to true. If not found, set Default Purpose Code Valid to false. Locate DefaultPurposeCode in the DefaultPurposeCode Lookup Table. If not found, return result B. Otherwise, return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. The DefaultPurposeCode for [key] is not appropriate for the associated parameter. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 76 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-52 Check Name: Default Source Code Valid Related Former Checks: NBP-49 Applicability: General Check Description: Validation Tables: Default Parameter to Source of Value (Cross Check Table) Default Source Code (Lookup Table) Default Parameter to Source of Value (Cross Check Table) Default Source Code (Lookup Table) Specifications: For the Monitoring Default record with a valid ParameterCode: If the DefaultSourceCode is null, set Default Source Code Valid to false, and return result A. Otherwise, Locate a record in Default Parameter to Source of Value cross check table for the ParameterCode and the DefaultSourceCode in the current Monitoring Default record. If found, set Default Source Code Valid to true. If not found, set Default Source Code Valid to false. Locate DefaultSourceCode in the DefaultSourceCode Lookup Table. If not found, return result B. Otherwise, return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. The DefaultSourceCode [value] reported for [key] is not appropriate for the associated parameter. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 77 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-5 3 Check Name: Default Fuel Code Valid Related Former Checks: ARP-27A, ARP-69A, ARP-69F, ARP-42 Applicability: Description: General Check Validation Tables: Fuel Code (Lookup Table) Fuel Code (Lookup Table) Specifications: For a Monitoring Default record with a valid ParameterCode: Set Default Fuel Code Valid to true. If the FuelCode is null, set Default Fuel Code Valid to false, and return result A. Otherwise, Locate FuelCode in the FuelCode Lookup Table. If not found, set Default Fuel Code Valid to false, and return result B. Otherwise, Set Default Unit Fuel to the Unit Fuel in the FuelCode lookup table record. If the ParameterCode is equal to "S02R", "C02R", or "NOXR", and the DefaultPurposeCode is not equal to "F23", If the Fuel Group in the FuelCode lookup table record is not equal to "GAS", "OIL" or "MIX", set Default Fuel Code Valid to false, and return result C. If the ParameterCode is equal to "S02R", the DefaultPurposeCode is equal to "F23", and the DefaultSourceCode is not equal to "APP", If the FuelCode is not equal to "NNG", "PNG", or "OGS", set Default Fuel Code Valid to false, and return result C. If the ParameterCode begins with "02" or is equal to "C02N", "C02X", "H20N", "H20X", "HGC", or "AKSF", If the FuelCode is not equal to "NFS", set Default Fuel Code Valid to false, and return result C. If the ParameterCode is equal to "H20", and the DefaultSourceCode is not equal to "APP", If the FuelCode is not equal to "NNG", "PNG", "CRF", or " W", or the FuelGroup in the FuelCode lookup table record is not equal to "COAL", set Default Fuel Code Valid to false, and return result C. If the ParameterCode is equal to "MNGF", If the FuelGroup in the FuelCode lookup table record is not equal to "GAS" or MIX", set Default Fuel Code Valid to false, and return result C. Environmental Protection Agency Page 78 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If the ParameterCode is equal to "MNOF", If the FuelGroup in the FuelCode lookup table record is not equal to "OIL" or MIX", set Default Fuel Code Valid to false, and return result C. Results: Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: 1 Process/Category: Result Response A You have not reported the required value in the field [fieldname] for [key]. B You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. C The fuel code [value] reported for [key] is not appropriate for the associated parameter and purpose. Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 79 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-54 Check Name: Generic LME Default Emission Rate Valid Related Former Checks: ARP-28 Applicability: LME Check Description: Validation Tables: Default Parameter, Boiler Type, and Fuel Type to Default Value (Cross Check Table) Specifications: For a Monitoring Default record with a valid ParameterCode, Default Purpose Code Valid equal to true, DefaultSourceCode equal to "DEF", and a valid FuelCode that is not equal to "NFS": If the ParameterCode is equal to "NOXR" and DefaultPurposeCode is equal to "LM", OR the ParameterCode is equal to "NORX" and DefaultPurposeCode is equal to "MD", Set NOX LME to true. If DefaultPurposeCode is equal to "MD", Locate another Monitor Default record for the location where the ParameterCode is equal to "NOXR", the DefaultPurposeCode is equal to "LM", the BeginDate is null or is on or before the Default Evaluation End Date, and the EndDate is null or is on or after the Default Evaluation Start Date If not found, set NOX LME to false. If NOX LME is true, Set Boiler Type to null. Locate all Unit Type records linked to the location where the BeginDate is null or is on or before the Default Evaluation End Date and the EndDate is null or is on or after the Default Evaluation Start Date. If the Unit Type in all the retrieved records is equal to "CC", "CT", "ICE", "OT", or "IGC" set Boiler Type to "TURBINE". If the Unit Type in all the retrieved records is equal to "CFB", "DB", "OB", "T", "PFB", or "BFB" set Boiler Type to "BOILER". If Boiler Type is null, return result A. Otherwise, Locate the Default Parameter Code, Boiler Type, and Fuel Type to Default Value cross check table record where the ParameterCode (and Boiler Type) is equal to the concatenation of "NOXR-" and the Boiler Type, and where the FuelCode is equal to the FuelCode in the current default record. If the cross check record is not found, return result A. Otherwise, If the DefaultValue in the current default record is valid, but is not equal to the DefaultValue in the cross check record, return result B. Environmental Protection Agency Page 80 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Otherwise, If the ParameterCode is not equal to "HGC" and DefaultPurposeCode is equal to "LM", Locate the Default Parameter Code, Boiler Type, and Fuel Type to Default Value cross check table record where the ParameterCode (and Boiler Type) is equal to the ParameterCode in the current default record and the FuelCode is equal to the FuelCode in the current default record. If the cross check record is not found, return result A. Otherwise, If the DefaultValue in the current default record is greater than 0, but is not equal to the DefaultValue in the cross check record, return result B. Results: Result A Response You have reported a parameter for [key] that is not appropriate for the unit type and/or fuel burned at the location. The default value [value] reported for [key] is not appropriate for the unit type and/or fuel burned at the location. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Environmental Protection Agency Page 81 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-56 Check Name: NOXR LME Default Consistent with Controls and Unit Type Related Former Checks: ARP-69E, ARP-77A, LME-EXP4 Applicability: Description: Specifications: LME Check For a Monitoring Default record with a valid ParameterCode equal to "NOXR", a DefaultPurposeCode equal to "LM", a DefaultSourceCode not equal to "DEF",and consistent dates: If the OperatingConditionCode is equal to "A", Locate a Unit Control record for the location where the ParameterCode is equal to "NOX", the ControlCode is equal to "DLNB", "H20", "NH3", "SCR", "SNCR", or "STM"; the InstallDate is null or is before the Default Evaluation End Date; and the RetireDate is null or after the Default Evaluation Begin Date. If found, return result A. If the OperatingConditionCode is equal to "B" or "P", Locate all Unit Type records for this location where the UnitTypeCode is not equal to "CC", "CT", "ICE", "IGC", or "OT"; the BeginDate is null or is before the Default Evaluation End Date; and the EndDate is null or after the Default Evaluation Begin Date. If found, return result B. If the OperatingConditionCode is equal to "C", Locate all Unit Control records for the location where the ParameterCode is equal to "NOX", the InstallDate is null or is before the Default Evaluation End Date; and the RetireDate is null or after the Default Evaluation Begin Date. If not found, return result C. If found, and the control records do not span the entire default evaluation period, return result D. Environmental Protection Agency Page 82 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C D Usage: 1 Response You reported a default record for indicating the use of a unit-and-fuel specific NOXR default value during any hour, but units with add-on NOx controls or Dry low-NOx technology can only use a unit-and-fuel specific NOXR default value during controlled hours. You reported a default record for indicating the use of separate unit-and-fuel specific NOXR default values during base and peak load hours, but only combustion turbines can use separate unit-and-fuel specific NOXR default values during base and peak load hours. You reported a default record for indicating the use of a unit-and-fuel specific NOXR default value during a controlled or uncontrolled hour, but you have not reported an active NOx control in your monitoring plan. You reported a default record for indicating the use of a unit-and-fuel specific NOXR default value during a controlled or uncontrolled hour, but you have not reported NOx control records that span the entire evaluation period. Process/Category: Conditions: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 83 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-5 8 Check Name: Default Fuel Type Consistent with Unit Fuel Related Former Checks: ARP-50 Applicability: General Check Description: Specifications: For Monitoring Default record with a valid ParameterCode and consistent dates: If Default Fuel Code Valid is equal to true, and the FuelCode is not equal to "NFS" or "MIX", Locate all Unit Fuel records linked to the location where the FuelCode is equal to the Default Unit Fuel, the BeginDate is on or before the Default Evaluation End Date, and the EndDate is null or is on or after the Default Evaluation Begin Date. If not found, return result A. If found, and the Begin and End Dates in the retrieved records do not span the entire default evaluation period, return result B. Results: Result A Response The Fuel Code [Fuel Code] for [key] is inconsistent with the active fuels for the associated unit. The Fuel Code [Fuel Code] for [key] is inconsistent with the active fuels for the associated unit for part of the evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Environmental Protection Agency Page 84 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-7 3 Check Name: NOXR LME Defaults Consistent Related Former Checks: ARP-77B, C, D Applicability: Description: Specifications: LME Check For a Monitoring Default record with a valid ParameterCode equal to "NOXR" and a DefaultPurposeCode equal to "LM", and consistent dates: If the OperatingConditionCode is equal to "A" or "C", Locate a Monitoring Default record for the location where the ParameterCode is equal to "NOXR", the DefaultPurposeCode is equal to "LM", the FuelCode is equal to the FuelCode in the current record; the OperatingConditionCode is not equal to the OperatingConditionCode in the current record; BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If found, return result A. If the OperatingConditionCode is equal to "B", Locate a Monitoring Default record for the location where the ParameterCode is equal to "NOXR", the DefaultPurposeCode is equal to "LM", the DefaultSourceCode is not equal to "DEF", the FuelCode is equal to the FuelCode in the current record; the OperatingConditionCode is equal to "P"; BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If not found, return result B. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire default evaluation period, return result C. If the OperatingConditionCode is equal to "P", Locate a Monitoring Default record for the location where the ParameterCode is equal to "NOXR", the DefaultPurposeCode is equal to "LM", the DefaultSourceCode is not equal to "DEF", the FuelCode is equal to the FuelCode in the current record; the OperatingConditionCode is equal to "B"; BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If not found, return result D. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire default evaluation period, return result E. Environmental Protection Agency Page 85 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C D Usage: 1 Response Severity You have reported a default value for [key], but you have also defined a concurrent Critical Error Level 1 NOXR default value for the same fuel. You have reported a default record for [key], but you have not reported a NOXR default Critical Error Level 1 value for this fuel for use during peak load hours that was active during the evaluation period. You have reported a default record for [key], but you have not reported a NOXR default value for this fuel for use during peak load hours for the entire evaluation period. You have reported a default record for [key], but you have not reported a NOXR default value for the fuel for use during base load hours that was active during the evaluation period. You have reported a default record for [key], but you have not reported a NOXR default Critical Error Level 1 value for this fuel for use during base load hours for the entire evaluation period. Critical Error Level 1 Critical Error Level 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Default Evaluation Current Default Active Equals true Environmental Protection Agency Page 86 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-74 Check Name: Overlapping Default Records Related Former Checks: ARP-69B Applicability: General Check Description: Specifications: For a Monitoring Default record with a valid ParameterCode: If Default Purpose Code Valid is equal to true, Locate another Monitoring Default record for the location where the ParameterCode, DefaultPurposeCode, FuelCode, and OperatingConditionCode is equal to the ParameterCode, DefaultPurposeCode, FuelCode, and OperatingConditionCode in the current default record, the BeginDate and BeginHour is on or after the BeginDate and BeginHour in the current record and is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If found, return result A. Results: Result Response Severity A You have reported more than one concurrently active [parameter] default records for Critical Error Level 1 purpose [purpose], fuel [fuel], and operating condition [condition]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Default Evaluation Conditions: Current Default Active Equals true Environmental Protection Agency Page 87 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-7 5 Check Name: Default Value Consistent with Maximum Value Related Former Checks: ARP-75A/C Applicability: Description: Specifications: General Check For a Monitoring Default record with a valid ParameterCode If Default Value Valid is equal to true, If the ParameterCode is equal to "C02N", Locate all Span records for the location where the ComponentTypeCode is equal to "C02", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the MPCValue or MECValue in any of the retrieved records is greater than zero and less than the Default Value, set Related Maximum to "MEC or MPC for C02", and return result A. If the ParameterCode is equal to "02N", Locate all Span records for the location where the ComponentTypeCode is equal to "02", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the MPCValue or MECValue in any of the retrieved records is greater than zero and less than the Default Value, set Related Maximum to "MEC or MPC for 02", and return result A. If the ParameterCode is equal to "S02X", Locate all Span records for the location where the ComponentTypeCode is equal to "S02", the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the MPCValue in any of the retrieved records is greater than zero and less than the Default Value, set Related Maximum to "MPC for S02", and return result A. If the ParameterCode is equal to "NOCX", Locate all Span records for the location where the ComponentTypeCode is equal to "NOX", the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the MPCValue in any of the retrieved records is greater than zero and less than the Default Value, set Related Maximum to "MPC for NOX", and return result A. If the ParameterCode is equal to "FLOX", Locate all Span records for the location where the ComponentTypeCode is equal to "FLOW", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the MPFValue in any of the retrieved records is greater than zero and less than the Default Value, set Related Maximum to "MPF", and return result A. If the ParameterCode is equal to "MNNX", Environmental Protection Agency Page 88 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Locate all Monitor Default records for the location where the ParameterCode is equal to "NORX", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the DefaultValue in any of the retrieved records is greater than zero and less than the Default Value in the current record, set Related Maximum to "Maximum NOx Emission Rate", and return result A. If the ParameterCode is equal to "MNGF" or "MNOF" Locate all System FuelFlow records for the location where the associated FuelCode and the UnitsOfMeasure are equal to the FuelCode and UnitsOfMeasure in the current default record, the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the MaximumFuelFlowRate in any of the retrieved records is greater than zero and less than the Default Value, set Related Maximum to "Maximum Fuel Flow Rate", and return result A. If the ParameterCode is equal to "H20N", Locate all Monitor Default records for the location where the ParameterCode is equal to "H20X", the BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If the DefaultValue in any of the retrieved records is greater than zero and less than the Default Value in the current record, set Related Maximum to "Maximum Percent H20", and return result A. If the ParameterCode is equal to "MNHI", Locate all Unit Capacity records linked to the location (or any unit linked to the location) where the BeginDate is on or before the Default Evaluation End Date, and the EndDate is null or is on or after the Default Evaluation Begin Date. If the MaximumHourlyHeatlnputCapacity in any of the retrieved records is greater than zero and less than the Default Value, set Related Maximum to "Maximum Hourly Heat Input", and return result A. Results: Result Response Severity A You have reported a default value for [key] which is greater than the [maximum] for the Critical Error Level 1 location (and fuel). Usage: 1 Process/Category: Monitoring Plan Evaluation Report Default Evaluation Conditions: Current Default Active Equals true Environmental Protection Agency Page 89 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-78 Check Name: Rectangular Duct WAF Duct Width at Test Location Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If the Duct Width is null, return result A. Otherwise, If the DuctWidth is equal to or less than zero, return result B. Results: Result A B Usage: 1 Response You have not reported the required value in the field [fieldname] for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. Severity Critical Error Level 1 Critical Error Level 1 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Current WAF Active Equals true Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 90 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-79 Check Name: Rectangular Duct WAF Duct Depth at Test Location Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If the Duct Depth is null, return result A. Otherwise, If the DuctDepth is equal to or less than zero, return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 B The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values. This value must be greater than zero. Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals True 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 91 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-80 Check Name: Rectangular Duct WAF Value Valid Related Former Checks: ARP-80 Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If the WAFValue is null, return result A. If WAFValue is greater than 0 and less than 1, If the WAFMethodCode is equal to "FT" or "AT" and the WAFValue is less than 0.9400, return result B. If the WAFMethodCode is equal to "DF" and the WAFValue is less than 0.9500, return result C. Othewise, return result D. Results: Result A B C D Usage: 1 1 Response You have not reported the required value in the field [fieldname] for [key]. You have reported a WAFValue for [key] that is below the minimum expected value of .9400 when using method "FT" or "AT". Please re-check your measurements and calculations to ensure that your WAF is correct. You have reported a WAFValue for [key] that is below the minimum expected value of .9500 when using method "DF". Please re-check your measurements and calculations to ensure that your WAF is correct. The [fieldname] for [key] is not within the range of valid values. This value must be greater than 0 and less than 1. Severity Fatal Informational Message Informational Message Critical Error Level 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Current WAF Active Equals True Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 92 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-81 Check Name: Rectangular Duct WAF Method of Determination Valid Related Former Checks: Applicability: CEM Check Description: Validation Tables: WAF Method Code (Lookup Table) WAF Method Code (Lookup Table) Specifications: For the RectangularDuctWAF record: If the WAFMethodCode is null, return result A. Otherwise, Locate the WAFMethodCode in the WAF Method Code lookup table. If not found, return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 B You reported the value [value], which is not in the list of valid values, in the field Critical Error Level 1 [fieldname] for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals True 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 93 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-82 Check Name: Rectangular Duct WAF Effective Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If WAFEffectiveDate is null, return result A. If WAFEffectiveDate is earlier than 01/01/2004 or later than the current date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 94 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-83 Check Name: Rectangular Duct WAF Effective Hour Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If WAFEffectiveHour is null, return result A. If WAFEffectiveHour is less than 0 or greater than 23 return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Fatal B You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 95 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-84 Check Name: Rectangular Duct WAF End Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If EndDate is not null, and is earlier than 01/01/2004 or later than the current date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 96 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-85 Check Name: Rectangular Duct WAF End Hour Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 97 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-86 Check Name: Rectangular Duct WAF Determination Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If WAFDeterminationDate is null, return result A. Otherwise, If WAFDeterminationDate is earlier than 01/01/2004 or later than the current date, return result B. If WAFEffectiveDate is valid, If the year of the WAFEffectiveDate is before the year of the WAFDeterminationDate, return result C. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 B You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. C You reported [datefield2] that is prior to the year of the [datefieldl] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals True 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 98 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-87 Check Name: Rectangular Duct WAF Number of WAF Test Runs Valid Related Former Checks: ARP-81A Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If the NumberOfWAFTestRuns is null, return result A. Otherwise, If the NumberOfWAFTestRuns is not between 1 and 99, return result B. If the WAFMethodCode is equal to "FT" or "AT", and the Number of WAFTestRuns is less than 3, return result C. Results: Result Response A You have not reported the required value in the field [fieldname] for [key]. B The value [value] in the field [fieldname] for [key] is not within the range of valid values from [minvalue] to [maxvalue]. C You have reported less than 3 test runs for [key], which is not valid when using method "FT" or "AT" to determine the WAF. Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals True 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 99 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-88 CheckName: Rectangular Duct WAF Number of Method 1 Traverse Points in WAF Test Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If the NumberOfTraversePointsWAF is null, return result A. Otherwise, If the NumberOfTraversePointsWAF is not between 12 and 99, return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 B The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values from [minvalue] to [maxvalue]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals True 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 100 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-89 Check Name: Rectangular Duct WAF Number of Test Ports in WAF Test Valid Related Former Checks: ARP-81B Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If the NumberOfTestPorts is null, return result A. Otherwise, If the NumberOfTestPorts is not between 1 and 99, return result B. If the WAFMethodCode is equal to "FT" or "AT", and the NumberOfTestPorts is less than 4, return result C. Results: Result A B C Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values from [minvalue] to [maxvalue]. You have reported less than 4 as the Number of Test Ports for [key], which is not valid when using method "FT" or "AT" to determine the WAF. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals True 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 101 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-90 CheckName: Rectangular Duct WAF Number of Method 1 Traverse Points in Reference Flow RATA Test Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: If the NumberOfTraversePointsRef is null, return result A. Otherwise, If the NumberOfTraversePointsRef is not between 12 and 99, return result B. Results: Result A B C Usage: 1 If the NumberOfTraversePointsWAF is valid and is not equal to the NumberOfTraversePointsRef, return result C. 1 Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values from [minvalue] to [maxvalue]. The Number of Traverse Points in the Reference Flow RATA is not equal to the Number of Method 1 Traverse Points in WAF Test for [key]. When you determine the rectangular duct WAF, you must use the same number of Method 1 traverse points as were used in conducting the Reference Flow RATA. Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals True Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 102 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-91 Check Name: WAF Dates and Hours Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the RectangularDuctWAF record: If the EndDate is valid and not null, and the EndHour is null, set WAF Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set WAF Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set WAF Dates and Hours Consistent to false, return result C. Otherwise, set WAF Dates and Hours Consistent to true. Otherwise, set WAF Dates and Hours Consistent to false. Results: Result A B C Usage: 1 Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 103 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-92 Check Name: WAF Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a RectangularDuctWAF record with consistent Dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set WAF Active to false. Otherwise, set WAF Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the WAF Evaluation Begin Date to the Evaluation Begin Date, set the WAF Evaluation Begin Hour to 0. Otherwise, set the WAF Evaluation Begin Date to the BeginDate. set the WAF Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the WAF Evaluation End Date to the Evaluation End Date, set the WAF Evaluation End Hour to 23. Otherwise, set the WAF Evaluation End Date to the EndDate. set the WAF Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Environmental Protection Agency Page 104 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-93 Check Name: Flow System reported for WAF Record Related Former Checks: ARP-79 Applicability: Description: Specifications: CEM Check For the RectangularDuctWAF record: Locate a MonitoringSystem record for the location where the SystemTypeCode is equal to "FLOW", the BeginDate/Hour is on or before the WAF Evaluation End Date and End Hour, and the EndDate is null or the EndDate/EndHour is on or after the WAF Evaluation Start Date and Start Hour. If not found, return result A. Results: Result A Response You have reported [key], which indicates that a rectangular duct WAF is being applied to the stack flow values recorded by a CEM. However, you have not reported an active FLOW monitoring system at this location. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report WAF Evaluation Current WAF Active Equals True Environmental Protection Agency Page 105 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-97 Check Name: WAF Record Consistent with Stack Shape Related Former Checks: Applicability: CEM Check Description: Specifications: For the RectangularDuctWAF record: Locate a LocationAttribute record for the location where the ShapeCode is equal to "RECT", the BeginDate is on or before the WAF Evaluation End Date, and the EndDate is null or the EndDate is on or after the WAF Evaluation Start Date. If not found, return result A. Results: Result Response Severity A You have reported [key], which indicates that a rectangular duct WAF is being applied Critical Error Level 1 to the stack flow values recorded by a CEM. However, the active LocationAttribute record for the location does not indicate that the stack has a rectangular shape. Usage: 1 Process/Category: Monitoring Plan Evaluation Report WAF Evaluation Conditions: Current WAF Active Equals true Environmental Protection Agency Page 106 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-98 Check Name: Default Group ID Valid Related Former Checks: Applicability: LME Check Description: Specifications: For the Default record with a valid ParameterCode: If GroupID is null, If ParameterCode is equal to "HGC" and DefaultPurposeCode is equal to "LM", return result A. Otherwise, If ParameterCode is not equal to "HGC" or "NOXR", or DefaultPurposeCode is not equal to "LM", return result B. Results: Result Response Severity A You did not report a GroupID for [key]. If this location does not belong to an identical Critical Error Level 1 group of units, you do not need to report the default Hg concentration in a default record. B You reported a GroupID for [key], which is not appropriate for this parameter and Critical Error Level 1 purpose. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Default Evaluation Conditions: Current Default Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 107 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-99 Check Name: Required Missing Data Default for NOXR LME Default Related Former Checks: Applicability: LME Check Description: Specifications: For a Monitoring Default record with a valid ParameterCode equal to "NOXR", a DefaultPurposeCode equal to "LM", a DefaultSourceCode not equal to "DEF", and consistent dates: Locate a Monitoring Default record for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode is equal to "MD", the FuelCode is equal to the FuelCode in the current record; BeginDate and BeginHour is on or before the Default Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Default Evaluation Begin Date and Begin Hour. If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire default evaluation period, return result B. Results: Result A B Response You have reported a unit-and-fuel specific default record for [key], but you have not reported a generic maximum NOx emission rate default value for the fuel for use during missing data hours. You have reported a unit-and-fuel specific default record for [key], but you have not reported a generic maximum NOx emission rate default value for the fuel for use during missing data hours that was active during the evaluation period. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report ¦ Current Default Active Equals true ¦ Default Evaluation Environmental Protection Agency Page 108 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-95 Check Name: Related Former Checks: Duplicate Default Records Applicability: Description: Specifications: General Check For a default record: Locate another Default record for the location with a ParameterCode that is equal to the ParameterCode in the current record and a DefaultPurposeCode equal to the DefaultPurposeCode in the current record and a FuelCode equal to the FuelCode in the current record and an OperatingConditionCode equal to the OperatingConditionCode in the current record and a BeginDate/Hour equal to the BeginDate/Hour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null., Locate another Default record for the location with a ParameterCode that is equal to the ParameterCode in the current record and a DefaultPurposeCode equal to the DefaultPurposeCode in the current record and a FuelCode equal to the FuelCode in the current record and an OperatingConditionCode equal to the OperatingConditionCode in the current record and an End Date/Hour equal to the EndDate/Hour in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Default Evaluation Environmental Protection Agency Page 109 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: DEFAULT-96 Check Name: Duplicate WAF Records Related Former Checks: Applicability: General Check Description: Specifications: For a RectangularDuctWAFData record: Locate another RectangularDuctWAFData record for the location with a BeginDate/Hour equal to the BeginDate/Hour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null., Locate another RectangularDuctWAFData record for the location with an End Date/Hour equal to the EndDate/Hour in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Rectangular Duct WAF Evaluation Environmental Protection Agency Page 110 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Formula Environmental Protection Agency Page 111 of413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-1 Check Name: Formula Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Formula record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Environmental Protection Agency Page 112 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: Check Name: Related Former Checks: Applicability: Description: Specifications: For the Formula record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. FORMULA-2 Formula Begin Hour Valid General Check Results: Result A B Usage: 1 1 Response You did not provide [fieldname], which is required, for [key]. You reported a [Fieldname] of [Hour], which is outside the range of acceptable values for this hour for [key]. Process/Category: Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Severity Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 113 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-3 Check Name: Formula End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Formula record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Formula Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Environmental Protection Agency Page 114 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-4 Check Name: Formula End Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Formula record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Formula Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Environmental Protection Agency Page 115 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-5 Check Name: Formula Dates and Hours Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the Formula record: If the EndDate is valid and not null, and the EndHour is null, set Formula Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set Formula Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set Formula Dates and Hours Consistent to false, return result C. Otherwise, set Formula Dates and Hours Consistent to true. Otherwise, set Formula Dates and Hours Consistent to false. Results: Result A B C Usage: 1 1 Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Process/Category: Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 116 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-6 Check Name: Formula Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a Formula record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current Formula Active to false. Otherwise, set Current Formula Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Formula Evaluation Begin Date to the Evaluation Begin Date. Set the Formula Evaluation Begin Hour to 0. Otherwise, set the Formula Evaluation Begin Date to the BeginDate. Set the Formula Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the Formula Evaluation End Date to the Evaluation End Date. Set the Formula Evaluation End Hour to 23. Otherwise, set the Formula Evaluation End Date to the EndDate. Set the Formula Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Environmental Protection Agency Page 117 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-7 Check Name: Formula ID Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Formula record: If the FormulalD is null, return result A. If the FormulalD does not consist of 3 alphanumeric characters: return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The FormulalD [ID] has an invalid format. A FormulalD must contain three alphanumeric characters. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Environmental Protection Agency Page 118 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-8 Check Name: Formula Parameter Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Parameter to Category (Cross Check Table) Parameter to Category (Cross Check Table) Specifications: For a Formula record: If the ParameterCode is null, return result A. Otherwise, Locate a record in the List of Formula Parameter Codes (Parameter to Category Cross Check Table) where the ParameterCode is equal to the ParameterCode in the current Formula record and the CategoryCode is equal to "FORMULA". If not found, return result B. If found, Locate a Used Identifier record for the location where the Table Code is equal to "F" and the Identifier is equal to the Formula ID in the Formula record. If found, If the ParameterCode is not equal to the Type or Parameter Code in the retrieved record, return result C. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have changed the ParameterCode for [key] from its previously reported value. You should only do this to correct invalid data. If you are using a different equation to calculate emissions, you should add a new formula. Severity Fatal Critical Error Level C Critical Error Level 2 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Environmental Protection Agency Page 119 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-9 Check Name: Formula Code Valid Related Former Checks: ARP-6, NBP-30 Applicability: General Check Description: Validation Tables: Equation Code (Lookup Table) Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table) Equation Code (Lookup Table) Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table) Specifications: For the Formula record with a valid ParameterCode: Set 02 Component Required to false. Set Moisture Method Required to false. Set Formula Code Valid to true. If the FormulaCode is null, Locate the FormulaCode in the Formula Code Lookup Table. If not found, set Formula Code Valid to false, and return result B. If found, If the Moisture Indicator in the lookup table is equal to 1, set Moisture Method Required to true. Locate a record in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the ParameterCode and FormulaCode are equal to the ParameterCode and FormulaCode in the Formula record. If not found, set Formula Code Valid to false, and return result C. If found, If Component Type and Basis begins with "02", set 02 Component Required to true. Locate a Used Identifier record for the location where the Table Code is equal to "F" and the Identifier is equal to the Formula ID in the Formula record. If found and the Formula or Basis Code is not null, If the FormulaCode is not equal to the Formula or Basis Code in the retrieved record, return result D. If the FormulaText is null, return result A. Otherwise, Environmental Protection Agency Page 120 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C D Usage: 1 1 Response You did not report a formula code or formula text for [key]. If using a standard formula, you should report the formula code for that formula; otherwise, you must provide a formula text for the formula. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have reported a [value] formula which is inappropriate for the ParameterCode [parameter] for [key]. You have changed the FormulaCode for [key] from its previously reported value. You should only do this to correct invalid data. If you are using a different equation to perform emissions calculations, you should add a new formula. Severity Critical Error Level 1 Fatal Critical Error Level 1 Critical Error Level 2 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Environmental Protection Agency Page 121 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-11 Check Name: Related Former Checks: Heat Input Apportionment/Summary Formula Valid Applicability: Description: Specifications: General Check For a Formula record with a ParameterCode equal to "HI" and a FormulaCode equal to "F-21A", "F-21B", "F-21C1, "F-21D", or "F-25": Locate a Monitoring Method records for the location where the ParameterCode is equal to "HI", the MethodCode contains "CALC", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the End Date is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, return result A. If found, If FormulaCode is equal to "F-25" and Location Type is not equal to "CS", or if FormulaCode begins with "F-21" and the Location Type is not equal to "US", "UP", or "UB", return result B. If the FormulaCode is equal to "F-21A", Locate a Monitor Load record for the location where the Units of Measure is equal to "KLBHR" or "MMBTUHR", the BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or on or after the Formula Evaluation Begin Date. If found, return result C. If the FormulaCode is equal to "F-21B", Locate a Monitor Load record for the location where the Units of Measure is equal to "MW", the BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or on or after the Formula Evaluation Begin Date. If found, return result C. If the FormulaCode is equal to "F-21D", Locate a Unit Stack Configuration where the unit location is the location in the Formula record, the associated StackPipelD begins with "CP", the BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or is on or after the Formula Evaluation Begin Date. If not found, return result D. Locate a Monitoring Method record where the location is any of the stack/pipe locations in the retrieved Unit Stack Configuration records, the ParameterCode is equal to "HI", the MethodCode is equal to "AD", the BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or on or after the Formula Evaluation Begin Date. If not found, Otherwise, If found, Environmental Protection Agency Page 122 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM return result D. Results: Result Response A You have reported [key], but you have not reported a [method] method record, which is required for a [parameter] [code] formula, during the evaluation period. B You have reported a [parameter] [code] formula for [key], which is inappropriate for a [Location Type]. C You reported [key], which is an [Code] heat input apportionment formula, but this formula code is not consistent with the units of measure in the active load record for the unit. D You reported [key], which indicates that you apportion heat input from a common pipe with an uncertified fuel flowmeter, but the unit is not linked to a common pipe that is using an Appendix D methodology to determine heat input. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Conditions: Current Formula Active Equals true Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 123 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-12 Check Name: Formula Parameter and Code Consistent with Method and Fuel Related Former Checks: Applicability: General Check Description: Specifications: For a Formula record with a valid ParameterCode and a valid FormulaCode: If the FormulaCode is equal to "F-23" Locate a Monitoring Method records for the location with a ParameterCode equal to "S02", a MethodCode containing "F23", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, set Appropriate Method for Formula to "S02/F23", return result A. If the FormulaCode is equal to "F-24A", Locate a Monitoring Method records for the location with a ParameterCode equal to "NOX", a MethodCode containing "NOXR", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, set Appropriate Method for Formula to "NOX/NOXR", return result A. If the FormulaCode is equal to "F-28", Locate a Monitoring Method records for the location with a ParameterCode equal to "HGM", a MethodCode beginning with "CEM" or equal to "LME", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, set Appropriate Method for Formula to "HGM CEM or LME", return result A. If the FormulaCode is equal to "F-29", Locate a Monitoring Method records for the location with a ParameterCode equal to "HGM", a MethodCode beginning with "CEM" or equal to " AK", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, set Appropriate Method for Formula to "HGM CEM or AK", return result A. If the FormulaCode is equal to "G-l", "G-2", "G-3", "G-5", "G-6", or "G-8", Locate a Monitoring Method records for the location with a ParameterCode equal to "C02M", a MethodCode containing "FSA", a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an End Date that is null or and EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, set Appropriate Method for Formula to "C02M/FSA", return result A. If found, and FormulaCode is equal to "G-2" or "G-3", Locate a Unit Fuel record for the location with a FuelCode equal to "C", a BeginDate that is on or before the Formula Evaluation End Date, and an End Date that is null or is on or after the Formula Evaluation Begin Date. If not found, return result B. Environmental Protection Agency Page 124 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B Response You have reported [key], but you have not reported a [method] method record, which is required for a [parameter] [code] formula, during the evaluation period. You have reported [key], but the unit is not burning coal, which is required when using this formula. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Environmental Protection Agency Page 125 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-13 Check Name: Formula Parameter and Code Consistent with System or Fuel Related Former Checks: ARP-7, ARP-86 Applicability: Description: Validation Tables: General Check Formula Parameter and Component Type and Basis to Formula Code (Cross Check Table) Specifications: For a Formula record with a valid ParameterCode and a valid FormulaCode: If the FormulaCode is equal to "D-12", "D-15A", or "G-4A", Locate all Monitor System records for the location where the SystemTypeCode is equal to "OILM", "OILV", or "GAS", SystemDesignationCode is equal to "P", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If less than two are found, or if the BeginDate/BeginHour and EndDate/EndHour of any pair of system records do not overlap during the evaluation period, AND the location is a unit, Locate all Monitor System records for the location and all common pipe locations linked to the location where the SystemTypeCode is equal to "OILM", "OILV", or "GAS", SystemDesignationCode is equal to "P", the BeginDate and BeginHour (or intersection between the BeginDate and BeginHour of the System and the associated Unit Stack Configuration records) is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null (or EndDate of the System and the associated UnitStackConfiguration record are both null) or EndDate and EndHour (or intersection between the EndDate and EndHour of the System and the associated Unit Stack Configuration record) is on or after the Formula Evaluation Begin Date and Begin Hour. If less than two are found, or if the BeginDate/BeginHour and EndDate/EndHour of any pair of system records do not overlap during the evaluation period, If at least one system record is found, Locate a Fuel Record for the location where the FuelGroup is equal to "GAS" or "OIL", the IndicatorCode is equal to "I" or "E", BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If the Formula Code is equal to "D-15A", Locate a Formula record for the location where the FormulaCode is equal to "F-21A", "F-21B", or "F-21D", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, or if the BeginDate/BeginHour of any retrieved formula record does not overlap any of the retrieved system records during the evaluation period, If not found, Set the Appropriate System or Component for Formula to "oil or gas", and return result A. Otherwise, Set the Appropriate System or Component for Formula to "oil or gas", and return result A. Environmental Protection Agency Page 126 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Otherwise, Set the Appropriate System or Component for Formula to "oil or gas", and return result A. If the FormulaCode is equal to "E-2", Locate all Monitor System records for the location where the SystemTypeCode is equal to "NOXE", the FuelCode is not equal to "MIX", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If less than two are found, or if the BeginDate/BeginHour and EndDate/EndHour of any pair of system records do not overlap during the evaluation period, Set the Appropriate System or Component for Formula to "NOXE", and return result A. If the FormulaCode is equal to "D-3", Locate a Monitoring System record for the location where the SystemType is equal to "OILV", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, Set the Appropriate System or Component for Formula to "OILV", and return result B. If the FormulaCode is equal to "N-GAS", Locate a Monitoring System record for the location where the SystemType is equal to "GAS", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked during the formula evaluation period (via the System Component table) to at least two concurrently active Component records with a ComponentTypeCode equal to "GFFM" or "BGFF". If not found, Set the Appropriate System or Component for Formula to "GAS", and return result C. If the FormulaCode is equal to "N-OIL", Locate a Monitoring System record for the location where the SystemType is equal to "OILM" or "OILV", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked during the formula evaluation period (via the System Component table) to at least two concurrently active Component records with a ComponentTypeCode equal to "OFFM" or "BOFF". If not found, Set the Appropriate System or Component for Formula to "OILM or OILV", and return result C. If the FormulaCode is equal to "X-FL" or "T-FL", Locate a Monitoring System record for the location where the SystemType is equal to "FLOW", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked during the formula evaluation period (via the System Component table) to at least two concurrently active Component records with a ComponentTypeCode equal to "FLOW". If not found, Set the Appropriate System or Component for Formula to "FLOW", and return result C. If the ParameterCode is equal to "H20", Locate a Monitoring System record for the location where the SystemType is equal to "H20", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. Environmental Protection Agency Page 127 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If not found, Set the Appropriate System or Component for Formula to "H20", and return result B. If the ParameterCode is equal to "HGC", Locate a Monitoring System record for the location where the SystemType is equal to "HGK", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, Set the Appropriate System or Component for Formula to "HGK", and return result B. If the ParameterCode is equal to "HGM", Locate a Monitor Method record for the location where the ParameterCode is equal to "HGM", the MethodCode contains "CEM", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If found, Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the ParameterCode and FormulaCode are equal to the ParameterCode and FormulaCode in the Formula record and the ComponentTypeAndBasis is not null. Locate a System Component record for the location where the concatenated ComponentTypeCode + BasisCode is equal to the ComponentTypeAndBasis in any of the retrieved cross-check records, the BeginDate and BeginHour is on or before the earlier of the Method EndDate/EndHour and the Formula Evaluation End Date/End Hour, and the EndDate is null or the EndDate and EndHour is on or after the later of the Method BeginDate/BeginHour and the Formula Evaluation Begin Date/Begin Hour. If not found, Set the Appropriate System or Component for Formula to the list of ComponentTypeAndBasis values in the retrieved cross-check records, and return result D. Otherwise, Locate all records in the Formula Parameter and Component Type and Basis to Formula Code cross check table where the ParameterCode and FormulaCode are equal to the ParameterCode and FormulaCode in the Formula record and the ComponentTypeAndBasis is not null. If found, If the ParameterCode is equal to "NOXR", For each of the retrieved cross-check records where ComponentTypeAndBasis does not equal "02B", If the ComponentTypeAndBasis begins with "02", Locate a Monitoring System record for the location where the SystemType is equal to "NOX", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked during the formula evaluation period (via the System Component table) to Component records with a concatenated ComponentTypeCode + BasisCode equal to the ComponentTypeAndBasis in the cross-check record or "02B", If not found, Set the Appropriate System or Component for Formula to "NOX", and return Environmental Protection Agency Page 128 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM result B. Otherwise, Locate a Monitoring System record for the location where the SystemType is equal to "NOX", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked during the formula evaluation period (via the System Component table) to Component records with a concatenated ComponentTypeCode + BasisCode equal to the ComponentTypeAndBasis in the retrieved cross-check records. If not found, Set the Appropriate System or Component for Formula to "NOX", and return result B. If the ParameterCode is equal to "S02R", For each of the retrieved cross-check records, If the ComponentTypeAndBasis begins with "02", Locate a Monitoring System record for the location where the SystemType is equal to "S02R", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked during the formula evaluation period (via the System Component table) to Component records with a concatenated ComponentTypeCode + BasisCode equal to the ComponentTypeAndBasis in the cross-check record or "02B", If not found, Set the Appropriate System or Component for Formula to "S02R", and return result B. Otherwise, Locate a Monitoring System record for the location where the SystemType is equal to "S02R", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour, and the Monitoring System record is linked during the formula evaluation period (via the System Component table) to Component records with a concatenated ComponentTypeCode + BasisCode equal to the ComponentTypeAndBasis in the retrieved cross-check records. If not found, Set the Appropriate System or Component for Formula to "S02R", and return result B. Otherwise, Locate a System Component record for the location where the concatenated ComponentTypeCode + BasisCode is equal to the ComponentTypeAndBasis in an^ of the retrieved cross-check records, the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, If the ComponentTypeAndBasis in any of the retreived cross-check records is equal to "GFFM" or "BGFF", Environmental Protection Agency Page 129 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Locate a Fuel Record for the location where the FuelGroup is equal to "GAS", the IndicatorCode is equal to "I" or "E", BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If found, exit this check with no result. If the ComponentTypeAndBasis in any of the retreived cross-check records is equal to "OFFM" or "BOFF", Locate a Fuel Record for the location where the FuelGroup is equal to "OIL", the IndicatorCode is equal to "I" or "E", BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If found, exit this check with no result. Set the Appropriate System or Component for Formula to the list of ComponentTypeAndBasis values in the retrieved cross-check records, and return result D. Results: Result Response Severity A You reported [key], which is a [parameter] summation formula for multiple fuels, but you did not report two [system type] systems during the evaluation period. Critical Error Level 1 B You reported [key], but you did not report a [system type] monitoring system that is appropriate for a [parameter] [code] formula. Critical Error Level 2 C You reported a [parameter] formula for [key], but you have not reported a [system type] system containing more than one component to measure flow. Critical Error Level 1 D You reported [key], but you did not report a component with a component type code and Critical Error Level 2 basis code that is appropriate for the formula. A [parameter] [code] formula requires a [component and basis] component. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Formula Evaluation Conditions: Current Formula Active Equals true Environmental Protection Agency Page 130 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-14 Check Name: Formula Code Consistent with Fuel Related Former Checks: NBP-32 Applicability: General Check Description: Specifications: For a Formula record with a ParameterCode equal to "S02" and a FormulaCode equal to "F-23" or "D-5", If FormulaCode is equal to "D-5", Locate a Unit Fuel record linked to the location where the FuelCode is equal to "PNG" or "NNG", the BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or on or after the Formula Evaluation Begin Date. If not found, return result A. If FormulaCode is equal to "F-23", Locate a Unit Fuel record linked to the location where the associated FuelGroup is equal to "GAS" or "OIL", the BeginDate is on or before the Formula Evaluation End Date, and the EndDate is null or on or after the Formula Evaluation Begin Date. If not found, return result A. Results: Result A You reported [key], but you did not burn natural gas at the unit, which is required when Critical Error Level 1 using a [Code] formula. Response Severity Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Environmental Protection Agency Page 131 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-15 Check Name: Required H20 Method Reported for Formula Related Former Checks: ARP-46 Applicability: General Check Description: Specifications: For a Monitor Formula record with a valid ParameterCode and a valid FormulaCode: Set Moisture Default Required to false. If Moisture Method Required equal to true: Locate all Monitoring Method records for the location with a ParameterCode equal to "H20", a BeginDate and BeginHour on or before the Formula Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, return result A. If found, If the MethodCode in any of the retrieved records is equal to "MMS", "MWD", or "MTB", set Moisture Default Required to true. If the BeginDate/BeginHour and EndDate/EndHour of the retrieved method records do not span the entire formula evaluation period, return result B. Results: Result A You have reported a [code] formula for [key] that requires moisture correction, but you Critical Error Level 1 have not defined a methodology that was active during the evaluation period for determining H20. You have reported a [code] formula for [key] which requires moisture correction, but Critical Error Level 1 you have not reported H20 method records that span the entire evaluation period. Response Severity B Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Environmental Protection Agency Page 132 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-16 Check Name: Required Formula Reported for F-Factor Formula Related Former Checks: Applicability: CEM Check Description: Validation Tables: Formula Code to F-Factor Parameter (Cross Check Table) Specifications: For a Monitor Formula record with a ParameterCode equal to "FD", "FC", or "FW", and a valid FormulaCode: Locate all records in the Formula Code to F-Factor Parameter cross-check table where the ParameterCode is equal to the ParameterCode in the formula record. Locate all Monitor Formula records for the location where the FormulaCode is equal to the FormulaCode in anx of the retrieved cross-check records, a BeginDate and BeginHour that is on or before the Formula Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Formula Evaluation Begin Date and Begin Hour. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire formula evaluation period, return result B. If not found, return result A. Results: Result A Response You have reported an F-factor formula [Formula ID], but no corresponding formulas that were active during the evaluation period that require the use of an F-factor. You have reported an F-factor formula [Formula ID], but the corresponding formulas that use the F-factor do not span the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Environmental Protection Agency Page 133 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-17 Check Name: Required Defaults Reported for Formula Related Former Checks: Applicability: General Check Description: Specifications: For a Monitor Formula record with a ParameterCode equal to "HI" and a valid FormulaCode: Set Missing Default for Formula to null. Set Incomplete Default for Formula to null. If 02 Component Required is equal to true. Locate a MonitorDefault record for the location where the ParameterCode is equal to "02N", the BeginDate and BeginHour is on or before the Formula Evaluation End Date and End Hour, and the End Date is null or the EndDate and EndHour is on or after the Formula Evaluation Begin Date and Begin Hour. If not found, append "02N" to Missing Default for Formula. If found, and the retrieved records do not span the entire formula evaluation periods, append "02N" to Incomplete Default for Formula. If Missing Default for Formula is not null, and Incomplete Default for Formula is null, return result A. If Missing Default for Formula is null, and Incomplete Default for Formula is not null, return result B. If Missing Default for Formula is not null, and Incomplete Default for Formula is not null, return result C. Results: Result A Response You did not report [missing] default record(s) that was/were active during the evaluation period for this location. These defaults are required when using formula code [code] to calculate HI during missing data situations. You did not report [incomplete] default record(s) for this location for the entire evaluation period. These defaults are required when using formula code [code] to calculate HI during missing data situations. You did not report [missing] default record(s) that was/were active during the evaluation period for this location. Also, you did not report [incomplete] default record(s) that are active for the entire evaluation period. These defaults are required when using formula code [code] to calculate HI during missing data situations. Severity Critical Error Level 1 B Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Formula Evaluation Current Formula Active Equals true Environmental Protection Agency Page 134 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FORMULA-18 Check Name: Duplicate Formula Records Related Former Checks: Applicability: General Check Description: Specifications: For a Formula record: Locate another Formula record for the location with a FormulalD that is equal to the FormulalD in the current record. If found, return result A. Results: Result Response Severity A Another [recordtype] record already exists with the same [fieldnames]. Fatal Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Formula Evaluation Environmental Protection Agency Page 135 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications Check Category: Fuel 12/12/2012 12:00:00AM Environmental Protection Agency Page 136 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-39 Check Name: Fuel Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a UnitFuelData record with consistent Dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Fuel Active to false. Otherwise, set Fuel Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Fuel Evaluation Begin Date to the Evaluation Begin Date. Otherwise, set the Fuel Evaluation Begin Date to the BeginDate. If the EndDate is null or is after the Evaluation End Date, set the Fuel Evaluation End Date to the Evaluation End Date. Otherwise, set the Fuel Evaluation End Date to the EndDate. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Environmental Protection Agency Page 137 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-40 Check Name: Unit Fuel Demonstration GCV Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Dem Method Code (Lookup Table) Dem Method Code (Lookup Table) Specifications: For the UnitFuelData record with a DemGCV that is not null: Locate record in the Fuel Demonstration Method lookup table where the DEM_PARAMETER is equal to 'GCV' and the Dem_Method is equal to the DemGCV in the current UnitFuelData record. If not found, return result A. If found, and the Fuel Group is not null, If the Fuel Group is not equal to "GAS" or "OIL", return result B. Results: Result A Response You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have provided the demonstration method for GCV monthly fuel sampling or %S daily or annual fuel sampling for [key] but this information is not appropriate for this Severity Critical Error Level 1 B Critical Error Level 1 fuel. Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Current Fuel Active Equals true Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 138 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-41 Check Name: Unit Fuel Demonstration S02 Valid Related Former Checks: ARP-32A Applicability: General Check Description: Validation Tables: Dem Method Code (Lookup Table) Dem Method Code (Lookup Table) Specifications: For the UnitFuelData record with a DemS02 that is not null: Locate record in the Fuel Demonstration Method lookup table where the DEM_PARAMETER is equal to 'SULFUR' and the Dem_Method is equal to the DemS02 in the current UnitFuelData record. If not found, return result A. If found, and the Fuel Group is not null, If the Fuel Group is not equal to "GAS" or "OIL", return result B. Results: Result A Response You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have provided the demonstration method for GCV monthly fuel sampling or %S daily or annual fuel sampling for [key] but this information is not appropriate for this Severity Critical Error Level 1 B Critical Error Level 1 fuel. Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Current Fuel Active Equals true Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 139 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-42 Check Name: Unit Fuel Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitFuelData record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1930 or later than Maximum Future Date, return result B. If either the Commence Operation Date or Commercial Operation Date of the unit is not null, and the BeginDate is prior to the earlier of the Commence Operation Date or Commercial Operation Date, return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. You reported a BeginDate of [date], which is earlier than the date reported as the commence operation (CO) or commence commercial operation (CCO) date. If the fuel began to be used between the CO and CCO dates and you have only reported the CCO date, use the CCO date as the BeginDate to eliminate this error. Severity Fatal Critical Error Level 1 C Non-Critical Error Usage: Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 140 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-43 Check Name: Unit Fuel End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitFuelData record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 141 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-44 Check Name: Fuel Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the UnitFuelData record: If the BeginDate is valid and the EndDate is valid, If EndDate is not null, and the BeginDate is after the EndDate, set Fuel Dates Consistent to false, and return result A. Otherwise, set Fuel Dates Consistent to true. Otherwise, set Fuel Dates Consistent to false. Results: Result Response Severity A You reported [datefield2] which is prior to [datefieldl] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 142 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-45 Check Name: Unit Fuel Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Fuel Code (Lookup Table) Fuel Code (Lookup Table) Specifications: For the UnitFuelData record: If the FuelCode is null, return result A. Otherwise, Locate FuelCode in the Fuel Code Lookup Table. If found, set Fuel Group to the Fuel Group in the retrieved record. If not found, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Current Fuel Active Equals true Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 143 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-46 Check Name: Fuel Consistent with Unit Type Related Former Checks: Applicability: General Check Description: Specifications: For a Fuel record with a FuelCode equal to "C": Locate all Unit Type records for the unit where the UnitTypeCode is equal to "CT", "CC", "ICE", or "OT", the BeginDate is on or before the Fuel Evaluation End Date, and the EndDate is null or is on or after the Fuel Evaluation Start Date. If found, return result A. Results: Result Response Severity A The fuel type for [key] is not appropriate for this type of unit. Non-Critical Error Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Conditions: Current Fuel Active Equals true Environmental Protection Agency Page 144 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-48 Check Name: Fuel Demonstration Methods Consistent with Method Related Former Checks: ARP-32B Applicability: General Check Description: Specifications: For the Unit Fuel record with a valid non-null DemGCV or a valid non-null DemS02: Locate a MonitoringMethod record where the location is the unit in the fuel record, the MethodCode begins with "AD", a BeginDate that is on or before the Fuel Evaluation End Date, and an EndDate that is null or is on or after the Fuel Evaluation Start Date. Locate all UnitStackConfiguration records where the unit location is unit in the Unit Fuel record, the associated StackPipelD begins with "CP" or "MP", the BeginDate is on or before the Fuel Evaluation End Date, and the EndDate is null or is on or after the Fuel Evaluation Start Date. If no UnitStackConfiguration records are found, return result A. Locate MonitoringMethod records where the location is any stack/pipe location in the retrieved Unit Stack Configuration records, the MethodCode begins with "AD", the BeginDate is on or before the Fuel Evaluation End Date, and the EndDate is null or is on or after the Fuel Evaluation Start Date. If no records are found, return result A. If not found, Otherwise, Results: Result A Response You have provided the demonstration method for GCV monthly fuel sampling or for %S daily or annual fuel sampling for [key], but you did not indicate the use of Appendix D for this unit. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Unit Fuel Evaluation Current Fuel Active Equals true Environmental Protection Agency Page 145 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-49 Check Name: Unit Fuel Ozone Season Indicator Valid Related Former Checks: Applicability: General Check Description: Specifications: For the UnitFuelData record: If the OzoneSeasonlndicator is equal to " 1" and the IndicatorCode is not equal to " S", return result A. Results: Result Response Severity A The ozone season indicator only applies to secondary fuels, but you have reported this Critical Error Level 1 indicator for a non-secondary fuel for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Conditions: Current Fuel Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 146 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-51 Check Name: Unit Fuel Primary/Secondary Indicator Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Indicator Code (Lookup Table) Indicator Code (Lookup Table) Specifications: For the UnitFuelData record: If the IndicatorCode is null, return result A. Otherwise, Locate IndicatorCode in the Fuel Indicator Code Lookup Table. If not found, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Unit Fuel Evaluation Current Fuel Active Equals true Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 147 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUEL-52 Check Name: Related Former Checks: Duplicate Unit Fuel Records Applicability: Description: Specifications: General Check For a Unit Fuel record: Locate another Fuel record for the location with a FuelCode equal to the FuelCode in the current record and BeginDate that is equal to the BeginDate in the current record. If found, return result A. If not found, and the EndDate in the current record is not null, Locate another UnitFuel record for the unit with a FuelCode equal to the FuelCode in the current record and EndDate that is equal to the EndDate in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Fuel Evaluation Environmental Protection Agency Page 148 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Fuel Flow Environmental Protection Agency Page 149 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-2 Check Name: Fuel Flow Maximum Fuel Flow Rate Valid Related Former Checks: Applicability: Appendix D Check Description: Specifications: For a MonitoringSystemFuelFlowData record: If the MaximumFuelFlowRate is null, return result A. Otherwise, If the MaximumFuelFlowRate is not greater than zero, return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Fatal B The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values. This value must be greater than zero. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation Conditions: Current Fuel Flow Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 150 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-3 Check Name: Fuel Flow Begin Date Valid Related Former Checks: Applicability: Appendix D Check Description: Specifications: For a MonitoringSystemFuelFlowData record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 151 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-4 Check Name: Fuel Flow Begin Hour Valid Related Former Checks: Applicability: Appendix D Check Description: Specifications: For a MonitoringSystemFuelFlowData record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. Results: Result A B Usage: 1 1 Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Hour], which is outside the range of acceptable values for this hour for [key]. Process/Category: Process/Category: Severity Critical Error Level 1 Critical Error Level 1 Monitoring Plan Evaluation Report System FuelFlow Evaluation Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 152 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-5 Check Name: Fuel Flow End Date Valid Related Former Checks: Applicability: Appendix D Check Description: Specifications: For a MonitoringSystemFuelFlowData record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 153 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-6 Check Name: Fuel Flow End Hour Valid Related Former Checks: Applicability: Appendix D Check Description: Specifications: For a MonitoringSystemFuelFlowData record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 154 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-7 Check Name: Fuel Flow Dates and Hours Consistent Related Former Checks: Applicability: Appendix D Check Description: Specifications: For a MonitoringSystemFuelFlowData record: If the EndDate is valid and not null, and the EndHour is null, set System FuelFlow Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set System FuelFlow Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set System FuelFlow Dates and Hours Consistent to false, return result C. Otherwise, set System FuelFlow Dates and Hours Consistent to true. Otherwise, set System FuelFlow Dates and Hours Consistent to false. Results: Result A B C Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 155 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-8 Check Name: Fuel Flow Maximum Fuel Flow Rate Source Code Valid Related Former Checks: Applicability: Appendix D Check Description: Validation Tables: Max Rate Source Code (Lookup Table) Max Rate Source Code (Lookup Table) Specifications: For a MonitoringSystemFuelFlowData record: If the MaximumFuelFlowRateSourceCode is null, return result A. Otherwise, Locate the MaximumFuelFlowRateSourceCode in the Fuel Flow Maximum Rate Source Code Lookup Table. If not found, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation Current Fuel Flow Active Equals true Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 156 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-10 Check Name: Fuel Flow Units of Measure Code Valid Related Former Checks: NBP-67 Applicability: Appendix D Check Description: Validation Tables: Parameter UOM (Complex Lookup Table) System Type Code (Complex Lookup Table) Units Of Measure Code (Lookup Table) Parameter UOM (Complex Lookup Table) System Type Code (Complex Lookup Table) Units Of Measure Code (Lookup Table) Specifications: For a MonitoringSystemFuelFlowData record: If the UnitsOfMeasureCode is null, return result A. Otherwise, Locate the MonitoringSystemFuelFlowData UnitsOfMeasureCode in the Parameter Units of Measure Lookup Table where the ParameterCode is equal to the System Parameter Code and the UnitsOfMeasure is equal to the UnitsOfMeasure in the MonitoringSystemFuelFlowData record. If not found, Locate the UnitsOfMeasure in the Units of Measure Code Lookup Table. If not found, return result B. If found, return result C. Results: Result A B C Response You did not provide [fieldname], which is required, for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You defined a Units of Measure of [value] that is inappropriate for the system type for [key]. Severity Fatal Fatal Critical Error Level 1 Usage: 1 1 Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation Conditions: Current Fuel Flow Active Equals true Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 157 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-11 Check Name: Fuel Flow Active Status Related Former Checks: Applicability: Appendix D Check Description: Specifications: For a MonitoringSystemFuelFlowData record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current Fuel Flow Active to false. Otherwise, set Current Fuel Flow Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Fuel Flow Evaluation Begin Date to the Evaluation Begin Date, set the Fuel Flow Evaluation Begin Hour to 0. Otherwise, set the Fuel Flow Evaluation Begin Date to the BeginDate. set the Fuel Flow Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the Fuel Flow Evaluation End Date to the Evaluation End Date, set the Fuel Flow Evaluation End Hour to 23. Otherwise, set the Fuel Flow Evaluation End Date to the EndDate. set the Fuel Flow Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report System FuelFlow Evaluation Environmental Protection Agency Page 158 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-17 Check Name: Related Former Checks: Overlapping Fuel Flow Records Applicability: Description: Specifications: Appendix D Check For a SystemFuelFlow record with consistent dates: Locate another SystemFuelFlow record for the system with a BeginDate/BeginHour that is on or after the BeginDate/BeginHour in the current record and is on or before the Fuel Flow Evaluation End Date/Hour, and an EndDate/EndHour that is null or is on or after the Fuel Flow Evaluation Start Date/Hour. If found, return result A. Results: Result A You have reported more than one associated fuel flow record for System ID [System ID] Critical Error Level 1 with overlapping start and end times during the evaluation period. Response Severity Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System FuelFlow Evaluation Current Fuel Flow Active Equals true Environmental Protection Agency Page 159 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-18 Check Name: Related Former Checks: System and FuelFlow Dates Consistent Applicability: Description: Specifications: General Check For a MonitoringSystemFuelFlowData record with consistent dates and an associated Monitoring System record with consistent dates: If the BeginDate in the current Monitoring System record is after the BeginDate in the current SystemFuelFlow record If the BeginDate in the current Monitoring System record is equal to the BeginDate in the current SystemFuelFlow record, and the BeginHour in the current Monitoring System record is after the BeginHour in the current SystemFuelFlow record, return result A. If the EndDate in the current Monitoring System record is not null, and the EndDate in the current SystemFuelFlow record is null, return result A. If the EndDate in the current Monitoring System record is prior to the EndDate in the current SystemFuelFlow record, return result A. If the EndDate in the current Monitoring System record is equal to the EndDate in the current SystemFuelFlow record, and the EndHour in the current Monitoring System record is prior to the EndHour in the current SystemFuelFlow record, return result A. return result A. Results: Result A Response The Start and End Date/Hour for [key] is inconsistent with the Start and End Date/Hour Critical Error Level 1 for the associated monitoring system. Severity Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System FuelFlow Evaluation Current Fuel Flow Active Equals true Environmental Protection Agency Page 160 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: FUELFLW-19 Check Name: Duplicate System Fuel Flow Records Related Former Checks: Applicability: General Check Description: Specifications: For a System Fuel Flow record: Locate another System Fuel Flow record for the system with a BeginDate/Hour equal to the BeginDate/Hour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null., Locate another System Fuel Flow record for the system with an End Date/Hour equal to the EndDate/Hour in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation System FuelFlow Evaluation Environmental Protection Agency Page 161 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Load Environmental Protection Agency Page 162 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-1 Check Name: Load Analysis Date Valid Related Former Checks: ARP-31A/B Applicability: General Check Description: Specifications: For a MonitoringLoadData Record: If Load Levels Required is equal to false, If the LoadAnalysisDate is not null, return result A. Otherwise, If LoadAnalysisDate is null, If the fourth quarter after the Current Z,ocaft'o«.CommenceCommercialOperationDate begins before the current system date, return result B. Otherwise, return result E. Otherwise, If LoadAnalysisDate is prior to 1/1/1993, return result C. If the LoadAnalysisDate is later than the BeginDate, If the BeginDate is on or after 1/1/2001, return result D. Results: Result A B C D E Usage: 1 Response You have provided extraneous data in [fieldname] in the Monitor Load record for [key]. This information is generally not required for a location without CEMs or for a peaking unit or a stack serving only peaking units. For [key] you have not provided required data in [fieldname] for a non-peaking unit. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. You reported [datefield2] which is prior to [datefieldl] for [key]. For [key] you have not provided required data in [fieldname] for a non-peaking unit. You must provide this information as soon as you have conducted a load analysis. Process/Category: Conditions: Monitoring Plan Evaluation Report ¦ Current Load Active Equals true ¦ Load Evaluation Severity Non-Critical Error Critical Error Level 1 Critical Error Level 1 Informational Message Informational Message Environmental Protection Agency Page 163 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-2 Check Name: Load Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report Load Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 164 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-3 Check Name: Load Begin Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. Results: Result A B Usage: 1 1 Response Severity You have not reported the required value in the field [fieldname] for [key]. Fatal You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Process/Category: Process/Category: Monitoring Plan Evaluation Report Load Evaluation Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 165 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-4 Check Name: Load End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Load Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 166 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-5 Check Name: Load End Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Load Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 167 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-6 Check Name: Load Dates and Hours Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData record: If the EndDate is valid and not null, and the EndHour is null, set Load Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set Load Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set Load Dates and Hours Consistent to false, return result C. Otherwise, set Load Dates and Hours Consistent to true. Results: Result A B C Usage: 1 Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. 1 Process/Category: Process/Category: Monitoring Plan Evaluation Report Load Evaluation Monitoring Plan Data Entry Screen Evaluation Load Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 168 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-7 Check Name: Load Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a MonitoringLoadData record with consistent Dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Load Active to false. Otherwise, set Load Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Load Evaluation Begin Date to the Evaluation Begin Date, set the Load Evaluation Begin Hour to 0. Otherwise, set the Load Evaluation Begin Date to the BeginDate. set the Load Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the Load Evaluation End Date to the Evaluation End Date, set the Load Evaluation End Hour to 23. Otherwise, set the Load Evaluation End Date to the EndDate. set the Load Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report Load Evaluation Environmental Protection Agency Page 169 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-8 Check Name: Maximum Load Value Valid Related Former Checks: ARP-70A Applicability: General Check Description: Specifications: For a MonitoringLoadData Record: If the Non Load Based Indicator is equal to 1, If the MaximumLoadValue is not null, return result A. Otherwise, If the MaximumLoadValue is null, return result B. Otherwise, If the MaximumLoadValue is less than or equal to zero, return result C. Results: Result Response A You have indicated that this unit/stack is a non-load-based unit/stack, but you have reported maximum hourly load information. Non-load-based units and stacks should not report maximum hourly load. B You have indicated that this unit/stack is a load-based unit/stack, but you have not reported maximum hourly load information. Load-based units and stacks must report maximum hourly load. C The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Load Evaluation Conditions: Current Load Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 170 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-9 Check Name: Load Upper Operation Boundary Valid Related Former Checks: ARP-30 Applicability: General Check Description: Specifications: For the MonitoringLoadData Record: If Range of Operation Required is equal to true, If the UpperOperationBoundary is null, return result A. Otherwise, If the UpperOperationBoundary is not greater than zero, return result B. If the UpperOperationBoundary is greater than the MaximumLoadValue and MaximumLoadValue is greater than 0, return result C. Results: Result Response A You have not reported the required value in the field [fieldname] for [key]. B The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. C The Upper Boundary Range provided for [key] exceeds the maximum hourly gross load in Monitor Load record data. Seventy Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Load Evaluation Conditions: Current Load Active Equals true Environmental Protection Agency Page 171 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: L 0AD-10 Check Name: Load Lower Operation Boundary Valid Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData Record: If Range of Operation Required is equal to true, If the LowerOperationBoundary is null, return result A. Otherwise, If the LowerOperationBoundary is less than zero, return result B. If the LowerOperationBoundary is greater than or equal to the UpperOperationBoundary and UpperOperationBoundary is greater than 0, return result C. Results: Result A B C Response You have not reported the required value in the field [fieldname] for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. The Lower Boundary Range provided for [key] exceeds the Upper Boundary Range in Monitor Load record data. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Load Evaluation Current Load Active Equals true Environmental Protection Agency Page 172 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: L 0AD-11 Check Name: Load Normal Level Code Valid Related Former Checks: ARP-31A/B Applicability: General Check Description: Specifications: For a MonitoringLoadData Record: If Load Levels Required is equal to false, If the NormalLevelCode is not null, return result A. Otherwise, If NormalLevelCode is null, If the current system date is more than 180 days after the earliest CommenceCommercialOperationDate in the Current Location record, return result B. Otherwise, return result D. Otherwise, If the NormalLevelCode is not equal to "H", "L", or "M", return result C. Results: Result A B C D Response You have provided extraneous data in [fieldname] in the Monitor Load record for [key]. This information is generally not required for a location without CEMs or for a peaking unit or a stack serving only peaking units. For [key] you have not provided required data in [fieldname] for a non-peaking unit. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. For [key] you have not provided required data in [fieldname] for a non-peaking unit. You must provide this information as soon as you have conducted a load analysis (or prior to the completion of any certification RATA). Severity Non-Critical Error Critical Error Level 1 Critical Error Level 1 Informational Message Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Load Evaluation Current Load Active Equals true Environmental Protection Agency Page 173 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: L 0AD-12 Check Name: Load Second Level Code Valid Related Former Checks: ARP-31A/B Applicability: General Check Description: Specifications: For a MonitoringLoadData Record: If Load Levels Required is equal to false, If the SecondLevelCode is not null, return result A. Otherwise, If SecondLevelCode is null, If NormalLevelCode is not null return result B. Otherwise, If the SecondLevelCode is not equal to "H", "L", or "M", return result C. Otherwise, If SecondLevelCode is equal to the NormalLevelCode, return result D. Results: Result A B C D Response You have provided extraneous data in [fieldname] in the Monitor Load record for [key]. This information is generally not required for a location without CEMs or for a peaking unit or a stack serving only peaking units. For [key] you have not provided required data in [fieldname] for a non-peaking unit. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You reported the same value [value] for both the NormalLevelCode and SecondLevelCode for [key]. The NormalLevelCode and the SecondLevelCode cannot be the same. Severity Non-Critical Error Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Load Evaluation Current Load Active Equals true Environmental Protection Agency Page 174 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-13 Check Name: Maximum Load Units of Measure Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Parameter UOM (Complex Lookup Table) Parameter UOM (Complex Lookup Table) Specifications: For a MonitoringLoadData record: Set Maximum Load Units of Measure Valid to true. If the Non Load Based Indicator is 1, If the MaximumLoadUnitsOfMeasureCode is not null, set Maximum Load Units of Measure Valid to false, and return result A. If the MaximumLoadUnitsOfMeasureCode is null, set Maximum Load Units of Measure Valid to false, and return result B. Otherwise, Locate the MaximumLoadUnitsOfMeasureCode in the Parameter Units of Measure Lookup Table where the ParameterCode is equal to "LOAD" and the UnitsOfMeasure is equal to the MaximumLoadUnitsOfMeasure. If not found, set Maximum Load Units of Measure Valid to false, and return result C. Otherwise, Results: Result A Response You have reported a Maximum Load Units of Measure value for [key]. However, this value should only be reported for load based locations. You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Critical Error Level 1 B C Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Load Evaluation Current Load Active Equals true Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 175 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-17 Check Name: Overlapping Loads Related Former Checks: ARP-29B Applicability: Description: Specifications: General Check For a MonitoringLoadData record with consistent dates: Locate another MonitoringLoad record for the location with a BeginDate/BeginHour that is on or after the BeginDate/BeginHour in the current record and is on or before the Load Evaluation End Date/EndHour, and an EndDate/EndHour that is null or is on or after the Load Evaluation Begin Date/BeginHour. If found, return result A. Results: Result A Response You have submitted overlapping active Load records for [key] defining the Range of Operation for a CEMS unit/stack. There may only be one active Load record at any time within the evaluation period. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Load Evaluation Current Load Active Equals true Environmental Protection Agency Page 176 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-19 Check Name: Load Units of Measure Consistent Across Linked Locations Related Former Checks: NBP-5 Applicability: General Check Description: Specifications: For a Load record with a valid maximum load Units of Measure: If the Location Type does not begin with "U", the Location Non Load Based Indicator is not equal to 1, Locate all MpUnitStackConfiguration records where the stack location is the location in the Load record, the BeginDate is on or before the Load Evaluation End Date and the EndDate is null or is on or after the Load Evaluation Start Date. For each MpUnitStackConfiguration record found, Locate all Load records where the location is the unit location in the MpUnitStackConfiguration record, the BeginDate/Hour is on or before the Load Evaluation End Date and End Hour and the EndDate is null or the EndDate/Hour is on or after the Load Evaluation Start Date and Start Hour. For any record found: If the MaximumLoadUnitsOf Measure for the unit is not null, and is not equal to MaximumLoadUnitsOfMeasure for the stack or pipe, return result A. Results: Result A Response You reported the units of measure for maximum load for this stack or pipe as [value], but the units of measure for maximum load(s) for the associated unit(s) were not reported with the same units of measure. The maximum load for stacks or pipes and associated units must be reported with the same units of measure. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Load Evaluation Current Load Active Equals true Environmental Protection Agency Page 177 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-20 Check Name: Determine Load Requirement Related Former Checks: Applicability: General Check Description: Specifications: For the Monitor Load record: Set Range of Operation Required and Load Levels Required to false. Locate a Monitoring System record for the location where the SystemTypeCode is equal to "S02", "S02R", "NOX", "NOXC", "C02", "02", or "FLOW", the BeginDate/Hour is on or before the Load Evaluation End Date and End Hour, and the EndDate is null or the EndDate/Hour is on or after the Load Evaluation Start Date and Start Hour. set Range of Operation Required to true. If Location Type begins with "U", Locate all MonitorQualification records where the location is the location in the Monitor Load record QualificationTypeCode is equal to "PK" or "SK", the BeginDate is on or before the Load Evaluation End Date and the EndDate is null or is on or after the Load Evaluation Start Date. If not found, or if the Begin and End Dates of the retrieved records do not span the entire evaluation period, set Load Levels Required to true. Locate all UnitStackConfiguration records where the stack location is the location in the Load record, the BeginDate is on or before the Load Evaluation End Date and the EndDate is null or is on or after the Load Evaluation Start Date. For each UnitStackConfiguration record found, Locate all MonitorQualification records where the location is the unit location in the UnitStackConfiguration record, the QualificationTypeCode is equal to "PK" or "SK", the BeginDate is on or before the Load Evaluation End Date and the EndDate is null or is on or after the Load Evaluation Start Date. If not found for any unit, or if the Begin and End Dates of the retrieved records for any unit do not span the entire evaluation period, set Load Levels Required to true. Locate a QA Supp record for the location where the TestTypeCode is equal to "FF2LTST", the last day of the Quarter/Year is on or before the Load Evaluation End Date and End Hour, and the first day of the Quarter/Year is on or after the Load Evaluation Start Date and Start Hour. If found, set Range of Operation Required to true. If found, Otherwise, If not found, Results: Result Response Severity Environmental Protection Agency Page 178 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evaluation Report Load Evaluation Conditions: Current Load Active Equals true Environmental Protection Agency Page 179 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-21 Check Name: Second Normal Indicator Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a MonitoringLoadData Record: If Load Levels Required is equal to false, If the SecondLevellndicator is not null, return result A. Otherwise, If the SecondLevellndicator is null, If SecondLevelCode is not null, return result B. Results: Severity Non-Critical Error Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Load Evaluation Conditions: Current Load Active Equals true Result Response A You have provided extraneous data in [fieldname] in the Monitor Load record for [key]. This information is generally not required for a location without CEMs or for a peaking unit or a stack serving only peaking units. B For [key] you have not provided required data in [fieldname] for a non-peaking unit. Environmental Protection Agency Page 180 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-22 Check Name: Related Former Checks: Duplicate Load Records Applicability: Description: Specifications: General Check For a Load record: Locate another Load record for the location with a BeginDate/Hour equal to the BeginDate/Hour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null., Locate another Load record for the location with an End Date/Hour equal to the EndDate/Hour in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 181 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-23 Check Name: Load Analysis Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For a MonitoringLoadData Record: If the LoadAnalysisDate is not null, If LoadAnalysisDate is prior to 1/1/1993, return result A. If the BeginDate is not null and the LoadAnalysisDate is later than the BeginDate, return result B. Severity Critical Error Level 1 Critical Error Level 1 Results: Result Response A You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. B You reported [datefield2] which is prior to [datefieldl] for [key]. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 182 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-24 Check Name: Load Upper Operation Boundary Valid Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData Record: If the UpperOperationBoundary is not null, If the UpperOperationBoundary is not greater than zero, return result A. If the UpperOperationBoundary is greater than the MaximumLoadValue and MaximumLoadValue is greater than 0, return result B. Results: Result Response Severity A You defined an invalid [fieldname] for [key]. This value must be greater than zero. Critical Error Level 1 B The Upper Boundary Range provided for [key] exceeds the maximum hourly gross load Critical Error Level 1 in Monitor Load record data. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 183 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-25 Check Name: Load Lower Operation Boundary Valid Related Former Checks: Applicability: General Check Description: Specifications: For the MonitoringLoadData Record: If the LowerOperationBoundary is not null, If the LowerOperationBoundary is less than zero, return result A. If the LowerOperationBoundary is greater than or equal to the UpperOperationBoundary and UpperOperationBoundary is greater than 0, return result B. Results: Result Response Severity A You defined an invalid [fieldname] for [key]. This value must be greater than zero. Critical Error Level 1 B The Lower Boundary Range provided for [key] exceeds the Upper Boundary Range in Critical Error Level 1 Monitor Load record data. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 184 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: LOAD-26 Check Name: Load Level Codes Valid Related Former Checks: Applicability: General Check Description: Specifications: For a MonitoringLoad record with either a NormalLevelCode or SecondLevelCode that is not null: If both NormalLevelCode and SecondLevelCode are not null and SecondLevelCode is equal to the NormalLevelCode, return result A. If SecondNormallndicator is null, return result B. Results: Result A Response You reported the same value [value] for both the NormalLevelCode and SecondLevelCode for [key]. The NormalLevelCode and the SecondLevelCode cannot be the same. You did not provide [fieldname], which is required, for [key]. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Load Evaluation Environmental Protection Agency Page 185 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Location Environmental Protection Agency Page 186 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-2 Check Name: Location Type Related Former Checks: Applicability: General Check Description: Specifications: For the monitoring location: Set Location Type to Set Location Type Description to If the UnitID of the monitoring location is not null, Locate all Unit Stack Configuration records where the unit location is the monitoring location, the BeginDate is on or before the Evaluation End Date, and an EndDate that is null or on or after the Evaluation Begin Date. If there is at least one record with an associated StackPipelD that begins with "CS" or "MS", and at least one record with a StackPipelD that begins with "CP" or "MP", set Location Type to "UB" and Location Type Description to "unit with associated stacks and pipes". If there is at least one record with an associated StackPipelD that begins with "CS" or "MS", and no records with a StackPipelD that begins with "CP" or "MP", set Location Type to "US" and Location Type Description to "unit with associated stacks but no pipes". If there is at least one record with an associated StackPipelD that begins with "CP" or "MP", and no records with a StackPipelD that begins with "CS" or "MS", set Location Type to "UP" and Location Type Description to "unit with associated pipes but no stacks". If there are no records found, set Location Type to "U" and Location Type Description to "unit without associated stacks or pipes". If the StackPipelD of the monitoring location begins with "CS", set Location Type to "CS" and Location Type Description to "common stack". If the StackPipelD of the monitoring location begins with "CP", set Location Type to "CP" and Location Type Description to "common pipe". If the StackPipelD of the monitoring location begins with "MS", set Location Type to "MS" and Location Type Description to "multiple stack". If the StackPipelD of the monitoring location begins with "MP", set Location Type to "MP" and Location Type Description to "multiple pipe". Results: Result Response Severity Environmental Protection Agency Page 187 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evah 1 Process/Category: Monitoring Plan Data 2 Process/Category: Monitoring Plan Data 3 Process/Category: Monitoring Plan Data 4 Process/Category: Monitoring Plan Data 5 Process/Category: Monitoring Plan Data aation Report — Location Evaluation Entry Screen Evaluation Default Evaluation Entry Screen Evaluation Load Evaluation Entry Screen Evaluation Location Attribute Evaluation Entry Screen Evaluation Method Evaluation Entry Screen Evaluation Monitoring Qualification Evaluation Environmental Protection Agency Page 188 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-3 Check Name: Related Former Checks: Location Attribute Active Status Applicability: Description: Specifications: CEM Check For a Location Attribute record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current Location Attribute Active to false. Otherwise, set Current Location Attribute Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Attribute Evaluation Begin Date to the Evaluation Begin Date. Otherwise, set the Attribute Evaluation Begin Date to the BeginDate. If the EndDate is null or is after the Evaluation End Date, set the Attribute Evaluation End Date to the Evaluation End Date. Otherwise, set the Attribute Evaluation End Date to the EndDate. Set Stack Information Required to false. If Location Type is equal to "CS" or "MS", set Stack Information Required to true. Else if Location Type begins with "U", Locate all Unit Stack Configuration linked to the unit and a common or multiple stack during the Location Attribute Elevauation period If not found or if does not span Location Attribute Eval period, set Stack Information Required to true Results: Result Response Severity Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Location Attribute Record Valid Equals true Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 189 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-5 Check Name: Stack Ground Elevation Valid Related Former Checks: ARP-16A, B Applicability: CEM Check Description: Specifications: For a Location Attribute record: If the GroundElevation is not null If GroundElevation is less than -100 or greater than 15000, return result A. Otherwise If Stack Information Required equals true, return result B. Results: Result Response Severity A The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values from [minvalue] to [maxvalue]. B You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Conditions: Current Location Attribute Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 190 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-6 Check Name: Stack Cross Area Flow Valid Related Former Checks: ARP-17, 19 Applicability: CEM Check Description: Specifications: For a Location Attribute record: If the CrossAreaFlow is not null, If the Flow System Active Present is false, return result A. If the CrossAreaFlow is less than 5 or is greater than 1700, return result B. If the CrossAreaFlow is null, and the Post2008 Flow System Present equals true, return result C. Results: Result A B C Response Severity You provided the cross-sectional area at the flow monitor location for this location, but Non-Critical Error there is no flow monitoring system currently used to report data defined. The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values from [minvalue] to [maxvalue]. You have not reported the required value in the field [fieldname] for [key]. Non-Critical Error Usage: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Conditions: Current Location Attribute Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 191 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-7 Check Name: Stack Cross Area Exit Valid Related Former Checks: ARP-16A, B Applicability: CEM Check Description: Specifications: ElseFor a Location Attribute record: If the CrossAreaStackExit is not null, If CrossAreaStackExit is less than 5 or greater than 1700, return result A. If StackHeight is not null, Set stackHeightToDiameterRatio = StackHeight / (SQRT(CrossAreaStackExit / pi) * 2) If StackHeightToDiameterRatio is greater than 85, return result B. If StackHeightToDiameterRatio is less than 5, Locate all Unit Type records for the location where the BeginDate is on or before the Attribute Evaluation Begin Date and the EndDate is null or is on or after the Attribute Evaluation Begin Date. If found, and any UnitTypeCode is not equal to "CC", "CT", or "OT", return result B. Else if Stack Information Required equals true, return result C. Results: Result Response Severity A The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values from [minvalue] to [maxvalue], B The ratio of the stack height to the stack diameter for [key] is outside the range of valid Informational Message values from 5 to 85. C You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Conditions: Current Location Attribute Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 192 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-8 Check Name: Stack Height Valid Related Former Checks: ARP-16A, B Applicability: CEM Check Description: Specifications: For a Location Attribute record: If the StackHeight is not null, If is less than 20 or greater than 1600, return result A. Otherwise, If Stack Information Required equals true, return result B. Results: Result Response Severity A The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values from [minvalue] to [maxvalue]. B You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Conditions: Current Location Attribute Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 193 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-9 Check Name: Stack Shape Code Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Location Attribute record: If the ShapeCode is not null, and is not in the list of valid Shape Codes, return result A. If the ShapeCode is null, and Flow System Active Present is true, return result B. Results: Result A Response You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have not reported the required value in the field [fieldname] for [key]. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Current Location Attribute Active Equals true Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 194 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-IO Check Name: Stack Material Code Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Location Attribute record: If the MaterialCode is not null, and is not in the list of valid Material Codes, return result A. If the MaterialCode is null, and the Flow System Active Present is true, return result B. Results: Result A Response You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have not reported the required value in the field [fieldname] for [key]. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Current Location Attribute Active Equals true Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 195 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-11 Check Name: Location Attribute Begin Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Location Attribute record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Location Attribute Record Valid Equals true Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 196 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-12 Check Name: Location Attribute End Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Location Attribute record: If EndDate is not null and is greater than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Conditions: Location Attribute Record Valid Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 197 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-13 Check Name: Flow System Active Present Related Former Checks: ARP-17, 19 Applicability: CEM Check Description: Specifications: For the location attribute record: Set Flow System Active Present to false and Post2008 Flow System Present to false. If Location Type is not equal to "CP" or "MP", Locate a MonitorSystem record for the location with a SystemType equal to "FLOW", a BeginDate on or before the Attribute Evaluation End Date, and an EndDate that is null or on or after the Attribute Evaluation Begin Date. If found, set Flow System Active Present to true. If any of the retrieved system records have an EndDate that is null or is on or after the ECMPS MP Begin Date, set Post2008 Flow System Present to true. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Conditions: Current Location Attribute Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 198 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: Check Name: Related Former Checks: Applicability: Description: Specifications: For a monitoring location: If Location Type that begins with "C", Locate all MP Unit Stack Configuration records where the stack/pipe location is the monitoring location, the BeginDate is on or before the Location Evaluation End Date and the EndDate null or on or after the Location Evaluation Begin Date. If less than two records are found, return result A. else if Location Type is equal to "CP", Locate all Monitor Location records for the facility other than the current monitoring location with a LocationName beginning with "CP": For each location found, Locate all Facility Unit Stack Configuration records where the stack/pipe location is the retrieved monitoring location, the BeginDate is on or before the Location Evaluation Begin Date and the EndDate null or on or after the Location Evaluation End Date. If the list of units in the Facility Unit Stack Configuration records for the retrieved location is the exact same list of units in the MP Unit Stack Configurations for the location being evaluated, return result C. MONLOC-14 Location Type Consistent with Number of Linked Locations ARP-56 General Check If Location Type begins with "M", Locate all MP Unit Stack Configuration records where the stack/pipe location is the monitoring location. If there is more or less than one retrieved MP Unit Stack Configuration record, or if the BeginDate of the retrieved record is after the Location Evaluation Begin Date or the EndDate of the retrieved record is before the Location Evaluation End Date, return result B. Results: Result A B C Response You have identified a common stack or pipe [stack/pipe ID] that is not linked to at least two units for the entire evaluation period. You have identified a multiple stack or pipe [stack/pipe ID] that is not linked to one and only one unit for the entire evaluation period. You have defined a common pipe [stack/pipe ID] that is linked to the same group of units as another common pipe. If you have multiple fuel sources that feed the same group of units, you should define multiple fuel flow systems at a single common pipe. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 2 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report — Location Evaluation Abort Location Evaluation Equals false Environmental Protection Agency Page 199 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-19 Check Name: Location Stack Pipe ID Valid Related Former Checks: Applicability: General Check Description: Specifications: If the location is a stack or pipe: Set Stack Pipe ID Format Valid to true. If the StackPipelD is null, set Stack Pipe ID Format Valid to false, and return result A. If the StackPipelD is less than 3 characters, contains non-alphanumeric characters other than or does not begin with "CS", "MS", "CP", or "MP", set Stack Pipe ID Format Valid to false, and return result B. Otherwise, If StackPipelD contains and is less than 4 characters, set Stack Pipe ID Format Valid to false, and return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Fatal B You reported a Stack/Pipe ID [Stack Pipe ID], which has an invalid format. Fatal Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation Environmental Protection Agency Page 200 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-74 Check Name: Stack Bypass Indicator Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Location Attribute record: If Bypasslndicator is equal to 1, If Location Type is not equal to either "CS" or "MS", return result A. Results: Result Response Severity A You reported a value in field [fieldname] for [key], but this value is only valid for a Critical Error Level 1 stack. Usage: 1 Process/Category: Conditions: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Current Location Attribute Active Equals true Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 201 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-76 Check Name: Location Attribute Dates Consistent Related Former Checks: Applicability: CEM Check Description: Specifications: For a Location Attribute record: If the BeginDate and EndDate are valid, If the EndDate is not null and the BeginDate is after the EndDate, set Location Dates consistent to false, and return result A. Otherwise, set Location Dates consistent to true. Otherwise, set Location Dates consistent to false. Results: Result Response Severity A You reported [datefield2] which is prior to [datefieldl] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Location Attribute Evaluation Conditions: Location Attribute Record Valid Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 202 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-77 Check Name: Determine Location Evaluation Period Related Former Checks: Applicability: General Check Description: Specifications: For the location: If the Location Type begins with "U", set Affected Unit to false. set Location Evaluation Begin Date to null. set Location Evaluation End Date to 1/1/1993. Locate all Location Program records for the location with an EndDate that is null or is on or after to the Evaluation Begin Date. For each record found, If the ClassCode is not equal to "N", "NA", or "NB", set Affected Unit to true. If the EmissionsRecordingBeginDate is not null, If Location Evaluation Begin Date is null, set Location Evaluation Begin Date to the EmissionsRecordingBeginDate. else if the EmissionsRecordingBeginDate is prior to the Location Evaluation Begin Date, set Location Evaluation Begin Date to the EmissionsRecordingBeginDate. else if the UnitMonitorCertBeginDate is not null, if the Location Evaluation Begin Date is null, set Location Evaluation Begin Date to the UnitMonitorCertBeginDate. else if the UnitMonitorCertBeginDate is prior to the Location Evaluation Begin Date set Location Evaluation Begin Date to the UnitMonitorCertBeginDate. If the EndDate is null, set Location Evaluation End Date to null. else if Location Evaluation End Date is not null and EndDate is after the Location Evaluation End Date, set Location Evaluation End Date to the EndDate. If the Evaluation Begin Date is not null and the Location Evaluation Begin Date is prior to the Evaluation Begin Date, set Location Evaluation Begin Date to the Evaluation Begin Date. If the Location Evaluation End Date is equal to 1/1/1993 or the Location Evaluation End Date is null, set Location Evaluation End Date to the Evaluation End Date. else if the Evaluation End Date is not null and the Location Evaluation End Date is after the Evaluation End Date, set Location Evaluation End Date to the Evaluation End Date. Locate the latest Unit Operating Status record for the unit where the Begin Date is on or prior to the Location Evaluation End Date, and the End Date is null or is on or after the Location Evaluation Begin Date, If found, and the Op Status Code is equal to "LTCS", Environmental Protection Agency Page 203 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM set the Location Evaluation End Date to the day before the Begin Date. Otherwise, Locate the earliest Unit Program Exemption records for the unit where the Exempt Type is equal to "RUE", the Exemption Begin Date is on or prior to the Location Evaluation End Date, and the Exemption End Date is null. If found, set the Location Evaluation End Date to the day before the Exemption Begin Date. Otherwise, If the ProgramCode in all the retrieved Location Program records are only equal to "NBP", "OTC", "NHNOX", or "SIPNOX", Locate the latest Unit Operating Status records for the unit, the Begin Date is on or prior to the Location Evaluation End Date, and the End Date is null or is on or after the Location Evaluation Begin Date, If found, and the Op Status Code is equal to "RET", If the Begin Date is between May 1 and September 30, set the Location Evaluation End Date to September 30 of the year of the Begin Date. Otherwise, set the Location Evaluation End Date to the day before the Begin Date. Otherwise, If the Stack ActiveDate is null or is prior to the Evaluation Begin Date, set the Location Evaluation Begin Date to the Evaluation Begin Date, Otherwise, set the Location Evaluation Begin Date to the Stack ActiveDate. Locate all Location Program records for the location with an EndDate that is null or is on or after to the Evaluation Begin Date. If found, and the earliest UnitMonitorCertBeginDate in the retrieved records is after the Location Evaluation Begin Date, set Location Evaluation Begin Date to the earliest UnitMonitorCertBeginDate in the retrieved records. If the Stack RetirementDate is not null and is prior to the Evaluation End Date, set the Location Evaluation End Date to the Stack RetirementDate. Otherwise, set the Location Evaluation End Date to the Evaluation End Date. If the Location Evaluation Begin Date : set Abort Location Evaluation is on or before than the Location Evaluation End Date, to false, false, Otherwise, set Abort Location Evaluation to true, abort the evaluation of the location, and return result A. Environmental Protection Agency Page 204 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result Response Severity A [Location] does not appear to have been operational during the evaluation period. It Informational Message will not be evaluated. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Environmental Protection Agency Page 205 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-80 Check Name: Related Former Checks: Required Location Attribute Reported for Location Applicability: Description: Specifications: CEM Check For the location: Locate all Location Attribute records for this location where the BeginDate is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If Location Type is equal to "CP" or "MP", set Location Attribute Record Valid to false, and return result A. Otherwise, Set Location Attribute Record Valid to true. If the BeginDate and EndDate of all the retrieved records does not span the entire location evaluation period, Locate all MonitorSystem records for the location with a SystemType equal to "S02", "S02R", "NOX", "NOXC", "C02", "02", "H20", "H20M", or "FLOW". If the BeginDate and EndDate of all the retrieved location attribute records does not span the entire intersection between the location evaluation period and the earliest system begin date and the latest system end date, return result B. If Location Type is equal to "CS", "MS", "U", or "UP", return result C. Else if Location Type equals 'US' or 'UB' Locate Unit Stack Configuration Records for the unit with a BeginDate on or before the Location Evaluation End Date, and a EndDate that is null or on or after the Location Evaluation Begin Date, and the Stack/Pipe Name begins with 'CS' or 'MS'. Locate a MonitorSystem record for the location with a SystemType equal to "S02", "S02R", "NOX", "NOXC", "C02", "02", "H20", "H20M", or "FLOW", a BeginDate on or before the Location Evaluation End Date, and a EndDate that is null or on or after the ECMPS MP Begin Date. If found, return result C. If found, If none are found, If not found or the records do not span the later of the Location Evaluation Begin Date and January 1 st, 2009 through the Location Evaluation End Date, return result to C If result is null, Environmental Protection Agency Page 206 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C Usage: 1 Response Severity You have reported a monitor location attribute record for [key]. This record should only Non-Critical Error be reported for stacks, units that are not linked to stacks, or units with CEMS. You have not reported monitor location attribute records that span the entire evaluation Critical Error Level 1 period for [key]. You have not reported a monitor location attribute record that was active during the evaluation period for [key]. Critical Error Level 1 Process/Category: Conditions: Monitoring Plan Evaluation Report — Location Evaluation Abort Location Evaluation Equals false Environmental Protection Agency Page 207 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-81 Check Name: Stack Pipe Active Date Valid Related Former Checks: Applicability: General Check Description: Specifications: If the location is a stack or pipe: If ActiveDate is null, return result A. If ActiveDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation Environmental Protection Agency Page 208 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-82 Check Name: Stack Pipe Retire Date Valid Related Former Checks: Applicability: General Check Description: Specifications: If the location is a stack or pipe: If RetireDate is not null and is greater than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation Environmental Protection Agency Page 209 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-83 Check Name: Stack Pipe Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: If the location is a stack or pipe: If Stack ActiveDate and Stack RetireDate are both valid, If the RetireDate is not null and the ActiveDate is after the RetireDate, return result A. Results: Result Response Severity A You reported [datefield2] which is prior to [datefieldl] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation Environmental Protection Agency Page 210 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-85 Check Name: Unit Stack Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For a Unit Stack Configuration record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Fatal Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Unit Stack Configuration Evaluation Not Location Type Begins With U Monitoring Plan Data Entry Screen Evaluation Unit Stack Configuration Evaluation Environmental Protection Agency Page 211 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-86 Check Name: Unit Stack End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For a Unit Stack Configuration record: If EndDate is not null and is greater than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Stack Configuration Evaluation Conditions: Not Location Type Begins With U 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Stack Configuration Evaluation Environmental Protection Agency Page 212 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-87 Check Name: Unit Stack Configuration Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the Unit Stack Configuration record: If the BeginDate and EndDate are both valid, the EndDate is not null, and the BeginDate is after the EndDate, If the Location Type is equal to "CS", "MS", "CP", "MP", If the BeginDate and the Stack ActiveDate are valid, and the BeginDate is before the ActiveDate, return result B. If the EndDate and the Stack RetireDate are valid, the RetireDate is not null, and the EndDate is null or is after the RetireDate, return result A. return result C. Results: Result Response You reported [datefield2] which is prior to [datefieldl] for [key]. You reported [datefieldl] as prior to the Stack Active Date for [key]. You have not reported [datefield2] or you have reported it as later than the Stack Retire Date for [key]. Severity A B C Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Unit Stack Configuration Evaluation Not Location Type Begins With U Environmental Protection Agency Page 213 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-88 Check Name: Related Former Checks: Determine Non Load Based Indicator for Location Applicability: Description: Specifications: General Check For a monitoring location: If the Location Type begins with "U", set the Location Non Load Based Indicator to the NonLoadBasedlndicator for the unit. Otherwise, Locate all MP Unit Stack Configuration records where the stack/pipe location is the monitoring location. If the NonLoadBasedlndicator in all of the retrieved records is equal to 1, set the Location Non Load Based Indicator to 1. If the NonLoadBasedlndicator in all of the retrieved records is equal to 0, set the Location Non Load Based Indicator to 0. Otherwise, set the Location Non Load Based Indicator to 0, and return result A. Results: Result A You have reported that common stack or pipe [key] is linked to both a non-load-based Critical Error Level 1 unit and a load-based unit. This is invalid. Response Severity Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Abort Location Evaluation Equals false Monitoring Plan Data Entry Screen Evaluation Load Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 214 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-97 Check Name: Unit Type Consistent with Non Load Based Indicator Related Former Checks: ARP-67 Applicability: General Check Description: Specifications: If the Location Type begins with "U", and the NonLoadBasedlndicator is null or equal to 0, Locate all Unit Type records for the location where the BeginDate is null or is on or before the Evaluation End Date and the End Date is null or is on or after the Evaluation Begin Date, If the Unit Type in any of the retrieved is equal to "KLN" or "PRH", return result A. Results: Result Response Severity A Based on the unit type, the unit does not generate load, but you did not report that Unit Critical Error Level 2 ID [key] was a non-load-based unit. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Conditions: Abort Location Evaluation Equals false Environmental Protection Agency Page 215 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-98 Check Name: Overlapping Unit Capacity Records Reported Related Former Checks: Applicability: General Check Description: Specifications: If Location Type begins with "U", Locate all Unit Capacity records for this location where the BeginDate is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If there is more than one record active at any time during the location evaluation period, return result A. Results: Result Response Severity A You have reported more than one unit capacity record for [unit] during the evaluation Critical Error Level 1 period. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Conditions: Abort Location Evaluation Equals false Environmental Protection Agency Page 216 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-99 Check Name: Required Unit Capacity Record Reported for Unit Related Former Checks: Applicability: General Check Description: Specifications: If Location Type begins with "U", Locate all Unit Capacity records for this location where the BeginDate is null or is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If none are found, return result A. Otherwise, If the BeginDate and EndDate of all the retrieved records does not span the entire location evaluation period, return result B. Results: Result A Response You have not reported a unit capacity record that was active during the evaluation period for [key]. You have not reported unit capacity records for [key] that span the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report — Location Evaluation Abort Location Evaluation Equals false Environmental Protection Agency Page 217 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: Check Name: Related Former Checks: Applicability: Description: Specifications: For the location: Locate all Location Attribute records for this location where the BeginDate is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If there is more than one record active at any time during the location evaluation period, return result A. Results: Result Response Severity A You have reported overlapping Location Attribute records for [key] during the Critical Error Level 1 evaluation period. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Conditions: Abort Location Evaluation Equals false MONLOC-lOO Overlapping Location Attribute Records Reported CEM Check Environmental Protection Agency Page 218 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-101 Check Name: Required Load Record Reported for Location Related Former Checks: ARP-10, ARP-29A, NBP-50, NBP-51 Applicability: General Check Description: Specifications: For any location: Locate all Monitor Load records for this location where the BeginDate is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If none are found, If Location Non Load Based Indicator is null or is equal to 0, return result A. Otherwise, Locate all Test Summary records for this location where TestTypeCode is equal to "FF2LBAS", the BeginDate is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If any are found, return result A. Otherwise, Locate a MonitorSystem record for the location with a SystemType equal to "S02", "S02R", "NOX", "NOXC", "C02", "02", "H20", "H20M", or "FLOW", a BeginDate on or before the Location Evaluation End Date, and a EndDate that is null or on or after the Location Evaluation Begin Date. If found, return result A. Otherwise, If the BeginDate/BeginHour and EndDate/EndHour of all the retrieved records does not span the entire location evaluation period, return result B. Results: Result Response Severity A You did not define load information that was active during the evaluation period for Critical Error Level 1 [key]. You must submit this information for each load-based monitoring location. B You did not define load information for [key] for the entire evaluation period. You must Critical Error Level 1 submit this information for each load-based monitoring location. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Conditions: Abort Location Evaluation Equals false Environmental Protection Agency Page 219 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-103 Check Name: Required Primary Fuel Record Reported for Unit Related Former Checks: Applicability: General Check Description: Specifications: If Location Type begins with "U", and Affected Unit is equal to true, Locate all Unit Fuel records for this unit where the IndicatorCode is equal to "P", the BeginDate is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If none are found, return result A. Otherwise, If the BeginDate and EndDate of all the retrieved records does not span the entire location evaluation period, return result B. Results: Result A B Response You did not report a primary fuel that was active during the evaluation period for [key]. You did not report a primary fuel to span the entire evaluation period for [key]. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report — Location Evaluation Abort Location Evaluation Equals false Environmental Protection Agency Page 220 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-104 Check Name: Overlapping Primary Fuels Reported Related Former Checks: NBP-65 Applicability: General Check Description: Specifications: If Location Type begins with "U", Locate all Unit Fuel records for this unit where the IndicatorCode is equal to "P", the BeginDate is on or before the Location Evaluation End Date, and the EndDate is null or is on or after the Location Evaluation Begin Date. If there is more than one record active at any time during the location evaluation period, return result A. Results: Result A Response You have defined overlapping primary fuel types for the current period for [key]. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report — Location Evaluation Abort Location Evaluation Equals false Environmental Protection Agency Page 221 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-105 Check Name: Multiple Pipe Valid Related Former Checks: Applicability: Appendix D Check Description: Specifications: If Location Type is equal to "MP", return result A. Results: Result Response Severity A Most configurations do not require the definition of a multiple pipe. You should consult Informational Message CAMD prior to defining a multiple pipe. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Conditions: Abort Location Evaluation Equals false Environmental Protection Agency Page 222 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-111 Check Name: Monitoring Plan Contains All Used IDs for Location Related Former Checks: Applicability: General Check Description: Specifications: For the location: Set Unused IDs to null. Locate all Used Identifier records for the location. For each record with Table Code equal to "S": Locate a Monitoring System record for the location where the Monitoring System ID is equal to the Identifier in the Used Identifier record. If not found, append "System ID: " + Identifier to Unused IDs. For each record with Table Code equal to "C": Locate a Component record for the location where the Component ID is equal to the Identifier in the Used Identifier record. If not found, append "Component ID: " + Identifier to Unused IDs. For each record with Table Code equal to "F": Locate a Monitoring Formula record for the location where the Formula ID is equal to the Identifier in the Used Identifier record. If not found, append "Formula ID: " + Identifier to Unused IDs. If Unused IDs is not null, return result A. Results: Result Response Severity A You have inappropriately deleted records for the location from the MP with the Fatal following IDs: [list]. You cannot delete these records because QA and emissions data have already been reported using these IDs. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Location Evaluation Environmental Protection Agency Page 223 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-106 Check Name: Duplicate Stack Pipe Records Related Former Checks: Applicability: General Check Description: Specifications: For a StackPipe record with a valid StackPipelD format: Locate another StackPipe record for the location with a StackPipelD equal to the StackPipelD in the current record. If found, return result A. Results: Result Response Severity A Another [recordtype] record already exists with the same [fieldnames]. Fatal Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Stack/Pipe Evaluation Environmental Protection Agency Page 224 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-107 Check Name: Unit Stack Configuration Record Valid Related Former Checks: Applicability: General Check Description: Specifications: For a UnitStackConfiguration record: If the UnitID is null, return result A. Otherwise, Locate another UnitStackConfiguration record with an associated StackPipelD and UnitID equal to the StackPipelD and UnitID in the current record. If found, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Unit Stack Configuration Evaluation Environmental Protection Agency Page 225 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONLOC-109 Check Name: Location Attribute Record Valid Related Former Checks: Applicability: General Check Description: Specifications: For a Location Attribute record: Locate another MonitoringLocationAttribute record for the location with a BeginDate that is equal to the BeginDate in the current record. If found, return result A. If not found, and the EndDate in the current record is not null, Locate another Location Attribute record for the location with an EndDate that is equal to the EndDate in the current record. If found, return result A. Otherwise, If the location is a pipe (the StackPipelD of the monitoring location begins with "CP" or "MP"), return result B. Otherwise, If the location is a pipe (the StackPipelD of the monitoring location begins with "CP" or "MP"), return result B. Results: Result Response Severity A Another [recordtype] record already exists with the same [fieldnames]. Fatal B You have reported a monitor location attribute record for [key]. This record should only Critical Error Level 1 be reported for stacks, units that are not linked to stacks, or units with CEMS. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation Environmental Protection Agency Page 226 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Method Environmental Protection Agency Page 227 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-1 Check Name: Method Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Method record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Fatal Usage: Process/Category: Monitoring Plan Evaluation Report Method Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 228 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-2 Check Name: Method Begin Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Method record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Fatal B You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 229 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-3 Check Name: Method End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Method record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 230 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-4 Check Name: Method End Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Method record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 231 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-5 Check Name: Method Dates and Hours Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Method record: If the EndDate is valid and not null, and the EndHour is null, set Method Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set Method Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set Method Dates and Hours Consistent to false, return result C. Otherwise, set Method Dates and Hours Consistent to true. Otherwise, set Method Dates and Hours Consistent to false. Results: Result A B C Usage: 1 1 Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Process/Category: Process/Category: Monitoring Plan Evaluation Report Method Evaluation Monitoring Plan Data Entry Screen Evaluation Method Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 232 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-6 Check Name: Method Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a Monitor Method record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current Method Active to false. Otherwise, set Current Method Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Method Evaluation Begin Date to the Evaluation Begin Date. Set the Method Evaluation Begin Hour to 0. Otherwise, set the Method Evaluation Begin Date to the BeginDate. Set the Method Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the Method Evaluation End Date to the Evaluation End Date. Set the Method Evaluation End Hour to 23. Otherwise, set the Method Evaluation End Date to the EndDate. Set the Method Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report Method Evaluation Environmental Protection Agency Page 233 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-7 Check Name: Method Parameter Code Valid Related Former Checks: ARP-12(old) Applicability: General Check Description: Validation Tables: [Parameter to Category] (Cross Check Table) [Parameter to Category] (Cross Check Table) Specifications: For the Monitoring Method record: Set Method Parameter Valid to true. If the Method ParameterCode is null, set Method Parameter Valid to false, and return result A. If the ParameterCode is equal to "H20" "OP", "NOX", "NOXR", "NOXM", or "HGM", and the Location Type is equal to "CP" or "MP", set Method Parameter Valid to false, and return result B. Otherwise, Locate a record in the List of Method Parameter Codes (Parameter to Category Cross Check Table) where the ParameterCode is equal to the ParameterCode in the current Method record and the CategoryCode is equal to "METHOD". If not found, set Method Parameter Valid to false, and return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You have reported a methodology for [key], which is inappropriate for a [Location Type]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Fatal Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 234 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-8 Check Name: Method Method Code Valid Related Former Checks: NBP-59, old ARP-13, ARP-78A Applicability: General Check Description: Validation Tables: Method Parameter to Method to System Type (Cross Check Table) Method Code (Lookup Table) Method Parameter to Method to System Type (Cross Check Table) Method Code (Lookup Table) Specifications: For the Monitoring Method record: Set Method Method Code Valid to true. If the Method Code is null, set Method Method Code Valid to false, and return result A. If the Method Code is not in the Method Code Lookup Table, set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result B. If the Method Code is equal to "EXP", and the Parameter Code is equal to "HI" If the Location Type does not begin with "U", set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result C. If the Method Code is equal to "CEMNOXR", and the Parameter Code is equal to "NOX", If the EndDate is null or is on or after the ECMPS MP Begin Date, return result D. Otherwise, Locate a record in the Parameter to Method Cross Check table where the ParameterCode is equal to the ParameterCode in the current Method record and the MethodCode is equal to the MethodCode in the current Method record. If found, If the Location Type is equal to "CS", and the MethodCode begins with "AD", or is equal to "EXP", "AE", "FSA", "LTFF", or "MHHI", set Method Method Code Valid to false, and return result C. If the Location Type is equal to "MS", and the MethodCode begins with "AD" or is equal to "EXP", "AE", "FSA", "LTFF", "MHHI", or "CALC", set Method Method Code Valid to false, and return result C. If the Location Type is equal to "CS" or "MS", the MethodCode is equal to "LME", and the ParameterCode is not equal to "HGM", set Method Method Code Valid to false, and return result C. If the Location Type is equal to "CP", and the MethodCode contains "CEM" or "CALC" or is equal to "EXP", "LME", "MHHI", "NOXR", "AE", or "F23", set Method Method Code Valid to false, and return result C. If the Location Type is equal to "MP", and the MethodCode contains "CEM" or "CALC" or is equal to "EXP", "LME", "MHHI", "LTFF" or "F23", set Method Method Code Valid to false, and return result C. Environmental Protection Agency Page 235 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If Location Type is equal to "U", and the MethodCode contains "CALC", set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result C. If not found, set Method Method Code Valid and Method Substitute Data Code Valid to false, and return result E. Results: Result A B C D E Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have reported a methodology for [key], which is inappropriate for a [Location Type]. You have reported a methodology for [key], which has previously been a valid methodology, but is no longer allowed. You have reported a monitoring methodology [value], which is not appropriate for the parameter [parameter]. Severity Fatal Fatal Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 236 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-9 Check Name: Method Substitute Data Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Method to Substitute Data Code (Cross Check Table) Substitute Data Code (Lookup Table) Method to Substitute Data Code (Cross Check Table) Substitute Data Code (Lookup Table) Specifications: For the Monitoring Method record with a valid MethodCode: Set Method Substitute Data Code Valid to true. If the SubstituteDataCode is null, If ParameterCode is equal to "HGM", set Method Substitute Data Code Valid to false, and return result A. Otherwise, Locate a record in the Method to Substitute Data Code cross check table for the MethodCode in the current MonitoringMethod record. If found, set Method Substitute Data Code Valid to false, and return result A. Otherwise, If the SubstituteDataCode is not in the Substitute Data Code Lookup table, set Method Substitute Data Code Valid to false, and return result B. Otherwise, If ParameterCode is equal to "HGM", If the SubstituteDataCode is not equal to "SPTS", set Method Substitute Data Code Valid to false, and return result C. Otherwise, Locate all records in the Method to Substitute Data Code cross check table for the MethodCode and SubstituteDataCode in the current MonitoringMethod record. If not found, set Method Substitute Data Code Valid to false, and return result C. If more than one record is found, or one record is found and the ParameterCode in the cross check record is not null, If the ParameterCode in the current MonitoringMethod record is valid, If the ParameterCode in the current MonitoringMethod record is not equal to the ParameterCode in any of the retrieved cross check records, set Method Substitute Data Code Valid to false, and return result C. Environmental Protection Agency Page 237 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result Response A You have not reported the required value in the field [fieldname] for [key]. B You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. C You reported substitute data code [value], which is not appropriate for the monitoring methodology for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 238 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-10 Check Name: Method Bypass Approach Code Valid Related Former Checks: Applicability: CEM Check Description: Validation Tables: Bypass Approach Code (Lookup Table) Bypass Approach Code (Lookup Table) Specifications: For the Monitoring Method record: Set Method Bypass Approach Code Valid to true. If the BypassApproachCode that is not null, Locate BypassApproachCode in the Bypass Approach Code Lookup Table. If not found, set Method Bypass Approach Code Valid to false, and return result A. If found, If the Method Parameter Code is valid and does not begin with "S02", "NOX", or "HGM", or the Method Method Code is valid and does not begin with "CEM" or is not equal to "AMS" or "S02R", set Method Bypass Approach Code Valid to false, and return result B. Results: Result Response Severity A You reported the value [value], which is not in the list of valid values, in the field Critical Error Level 1 [fieldname] for [key]. B You reported a bypass methodology for [key]. A bypass methodology does not apply to Critical Error Level 1 this parameter. Usage: 1 Process/Category: Conditions: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 239 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-11 Check Name: Overlapping Methods Related Former Checks: NBP-58, ARP-76 (LME) Applicability: Description: Specifications: General Check For a Monitoring Method record with a valid ParameterCode and consistent dates: Locate another Monitoring Method record for the location with a ParameterCode equal to the ParameterCode in the current record and a BeginDate/BeginHour that is on or after the BeginDate/BeginHour in the current record and is on or before the Method Evaluation End Date/Hour, and a EndDate/EndHour that is null or is on or after the Method Evaluation Begin Date/Hour. If found, return result A. Results: Result A Response You have reported two monitoring methodologies for [parameter] with overlapping start Critical Error Level 1 and end times during the evaluation period. Severity Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals True Environmental Protection Agency Page 240 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-12 Check Name: HI Methods Valid for Linked Locations Related Former Checks: ARP-78B Applicability: General Check Description: Specifications: For a Monitoring Method record with a ParameterCode equal to "HI" or "HIT", a valid MethodCode, and consistent dates: If the MethodCode contains "CALC" or the Location Type does not begin with "U", Locate all Unit Stack Configuration records for the location where the BeginDate is on or before the Method Evaluation End Date and the EndDate is null or is on or after the Method Evaluation Begin Date. If the MethodCode is equal to "LTFF", For each Unit Stack Configuration record, Locate all Monitoring Method records where the location is the unit location in the Unit Stack Configuration record, the ParameterCode is equal to "HIT", the MethodCode contains "CALC", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If not found for all units, or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved method records do not span the entire intersection between the method evaluation period and the BeginDate and EndDate of the Unit Stack Configuration record, return result A. If the Location Type is equal to "CP" or "MP", and the MethodCode is equal to "AD", For each Unit Stack Configuration record, Locate all Monitoring Method records where the location is the unit location in the Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode contains "CALC", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If not found for all units or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved method records do not span the entire intersection between the method evaluation period and the BeginDate and EndDate of the Unit Stack Configuration record, return result B. If the Location Type is equal to "CS" or "MS", and the MethodCode is equal to "CEM" or "AMS", For each Unit Stack Configuration record, Locate all Monitoring Method records where the location is the unit location in the Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode contains "CALC", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If not found for at least one unit, or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved method records do not span the entire intersection between the method evaluation period and the BeginDate and EndDate of the Unit Stack Configuration record, return result C. If the Location Type is equal to "CS", and the MethodCode is equal to "CALC", For each Unit Stack Configuration record, Locate all Monitoring Method records where the location is the unit location in the Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode begins with "AD" or is equal Environmental Protection Agency Page 241 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM to "CEM", "AMS", or "CALC", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If not found for all units, or if found for any unit, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved method records do not span the entire intersection between the method evaluation period and the BeginDate and EndDate of the Unit Stack Configuration record, return result D. If the Location Type begins with "U", and the MethodCode contains "CALC", Set Method Found to false. For any Unit Stack Configuration record with an associated StackPipelD beginning with "CS", Locate all Monitoring Method records where the location is the stack/pipe location in the Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode is equal to "CEM" or "AMS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If found, If the Non Load Based Indicator for the unit is equal to true, return result E. Otherwise, set Method Found to true. If Method Found is false, For any Unit Stack Configuration record with an associated StackPipelD beginning with "CP", Locate all Monitoring Method records where the location is the stack/pipe location in the Unit Stack Configuration record, the ParameterCode is equal to "HI" or "HIT", the MethodCode begins with "AD" or is equal to "LTFF", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If found, If the Non Load Based Indicator for the unit is equal to true, return result E. Otherwise, set Method Found to true. If Method Found is false, or the BeginDate/BeginHour and EndDate/EndHour of all of the method records retrieved above do not span the method evaluation period, Set Method Found to null. For each Unit Stack Configuration record with an associated StackPipelD beginning with "MS": Locate a Monitoring Location Attribute record where the location is the stack/pipe location in the Unit Stack Configuration record, the Bypasslndicator is equal to 1, the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. If not found, Locate all Monitoring Method records where the location is the stack/pipe location in the Environmental Protection Agency Page 242 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode is equal to "CEM" or "AMS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If found, If Method Found is equal to false, or the BeginDate/BeginHour and EndDate/EndHour of all of the method records retrieved above do not span the entire intersection between the method evaluation period and the BeginDate and EndDate of the Unit Stack Configuration record, return result F. Otherwise, set Method Found to true. If not found, If Method Found is equal to true, return result F. Otherwise, set Method Found to false. If Method Found is null or is equal to false, set Method Found to null. For each Unit Stack Configuration record with an associated StackPipelD beginning with "MP": Locate all Monitoring Method records where the location is the stack/pipe location in the Unit Stack Configuration record, the ParameterCode is equal to "HI", the MethodCode begins with "AD", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour and the EndDate is null or the EndDate/EndHour is on or after the Method Evaluation Begin Date/Begin Hour. If found, If Method Found is equal to false, or the BeginDate/BeginHour and EndDate/EndHour of ah of the method records retrieved above do not span the entire intersection between the method evaluation period and hour 23 of the BeginDate and hour 0 of the EndDate of the Unit Stack Configuration record, return result F. Otherwise, set Method Found to true. If not found, If Method Found is equal to true, return result F. Otherwise, set Method Found to false. If Method Found is null or is equal to false, return result F. Environmental Protection Agency Page 243 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result Response A You have reported a Heat Input methodology of "LTFF" for [location], but you have not reported a Heat Input methodology of "CALC" for all units linked to this pipe for the entire evaluation period. B You have reported an Appendix D Heat Input methodology for [location], but you have not reported a Heat Input methodology of "CALC" for all units linked to this pipe for the entire evaluation period. C You have reported a Heat Input methodology of "CEM" or " AMS" for [location], but you have not reported a Heat Input methodology of "CALC" for at least one unit linked to this stack for the entire evaluation period. D You have reported a Heat Input methodology of "CALC" for [location], but you have not reported an appropriate Heat Input methodology for all units linked to this stack for the entire evaluation period. E You have reported a Heat Input methodology indicating that heat input for [location] is apportioned from heat input measured at a common stack or pipe, but the unit is a non-load-based unit. You cannot apportion heat input for a non-load-based unit. F You have reported a Heat Input methodology of "CALC" for [location], but you have not reported an appropriate Heat Input methodology for the stacks or pipes linked to this unit for the entire evaluation period. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals true Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 244 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-14 Check Name: Method Consistent with Program Related Former Checks: Applicability: Description: Validation Tables: General Check [Program Parameter to Method Parameter] (Cross Check Table) Specifications: For a Monitoring Method record with consistent dates: Matching Program Parameter Cd List = List of lookup Program Parameter Cd from Cross-Check Table "Program Parameter To Method Parameter" where MethodParameterList contains Current Method.ParameterCd. Locate all Location Program Parameter Records linked to the location with a ClassCode not equal to "N", "NA", or "NB"; an UnitMonitorCertBeginDate that is on or before the Method Evaluation End Date and is not null, and a ParameterCd in Matching Program Parameter Cd List. If not found, return result A. If found, If the ParameterCode is equal to "HI" and the MethodCode is equal to "EXP", Locate a Unit Program Record linked to the location with a ProgramCode equal to "ARP", a ClassCode not equal to "NA" or "N", an UnitMonitorCertBeginDate that is on or before the Method Evaluation End Date and is not null, and an EndDate that is null or is on or after the Method Evaluation Begin Date. If found, return result A. If the Method Evaluation Begin Date is earlier than the earlier of the EmissionsRecordingBeginDate and January 1 of the year of the UnitMonitorCertBeginDate in the retrieved record with the earliest UnitMonitorCertBeginDate, return result C. else if the EndDates in all the retrieved records are not null and the latest End Date is prior to the Method Evaluation End Date, return result G. else if the BeginDates of the BeginReportPeriodlds and the EndDates of the EndReportPeridoIds for the retrieved Program Parameter Records do not span the Method Evaluation Period, return result H else if the ParameterCode is equal to "C02" or "C02M", From the Location Program Parameter Records previously located, locate records with Requiredlnd equal to 1. If not found, or if the Method Evaluation Begin Date is earlier than the earlier of the EmissionsRecordingBeginDate and January 1 of the year of the UnitMonitorCertBeginDate in the retrieved Otherwise, If the EndDate in the current Method record is null, return result B. Else Environmental Protection Agency Page 245 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM record with the earliest UnitMonitorCertBeginDate, Locate all Monitor Plan Reporting Frequency records linked to the location where the ReportingFrequency is equal to "OS"; and the BeginQuarter is on or before the quarter of the Method Evaluation End Date; and the EndQuarter is null or is on or after the quarter of the Method Evaluation Begin Date. If found, return result D. Otherwise, If the month/day of the Method Evaluation Begin Date is not January 1, Locate another Method record for the location where the BeginDate is prior to the Method Evaluation Begin Date and the End Date is null or is on or after January 1 of the year of the Method Evaluation Begin Date. If found, return result E. Otherwise, return result F. Otherwise, return result F. Results: Result A B C D E F H Response You reported a monitoring methodology for [key], but this methodology is not appropriate for the active programs associated with this location. You have indicated that this unit is exempt from reporting heat input. You reported a monitoring methodology for [key], but the BeginDate is not consistent with the dates in the Unit Program records (or Unit Stack Configuration records) associated with this location. If you believe that this error is incorrect, and has been caused by an inaccurate date in the Unit Program record, please contact Craig Hillock at Hillock. Craig@epamail.epa. gov. You reported a monitoring methodology for [key], but according to the reporting frequency records in this montioring plan, this location was an ozone-season only reporter for all or part of the time that this method record was active. A C02 monitoring methodology is only appropriate for locations that report on an annual basis. You reported a monitoring methodology for [key] that does not span the entire reporting year. A C02 monitoring methodology must be reported for an entire reporting year. Based on the dates of in this record and in the unit program records associated with this location, the monitoring methodology for [key] should only be reported if you are using this software to report C02 emissions as part of the Greenhouse Gas Mandatory Reporting Rule. If that is not the case, you should either not report this methodology or should correct the dates in this record to be consistent with the ARP or RGGI unit program records. You reported a monitoring methodology for [key] with an End Date that is not consistent with the End Date in the Unit Program records (or Unit Stack Configuration records) associated with this location. If you believe that this error is incorrect, and has been caused by an inaccurate date in the Unit Program record, please contact Craig Hillock at Hillock.Craig@epamail.epa.gov. You reported a monitoring methodology for [key] that is not appropriate for the entire evaluation period. Severity Critical Error Level 1 Informational Message Critical Error Level 1 Critical Error Level 1 Critical Error Level 2 Informational Message Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report ¦ Current Method Active Equals true ¦ Method Evaluation Environmental Protection Agency Page 246 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-15 Check Name: Method Consistent with Fuels Related Former Checks: ARP-14B, 72B, old ARP-61, ARP-42, ARP-51 Applicability: General Check Description: Validation Tables: Fuel Code (Lookup Table) Specifications: For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates: If the ParameterCode is equal to "OP" and the MethodCode is equal to "EXP", Locate all Unit Control records linked to the location where the ControlCode is equal to "WL", "WLS", or "WS", the InstallDate is null, and the OriginalCode is equal to 1. If not found, Locate all Unit Control records linked to the location where the ControlCode is equal to "WL", "WLS", or "WS", the InstallDate is on or before Method Evaluation End Date, and the RetireDate is null or is on or after Method Evaluation Begin Date). If not found, Locate all Unit Fuel records linked to the location where BeginDate is on or before Method Evaluation End Date and EndDate is null or is on or after Method Evaluation Begin Date. For each record found, If FuelCode is not equal to "DSL", Locate FuelCode in Fuel Code lookup table. If FuelGroupCode is not equal to "GAS" or "OIL", return result A. If FuelGroupCode is equal to "OIL", Locate a Monitor Qualification record for the location where QualificationTypeCode is equal to "GF", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date, If not found, return result A. If the MethodCode begins with "AD", or "LTF", or is equal to "AE", "PEM", or "LME", Locate all Unit Fuel records linked to the location where BeginDate is on or before Method Evaluation End Date and EndDate is null or is on or after Method Evaluation Begin Date. For each record found, Locate FuelCode in Fuel Code lookup table. If FuelGroupCode is equal to "COAL" or "OTHER", set Invalid Method Fuel to "coal or other solid fuels", and return result B. Environmental Protection Agency Page 247 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If MethodCode is equal to "FSA", Locate all Unit Fuel records linked to the location where the FuelCode is equal to "W" or "OSF", the BeginDate is on or before Method Evaluation End Date and EndDate is null or is on or after Method Evaluation Begin Date. If found, set Invalid Method Fuel to "wood or other solid fuel", and return result B. Results: Result Response Severity A You have reported [key], but this methodology is not appropriate unless the unit is only Critical Error Level 1 burning gas or diesel, or is a gas-fired unit that is burning only gas or oil. B You have reported [key], but this methodology is not appropriate when the unit is Critical Error Level 1 burning [invalid fuel]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals true Environmental Protection Agency Page 248 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-16 Check Name: Substitute Data Code Consistent with Non Load Based Indicator Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Method record with a valid SubstituteDataCode that begins with "NLB", If the Location Non Load Based Indicator is not equal to 1, return result A. Results: Result Response Severity A You have reported a substitute data approach of NLB or NLBOP for [key]. This Critical Error Level 1 approach is only appropriate for use by non load-based units. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals True Environmental Protection Agency Page 249 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-17 Check Name: Substitute Data Code Consistent with Program and Reporting Frequency Related Former Checks: ARP-73E Applicability: General Check Description: Specifications: For a Monitor Method record with a valid Substitute Data Code equal to "OZN75" and consistent dates: Locate all Monitor Plan Reporting Frequency records linked to the location where the ReportingFrequency is equal to "Q"; and the BeginQuarter is on or before the quarter of the Method Evaluation End Date; and the EndQuarter is null or is on or after the quarter of the Method Evaluation Begin Date. If found, and the EndQuarter of all the retrieved records are not null, and the latest EndQuarter of the retrieved records is prior to the quarter of the Method Evaluation End Date, return result B. If not found, return result A. Results: Result A Response You have reported a substitute data approach of OZN75 for [key]. This approach is only appropriate for use by Subpart H units that report on a year-round basis. You have reported a substitute data approach of OZN75 for [key]. This approach is only appropriate for use by Subpart H units that report on a year-round basis, but you have not reported the appropriate reporting frequency records that span the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Environmental Protection Agency Page 250 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-18 Check Name: Required Unit Control for Bypass Approach Related Former Checks: Applicability: CEM Check Description: Specifications: For a Monitoring Method record with a valid BypassApproachCode that is not null and consistent dates: Locate all Unit Type records linked to this location where the UnitTypeCode is equal to "CC", and the BeginDate is null or is on or before the Method Evaluation End Date and the EndDate is null or on or after the Method Evaluation Begin Date. If no Unit Type records are found, or there are no Unit Type records with a null End Date, or the latest EndDate of the retrieved record is prior to the Method Evaluation End Date, If the Method ParameterCode is equal to "NOXR", Locate all Unit Control records linked to this location where the ParameterCode is equal to "NOX", the BeginDate is null or is on or before the Method Evaluation End Date and the EndDate is null or on or after the Method Evaluation Begin Date. Otherwise, Locate all Unit Control records linked to this location where the ParameterCode is equal to the Method ParameterCode, the BeginDate is null or is on or before the Method Evaluation End Date and the EndDate is null or on or after the Method Evaluation Begin Date. If no Unit Type records are found, and no Unit Control records are found, return result A. If the there are no Unit Type or Unit Control records with a null EndDate or the latest EndDate of all the retrieved Unit Type and Unit Control records is prior to the Method Evaluation End Date, return result B. Results: Result A B Response You have reported a Bypass Stack Approach Code for [key], which indicates that emissions normally monitored at this location are sometimes emitted through an unmonitored bypass stack when unit controls are not working. However, this location does not have any unit controls defined that were active during the evaluation period. You have reported a Bypass Stack Approach Code for [key], which indicates that emissions normally monitored at this location are sometimes emitted through an unmonitored bypass stack when unit controls are not working. However, you have not reported unit controls records for this location that span the entire evaluation period. Severity Non-Critical Error Non-Critical Error Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals true Environmental Protection Agency Page 251 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-19 Check Name: Bypass Approach Code Consistent with Bypass Stack Indicator Related Former Checks: Applicability: CEM Check Description: Specifications: For a Monitoring Method record with a valid BypassApproachCode that is not null, consistent dates, and a Location Type equal to "CS" or "MS": Locate a Location Attribute record for the location where the Bypasslndicator is equal to 1 and the BeginDate is on or before the Monitor Evaluation End Date and the EndDate is null or is on or after the Monitor Evaluation Begin Date. If found, return result A. Results: Result Response A You have reported a Bypass Stack Approach Code for [key], which indicates that emissions normally monitored at this location are sometimes emitted through an unmonitored bypass stack. However, this location is defined as a bypass stack. A Bypass Stack Approach Code is not appropriate for a monitoring method at a bypass stack. Seventy Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals True Environmental Protection Agency Page 252 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-20 Check Name: CEM Methods Consistent Related Former Checks: Applicability: CEM Check Description: Specifications: For a Monitoring Method record with consistent dates: If the ParameterCode is equal to "H20", Locate all Monitoring Method records for the location where the MethodCode is equal to "CEM" or " AMS", the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. If not found, return result A. If found, the BeginDate/Hour and EndDate/Hour of all the retrieved records do not span the entire method evaluation period, return result B. If the MethodCode is equal to "CEM", If ParameterCode is equal to "NOX" or "NOXR", Locate all Monitoring Method records for the location where the MethodCode begins with "PEM" or "LTF" or is equal to "AE", "LME", or "MHHI", the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. If found, add all ParameterCodes in the retrieved records to the Invalid Parameters for CEM Method, and return result C. Otherwise, Locate all Monitoring Method records for the location where the MethodCode begins with "AD", "PEM", or "LTF" or is equal to "AE", "LME", or "MHHI", the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. If found, add all ParameterCodes in the retrieved records to the Invalid Parameters for CEM Method, and return result C. Results: Result Response Severity A You have reported a H20 monitoring methodology for [key], but no corresponding Critical Error Level 1 CEM/AMS methodology for this location. B You have reported a H20 monitoring methodology for [key], but you have not reported Critical Error Level 1 corresponding CEM/AMS method records that span the entire evaluation period for this location. C You reported a CEM monitoring methodology for [key], but you reported an Critical Error Level 1 inappropriate non-CEM methodology for [parameters]. Environmental Protection Agency Page 253 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals True Environmental Protection Agency Page 254 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-22 Check Name: Appendix E Method Consistent with HI Method Related Former Checks: Applicability: Appendix E Check Description: Specifications: For a MonitoringMethod record with a ParameterCode equal to "NOXR", "C02", or "S02", and a valid MonitoringMethodCode equal to "AE" or "AD": If MonitoringMethodCode is equal to "AD", Locate all Method records for the location where the ParameterCode is equal to "HI" and the MonitoringMethodCode begins with "AD", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and an EndDate and EndHour that is null or is on or after the Method Evaluation End Date and End Hour. Locate all Method records for the location where the ParameterCode is equal to "HI" and the MonitoringMethodCode is equal to "AD" or "CALC", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and an EndDate and EndHour that is null or is on or after the Method Evaluation End Date and End Hour. If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire period from the Method Evaluation Begin Date/Begin Hour to the Method Evaluation End Date/End Hour, return result B. Results: Result A B Response You have reported [key], but you have not reported an active corresponding Heat Input Appendix D methodology. You have reported [key], but you have not reported corresponding Heat Input Appendix D methodology records that span the entire evaluation period. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals True Environmental Protection Agency Page 255 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-23 Check Name: LME Methods Consistent Related Former Checks: ARP-59, 60 Applicability: Description: Specifications: LME Check For a Monitoring Method record with consistent dates and a valid method code equal to "LME", "MHHI", or "LTFF", and a ParameterCode not equal to "HGM": Locate a Monitoring Method record for the facility where the location is the current location; the MethodCode begins with "CEM" or "AD" or is equal to "PEM", "AE", "FSA", or "AMS"; the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour; and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. set Invalid Parameters for LME Method to all the Parameter Codes in the retrieved records, and return result A. If not found, and the Location Type is equal to "CP". Locate all Unit Stack Configuration records for the location where the BeginDate is on or before the Method Evaluation End Date and the EndDate is null or is on or after the Method Evaluation Begin Date. For each Unit Stack Configuration record: Locate a Monitoring Method record for the facility where the location is the unit in the retrieved Unit Stack Configuration records; the MethodCode begins with "CEM" or "AD" or is equal to "PEM", "AE", "FSA", or "AMS"; the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour; and the EndDate is null or the EndDate and EndHour is on or after the later of the Unit Stack Configuration Begin Date Hour 23 and the Method Evaluation Begin Date and Begin Hour. If found, append all the ParameterCodes in the retrieved records to Invalid Parameters for LME Method. If Invalid Parameters for LME Method is not null, return result A. If found, Results: Result A Response You reported an LME monitoring methodology for [key], but you reported an inappropriate non-LME methodology for [parameters]. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Environmental Protection Agency Page 256 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-24 Check Name: Related Former Checks: Required Methods Reported for NOX/NOXR Method Applicability: Description: Specifications: General Check For a Monitor Method record with a ParameterCode equal to "NOX", a MethodCode equal to "NOXR", and consistent dates: Locate a Monitor Method record for the location with a ParameterCode equal to "NOXR", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and an EndDate and EndHour that is null or is on or after the Method Evaluation End Date and End Hour. set Missing Method Parameters for NOX/NOXR Method to "NOXR". Also, Locate a Monitor Method record for the location with a ParameterCode equal to "HI", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and an EndDate and EndHour that is null or is on or after the Method Evaluation End Date and End Hour. append "HI" to Missing Method Parameters for NOX/NOXR Method. If either record is not found, return result A. Otherwise, If any NOXR records are found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved NOXR records do not span the entire method evaluation period, set Missing Method Parameters for NOX/NOXR Method to "NOXR". If any HI records are found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved HI records do not span the entire method evaluation period, append "HI" to Missing Method Parameters for NOX/NOXR Method. If the Missing Method Parameters for NOX/NOXR Method is not null, return result B. If not found, If not found, Results: Result A Response You reported [key], which indicates that NOx Mass is calculated using NOx Rate and Heat Input. However, you have not reported a methodology that was active during the evaluation period for [missing] at this location. You reported [key], which indicates that NOx Mass is calculated using NOx Rate and Heat Input. However, you have not reported a methodology for [missing] at this location that span the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Environmental Protection Agency Page 257 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-25 Check Name: Required NFS System Reported for Method Related Former Checks: ARP-11, ARP-53A, NBP-57 Applicability: General Check Description: Validation Tables: Method Parameter to Method to System Type (Cross Check Table) Specifications: For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates: If the ParameterCode is equal to "HI", and the MethodCode is equal to "CEM", Locate all Monitor System records for the location where the SystemTypeCode is equal to "C02" or "02", the SystemDesignationCode is equal to "P", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, and the Method Evaluation Begin Date is on or after the ECMPS MP Begin Date, set Required System for Method to "C02 or 02", and return result A. If not found and the Method Evaluation Begin Date is prior to the ECMPS MP Begin Date, or if the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, Locate a Unit Program record linked to the location where the ProgramCode is equal to "ARP", the ClassCode is not equal to "NA", and the UnitMonitorCertBeginDate is prior to the ECMPS MP Begin Date, If no Monitor System records were found, set Required System for Method to "C02 or 02", and return result A. If the BeginDate/BeginHour and EndDate/EndHour of the retrieved Monitor System records do not span the portion of the method evaluation period on or after the UnitMonitorCertBeginDate hour 0, set Required System for Method to "C02 or 02", and return result B. If not found, and the Method Evaluation End Date is on or after the ECMPS MP Begin Date, If no Monitor System records were found, set Required System for Method to "C02 or 02", and return result A. If the BeginDate/BeginHour and EndDate/EndHour of the retrieved Monitor System records do not span the portion of the method evaluation period on or after ECMPS MP Begin Date hour 0, set Required System for Method to "C02 or 02", and return result B. If the ParameterCode is not equal to "HI", and the MethodCode contains "CEM" or is equal to "PEM", "MTB", "MMS", or "MWD", Locate a record in the Parameter and Method to System Type Cross Check table where the ParameterCode is equal to the ParameterCode in the current Method record, the MethodCode is equal to the MethodCode in the current Method record, and the SystemTypeCode is not null, If one record is found, Locate all Monitor System records for the location where the SystemTypeCode is equal to the SystemTypeCode in the cross check table, the SystemDesignationCode is equal to "P" or "PB", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If found, Environmental Protection Agency Page 258 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If not found, set Required System for Method to the SystemTypeCode in the cross check table, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set Required System for Method to the SystemTypeCode in the cross check table, and return result B. If more than one record is found, Set Required System for Method to null. Set Incomplete System for Method to null. Set primary to null. For each cross check table record found: Locate all Monitor System records for the location where the SystemTypeCode is equal to the SystemTypeCode in the cross check table record, the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, append SystemTypeCode in the cross check table to Required System for Method. If found, If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, append SystemTypeCode in the cross check table to Incomplete System for Method. Otherwise, If the SystemDesignationCodes in all the retrieved records are equal to "P" or "PB", If primary is equal to "FOUND", set primary to "BOTH". Otherwise, set primary to "FOUND". If Required System for Method is not null, and Incomplete System for Method is null, return result C. If Required System for Method is null, and Incomplete System for Method is not null, return result D. If Required System for Method is not null, and Incomplete System for Method is not null, return result E. If primary is equal to "BOTH", return result F. If primary is null, Locate all Monitor System records for the location where the SystemTypeCode is equal to any. of the SystemTypeCodes in the retrieved cross check table records, the SystemDesignationCode is equal to "P" or "PB", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, or if the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, return result G. Environmental Protection Agency Page 259 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result Response A You reported a monitoring methodology for [key], but there is no primary [system] monitoring system that was active during the evaluation period, which is required for this method. B You reported a monitoring methodology for [key], but there is no primary [system] monitoring system that is active for the entire evaluation period. C You reported a monitoring methodology for [key], but there is no [system] monitoring system that was active during the evaluation period, which is required for this method. D You reported a monitoring methodology for [key], but there is no [incomplete] monitoring system that is active for the entire evaluation period. E You reported a monitoring methodology for [key], but there is no [system] monitoring system that was active during the evaluation period, which is required for this method. Also, you did not report a [incomplete] monitoring system that was active for the entire evaluation period. F You reported concurrently active primary HG and HGK monitoring systems. If you use the CEMAK methodology to measure HGM, you must designate either the HG or the HGK system to be the primary system. G You reported a monitoring methodology for [key], but you did not designate an HG or HGK monitoring system to be the primary monitoring system for the entire evaluation period. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals True Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 260 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-26 Check Name: Required Flow System Reported for Method Related Former Checks: ARP-11, NBP-57 Applicability: General Check Description: Specifications: For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates: If the ParameterCode is equal to "S02", "HI", "C02", or "NOX", and the MethodCode contains "CEM"; OR the ParameterCode is equal to "HGM", Locate a Monitor System for the location where the SystemTypeCode is equal to "FLOW", the SystemDesignationCode is equal to "P", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, return result B. Results: Result A Response You reported a monitoring methodology for [key], but there is no primary [system] monitoring system that was active during the evaluation period, which is required for this method. You reported a monitoring methodology for [key], but there is no primary [system] monitoring system that is active for the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Environmental Protection Agency Page 261 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-27 Check Name: Required Formula Reported for Method Related Former Checks: ARP-2, ARP-3, ARP-4, ARP-25, ARP-48, NBP-27, NBP-25, old NBP-22 Applicability: General Check Description: Specifications: For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates: If the ParameterCode is equal to "HI" and the MethodCode contains "CALC", If the Location Type is equal to "CS", Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to "F-25", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "HI F-25" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "HI F-25" for Missing Formula for Method, and return result B. If the Location Type is equal to "UB" or "UP", Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to "F-21A", "F-21B", "F-21C", or "F-21D", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "HI apportionment or summation" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "HI apportionment or summation" for Missing Formula for Method, and return result B. If the Location Type is equal to "US", Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to "F-21A", "F-21B", or "F-21C", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "HI apportionment or summation" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "HI apportionment or summation" for Missing Formula for Method, and return result B. If the MethodCode begins with "AD", If found, If ParameterCode is equal to "HI" or "C02", Locate all Monitor System records for the location where the SystemTypeCode is equal to "OILM", Environmental Protection Agency Page 262 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM "OILV", or "GAS", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. If more than one record is found, and for an^ two records the FuelCode is different, and the BeginDate and EndDate of the records overlap during the method evaluation period, If ParameterCode is equal to "HI", Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to "D-15A", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "HI D-15A" for Missing Formula for Method, and return result C. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the overlapping period in the Monitor System records that also overlaps the method evaluation period, Set "HI D-15A" for Missing Formula for Method, and return result B. Otherwise, Locate a Monitor Formula for the location where the ParameterCode is equal to "C02", the FormulaCode is equal to "G-4A", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "C02 G-4A" for Missing Formula for Method, and return result C. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the overlapping period in the Monitor System records that also overlaps the method evaluation period, Set "C02 G-4A" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "S02", Locate all Monitor System records for the location where the SystemTypeCode is equal to "OILM", "OILV", or "GAS", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the later of the Method Evaluation Begin Date and the ECMPS MP Begin Date. If more than one record is found, and for an^two records the FuelCode is different, and the BeginDate and EndDate of the records overlap the part of the method evaluation period that is on or after the ECMPS MP Begin Date. Locate a Monitor Formula for the location where the ParameterCode is equal to "S02", the FormulaCode is equal to "D-12", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the later of the Method Evaluation Begin Date/Begin Hour and the ECMPS MP Begin Date. If not found, set "S02 D-12" for Missing Formula for Method, and return result C. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the overlapping period in the Monitor System records that also overlaps the part of the method evaluation period that is on or after the ECMPS MP Begin Date, Set "S02 D-12" for Missing Formula for Method, and return result B. Environmental Protection Agency Page 263 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If the ParameterCode is equal to "NOXR" and the MethodCode is equal to "AE", Locate all Monitor System records for the location where the SystemTypeCode is equal to "NOXE", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the later of the Method Evaluation Begin Date and the ECMPS MP Begin Date. If more than one record is found, and for any two records the FuelCode is different, and the BeginDate and EndDate of the records overlap during the method evaluation period that is on or after the ECMPS MP Begin Date. Locate a Monitor Formula for the location where the ParameterCode is equal to "NOXR", the FormulaCode is equal to "E-2", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the later of the Method Evaluation Begin Date/Begin Hour and the ECMPS MP Begin Date. If not found, set "NOXR E-2" for Missing Formula for Method, and return result D. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the overlapping period in the Monitor System records that also overlaps the part of the method evaluation period that is on or after the ECMPS MP Begin Date. Set "NOXR E-2" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "NOX" and the MethodCode contains "NOXR", Locate a Monitor Formula for the location where the ParameterCode is equal to "NOX", the FormulaCode is equal to "F-24A", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "NOX F-24A" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "NOX F-24A" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "S02" and the MethodCode contains "F23", Locate a Monitor Formula for the location where the ParameterCode is equal to "S02", the FormulaCode is equal to "F-23", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "S02 F-23" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "S02 F-23" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "HI" and the MethodCode contains "CEM", Locate a Monitor Formula for the location where the ParameterCode is equal to "HI", the FormulaCode is equal to "F-15", "F-16", "F-17", or "F-18", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "HI CEM" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method Environmental Protection Agency Page 264 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM evaluation period, set "HI CEM" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "C02" and the MethodCode contains "CEM", Locate a Monitor Formula for the location where the ParameterCode is equal to "C02", the FormulaCode is equal to "F-2" or "F-l 1", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "C02 CEM" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "C02 CEM" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "C02M" and the MethodCode contains "FSA", Locate a Monitor Formula for the location where the ParameterCode is equal to "C02M", the FormulaCode is equal to "G-l", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "C02M FSA" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "C02M FSA" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "HGM" and the MethodCode is equal to "LME", Locate a Monitor Formula for the location where the ParameterCode is equal to "HGM", the FormulaCode is equal to "F-28", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "HGM F-28" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "HGM F-28" for Missing Formula for Method, and return result B. If the ParameterCode is equal to "HGM" and the MethodCode contains "AK", Locate a Monitor Formula for the location where the ParameterCode is equal to "HGM", the FormulaCode is equal to "F-29", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, set "HGM F-29" for Missing Formula for Method, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, set "HGM F-29" for Missing Formula for Method, and return result B. Environmental Protection Agency Page 265 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C D Severity Critical Error Level 1 Critical Error Level 1 Response You have reported [key], but you have not reported a [formula] formula that was active during the evaluation period, which is required when using this monitoring methodology. You have reported [key], but you have not reported the required [formula] formula to span the entire evaluation period. You have reported [key], but you have not reported a [formula] formula that was active Critical Error Level 1 during the evaluation period, which is required when using this monitoring methodology with fuel flow systems measuring more than one fuel. You reported [key], but you have not reported a [formula] formula that was active during the evaluation period, which is required when using this monitoring methodology with multiple NOXE systems for different fuels. Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals True Environmental Protection Agency Page 266 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-28 Check Name: Required Defaults Reported for Method Related Former Checks: ARP-47 Applicability: General Check Description: Specifications: For a Monitoring Method record with a valid ParameterCode, a valid MethodCode, and consistent dates: set Missing Default for Method and Incomplete Default for Method to null. If the ParameterCode is equal to "H20" and the MethodCode is equal to "MDF", Locate a Monitor Default for the location where the ParameterCode is equal to "H20", the DefaultPurposeCode is equal to "PM", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add "H20 PM" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "H20 PM" to Incomplete Default for Method. If the ParameterCode is equal to "S02" and the MethodCode contains "F23", Locate a Monitor Default for the location where the ParameterCode is equal to "S02R", the DefaultPurposeCode is equal to "F23", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add " S02R F23" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "S02R F23" to Incomplete Default for Method. If the ParameterCode is equal to "NOXR", and MethodCode begins with "CEM", Locate a Monitor Default for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode is equal to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add "NORX MD" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "NORX MD" to Incomplete Default for Method. If the MethodCode is equal to "S02R", Locate a Monitor Default for the location where the ParameterCode is equal to "SORX", the DefaultPurposeCode is equal to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add " SORX MD" to Missing Default for Method. Environmental Protection Agency Page 267 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add " SORX MD" to Incomplete Default for Method. If the MethodCode is equal to "PEM", Locate a Monitor Default for the location where the ParameterCode is equal to "NOCX", the DefaultPurposeCode is equal to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add "NOCX MD" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "NOCX MD" to Incomplete Default for Method. Locate a Monitor Default for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode is equal to "MD", the FuelCode is equal to "NFS", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add "NORX MD" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "NORX MD" to Incomplete Default for Method. If the ParameterCode is equal to "HIT" and the MethodCode is equal to "MHHI", Locate a Monitor Default for the location where the ParameterCode is equal to "MHHI", the DefaultPurposeCode is equal to "LM", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add "MHHI LM" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "MHHI LM" to Incomplete Default for Method. If the ParameterCode is equal to "HGM", If the MethodCode is equal to "LME" or "AK", Locate a Monitor Default for the location where the ParameterCode is equal to "HGX", the DefaultPurposeCode is equal to "MD", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add "HGX MD" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "HGX MD" to Incomplete Default for Method. If the MethodCode contains "AK", Environmental Protection Agency Page 268 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Locate a Monitor Default for the location where the ParameterCode is equal to " AKSF", the DefaultPurposeCode is equal to "AK", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add "AKSF AK" to Missing Default for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, add "AKSF AK" to Incomplete Default for Method. If Missing Default for Method is not null, and Incomplete Default for Method is null, return result A. If Missing Default for Method is null, and Incomplete Default for Method is not null, return result B. If Missing Default for Method is not null, and Incomplete Default for Method is not null, return result C. If the MethodCode is equal to "AE", Locate all Unit Fuel records linked to the location where the IndicatorCode is equal to "E", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. For each Location Fuel record found, Locate a Monitor Default for the location where the ParameterCode is equal to "NOCX", the DefaultPurposeCode is equal to "MD", the associated UnitFuel is equal to the FuelCode in the fuel record, the BeginDate/BeginHour is on or before the earlier of the Method Evaluation End Date/End Hour and the End Date and End Hour in the fuel record, and the EndDate/EndHour is null or is on or after the later of the Method Evaluation Begin Date/Begin Hour and the Begin Date and Begin Hour in the fuel record. If not found for any. fuel, add "NOCX MD" to Missing Default for Method. If, for an^ fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection of the method evaluation period and active fuel record period, add "NOCX MD" to Incomplete Default for Method. Locate a Monitor Default for the location where the ParameterCode is equal to "NORX", the DefaultPurposeCode is equal to "MD", the associated UnitFuel is equal to the FuelCode in the fuel record, the BeginDate/BeginHour is on or before the earlier of the Method Evaluation End Date/End Hour and the End Date and End Hour in the fuel record, and the EndDate/EndHour is null or is on or after the later of the Method Evaluation Begin Date/Begin Hour and the Begin Date and Begin Hour in the fuel record. If not found for any. fuel, add "NORX MD" to Missing Default for Method. If, for any fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection of the method evaluation period and active fuel record period, add "NORX MD" to Incomplete Default for Method. If Missing Default for Method is not null, and Incomplete Default for Method is null, return result D. If Missing Default for Method is null, and Incomplete Default for Method is not null, return result E. Environmental Protection Agency Page 269 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If Missing Default for Method is not null, and Incomplete Default for Method is not null, return result F. If the MethodCode is equal to "LME", Set Missing Default Fuel for Method and Incomplete Default Fuel for Method to null. Locate all Unit Fuel records linked to the location where the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. For each Location Fuel record found, If ParameterCode is equal to "NOXM", Locate a Monitor Default for the location where the ParameterCode is equal to "NOXR", the DefaultPurposeCode begins with "LM", the associated UnitFuel is equal to the FuelCode in the unit fuel record, an OperatingConditionCode equal to "A", "C", or "B", and the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found for any. fuel, add FuelCode in Unit Fuel record to Missing Default Fuel for Method, add "NOXR LM" to Missing Default for Method. If, for an^ fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection of the method evaluation period and active fuel record period, add FuelCode in Unit Fuel record to Incomplete Default Fuel for Method, add "NOXR LM" to Incomplete Default for Method. If ParameterCode is equal to "C02M", Locate a Monitor Default for the location where the ParameterCode is equal to "C02R", the DefaultPurposeCode begins with "LM", the associated UnitFuel is equal to the FuelCode in the unit fuel record, an OperatingConditionCode equal to "A", and the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found for anv fuel. add FuelCode in Unit Fuel record to Missing Default Fuel for Method, add "C02R LM" to Missing Default for Method. If, for anjifuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection of the method evaluation period and active fuel record period, add FuelCode in Unit Fuel record to Incomplete Default Fuel for Method, add "C02R LM" to Incomplete Default for Method. If ParameterCode is equal to "S02M", Locate a Monitor Default for the location where the ParameterCode is equal to "S02R", the DefaultPurposeCode begins with "LM", the associated UnitFuel is equal to the FuelCode in the unit fuel record, an OperatingConditionCode equal to "A", and the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found for anv fuel. add FuelCode in Unit Fuel record to Missing Default Fuel for Method, add " S02R LM" to Missing Default for Method. If, for aim fuel, the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the Environmental Protection Agency Page 270 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM entire intersection of the method evaluation period and active fuel record period, add FuelCode in Unit Fuel record to Incomplete Default Fuel for Method, add " S02R LM" to Incomplete Default for Method. If Missing Default for Method is not null, and Incomplete Default for Method is null, return result G. If Missing Default for Method is null, and Incomplete Default for Method is not null, return result H. If Missing Default for Method is not null, and Incomplete Default for Method is not null, return result I. Results: Result A B C D E F H I Usage: 1 Response You have reported [key], but you have not reported a [default parameter] default record that was active during the evaluation period, which is required when using this monitoring methodology. You have reported [key], but you have not reported [incomplete default parameter] default records that are active for the entire evaluation period. You have reported [key], but you have not reported a [default parameter] default record that was active during the evaluation period, which is required when using this monitoring methodology. Also, you have not reported [incomplete default parameter] default records that are active for the entire evaluation period. You have reported [key], but you have not reported a [default parameter] default record that was active during the evaluation period for every emergency fuel, which is required when using this methodology. You have reported [key], but you have not reported [incomplete default parameter] default records that are active for the entire evaluation period for every emergency fuel. You have reported [key], but you have not reported a [default parameter] default record that was active during the evaluation period for every emergency fuel, which is required when using this methodology. Also, you have not reported [incomplete default parameter] default records that are active for the entire evaluation period. You have reported [key], but you have not reported a valid [default parameter] default record that was active during the evaluation period for [fuels], which is required when using an LME methodology. You have reported [key], but you have not reported [incomplete default parameter] default records that are active for the entire evaluation period for [incomplete fuels]. You have reported [key], but you have not reported a valid [default parameter] default record that was active during the evaluation period for [fuels], which is required when using an LME methodology. Also, you have not reported [incomplete default parameter] default records for [incomplete fuels] that are active for the entire evaluation period. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Process/Category: Conditions: Monitoring Plan Evaluation Report - Current Method Active Equals True ¦ Method Evaluation Environmental Protection Agency Page 271 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-29 Check Name: Required Defaults Reported for Missing Data Approach Related Former Checks: ARP-74, 75B/D Applicability: Description: Validation Tables: CEM Check Method Parameter to Maximum Default Parameter to Component Type (Cross Check Table) Specifications: For a Monitoring Method record with consistent dates: If the SubstituteDataCode is valid and equal to "FSP75C", If the MethodCode is equal to "S02R", Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not equal to " S02X". Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not equal to "SORX". For each retrieved cross check record, Locate all Monitor Default records for the location where the ParameterCode is equal to the Maximum Default Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", FuelCode not equal to "NFS", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, or none of the retrieved records has a FuelCode equal to "MIX", add Maximum Default Parameter Code to Missing Maximum Default. If the ComponentTypeCode in the retrieved cross-check record is equal to "NOX" or "S02", Locate a Monitor Span record for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the cross-check record, the SpanScaleCode is equal to "H", the MaximumPotentialConcentration is equal to the highest DefaultValue in the retrieved default records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, add the ComponentTypeCode in the cross-check record to Invalid Maximum Default. If the ComponentTypeCode in the retrieved cross-check record is equal to "FLOW", Locate a Monitor Span record for the location where the ComponentTypeCode is equal to "FLOW", the MaximumPotentialFlow is equal to the highest DefaultValue in the retrieved default records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. Otherwise, If found, Environmental Protection Agency Page 272 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If not found, add "FLOW" to Invalid Maximum Default. If the ComponentTypeCode in the retrieved cross-check record is null Locate a Monitor Default record for the location where the ParameterCode is equal to the Default Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", FuelCode equal to "NFS", a DefaultValue equal to the highest DefaultValue in the retrieved default records, StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, add the Maximum Default Parameter Code in the cross-check record to Invalid Maximum Default. If the SubstituteDataCode is valid and equal to "FSP75", If the MethodCode is equal to "S02R", Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not equal to " S02X". Otherwise, Locate all records in the Method Parameter to Maximum Default Parameter and Component Type lookup table with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not equal to "SORX". For each retrieved cross check record, Locate all Monitor Default records for the location where the ParameterCode is equal to the Default Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", a FuelCode not equal to "NFS" or "MIX", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If less than two records are found, or if there is only one FuelCode in the retrieved default records, add Maximum Default Parameter Code to Missing Maximum Default. Otherwise, If the ComponentTypeCode in the retrieved cross-check record is equal to "NOX" or "S02", Locate a Monitor Span record for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the cross-check record, the SpanScaleCode is equal to "H", the MaximumPotentialConcentration is equal to the highest DefaultValue in the retrieved default records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, add the ComponentTypeCode in the cross-check record to Invalid Maximum Default. If the ComponentTypeCode in the retrieved cross-check record is equal to "FLOW", Locate a Monitor Span record for the location where the ComponentTypeCode is equal to Environmental Protection Agency Page 273 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM "FLOW", the MaximumPotentialFlow is equal to the highest DefaultValue in the retrieved default records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, add "FLOW" to Invalid Maximum Default. If the ComponentTypeCode in the retrieved cross-check record is null, Locate a Monitor Default record for the location where the ParameterCode is equal to the Default Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", FuelCode equal to "NFS", a DefaultValue equal to the highest DefaultValue in the retrieved default records, StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, add the Maximum Default Parameter Code in the cross-check record to Invalid Maximum Default. If the MethodCode is valid, and the BypassApproachCode is valid and equal to "BYMAXFS", If the MethodCode is equal to "S02R", Locate the record in the Method Parameter to Maximum Default Parameter and Component Type lookup table with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not equal to "S02X" or "FLOX". Otherwise, Locate the record in the Method Parameter to Maximum Default Parameter and Component Type lookup table with a Method Parameter Code equal to the ParameterCode in the method record and a Default Parameter Code not equal to "SORX" or "FLOX". Locate all Monitor Default records for the location where the ParameterCode is equal to the Default Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", a FuelCode not equal to "NFS", a BeginDate and BeginHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If found, and there are either more than one FuelCode in the retrieved records or the FuelCode in the retrieved record(s) is equal to "MIX", If the ComponentTypeCode in the retrieved cross-check record is equal to "NOX" or "S02", Locate a Monitor Span record for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the cross-check record, the SpanScaleCode is equal to "H", the MaximumPotentialConcentration is equal to the highest DefaultValue in the retrieved default records, a StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and a EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, add the ComponentTypeCode in the cross-check record to Invalid Maximum Default. If the ComponentTypeCode in the retrieved cross-check record is null, Locate a Monitor Default record for the location where the ParameterCode is equal to the Default Parameter Code in the retrieved cross check records, a DefaultPurposeCode equal to "MD", FuelCode Environmental Protection Agency Page 274 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM equal to "NFS", a DefaultValue equal to the highest DefaultValue in the retrieved default records, StartDate and StartHour that is on or before the Method Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the Method Evaluation Begin Date and Begin Hour. If not found, add the Maximum Default Parameter Code in the cross-check record to Invalid Maximum Default. Otherwise, add Maximum Default Parameter Code to Missing Maximum Default. If the Missing Maximum Default is not null, and the Invalid Maximum Default is null, return result A. If the Invalid Maximum Default is not null, and the Missing Maximum Default is null, return result B. If both the Missing Maximum Default and the Invalid Maximum Default are not null, return result C. If the SubstituteDataCode is valid and equal to "MHHI", Locate a Monitor Default for the location where the ParameterCode is equal to "MHHI", the DefaultPurposeCode is equal to "LM", the BeginDate/BeginHour is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, return result D. Results: Result A B D Usage: 1 Response Severity You reported a substitute data or bypass approach code in the monitoring methodology Critical Error Level 1 record for [key] indicating the use of fuel-specific missing data, but you have not reported the appropriate default records that were active during the evaluation period for [missing default]. You reported a substitute data or bypass approach code in the monitoring methodology Critical Error Level 1 record for [key] indicating the use of fuel-specific missing data, but you have not reported a default value for [invalid default] that is equal to the MPC/MPF in the corresponding span record or the MER in the corresponding NFS default record. You reported a substitute data or bypass approach code in the monitoring methodology record for [key] indicating the use of fuel-specific missing data, but you have not reported the appropriate default records that were active during the evaluation period for [missing default]. Also, you have not reported a default value for [invalid default] that is equal to the MPC/MPF in the corresponding span record or the MER in the corresponding NFS default record. You reported a SubstituteDataCode of [code] for [key], but you did not report a [param] default record in your monitoring plan that is required for missing data purposes. Critical Error Level 1 Critical Error Level 1 Process/Category: Conditions: Monitoring Plan Evaluation Report ¦ Current Method Active Equals true ¦ Method Evaluation Environmental Protection Agency Page 275 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-30 Check Name: Required FuelFlow System Reported for Method Related Former Checks: ARP-11, NBP-57 Applicability: Description: Validation Tables: Appendix D Check Fuel Code (Lookup Table) Specifications: For a Monitoring Method record with a ParameterCode equal to "HI" or "HIT", a valid MethodCode, and consistent dates: If the MethodCode begins with "AD", and the Location Type begins with "U", Locate all Unit Stack Configuration records where the unit location is the location in the Method record, the associated StackPipelD begins with "CP" or "MP", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "OIL", the IndicatorCode is equal to "P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. For each Unit Fuel record found, Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel record. Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit Stack Configuration records, the SystemTypeCode is equal to "OILM" or "OILV", the SystemDesignationCode is equal to "P", the FuelCode is any. of the FuelCode in the retrieved Fuel Code Lookup table records, the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0. add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method. Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "GAS", the IndicatorCode is equal to "P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. For each record found, Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel record. Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit Stack Configuration records, the SystemTypeCode is equal to "GAS", the SystemDesignationCode is equal to "P", the FuelCode is any. of the FuelCode in the retrieved Fuel Code Lookup table records, the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method. Environmental Protection Agency Page 276 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0. add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method. If the MethodCode begins with "LTF", and the Location Type begins with "U", Locate all Unit Stack Configuration records where the unit location is the location in the Method record, the associated StackPipelD begins with "CP", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "OIL", the IndicatorCode is equal to "P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. For each Unit Fuel record found, Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel record. Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit Stack Configuration records, the SystemTypeCode is equal to "LTOL", the SystemDesignationCode is equal to "P", the FuelCode is any of the FuelCode in the retrieved Fuel Code Lookup table records, the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0. add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method. Locate all Unit Fuel records for the unit where the associated FuelGroup is equal to "GAS", the IndicatorCode is equal to "P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. For each record found, Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel record. Locate all Monitor Systems where the location is the unit or any of the stack/pipe locations in the retrieved Unit Stack Configuration records, the SystemTypeCode is equal to "LTGS", the SystemDesignationCode is equal to "P", the FuelCode is any of the FuelCode in the retrieved Fuel Code Lookup table records, the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add the FuelCode in the Location Fuel Record to the Missing Fuel System for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection between the method evaluation period and the location fuel start date hour 23 and end date hour 0. add the FuelCode in the Location Fuel Record to the Incomplete Fuel System for Method. If Missing Fuel System for Method is not null, and the Incomplete Fuel System for Method is null, return result A. Environmental Protection Agency Page 277 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM else if Incomplete Fuel System for Method is not null, and the Missing Fuel System for Method is null, return result B. else if both the Missing Fuel System for Method and the Incomplete Fuel System for Method are not null, return result C. otherwise, If the MethodCode begins with "AD", Locate all Monitor Systems for the location where the SystemTypeCode is equal to "OILM", "OILV", or "GAS", the SystemDesignationCode is equal to "P", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, return result D. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, return result E. If the MethodCode begins with "LTF", Locate all Monitor Systems for the location where the SystemTypeCode is equal to "LTOL" or "LTGS", the SystemDesignationCode is equal to "P", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, return result D. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire method evaluation period, return result E. Results: Result A B C D Response You reported a monitoring methodology for [key], but there is no primary FuelFlow system that was active during the evaluation period to measure [missing fuel] at the unit or at a pipe linked to the unit, which is required for this method. You reported a monitoring methodology for [key], but there is no primary FuelFlow system to measure [incomplete fuel] that is active for the entire evaluation period. You reported a monitoring methodology for [key], but there is no primary FuelFlow system that was active during the evaluation period to measure [missing fuel] at the unit or at a pipe linked to the unit. Also, there is no primary FuelFlow system to measure [incomplete fuel] that is active for the entire evaluation period. You reported a monitoring methodology for [key], but there is no primary FuelFlow system that was active during the evaluation period at the location, which is required for this method. You reported a monitoring methodology for [key], but there is no primary FuelFlow system at the location, which is active for the entire evaluation period. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Environmental Protection Agency Page 278 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-31 Check Name: Required Peaking Qualification Reported for Appendix E Method Related Former Checks: ARP-15 Applicability: Appendix E Check Description: Specifications: For a Monitoring Method record with a ParameterCode equal to "NOXR", a MethodCode equal to " AE", and consistent dates: If Location Type is equal to "MP", Locate a UnitStackConfiguration record for the stack/pipe location. Locate Monitor Qualification records where the location is the unit location in the UnitStackConfiguration record, the QualificationTypeCode is equal to "PK" or "SK", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. Otherwise, Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is equal to "PK" or "SK", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. If not found, return result A. If found, and the BeginDate and EndDate in the retrieved records do not span the entire method evaluation period, return result B. Results: Result A Response You reported a method for [key], but there are no Monitor Qualification records that were active during the evaluation period indicating that the unit is a peaking unit. The Appendix E method can only be used for peaking units. You reported a method for [key], but the Monitor Qualification records do not indicate that the unit was a peaking unit for the entire evaluation period. Severity Critical Error Level 2 B Critical Error Level 2 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals True Environmental Protection Agency Page 279 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-32 Check Name: Required Appendix E System Reported for Method Related Former Checks: ARP-11, NBP-57 Applicability: Appendix E Check Description: Validation Tables: Fuel Code (Lookup Table) Specifications: For a Monitoring Method record with a ParameterCode equal to "NOXR", a MethodCode equal to " AE", and consistent dates: set "NOXE" to NOX System Type. Locate a Monitor System for the location where the SystemTypeCode is equal to "NOXE", the SystemDesignationCode is equal to "P", the FuelCode is equal to "MIX", the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. Locate all Unit Fuel records linked to the location where the associated FuelGroup is equal to "OIL" or "GAS", the IndicatorCode is equal to "P" or "S", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. For each record found, Locate all records in the Fuel Code Lookup table where the UnitFuel is equal to the FuelCode in the Unit Fuel record. Locate a Monitor System for the location where the SystemTypeCode is equal to "NOXE", the SystemDesignationCode is equal to "P", the FuelCode is any of the FuelCode in the Fuel Code Lookup table records retrieved above, the BeginDate/BeginHour is null or is on or before the Method Evaluation End Date/End Hour, and the EndDate/EndHour is null or is on or after the Method Evaluation Begin Date/Begin Hour. If not found, add the FuelCode in the Location Fuel Record to the Missing NOX System for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection between the method evaluation period and the location fuel start/end dates. add the FuelCode in the Location Fuel Record to the Incomplete NOX System for Method. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire intersection between the method evaluation period and the location fuel start/end dates, add "MIX" to the Incomplete NOX System for Method. If Missing NOX System for Method is not null, and the Incomplete NOX System for Method is null, return result A. If Incomplete NOX System for Method is not null, and the Missing NOX System for Method is null, return result B. If both Missing NOX System for Method and the Incomplete NOX System for Method are not null, return result C. If not found, Environmental Protection Agency Page 280 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C Usage: 1 Response You reported a monitoring methodology for [key], but there is no primary [system type] system that was active during the evaluation period to measure [missing fuel], which is required for this method. You reported a monitoring methodology for [key], but there is no primary [system type] system to measure [incomplete fuel] that is active for the entire evaluation period. You reported a monitoring methodology for [key], but there is no primary [system type] system that was active during the evaluation period to measure [missing fuel]. Also, there is no primary [system type] system to measure [incomplete fuel] that is active for the entire evaluation period. Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 281 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-33 Check Name: Required LME Qualification Reported for LME Method Related Former Checks: Applicability: LME Check Description: Specifications: For a Monitoring Method record with a valid MethodCode equal to "LME", consistent dates, and a ParameterCode not equal to "HGM": If ParameterCode is equal to "C02M" or "S02M", Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is equal to "LMEA", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. If not found, Set Missing Qualification for Method to "LMEA", and return result A. If found, If the EndDate in the Method record is null, If the BeginDate and EndDate in the retrieved records do not span the period from the Method Evaluation Begin Date to the Method Evaluation End Date, Set Incomplete Qualification for Method to "LMEA", and return result B. Otherwise, If the BeginDate and EndDate in the retrieved records do not span the period from the Method Evaluation Begin Date through December 31 of the year prior to the EndDate in the method record. Set Incomplete Qualification for Method to "LMEA", and return result B. Otherwise, Set Missing Qualification for Method to null. Set Incomplete Qualification for Method to null. Locate a Reporting Frequency record for the location where the ReportingFrequencyCode is equal to "Q" and the first day of the BeginQuarter is on or before the Method Evaluation End Date, and the EndQuarter is null or the last day of the EndQuarter is on or after the Method Evaluation Begin Date. If found, Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is equal to "LMEA", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the later of the Method Evaluation Begin Date and the first day of the BeginQuarter in the reporting frequency record. If not found, Set Missing Qualification for Method to "LMEA". If found, If the EndDate in the Method record is null, If the BeginDate and EndDate in the retrieved records do not span the entire period from the later of the Method Evaluation Begin Date and the first day of the BeginQuarter in the reporting frequency record until the Method Evaluation End Date, Set Incomplete Qualification for Method to "LMEA". Environmental Protection Agency Page 282 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Otherwise, If the BeginDate and EndDate in the retrieved records do not span the entire period from the later of the Method Evaluation Begin Date and the first day of the BeginQuarter in the reporting frequency record through December 31 of the year prior to the EndDate in the method record, Set Incomplete Qualification for Method to "LMEA". Locate a Unit Program record for the location where the ProgramCode is equal to "NBP", "NHNOX", "OTC", "CAIROS", or "SIPNOX", the ClassCode is not equal to "N" or "NB", and the UnitMonitorCertBeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the Method Evaluation Begin Date. If found, Locate Monitor Qualification records for the location in the Method record where the QualificationTypeCode is equal to "LMES", the BeginDate is on or before the Method Evaluation End Date, and the EndDate is null or is on or after the later of the Method Evaluation Begin Date and the earliest UnitMonitorCertBeginDate in the unit program record. If not found, append "LMES" to Missing Qualification for Method. If found, Set LMES Begin Date to the the later of the Method Evaluation Begin Date and the earliest UnitMonitorCertBeginDate in the retrived Unit Program records. If LMES Begin Date is prior to May 1, Set LMES Begin Date to May 1 of the year of the LMES Begin Date. If the EndDate in the Method record is null, If the BeginDate and EndDate in the retrieved records do not span the entire period from the LMES Begin Date to the Method Evaluation End Date, append "LMES" to Incomplete Qualification for Method. Otherwise, If the BeginDate and EndDate in the retrieved records do not span the entire period from the LMES Begin Date to September 30 of the year prior to the EndDate in the method record, append "LMES" to Incomplete Qualification for Method. If Missing Qualification for Method is not null, and Incomplete Qualification for Method is null, return result A. If Missing Qualification for Method is null, and Incomplete Qualification for Method is not null, return result B. If Missing Qualification for Method is not null, and Incomplete Qualification for Method is not null, return result C. Environmental Protection Agency Page 283 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result Response A You have reported a [param] method record for this unit indicating the use of an LME methodology, but you have not reported a [missing] Monitor Qualification record for the unit that is active during the evaluation period. B You have reported a [param] method record for this unit indicating the use of an LME methodology, but you have not reported an [incomplete] Monitor Qualification record for the unit that spans the entire evaluation period. C You have reported a [param] method record for this unit indicating the use of an LME methodology, but you have not reported an [missing] Monitor Qualification record for the unit that is active during the evaluation period. Also, you have not reported an [incomplete] Monitor Qualification record for the unit that spans the entire evaluation period. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals True Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 284 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-34 Check Name: Alternative Monitoring Methodology Valid Related Former Checks: Applicability: General Check Description: Specifications: For a Method record with a valid Method Code: If MethodCode is equal to "AMS", "PEM", or "S02R", return result A. Results: Result Response Severity A You have a reported a monitoring methodology for [key] that requires approval from Informational Message EPA. Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Environmental Protection Agency Page 285 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-35 Check Name: Required Unit Control for MTB Method Related Former Checks: Applicability: CEM Check Description: Specifications: For a Monitoring Method record with a valid MethodCode equal to "MTB" and consistent dates: Locate all Unit Control record linked to this location where the ParameterCode is equal to "PART", the ControlCode is equal to "WS", the InstallDate is null and the OriginalCode is equal to 1, If not found, Locate all Unit Control record linked to this location where the ParameterCode is equal to "PART", the ControlCode is equal to " WS", the InstallDate is on or before the Method Evaluation End Date, and the RetireDate is null or on or after the Method Evaluation Begin Date. If not found, return result A. If found, and the InstallDate and RetireDate of the retrieved Unit Control records do not span the entire period between the Method Evaluation Begin Date and Method Evaluation End Date, return result B. Results: Result A B Response Severity You have reported the use of a moisture lookup table in [key], but you have not reported Critical Error Level 1 the use of a wet scrubber in a unit control record that was active during the evaluation period. You have reported the use of a moisture lookup table in [key], but you have not reported Critical Error Level 1 the use of a wet scrubber for the entire evaluation period. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Method Evaluation Conditions: Current Method Active Equals true Environmental Protection Agency Page 286 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-37 Check Name: H20 Method Substitute Data Code Consistent with Formula Related Former Checks: Applicability: CEM Check Description: Specifications: For a Method record with a ParameterCode equal to "H20", a valid MethodCode that is not equal to "MDF", and a valid SubstituteDataCode, and consistent dates: Set Moisture Default Parameter to null. Locate all Monitor Formula records for the location where the FormulaCode is equal to "19-3", "19-3D", "19-4", or "19-8", the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. If SubstituteDataCode is equal to "REV75", Locate all Monitor Formula records for the location where the FormulaCode is equal to "F-2", "F-14B", "F-16", "F-17", "F-18", "F-26B", "19-5", or "19-9", the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. If not found, return result A. If found, Set Moisture Default Parameter to "H20N". else if SubstituteDataCode is equal to "SPTS", Set Moisture Default Parameter to "H20X". If SubstituteDataCode is equal to "SPTS", Locate all Monitor Formula records for the location where the FormulaCode is equal to "F-2", "F-14B", "F-16", "F-17", "F-18", "F-26B", "19-5", or "19-9", the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. If found, return result B. If not found, Set Moisture Default Parameter to "H20X". else if SubstituteDataCode is equal to "REV75", Set Moisture Default Parameter to "H20N". If Moisture Default Parameter is not null, Locate a MonitorDefault record for the location where the ParameterCode is equal to Moisture Default Parameter, the BeginDate and BeginHour is on or before the Method Evaluation End Date and End Hour, and the End Date is null or the EndDate and EndHour is on or after the Method Evaluation Begin Date and Begin Hour. If found, If not found, Environmental Protection Agency Page 287 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If not found, return result C. If found, and the retrieved records do not span the entire method evaluation period, return result D. Results: Result A B C D Usage: 1 Response You reported "REV75" as the SubstituteDataCode for [key], but based on your formula records, you should be using the Standard Part 75 missing data procedures. You reported "SPTS" as the SubstituteDataCode for [key], but based on your formula records, you should be using the Inverse Part 75 missing data procedures. You reported a SubstituteDataCode of [code] for [key], but you did not report a [param] default record in your monitoring plan that is required for missing data purposes. You reported a SubstituteDataCode of [code] for [key], but you did not report [param] default records in your monitoring plan, which is required for missing data purposes, that span the entire evaluation period. Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 288 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-38 Check Name: Required Default Reported for HGM LME Method Related Former Checks: Applicability: LME Check Description: Specifications: For a Monitoring Method record with a valid ParameterCode equal to "HGM" a MethodCode is equal to "LME", and consistent dates: Locate a QA Supp record for the location with a TestTypeCode equal to "HGLME", a TestReasonCode equal to "INITIAL", and an EndDate and End Hour on or before the Method Evaluation Begin Date and Begin Hour. If not found, Locate a Monitor Default record for the location with a ParameterCode equal to "HGC", a DefaultPurposeCode equal to "LM", a GroupID that is not null, and a BeginDate and BeginHour that is on or before the Method Evaluation Begin Date and Begin Hour. If not found, If the Method Evaluation Begin Date is on or after the current date, return result A. Otherwise, return result B. Results: Result A B Response You reported [key], but you did not report a HGLME test to establish an initial default Hg concentration. If this location is an identical unit, you must report the default concentration in a monitor default record in your monitoring plan. You reported [key], but you did not report a HGLME test to establish an initial default Hg concentration. If this location is an identical unit, you must report the default concentration in an HGC monitor default record in your monitoring plan. You must report HGLME test (or HGC default record) before the methodology becomes active. Severity Critical Error Level 1 Informational Message Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Method Evaluation Current Method Active Equals true Environmental Protection Agency Page 289 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: METHOD-36 Check Name: Duplicate Method Records Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Method record: Locate another Monitoring Method record for the location with a ParameterCode equal to the ParameterCode in the current record and a BeginDate/BeginHour that is equal to the BeginDate/BeginHour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null, Locate another Monitoring Method record for the location with a ParameterCode equal to the ParameterCode in the current record and an EndDate/EndHour that is equal to the EndDate/EndHour in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Critical Error Level 1 Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 290 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Monitoring Plan Environmental Protection Agency Page 291 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-1 Check Name: Monitoring Plan Has Affected Unit Related Former Checks: Applicability: Description: Specifications: For the monitoring plan: Locate a Unit Program record for any location in the monitoring plan with an EndDate that is null or is on or after the Evaluation Begin Date. If no records are found, return result A, and discontinue the evaluation of this plan. Results: Result Response Severity A There are no locations in this monitoring plan that were active during the evaluation Informational Message period. Further evaluation of this monitoring plan will not be performed. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation Environmental Protection Agency Page 292 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-4 Check Name: Monitor Plan Comment Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For a Monitor Plan Comment record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report — Monitor Plan Comment Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation Environmental Protection Agency Page 293 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-5 Check Name: Monitor Plan Comment End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For a Monitor Plan Comment record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Monitor Plan Comment Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation Environmental Protection Agency Page 294 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-6 Check Name: Monitor Plan Comment Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the Monitor Plan Comment record: If the BeginDate and EndDate are both valid, the EndDate is not null, and the BeginDate is after the EndDate, return result A. Results: Result Response Severity A You reported [datefield2] which is prior to [datefieldl] for [key]. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report — Monitor Plan Comment Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation Environmental Protection Agency Page 295 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-8 Check Name: Initialize Variables Related Former Checks: Applicability: General Check Description: Specifications: For the monitoring plan: If the associated First ECMPS Reporting Period for the monitoring plan is null, Set ECMPS MP Begin Date to {01/01/2009} Else Set ECMPS MP Begin Date to the first day of the First ECMPS Reporting Period. Set Protocol Gases to null. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Location Attribute Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Method Evaluation Environmental Protection Agency Page 296 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-9 Check Name: Monitoring Plan Has Actively Reporting Units Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Plan: If the End Reporting Period of the monitoring plan is null: Locate all Unit Op Status record for all units in the monitoring plan with an Op Status Code equal to "RET" or "LTCS", and an End Date that is null. If at least one record is found, and the monitoring plan contains a common stack or a common pipe, Locate all Unit Op Status record for all units in the monitoring plan with an Op Status Code equal to "OPR", and an End Date that is null. If at least one record is found, return result A. Otherwise, If End Reporting Period of the monitoring plan is prior to the Begin Reporting Period of the monitoring plan, return result B. Otherwise, Locate an Emissions Submission Access record for the monitoring plan where the Reporting Period is after the End Reporting Period of the monitoring plan. If found, retun result C. Otherwise, Locate all Unit Op Status records for all units in the monitoring plan with an Op Status Code equal to "RET" or "LTCS", a Begin Date that is in the year prior to the year of the End Reporting Period of the monitoring plan, and an End Date that is null or is after the End Reporting Period of the monitoring plan. If at least one record is found, and the monitoring plan contains a common stack or a common pipe, return result A. Results: Result A B C Usage: 1 Response Severity The monitoring plan contains at least one unit that should not be reporting because it has Critical Error Level 2 retired or is in long-term cold storage. You should enter an End Date in the Unit Stack Configuration record that indicates the date when the unit no longer had to report. The end reporting period is prior to the begin reporting period for the monitoring plan. Critical Error Level 2 Please contact ECMPS technical support to resolve this problem. The end reporting period of the monitoring plan is inconsistent with the emissions data reported for the monitoring configuration. If the unit is linked to a stack, be sure that you have reported an End Date in the Unit Stack Configuration record that indicates the date when the unit no longer had to report. Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation Critical Error Level 2 Environmental Protection Agency Page 297 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPL AN-10 Check Name: Determine If Monitoring Plan Can Be Submitted Related Former Checks: Applicability: General Check Description: Specifications: For the monitoring plan: If the first day of the Begin Reporting Period of the monitoring plan is more than 60 days prior to the current date, return result A. Results: Result Response Severity A You cannot submit a monitoring plan more than 60 days prior to when the monitoring Critical Error Level 1 plan becomes active. If the monitoring plan contains a single unit, the monitoring plan normally becomes active on the first day of the quarter of the earliest BeginDate in the MonitoringMethod records for the unit. If the monitoring plan contains one or more stack/pipes, the monitoring plan normally becomes active on the first day of the quarter of the latest BeginDate in the UnitStackConfiguration records associated with the units, stacks, and pipes in the monitoring plan. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Monitoring Plan Evaluation Environmental Protection Agency Page 298 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-3 Check Name: Duplicate Monitoring Plan Comment Records Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Plan Comment record: If the SubmissionAvailabilityCode in the current record is not equal to "UPDATED", Locate another MonitoringPlanComment record for the location with a MonitoringPlanComment equal to the MonitoringPlanComment in the current record and a Begin Date equal to the BeginDate in the current record. If found, return result A. If not found and the EndDate in the current record is not null, Locate another MonitoringPlanComment record for the location with a MonitoringPlanComment equal to the MonitoringPlanComment in the current record and an EndDate equal to the EndDate in the current record. If found, return result A. Otherwise, return result B. Results: Result A B Response Another [recordtype] record already exists with the same [fieldnames]. This comment has already been submitted and cannot be changed. If you wish change this comment to resubmit it, please contact EPA for approval. Severity Fatal Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation Environmental Protection Agency Page 299 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: MONPLAN-7 Check Name: Monitor Plan Comment Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Plan Comment record: If MonitorPlanComment is null, return result A. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Fatal Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitor Plan Comment Evaluation Environmental Protection Agency Page 300 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Program Environmental Protection Agency Page 301 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: PROGRAM-1 Check Name: Program Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a Unit Program record: If the UnitMonitorCertBeginDate is not null, If the UnitMonitorCertBeginDate is after the current date, or the EndDate is before Evaluation Begin Date, or the end reporting period of the MP is not null and is prior to the UnitMonitorCertBeginDate, set Current Program Active to false. else set Current Program Active to true. If EmissionsRecordingBeginDate is not null and is after the EvaluationBeginDate set the Program Evaluation Begin Date to the EmissionsRecordingBeginDate. else if the UnitMonitorCertBeginDate + 180 days is after to the Evaluation Begin Date, set the Program Evaluation Begin Date to the UnitMonitorCertBeginDate + 180 days. Otherwise, set the Program Evaluation Begin Date to the Evaluation Begin Date. If the EndDate is null or the EndDate is after the Evaluation End Date, set the Program Evaluation End Date to the Evaluation End Date, Otherwise, set the Program Evaluation End Date to the EndDate. Locate an Operating Status record for the unit where the OpStatusCode is equal to "RET" and the EndDate is null. If found, and the BeginDate of the Operating Status record is on or prior to the Program Evaluation End Date, set the Program Evaluation End Date to the day before the BeginDate of the Operating Status record. Otherwise, set Current Program Active to false. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Program Evaluation Environmental Protection Agency Page 302 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: PROGRAM-10 Check Name: Program Parameter Active Status Related Former Checks: Applicability: General Check Description: Specifications: For the Current Program Parameter record: If Current Program Active is true, the Reporting Period Begin Date for the BeginReportPeriodld is before the Program Evaluation End Date, and the EndReportPeriodld is null or the corresponding Reporting Period End Date is after the Program Evaluation Begin Date set Current Program Parameter Active to true. If Program Evaluation Begin Date is after the Reporting Period Begin Date for the BeginReportPeriodld Program Parameter Evaluation Begin Date = Program Evaluation Begin Date else Program Parameter Evaluation Begin Date = Reporting Period Begin Date for the BeginReportPeriodld If EndReportPeriodld is null, or Program Evaluation End Date is before the Reporting Period End Date for the EndReportPeriodld Program Parameter Evaluation End Date = Program Evaluation End Date else Program Parameter Evaluation End Date = Reporting Period End Date for the EndReportPeriodld else set Current Program Parameter Active to false. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report Unit Program Parameter Evaluation Environmental Protection Agency Page 303 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: PROGRAM-11 Check Name: Required Method Reported for Program Related Former Checks: Replaces Program 2, 3, 5, 6, 8 and 9. Applicability: General Check Description: Validation Tables: [Program Parameter to Location Type] (Cross Check Table) [Program Parameter to Method Code] (Cross Check Table) [Program Parameter to Method Parameter] (Cross Check Table) [Program Parameter to Severity] (Cross Check Table) Specifications: For the Current Program Parameter record when Requiredlnd equals 1 and ClassCode is not equal to "N", "NA" or"NB": Method Parameter List = Lookup Method Parameter List from Cross-Check Table "Program Parameter To Method Parameter" where ProgramParameterCd equals the Current Program Parameter. ParamctcrCd. Program Method Parameter Description = Lookup Method Parameter Description from Cross-Check Table "Program Parameter To Method Parameter" where ProgramParameterCd equals the Current Program Parameter.ParameterCd. Common Type List = Lookup Common Location Type List from Cross-Check Table "Program Parameter To Location Type" where ProgramParameterCd equals the Current Program Parameter.ParameterCd. Multiple Type List = Lookup Multiple Location Type List from Cross-Check Table "Program Parameter To Location Type" where ProgramParameterCd equals the Current Program Parameter.ParameterCd. Method Code List = Lookup Method Code List from Cross-Check Table "Program Parameter To Method Code" where ProgramParameterCd equals the Current Program Parameter.ParameterCd. Severity Code = Lookup Severity Code from Cross-Check Table "Program Parameter To Severity" where ProgramParameterCd equals the Current Program Parameter.ParameterCd. Locate all Unit Stack Configuration records where unit is the Current Program Parameter unit, the stack/pipe location has a StackPipelD beginning with one of the items in Common Type List, the BeginDate is on or prior to the Program Parameter Evaluation End Date and the End Date is null or is on or after the Program Parameter Evaluation Begin Date. Locate all Monitor Method records where the location is either the Current Program Parameter unit or anv of the stack/pipe locations in the retrieved Unit Stack Configuration records, the ParameterCode is in Method Parameter List or the MethodCode is in Method Code List, the BeginDate is on or prior to the Program Parameter Evaluation End Date, and the End Date is null or is on or after the Program Parameter Evaluation Begin Date. If no method records are found, or the BeginDate/BeginHour and EndDate/EndHour of the retrieved Method records do not span the entire Program Evaluation period, Locate all Unit Stack Configuration records where unit is the Current Program Parameter unit, the stack/pipe location has a StackPipelD beginning with one of the items in Common Type List or Multiple Type List, the BeginDate is on or prior to the Program Parameter Evaluation End Date and the End Date is null or is on or after the Program Parameter Evaluation Begin Date. If there are no stack or pipes in the retrieved Unit Stack Configuration records with a StackPipelD that begins with one of the items in Multiple Type List, If no Method records are found, If Severity Code equals "NONCRIT' Return result C Else Environmental Protection Agency Page 304 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Retrun result A Else If Severity Code equals "NONCRIT" Return result D Else Retrun result B Else Locate all Monitor Method records where the location is either the Current Program Parameter unit or anv of the stack/pipe locations in the retrieved Unit Stack Configuration records, the ParameterCode is in Method Parameter List or the MethodCode is in Method Code List, the BeginDate is on or prior to the Program Parameter Evaluation End Date, and the End Date is null or is on or after the Program Parameter Evaluation Begin Date. If no Method records are found, If Severity Code equals "NONCRIT" Return result C Else Retrun result A Else if the BeginDate/BeginHour and EndDate/EndHour of the retrieved Method records do not span the entire Program Evaluation period, If Severity Code equals "NONCRIT" Return result D Else Retrun result B Otherwise, For each hour beginning with Hour 23 of the Program Parameter Evaluation End Date and ending with Hour 0 of the Program Parameter Evaluation Begin Date'. Locate all Unit Stack Configuration records where unit is the Current Program Parameter unit, the stack/pipe location has a StackPipelD beginning with one of the items in Common Type List or Multiple Type List, the BeginDate is on or prior to the hour being checked, and the End Date is null or is on or after the hour being checked. Locate all Monitor Method records where the location is either the Current Program Parameter unit or anv of the stack/pipe locations in the retrieved Unit Stack Configuration records, the ParameterCode is in Method Parameter List or the MethodCode is in Method Code List, the BeginDate/BeginHour is on or prior to the hour being checked, and the End Date is null or EndDate/EndHour is on or after the hour being checked. If a Method record is found for the unit OR for any. common stack/pipe in the retrieved Unit Stack configuration records, Check next hour. Else if the hour being checked is Hour 0, If a Method record is found for at least one multiple stack but not all multiple stacks in the retrieved Unit Stack configuration records with a BeginDate that is prior to the date being checked, Environmental Protection Agency Page 305 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If Severity Code equals "NONCRIT" Return result D Else Retrun result B else if a Method record is found for at least one multiple pipe but not all multiple pipes in the retrieved Unit Stack configuration records with a BeginDate that is prior to the date being checked, If Severity Code equals "NONCRIT" Return result D Else Retrun result B Otherwise, Check next hour. Else if the hour being checked is Hour 23, If a Method record is found for at least one multiple stack but not all multiple stacks in the retrieved Unit Stack configuration records with an EndDate that is null or after the date being checked, If Severity Code equals "NONCRIT" Return result D Else Retrun result B else if a Method record is found for at least one multiple pipe but not ah multiple pipes in the retrieved Unit Stack configuration records with an EndDate that is null or after the date being checked, If Severity Code equals "NONCRIT" Return result D Else Retrun result B Otherwise, Check next hour. Otherwise, If a Method record is found for at least one multiple stack but not ah multiple stacks in the retrieved Unit Stack configuration records with a BeginDate prior to the date being checked and an EndDate that is null or after the date being checked, If Severity Code equals "NONCRIT" Return result D Else Retrun result B else if a Method record is found for at least one multiple pipe but not all multiple pipes in the retrieved Unit Stack configuration records with a BeginDate prior to the date being checked and an EndDate that is null or after the date being checked, If Severity Code equals "NONCRIT" Environmental Protection Agency Page 306 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Return result D Else Retrun result B Otherwise, Check next hour. Results: Result A B C D Response Although Unit ID [Unit ID] is a [program] affected unit, no monitoring method(s) for [method] have been reported that was/were active during the evaluation period for the unit, for a common stack or pipe linked to the unit, or for all multiple stacks or pipes linked to the unit. Although Unit ID [Unit ID] is a [program] affected unit, monitoring method(s) for [method] have not been reported for the unit, for a common stack or pipe linked to the unit, or for all multiple stacks or pipes linked to the unit for the entire evaluation period. If you believe that this error is incorrect, and has been caused by an inaccurate date in the Unit Program record, please contact Craig Hillock at Hillock.Craig@epamail.epa.gov. Although Unit ID [Unit ID] is a [program] affected unit, no monitoring method(s) for [method] have been reported that was/were active during the evaluation period for the unit, for a common stack or pipe linked to the unit, or for all multiple stacks or pipes linked to the unit. Although Unit ID [Unit ID] is a [program] affected unit, monitoring method(s) for [method] have not been reported for the unit, for a common stack or pipe linked to the unit, or for all multiple stacks or pipes linked to the unit for the entire evaluation period. If you believe that this error is incorrect, and has been caused by an inaccurate date in the Unit Program record, please contact Craig Hillock at Hillock.Craig@epamail.epa.gov. Severity Critical Error Level 1 Critical Error Level 1 Non-Critical Error Non-Critical Error Usage: 1 Process/Category: Monitoring Plan Evaluation Report Unit Program Parameter Evaluation Environmental Protection Agency Page 307 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Qualification Environmental Protection Agency Page 308 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-1 Check Name: Monitoring Qualification Type Consistent with Non Load Based Indicator Related Former Checks: Applicability: General Check Description: Specifications: For a Monitor Qualification record with a valid QualificationTypeCode equal to "LMEA", "LMES", or "COMPLEX": If the Location Non Load Based Indicator is equal to 1, return result A. Results: Result Response Severity A You have reported an invalid Monitor Qualification record for [key] This qualification Critical Error Level 1 type does not apply to non-load based units. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation Conditions: Current Qualification Active Equals true Environmental Protection Agency Page 309 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-3 Check Name: Monitoring Qualification Type Consistent with Fuel Related Former Checks: LME-1 Applicability: General Check Description: Specifications: For a Monitor Qualification record with a valid Qualification Type Code is equal to "GF", "LMEA", or "LMES", Locate a Fuel record for the location where the associated Fuel Group is not equal to "GAS" or "OIL", the BeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. If found, return result A. Results: Result Response Severity A You have reported an invalid Monitor Qualification record for [key]. This type of Critical Error Level 1 qualification is only valid for units burning oil and/or gas fuels. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation Conditions: Current Qualification Active Equals true Environmental Protection Agency Page 310 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-5 Monitoring Qualification Type Consistent with Program and Reporting Frequency Related Former Checks: LME-4A Applicability: General Check Description: Specifications: For a Monitor Qualification record with a valid QualificationTypeCode equal to "LMEA", "LMES", "PK", or "SK": If Qualification Type Code is equal to "SK": Locate a Monitor Plan Reporting Frequency record for the location where ReportingFrequency is equal to "Q", the BeginQuarter is on or before the quarter of the Qualification Evaluation End Date, and the EndQuarter is null or is on or after the quarter of the Qualification Evaluation Start Date. If found, return result A. If Qualification Type Code is equal to "PK" or "LMEA": Locate a Monitor Plan Reporting Frequency record for the location where ReportingFrequency is equal to "Q", the Begin Quarter is on or before the quarter of the Qualification Evaluation End Date, and the EndQuarter is null or is on or after the quarter of the Qualification Evaluation Start Date. If not found, return result B. If Qualification Type Code is equal to "LMES": Locate a Unit Program record for the unit where the ProgramCode is equal to "NBP", "NHNOX", "CAIROS", or "SIPNOX", the ClassCode is equal to "A", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. If not found, return result C. Results: Result A Response You have reported an invalid Monitoring Qualification record for [key]. A Qualification Type of SK is not appropriate for units reporting on a quarterly basis. You have reported an invalid Monitoring Qualification record for [key]. A Qualification Type of [type] is only appropriate for units reporting on a quarterly basis. You have reported an invalid Monitoring Qualification record for [key]. A Qualification Type of LMES is only appropriate for units that belong to an ozone-season program. Severity Critical Error Level 1 B Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification Evaluation Current Qualification Active Equals true Environmental Protection Agency Page 311 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Related Former Checks: Check Code: QUAL-7 Monitoring Qualification Percent Qualification Year Valid Applicability: Description: Specifications: General Check For the Monitor Qualification Percent record: If the QualificationYear is null, return result A. If the dates in the associated Monitor Qualification record are consistent and the QualificationYear is prior to the year of the BeginDate, return result B. If the EndDate in the associated Monitor Qualification record is null, If the QualificationYear is greater than the current year and the YrlQualificationDataTypeCode is not equal to "P", return result B. Otherwise, If the dates in the associated Monitor Qualification record are consistent and the QualificationYear is more than one year after the year of the EndDate, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The QualificationYear for [key] does not correspond to the BeginDate and EndDate in the Monitoring Qualification record. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Process/Category: Environmental Protection Agency Page 312 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-8 Monitoring Qualification Percent Average Percent Value Valid Related Former Checks: NBP-11A Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: Set Calculated Average Percent Value to null. If AveragePercentValue is null, return result A. If AveragePercent Value is less than 0 or greater than 100, return result B. If Yrl Percentage Value, Yr2Percentage Value, and Yr3PercentageValue are all between 0 and 100, Calculate Calculated Average Percent Value = (YrlPercentageValue + Yr2PercentageValue + Yr3PercentageValue) / 3, and round the result to 1 decimal place. If AveragePercentValue is not equal to Calculated Average Percent Value, return result C. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values from [minvalue] to [maxvalue]. The average percent capacity or percent heat input from gas reported for [key] is not consistent with the average recalculated from the Year 1, 2 and 3 values. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Process/Category: Environmental Protection Agency Page 313 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-11 Check Name: PCT Qualification Eligibility Valid Related Former Checks: NBP-11B/C/D/E Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: If the associated EndDate is null, or the QualificationYear and associated EndDate are both valid and the Qualification Year is less than the year of the EndDate, If the associated QualificationTypeCode is equal to "GF", If either the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue is greater than or equal to 0 and less than 85.0, return result A. If the Calculated Average Percent Value is less than 90.0, return result B. Otherwise, If either the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue is greater than 20.0 and less than or equal to 100.0, return result C. If the Calculated Average Percent Value is greater than 10.0, return result D. If the associated EndDate is not null, and the QualificationYear and associated EndDate are both valid and the Qualification Year is one greater than the year of the EndDate, If the associated QualificationTypeCode is equal to "GF", If the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue are all between 85.0 and 100, and the Calculated Average Percent Value is greater than or equal to 90.0, return result E. Otherwise, If the YrlPercentageValue, Yr2PercentageValue, and Yr3PercentageValue are all between 0 and 20.0, and the Calculated Average Percent Value is less than or equal to 10.0, return result F. Results: Result ResDonse Severity A The percent heat input from gas for one or more years reported for [key] is less than 85%, which is the minimum required percentage to qualify as a gas-fired unit. Critical Error Level 2 B The average of the reported yearly percent heat input from gas reported for [key] is less than 90%, which is the minimum required percentage to qualify as a gas-fired unit. Critical Error Level 2 C The reported % capacity factor for one or more years reported for [key] is more than 20%, which is the maximum allowable capacity factor to qualify as a peaking unit. Critical Error Level 2 D The average of the reported yearly percent capacity factors reported for [key] is greater than 10%, which is the maximum allowable capacity factor to qualify as a peaking unit. Critical Error Level 2 E You have reported that the unit has lost its status as a gas-fired unit, yet the % heat input for gaseous fuel values reported for [key] do not indicate this. Non-Critical Error F You have reported that the unit has lost its status as a peaking unit, yet the % capacity factors reported for [key] do not indicate this. Non-Critical Error Environmental Protection Agency Page 314 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evaluation Report Qualification PCT Evaluation Conditions: Current Qualification Active Equals true And Monitor Qualification Valid Equals true Environmental Protection Agency Page 315 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-12 Check Name: Required LME Qualification for Program and Reporting Frequency Related Former Checks: LME-4C/D/F Applicability: LME Check Description: Specifications: For a Monitor Qualification record with a valid QualificationTypeCode that begins with "LME": If Qualification Type Code is equal to "LMES", Set NOX LME Unit to true. Set S02 LME Unit to false. Locate a Monitor Plan Reporting Frequency record for the location where the ReportingFrequency is equal to "Q", the BeginQuarter is on or before the quarter of the Qualification Evaluation End Date, and the EndQuarter is null or is on or after the quarter of the Qualification Evaluation Start Date. If found, Locate a Monitor Qualification record for the unit where the QualificationTypeCode is equal to "LMEA" and the Begin Date is on or before the later of the BeginDate in the current Monitor Qualification record and the first day of the BeginQuarter in the Reporting Frequency record. If not found, return result A. If Qualification Type Code is equal to "LMEA", Set NOX LME Unit to false. Set S02 LME Unit to false. Locate a Unit Program record for the unit where the ProgramCode is equal" ARP", the ClassCode is not equal to "NA", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. If found, set S02 LME Unit and NOX LME Unit to true. If not found, Locate a Unit Program record for the unit where the ProgramCode is equal "CAIRS02", "TRS02G1" or "TRS02G2", the ClassCode is not equal to "N", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. If found, set S02 LME Unit to true. Locate a Unit Program record for the unit where the ProgramCode is equal "CAIRNOX" or "TRNOX", the ClassCode is equal to "A", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. If found, set NOX LME Unit to true. Locate a Unit Program record for the unit where the ProgramCode is equal "NBP", "NHNOX", "CAIROS", "TRNOXOS", or "SIPNOX", the ClassCode is equal to "A", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. Environmental Protection Agency Page 316 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If found, set NOX LME Unit to true. Locate a Monitor Qualification record for the unit where the QualificationTypeCode is equal to "LMES" and the Begin Date is on or before the later of the BeginDate in the current Monitor Qualification record, May 1 of the year of the BeginDate in the the current Monitor Qualification record, and the earliest UnitMonitorCertBeginDate in the UnitProgram record. If NOX LME Unit is equal to false and S02 LME Unit is equal to false. Locate a Unit Program record for the unit where the ProgramCode is equal "RGGI", the ClassCode is not equal to "N", the UnitMonitorCertBeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. If not found, return result B. If found, set S02 LME Unit and NOX LME Unit to true. Results: Result A Response You reported Monitor Qualification record for [key], but you did not report a LME A qualification record that was active during the evaluation period. Units in a seasonal NOx program that report on a year-round basis must report LME qualification data on both an annual and ozone-season basis. You reported Monitor Qualification record for [key], but you did not report an LMES qualification record that was active during the evaluation period. Units that report on a year-round basis that belong to a seasonal NOx program must report LME qualification data on both an annual and ozone-season basis. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification Evaluation Current Qualification Active Equals true Environmental Protection Agency Page 317 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Related Former Checks: Check Code: QUAL-14 Required Monitoring System for Qualification Applicability: Description: Specifications: CEM Check For a Monitor Qualification record with a QualificationTypeCode equal to "PRATA1"PRATA2", "COMPLEX", or "LOWSULF": If QualificationTypeCode is equal to "LOWSULF", set Qualification System Type to "S02". Otherwise, set Qualification System Type to "FLOW". Locate a Monitor System record for the location where the SystemTypeCode begins with the Qualification System Type, the BeginDate is on or before the Qualification Evaluation End Date, and the EndDate is null or is on or after the Qualification Evaluation Start Date. If not found, return result A. Results: Result A Response You have reported a Monitor Qualification record for [key], but no [type] system that was active during the evaluation period has been reported at this location. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification Evaluation Current Qualification Active Equals true Environmental Protection Agency Page 318 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-16 Check Name: Monitoring Qualification Qualification Type Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Qual Data Type Code (Lookup Table) Qual Data Type Code (Lookup Table) Specifications: For the MonitoringQualification record: If the QualificationTypeCode is null, return result A. Otherwise, If QualificationTypeCode is equal to "LMEA", "LMES", "PK", "SK", or "GF", If Location Type does not begin with "U", return result C. Otherwise, Locate QualificationTypeCode in the QualificationTypeCode Lookup Table. If not found, return result B. Results: Result A B C Usage: 1 Response You did not provide [fieldname], which is required, for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have reported an invalid Monitor Qualification record for [key]. This type of qualification only applies to units. Severity Fatal Critical Error Level 1 Critical Error Level 1 1 Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation Conditions: Current Qualification Active Equals true Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation Environmental Protection Agency Page 319 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-18 Monitoring Qualification Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Qualification Data record: If BeginDate is null, return result A. If Qualification Type Code is equal to "LMEA" or "LMES", set Earliest Begin Date to "01/01/2000". If Qualification Type Code is equal to "PK", "SK", or "GF", set Earliest Begin Date to "01/01/1996". Otherwise, set Earliest Begin Date to "01/01/1993". If BeginDate is earlier than the Earliest Begin Date or later than Maximum Future Date, return result B. Else if Qualification Type Code is equal to "SK" or "LMES", and the BeginDate is not between May and September, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 320 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-19 Check Name: Monitoring Qualification End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Qualification Data record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 321 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-20 Monitoring Qualification Dates Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Qualification Data record: If the Monitoring Qualification Data Start Date is valid and the Monitoring Qualification Data End Date is valid, If the BeginDate is after the EndDate, set Monitor Qualification Dates Consistent to false, and return result A. Otherwise, set Monitor Qualification Dates Consistent to true. Otherwise, set Monitor Qualification Dates Consistent to false. Results: Result A Response You reported [datefield2] which is prior to [datefieldl] for [key]. Severity Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 322 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-22 Check Name: Monitoring Qualification LME Data Qualification Year Valid Related Former Checks: LME-2 Applicability: LME Check Description: Specifications: For a Monitor Qualification LME record: If QualificationDataYear is null, return result A. If QualificationDataYear is more than two years after the year of the BeginDate in the current qualification record or more than 3 years prior to the year of the BeginDate in the current qualification record, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values. Severity Fatal Critical Error Level 1 Usage: 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Qualification LME Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation Environmental Protection Agency Page 323 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-23 Check Name: Monitoring Qualification LME Data S02 Tons Valid Related Former Checks: LME-3B, 3F, 4E Applicability: LME Check Description: Specifications: For a Monitor Qualification LME record: If S02 LME Unit is true, If S02Tons is null, return result A. If S02Tons is less than 0, return result B. If S02Tons is greater than 25.0 return result C. Otherwise, If S02Tons is not null, return result D. Results: Result A B C D Usage: 1 Response Severity You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values. This value must be greater than or equal to zero. You reported a value for [fieldname] for [key], which exceeds allowable value to qualify Critical Error Level 1 as an LME unit. You reported a value for [fieldname] for [key], but this value is not appropriate for the affected programs and/or qualification type. Critical Error Level 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification LME Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Environmental Protection Agency Page 324 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-24 Check Name: Monitoring Qualification LME Data NOx Tons Valid Related Former Checks: LME-3A, 3C, 3D, 3E, 3G Applicability: LME Check Description: Specifications: For a Monitor Qualification LME record: If NOX LME Unit is true, If NOxTons is null, return result A. If NOxTons is less than 0, return result B. If the associated QualificationTypeCode is equal to "LMES", If the year of the BeginDate in the associated Monitor Qualification record is before 2002, If NOxTons is greater than 25.0 return result C. Otherwise, If NOxTons is greater than 50.0 return result C. Otherwise, If the year of the BeginDate in the associated Monitor Qualification record is before 2002, If NOxTons is greater than 50.0 return result C. Otherwise, If NOxTons is greater than 100.0 return result C. Otherwise, If NOxTons is not null, return result D. Results: Result A B C D Response Severity You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values. This value must be greater than or equal to zero. You reported a value for [fieldname] for [key], which exceeds allowable value to qualify Critical Error Level 1 as an LME unit. You reported a value for [fieldname] for [key], but this value is not appropriate for the affected programs and/or qualification type. Critical Error Level 1 Environmental Protection Agency Page 325 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evaluation Report Qualification LME Evaluation Conditions: Current Qualification Active Equals true And Monitor Qualification Valid Equals true Environmental Protection Agency Page 326 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-25 Check Name: Monitoring Qualification LME Data Operating Hours Valid Related Former Checks: Applicability: LME Check Description: Specifications: For a Monitor Qualification LME record: If OperatingHours is null, return result A. If OperatingHours is less than 0 or greater than 8784, return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 B The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values from [minvalue] to [maxvalue]. Usage: 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Qualification LME Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation Environmental Protection Agency Page 327 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-27 Check Name: Monitoring Qualification Percent Year 1 Data Type Code Valid Related Former Checks: NBP-10 Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: If the YrlQualificationDataTypeCode is null, return result A. If YrlQualificationDataTypeCode is equal "P", If YrlQualificationDataYear and QualificationYear are both valid, and YrlQualificationDataYear is before the QualificationYear, return result B. If YrlQualificationDataTypeCode is equal "A", If YrlQualificationDataYear and QualificationYear are both valid, and YrlQualificationDataYear is on or after the QualificationYear, return result C. If YrlQualificationDataTypeCode is equal "D", If the associated QualificationTypeCode is not equal to "GF", return result D. If YrlQualificationDataYear and QualificationYear are both valid, and YrlQualificationDataYear is not equal to the QualificationYear, return result E. Otherwise, return result D. Results: Result A B C D E Response You did not provide [fieldname], which is required, for [key]. You have reported that the data for [key] was projected data, but the [fieldname2] is prior to the QualificationYear. You have reported that the data for [key] was historical data, but the [fieldname2] is not prior to the QualificationYear. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have reported that the data for [key] was demonstration data, but YrlQualificationDataYear is not equal to the QualificationYear. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 328 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-28 Monitoring Qualification Percent Year 1 Data Year Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Qualification Percent record: If YrlQualificationDataYear is null, return result A. If YrlQualificationDataYear is less than 1990, return result B. If QualificationYear is valid, and YrlQualificationDataYear is after the Qualification Year or is more than 3 years prior to the Qualification Year return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values. Severity Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Process/Category: Environmental Protection Agency Page 329 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-29 Check Name: Monitoring Qualification Percent Year 1 Percentage Value Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: If Yrl Percentage Value is null, return result A. If Yrl Percentage Value is less than 0 to greater than 100, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values from [minvalue] to [maxvalue]. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 330 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-34 Check Name: Monitoring Qualification Data Active Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Qualification Data record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Monitoring Qualification Data Active to false. Otherwise, set Monitoring Qualification Data Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Monitoring Qualification Data Evaluation Begin Date to the Evaluation Begin Date. Otherwise, set the Monitoring Qualification Data Evaluation Begin Date to the BeginDate. If the EndDate is null or is after the Evaluation End Date, set the Monitoring Qualification Data Evaluation End Date to the Evaluation End Date. Otherwise, set the Monitoring Qualification Data Evaluation End Date to the EndDate. Results: Result Response Severity Usage: 1 Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation Environmental Protection Agency Page 331 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-38 Monitoring Qualification Child Records Valid Related Former Checks: ARP-39C, 44; LME-2 Applicability: Description: Specifications: General Check For a valid Monitor Qualification record with consistent dates and a QualificationTypeCode equal to "PK", "SK", "GF", "LMEA", or "LMES": If QualificationTypeCode is equal to "PK", "SK", or "GF", Set Previous Data Year to the year of the BeginDate in the current record. For each QualificationYear from the year of the BeginDate in the current record through the year of the EndDate in the current record (if EndDate is not null) or the current year (if EndDate is null): Locate the Monitor Qualification Percent record for the current qualification and QualificationYear. If YrlQualificationDataYear is after the year of the BeginDate in the current qualification record, If YrlQualificationDataYear is not equal to Previous Data Year + 1, return result A. Otherwise, set Previous Data Year to the YrlQualificationDataYear. If YrlQualificationDataYear is equal to the QualificationYear or is one or 2 years prior to the Qualification Year, and Initial Qualification is equal to false, return result B. If QualificationYear is prior to the current year; or if QualificationYear is equal to the current year and the current month is later than June, return result C. If QualificationYear is equal to the current year and the current month is later than March, Locate a Monitor Program Reporting Frequency record for the location where the ReportingFrequency is equal to "Q", the BeginQuarter is on or before the quarter of the Qualification Evaluation End Date, and the EndQuarter is null or is on or after the quarter of the Qualification Evaluation Start Date. If found, return result C. If found, Otherwise, If not found, If QualificationTypeCode begins with "LME", Count the number of Monitor Qualification LME record for the current qualification. If the number of records is not equal to 3, return result D. Environmental Protection Agency Page 332 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Otherwise, Proceed through the retrieved Monitor Qualification LME records in ascending QualificationDataYear order. If this is first Monitor Qualification LME record, If QualificationDataYear is greater than the year of the BeginDate in the current qualification record or more than 3 years prior to the year of the BeginDate in the current qualification record, return result E. Otherwise, set Previous Data Year to the QualificationDataYear. Otherwise, If QualificationDataYear is not equal to Previous Data Year + 1, return result E. Otherwise, set Previous Data Year to the QualificationDataYear. Results: Result A Response The sequence of actual and projected qualification data years in the Monitor Qualification Percent records for [key] is not valid. You have reported projected data in the Monitor Qualification Percent records for [key], but this is not allowed when requalifying for this status. You have not reported all the required Monitor Qualification Percent records for [key]. You have reported more or less than the three required Monitor Qualification LME records for [key]. The qualification data years in the Monitor Qualification LME records for [key] are not valid. Severity Critical Error Level 1 B Critical Error Level 1 C D Critical Error Level 1 Critical Error Level 1 E Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification Evaluation Current Qualification Active Equals true Environmental Protection Agency Page 333 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-39 Check Name: Overlapping Monitoring Qualification Record Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Qualification record: If Qualification Type Code Valid is equal to false, or Qualification Consistent with Non Load Based Indicator is equal to false (not null), or Qualification Consistent with Fuel is equal to false (not null), or Qualification Consistent with Program and Reporting Frequency is equal to false (not null), set Monitor Qualification Valid to false. Otherwise, set Monitor Qualification Valid to true. Locate another Monitor Qualification record for this location with the same Qualification Type Code, and a BeginDate that is before the BeginDate in the current record. If found, Set Initial Qualification to false. If the EndDate of any retrieved record is null or the EndDate is on or after the BeginDate of the current record, set Monitor Qualification Valid to false, and return result A. If not found, set Initial Qualification to true. Results: Result Response Severity A You have reported overlapping [type] monitoring qualification records for this location. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Qualification Evaluation Conditions: Current Qualification Active Equals true Environmental Protection Agency Page 334 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-40 Monitoring Qualification Percent Year 2 Data Type Code Valid Related Former Checks: NBP-10 Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: If the Yr2QualificationDataTypeCode is null, return result A. If Yr2QualificationDataTypeCode is equal "P", If Yr2QualificationDataYear and QualificationYear are both valid, and Yr2QualificationDataYear is before the QualificationYear, If Yr2QualificationDataTypeCode is equal "A", If Yr2QualificationDataYear and QualificationYear are both valid, and Yr2QualificationDataYear is on or after the QualificationYear, return result B. return result C. Otherwise, return result D. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. You have reported that the data for [key] was projected data, but the [fieldname2] is prior to the QualificationYear. You have reported that the data for [key] was historical data, but the [fieldname2] is not prior to the QualificationYear. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 D Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Process/Category: Environmental Protection Agency Page 335 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-41 Check Name: Monitoring Qualification Percent Year 2 Percentage Value Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: If Yr2PercentageValue is null, return result A. If Yr2PercentageValue is less than 0 to greater than 100, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values from [minvalue] to [maxvalue]. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 336 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-42 Check Name: Monitoring Qualification Percent Year 2 Data Year Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Qualification Percent record: If Yr2QualificationDataYear is null, return result A. If Yr2QualificationDataYear is less than 1990, return result B. If YrlQualificationDataYear is valid, and Yr2QualificationDataYear is not one year after YrlQualificationDataYear, return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 B The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values. Usage: 1 Process/Category: Conditions: 1 Process/Category: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 337 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-43 Monitoring Qualification Percent Year 3 Data Type Code Valid Related Former Checks: NBP-10 Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: If the Yr3QualificationDataTypeCode is null, return result A. If Yr3QualificationDataTypeCode is equal "P", If Yr3QualificationDataYear and QualificationYear are both valid, and Yr3QualificationDataYear is before the QualificationYear, If Yr3QualificationDataTypeCode is equal "A", If Yr3QualificationDataYear and QualificationYear are both valid, and Yr3QualificationDataYear is on or after the QualificationYear, return result B. return result C. Otherwise, return result D. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. You have reported that the data for [key] was projected data, but the [fieldname2] is prior to the QualificationYear. You have reported that the data for [key] was historical data, but the [fieldname2] is not prior to the QualificationYear. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 D Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Process/Category: Environmental Protection Agency Page 338 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-44 Check Name: Monitoring Qualification Percent Year 3 Percentage Value Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitor Qualification Percent record: If Yr3PercentageValue is null, return result A. If Yr3PercentageValue is less than 0 to greater than 100, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values from [minvalue] to [maxvalue]. Severity Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 339 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-45 Check Name: Monitoring Qualification Percent Year 3 Data Year Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring Qualification Percent record: If Yr3QualificationDataYear is null, return result A. If Yr3QualificationDataYear is less than 1990, return result B. If Yr2QualificationDataYear is valid, and Yr3QualificationDataYear is not one year after Yr2QualificationDataYear, return result B. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 B The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values. Usage: 1 Process/Category: Conditions: 1 Process/Category: Monitoring Plan Evaluation Report Qualification PCT Evaluation Current Qualification Active Equals true And Monitor Qualification Valid Equals true Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 340 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-35 Duplicate Monitoring Qualification Records Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Qualification record: Locate another Qualification record for the location with a QualificationTypeCode equal to the QualificationTypeCode in the current record and a BeginDate/Hour equal to the BeginDate/Hour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null., Locate another Qualification record for the location with a QualificationTypeCode equal to the QualificationTypeCode in the current record and an End Date/Hour equal to the EndDate/Hour in the current record. If found, return result A. Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Evaluation Environmental Protection Agency Page 341 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-36 Check Name: Duplicate Monitoring Qualification Percent Records Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Qualification Percent record: Locate another Monitoring Qualification Percent record for the qualification with a QualificationYear equal to the Qualification Year in the current record. If found, return result A. Results: Result Response Severity A Another [recordtype] record already exists with the same [fieldnames]. Fatal Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification Percent Evaluation Environmental Protection Agency Page 342 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-37 Check Name: Duplicate Monitoring Qualification LME Records Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring Qualification LME record: Locate another Monitoring Qualification LME record for the qualification with a QualificationDataYear equal to the QualificationDataYear in the current record. If found, return result A. Results: Result Response Severity A Another [recordtype] record already exists with the same [fieldnames]. Fatal Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation Environmental Protection Agency Page 343 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: QUAL-46 Check Name: Monitoring Qualification LME Data NOx Tons Valid Related Former Checks: Applicability: LME Check Description: Specifications: For a Monitor Qualification LME record: If Nox Tons is not null, If NOxTons is less than 0, return result A. If the associated QualificationTypeCode is equal to "LMES", If the year of the BeginDate in the associated Monitor Qualification record is before 2002, If NOxTons is greater than 25.0 return result B Otherwise, If NOxTons is greater than 50.0 return result B. Otherwise, If the year of the BeginDate in the associated Monitor Qualification record is before 2002, If NOxTons is greater than 50.0 return result B. Otherwise, If NOxTons is greater than 100.0 return result B. Results: Result Response Severity A The value [value] in the field [fieldname] for [key] is not within the range of valid Critical Error Level 1 values. This value must be greater than or equal to zero. B You reported a value for [fieldname] for [key], which exceeds allowable value to qualify Critical Error Level 1 as an LME unit. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation Environmental Protection Agency Page 344 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: QUAL-47 Monitoring Qualification LME Data S02 Tons Valid Related Former Checks: Applicability: LME Check Description: Specifications: For a Monitor Qualification LME record: If S02Tons is not null, If the associated QualificationTypeCode is equal to "LMES", return result C. If S02Tons is less than 0, return result A. If S02Tons is greater than 25.0 return result B. Results: Result A Response The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than or equal to zero. You reported a value for [fieldname] for [key], which exceeds allowable value to qualify as an LME unit. You reported a value for [fieldname] for [key], but this value is not appropriate for the affected programs and/or qualification type. Severity Critical Error Level 1 B Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Monitoring Qualification LME Evaluation Environmental Protection Agency Page 345 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: Span Environmental Protection Agency Page 346 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-1 Check Name: Span MPC Value Valid Related Former Checks: NBP-37 Applicability: Description: Validation Tables: CEM Check NOX MPC to Fuel Category and Unit Type (Cross Check Table) Specifications: For a Span record with a valid ComponentTypeCode: If the MPCValue is null, If the ComponentTypeCode is not equal to "FLOW" or "02", and the SpanScaleCode is equal to "H", set Span MPC Value Valid to false, and return result A. If the MPCValue is not null, If the ComponentTypeCode is equal to "FLOW" or "02", or the SpanScaleCode is equal to "L set Span MPC Value Valid to false, and return result B. Otherwise, If the MPCValue is less than or equal to 0, set Span MPC Value Valid to false, and return result C. Otherwise, If the ComponentTypeCode is equal to "NOX" and the SpanMethodCode is equal to "TB", set Natural Gas Location to false. Locate all Unit Fuel records linked to the location where the BeginDate is on or before the Span Evaluation End Date and the EndDate is null or is on or after the Span Evaluation Start Date. If the FuelCode of any of the retrieved records is equal to "C", set Location Fuel Category to "COAL". If the Fuel Code of all of the retrieved records is equal to "NNG" or "PNG", set Location Fuel Category to "GAS" and Natural Gas Location to true. If the associated Fuel Group of all of the retrieved records is equal to "GAS", set Location Fuel Category to "GAS". If the associated Fuel Group of all of the retrieved records is equal to "OIL", set Location Fuel Category to "OIL". If the associated Fuel Group of all of the retrieved records is equal to "OIL" or "GAS", set Location Fuel Category to "OIL/GAS". Locate the NOX MPC to Fuel Category and Unit Type cross check record where NOXMPC is equal to the MPCValue in the current Span record, the FuelCategory is equal to the Location Fuel Category, and the UnitTypeCode is null. Locate all UnitType records linked to the location where the BeginDate is on or before the Span Evaluation End Date and the EndDate is null or is on or after the Span Evaluation Begin Date. If not found, Environmental Protection Agency Page 347 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If NaturalGasLocation is equal to true, Locate the NOX MPC to Fuel Category and Unit Type cross check record where NOXMPC is equal to the MPCValue in the current Span record, the FuelCategory is equal to the Location Fuel Category, "NG", or null, and the UnitTypeCode is any of the UnitTypeCodes in the retrieved records. Otherwise, Locate the NOX MPC to Fuel Category and Unit Type cross check record where NOXMPC is equal to the MPCValue in the current Span record, the FuelCategory is equal to the Location Fuel Category or null, and the UnitTypeCode is any of the UnitTypeCodes in the retrieved records. If not found, If MPCValue is not equal to 50, or the EndDate in the current Span record is null or is after 3/31/2003, or none of the UnitTypeCodes in the retrieved records is equal to "CT", return result D. If the ComponentTypeCode is equal to "HG" and the SpanMethodCode is equal to "TB", If the MPCValue is not null and is not equal to 1, 9, 10, or 16, return result E. If the ComponentTypeCode is equal to "C02" and the SpanMethodCode is equal to "TB", Locate all Unit Type records linked to this location where the BeginDate is on or before the Span Evaluation End Date and the EndDate is null or is on or after the Span Evaluation Begin Date. If the Unit Type in none of the retrieved records are equal to "KLN" or "PRH", If MPCValue is not equal to 6 or 14, return result F. Otherwise, If the Unit Type in ah of the retrieved records are equal to "CC", "CT", "ICE", "OT", or "IGC", and the MPCValue is not equal to 6, return result F. If the Unit Type in none of the retrieved records are equal to "CC", "CT", "ICE", "OT", or "IGC", and the MPCValue is not equal to 14, return result F. Environmental Protection Agency Page 348 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C D Response You did not report an MPCValue for [key]. You have reported an MPCValue for [key], but an MPCValue is not appropriate for this ComponentTypeCode and SpanScaleCode. The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. You reported a SpanMethodCode of "TB" for [key], which indicates that you used a standard MPCValue based on fuel type and unit type. However, the MPCValue that you reported is not consistent with the fuel type(s) and unit type(s) at this location. You reported a SpanMethodCode of "TB" for [key], which indicates that you used a standard MPCValue based on fuel type. However, the MPCValue that you reported is not a standard value. You reported a SpanMethodCode of "TB" for [key], which indicates that you used a standard MPCValue based on unit type. However, the MPCValue that you reported is not consistent with the unit type(s) at this location. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 2 Critical Error Level 2 Critical Error Level 2 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Environmental Protection Agency Page 349 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-2 Check Name: Span MEC Value Valid Related Former Checks: NBP-37, NBP-38 Applicability: Description: Specifications: CEM Check For a Span record with a valid ComponentTypeCode: If the MEC Value is null, If the ComponentTypeCode is equal to "S02", "NOX", or "HG", and SpanScaleCode is equal to "L", set Span MEC Value Valid to false, and return result A. If the ComponentTypeCode is equal to "S02" or "NOX, the SpanScaleCode is equal to "H", and the DefaultHighRange is not null, set Span MEC Value Valid to false, and return result B. If the ComponentTypeCode is equal to "S02" and the SpanScaleCode is equal to "H", Locate a Location Control record for the location where the ParameterCode is equal to "S02", the InstallDate is 180 days before the Span Evaluation End Date, and the RetireDate is null or is after the Span Evaluation Begin Date, Locate a Location Attribute record for the location where the Bypasslndicator is equal to 1, the BeginDate is on or before the Span Evaluation End Date, and the EndDate is null or is on or after the Span Evaluation Begin Date, If not found, return result C. If the ComponentTypeCode is equal to "NOX" and the SpanScaleCode is equal to "H", Locate a Unit Control record linked to the location where the ParameterCode is equal to "NOX", the ControlCode is equal to "H20", "STM", "SCR", "SNCR", "DLNB", or "NH3", the InstallDate is 180 days before the Span Evaluation End Date, and the RetireDate is null or is after the Span Evaluation Begin Date, Locate a Location Attribute record for the location where the Bypasslndicator is equal to 1, the BeginDate is on or before the Span Evaluation End Date, and the EndDate is null or is on or after the Span Evaluation Begin Date, If not found, return result E. If found, If found, If the MEC Value is not null, If the ComponentTypeCode is equal to "FLOW" or "02", set Span MEC Value Valid to false, and return result F. If the MECValue is less than or equal to 0, set Span MEC Value Valid to false, and return result G. Environmental Protection Agency Page 350 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C E F G H Response You did not report an MECValue for [key]. This value is required in a non-flow low-scale span record. You did not report an MECValue for [key], but you defined a DefaultHighRange value. You must determine a maximum expected concentration when using a default high range value. You did not report an MECValue for [key], but you have reported S02 controls at this location. You must determine an MEC for S02 if controls are used. You did not report an MECValue for [key], but you have reported add-on NOX controls at this location. You must determine an MEC for NOX if add-on controls are used. You have inappropriately reported an MECValue for [key]. The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. You reported an MECValue for [key], but you have not reported any add-on NOX controls at this location. You should only determine an MEC for NOX if add-on controls are used. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 2 Critical Error Level 2 Critical Error Level 1 Critical Error Level 1 Critical Error Level 2 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report ¦ Current Span Active Equals true Span Evaluation Environmental Protection Agency Page 351 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-3 Check Name: Span MPF Value Valid Related Former Checks: NBP-37 Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the ComponentTypeCode is equal to "FLOW", If the MPFValue is null, return result A. Otherwise, If the MPFValue is less than 500,000, return result B. If the ComponentTypeCode is not equal to "FLOW", and the MPFValue is not null, return result C. Results: Result A B Response You have not reported a [fieldname] for [key], which is a required field for flow span. You have reported an MPF for [key], which is lower than the expected minimum value of 500,000 scfh. You have reported a value in [fieldname] for [key], which is inappropriate for a non-flow span record. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation Environmental Protection Agency Page 352 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-4 Check Name: Related Former Checks: Span Scale Transition Point Value Valid Applicability: Description: Specifications: CEM Check For a Monitoring Span record with a valid ComponentTypeCode and a SpanScale equal to "H": If ScaleTransitionPoint is not null, If SpanValue is null and DefaultHighRangeValue is not null, return result A. If the dates are consistent in the Span record, Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the current span record, the SpanScale is equal to "L", the BeginDate and BeginHour is on or before Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If found, If the ScaleTransitionPoint in all the retrieved records equal to the ScaleTransitionPoint in the current span record, If, for any retrieved record where the FullScaleRangeValue is not null, the ScaleTransitionPoint is not between 1/2 and 1 times the FullScaleRangeValue in the retrieved record, return result B. Otherwise, return result C. Locate an AnalyzerRange record for the location where the associated ComponentTypeCode is equal to the ComponentTypeCode in the current span record, the DualRangelndicator is equal to 1, the BeginDate and BeginHour is on or before Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour in on or after the Span Evaluation Begin Date and Begin Hour. If found, return result D. If ScaleTransitionPoint is null, and the dates are consistent in the Span record, If EndDate is null or the EndDate is on or after the ECMPS MP Begin Date, Environmental Protection Agency Page 353 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C D Usage: 1 Response You have reported a ScaleTransitionPoint for [key], but you have indicated that you used a DefaultHighRangeValue. You should only report a ScaleTransitionPoint when using a dual-range analyzer. You have reported a ScaleTransitionPoint for [key] that is not within the valid range of values. The ScaleTransitionPoint should be between one-half and one times the FullScaleRangeValue in the corresponding low-scale span record. You have reported a ScaleTransitionPoint for [key], but you have not reported the same ScaleTransitionPoint in the corresponding low-scale span records. You have not reported a ScaleTransitionPoint for [key], but you have indicated that you used a dual-range [type] component. You should report a ScaleTransitionPoint when you use a dual-range analyzer. Process/Category: Conditions: Monitoring Plan Evaluation Report ¦ Current Span Active Equals true Span Evaluation Severity Critical Error Level 1 Critical Error Level 2 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 354 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-6 Check Name: Span Value Valid Related Former Checks: NBP-43, ARP-57 Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the SpanValue is null, If the ComponentTypeCode is not equal to "NOX" or "S02", or the SpanScaleCode is not equal to "H", return result A. If the SpanValue is not null, If ComponentTypeCode is equal to "FLOW", and UnitsOfMeasure is not equal to "SCFH", set Minimum Span Value to .001 If ComponentTypeCode is equal to "FLOW", and UnitsOfMeasure equal to "SCFH", set Minimum Span Value to 500,000 If ComponentTypeCode is equal to "S02", "NOX", or "HG", set Minimum Span Value to 1 If ComponentTypeCode is equal to "C02" or "02", set Minimum Span Value to 0.1 If the SpanValue is less than the Minimum Span Value, return result B. If Maximum Span Value is not null, and the SpanValue is greater than the Maximum Span Value, return result C. If the ComponentTypeCode is not equal to "FLOW", If the SpanScaleCode is equal to "H" and the MPCValue is valid, set MPC orMEC to "MPC". If the SpanValue is less than the MPCValue, return result D. If the ComponentTypeCode is equal to "S02","NOX", and the MPCValue * 1.25 (and rounded up to the next highest multiple of 100 ppm) is less than the SpanValue, return result E. If the ComponentTypeCode is equal to "HG", and the SpanValue is not equal to the MPCValue (rounded up to the next highest multiple of 10 ugscm), return result F. If the SpanScaleCode is equal to "L" and the MECValue is valid, set MPC or MEC to "MEC". If the SpanValue is less than the MECValue, return result D. If the ComponentTypeCode is equal to "S02","NOX", and MECValue * 1.25 (and rounded up to the next Environmental Protection Agency Page 355 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM highest multiple of 100 ppm) is less than the Span Value, return result E. If the ComponentTypeCode is equal to "HG", and the SpanValue is not equal to 10, return result G. Results: Result Response Severity A You did not provide [fieldname], which is required, for [key]. Critical Error Level 1 B The span value for [key] is less than [minvalue], which is the lowest span value specified Critical Error Level 2 in Part 75 for this parameter. C The span value for [key] exceeds the highest reasonable span value of [maxvalue]. Critical Error Level 1 D You reported a Span Value that is less than the [MPC/MEC] for [key]. Critical Error Level 1 E You reported a SpanValue that is greater than 1.25 times the [MPC/MEC] (rounded up Critical Error Level 2 to the next highest multiple of 100 ppm) for [key]. F You reported a SpanValue that is not equal to the MPC (rounded up to the next highest Critical Error Level 2 multiple of 10 ug/scm) for [key]. G You reported a SpanValue that is not equal to 10 ug/scm for [key]. Critical Error Level 2 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Span Evaluation Conditions: Current Span Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 356 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-7 Check Name: Span Full Scale Range Value Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the FullScaleRange is null, If the ComponentTypeCode is not equal to "NOX" or "S02", or the DefaultHighRange is null, or the SpanScaleCode is equal to "L", return result A. If the FullScaleRange is not null, the SpanValue is valid, and the FullScaleRange is less than the SpanValue, return result B. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. You reported a FullScaleRange value that is less than the SpanValue for [key]. Severity Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 357 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-8 Check Name: Span Begin Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the Span record: If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Date], which is outside the range of acceptable values for this date for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 358 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-9 Check Name: Span Begin Hour Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the Span record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. Results: Result A B Usage: 1 1 2 Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Hour], which is outside the range of acceptable values for this hour for [key]. Process/Category: Process/Category: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation Monitoring Plan Data Entry Screen Evaluation Span Evaluation Severity Fatal Critical Error Level 1 Environmental Protection Agency Page 359 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-10 Check Name: Span End Date Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the Span record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Span Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 360 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-11 Check Name: Span End Hour Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For the Span record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Span Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 361 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-12 Check Name: Span Dates and Hours Consistent Related Former Checks: Applicability: CEM Check Description: Specifications: For the Span record: If the EndDate is valid and not null, and the EndHour is null, set Span Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set Span Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set Span Dates and Hours Consistent to false, return result C. Otherwise, set Span Dates and Hours Consistent to true. Otherwise, set Span Dates and Hours Consistent to false. Results: Result A B C Usage: 1 1 2 Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. Process/Category: Process/Category: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation Monitoring Plan Data Entry Screen Evaluation Span Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 362 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-13 Check Name: Span Active Status Related Former Checks: Applicability: CEM Check Description: Specifications: For a Span record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current Span Active to false. Otherwise, set Current Span Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the Span Evaluation Begin Date to the Evaluation Begin Date, set the Span Evaluation Begin Hour to 0. Otherwise, set the Span Evaluation Begin Date to the BeginDate. set the Span Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the Span Evaluation End Date to the Evaluation End Date, set the Span Evaluation End Hour to 23. Otherwise, set the Span Evaluation End Date to the EndDate. set the Span Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Environmental Protection Agency Page 363 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-16 Check Name: Flow Span Value Valid Related Former Checks: ARP-41 Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the ComponentTypeCode is equal to "FLOW", If the FlowSpanValue is null, return result A. If the MPF Value is greater than 0 and not null, and the FlowSpanValue is not between 1.0 and 1.25 times the MPF Value (rounded to the nearest 1000 scfh), return result B. If the SpanValue is valid, If the UnitsOfMeasure is equal to "SCFH", and the SpanValue is not equal to the FlowSpanValue, return result C. If the UnitsOfMeasure is equal to "KSCFH", and the FlowSpanValue / 1000 (rounded to the nearest integer) is not equal to the SpanValue (rounded to the nearest integer), return result C. If the UnitsOfMeasure is equal to "MSCFH", and the FlowSpanValue / 1000000 (rounded to the nearest integer) is not equal to the SpanValue (rounded to the nearest integer), return result C. If the UnitsOfMeasure is equal to "SCFM", and the FlowSpanValue / 60 (rounded to the nearest integer) is not equal to the SpanValue (rounded to the nearest integer), return result C. If the UnitsOfMeasure is equal to "KSCFM", and the FlowSpanValue / 60000 (rounded to the nearest integer) is not equal to the SpanValue (rounded to the nearest integer), return result C. If the ComponentTypeCode is not equal to "FLOW", and the FlowSpanValue is not null, return result D. Results: Result A B C D Usage: 1 Response You have not reported a [fieldname] for [key], which is a required field for flow span. The Flow Span Value is not between 100 and 125% of the MPF for [key]. The SpanValue reported for [key], which was reported in [uom], is inconsistent with the FlowSpanValue reported in scfh. You have reported a value in [fieldname] for [key], which is inappropriate for a non-flow span record. 1 Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation Severity Critical Error Level 1 Critical Error Level 2 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 364 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: SPAN-17 Flow Span Full Scale Range Value Valid Related Former Checks: ARP-41 Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the ComponentTypeCode is equal to "FLOW", If the FlowFullScaleRange is null, return result A. If the FlowSpanValue is valid, and the FlowFullScaleRange is not greater than or equal to the FlowSpanValue, return result B. If the ComponentTypeCode is not equal to "FLOW", and the FlowFullScaleRange is not null, return result C. Results: Result A B Response You have not reported a [fieldname] for [key], which is a required field for flow span. You reported a Flow Full Scale Range Value that is not greater than or equal to the Flow Span Value for [Key]. You have reported a value in [fieldname] for [key], which is inappropriate for a non-flow span record. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation Environmental Protection Agency Page 365 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-18 Check Name: Span Scale Code Valid Related Former Checks: NBP-35 Applicability: CEM Check Description: Specifications: For the Span record with a valid ComponentTypeCode: If the ComponentTypeCode is not equal to "FLOW", If the SpanScaleCode is null, return result A. If the SpanScaleCode is not equal to "H" or "L", return result B. If the ComponentTypeCode is equal to "FLOW", and the SpanScaleCode is not null, return result C. Results: Result A B Response You did not provide [fieldname], which is required, for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You reported a span scale in the span record for [key], but this is not appropriate for flow span record. Severity Critical Error Level 1 Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 366 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-20 Check Name: Span Component Type Code Valid Related Former Checks: Applicability: CEM Check Description: Validation Tables: Component Type Code (Complex Lookup Table) Component Type Code (Complex Lookup Table) Specifications: For the Span record: Set Span MPC Valid and Span MEC Valid to true. If the ComponentTypeCode is null, return result A. Otherwise, Locate ComponentTypeCode in the Component Type Code Lookup Table where Span Indicator is equal to 1. If not found, return result B. If found, set Component Parameter Code to the ParameterCode in the lookup table record. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 367 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-21 Check Name: Span Units of Measure Code Valid Related Former Checks: NBP-44, NBP-45, NBP-46 Applicability: CEM Check Description: Validation Tables: Parameter UOM (Complex Lookup Table) Units Of Measure Code (Lookup Table) Parameter UOM (Complex Lookup Table) Units Of Measure Code (Lookup Table) Specifications: For the Span record with a valid ComponentTypeCode: If the UnitsOfMeasure is null, return result A. Otherwise, Locate a record in the Parameter Units of Measure lookup table where the ParameterCode is equal to the Component Parameter Code and the UnitsOfMeasure is equal to the UnitsOfMeasure in the span record. If found, set Maximum Span Value to Max Value in lookup table record. If not found, Locate the UnitsOfMeasure in the Units of Measure Code Lookup Table. If not found, return result B. If found, return result C. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You defined a units of measure of [value] that is inappropriate for the component type in the span record for [key]. Severity Critical Error Level 1 Fatal C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 368 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-36 Check Name: Span Default High Range Value Valid Related Former Checks: ARP-26 A, B, E Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the DefaultHighRange is not null, If ComponentTypeCode is not equal to "S02" or "NOX", or the SpanScaleCode is equal to "L", return result A. If DefaultHighRange is less than or equal to 0, return result B. If the MPCValue is greater than 0 and not null, and the DefaultHighRange is not equal to two times the MPCValue, If the ComponentTypeCode is not equal to "NOX", or the MPCValue is not equal to 50, or the DefaultHighRange is not equal to 200, or the EndDate is null or is after 3/31/2003, return result C. If the DefaultHighRange is null and the SpanValue is null, If the SpanScaleCode is equal to "H", and the ComponentTypeCode is equal to "NOX" or "S02", return result D. Results: Result A B C D Usage: 1 1 Response You have defined a default high range value for [key]. You should only report the default value in a high-scale S02 or NOX span record. The value [value] in the field [fieldname] for [key] is not within the range of valid values. This value must be greater than zero. You have indicated the use of a default high range value for [key], but the value defined as the default in the span record is not 200% of the MPC. You have not defined a SpanValue or a DefaultHighRange for [key]. You must report either a SpanValue or a DefaultHighRange in a high-scale [type] span record. Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Span Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 369 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: SPAN-37 Default High Range Value Consistent with Span Value and Full Scale Range Related Former Checks: ARP-26C/D Applicability: CEM Check Description: Specifications: For a Span record with a ComponentTypeCode equal to "S02" or "NOX", and a SpanScaleCode equal to "H", If the DefaultHighRange is not null, and either the SpanValue or the FullScaleRange are not null, return result A. Results: Result A You have indicated the use of a default high range for [key], but you have defined a span Critical Error Level 1 value and/or a full scale range value. You should not define a span value or full scale range if you are using a default high-range value. Response Severity Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 370 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-47 Check Name: High Scale Span Consistent with Low Scale Span Related Former Checks: NBP-42A Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode and a SpanScaleCode equal to "L": Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the current Span record, the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If the SpanValue in the current span record is valid, If, for any high-scale record found, the SpanValue is greater than 0, but less than the SpanValue in the current low-scale span, return result A. If the MEC Value in the current span record greater than 0 and not null, If, for any high-scale record found, the MEC Value is greater than 0, but is not equal to the MEC Value in the current low-scale span, return result B. Results: Result A Response You reported a SpanValue for [key] that is greater than the SpanValue in the corresponding high-scale span record. The high-scale span value must be greater than the low-scale span value. You reported an MEC for [key] that is not equal to the MEC in the corresponding high-scale span record. The MEC values in these records should be the same. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Environmental Protection Agency Page 371 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-48 Check Name: Required Low Scale Span Record Reported for Low MEC or Default High Range Related Former Checks: ARP-26G Applicability: Description: Specifications: CEM Check For a Span record with a SpanScaleCode equal to "H": IF the ComponentTypeCode equal to "S02" or "NOX", If the FullScaleRange is valid and non-null and the MEC Value is valid and non-null: If the MECValue is less than 20% of the FullScaleRange, Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the current Span record, the SpanScaleCode is equal to "L", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If not found, return result A. If the DefaultHighRange is valid and non-null, Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the current Span record, the SpanScaleCode is equal to "L", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If not found, return result B. If found, and the MECValue is not null, is greater than 0, and (rounded up to next highest lOppm) is less than 20% of the FullScaleRange (if not null) in an^ record, return result C. IF the ComponentTypeCode equal to "HG", If the SpanValue is greater than or equal to 20 and the MECValue is valid and non-null: If the MECValue is less than 20% of the SpanValue, Locate all Span records for the location where the ComponentTypeCode is equal to "HG", the SpanScaleCode is equal to "L", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If not found, return result D. Environmental Protection Agency Page 372 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C D Usage: 1 Response Severity The MEC reported is less than 20% of MPC for [key], but no corresponding low span Critical Error Level 2 scale record that was active during the evaluation period has been reported. You have reported a DefaultHighRange value for [key], but no corresponding low span Critical Error Level 1 scale record that was active during the evaluation period has been reported. You have indicated the use of a default high range value for [key], but this is not allowed, because the full scale range in the low-scale span record is more than five times the MEC. The MEC reported is less than 20% of the SpanValue for [key], but no corresponding low span scale record that was active during the evaluation period has been reported. Critical Error Level 2 Critical Error Level 2 Process/Category: Conditions: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Environmental Protection Agency Page 373 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-50 Check Name: Span Method Code Valid Related Former Checks: NBP-36 Applicability: CEM Check Description: Validation Tables: Component Type and Span Scale to Span Span Method Code (Lookup Table) Component Type and Span Scale to Span Span Method Code (Lookup Table) Specifications: For the Span record with a valid ComponentTypeCode and the ComponentTypeCode is equal to "FLOW" or Span Scale Code Valid is true: If ComponentTypeCode is equal to "FLOW" Locate a record in the Component Type and Span Scale to Span Method Cross Check Table where the ComponentTypeCode and SpanMethodCode are equal to ComponentTypeCode and SpanMethodCode in the span record. Otherwise, Locate record in the Component Type and Span Scale to Span Method Cross Check Table for the ComponentTypeCode, SpanScaleCode, and SpanMethodCode in the span record. If not found, If the SpanMethodCode is null, If ComponentTypeCode is not equal to "02", return result A. If the SpanMethodCode is not null, Locate SpanMethodCode in the SpanMethodCode Lookup Table. If not found, return result B. Otherwise, return result C. Results: Result Response A You did not provide [fieldname], which is required, for [key]. B You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. C You defined a SpanMethodCode of [value], which is an invalid method of establishing the MPC/MEC/MPF for [key]. Method (Cross Check Table) Method (Cross Check Table) Seventy Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Evaluation Report Span Evaluation Conditions: Current Span Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 374 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-52 Check Name: Required Component Reported for Span Related Former Checks: NBP-34 Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode and a valid SpanScaleCode and a DefaultHighRange that is null: If the ComponentTypeCode is equal to "FLOW" Locate all System Component records for the location where the associated ComponentTypeCode is equal to "FLOW", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. Otherwise, Locate all Analyzer Range records for the location where the associated ComponentTypeCode is equal to the ComponentTypeCode in the current Span record, the AnalyzerRangeCode is equal to "A" or is equal to the SpanScaleCode in the current Span record, the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire span evaluation period, return result B. Results: Result A Response You reported a span record for [key], but you did not report a component that was active during the evaluation period with the same component type (and range). You reported a span record for [key], but you did not report a component with the same component type (and range) that is active for the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Environmental Protection Agency Page 375 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-53 Check Name: Overlapping Span Records Related Former Checks: ARP-66 Applicability: Description: Specifications: CEM Check For a Span record with a valid ComponentTypeCode and a valid SpanScaleCode: Locate another Span record for the location where the ComponentTypeCode and SpanTypeCode is equal to the ComponentTypeCode and SpanScaleCode in the current span record, the BeginDate and BeginHour is on or after the BeginDate and BeginHour of the current record and is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If found, return result A. Results: Result A Response You have reported [key], but you have reported another span record with the same ComponentTypeCode (and SpanScaleCode) that was active at the same time. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Environmental Protection Agency Page 376 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: SPAN-54 Required High-Scale Span Record Reported Related Former Checks: NBP-42B Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode and a SpanScaleCode equal to "L": Locate all Span records for the location where the ComponentTypeCode is equal to the ComponentTypeCode in the current Span record, the SpanScaleCode is equal to "H", the BeginDate and BeginHour is on or before the Span Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the Span Evaluation Begin Date and Begin Hour. If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire span evaluation period, return result B. Results: Result A Response You defined a span record for [key], but you have not reported a corresponding high-scale span record that was active during the evaluation period. If the unit/stack has a dual range monitor or uses a default high range value the high-scale must also be defined. If the unit/stack has a single-scale monitor, define only a high-scale span record. You defined a span record for [key], but you have not reported corresponding high-scale span records that span the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report Span Evaluation Current Span Active Equals true Environmental Protection Agency Page 377 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-60 Check Name: Span MPC MEC Value Consistency Check Related Former Checks: New Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode, and a null EndDate: If EndDate is null If the MPCValue is not null and MECValue is not null If the MECValue is equal to or greater than the MPCValue return result A. Severity Critical Error Level 1 Results: Result Response A You have reported a MECValue equal to or greater than the MPCValue for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report Span Evaluation Conditions: Current Span Active Equals true 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 378 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Related Former Checks: Check Code: SPAN-55 Duplicate Span Records Applicability: Description: Specifications: General Check For a Span record with a valid ComponentTypeCode: If ComponentTypeCode is equal to "FLOW", Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode in the current record and a BeginDate/Hour equal to the BeginDate/Hour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null., Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode in the current record and an End Date/Hour equal to the EndDate/Hour in the current record. If found, return result A. Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode in the current record and a SpanScaleCode equal to the SpanScaleCode in the current record and a BeginDate/Hour equal to the BeginDate/Hour in the current record. If found, return result A. If not found, and the EndDate in the current record is not null., Locate another Span record for the location with a ComponentTypeCode that is equal to the ComponentTypeCode in the current record and a SpanScaleCode equal to the SpanScaleCode in the current record and an End Date/Hour equal to the EndDate/Hour in the current record. If found, return result A. Otherwise, Results: Result A Response Another [recordtype] record already exists with the same [fieldnames]. Severity Fatal Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Flow Span Evaluation 2 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 379 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-56 Check Name: Span MPC Value Valid Related Former Checks: NBP-37 Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the MPCValue is null, If the ComponentTypeCode is not equal to "FLOW" or "02", and the SpanScaleCode is equal to "H", set Span MPC Value Valid to false, and return result A. If the MPCValue is not null, If the ComponentTypeCode is equal to "FLOW" or "02", or the SpanScaleCode is equal to "L" set Span MPC Value Valid to false, and return result B. Otherwise, If the MPCValue is less than or equal to 0, set Span MPC Value Valid to false, and return result C. Results: Result Response Severity A You did not report an MPCValue for [key]. Critical Error Level 1 B You have reported an MPCValue for [key], but an MPCValue is not appropriate for this Critical Error Level 1 ComponentTypeCode and SpanScaleCode. C You defined an invalid [fieldname] for [key]. This value must be greater than zero. Critical Error Level 1 Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 380 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-57 Check Name: Span MEC Value Valid Related Former Checks: NBP-37, NBP-38 Applicability: CEM Check Description: Specifications: For a Span record with a valid ComponentTypeCode: If the MEC Value is null, If the ComponentTypeCode is not equal to "FLOW" or "02", and the SpanScaleCode is equal to "L", set Span MEC Value Valid to false, and return result A. If the ComponentTypeCode is equal to "S02" or "NOX, the SpanScaleCode is equal to "H", and the DefaultHighRange is not null, set Span MEC Value Valid to false, and return result B. If the MEC Value is not null, If the ComponentTypeCode is equal to "FLOW" or "02", set Span MEC Value Valid to false, and return result C. If the MECValue is less than or equal to 0, set Span MEC Value Valid to false, and return result D. Results: Result A Response You did not report an MECValue for [key]. This value is required in a non-flow low-scale span record. You did not report an MECValue for [key], but you defined a DefaultHighRange value. You must determine a maximum expected concentration when using a default high range value. You have inappropriately reported an MECValue for [key]. You defined an invalid [fieldname] for [key]. This value must be greater than zero. Severity Critical Error Level 1 B Critical Error Level 1 C D Critical Error Level 1 Critical Error Level 1 Usage: Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 381 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-58 Check Name: High Span Scale Transition Point Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Monitoring Span record with a valid ComponentTypeCode and a SpanScale equal to "H": If ScaleTransitionPoint is not null, If SpanValue is null and DefaultHighRangeValue is not null, return result A. Results: Result Response Severity A You have reported a ScaleTransitionPoint for [key], but you have indicated that you Critical Error Level 1 used a DefaultHighRangeValue. You should only report a ScaleTransitionPoint when using a dual-range analyzer. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 382 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SPAN-59 Check Name: Low Span Scale Transition Point Valid Related Former Checks: Applicability: CEM Check Description: Specifications: For a Monitoring Span record with a valid ComponentTypeCode and a SpanScale equal to "L": If ScaleTransitionPoint is not null, If FullScaleRangeValue is not null, and the ScaleTransitionPoint is not between 1/2 and 1 times the FullScaleRangeValue, return result A. Results: Result Response Severity A You have reported a ScaleTransitionPoint for [key] that is not within the valid range of Critical Error Level 2 values. The ScaleTransitionPoint should be between one-half and one times the F ull ScaleRange V alue. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation Span Evaluation Environmental Protection Agency Page 383 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Category: System Environmental Protection Agency Page 384 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-1 Check Name: System Begin Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring System record: Set System Record Valid to false. If BeginDate is null, return result A. If BeginDate is earlier than 01/01/1993 or later than Maximum Future Date, return result B. Results: Result Response Severity A You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 B You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 385 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-2 Check Name: System Begin Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring System record: If BeginHour is null, return result A. If BeginHour is less than 0 or greater than 23 return result B. Results: Result A B Usage: 1 1 Response You have not reported the required value in the field [fieldname] for [key]. You reported a [Fieldname] of [Hour], which is outside the range of acceptable values for this hour for [key]. Severity Critical Error Level 1 Critical Error Level 1 Process/Category: Process/Category: Monitoring Plan Evaluation Report System Evaluation Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 386 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-3 Check Name: System End Date Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring System record: If EndDate is not null, and is earlier than 01/01/1993 or later than Maximum Future Date, return result A. Results: Result Response Severity A You reported a [Fieldname] of [Date], which is outside the range of acceptable values Critical Error Level 1 for this date for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 387 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-4 Check Name: System End Hour Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring System record: If EndHour is not null, and is less than 0 or greater than 23 return result A. Results: Result Response Severity A You reported a [Fieldname] of [Hour], which is outside the range of acceptable values Critical Error Level 1 for this hour for [key]. Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Evaluation 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 388 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-5 Check Name: System Dates and Hours Consistent Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring System record: If the EndDate is valid and not null, and the EndHour is null, set Monitoring System Dates and Hours Consistent to false, and return result A. If the EndHour is valid and not null, and the EndDate is null, set Monitoring System Dates and Hours Consistent to false, and return result B. If the BeginDate, BeginHour, EndDate, and EndHour are all valid, If the EndDate is not null, and the BeginDate and BeginHour is after the EndDate and EndHour, set Monitoring System Dates and Hours Consistent to false, return result C. Otherwise, set Monitoring System Dates and Hours Consistent to true. Otherwise, set Monitoring System Dates and Hours Consistent to false. Results: Result A B C Usage: 1 Response You reported [datefield2] but did not report an [hourfield2] for [key]. You reported [hourfield2] but did not report [datefield2] for [key]. You reported [datefield2] and [hourfield2], which is prior to [datefieldl] and [hourfieldl] for [key]. 1 Process/Category: Process/Category: Monitoring Plan Evaluation Report System Evaluation Monitoring Plan Data Entry Screen Evaluation System Evaluation Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 389 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-6 Check Name: System Active Status Related Former Checks: Applicability: General Check Description: Specifications: For a Monitor System record with consistent dates: If BeginDate is after Evaluation End Date or EndDate is before Evaluation Begin Date, set Current System Active to false. Otherwise, set Current System Active to true. If the BeginDate is prior to the Evaluation Begin Date, set the System Evaluation Begin Date to the Evaluation Begin Date, set the System Evaluation Begin Hour to 0. Otherwise, set the System Evaluation Begin Date to the BeginDate. set the System Evaluation Begin Hour to the BeginHour. If the EndDate is null or is after the Evaluation End Date, set the System Evaluation End Date to the Evaluation End Date, set the System Evaluation End Hour to 23. Otherwise, set the System Evaluation End Date to the EndDate. set the System Evaluation End Hour to the EndHour. Results: Result Response Severity Usage: Process/Category: Monitoring Plan Evaluation Report System Evaluation Environmental Protection Agency Page 390 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: SYSTEM-7 Monitoring System ID Valid Related Former Checks: Applicability: General Check Description: Specifications: For the Monitoring System record: If the MonitoringSy stemID is null, return result A. If the MonitoringSystemID does not consist of 3 alphanumeric characters: return result B. Results: Result A B Response You have not reported the required value in the field [fieldname] for [key]. The MonitoringSystemID [ID] has an invalid format. A MonitoringSystemID must contain three alphanumeric characters. Severity Fatal Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals True Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 391 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-8 Check Name: System Type Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: System Type Code (Complex Lookup Table) System Type Code (Complex Lookup Table) Specifications: For the Monitoring System record: If the SystemTypeCode is null, return result A. Otherwise, Locate SystemTypeCode in the System Type Lookup Table. If not found, return result B. If found, set System Parameter Code to the ParameterCode in the lookup table record, set System Record Valid to true. Locate a Used Identifier record for the location where the Table Code is equal to "S" and the Identifier is equal to the Monitoring System ID in the Monitoring System record. If found, If the SystemTypeCode is not equal to the Type or Parameter Code in the retrieved record, If the SystemTypeCode begins with "H20" and the Type or Parameter Code begins with "H20", return result C. Otherwise, return result D. Results: Result A B C D Response You have not reported the required value in the field [fieldname] for [key]. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have changed the SystemTypeCode for [key] from its previously reported value. You should only do this to correct invalid data. If you are installing a system with a different system type, you should add a new system. You have changed the SystemTypeCode for [key] from its previously reported value. You should only do this to correct invalid data. If you are installing a system with a different system type, you should add a new system. Severity Fatal Critical Error Level 1 Informational Message Critical Error Level 2 Usage: 1 1 Process/Category: Monitoring Plan Evaluation Report System Evaluation Conditions: Current System Active Equals True Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 392 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-9 Check Name: System Designation Code Valid Related Former Checks: ARP-68 Applicability: General Check Description: Validation Tables: System Designation Code (Lookup Table) System Designation Code (Lookup Table) Specifications: For the Monitoring System record: If the SystemDesignationCode is null, return result A. If SystemDesignationCode is equal to "CI", If SystemTypeCode is valid and SystemTypeCode is not equal to "S02", "NOX", "NOXC", "S02R", "HG", or "HGK", return result B. If SystemDesignationCode is equal to "RM" and SystemTypeCode is equal to "GAS", "OILM", "OILV", "OP", "NOXP", or "NOXE" return result B. If SystemDesignationCode is equal to "PB", If SystemTypeCode is valid and SystemTypeCode is not equal to "NOX", or "NOXC", return result B. Otherwise, Locate SystemDesignationCode in System Designation Code Lookup table. If not found, return result C. Results: Result A B C Usage: 1 1 Response Severity You have not reported the required value in the field [fieldname] for [key]. Critical Error Level 1 You reported [value] as the SystemDesignationCode for [key], which is not appropriate Critical Error Level 1 for the System Type [Monitor System Type]. You reported the value [value], which is not in the list of valid values, in the field Critical Error Level 1 [fieldname] for [key]. Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals True Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 393 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-10 Check Name: System Fuel Code Valid Related Former Checks: Applicability: General Check Description: Validation Tables: Fuel Code (Lookup Table) System Type to Fuel Group (Cross Check Table) Fuel Code (Lookup Table) System Type to Fuel Group (Cross Check Table) Specifications: For Monitoring System record: Set System Fuel Code Valid to true and System Unit Fuel to null. If the FuelCode in the Monitoring System record is null, set System Fuel Code Valid to false, and return result A. Otherwise, Locate the FuelCode in the Fuel Code Lookup Table. If not found, set System Fuel Code Valid to false, and return result B. If found, and the SystemTypeCode is valid, Locate a record in the System Type to Fuel Group Cross Check table where the SystemTypeCode is equal to the SystemTypeCode in the Monitoring System record and the Fuel Group Code is equal to Fuel Group in the retrieved Fuel Code lookup table record. If not found, set System Fuel Code Valid to false, and return result C. If found, set System Unit Fuel to the UnitFuel in the retrieved Fuel Code lookup table. Results: Result A Response You have not reported a Fuel Code for [key]. A Fuel Code is required for a [System Type] system. You reported the value [value], which is not in the list of valid values, in the field [fieldname] for [key]. You have reported the Fuel Code [value] for [key], which is not appropriate for a [System Type] system. Severity Critical Error Level 1 B Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Process/Category: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Monitoring Plan Data Entry Screen Evaluation System Evaluation Environmental Protection Agency Page 394 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-12 Check Name: System Type Consistent with Method Related Former Checks: ARP-1 Applicability: General Check Description: Validation Tables: Method Parameter to Method to System Type (Cross Check Table) Specifications: For Monitoring System record with a valid System Type Code and consistent dates: If the System Type Code is equal to "OILV", "OILM", or "GAS", Locate a Monitoring Method record for the location with a MethodCode that begins with "AD", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result A. If the System Type Code is equal to "LTGS" or "LTOL", Locate a Monitoring Method record for the location with a MethodCode that begins with "LTF", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result A. Otherwise, Locate the SystemTypeCode in the Method Parameter and Method to System Type Cross Check table. Locate a Monitoring Method record for the location with any ParameterCode and MethodCode combination found in the cross check table, a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result A. If found, Results: Result A Response You have not reported a method that is consistent with the system type [system type code] for [key] during the evaluation period. Severity Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 395 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-13 Check Name: System Type Consistent with Components Related Former Checks: Applicability: General Check Description: Validation Tables: System Type to Component Type (Cross Check Table) Specifications: For a Monitor System record with consistent dates and a valid SystemTypeCode: If the SystemTypeCode is equal to "S02R", "NOX", or "C02", Locate all System Component records for the system where the ComponentTypeCode is equal to "C02", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. For each record found, Locate another System Component record for the system where the ComponentTypeCode is equal to "02", the BeginDate and BeginHour is on or before the earlier of the System Evaluation End Date and End Hour and the End Date and End Hour of the retrieved System Component record, and the EndDate is null or the EndDate and EndHour is on or after the later of the System Evaluation Begin Date and Begin Hour and the Begin Date and Begin Hour of the retrieved System Component record. If found, return result A. If the SystemTypeCode is equal to "S02", "S02R", "NOX", "NOXC", "C02", "02", or "HG", Locate all records in the System Type to Component Type cross-check table where the SystemTypeCode is equal to the SystemTypeCode in the current system record. For each of the retrieved records in the cross-check table: Locate all System Component records for the system where the ComponentTypeCode is equal to the ComponentTypeCode in the cross-check record, the ComponentID does not begin with "LK", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, Locate all Analyzer Range records for the components in the retrieved system component records, the AnalyzerRangeCode is equal to "H" or "A", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record overlaps the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record for a different component with a ComponentID that does not begin with "LK" at any time during the system evaluation period, return result B. Otherwise, Locate all Analyzer Range records for the location where the ComponentID is equal to the Environmental Protection Agency Page 396 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM ComponentID of any of the components in the retrieved system component records, the AnalyzerRangeCode is equal to "L" or "A", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record overlaps the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record for a different component with a ComponentID that does not begin with "LK" at any time during the system evaluation period, return result B. If the SystemTypeCode is equal to "H20", Locate all System Component records for the system where the associated ComponentTypeCode is equal to "02", the ComponentID does not begin with "LK", the StartDate and StartHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If at least one record is found with an associated BasisCode equal to "B" and at least one record is found with an associated BasisCode equal to "W" or "D", If the time span between BeginDate/Hour and EndDate/Hour of any record with a BasisCode equal to "B" overlaps with the time span between BeginDate/Hour and EndDate/Hour of any record with a BasisCode equal to " W" or "D" at any time during the system evaluation period, return result C. If more than one record is found with the same non-null BasisCode, For each BasisCode with more than one record found, Locate all Analyzer Range records for the components with this BasisCode in the retrieved system component records, the AnalyzerRangeCode is equal to "H" or "A", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record overlaps the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record for a different component with the same basis code and a ComponentID that does not begin with "LK" at any time during the system evaluation period, return result B. Otherwise, Locate all Analyzer Range records for the location where the ComponentID is equal to the ComponentID of any of the components with this BasisCode in the retrieved system component records, the AnalyzerRangeCode is equal to "L" or "A", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, and the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record overlaps the intersection between BeginDate/Hour and EndDate/Hour of any analyzer range records and the associated system component record for a different component with the same basis code and a ComponentID that does not begin with "LK" at any time during the system evaluation period, return result B. Environmental Protection Agency Page 397 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Results: Result A B C Response You have reported a CEM system for [key] that contains an active C02 component and a concurrently active 02 component. This is invalid. You have reported a CEM or H20 system for [key] that contains more than one active analyzer with the same component type (and basis) and analyzer range. This is an invalid configuration of components. You have reported an H20 system for [key] that contains an 02 component with a basis code of "B", and a concurrently active 02 component with a basis code of "W" or "D". This is an invalid configuration of components. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Usage: 1 Process/Category: Conditions: Monitoring Plan Evaluation Report ¦ Current System Active Equals true System Evaluation Environmental Protection Agency Page 398 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-14 Check Name: System Fuel Consistent with Unit Fuel Related Former Checks: Applicability: Appendix D Check Description: Specifications: For Monitoring System record with a valid SystemTypeCode, a valid SystemFuelCode, and consistent dates: If the FuelCode is not equal to "NFS" or "MIX", Locate the latest Unit Fuel record linked to the location where the FuelCode is equal to the System Unit Fuel, the BeginDate is on or before the System Evaluation End Date, and the EndDate is null or is on or after the System Evaluation Begin Date. If not found, return result A. If found, If the Indicator Code in the retrieved record is equal to "I" or "E", return result C. If the EndDate of retrieved Unit Fuel record is not null, and either the EndDate of the Monitoring System record is null or the End Date of the Monitoring System record is later than the EndDate of the retrieved Unit Fuel record, return result B. Results: Result A Response The Fuel Code [Fuel Code] for [key] is inconsistent with the active fuels for the associated unit. According to the Unit Fuel (and Unit Stack Configuration) records, the FuelCode [Fuel Code] for [key] is not being combusted for the entire evaluation period. According to the Unit Fuel (and Unit Stack Configuration) records, the fuel flow system for [key] may be measuring an emergency or ignition fuel. Although it is permitted to define a fuel flow system for ignition or emergency fuels, it is not required to do so. Severity Critical Error Level 1 B Informational Message C Informational Message Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 399 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Related Former Checks: Check Code: SYSTEM-16 RM System Consistent with Non-RM Systems Applicability: Description: Specifications: General Check For a Monitoring System record with a valid SystemDesignationCode equal to "RM", Required DAHS for System equal to true, and Required Non-DAHS Components for System equal to true: Locate another Monitor System record for the location with the same SystemTypeCode, a SystemDesignationCode not equal to "RM", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. Locate all System Component records for all of the retrieved system where the associated ComponentTypeCode is not equal to "DAHS", "PLC", "FLC", or "PRB", the BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. For each of the retrieved System Component records. Locate a System Component record for the current system with the same Component ID. If any are found, and the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour, If not found, return result A. If found, return result B. Results: Result A Response You have reported a [System Type] RM System for [key], but you have not reported a corresponding non-RM system at the location. You have reported an RM [System Type] system for [key], which contains components that are also part of a non-RM [System Type] system at the location. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 400 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-17 Check Name: Related Former Checks: Backup System Consistent with Primary System Applicability: Description: Specifications: General Check For a Monitoring System record with a valid SystemTypeCode, a SystemDesignationCode is equal to "B" or "RB", and consistent dates: Locate all System Component records for the system where the associated ComponentTypeCode is not equal to "DAHS", "PLC", or "FLC", the BeginDate and BeginHour in on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour in on or after the System Evaluation Begin Date and Begin Hour. Locate another Monitoring System for the location where the SystemTypeCode is equal to the SystemTypeCode of the current system, the SystemDesignationCode is equal to "P", the BeginDate and BeginHour in on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour in on or after the System Evaluation Begin Date and Begin Hour. For each of the retrieved system records: Locate all System Component records for the location where the MonitoringSystemID is equal to the MonitoringSystemID in the retrieved system record, the associated ComponentTypeCode is not equal to "DAHS", "PLC", or "FLC", the BeginDate and BeginHour in on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour in on or after the System Evaluation Begin Date and Begin Hour. If the list of ComponentlDs in the retrieved records is equal to the list of ComponentlDs in the System Component records for the current system, return result A. Results: Result A Response You have reported a backup system [key] that has the same non-DAHS components that Critical Error Level 1 are part of the primary [System Type] system at the location. Severity Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 401 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-18 Check Name: Required DAHS Component Reported for System Related Former Checks: NBP-12 Applicability: General Check Description: Specifications: For a Monitoring System record with consistent dates: Set Required DAHS for System to true. Locate all System Component record for the system where the ComponentTypeCode is equal to "DAHS". If not found, set Required DAHS for System to false, and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system evaluation period, return result B. Results: Result A Response The system does not contain a required DAHS component that was active during the evaluation period for [key]. The system does not contain a required DAHS component records for [key] to span the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 402 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-19 Check Name: Required Non-DAHS Components Reported for System Related Former Checks: NBP-16, NBP-18 Applicability: Description: Validation Tables: General Check System Type to Component Type (Cross Check Table) Specifications: For a Monitoring System record with a valid System Type and consistent dates: Set Required Non-DAHS Components for System to true. Set Required Probe to false. If the SystemType is not equal to "H20" or "HGK", Locate the System Type in the System Type to Component Type Cross Check Table where Mandatory is equal to "Yes". Locate all System Component records for the system where the ComponentTypeCode is equal to the ComponentTypeCode in the retrieved cross check record; the ComponentID does not begin with "LK"; the StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour. If not found, set Missing Components for System to the ComponentTypeCode in the cross check record. If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system evaluation period, set Incomplete Components for System to the ComponentTypeCode in the cross check record. If ComponentTypeCode is equal to "S02", "NOX", "C02", "02", "H20", or "HG" and the SampleAcquisitionMethodCode is equal to "DIL", "DOU", "DIN", "EXT", or "WXT", set Required Probe to true. Locate the System Type in the System Type to Component Type Cross Check Table where Mandatory is null. Locate all System Component records for the system where the ComponentTypeCode is equal to any of the ComponentTypeCodes in the retrieved cross check records; the ComponentID does not begin with "LK"; the StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour. If none are found, append the ComponentTypeCodes in the retrieved cross check records to Missing Components for System. If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system evaluation period, append the ComponentTypeCodes in the retrieved cross check records to Incomplete Components for System. If found, If found, If found, If found, Environmental Protection Agency Page 403 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM If ComponentTypeCode is equal to "S02", "NOX", "C02", "02", "H20", or "HG" and the SampleAcquisitionMethodCode is equal to "DIL", "DOU", "DIN", "EXT", or "WXT", set Required Probe to true. If Missing Components for System is not null, and Incomplete Components for System is null, set Required Non-DAHS Components for System to false, and return result A. If Incomplete Components for System is not null, and Missing Components for System is null, return result B. If both Missing Components for System and Incomplete Components for System are not null, set Required Non-DAHS Components for System to false, and return result C. If the SystemType is equal to "H20", Locate all System Component records for the system where the ComponentTypeCode is equal to "02", the ComponentID does not begin with "LK", the BasisCode is equal to "B" or " W", the StartDate and StartHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result D. If found, If the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system evaluation period, return result E. If the SampleAcquisitionMethodCode is equal to "DIL", "DOU", "DIN", "EXT", or "WXT", set Required Probe to true. For each retrieved record with a BasisCode equal to " W": Locate all System Component records for the system where the ComponentTypeCode is equal to "02", the ComponentID does not begin with "LK", the BasisCode is equal to "D", the StartDate and StartHour is on or before the System Evaluation End Date and End Hour in the retrieved record, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result D. If found and the BeginDate/BeginHour and EndDate/EndHour of the retrieved "D" records do not span the intersection of the system evaluation period and the time span between the BeginDate/BeginHour and EndDate/EndHour of the retrieved "W" record, return result E. If the SystemType is equal to "HGK", Locate all System Component records for the system where the ComponentTypeCode is equal to "TRAP"; the ComponentID does not begin with "LK"; the StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour. If less than two are found, set Required Non-DAHS Components for System to false, and Missing Components for System to "TRAP" Otherwise, For each retrieved System Component record, Environmental Protection Agency Page 404 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Locate all System Component records for the system where the ComponentTypeCode is equal to "TRAP"; the ComponentID does not equal to ComponentID in the System Component record being evaluated; the StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour. If the BeginDate/BeginHour and EndDate/EndHour of the second set of retrieved records does not span the entire system evaluation period, set Missing Components for System to "TRAP", exit for. Locate all System Component records for the system where the ComponentTypeCode is equal to "GFM"; the ComponentID does not begin with "LK"; the StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour. If less than two are found, set Required Non-DAHS Components for System to false, and append "GFM" to Missing Components for System. Otherwise, For each retrieved System Component record, Locate all System Component records for the system where the ComponentTypeCode is equal to "GFM"; the ComponentID does not equal to ComponentID in the System Component record being evaluated; the StartDate and StartHour is on or before the System Evaluation End Date and End Hour; and the EndDate is null or the EndDate is on or after the System Evaluation Begin Date and Begin Hour. If the BeginDate/BeginHour and EndDate/EndHour of the second set of retrieved records does not span the entire system evaluation period, append "GFM" to Missing Components for System, exit for. If Missing Components for System is not null, return result F. Results: Result A Response You have not reported [missing component] component(s) that was/were active during the evaluation period for [key]. This component type is required in a [system type] monitoring system. You have not reported [incomplete component] component(s) for [key] that is/are active for the entire evaluation period. If the component(s) was/were not installed during part of the evaluation period, you will not be allowed to report measured emissions using this monitoring system during the period of time when the [incomplete component] component(s) was/were not active. You have not reported a(n) [missing component] component that was active during the evaluation period for [key]. Also, you have not reported a [incomplete component] component that is active for the entire evaluation period. These component types are required in a [system type] monitoring system. You have not reported wet-basis and dry-basis component(s) that was/were active during the evaluation period for [key]. These components are required in an H20 monitoring system. You have not reported active wet-basis and dry-basis component(s) for [key] for the entire evaluation period. These components required in an H20 monitoring system. You did not report two [missing component] that were concurrently active for the entire evaluation period for [key]. Two TRAP and two GFM components are required in an HGK monitoring system. Severity Critical Error Level 1 B Informational Message C Critical Error Level 1 D Critical Error Level 1 E Critical Error Level 1 F Critical Error Level 1 Environmental Protection Agency Page 405 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Evaluation Conditions: Current System Active Equals true Environmental Protection Agency Page 406 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-20 Check Name: Required Formula Reported for System Related Former Checks: Applicability: General Check Description: Specifications: For a Monitor System record with consistent dates and a valid SystemTypeCode: If the SystemTypeCode is equal to "OILV" or "OILM", Locate all System Component records for the system where the associated ComponentTypeCode is equal to "OFFM" or "BOFF", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, and they overlap at any time during the system evaluation period, Locate all Formula records for the location with a ParameterCode equal to the "FOIL", a FormulaCode equal to "N-OIL", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, set Missing Formula for System to "FOIL N-OIL", and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire time that the system component records overlap during the system evaluation period, set Missing Formula for System to "FOIL N-OIL", and return result B. If the SystemTypeCode is equal to "GAS", Locate all System Component records for the system where the associated ComponentTypeCode is equal to "GFFM" or "BGFF", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, and they overlap at any time during the system evaluation period, Locate all Formula records for the location with a ParameterCode equal to the "FGAS", a FormulaCode equal to "N-GAS", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, set Missing Formula for System to "FGAS N-GAS", and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire time that the system component records overlap during the system evaluation period, set Missing Formula for System to "FGAS N-GAS", and return result B. If the SystemTypeCode is equal to "FLOW", Locate all System Component records for the system where the associated ComponentTypeCode is equal to "FLOW", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If more than one record is found, and they overlap at any time during the system evaluation period, Locate all Formula records for the location with a ParameterCode equal to the "FLOW", a BeginDate and Environmental Protection Agency Page 407 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, set Missing Formula for System to "FLOW", and return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire time that the system component records overlap during the system evaluation period, set Missing Formula for System to "FLOW", and return result B. If the SystemTypeCode is equal to "H20", Locate all Formula records for the location with a ParameterCode equal to "H20", a FormulaCode equal to "F-31" or "M-1K", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result C. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire system evaluation period, return result D. If the SystemTypeCode is equal to "HGK", Locate all Formula records for the location with a ParameterCode equal to "HGC", a FormulaCode equal to "K-5", a BeginDate and BeginHour on or before the System Evaluation End Date and End Hour, and an EndDate that is null or and EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result E. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved formula records do not span the entire system evaluation period, return result F. Results: Result A B D E Response You reported [system type] [key], which has more than one concurrently active flowmeter component, but you did not report a(n) [formula type] formula record that was active during the evaluation period. If this system really has more than one component that measures flow, this formula is required. Otherwise, you should correct the system component records so that the dates/hours in these records do not overlap. You reported [key], but you did not report [formula type] formula records that are active for the entire evaluation period. These formulas are required when using a [system type] system with more than one flowmeter. You reported [key], but you did not report an H20 formula record that was active during the evaluation period to compute emission values for this location. This formula is required when using an H20 system. You reported [key], but you did not report H20 formula records that are active for the entire evaluation period. This formula is required when using an H20 system. You reported [key], but you did not report an HGC formula record that was active during the evaluation period to compute emission values for this location. This formula is required when using an HGK system. You reported [key], but you did not report HGC formula records that are active for the entire evaluation period. This formula is required when using an HGK system. Severity Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Critical Error Level 1 Environmental Protection Agency Page 408 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Usage: 1 Process/Category: Monitoring Plan Evaluation Report System Evaluation Conditions: Current System Active Equals true Environmental Protection Agency Page 409 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-21 Check Name: Required Defaults Reported for System Related Former Checks: Applicability: General Check Description: Specifications: For a Monitoring System record with a valid SystemTypeCode, a valid FuelCode, and consistent dates: If the SystemTypeCode is equal to "NOXE", Locate all Monitor Default records for the location with a ParameterCode equal to "NORX", a DefaultPurposeCode equal to "MD", a FuelCode equal to the FuelCode in the system record, an OperatingConditionCode equal to "A" or "U, a BeginDate and BeginHour that is on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour, If not found, add "NORX MD" to Missing Default for System. If found, and the Begin and End Dates for the retrieved record do not span the entire system evaluation period, add "NORX MD" to Incomplete Default for System. Locate all Monitor Default records for the location with a ParameterCode equal to "NOCX", a DefaultPurposeCode equal to "MD", a FuelCode equal to the FuelCode in the system record, an OperatingConditionCode equal to "A" or "U, a BeginDate and BeginHour that is on or before the System Evaluation End Date and End Hour, and an EndDate that is null or an EndDate and EndHour that is on or after the System Evaluation Begin Date and Begin Hour, If not found, add "NOCX MD" to Missing Default for System. If found, and the Begin and End Dates for the retrieved record do not span the entire system evaluation period, add "NOCX MD" to Incomplete Default for System. If Missing Default for System is not null, and Incomplete Default for System is null, return result A. If Missing Default for System is null, and Incomplete Default for System is not null, return result B. If Missing Default for System is not null, and Incomplete Default for System is not null, return result C. Results: Result A Response You did not report a [missing] default record that was active during the evaluation period for fuel code [fuel], which is required when you defined a [system type] monitoring system for [key] for this fuel. You did not report a [incomplete] default record for fuel code [fuel], which is active for the entire evaluation period. This default is required when you define a [system type] monitoring system for [key] for this fuel. You did not report a [missing] default record that was active during the evaluation period for fuel code [fuel], which is required when you defined a [system type] monitoring system for [key] for this fuel. Also, you did not report a [incomplete] default record for fuel code [fuel], which is active for the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 C Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 410 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-22 Check Name: Required Fuel Flow Record Reported for Fuel System Related Former Checks: NBP-52A Applicability: Appendix D Check Description: Specifications: For a Monitoring System record with consistent dates and a SystemTypeCode equal to "OILV", "OILM", or "GAS": If the SystemTypeCode is equal to "OILV" or "OILM", Locate a System Component record for the system where the ComponentTypeCode is equal to "OFFM", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If the SystemTypeCode is equal to "GAS", Locate a System Component record for the system where the ComponentTypeCode is equal to "GFFM", the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If the System Component record is found, Locate a System FuelFlow record for the system where the BeginDate and BeginHour is on or before the System Evaluation End Date and End Hour, and the EndDate is null or the EndDate and EndHour is on or after the System Evaluation Begin Date and Begin Hour. If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system evaluation period, return result B. Results: Result A Response You did not report a system fuel flow record that was active during the evaluation period for [key]. You did not report system fuel flow records for [key] that span the entire evaluation period. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 411 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Name: Check Code: SYSTEM-23 Required Probe Reported for CEM System Related Former Checks: Applicability: CEM Check Description: Specifications: For a Monitoring System record with a valid System Type and consistent dates: If Required Probe is equal to true and the EndDate of the system is null or is on or after 1/1/2008, Locate all System Component record for the system where the ComponentTypeCode is equal to "PRB". If not found, return result A. If found, and the BeginDate/BeginHour and EndDate/EndHour of the retrieved records do not span the entire system evaluation period on or after 1/1/2008, return result B. Results: Result A Response You have not reported [missing component] component(s) that was/were active during the evaluation period for [key]. This component type is required in a [system type] monitoring system. You have not reported [incomplete component] component(s) for [key] that is/are active for the entire evaluation period. This component type is required in a [system type] monitoring system. Severity Critical Error Level 1 B Critical Error Level 1 Usage: Process/Category: Conditions: Monitoring Plan Evaluation Report System Evaluation Current System Active Equals true Environmental Protection Agency Page 412 of 413 ------- Draft ECMPS Monitoring Plan Check Specifications 12/12/2012 12:00:00AM Check Code: SYSTEM-24 Check Name: Duplicate System Records Related Former Checks: Applicability: General Check Description: Specifications: For a System record: Locate another System record for the location with a MonitoringSystemID that is equal to the MonitoringSystemID in the current record. If found, return result A. Results: Result Response A Another [recordtype] record already exists with the same [fieldnames]. Usage: 1 Process/Category: Monitoring Plan Data Entry Screen Evaluation System Evaluation Severity Fatal Environmental Protection Agency Page 413 of 413 ------- |