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

LAD001, the oil half: S.LDF900OL, a 160-byte EBCDIC tape of the Commission's Historical Ledger database, 60,429,037 records. It is decoded here into four tables -- 158,566 oil LEASES, each with up to 378 monthly CYCLES reaching back to January 1993, and hanging off every cycle the oil dispositions by code (14,390,419 rows) and the casinghead gas dispositions (16,337,958).

29,542,093 lease-months, averaging 186 months each. Every one carries the regulatory record and not just the volume: the allowable RRC assigned, the barrels the operator reported on the P-1, the oil left in storage, the cumulative overproduction, the movable balance that says how much of the stock may legally leave the lease, the casinghead gas limit and what was produced against it, the well counts, and where every barrel and every MCF went by disposition code.

WHICH OF THE FOUR TO TAKE. Four datasets cover an oil lease's monthly life:

* This one for the LONG regulatory history -- 1993-01 to 2024-06, everything that has rolled off the Commission's live database.
* statewide-production-data-oil (PDA001) for the LIVE window, 202407 to 202608. The two abut exactly, with no overlapping cycle and no gap: this tape's last month hands that one its opening balance, and the figures agree -- the 202406 oil_ending_balance here equals pd_oil_lease.oldest_eom_balance on 95,630 of the 95,693 leases in both.
* pdq-lease-cycle for VOLUMES with names attached. PDQ starts in 199301 too and carries the lease, operator and field NAMES, which nothing on this tape does. It does not carry the movable balance, the overproduction status, the well counts or the dispositions broken out by code.
* oil-ledger for the CURRENT proration schedule -- twelve to fourteen months, with the lease name, the counties and the gatherers. A working document, not a history.

Where this tape and PDQ overlap they agree outright: in cycle 202406 the P-1 oil volume here is identical to PDQ's lease_oil_prod_vol on 95,681 of the 95,693 leases matched.

What you can do with it

Take a lease's whole allowable-and-production history in one query -- 378 months for the leases that have been on the schedule since 1993 -- and then ask where the oil went: 9,988,334 truck dispositions and 2,698,367 pipeline ones across three decades, 1,441,709 skim-oil lines, and 16.3 million casinghead gas dispositions with 2,265,836 of them vented or flared. Find the 574,467 lease-months whose movable balance was negative, which is the ledger's own way of saying the lease was in violation of statewide rules.

Gotchas

THE DISTRICT IS THE INTERNAL NUMBER, 01-14, not the designation RRC prints: 07 is 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. 12 (8B) is not used. It matches PDQ's district_no and the statewide production tape's district exactly -- and it does NOT match the oil proration ledger, the W-10 or the detail-well tape, where '08' means District 08. Joined to the ledger on the column as it stands it matches 36,613 leases against 70,583 under the manual's conversion, and 7,622 of the raw matches are in the districts where the two numberings disagree -- wrong rows, returned silently.

A download from THIS page is texas.hist_oil_lease: one row per lease with its balances, 158,566 rows and no month in sight. The 29.5M lease-months are their own dataset, Historical Ledger -- Oil Lease Months, and that is the page to start from unless the balances are what you came for.

The root record is a SNAPSHOT, not the state of the lease in 1993. The manual defines all four of its balances against the oldest cycle still on the LIVE production database, so they describe the live ledger as of the tape cut. They agree with the same columns on statewide-production-data-oil on 152,650 of 158,509 leases for the beginning oil status and 48,593 for the movable balance -- the two tapes were cut on different days. The month-by-month truth is in the cycle table.

The lease number is unique only inside its district: 158,566 leases carry 68,631 distinct numbers, so a query on the number alone returns other districts' leases.

Two casinghead disposition codes are outside the copybook's list -- code 0 on 5 rows and code 9 on 15 -- against a documented list that runs 1 to 8 and 99. They are kept as the tape wrote them.

The tape's last record is an all-zeros trailer that is not a lease. Upstream counts it as a skip and drops it, which is why 60,429,037 records load as 60,429,036 rows. A clean oil run reports exactly one skip; the gas tape has no trailer and reports none.

Record layout

38 columns. Byte positions are 1-based and come from the RRC record layout, so you can check our decoding against the original file yourself.

hist_oil_lease 7 columns

This is the table you get when you download or query Historical Ledger — Statewide Oil.

