Get the data

Free. You will be asked to confirm an email address before the files are built — that is the only gate, and it is there so we can tell you when a large export is ready.

Preview the first 100 rows

What this is

One of the sixteen delimited tables inside the monthly Production Data Query dump. RRC publishes the dump as a single archive; EZRRC publishes each table inside it separately so you can take the one you need instead of a 3.6 GB zip.

This is the big one: 76 million rows, one per lease per month, carrying production volume, allowable and ending balance for oil, gas, condensate and casinghead gas, plus the operator, field and lease names denormalised onto the row.

If you want to know what Texas produced, this is the table.

What you can do with it

Build a monthly production history for any lease, operator, field or district back to 1993.

Rank operators by production, measure decline curves at lease level, and compare produced volume against the allowable the Commission set.

Join to the regulatory lease directory for the well count and the field number, and to the P-5 directory for the operator's status.

Gotchas

76 million rows and about 31 GB. Filter before you export — a county, an operator, a field or a date range all cut it to something workable.

A lease number is only unique with the oil/gas code and the district in it. Oil lease 027587 in District 08 and gas lease 027587 in District 08 are different leases; so is oil lease 027587 in District 09.

district_no here is RRC's INTERNAL district numbering (01-14, 20), not the designation the industry prints. Internal 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. The district directory is the lookup; reading the number as a label is wrong.

Volumes are whole numbers in the reporting unit — barrels for liquids, MCF for gas. There are no implied decimals here, unlike the EBCDIC ledgers.

Cycle year and cycle month are separate columns; cycle_year_month is the two of them concatenated as YYYYMM and is the cheapest thing to range on.

Production is reported by lease, not by well. A lease can be one well or two hundred.

Record layout

33 columns.

pdq_og_lease_cycle 33 columns

# Column Type RRC name Meaning Lookup
1 oil_gas_code key join text Whether the lease is carried on the oil schedule or the gas schedule. e.g. O Oil or gas schedule
2 district_no key join text RRC's INTERNAL district number, 01 to 14 plus 20 for statewide. This is not the district name the industry uses: internal 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. Join to the district directory rather than reading it as a label. e.g. 08 RRC district (internal number)
3 lease_no key join text RRC lease number. Unique only within a district and a schedule, so a lease key is district + oil/gas code + lease number.
4 cycle_year text Production cycle year, four digits.
5 cycle_month text Production cycle month, two digits.
6 cycle_year_month key text Production cycle as YYYYMM. This is the column to filter a date range on. e.g. 202606
7 lease_no_district_no bigint The primary RRC district of the permit. The 14 districts are represented by a one through fourteen numeric value. The table below indicates the converted values: RRC DISTRICT RRC DISTRICT VALUE ID VALUE ID 01 - 01 08 - 7B 02 - 02 09 - 7C 03 - 03 10 - 08 04 - 04 11 - 8A 05 - 05 13 - 09 06 - 06 14 - 10 07 - 6E (oil only) This value is not used. 12 - 8B
8 operator_no join text The operator's six-digit RRC P-5 organization number. Join to the P-5 Organization dataset for the company's name, address and P-5 status.
9 field_no join text The eight-digit RRC field number. The field's name is not in most files; join to the field directory to get it.
10 field_type text This represents the type of field. Values are: FL-49B VALUE '49'. FL-EXEMPT VALUE 'EX'. FL-PRORATED VALUE 'PR'. FL-CYCLING VALUE 'CY'. FL-STORAGE VALUE 'ST'. FL-LIQUID-LIMIT VALUE 'LQ'. FL-CAPACITY VALUE 'CA'. FL-SALVAGE VALUE 'SV'. FL-ONE-WELL VALUE 'ON'. FL-SPECIAL VALUE 'SP'.
11 gas_well_no text The 6-digit number that uniquely identifies a gas well.
12 prod_report_filed_flag text A flag that indicates whether the production report was filed or not.
13 lease_oil_prod_vol bigint measured in bbl The amount of oil in BBL produced by lease as reported by the operator on a production report.
14 lease_oil_allow bigint measured in bbl Sum of oil well allowables by lease for the cycle.
15 lease_oil_ending_bal bigint measured in bbl This numeric amount is a positive amount that represents the amount of oil that is available for movement off leases by lease. This is also called "stock on hand." It is computed by adding the oil ending balance from the previous cycle to the oil produced and subtracting the total of all of the liquid dispositions.
16 lease_gas_prod_vol bigint measured in MCF The amount of gas in MCF produced by lease as reported by the operator on a production report.
17 lease_gas_allow bigint measured in MCF Indicates the allowable assigned to the well for the lease.
18 lease_gas_lift_inj_vol bigint measured in MCF Gas used, given, or sold for gas lift by lease. It does not include gas delivered to pressure maintenance or processing plants, even though the gas may be used for gas lift.
19 lease_cond_prod_vol bigint measured in bbl The amount of condensate oil in BBL produced by lease as reported by the operator on a production report.
20 lease_cond_limit bigint measured in bbl This data item contains the sum of condensate limit daily amounts for all prorated wells on the lease.
21 lease_cond_ending_bal bigint measured in bbl This numeric amount is a positive amount that represents the amount of condensate that is available for movement off leases. This is also called "stock on hand." It is computed by adding the condensate ending balance from the previous cycle to the condensate produced and subtracting the total of all of the liquid dispositions.
22 lease_csgd_prod_vol bigint measured in MCF The amount of casinghead gas in MCF produced by lease as reported by the operator on a production report.
23 lease_csgd_limit bigint measured in MCF This data item contains the sum of casinghead gas limit daily amounts for all prorated wells on the lease.
24 lease_csgd_gas_lift bigint measured in MCF Gas used, given, or sold for gas lift by lease. It does not include gas delivered to pressure maintenance or processing plants, even though the gas may be used for gas lift.
25 lease_oil_tot_disp bigint measured in bbl This numeric amount has a positive value and represents the barrels of oil disposed of for oil leases.
26 lease_gas_tot_disp bigint measured in MCF This numeric amount has a positive value and represents the MCF amount of gas disposed.
27 lease_cond_tot_disp bigint measured in bbl This numeric amount has a positive value and represents the number of barrels of condensate disposed.
28 lease_csgd_tot_disp bigint measured in MCF This data item contains the MCF of casinghead gas distributed, as indicated by its corresponding casinghead gas disposition code.
29 district_name text RRC district as the industry writes it, e.g. 7B, 8A, 6E.
30 lease_name text Lease name as filed.
31 operator_name text Operator name as carried in this file. Names drift between filings — join on the operator number, never on the name.
32 field_name text Field name.
33 ingested_at timestamptz When the upstream pipeline last wrote this row. Not an RRC field — it is EZRRC's provenance stamp, and it is what the freshness badge is measured against.

