Get the data

Heads up on Original: the Commission does not publish this table on its own. It publishes Statewide Field Data, 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.

Preview the first 100 rows

What this is

The 21 OLFLDRUL segment of the statewide field tape. One row per rule per field: spacing to the lease line and to the next well, acres per proration unit, tolerance acreage and who gets it, casing basis and depth, diagonal, the docket the rule came out of, the analyst's text, and the one-character allocation code that names the formula the field's allowable is divided by — 'B' acres, 'C' acres and per well, 'A' per well, 'O' yardstick and a dozen field-specific ones.

Statewide rule 37 is the default; every row here is a field's exception to it.

What you can do with it

Find the oil fields under a given density rule, or those whose allowable is split per well rather than by acreage.

Follow a field's rules back through their revisions: the tape keeps the superseded ones, and a rule's suspend date is usually the effective date of the rule that replaced it.

Look a rule up by docket number and read the order behind it.

Gotchas

rule_effective_date is null on 5,473 of the 8,565 rules — the standing rule with no order date behind it — so rules are numbered by position rather than dated.

diagonal_code only ever reads 'CC' here: no oil rule on this tape measures the diagonal well to corner.

docket_suffix and rules_not_reliable_flag are empty in every row.

The weighted terms behind allocation_code are in a separate segment, texas.fl_oil_alloc_formula, documented on the Statewide Field Data page, and the optional unit sizes are in texas.fl_oil_optional_rule.

Record layout

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

fl_oil_field_rule 22 columns