Record layout for hist_oil_lease — 7 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text 4-5 LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 11 RRC district (internal number)
2 lease_no key join integer 6-11 LDROOT-LEASE-NBR The RRC oil lease number as a whole number, so PDQ's '02092' is 2092 here. Unique only inside a district: the 158,566 leases on the tape carry 68,631 distinct numbers between them, so a query on the number alone returns other districts' leases. e.g. 3137
3 og_code text 3 LDROOT-OG-CODE The tape's own record marker, 'O' for an oil lease, on all 158,566 rows. The gas tape writes 'G' in the same byte. It is here because it is part of RRC's key, not because it varies. e.g. O
4 movable_balance integer measured in bbl 12-16 LD-MOVABLE-BALANCE Barrels in storage on the lease that were produced within the allowable and so may legally be moved off it. Non-zero on 110,425 leases and negative on 6,597, which the manual reads as the lease being in violation of statewide rules. It is a SNAPSHOT of the live proration ledger at the moment the tape was cut, not a figure about 1993 -- for the month-by-month balance use hist_oil_lease_cycle.oil_movable_balance. e.g. 20768
5 beginning_oil_status integer measured in bbl 17-21 LD-BEGINNING-OIL-STATUS Cumulative oil overproduction, in barrels, through the cycle most recently rolled off the LIVE production database -- RRC's own words. Non-zero on 1,711 of the 158,566 leases, and never negative. Like the other three balances here it describes the live ledger at the tape cut, and it agrees with the same column on statewide-production-data-oil on 152,650 of the 158,509 leases both tapes carry; the two were cut on different days. e.g. 0
6 beginning_csghd_status integer measured in MCF 22-26 LD-BEGINNING-CSGHD-STATUS The same for casinghead gas, in MCF. Non-zero on 1,029 leases and reaching 844,368 MCF. e.g. 0
7 oil_oldest_eom_balance integer measured in bbl 27-31 LD-OIL-OLDEST-EOM-BALANCE Oil in stock at the end of the last cycle to roll off the live database, in barrels. Non-zero on 62,702 leases. e.g. 20465

hist_oil_csghd_disposition 5 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for hist_oil_csghd_disposition — 5 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 11 RRC district (internal number)
2 lease_no key join integer LDROOT-LEASE-NBR The RRC oil lease number as a whole number, so PDQ's '02092' is 2092 here. Unique only inside a district: the 158,566 leases on the tape carry 68,631 distinct numbers between them, so a query on the number alone returns other districts' leases. e.g. 3137
3 cycle_yyyymm key join integer LDOLDATA-CYCLE-KEY The reporting cycle this row belongs to, as a whole number: 202406 is June 2024. The tape does not store it that way -- it writes a nines-complement month index where January 1993 is 9927 and each later month is one LESS -- and upstream decodes it on load. The file runs 199301 to 202406, 378 months, and the cycle and disposition tables are PARTITIONED by this column, one partition per year, so a predicate on it is what makes a query over tens of millions of rows finish. e.g. 202406
4 disposition_code key smallint 3-4 LDG-CSH-DISPOSITION-CODE Where the casinghead gas went: 1 lease fuel (4,052,953 rows), 2 transmission line (4,767,118), 3 processing plant (5,059,953), 4 vented or flared (2,265,836), 5 gas lift, 6 repressure, 7 carbon black, 8 underground storage, 99 none. TWO VALUES ARE OUTSIDE THAT LIST and no RRC document explains them: code 0 on 5 rows and code 9 on 15. They are kept as the tape wrote them. e.g. 2
5 amount integer measured in MCF 5-9 LDG-CSH-DISPOSITION-AMOUNT The volume disposed of under this code, in MCF. One row per code per cycle; a lease with no disposition at all has no row here rather than a zero. Range on the file: 1 to 11,833,577. e.g. 2598042

hist_oil_disposition 5 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for hist_oil_disposition — 5 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 11 RRC district (internal number)
2 lease_no key join integer LDROOT-LEASE-NBR The RRC oil lease number as a whole number, so PDQ's '02092' is 2092 here. Unique only inside a district: the 158,566 leases on the tape carry 68,631 distinct numbers between them, so a query on the number alone returns other districts' leases. e.g. 3137
3 cycle_yyyymm key join integer LDOLDATA-CYCLE-KEY The reporting cycle this row belongs to, as a whole number: 202406 is June 2024. The tape does not store it that way -- it writes a nines-complement month index where January 1993 is 9927 and each later month is one LESS -- and upstream decodes it on load. The file runs 199301 to 202406, 378 months, and the cycle and disposition tables are PARTITIONED by this column, one partition per year, so a predicate on it is what makes a query over tens of millions of rows finish. e.g. 202406
4 disposition_code key smallint 3-4 LDG-OIL-DISPOSITION-CODE Where the oil went, from the copybook's list: 0 pipeline (2,698,367 rows), 1 truck (9,988,334), 2 tank car or barge, 3 tank cleaning net, 4 circulating oil, 5 lost, 6 tank cleaning BS&W, 7 other, 8 skim oil (1,441,709), 9 scrubber oil, 10 stock adjustment -- which may be negative -- 11 commingle stock adjustment, 99 none. Every value on the file is in the list. e.g. 0
5 amount integer measured in bbl 5-9 LDG-OIL-DISPOSITION-AMOUNT The volume disposed of under this code, in barrels. One row per code per cycle; a lease with no disposition at all has no row here rather than a zero. Range on the file: -825 to 1,812,841. e.g. 675598

