ICIS-NPDES DMR Summary and Data Element Dictionary
The Enforcement and Compliance History Online (ECHO) system incorporates Discharge Monitoring Report (DMR) data submitted by NPDES permit holders to the states or directly to EPA via the US EPA Central Data Exchange (CDX). This compendium of DMR data identifies the permit conditions or limits for each water discharge location, the actual values, identified by the permittee, for each monitored pollutant that was discharged, and whether the amounts discharged exceeded the permit limits. DMR data are stored in the EPA Office of Enforcement Compliance Assurance, Integrated Compliance Information System (ICIS), where it is extracted by ECHO.
DMR Description
The download data comprises comma-separated value files, one for each fiscal year since 2009, available in individual zip files. Each zip file is named npdes_dmrs_fyxxxx.zip and each CSV is named npdes_dmr_fyxxxx.csv, where xxxx is the fiscal year (e.g., npdes_dmrs_fy2014.zip).
The data contained in the download file is comprised of selected data columns from the following ICIS tables:
Schema | Table |
---|---|
IDEA_ICIS | ICIS_DMR |
IDEA_ICIS | ICIS_DMR_EVENT |
IDEA_ICIS | ICIS_DMR_FORM |
IDEA_ICIS | ICIS_DMR_FORM_PARAMETER |
IDEA_ICIS | ICIS_DMR_FORM_VALUE |
IDEA_ICIS | ICIS_DMR_VALUE |
IDEA_ICIS | ICIS_LIMIT |
IDEA_ICIS | ICIS_LIMIT_SET |
IDEA_ICIS | ICIS_LIMIT_SET_SCHEDULE |
IDEA_ICIS | ICIS_LIMIT_SET_STATUS |
IDEA_ICIS | ICIS_LIMIT_VALUE |
IDEA_ICIS | ICIS_PERMIT |
IDEA_ICIS | ICIS_PERM_FEATURE |
IDEA_ICIS | ICIS_DMR_PARAMETER |
ICIS-NPDES Data Elements
NPDES DMR (NPDES_DMR_FYxxxx.csv)
Element Name | Data Type | Length |
---|---|---|
ACTIVITY_ID | Number | 22 |
EXTERNAL_PERMIT_NMBR | VarChar2 | 9 |
VERSION_NMBR | Number | 22 |
PERM_FEATURE_ID | Number | 22 |
PERM_FEATURE_NMBR | VarChar2 | 30 |
PERM_FEATURE_TYPE_CODE | VarChar2 | 3 |
LIMIT_SET_ID | Number | 22 |
LIMIT_SET_DESIGNATOR | VarChar2 | 2 |
LIMIT_SET_SCHEDULE_ID | Number | 22 |
LIMIT_ID | Number | 22 |
LIMIT_BEGIN_DATE | Date | 7 |
LIMIT_END_DATE | Date | 7 |
NMBR_OF_SUBMISSION | Number | 22 |
NMBR_OF_REPORT | Number | 22 |
PARAMETER_CODE | VarChar2 | 5 |
PARAMETER_DESC | VarChar2 | 100 |
MONITORING_LOCATION_CODE | VarChar2 | 3 |
STAY_TYPE_CODE | VarChar2 | 1 |
LIMIT_VALUE_ID | Number | 22 |
LIMIT_VALUE_TYPE_CODE | VarChar2 | 3 |
LIMIT_VALUE_NMBR | Number | 22 |
LIMIT_UNIT_CODE | VarChar2 | 2 |
LIMIT_UNIT_DESC | VarChar2 | 13 |
STANDARD_UNIT_CODE | VarChar2 | 2 |
STANDARD_UNIT_DESC | VarChar2 | 13 |
LIMIT_VALUE_STANDARD_UNITS | Number | 22 |
STATISTICAL_BASE_CODE | VarChar2 | 3 |
STATISTICAL_BASE_TYPE_CODE | VarChar2 | 3 |
LIMIT_VALUE_QUALIFIER_CODE | VarChar2 | 3 |
OPTIONAL_MONITORING_FLAG | Char | 1 |
LIMIT_SAMPLE_TYPE_CODE | VarChar2 | 3 |
LIMIT_FREQ_OF_ANALYSIS_CODE | VarChar2 | 5 |
STAY_VALUE_NMBR | Number | 22 |
LIMIT_TYPE_CODE | VarChar2 | 3 |
DMR_EVENT_ID | Number | 22 |
MONITORING_PERIOD_END_DATE | Date | 7 |
DMR_SAMPLE_TYPE_CODE | VarChar2 | 3 |
DMR_FREQ_OF_ANALYSIS_CODE | VarChar2 | 5 |
REPORTED_EXCURSION_NMBR | Number | |
DMR_FORM_VALUE_ID | Number | 22 |
VALUE_TYPE_CODE | VarChar2 | 3 |
DMR_VALUE_ID | Number | 22 |
DMR_VALUE_NMBR | Number | 22 |
DMR_UNIT_CODE | VarChar2 | 2 |
DMR_UNIT_DESC | VarChar2 | 13 |
DMR_VALUE_STANDARD_UNITS | Number | 22 |
DMR_VALUE_QUALIFIER_CODE | VarChar2 | 3 |
VALUE_RECEIVED_DATE | Date | 7 |
DAYS_LATE | Number | 22 |
NODI_CODE | VarChar2 | 3 |
EXCEEDANCE_PCT | Number | 22 |
NPDES_VIOLATION_ID | Number | 22 |
VIOLATION_CODE | VarChar2 | 5 |
RNC_DETECTION_CODE | VarChar2 | 3 |
RNC_DETECTION_DATE | Date | 7 |
RNC_RESOLUTION_CODE | VarChar2 | 3 |
RNC_RESOLUTION_DATE | Date | 7 |
DMR Data Element Definitions
The following is a list of the data elements and ICIS-derived elements that appear in the NPDES DMR download.
ACTIVITY_ID - The unique identifier for an activity performed at or related to a particular site. It can be used to uniquely identify a version of a permit in ICIS.
DAYS_LATE - The system-generated number of days the DMR value is late. This value is calculated as follows: Value Received Date - DMR Due Date. For example, if a DMR with a monitoring period end date of June 30, 2018 has a DMR Due Date of August 31, 2018, and the value was received on October 1, 2018, then the days late would be equal to 31 (= 10/1/2018 - 8/31/2018).
DMR_EVENT_ID - The unique ID identifying the DMR Event. A DMR Event is a DMR submission with a DMR period end date and DMR due date.
DMR_FORM_VALUE_ID - The sequence ID identifying the DMR Form Value.
DMR_FREQ_OF_ANALYSIS_CODE - The code identifying the frequency measure used for sampling the data; this is the Frequency of Analysis reported for a DMR parameter on the DMR form. For a list of all codes and descriptions, download the Frequency of Analysis Reference Table (CSV) (4.8 K).
DMR_SAMPLE_TYPE_CODE - The sampling method used to provide the values for the DMR parameter on the DMR form. For a list of all codes and descriptions, download the Sample Type Reference Table (CSV) (1.7 K).
DMR_UNIT_CODE - The code representing the unit of measure applicable to quantity or concentration measurements (DMR_VALUE_NMBR), as entered by the user.
DMR_UNIT_DESC - The short description of the unit of measure applicable to the quantity or concentration measurement (DMR_VALUE_NMBR).
DMR_VALUE_ID - The system-generated unique identifier for the DMR value.
DMR_VALUE_NMBR - The DMR value number reported on the DMR form.
DMR_VALUE_QUALIFIER_CODE - The unique code identifying the DMR value operator (e.g., <, T, >, E, =). For more information on qualifier code definitions see table below.
CODE | DescRIPTION |
---|---|
< | Less Than |
<= | Less Than or Equal To |
> | Greater Than |
>= | Greater Than or Equal To |
= | Equals |
T | Too Numerous to Count |
E | Estimated |
DMR_VALUE_STANDARD_UNITS - The DMR value expressed in standard units, as calculated by the system. Corresponding units are provided in STANDARD_UNIT_CODE/STANDARD_UNIT_DESC.
EXCEEDENCE_PCT - The system-generated percent by which the DMR value (or Adjusted Value) exceeded its Limit (or stay) value.
EXTERNAL_PERMIT_NMBR - The unique identifier for a permit.
LIMIT_BEGIN_DATE - The date on which a limit starts being in effect for a particular parameter in a limit set.
LIMIT_END_DATE - The date on which a limit stops being in effect for a particular parameter in a limit set.
LIMIT_ID - The unique identifier for a limit parameter record.
LIMIT_FREQ_OF_ANALYSIS_CODE - The frequency with which the permittee must analyze the sampled data. The general format is XX/YY, where XX=number of times sampled and YY=Period of time sampled. For a list of all codes and descriptions, download the Frequency of Analysis Reference Table (CSV) (4.8 K).
Note: When opening the file in Excel, values may display as dates due to the formatting (E.g., "01/30" describes monthly frequency sampling, but may display in Excel as "30-Jan".). Values should display correctly when opening as a text file.
LIMIT_SAMPLE_TYPE_CODE - The sampling method required by the permit to be used to provide values on the DMR for the limit. For a list of all codes and descriptions, download the Sample Type Reference Table (CSV) (1.7 K).
LIMIT_SET_DESIGNATOR - The alphanumeric field that is used to designate a particular grouping of parameters within a limit set. For more information on limit sets download the Limit Sets Technical Specification (DOC) (61 pp, 3.1 MB).
LIMIT_SET_ID - The system-generated unique identifier for a limit set. For more information on limit sets download the Limit Sets Technical Specification (DOC) (61 pp, 3.1 MB).
LIMIT_SET_SCHEDULE_ID - The system-generated unique identifier of the Limit Set Schedule. For more information on limit sets download the Limit Sets Technical Specification (DOC) (61 pp, 3.1 MB).
LIMIT_TYPE_CODE - The unique code that indicates whether a limit is an enforceable limit (ENF) or alert limit (ALR). Alert limits do not receive effluent violations for exceedances of the limit. Alerts limits are also referred to as benchmark thresholds.
LIMIT_UNIT_CODE - The code representing the unit of measure applicable to quantity or concentration limits (LIMIT_VALUE_NMBR).
LIMIT_UNIT_DESC - The short description of the unit of measure applicable to limit value (LIMIT_VALUE_NMBR).
LIMIT_VALUE_ID - The system-generated unique identifier for the Limit Value.
LIMIT_VALUE_NMBR - The actual limit value number from the Permit or Enforcement Action Final Order. If this value is blank or null, the DMR has report-only monitoring (i.e., no limit, alert, benchmark, or threshold value).
LIMIT_VALUE_QUALIFIER_CODE - The unique code identifying the limit value operator (e.g., <, T, >, E, =). For more information on qualifier code definitions see table below.
Code | Description |
---|---|
< | Less Than |
<= | Less Than or Equal To |
> | Greater Than |
>= | Greater Than or Equal To |
= | Equals |
T | Too Numerous to Count |
E | Estimated |
LIMIT_VALUE_STANDARD_UNITS - The limit value expressed in standard units, as calculated by the system. Corresponding units are provided in STANDARD_UNIT_CODE/STANDARD_UNIT_DESC. If this value is blank or null, the DMR has report-only monitoring (i.e., no limit, alert, benchmark, or threshold value).
LIMIT_VALUE_TYPE_CODE - The indication of the limit value type (e.g., Quantity 1, Concentration 2).
MONITORING_LOCATION_CODE - The code that the monitoring location at which the monitoring requirement (and effluent limit if limited) applies. One parameter may have several monitoring location requirements pertaining to the same permitted feature. Valid code values are:
Code | Description |
---|---|
0 | Intake |
1 | Effluent Gross |
2 | Effluent Net |
3 | Intake Public Water |
4 | Pretreatment, Process Complete |
5 | Upstream Monitoring |
6 | Downstream Monitoring |
7 | Intake from Stream |
8 | Other Treatment, Process Complete |
9 | Phosphate Removal, Process Complete |
A | Disinfection, Process Complete |
AP | Alternate Process |
B | Prior to Disinfection |
C | Nitrogen, Removal Complete |
D | Tertiary/Advanced Process Complete |
E | Secondary/Biological Process Complete |
EG | Effluent Gross |
F | Primary/Preliminary Process Complete |
G | Raw Sewage Influent |
H | During Manufacturing |
I | Intake from Well |
IN | Allowed Increase |
J | Intermediate Treatment, Process Complete |
K | Percent Removal |
L | Digestor |
N | In Aeration Unit |
O | See Comments |
P | See Comments |
Q | See Comments |
R | See Comments |
RS | Beneficial Reuse |
RW | Receiving Water |
S | See Comments |
SC | See Comments |
SL | Sludge |
T | See Comments |
U | See Comments |
V | See Comments |
W | See Comments |
X | End of Chlorine Contact Chamber |
Z | Instream Monitoring |
Y | Effluent Gross (Supplementary) |
GW | Groundwater |
II | Industrial Influent |
IM | Internal Monitoring Point |
PI | Prior to Irrigation |
PR | Prior to Reuse |
LA | Land Application Soil |
MONITORING_PERIOD_END_DATE - The date that the monitoring period for the values covered by this DMR form ends.
NMBR_OF_SUBMISSION - The attribute stores the number of months for submitting the DMRs for the limit set (e.g., monthly = 1, semi-annually = 6, quarterly = 3); this data element will be blank for Unscheduled Limit Sets. Must be greater than or equal to NMBR_OF_REPORT and be divisible by NMBR_OF_REPORT.
NMBR_OF_REPORT - The number of months in the monitoring period covered by the DMR (e.g., monthly = 1, quarterly = 3, semi-annually = 6).
NODI_CODE - The no data indicator (NODI) code indicates the reason that data for an expected DMR value were not submitted by the permittee for a Monitoring Period End Date.
Code | Description |
---|---|
1 | Wrong Flow |
2 | Operation Shutdown |
3 | Special Report Attached |
4 | Discharge to Lagoon/Groundwater |
5 | Frozen Conditions |
7 | No Influent |
8 | Other (See Comments) |
9 | Conditional Monitoring - Not Required This Period |
A | General Permit Exemption |
B | Below Detection Limit/No Detection |
C | No Discharge |
D | Lost Sample/Data Not Available |
E | Analysis Not Conducted/No Sample |
F | Insufficient Flow for Sampling |
G | Sampling Equipment Failure |
H | Invalid Test |
I | Land Applied |
J | Recycled - Water-Closed System |
K | Natural Disaster |
L | DMR Received but not Entered |
M | Laboratory Error |
N | Not Constructed |
Q | Not Quantifiable |
R | Administratively Resolved |
S | Fire Conditions |
V | Weather Related |
W | Dry Lysimeter/Well |
X | Parameter/Value Not Reported |
Z | COVID-19 |
NPDES_VIOLATION_ID - The system-generated unique identifier for the NPDES Violation.
OPTIONAL_MONITORING_FLAG - The flag allowing users to indicate that monitoring is optional but not required (i.e., effluent violation generation will be suppressed for optional columns).
PARAMETER_CODE - The unique code identifying the parameter being limited and/or monitored.
PARAMETER_DESC - The description of the parameter code. Download the Parameter Reference Table (CSV) (218 K) for the complete list of parameter codes and descriptions and corresponding pollutant codes. Additional fields in this table include:
- SNC_FLAG - The flag indicating whether the parameter is within significant noncompliance (SNC) group 1 or 2 or blank for purposes of calculating RNC.
- PERCENT_REMOVAL_FLAG - The flag indicating whether the parameter is a percent removal parameter for determining the formula to use for calculating the percent exceedance for the parameter.
- PERCENT_EXCEEDENCE_FLAG - The flag indicating whether percent exceedance can be calculated for the parameter.
PERM_FEATURE_ID - The unique system identifier of a permitted feature.
PERM_FEATURE_NMBR - The identifier assigned for each location at which permit conditions are being applied.
PERM_FEATURE_TYPE_CODE - The code indicating the type of permitted feature (e.g., External Outfall, Sum). Valid code values are:
Code | Description |
---|---|
ARW | Receiving Water (Ambient) |
CDS | Co-disposal Site |
DOF | Discharge to Offsite Facility |
EXO | External Outfall |
INC | Incinerator |
INF | Influent Structure |
INO | Internal Outfall |
INS | Intake Structure |
LAS | Land Application Site |
MOD | Mobile Offshore Drilling Unit (MODU) |
OTR | Other |
PLA | Platform |
SDS | Surface Disposal Site |
SUB | Subsea |
SUM | Sum |
WEL | Monitoring Well |
REPORTED_EXCURSION_NMBR - The number of times a limit was exceeded, as reported on the DMR form.
RNC_DETECTION_CODE - The code indicating the reportable noncompliance (RNC) detected for a violation. Valid code values are:
Code | Description |
---|---|
A | Enforcement Order |
B | Manual 2A4 - Pass-Through |
C | Chronic Violation |
D | Manual Other |
E | Manual 2F - Permit Narrative |
F | Manual 2G - Violation of Concern |
G | Manual 2A1 - Effluent Violation |
H | Chronic Violation, Non-Monthly Average |
I | Manual 2A2 - Unauthorized Bypass |
J | Manual 2A3 - Unpermitted Discharge |
K | Non-receipt Violation, Non-Monthly Average |
N | Non-Receipt of DMR/Schedule Report |
P | Enforcement Order, Non-Monthly Average |
Q | Manual 2B - Pretreatment |
R | TRC Limitations Exceeded, Non-Monthly Average |
S | Schedule Violation |
T | TRC Limitations Exceeded |
U | Other Violation with TRC Non-Monthly Average |
V | Other Violation with TRC |
W | Manual 2E - Deficient Report |
X | Manual Other Violation with TRC |
Y | Manual TRC |
Z | Manual Chronic |
RNC_DETECTION_DATE - The date that RNC was detected. It can be detected automatically or entered manually. In cases in which RNC is detected by ICIS-NPDES, the detection date will vary according to the type of violation detected.
RNC_RESOLUTION_CODE - The code indicating the resolution of noncompliance (RNC) for a violation. Valid code values are:
Code | Description |
---|---|
1 | NC - Unresolved RNC |
A | NC - Manual Unresolved RNC |
0 | RE - Automated Administratively Resolved (DMR Non-Receipt Violations) |
2 | RE - Back into Compliance |
5 | RE - Resolved RP by NPDES Closure of Enforcement Action Final Order with Compliance Schedule |
6 | RE - Manual Resolution by Enforcement Action |
9 | RE - Manual by Back into Compliance |
B | RE - Manual by EPA/State/Tribal Action |
3 | RP - Due to Formal Enforcement Action Final Order with Compliance Schedule |
4 | RP - In Compliance with Formal Enforcement Action Final Order Requirement |
7 | RP - Manual RP - In Compliance with Formal Enforcement Action Order Requirement |
8 | RP - Manual Due to Formal Enforcement Action Formal Order |
RNC_RESOLUTION_DATE - The date RNC was marked to its current resolution status. It can be entered manually or automatically.
STANDARD_UNIT_CODE - The code representing the standard unit of measure applicable to quantity or concentration limits and DMR measurements. For more information on units displayed, see the STANDARD_UNIT_DESC field.
STANDARD_UNIT_DESC - The short description of the standard unit of measure applicable to limit or DMR values.
STATISTICAL_BASE_CODE - The code representing the unit of measure applicable to the limit and DMR values (e.g., 30-day average, daily maximum). For a list of all codes and descriptions, download the Statistical Base Code Reference Table (CSV).
STATISTICAL_BASE_TYPE_CODE - The code indicating whether the statistical base code is a minimum, average, or maximum for purposes of calculating compliance against the limit value. For a list of all codes and descriptions, download the Statistical Base Code Reference Table (CSV).
STAY_TYPE_CODE - The unique identifier of the type of stay applied to a limit (e.g., X, Y, Z), which indicates whether the limits do not appear on the DMR at all, are treated as monitor only, or have a stay value in effect during the period of the stay. States and Regions use this when a facility is subject to interim limits due to being under the terms of a compliance schedule. The temporary interim limit is entered in STAY_VALUE_NMBR.
Code | Description |
---|---|
X | Suppress Effluent Violations |
Y | Suppress DMR Non-Receipt Violations |
Z | Use Stay Value |
STAY_VALUE_NMBR - The numeric limit value imposed during the period of the stay for the limit; if entered, during the stay period, the system will use this limit value for calculating compliance rather than the actual permit limit value.
VALUE_TYPE_CODE - The indication of the limit value type (e.g., Quantity 1, Concentration 2). Valid code values can be found on the ICIS-NPDES Download Summary.
VALUE_RECEIVED_DATE - The date the DMR value was received by the regulatory authority.
Note that there may be a delay between the monitoring period associated with the DMR and the date that the regulatory authority receives the DMR. For the end date of the monitoring period associated with the DMR values, please see Monitoring_Period_End_Date .
VERSION_NMBR - The version of the permit when a modification or re-issuance is applied to the permit. The current permit is VERSION_NMBR = 0. The oldest permit version is VERSION_NMBR = 1 (VERSION_NMBR = 2 is the next oldest, etc.).
VIOLATION_CODE - The code identifying which type of violation has occurred (D80 = Required Monitoring DMR Value Non-Receipt, D90 = Limited Value Overdue Non-Receipt, E90 = Effluent Violation).