Oil Ledger — Multi-Well Groups
Queryable EBCDIC
Waterflood and secondary-recovery groups that take a lease allowable instead of well allowables.
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 MULTI-WELL records of OLA013K: 3,713 groups of wells that the Commission allows to produce against one allowable rather than well by well. Almost all of them are secondary or tertiary recovery projects -- 1,398 carry injection wells -- and the record counts the producing, injecting, shut-in and marginal wells in each.
The individual wells behind these groups are not in the oil ledger at all. They are the Oil Detail Well tape, which carries each well's last two W-10 tests.
What you can do with it
Find every waterflood and secondary-recovery unit in Texas, see how many wells each is injecting and producing with, and follow the allowable the group was given rather than the wells inside it.
Gotchas
m_record is one character right-justified in six bytes: it arrives as ' 1', not '1'. Every one of the 3,713 rows is padded. The detail-well tape writes the same identifier unpadded as rec_no, so the two join only after trimming -- 4,945 of 5,000 sampled detail wells find their group that way and none without.
test_eff, reservoir, unit_no, unit_value and pct_first_county are empty in every row of the current tape. The Yates-field columns (unit_no, unit_value) redefine the reservoir name and are only ever used by that field.
pointer_first and pointer_last are mainframe record pointers into RRC's own detail file. They are not join keys: use district, field, operator, lease and m_record.
Record layout
25 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_multiwell
25 columns
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
district
key
join
|
text | 2-4 | MULTI-W-REC-DIST |
RRC district the multi-well group is in, in the ledger's spelling. e.g. 08 | RRC district (proration ledger spelling) |
| 2 |
field_no
key
join
|
integer | 5-12 | MULTI-W-REC-FIELD |
The eight-digit field number the group produces from. | — |
| 3 |
operator_no
key
join
|
integer | 13-18 | MULTI-W-REC-OPR |
P-5 organization number of the lease operator. | — |
| 4 |
lease_no
key
join
|
integer | 19-23 | MULTI-W-REC-LEASE |
The five-digit oil lease number the group sits on. | — |
| 5 |
offshore
|
smallint | 26 | MULTI-W-REC-OFFSHORE |
Land, bay, offshore or a combination, on the same code list as the field record. | — |
| 6 |
m_record
key
|
text | 27-32 | M-RECORD |
The group's identifier within the lease, one character right-justified in six bytes -- so it arrives as ' 1' or ' A' and the blanks are kept because they are in the file. A digit usually means a waterflood grouping. This is the value the detail-well tape carries as rec_no. e.g. ' 1' | — |
| 7 |
type_wells
|
text | 33 | TYPEW |
Status of the wells in the group as it prints on the schedule: P or blank prorated (3,197 rows), M marginal, X exempt (323), S shut-in (153), A abandoned. e.g. P | — |
| 8 |
reservoir
|
text | 34-38 | RESER |
Reservoir information kept for some old leases; for Yates-field groups the same bytes hold unit_no and unit_value instead. Blank in every row of the August 2026 tape. | — |
| 9 |
unit_no
|
text | 34 | UNIT-NO-I |
Unit letter of a Yates-field multi-well group, redefining the first byte of reservoir. Blank throughout the current tape. | — |
| 10 |
unit_value
|
numeric | 35-38 | UNIT-VALUE |
The Yates unit's productive potential relative to the other units in the field, one whole number and three decimals, used to split the field allowable. Zero throughout the current tape. | — |
| 11 |
county_code_1
|
smallint | 39-41 | M-CO-1 |
County the multi-well group is in, three digits. | — |
| 12 |
county_code_2
|
smallint | 42-44 | M-CO-2 |
Second county the group spans, or 0. | — |
| 13 |
test_eff
|
text | 45 | M-TST-EFF |
Month the group's W-10 becomes effective: 1-9 for January to September, A, B, C for October to December, 0 none. Blank in every row of the August 2026 tape -- the well records carry it instead. | — |
| 14 |
pointer_first
|
integer | 46-51 | M-PNTR-1ST |
RRC's internal key to the group's first record in the detail-well file. Set on all 3,713 groups. It is a mainframe pointer, not a join key: use district, field, operator, lease and m_record. | — |
| 15 |
capacity
|
smallint | 52 | CAP |
1 when the wells in the unit may produce at capacity, exempt from the production factor -- the allowable a waterflood project gets after a response is proved. 522 of 3,713 groups. e.g. 0 | — |
| 16 |
prod_wells
|
smallint | 53-55 | M-PROD |
Number of producing wells in the group. Up to 659 in the August 2026 tape. | — |
| 17 |
inj_wells
|
smallint | 56-58 | M-INJ |
Number of injection wells in the group -- the water or gas injectors that make it a secondary recovery project. Non-zero on 1,398 groups. | — |
| 18 |
shut_in_wells
|
smallint | 59-61 | M-SHUT |
Number of shut-in wells in the group. | — |
| 19 |
marg_wells
|
smallint | 62-64 | M-MARG |
Number of marginal wells in the group: artificial-lift wells that produce to capacity under the marginal well law, exempt from the production factor. | — |
| 20 |
depth_code
|
smallint | 65 | M-DEPTH |
Depth band of the wells in the group: 1 to 2,000 feet, 2 to 4,000, 3 to 6,000, 4 to 8,000, 5 deeper, 0 not used. | — |
| 21 |
pointer_last
|
integer | 66-71 | M-PNTR-LST |
RRC's internal key to the group's last record in the detail-well file. | — |
| 22 |
exc_test
|
smallint | 72 | M-EXC-TEST |
The group's exception to the lease's testing: 0 regular test required (3,617 rows), 1 none, 2 no commingle test, 3 no survey, 4 commingle test required for the commingled wells of a partially commingled lease. | — |
| 23 |
water
|
integer measured in bbl | 79-84 | M-WATER |
Barrels of water produced with the oil, on the group's test. | — |
| 24 |
remark
|
text | 85-139 | M-REMARK |
Free-text remark about the group from a proration analyst, printed on the schedule. Set on 1,070 of 3,713 groups. | — |
| 25 |
pct_first_county
|
numeric | 140-142 | MM-PRCNT |
Share of the allowable produced from wells in county_code_1, for a group that spans counties -- used to split lease production by county on the annual report. Zero throughout the current 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 — Multi-Well Groups joins to Oil Ledger — Multi-Well Group Months on District and Field number and Operator number and Lease number and M record — one row here matches many rows there.
has fourteen months of allowable
The M-MONTH group of the multi-well record. All 3,000 sampled groups match. Both sides carry m_record right-justified in six bytes, which is why this one joins on it and the join to the detail-well tape does not.
oil-ledger-multiwell-groups.district = oil-ledger-multiwell-months.district AND oil-ledger-multiwell-groups.field_no = oil-ledger-multiwell-months.field_no AND oil-ledger-multiwell-groups.operator_no = oil-ledger-multiwell-months.operator_no AND oil-ledger-multiwell-groups.lease_no = oil-ledger-multiwell-months.lease_no AND oil-ledger-multiwell-groups.m_record = oil-ledger-multiwell-months.m_record
Oil Ledger — Multi-Well Groups joins to Oil Detail Well on District and Field number and Operator number and Lease number — one row here matches many rows there.
is made up of the wells
The wells inside a multi-well unit, which the ledger does not carry: 2,965 of 3,000 sampled groups have detail-well records, and 4,965 of 5,000 detail wells find their lease this way. Add the group identifier to narrow a lease with more than one group, but not as an equality: the ledger writes it as m_record right-justified in six bytes and the detail tape writes it as rec_no with no padding at all. Zero of 5,000 match untrimmed; 4,945 match trimmed.
oil-ledger-multiwell-groups.district = oil-detail-well.district AND oil-ledger-multiwell-groups.field_no = oil-detail-well.field_no AND oil-ledger-multiwell-groups.operator_no = oil-detail-well.operator_no AND oil-ledger-multiwell-groups.lease_no = oil-detail-well.lease_no
Oil Ledger — Multi-Well Groups joins to Oil Ledger on District and Field number — many rows here share a single row there.
contains the multi-well groups
The waterflood and secondary-recovery units in the field. Rare by design: 107 of 5,000 sampled fields have one, and there are 3,713 groups against 207,544 individually scheduled wells.
oil-ledger.district = oil-ledger-multiwell-groups.district AND oil-ledger.field_no = oil-ledger-multiwell-groups.field_no
Oil Ledger — Multi-Well Groups joins to Oil Ledger — Leases on District and Field number and Operator number and Lease number — many rows here share a single row there.
has the multi-well groups
From a lease to the well groups on it that take one allowable between them. 191 of 5,000 sampled leases have one -- a lease is either scheduled well by well or by group, and the second is much the rarer.
oil-ledger-leases.district = oil-ledger-multiwell-groups.district AND oil-ledger-leases.field_no = oil-ledger-multiwell-groups.field_no AND oil-ledger-leases.operator_no = oil-ledger-multiwell-groups.operator_no AND oil-ledger-leases.lease_no = oil-ledger-multiwell-groups.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, with the oil ledger.)
- RRC download link
- GoAnywhere MFT
- Record layout manual
- Our table
texas.oil_ledger_multiwell
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.