hist_oil_lease_cycle 21 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset — it is published separately as Historical Ledger — Oil Lease Months.

Record layout for hist_oil_lease_cycle — 21 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 11 RRC district (internal number)
2 lease_no key join integer LDROOT-LEASE-NBR The RRC oil lease number as a whole number, so PDQ's '02092' is 2092 here. Unique only inside a district: the 158,566 leases on the tape carry 68,631 distinct numbers between them, so a query on the number alone returns other districts' leases. e.g. 3137
3 cycle_yyyymm key join integer 3-6 LDOLDATA-CYCLE-KEY The reporting cycle this row belongs to, as a whole number: 202406 is June 2024. The tape does not store it that way -- it writes a nines-complement month index where January 1993 is 9927 and each later month is one LESS -- and upstream decodes it on load. The file runs 199301 to 202406, 378 months, and the cycle and disposition tables are PARTITIONED by this column, one partition per year, so a predicate on it is what makes a query over tens of millions of rows finish. e.g. 202406
4 operator_no join integer 7-12 LDOLDATA-OPERATOR-NUMBER The six-digit P-5 operator number for THIS cycle, which is what makes the file a history rather than a snapshot: a lease that changed hands in 2007 has one number before and another after. 21,448 distinct numbers appear across the file and 21,446 of them resolve in the P-5 operator directory. e.g. 463316
5 field_no join integer 13-17 LDOLDATA-FL-FIELD-NO The five-digit RRC field number for this cycle, as a whole number. It is the field HALF of the eight-digit field key; field_reservoir_no is the other three digits. Reassemble them as field_no * 1000 + field_reservoir_no before joining to a PDQ or field-tape field number. e.g. 48583
6 field_reservoir_no integer 18-20 LDOLDATA-FIELD-RESERVOIR-NO The three-digit reservoir number under the field, the low end of RRC's eight-digit field key. Non-zero on 29,541,138 of the 29,542,093 rows. e.g. 1
7 oil_type_field_code text 21 LDOLDATA-OIL-TYPE-FIELD-CODE How RRC classified the field that cycle: R regular (25,713,568 months), C county-regular (3,021,623), S salt dome (519,682), M reservoir MER (147,276), N NPX (84,027), I inactive (7,153). Null on 48,764. e.g. R
8 p1_filed text 22 LDOLDATA-P1-FILED-FLAG 'Y' where a Form P-1 was filed for the cycle before it rolled off the live production database -- 23,232,174 months. The copybook documents 'N' for no report and the tape almost never writes it: '0' appears on 6,274,535 months and 'N' on 1,359 in the whole file. Read anything that is not 'Y' as 'no report'. e.g. Y
9 corrected_p1 text 23 LDOLDATA-CORRECTED-P1-FLAG 'Y' where a report was filed AFTER the cycle had rolled off the live database -- a historical correction, on 748,614 months. Like p1_filed, the tape writes '0' rather than 'N' for the negative.
10 flow_wells integer 24-26 LDOLDATA-FLOW-WELLS Count of producing wells on the lease that were flowing, at the moment the cycle rolled off the live database. The manual is explicit that it is never updated afterwards. Three digits, so a lease with more than 999 flowing wells shows only the last three; the largest value on the file is 672, and 2,699,577 months carry any at all. e.g. 0
11 other_wells integer 27-29 LDOLDATA-OTHER-WELLS Count of producing wells on any method other than flowing -- pumping, gas lift, plunger. Same three-digit limit and the same freeze at roll-off; non-zero on 16,683,753 months, largest 997. e.g. 513
12 commingled text 30 LDOLDATA-COMMINGLED-FLAG 'Y' where the lease held an active permit to commingle liquids that cycle, on 6,502,953 months. 'N' on 22,990,376, and '0' on 15,124 where the tape wrote zeros instead. e.g. Y
13 allowable integer measured in bbl 31-35 LDOLDATA-ALLOWABLE The month's oil allowable for the whole lease in barrels, summed over its wells. Non-zero on 18,940,166 months and reaching 28,212,759 barrels. Unlike the live production tape's gas allowable, it is stored in full. e.g. 755670
14 oil_production integer measured in bbl 36-40 LDOLDATA-OIL-PRODUCTION Barrels of oil the operator reported on the Form P-1. Non-zero on 17,944,450 months; the largest is 1,812,416. This is the figure PDQ publishes as lease_oil_prod_vol: in cycle 202406 the two are identical on 95,681 of the 95,693 leases both carry. e.g. 675919
15 oil_ending_balance integer measured in bbl 41-45 LDOLDATA-OIL-ENDING-BALANCE Oil in storage on the lease at the end of the month, in barrels. Non-zero on 22,074,144 months. The newest cycle's value is what the live production database opens on: for 202406 it equals pd_oil_lease.oldest_eom_balance on 95,630 of the 95,693 leases in both. e.g. 7258
16 oil_present_status integer measured in bbl 46-50 LDOLDATA-OIL-PRESENT-STATUS Cumulative oil overproduction in barrels through the last reported production, in barrels. Non-zero on 1,155,712 months.
17 oil_movable_balance integer measured in bbl 51-55 LDOLDATA-OIL-MOVABLE-BALANCE The stock that may legally leave the lease this cycle: the month-end closing stock, less any cumulative overproduction. Negative on 574,467 months, which the manual reads as the lease being in violation of statewide rules -- not a data error. e.g. 7258
18 csghd_limit integer measured in MCF 56-60 LDOLDATA-CSGHD-LIMIT The month's casinghead gas limit for the lease in MCF, summed over its wells. WATCH THE SENTINEL: 249,008 months carry 999,999,999, which is RRC's way of writing 'no limit applies' rather than a limit of a billion MCF. Upstream stored it as the tape wrote it, so exclude it before you average or sum. Non-zero on 18,879,135 months in all. e.g. 999999999 (the no-limit sentinel)
19 csghd_production integer measured in MCF 61-65 LDOLDATA-CSGHD-PRODUCTION MCF of casinghead gas produced from the lease, as reported on the P-1. Non-zero on 11,841,067 months. e.g. 2598042
20 csghd_lift integer measured in MCF 66-70 LDOLDATA-CSGHD-LIFT MCF of produced gas injected back into the lease as gas lift. The manual notes the consequence: the casinghead DISPOSITION total is production plus lift, not production alone. Non-zero on 153,433 months.
21 csghd_status integer measured in MCF 71-75 LDOLDATA-CSGHD-STATUS Cumulative casinghead gas overproduction in MCF through the last reported production. Non-zero on 597,863 months.

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, district, district, district

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.