Code lookups used here

Every coded column in this dataset resolves to a real lookup table, so a well code of G can be read as what it actually means.

RRC district (internal number) 14 values

Read by district_no

RRC's internal sequential district numbering, 01 to 14 plus 20 for statewide. The production data, the UIC database and the high-cost gas certifications all use this. Internal 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. There is no internal 12.

CodeMeans
01 District 01 — San Antonio (internal 01) Internal district number 01, which RRC prints as District 01 and administers from San Antonio.
02 District 02 — San Antonio (internal 02) Internal district number 02, which RRC prints as District 02 and administers from San Antonio.
03 District 03 — Houston (internal 03) Internal district number 03, which RRC prints as District 03 and administers from Houston.
04 District 04 — Corpus Christi (internal 04) Internal district number 04, which RRC prints as District 04 and administers from Corpus Christi.
05 District 05 — Kilgore (internal 05) Internal district number 05, which RRC prints as District 05 and administers from Kilgore.
06 District 06 — Kilgore (internal 06) Internal district number 06, which RRC prints as District 06 and administers from Kilgore.
07 District 6E — Kilgore (internal 07) Internal district number 07, which RRC prints as District 6E and administers from Kilgore.
08 District 7B — Abilene (internal 08) Internal district number 08, which RRC prints as District 7B and administers from Abilene.
09 District 7C — San Angelo (internal 09) Internal district number 09, which RRC prints as District 7C and administers from San Angelo.
10 District 08 — Midland (internal 10) Internal district number 10, which RRC prints as District 08 and administers from Midland.
11 District 8A — Midland (internal 11) Internal district number 11, which RRC prints as District 8A and administers from Midland.
13 District 09 — Wichita Falls (internal 13) Internal district number 13, which RRC prints as District 09 and administers from Wichita Falls.
14 District 10 — Pampa (internal 14) Internal district number 14, which RRC prints as District 10 and administers from Pampa.
20 District 20 — State Wide (internal 20) Internal district number 20, which RRC prints as District 20 and administers from State Wide.

Source: Generated from texas.pdq_gp_district.district_no

Oil or gas schedule 2 values

Read by oil_gas_code

