Oil Ledger — Well Months
Queryable EBCDIC
Fourteen months of allowable, acreage, potential and gas-oil ratio for every scheduled oil well.
Get the data
Heads up on Original: the Commission does not publish this table on its own. It publishes Oil Ledger, which this was parsed out of — so Original gets you that whole file, not just this table. Every other format is this table alone.
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
The W-MONTH group of the OLA013K well record: 2,905,616 rows, fourteen months for each of the 207,544 wells, and the largest table EZRRC decodes out of an EBCDIC tape. Each row is one well's daily oil allowable for one month, the casinghead gas allowable beside it, the acres and working potential the allowable was calculated from, the well's gas-oil ratio, any allowable transferred to or from it, and whether its W-10 was delinquent.
What you can do with it
Build a well-level allowable history for a lease or a field, find wells whose potential or gas-oil ratio moved, and identify wells shut in for a delinquent W-10 -- 185,461 well-months on the current tape.
Gotchas
gas_allow is null where the tape carried all nines, RRC's 'no limit': 15,742 of 2,905,616 rows.
potential is the well's working potential in barrels per calendar day. A value of 9999.9 means the real figure was rounded into the well record's frozen_potential (or perf, for Yates and Hastings West) -- no row of the August 2026 tape carries it, but the rule is in the file format and will bite whoever gets one.
bhp_or_acft is two different measurements in one column: bottom-hole pressure or acre-feet, whichever the field rules require. It is non-zero on 1,633 rows and has no single unit, which is why none is declared for it.
acode and tcode are the manual's Appendix D codes, which the record layout does not reproduce. The pairs actually in use are recorded in the column descriptions.
change and no_supp are zero in every row of the current tape, and ooip is zero throughout. month_ordinal is a slot on a rolling tape: filter on cycle_yyyymm.
Record layout
37 columns. Byte positions are 1-based and come from the RRC record layout, so you can check our decoding against the original file yourself.
oil_ledger_well_month
37 columns
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
district
key
join
|
text | 2-4 | WELL-REC-DIST |
RRC district of the well this month belongs to, in the ledger's spelling. e.g. 01 | RRC district (proration ledger spelling) |
| 2 |
field_no
key
join
|
integer | 5-12 | WELL-REC-FIELD |
Field number the well produces from. | — |
| 3 |
operator_no
key
join
|
integer | 13-18 | WELL-REC-OPR |
P-5 number of the lease operator. | — |
| 4 |
lease_no
key
join
|
integer | 19-23 | WELL-REC-LEASE |
The five-digit oil lease number. e.g. 19016 | — |
| 5 |
well_no
key
|
text | 27-32 | WELL-NO |
The operator's well number, right-justified in six bytes as the tape wrote it. e.g. ' 1' | — |
| 6 |
month_ordinal
key
|
smallint | — | — | Which of the fourteen month slots in the well record this row came from, 1 to 14, oldest first. It is a position on a rolling tape and not a date -- every month the oldest slot is dropped and a new one added at the end. cycle_yyyymm is the month. e.g. 14 | — |
| 7 |
cycle_yyyymm
|
integer | 179-184 | W-MONTH-DATE |
The schedule month this row is for, CCYYMM. The August 2026 tape runs 202506 to 202607, and every one of the 207,544 wells carries all fourteen. e.g. 202607 | — |
| 8 |
change
|
smallint | 185 | WM-CHG |
What changed this month: 1 field name, 2 operator name, 3 lease name, 4 well number, 5 a combination. Zero in every row of the August 2026 tape. | — |
| 9 |
no_supp
|
smallint | 186 | WM-NO |
Whether the month's supplement is trustworthy: 1 it may be in error, 2 it is the new month and no supplement is allowed. Zero throughout the current tape. | — |
| 10 |
oil_allow
|
integer measured in bbl/d | 187-189 | WM-ALLOW |
The well's daily oil allowable from the first of the month, in barrels, before any transfer. Non-zero on 1,757,204 of 2,905,616 rows; the largest is 12,938 barrels a day. | — |
| 11 |
acode
|
text | 190 | WM-ACODE |
Whether that allowable is limited and why. The manual defers to its Appendix D, which is not part of the record layout; the August 2026 tape carries 0, 1, 2, 6, 7 and 8, with 1 on 1.6 million rows. e.g. 8 | — |
| 12 |
tcode
|
text | 191 | WM-TCODE |
The status the allowable was assigned under -- prorated, marginal, shut-in, exempt. Also an Appendix D list; the tape carries 0, 2, 5, 6, 9 and B. Read it with acode: the pair is one two-digit code. e.g. 2 | — |
| 13 |
gas_allow
|
integer measured in MCF/d | 192-195 | WM-LIMIT |
The well's daily casinghead gas allowable for the month, in MCF. Null where the tape carried all nines, RRC's 'no limit': 15,742 of 2,905,616 rows. | — |
| 14 |
oil_allow_2
|
integer measured in bbl/d | 196-198 | WM-ALLOW2 |
Daily oil allowable set by the month's first supplement, effective from date_2 until the second supplement or the end of the month. Non-zero on 13,575 rows. | — |
| 15 |
acode_2
|
text | 199 | WM-ACODE2 |
Limit code of the first supplemental allowable. | — |
| 16 |
tcode_2
|
text | 200 | WM-TCODE2 |
Type code of the first supplemental allowable. | — |
| 17 |
gas_allow_2
|
integer measured in MCF/d | 201-204 | WM-LIMIT2 |
Daily gas allowable set by the first supplement, in MCF. | — |
| 18 |
date_2
|
smallint | 205-206 | WM-DATE2 |
Day of the month the first supplement took effect. Non-zero on 19,161 rows. | — |
| 19 |
oil_allow_3
|
integer measured in bbl/d | 207-209 | WM-ALLOW3 |
Daily oil allowable set by the month's second supplement, from date_3. | — |
| 20 |
acode_3
|
text | 210 | WM-ACODE3 |
Limit code of the second supplemental allowable. | — |
| 21 |
tcode_3
|
text | 211 | WM-TCODE3 |
Type code of the second supplemental allowable. | — |
| 22 |
gas_allow_3
|
integer measured in MCF/d | 212-215 | WM-LIMIT3 |
Daily gas allowable set by the second supplement, in MCF. | — |
| 23 |
date_3
|
smallint | 216-217 | WM-DATE3 |
Day of the month the second supplement took effect. | — |
| 24 |
form_lacking
|
smallint | 218 | WM-FORM-LCK |
How many months the well's W-10 has been delinquent, 1 to 9, incrementing each month; 0 when the form was received. Non-zero on 185,461 rows. | — |
| 25 |
prorated_gas_transfer
|
smallint measured in MCF/d | 219-220 | WM-PGT |
Daily gas transferred to or from the well, in MCF, on top of its regular gas allowable and subject to the production factor. Needs oil_transfer_code to be set. | — |
| 26 |
transferred_sw_allow
|
smallint measured in bbl/d | 221 | WM-TSWA |
East Texas field only: a daily oil allowable added to the well's top allowable, already included in its daily allowable. | — |
| 27 |
exempt_gas_transfer
|
smallint measured in MCF/d | 222-223 | WM-EGT |
Daily gas transferred to or from the well, exempt from the production factor. | — |
| 28 |
earned_sw_allow
|
smallint measured in bbl/d | 224 | WM-ESWA |
East Texas field only: an earned saltwater daily oil allowable, included in the well's daily allowable. | — |
| 29 |
acres
|
numeric measured in acres | 225-227 | WM-ACRE |
Acres assigned to the well for the month, three whole numbers and two decimals, used where acres are part of the allocation formula. Non-zero on 1,933,534 rows; the largest is 997.69. | — |
| 30 |
potential
|
numeric measured in bbl/d | 228-230 | WM-POTE |
The well's working potential in barrels per calendar day, four whole numbers and one decimal, from the test or calculated from production. 9999.9 means the real figure was rounded into the well record's frozen_potential (or perf, for Yates and Hastings West); no row of the August 2026 tape carries the sentinel. | — |
| 31 |
bhp_or_acft
|
integer | 231-233 | WM-ACFT |
Either the well's bottom-hole pressure or its acre-feet, whichever the field rules require -- which is seldom: non-zero on 1,633 of 2,905,616 rows. | — |
| 32 |
gor
|
integer measured in cf/bbl | 234-236 | WM-GOR |
The well's gas-oil ratio in cubic feet per barrel, used in every allowable calculation to decide whether production should be penalised. Zero where the ratio was never reported. | — |
| 33 |
oil_transfer_code
|
smallint | 237 | WM-OTRAN-CD |
Whether an allowable was transferred: 1 to the well, 2 from the well (616 rows), 3 no transfer but the allowable is not cut. The transfer amounts are ignored without it. | — |
| 34 |
prorated_oil_transfer
|
smallint measured in bbl/d | 238-239 | WM-POT |
Daily barrels transferred to or from the well, on top of its regular oil allowable and subject to the production factor. | — |
| 35 |
exempt_oil_transfer
|
smallint measured in bbl/d | 240-241 | WM-EOT |
Daily barrels transferred to or from the well, exempt from the production factor. | — |
| 36 |
change_status_code
|
smallint | 242 | WM-JOHN |
What became effective this month, which protects the allowable from reduction for three months: 1 a new allowable, 2 a new potential, 3 a new gas-oil ratio, 4 GOR and potential, 5 GOR and allowable, 6 potential and allowable, 7 all three (731,304 rows). | — |
| 37 |
ooip
|
integer measured in bbl | 243-248 | WM-OOIP |
Original oil in place in the reservoir the well produces from, in barrels. Zero in every row of the August 2026 tape. | — |
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 (proration ledger spelling) 14 values
Read by district
The district as the oil and gas proration ledger tapes write it, which is NOT how the rest of the corpus writes it. The ledger pads the lettered districts to three bytes -- 06E, 07B, 07C, 08A -- where the W-10, the G-10 and PDQ's district_name write 6E, 7B, 7C and 8A. That difference is worth a code set of its own because it is invisible in a join: a query matching ledger.district against w10.district returns rows for the ten numeric districts and silently drops the four lettered ones, which are 24% of the oil ledger's wells. Strip the leading zero before joining, or add it coming the other way. `canonical_value` is the internal district number, the same convention rrc.district uses, so a ledger district resolves to the same district in either numbering.
| Code | Means |
|---|---|
01 |
District 01 — San Antonio Written 01 here and 01 elsewhere. |
02 |
District 02 — San Antonio Written 02 here and 02 elsewhere. |
03 |
District 03 — Houston Written 03 here and 03 elsewhere. |
04 |
District 04 — Corpus Christi Written 04 here and 04 elsewhere. |
05 |
District 05 — Kilgore Written 05 here and 05 elsewhere. |
06 |
District 06 — Kilgore Written 06 here and 06 elsewhere. |
06E |
District 6E — Kilgore The ledger writes 06E; the W-10 and PDQ write 6E. |
07B |
District 7B — Abilene The ledger writes 07B; the W-10 and PDQ write 7B. |
07C |
District 7C — San Angelo The ledger writes 07C; the W-10 and PDQ write 7C. |
08 |
District 08 — Midland Written 08 here and 08 elsewhere. |
08A |
District 8A — Midland The ledger writes 08A; the W-10 and PDQ write 8A. |
08B |
District 8B — reserved The manuals list 08B as reserved for future use. No record of any ledger tape has ever carried it. |
09 |
District 09 — Wichita Falls Written 09 here and 09 elsewhere. |
10 |
District 10 — Pampa Written 10 here and 10 elsewhere. |
Source: RRC manuals OLA013K, GSA020K and OLA028K (DIST/DIST-NO items); the thirteen spellings in use confirmed as the complete distinct set in texas.oil_ledger_field, texas.oil_ledger_well and texas.oil_detail_well on 2026-08-21
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.
Oil Ledger — Well Months joins to Oil Ledger — Wells on District and Field number and Operator number and Lease number and Well number — many rows here share a single row there.
has fourteen months of allowable
The W-MONTH group of the well record: the well's monthly oil and gas allowable, its acres and potential, its gas-oil ratio and whether its W-10 was late. All 5,000 sampled wells match. Both sides carry the well number with the tape's leading blanks, so no trimming is needed -- inside this family only.
oil-ledger-wells.district = oil-ledger-well-months.district AND oil-ledger-wells.field_no = oil-ledger-well-months.field_no AND oil-ledger-wells.operator_no = oil-ledger-well-months.operator_no AND oil-ledger-wells.lease_no = oil-ledger-well-months.lease_no AND oil-ledger-wells.well_no = oil-ledger-well-months.well_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, with the oil ledger.)
- RRC download link
- GoAnywhere MFT
- Record layout manual
- Our table
texas.oil_ledger_well_month
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.