Record layout for fl_oil_field_rule — 22 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district_no key join text FL-DISTRICT RRC district as the FL tape stores it, 01 to 14 — the INTERNAL number, not the designation the industry prints. 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is District 09 and 14 is District 10. This is the same numbering PDQ calls district_no, so the two join directly; the printed form is on fl_field.district_name. Code 12 (District 8B) is reserved and no field carries it. e.g. 09 RRC district (internal number)
2 field_no key join integer FL-NUMBER The eight-digit RRC field number: five digits of field, then three of reservoir. Stored as an INTEGER, so the leading zeros are gone — 6,529 of the 65,826 fields have one. Pad it back before joining to PDQ or the Oracle field rules, which key on it as eight characters: lpad(field_no::text, 8, '0'). Padded, all 65,826 fields resolve to the PDQ field directory; unpadded, 59,297 do. e.g. 85279200
3 rule_seq key smallint Which rule under this field, counting from 1 in the order the tape carries them — newest first, the undated rule last. EZRRC's column, not RRC's: the tape keys a rule on 99999999 minus its effective date, and 7,496 of the 13,951 gas rules and 5,473 of the 8,565 oil rules carry the bare 99999999, meaning no effective date at all. A date missing from more than half the rows cannot be the key, so position is. e.g. 1
4 rule_effective_date date 3-10 FL-OIL-RULE-EFFECTIVE-KEY When this oil rule took effect, decoded from the tape's 99999999 minus the date. Null on 5,473 of the 8,565 rules — the standing rule with no order date behind it. e.g. 2016-03-08
5 proration_eff_date date 11-18 FL-OIL-PRORATION-EFF-DATE Date the allocation formula took effect for this prorated field, CCYYMMDD on the tape. Null on the fields that were never prorated. e.g. 2016-03-01
6 rule_suspend_date date 19-26 FL-OIL-RULE-SUSPEND-DATE When the rule was suspended or rescinded and the field reverted to statewide spacing. Filled on 1,102 rules, and it is usually the effective date of the rule that replaced it.
7 docket_suffix text 35-37 FL-OIL-DOCKET-SUFFIX Three characters categorising the docket. EMPTY in every row.
8 spacing_to_lease_line smallint measured in ft 38-41 FL-OIL-SPACING-TO-LEASE-LINE Feet a well must be from the nearest lease line under this field's rules. Statewide rule 37 says 467. Zero means the rule sets no lease-line distance, not zero feet. e.g. 330
9 spacing_to_well smallint measured in ft 42-45 FL-OIL-SPACING-TO-WELL Feet a well must be from the nearest other well under this field's rules. Statewide rule 37 says 1,200. Zero means unset.
10 acres_per_unit numeric measured in acres 46-51 FL-OIL-ACRES-PER-UNIT Acres dedicated to one well — the minimum proration unit on which a well may be drilled. Statewide rule 37 says 40. Two decimal places. e.g. 80.00
11 tolerance_acres_code text 52 FL-OIL-TOLERANCE-ACRES-CODE Who gets the leftover acreage: 'L' the last well drilled (6,710 rules), 'E' each well in the lease (237). e.g. E
12 tolerance_acres numeric measured in acres 53-57 FL-OIL-TOLERANCE-ACRES Acreage left over in a lease once every proration unit has been carved out, which the operator may ask to be spread among the other wells or given to the last well drilled. Two decimal places. e.g. 80.00
13 casing_code text 58 FL-OIL-CASING-CODE What sets the required casing depth: 'F' the field rules, 'W' the Texas Department of Water Resources (now the TCEQ). Null where the rule says nothing. e.g. W
14 casing_depth integer measured in ft 59-63 FL-OIL-CASING-DEPTH Depth in feet the casing of the discovery well was set to. Zero on the great majority — read it with casing_code, which usually says the water agency sets the depth rather than the field rule.
15 casing_remarks text 64-95 FL-OIL-CASING-REMARKS Free text a proration analyst wrote about the casing requirement, up to 32 characters ('TDWR LTR.', 'T. W. C.').
16 diagonal_code text 96-97 FL-OIL-DIAGONAL-CODE How the diagonal is measured: 'CC' corner to corner, 'WC' well to corner. Null where no diagonal applies.
17 diagonal integer measured in ft 98-102 FL-OIL-DIAGONAL The diagonal of the proration unit in feet — the second half of a density rule, which stops a unit being a long thin strip. Zero means none; 99999 is the mainframe's 'no limit'.
18 diagonal_remarks text 103-123 FL-OIL-DIAGONAL-REMARKS Free text about the diagonal, up to 21 characters.
19 allocation_code text 124 FL-OIL-ALLOCATION-CODE The field's allocation formula in one character, from the manual's appendix D: 'B' acres (4,779 rules), 'C' acres and per well (2,635), 'A' per well (1,008), 'D' potential and per well, 'O' yardstick, and a dozen field-specific ones. The weighted terms are in fl_oil_alloc_formula. e.g. C
20 field_text text 125-184 FL-OIL-FIELD-TEXT Free text a proration analyst wrote about this rule, up to 60 characters. It carries the things the fixed columns cannot — optional unit sizes, what has to be filed with a plat, which older field a rule was inherited from. e.g. P16 & LEASE PLAT OR PRO PLAT
21 docket_number text 185-194 FL-OIL-DOCKET-NUMBER The Commission docket the rule came out of, written district-dash-number ('7C-0297471', '08-72572'). This is the number to look the order up under in the oil and gas docket dataset. e.g. 7C-0297471
22 rules_not_reliable_flag text 195 FL-OIL-RULES-NOT-RELIABLE-FLAG 'Y' when RRC does not stand behind the transcribed rule. Empty in every row of the August 2026 tape, gas and oil alike.

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.

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.

Field Oil Rules (Mainframe) joins to Statewide Field Data on District number and Field number — many rows here share a single row there.

is an oil rule for

All 8,565 oil rules resolve to a field, over 7,829 distinct fields; the most any field carries is eight.

statewide-field-oil-rules.district_no = statewide-field-data.district_no AND statewide-field-oil-rules.field_no = statewide-field-data.field_no

Field Oil Rules (Mainframe) joins to Oil & Gas Field Rules on Field number — many rows here share a single row there.

is a mainframe rule for

All 8,565 oil rules on the tape name a field the Oracle field-rules export carries. As on the gas side, this file keeps the rules that have been replaced and the Oracle export keeps the current ones. 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.

statewide-field-oil-rules.field_no = oil-gas-field-rules.field_number

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.fl_oil_field_rule

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.