PDQ Lease Production by Cycle
Queryable CSV
Monthly oil, gas, condensate and casinghead gas production for every Texas lease since 1993.
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.
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.
| Code | Means |
|---|---|
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.
| Code | Means |
|---|---|
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.