Which schedule a lease is carried on. This is not decoration: an oil lease number and a gas lease number can be the same digits and mean different leases, so a lease key is only unique with this code and the district in it.

CodeMeans
O Oil Carried on the oil proration schedule; lease numbers are oil lease numbers.
G Gas Carried on the gas proration schedule; lease numbers are gas well IDs.

Source: PDQ Dump user manual; values confirmed as the complete distinct set in texas.pdq_og_lease_cycle.oil_gas_code

What this joins to

The Railroad Commission never states these keys anywhere in the files. They are the reason the data is hard to use, so here they are with the exact columns on both sides.

PDQ Lease Production by Cycle joins to PDQ Regulatory Lease Directory on Oil gas code and District number and Lease number — many rows here share a single row there.

produced from the lease

Production rows carry a lease key and nothing else identifying. The regulatory lease directory is what turns that key into a lease name, an operator, a field number and a well number, and it is where the severance flag lives. Exact on all 5,000 sampled rows. The key is three columns, not one: the oil/gas code, the district and the lease number. Any two of them alone are ambiguous.

pdq-lease-cycle.oil_gas_code = pdq-regulatory-lease-directory.oil_gas_code AND pdq-lease-cycle.district_no = pdq-regulatory-lease-directory.district_no AND pdq-lease-cycle.lease_no = pdq-regulatory-lease-directory.lease_no

PDQ Lease Production by Cycle joins to PDQ Lease Disposition by Cycle on Oil gas code and District number and Lease number and Cycle year month — one row here matches one row there.

was disposed of as

Production says how much came out of the ground; disposition says where it went — sold, flared, injected, used as lease fuel. Same lease and same cycle, one row each.

pdq-lease-cycle.oil_gas_code = pdq-lease-disposition-cycle.oil_gas_code AND pdq-lease-cycle.district_no = pdq-lease-disposition-cycle.district_no AND pdq-lease-cycle.lease_no = pdq-lease-disposition-cycle.lease_no AND pdq-lease-cycle.cycle_year_month = pdq-lease-disposition-cycle.cycle_year_month

PDQ Lease Production by Cycle joins to PDQ Operator Directory on Operator number — many rows here share a single row there.

reported by

The operator that filed the production report for that month, resolved through the production system's own operator directory.

pdq-lease-cycle.operator_no = pdq-operator-directory.operator_no

PDQ Lease Production by Cycle joins to PDQ Field Directory on Field number — many rows here share a single row there.

produced from the field

The eight-digit field number resolved to a field name, class, discovery date and rules flags.

pdq-lease-cycle.field_no = pdq-field-directory.field_no

PDQ Lease Production by Cycle joins to P-5 Organization (ASCII) on Operator number = ID — many rows here share a single row there.

reported by the organization

The same operator number against the authoritative P-5 register, which carries the organisation type, address and status that the production system's copy does not.

pdq-lease-cycle.operator_no = p5-organization-ascii.id

PDQ Lease Production by Cycle joins to PDQ County Lease Production by Cycle on Oil gas code and District number and Lease number and Cycle year month — one row here matches many rows there.

is the county split of

A lease that crosses a county line has its production apportioned between counties. Summing the county split by lease double counts; use the lease cycle table for lease totals.

pdq-county-lease-cycle.oil_gas_code = pdq-lease-cycle.oil_gas_code AND pdq-county-lease-cycle.district_no = pdq-lease-cycle.district_no AND pdq-county-lease-cycle.lease_no = pdq-lease-cycle.lease_no AND pdq-county-lease-cycle.cycle_year_month = pdq-lease-cycle.cycle_year_month

PDQ Lease Production by Cycle joins to PDQ Lease Summary (master) on Oil gas code and District number and Lease number — many rows here share a single row there.

summarises the monthly production

The summary gives a lease's first and last production cycle; the cycle table gives every month in between. Read the summary first if you are about to scan 76 million rows.

pdq-lease-summary.oil_gas_code = pdq-lease-cycle.oil_gas_code AND pdq-lease-summary.district_no = pdq-lease-cycle.district_no AND pdq-lease-summary.lease_no = pdq-lease-cycle.lease_no

Where this comes from

Published by
Texas Railroad Commission — the original page
Original format
CSV Comma-separated text.
Update cadence
Updated once a month (Last Saturday each month, with the PDQ dump.)
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.pdq_og_lease_cycle

EZRRC is an independent mirror of public-domain data published by the Texas Railroad Commission. It is not affiliated with or endorsed by the RRC. For any legal or regulatory purpose, verify against the official RRC release.