RRC district (internal number) — 14 codes and their meanings
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

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.

Historical Ledger — Statewide Oil joins to Historical Ledger — Oil Lease Months on District and Lease number — one row here matches many rows there.

has its months

The 06 LDOLDATA segment under the root: every month this lease reported since January 1993, with the allowable, the production, the storage and the overproduction. All 158,566 leases have at least one, and they average 186 -- the longest carries 378, which is every month on the tape. This is where a reader should be going. The root is 158,566 rows of balances; the months are 29,542,093 rows of history.

historical-ledger-oil.district = historical-ledger-oil-lease-months.district AND historical-ledger-oil.lease_no = historical-ledger-oil-lease-months.lease_no

Historical Ledger — Statewide Oil joins to Statewide Production Data — Oil on District and Lease number — one row here matches one row there.

continues into the live production database

The other half of the same lease. This tape ends at cycle 202406 and PDA001 begins at 202407: they abut exactly, with no overlapping month and no gap, so the two together are an unbroken record from January 1993 to last month. 158,509 of the 158,566 leases here are in the live database; the 57 that are not have reported nothing inside its 26-month window. The handover is checkable. This tape's 202406 oil_ending_balance is pd_oil_lease.oldest_eom_balance on 95,630 of the 95,693 leases that reported that month -- the live database opens on the balance this one closes with. Both columns are the same types, so no cast is needed. It is the only join in this family that needs none.

historical-ledger-oil.district = statewide-production-data-oil.district AND historical-ledger-oil.lease_no = statewide-production-data-oil.lease_no

Historical Ledger — Statewide Oil joins to PDQ Regulatory Lease Directory on District = District number and Lease number = Lease number — one row here matches one row there.

is the regulatory lease

The route from a lease number to its NAME, its current operator and its field -- none of which is anywhere on this tape. It is the first join most people need here and it is exact: all 158,566 leases resolve. Restrict PDQ to oil_gas_code = 'O'. These two columns are different types — one is text, the other an integer — so a direct equality is rejected by Postgres. Cast the text side to integer, which also disposes of any leading zeros; casting the integer to text would not, because '000123' and 123 are not equal as text.

