ICIS-NPDES Limit Summary and Data Element Dictionary

The Enforcement and Compliance History Online (ECHO) system provides a compendium of the effluent parametric limits that are identified in the NPDES permits issued to entities (municipal, federal, and commercial facilities) that discharge pollutants into the navigable waters of the United States. These limits identify what pollutants can be discharged and how much of each pollutant can be discharged as well as certain water conditions such as pH and dissolved oxygen content that must be maintained at the locations where the discharges occur. At EPA, the official source of NPDES limit data is stored in the Office of Enforcement Compliance Assurance, Integrated Compliance Information System (ICIS), where it is extracted by ECHO.


Limit File Description

The national permit limit dataset is comprised of all permit limit information in ICIS-NPDES until the present day. The zip file contains one CSV file named NPDES_LIMITS.csv. Users also have the option of downloading permit data for a specific federal fiscal year and jurisdiction.

The file is updated each week, according to the ECHO refresh schedule.

The data contained in the download file is comprised of selected data columns from the following ICIS tables:

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

Top of Page


ICIS-NPDES Data Elements

NPDES Permit Limits (NPDES_LIMITS.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 4
PERM_FEATURE_TYPE_CODE VarChar2 3
LIMIT_SET_ID Number 22
LIMIT_SET_DESIGNATOR VarChar2 2
LIMIT_SET_SCHEDULE_ID Number 22
LIMIT_SET_STATUS_FLAG VarChar2 1
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
STAY_VALUE_NMBR Number 22
LIMIT_TYPE_CODE Char 3
OPTIONAL_MONITORING_FLAG Char 1
LIMIT_SAMPLE_TYPE_CODE VarChar2 2
LIMIT_FREQ_OF_ANALYSIS_CODE VarChar2 5
ALL_MONTHS_LIMIT VarChar2 38
JAN Char 1
FEB Char 1
MAR Char 1
APR Char 1
MAY Char 1
JUN Char 1
JUL Char 1
AUG Char 1
SEP Char 1
OCT Char 1
NOV Char 1
DEC Char 1
LIMIT_SEASON_ID VarChar2 2

Top of Page


Limit Data Element Definitions

The following is an alphabetical list of the data elements that appear in the NPDES Permit Limit dataset.

ACTIVITY_ID - The unique identifier for an activity performed at or related to a particular site.

ALL_MONTHS_LIMIT - List of all the months in which a particular limit applies. Month values as displayed as three letter abbreviations, e.g., JAN, FEB, ..., DEC.

APR - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

AUG - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

DEC - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

EXTERNAL_PERMIT_NMBR - The unique identifier for a permit.

FEB - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

JAN - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

JUL - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

JUN - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

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_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_ID - The unique identifier for a limit parameter record.

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_SEASON_ID - A number to indicate one of four subdivisions of the year. It is used to differentiate seasonal limits for the same parameter within a single limit begin and end date. The default value is 0.

LIMIT_SET_DESIGNATOR - The alphanumeric field that is used to designate a particular grouping of parameters within a limit set.

LIMIT_SET_ID - The system-generated unique identifier for a limit set. 

LIMIT_SET_SCHEDULE_ID - The system-generated unique identifier of the Limit Set Schedule.

LIMIT_SET_STATUS_FLAG - The status flag indicating whether the Limit Set is Active (A) or Inactive (I). For example, for the current version of the permit (VERSION_NMBR = 0), if the Limit Set Status flag is Active, then limits or monitoring requirements with that flag are active and ICIS-NPDES is expecting that data to be reported. If it is Inactive, then those limits or monitoring requirements are no longer in effect.

LIMIT_TYPE_CODE - The unique code that indicates whether a limit is an enforceable limit (ENF) or an alert limit (ALR). Alert limits do not receive effluent violations.

LIMIT_UNIT_CODE - The code representing the unit of measure applicable to quantity or concentration limits and measurements as entered by the user.

LIMIT_UNIT_DESC - The short description of the unit of measure applicable to limit or DMR values.

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.

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.

LIMIT_VALUE_TYPE_CODE - The indication of the limit value type (e.g., Quantity 1, Concentration 2).

MAR - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

MAY - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

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

NMBR_OF_SUBMISSION - The attribute stores the number of months for submitting the DMRs for the limit set (e.g., monthly = 1, quarterly = 3, semi-annually = 6). 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).

NOV - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

OCT - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

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 a 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 MODU
OTR Other
PLA Platform
SDS Surface Disposal Site
SUB Subsea
SUM Sum
WEL Monitoring Well

SEP - A "Y" indicates the permit limit applies during this calendar month. See also ALL_MONTHS_LIMIT

STANDARD_UNIT_CODE - The code representing the standard unit of measure applicable to quantity or concentration limits and measurements as entered by the user.

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 entered by the user (e.g., 30-day average, daily maximum). For a list of all codes and descriptions, download the Statistical Base Code Reference Table (CSV) (10 K).

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) (10 K).

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

VERSION_NMBR - The version of the permit when a modification or reissuance is applied to the permit. The current permit version is indicated by "0" and previous version by "1".

Top of Page