historical-ledger-oil.district = pdq-regulatory-lease-directory.district_no AND historical-ledger-oil.lease_no = pdq-regulatory-lease-directory.lease_no

Historical Ledger — Statewide Oil joins to PDQ Lease Production by Cycle on District = District number and Lease number = Lease number — one row here matches many rows there.

produced, by month

The two long series side by side, and the reason to know which one you want. Both reach back to January 1993 and ALL 158,566 leases on this tape have PDQ cycles -- a clean 100%, the best rate in this family. Where both carry a figure they agree: in cycle 200506 the P-1 oil volume here is identical to lease_oil_prod_vol on all 69,283 leases reporting, and in 201506 on 83,454 of 83,479. Take PDQ when you want the lease NAME, the operator name and the field name, which this tape does not carry at all. Take this one for the allowable, the movable balance, the overproduction status and the dispositions broken out by code, none of which PDQ has. Restrict PDQ to oil_gas_code = 'O', and add the cycle to the join if you are joining month to month -- Historical Ledger -- Oil Lease Months carries cycle_yyyymm for exactly that, and without it both sides multiply by 378. These two columns are different types — one is text, the other an integer — so a direct equality is rejected by Postgres. Cast the text side to integer, which also disposes of any leading zeros; casting the integer to text would not, because '000123' and 123 are not equal as text.

historical-ledger-oil.district = pdq-lease-cycle.district_no AND historical-ledger-oil.lease_no = pdq-lease-cycle.lease_no

Historical Ledger — Statewide Oil joins to Statewide Oil Well Database on District = District number and Lease number = Lease number — one row here matches many rows there.

is the lease whose scheduled wells are

From the lease that filed the P-1 to the WELLS on it: the well database is one row per well on the oil proration schedule, with the well and unit numbers, the 14(b)(2) and shut-in flags and the removal history that nothing on this tape carries. 79,301 of the 158,566 leases match. The gap is not a key problem: the well database holds the leases currently ON the schedule, and this tape holds every lease that reported in any month since 1993 -- half of them have since left. WLA001K writes the same internal district number this tape does, which is why the district is carried here and cannot be carried into the proration ledger or the W-10. These two columns are different types — one is text, the other an integer — so a direct equality is rejected by Postgres. Cast the text side to integer, which also disposes of any leading zeros; casting the integer to text would not, because '000123' and 123 are not equal as text.

historical-ledger-oil.district = statewide-oil-well-database.district_no AND historical-ledger-oil.lease_no = statewide-oil-well-database.lease_no

Historical Ledger — Statewide Oil joins to PDQ Well Completion Directory on District = District number and Lease number = Lease number — one row here matches many rows there.

is the lease whose completions are

The hop that gets a historical lease an API number, which no part of LAD001 carries: PDQ's completions for the lease. 157,875 of the 158,566 leases match. It stops at the lease -- the oil tape has no well number to take it further, and unlike the gas tape it has no well-database key either. Restrict to oil_gas_code = 'O'. These two columns are different types — one is text, the other an integer — so a direct equality is rejected by Postgres. Cast the text side to integer, which also disposes of any leading zeros; casting the integer to text would not, because '000123' and 123 are not equal as text.

historical-ledger-oil.district = pdq-well-completion.district_no AND historical-ledger-oil.lease_no = pdq-well-completion.lease_no

Historical Ledger — Statewide Oil joins to PDQ Lease Summary (master) on District = District number and Lease number = Lease number — one row here matches many rows there.

has a production summary

From the lease to the first and last cycles PDQ holds production for, which is the cheapest way to tell a lease that stopped reporting from one that never did. 158,539 of 158,566 match. Expect more than one row back: the summary is keyed on the lease AND its operator and field, so a lease that changed hands or produces from two fields has a row for each -- and over 378 months most of these leases have. Restrict to oil_gas_code = 'O'. These two columns are different types — one is text, the other an integer — so a direct equality is rejected by Postgres. Cast the text side to integer, which also disposes of any leading zeros; casting the integer to text would not, because '000123' and 123 are not equal as text.

historical-ledger-oil.district = pdq-lease-summary.district_no AND historical-ledger-oil.lease_no = pdq-lease-summary.lease_no

Where this comes from

Published by
Texas Railroad Commission — the original page
Original format
EBCDIC IBM mainframe encoding (cp037). Opening it as text gives you nonsense; it has to be transcoded first.
RRC publishes
Updated once a month (Monthly. Available by the 27th.)
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.hist_oil_lease

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.