Statewide Gas Well Database
Queryable EBCDIC
Every gas well on the proration schedule, with its allowables, G-1 completions and G-10 tests.
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
WLA001K, the gas half — the same 228-byte EBCDIC dump for the gas schedule. 138,901 gas wells, each keyed on the eight-digit RRC internal well id and carrying its six-digit statewide gas RRC ID, up to twenty-six monthly reporting cycles with the allowable and the code and word allowable behind it, the previous allowables issued inside each cycle, the G-1 completion potential tests, the G-10 deliverability tests, GC-1 substitute-capability determinations, forms lacking, transfers, UIC pointers and remarks — 6,372,422 rows across fourteen tables.
137,540 of the 138,901 wells carry at least one G-1, some back to the 1950s, and 48,583 carry a G-10 from the current window. As on the oil tape, wlroot_key is the RRC internal well id, and PDQ's well completion table carries it as well_root_no: 138,869 of the 138,901 wells resolve there, and PDQ's row carries the API number and the county this tape does not.
What you can do with it
Read a gas well's allowable month by month and the code and word allowable that explain it ('14B2 EXT', 'DLQ G-10', 'SWR 10'); pull the G-1 absolute open flow a well was completed at and compare it with the G-10 deliverability it is tested at now; find the wells shut in, temporarily abandoned, or held back for a delinquent G-10 (135,879 cycles); take the acres, acre-feet, bottom-hole pressure and calculated deliverability potential that the field's allocation formula actually used.
Gotchas
Everything on this tape is ON the gas schedule: all 138,901 roots carry on_off_sched_ind 'N', and only 48 have a removed_reason other than '00'.
district_no is RRC's INTERNAL district number (08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is District 09, 14 is District 10). District 07 — 6E — is oil-only and does not appear here at all.
gas_rrc_id is the six-digit statewide gas well identification number and it is unique across Texas: 138,901 distinct values in 138,901 rows. It is the number PDQ carries as lease_no for oil_gas_code 'G', and the same number the Gas Well Status (G-10) dataset carries as rrc_id. The district is not needed to make it unique, and adding it changes nothing: all 154,313 matching G-10 tests agree on the district as well.
There is no operator number, no field number and no API number on this tape either, and no county code column at all. wlroot_key to PDQ's well completion table, or district + gas_rrc_id to PDQ's regulatory lease directory (138,870 of 138,901), is the way to them.
well_no is right-aligned in six characters (' 1'); 121,703 of the 138,901 rows carry leading spaces.
bay_estuary_flag is not a yes/no: '0' means the well is on land (138,741 rows), 'Y' in a bay or estuary (60) and 'N' offshore (100).
The allowable code is a single character and the manual's appendix does not list all of them. '(' appears on 128,432 cycles and pairs exactly with the word allowable 'SWR 10' — a Statewide Rule 10 well — and '¢' on 416, pairing exactly with 'DLQ H-10'. Both are symbols the printed manual could not render; the counts match one for one.
field_deliv_share_pct and lease_percent_reserves are the same five bytes read two ways, as the copybook REDEFINES them. 3,581,887 cycles hold the deliverability share as digits and 52 hold the packed percent-of-lease-reserves used in the Zone 21-B Trend field; whichever a row is not, is null.
whp_test_date is empty in every row of the G-10 segment, and wl_gas_sealed holds no rows at all this month — the oil tape's seal segment does, so the segment is live in RRC's system and its absence here is this month's fact rather than the file's shape.
The G-10 tests here are NOT the Gas Well Status (26 Month G-10) dataset. That file is GSA018K/gse10, keyed on the gas RRC ID, and the copy RRC publishes under that name stops at November 2021. This segment is current: 171,826 of its 172,707 tests are dated 2022 or later, up to July 2026. If you want today's deliverability, it is here; if you want one flat table keyed on the RRC ID, that is the other one.
The manual's byte positions for the gas reporting cycle are wrong past byte 190. The loader found the twelve-month peak to be five bytes rather than three and the field deliverability share five rather than one, so everything from the G-10 exception flags is two bytes later than printed and everything from the Panhandle compliance code four. If you go back to the pristine tape, read it the corrected way: the test date decodes at 211 in 83,798 of 86,060 sampled cycles and at 207 in none of them.
Sentinel dates are everywhere: 0000-00-00, 00000000 and 1900-01-01 all mean "not recorded". The upstream loader turns the unparseable ones into NULL, but a 1900 date that parsed cleanly is still a placeholder, not a fact.
Record layout
240 columns. Byte positions are 1-based and come from the RRC record layout, so you can check our decoding against the original file yourself.
wl_gas_well
23 columns
This is the table you get when you download or query Statewide Gas Well Database.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | 3-10 | WL-GAS-ROOT-KEY |
The eight-digit RRC internal well id. It never changes, even when the well's RRC ID does, and it is what the historical ledger and PDQ's well_root_no point at -- 138,869 of these 138,901 wells resolve to a PDQ well completion, which carries the API number. e.g. 306108 | — |
| 2 |
on_off_sched_ind
|
text | 11 | WL-GAS-ON-OFF-SCHED-INDICATOR |
'N' on schedule, 'Y' off it. Every one of the 138,901 rows is 'N'. | — |
| 3 |
oil_gas_code
|
text | 12 | WL-GAS-OR-OIL |
'G' on every row -- this is the gas tape. | Oil or gas schedule |
| 4 |
district_no
join
|
smallint | 13-14 | WL-GAS-NUMERIC-DISTRICT |
RRC's INTERNAL district number. 08 is District 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is District 09, 14 is District 10. District 07 (6E) is oil-only and does not appear on this tape; 12 (8B) is not used at all. e.g. 1 | RRC district (internal number) |
| 5 |
gas_rrc_id
join
|
integer | 15-20 | WL-GAS-RRC-ID |
The six-digit RRC identification number of the gas well, unique across Texas -- 138,901 distinct values in 138,901 rows. It changes if the well is plugged back or deepened to another zone, but not if it is transferred. PDQ carries it as lease_no for oil_gas_code 'G' and the G-10 status file as rrc_id. e.g. 17 | — |
| 6 |
well_no
join
|
text | 21-26 | WL-GAS-WELL-NUMBER |
The operator's well number, right-aligned in six characters: well 1 is stored as ' 1'. 121,703 of the 138,901 rows carry leading spaces. e.g. 5 | — |
| 7 |
removed_reason
|
text | 27-28 | WL-GAS-REMOVE-FROM-SCHED-REASN |
Why the well left the gas schedule: 01 plugged and abandoned, 02 converted to a fresh water well, 05 transferred to a different field, 06 worked over to another field or reservoir, 07 reclassed as an oil well, 08 granted downhole commingling, 09 built in error. '00' on 138,853 rows; only 48 wells on this tape carry a reason, because a removed well drops off at the next roll. e.g. 00 | — |
| 8 |
removed_date
|
date | 29-36 | WL-GAS-REMOVE-FROM-SCHED-DATE |
Date the well was removed from the gas schedule. Null in every row of the August 2026 tape. | — |
| 9 |
prob_prevent_allow_flag
|
text | 37 | WL-GAS-PROB-PREVENT-ALLOW-FLAG |
'Y' where a problem stops RRC calculating an allowable at all. 'N' on every row. | — |
| 10 |
bay_estuary_flag
|
text | 38 | WL-GAS-BAY-OR-ESTUARY |
Three values rather than a yes/no: '0' the well is on land (138,741 rows), 'Y' in a bay or estuary (60), 'N' offshore (100). e.g. 0 | — |
| 11 |
last_utilized_date
|
date | 39-46 | WL-GAS-LAST-UTILIZED-DATE |
Date a non-producing well was last used. Only 7 wells carry one and the newest is from 1989 -- the live shut-in clock is shut_in_yyyymm. | — |
| 12 |
exc_to_svy_test_flag
|
text | 47 | WL-GAS-EXCEPT-TO-SVY-TEST-FLAG |
'Y' where the well has an exception to filing the G-10 survey. 'N' on all 138,901 rows of this tape. | — |
| 13 |
reclassed_well_key
join
|
integer | 48-55 | WL-GAS-RECLASSED-WELL-POINTER |
The well id on the OIL tape this well was reclassed to or from, carried on 8,574 wells. Only 6 point at a root still on the oil tape, so read it as a historical pointer rather than a join key. | — |
| 14 |
survey_eff_yyyymm
|
integer | 56-61 | WL-GAS-SURVEY-EFF-DATE |
Effective month of the current G-10 survey, as one YYYYMM integer. This is what decides whether the next G-10 is delinquent; 125,900 wells carry one. e.g. 201701 | — |
| 15 |
subject_14b2_flag
|
text | 87 | WL-GAS-SUBJECT-TO-14B2-FLAG |
'Y' on the 36,950 inactive wells subject to Statewide Rule 14(b)(2). e.g. N | — |
| 16 |
uic_violation_flag
|
text | 88 | WL-GAS-UIC-VIOLATION-FLAG |
'Y' on 688 UIC wells denied their 14(b)(2) because of a UIC violation. | — |
| 17 |
legal_violation_flag
|
text | 89 | WL-GAS-LEGAL-VIOLATION-FLAG |
'Y' where the 14(b)(2) is denied because the Legal Division is handling a problem. 'N' on every row of this tape. | — |
| 18 |
ext_state_plug_flag
|
text | 90 | WL-GAS-EXT-FOR-STATE-PLUG-FLAG |
'Y' where the well has been extracted to be plugged with state funds under SB 1103. | — |
| 19 |
cert_hb1975_flag
|
text | 91 | WL-GAS-CERT-HB-1975-FLAG |
The HB 1975 two-year-inactive tax certification: A automatic, M manual, '0' not certified (138,344 wells). 81 rows hold 'N', which the manual does not list. | — |
| 20 |
cert_effective_yyyymm
|
integer | 92-97 | WL-GAS-CERT-EFFECTIVE-DATE |
Month the HB 1975 certification took effect, as one YYYYMM integer. All 474 fall between 1993-09 and 1996-02. | — |
| 21 |
cert_letter_date
|
date | 98-105 | WL-GAS-CERTIFICATION-LTR-DATE |
Date RRC wrote to the operator about the HB 1975 certification. | — |
| 22 |
shut_in_yyyymm
|
integer | 106-111 | WL-GAS-SHUT-IN-DATE |
Month the well was set to shut-in status, as one YYYYMM integer. 59,904 of the 138,901 wells carry one. | — |
| 23 |
pend_removal_14b2_flag
|
text | 112 | WL-GAS-PEND-REMOVAL-14B2-FLAG |
'Y' on 4,032 wells producing their way off 14(b)(2) status; three consecutive producing months clear it. | — |
wl_gas_forms_lacking
4 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
cycle_yyyymm
key
|
integer | — | — | The reporting cycle this row belongs to, as one YYYYMM integer, carried down from the reporting-cycle segment above it on the tape. | — |
| 3 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 4 |
form_lacking
|
text | 3-6 | — | The form the operator still owes before this well can be given an allowable for the cycle: G10D (G-10 delinquent), G10L (lacking), G10I (incomplete), G-1, G-5, P-2, P-2I, P-4, P-4I, P-12, P-15, L-1, LOG, MULT (multiple completion authority), SURV (directional survey), PLAT, W-12, W-15, COND and OTHR. The August 2026 tape is dominated by G10D (135,879 rows), P-4 (52,838), G-1 (52,717) and G-5 (51,125); 51,619 are OTHR, and an OTHR row is spelled out in the forms-lacking description table beside it. e.g. G10D | — |
wl_gas_forms_lacking_desc
5 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
cycle_yyyymm
key
|
integer | — | — | The reporting cycle this row belongs to, as one YYYYMM integer, carried down from the reporting-cycle segment above it on the tape. | — |
| 3 |
forms_lacking_seq
key
|
integer | — | — | Which forms-lacking row of the same cycle this describes -- its `seq`. The tape hangs the description under the form record above it and carries no key of its own. | — |
| 4 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 5 |
form_description
|
text | 3-22 | — | Twenty characters naming the form, used only where the row above is 'OTHR'. Free text, so 'P4 W/VALID GATHERER' and 'FROM OLD SYSTEM' sit beside each other. | — |
wl_gas_g1
14 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 3 |
g1_key
|
integer | 3-10 | — | RRC's internal G-1 key: the nines complement of a CCYYMMDD date, which keeps the newest G-1 first in the database. Kept raw here beside the decoded g1_key_date. e.g. 80428873 | — |
| 4 |
g1_key_date
|
date | 3-10 | — | That key decoded back to a date (79999598 is 2000-04-01). It equals the test date in about 45 percent of rows and is a later date -- the filing, presumably -- in the rest. e.g. 1957-11-26 | — |
| 5 |
test_date
|
date | 11-18 | — | The date of test as filed on the Form G-1. Null on 15,211 of the 193,392 rows, and one row decodes to a year before 1900. e.g. 1957-11-26 | — |
| 6 |
potential_mcf
|
integer measured in MCF/d | 19-23 | — | The G-1 potential, also called absolute open flow: the most the well could produce if allowed to blow to the atmosphere, in MCF. Graphically derived, where the G-10's potential is measured. e.g. 4200 | — |
| 7 |
slope
|
numeric | 24-26 | — | Angle of slope, to three decimal places: how pressure changes with flow rate, computed as the difference of the squared pressures over the flow rate. It should be 1 or greater. | — |
| 8 |
siwh
|
integer measured in psi | 27-29 | — | Shut-in surface pressure during the G-1 test, in PSI. | — |
| 9 |
bhp
|
integer measured in psi | 30-32 | — | Bottom-hole pressure during the G-1 test, in PSI -- shut-in or flowing, measured or derived. | — |
| 10 |
gas_gravity
|
numeric | 33-35 | — | Density of the gas relative to air, to three decimal places, as reported on the G-1. e.g. 0.675 | — |
| 11 |
cond_gravity
|
numeric measured in API | 36-37 | — | Gravity of the condensate produced during the test, in degrees API. | — |
| 12 |
gas_oil_ratio
|
integer measured in cf/bbl | 38-40 | — | Gas-liquid ratio in cubic feet per barrel. It is what classifies the well: Texas defines a gas well as one producing at least 100,000 cubic feet of gas per barrel of liquid. | — |
| 13 |
test_gas_mcf
|
integer measured in MCF | 41-45 | — | Gas produced over the whole duration of the G-1 test, in MCF. | — |
| 14 |
admin_add_flag
|
text | 46 | — | 'Y' where RRC added this G-1 segment administratively rather than from a filing; the copybook's unset value is zero. | — |
wl_gas_g10
28 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 3 |
cycle_yyyymm
|
integer | 3-6 | — | The cycle the test takes effect in, as one YYYYMM integer, decoded from RRC's 9927-based cycle key (9543 means 2025-01). e.g. 202501 | — |
| 4 |
day_key
|
smallint | 7-8 | — | The second half of RRC's G-10 key, which orders several tests filed in one month. Documented as 99 minus the effective day; it reads as the effective day plus one on the file, so it is kept raw. | — |
| 5 |
effective_date
|
date | 9-16 | — | Date the test becomes effective for allowable purposes. e.g. 2025-01-07 | — |
| 6 |
test_date
|
date | 17-24 | — | Date the G-10 test was conducted. e.g. 2024-12-20 | — |
| 7 |
type_test_flag
|
text | 25 | — | Type of G-10: S survey (124,087 of 172,707), R retest (36,667), D delinquent (7,709), I initial (3,140), E exempt (930), C corrected (174). e.g. R | — |
| 8 |
deliverability_mcf
|
integer measured in MCF/d | 26-30 | — | Gas produced per day during the test, in MCF -- the deliverability the allowable is calculated from. e.g. 20 | — |
| 9 |
daily_cond_bbl
|
numeric measured in bbl/d | 31-34 | — | Condensate produced per day during the test, in barrels to one decimal place (the tape implies the point). | — |
| 10 |
daily_water_bbl
|
integer measured in bbl/d | 35-38 | — | Water produced per day during the test, in barrels. | — |
| 11 |
gas_gravity
|
numeric | 39-41 | — | Density of the gas relative to air, to three decimal places. The tape writes four digits with the point implied, so 0.555 arrives as '0555'. e.g. 0.555 | — |
| 12 |
cond_gravity
|
numeric measured in API | 42-43 | — | Gravity of the condensate in degrees API, to one decimal place. | — |
| 13 |
ratio
|
integer measured in cf/bbl | 44-46 | — | Gas-liquid ratio in cubic feet per barrel. It is what classifies the well: Texas defines a gas well statutorily as one producing at least 100,000 cubic feet of gas per barrel of liquid. | — |
| 14 |
siwh
|
integer measured in psi | 47-50 | — | Shut-in wellhead pressure during the test, in PSI. | — |
| 15 |
flow_press
|
integer measured in psi | 51-53 | — | Flowing wellhead (tubing) pressure during the test, in PSI. e.g. 10 | — |
| 16 |
potential_mcf
|
integer measured in MCF/d | 54-58 | — | Gas the well produces when allowed to flow during the survey test, in MCF -- the measured potential, as against the G-1's graphically derived one. | — |
| 17 |
bhp
|
integer measured in psi | 59-61 | — | Bottom-hole pressure taken as part of the survey test, in PSI. | — |
| 18 |
shutin_well_flag
|
text | 62 | — | 'Y' where the well is shut in, on 40,702 of the 172,707 tests. e.g. N | — |
| 19 |
whp_shutin_well
|
integer measured in psi | 63-66 | — | Wellhead pressure of a shut-in well, in PSI. | — |
| 20 |
rock_press
|
integer measured in psi | 67-69 | — | Shut-in reservoir (bottom-hole) pressure in PSI, as reported on the G-10 or the auxiliary Form GWT. | — |
| 21 |
cal_del_pote
|
integer measured in MCF/d | 70-74 | — | Calculated deliverability potential -- a variable in the allocation formula for certain District 10 fields, derived from test data and not the same thing as deliverability or potential. | — |
| 22 |
issue_date
|
date | 75-82 | — | Date the G-10 was filed with RRC. e.g. 2025-01-28 | — |
| 23 |
shutin_yyyymm
|
integer | 83-88 | — | Month the well was last produced or utilised, as one YYYYMM integer. | — |
| 24 |
annual_cmgl_test_flag
|
text | 89 | — | 'Y' where this G-10 is the annual commingle test. | — |
| 25 |
survey_counted_flag
|
text | 90 | — | 'Y' where the test counted as the annual survey. The copybook declares it; the manual's notes never explain it, and the file writes '0' where it is unset. | — |
| 26 |
filed_edi_flag
|
text | 91 | — | 'Y' where the operator filed the test electronically rather than on paper. | — |
| 27 |
survey_2yr_counted_flag
|
text | 92 | — | 'Y' where the test counted as the two-year survey. Undocumented beyond the copybook, like survey_counted_flag. | — |
| 28 |
whp_test_date
|
date | 93-100 | — | Date of the wellhead-pressure test. Null in every row of the August 2026 tape. | — |
wl_gas_g10_prev
29 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
g10_seq
key
|
integer | — | — | Which G-10 of the same well this hangs under -- the `seq` of the row in the G-10 table it shares an effective date with. | — |
| 3 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 4 |
cycle_yyyymm
|
integer | 3-6 | — | The cycle the test takes effect in, as one YYYYMM integer, decoded from RRC's 9927-based cycle key (9543 means 2025-01). | — |
| 5 |
day_key
|
smallint | 7-8 | — | The second half of RRC's G-10 key, which orders several tests filed in one month. Documented as 99 minus the effective day; it reads as the effective day plus one on the file, so it is kept raw. | — |
| 6 |
effective_date
|
date | 9-16 | — | Date the test becomes effective for allowable purposes. | — |
| 7 |
test_date
|
date | 17-24 | — | Date the G-10 test was conducted. | — |
| 8 |
type_test_flag
|
text | 25 | — | Type of G-10: S survey (124,087 of 172,707), R retest (36,667), D delinquent (7,709), I initial (3,140), E exempt (930), C corrected (174). | — |
| 9 |
deliverability_mcf
|
integer measured in MCF/d | 26-30 | — | Gas produced per day during the test, in MCF -- the deliverability the allowable is calculated from. | — |
| 10 |
daily_cond_bbl
|
numeric measured in bbl/d | 31-34 | — | Condensate produced per day during the test, in barrels to one decimal place (the tape implies the point). | — |
| 11 |
daily_water_bbl
|
integer measured in bbl/d | 35-38 | — | Water produced per day during the test, in barrels. | — |
| 12 |
gas_gravity
|
numeric | 39-41 | — | Density of the gas relative to air, to three decimal places. The tape writes four digits with the point implied, so 0.555 arrives as '0555'. | — |
| 13 |
cond_gravity
|
numeric measured in API | 42-43 | — | Gravity of the condensate in degrees API, to one decimal place. | — |
| 14 |
ratio
|
integer measured in cf/bbl | 44-46 | — | Gas-liquid ratio in cubic feet per barrel. It is what classifies the well: Texas defines a gas well statutorily as one producing at least 100,000 cubic feet of gas per barrel of liquid. | — |
| 15 |
siwh
|
integer measured in psi | 47-50 | — | Shut-in wellhead pressure during the test, in PSI. | — |
| 16 |
flow_press
|
integer measured in psi | 51-53 | — | Flowing wellhead (tubing) pressure during the test, in PSI. | — |
| 17 |
potential_mcf
|
integer measured in MCF/d | 54-58 | — | Gas the well produces when allowed to flow during the survey test, in MCF -- the measured potential, as against the G-1's graphically derived one. | — |
| 18 |
bhp
|
integer measured in psi | 59-61 | — | Bottom-hole pressure taken as part of the survey test, in PSI. | — |
| 19 |
shutin_well_flag
|
text | 62 | — | 'Y' where the well is shut in, on 40,702 of the 172,707 tests. | — |
| 20 |
whp_shutin_well
|
integer measured in psi | 63-66 | — | Wellhead pressure of a shut-in well, in PSI. | — |
| 21 |
rock_press
|
integer measured in psi | 67-69 | — | Shut-in reservoir (bottom-hole) pressure in PSI, as reported on the G-10 or the auxiliary Form GWT. | — |
| 22 |
cal_del_pote
|
integer measured in MCF/d | 70-74 | — | Calculated deliverability potential -- a variable in the allocation formula for certain District 10 fields, derived from test data and not the same thing as deliverability or potential. | — |
| 23 |
issue_date
|
date | 75-82 | — | Date the G-10 was filed with RRC. | — |
| 24 |
shutin_yyyymm
|
integer | 83-88 | — | Month the well was last produced or utilised, as one YYYYMM integer. | — |
| 25 |
annual_cmgl_test_flag
|
text | 89 | — | 'Y' where this G-10 is the annual commingle test. | — |
| 26 |
survey_counted_flag
|
text | 90 | — | 'Y' where the test counted as the annual survey. The copybook declares it; the manual's notes never explain it, and the file writes '0' where it is unset. | — |
| 27 |
filed_edi_flag
|
text | 91 | — | 'Y' where the operator filed the test electronically rather than on paper. | — |
| 28 |
survey_2yr_counted_flag
|
text | 92 | — | 'Y' where the test counted as the two-year survey. Undocumented beyond the copybook, like survey_counted_flag. | — |
| 29 |
whp_test_date
|
date | 93-100 | — | Date of the wellhead-pressure test. Null in every row of the August 2026 tape. | — |
wl_gas_gc1
10 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 3 |
gc1_key
|
integer | 3-8 | — | The cycle the GC-1 becomes effective in, as RRC's YYYYMM key (199501 is January 1995). e.g. 199501 | — |
| 4 |
number_of_eff_cycles
|
smallint | 9 | — | How many cycles the determination is effective for. One cycle is one month. | — |
| 5 |
determination_date
|
date | 10-17 | — | Date of the well test behind the determination. e.g. 1994-10-02 | — |
| 6 |
type_test_flag
|
text | 18 | — | How the capability was determined: 'W' by a well test run by a professional engineer or an independent well tester, 'O' by some other method, spelled out in other_remark. e.g. W | — |
| 7 |
other_remark
|
text | 19-50 | — | Thirty-two characters describing what was done, where the method was not a well test. | — |
| 8 |
subst_capability
|
integer measured in MCF/d | 51-55 | — | The well's substitute capability, as determined. e.g. 2614 | — |
| 9 |
engineer_flag
|
text | 61 | — | Who certified it: 'E' a professional engineer registered in Texas, 'I' an independent well tester. e.g. E | — |
| 10 |
certifier_name
|
text | 62-93 | — | Name of the engineer or well tester who certified the test. e.g. L. J. HENDERSON | — |
wl_gas_prev_allowable
36 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
cycle_yyyymm
key
|
integer | — | — | The reporting cycle this row belongs to, as one YYYYMM integer, carried down from the reporting-cycle segment above it on the tape. | — |
| 3 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 4 |
allow_effective_date
|
date | 3-10 | — | Date the superseded allowable took effect. | — |
| 5 |
allow_issue_date
|
date | 11-18 | — | Date that earlier allowable was calculated. | — |
| 6 |
allow_cycle_amt
|
integer measured in MCF | 19-23 | — | The earlier cycle allowable in MCF. e.g. 285 | — |
| 7 |
allow_daily_amt
|
integer measured in MCF/d | 24-28 | — | The earlier daily allowable in MCF. e.g. 8 | — |
| 8 |
allow_code
|
text | 29-30 | — | The allowable code in force then, from the manual's appendix -- the same list as the reporting cycle's allowable_code. e.g. N | — |
| 9 |
top_schedule_allow
|
integer measured in MCF/d | 31-35 | — | The largest allowable that could have been assigned at the time. e.g. 3100 | — |
| 10 |
word_allow
|
text | 36-43 | — | The word allowable in force then ('14B2 EXT', 'DLQ G-10' and the rest), where the well had no numeric allowable. | — |
| 11 |
spec_allow_daily
|
integer measured in MCF/d | 44-48 | — | The daily special allowable in force then, in MCF. | — |
| 12 |
special_allow_code
|
text | 49 | — | Which kind it was: 'N' administrative, 'S' by hearing, blank none. | — |
| 13 |
liquid_allow
|
integer measured in bbl | 50-54 | — | The cycle's liquid allowable in barrels, for a liquid-limit gas field. | — |
| 14 |
liquid_allow_code
|
text | 55 | — | How that liquid amount was used: 3 subject to the oil production factor, 4 daily, 5 monthly, blank none. | — |
| 15 |
daily_rate_49b
|
integer measured in MCF/d | 56-60 | — | The 49(b) daily rate in force then. | — |
| 16 |
perm_exc_cycles
|
text | 66-67 | — | Cycles the timed G-10 testing exception ran for; '99' is permanent. | — |
| 17 |
cal_del_pote
|
integer measured in MCF/d | 73-77 | — | Calculated deliverability potential used in that earlier calculation (District 10 fields). | — |
| 18 |
cal_del_pote_chng_flag
|
text | 78 | — | Whether that calculated deliverability potential differs from the one used by the allowable that superseded it. | — |
| 19 |
deliverability_mcf
|
integer measured in MCF/d | 79-83 | — | Deliverability used in that earlier calculation, in MCF per day. | — |
| 20 |
deliv_chng_flag
|
text | 84 | — | Whether the deliverability differs from the one used by the superseding allowable. | — |
| 21 |
bhp
|
integer measured in psi | 85-87 | — | Bottom-hole pressure used in that earlier calculation, in PSI. | — |
| 22 |
bhp_chng_flag
|
text | 88 | — | Whether the bottom-hole pressure differs from the superseding one. | — |
| 23 |
siwh
|
integer measured in psi | 89-92 | — | Shut-in wellhead pressure used in that earlier calculation, in PSI. | — |
| 24 |
siwh_chng_flag
|
text | 93 | — | Whether the shut-in pressure differs from the superseding one. | — |
| 25 |
rock_press
|
integer measured in psi | 94-96 | — | Rock pressure used in that earlier calculation, in PSI. | — |
| 26 |
rock_press_chng_flag
|
text | 97 | — | Whether the rock pressure differs from the superseding one. | — |
| 27 |
acres
|
numeric measured in acres | 98-103 | — | Acres assigned to the well at the time, to four decimal places. e.g. 213.3000 | — |
| 28 |
acres_chng_flag
|
text | 104 | — | Whether the acreage differs from the superseding calculation's. | — |
| 29 |
acre_feet
|
numeric measured in acre-ft | 105-108 | — | Acre-feet assigned at the time, to one decimal place. | — |
| 30 |
acre_feet_chng_flag
|
text | 109 | — | Whether the acre-feet differ from the superseding calculation's. | — |
| 31 |
type_well
|
text | 110-111 | — | The well's category when that allowable was calculated, from appendix A. e.g. PR | — |
| 32 |
allow_remarks
|
text | 112-144 | — | Thirty-three characters of the remark printed on the supplement that told the operator and the gatherer the allowable had changed. | — |
| 33 |
code_14b2
|
text | 145 | — | The 14(b)(2) extension in force then: 0 none, 1 in effect, 4 denied. | — |
| 34 |
deliv_letter_eff_date
|
date | 146-153 | — | Date of the operator's letter asking for a lowered deliverability, as it stood then. | — |
| 35 |
test_date
|
date | 154-161 | — | The most recent test date as it stood then. e.g. 2013-11-01 | — |
| 36 |
lease_percent_reserves
|
numeric measured in percent | 162-166 | — | The well's earlier percent of the field's G-10 deliverability, to four decimal places -- the Zone 21-B Trend field's reading of the share. Unlike the reporting cycle, this segment stores it as its own packed field rather than a REDEFINES. | — |
wl_gas_remark
6 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 3 |
remark_key
|
smallint | 3-5 | — | RRC's own remark number. Remarks are stored in ascending order by it, and a remark long enough to wrap occupies several rows in order. | — |
| 4 |
remark_date
|
date | 6-13 | — | When the remark was generated, either by hand or automatically as a side effect of another update. | — |
| 5 |
remark_text
|
text | 14-79 | — | Sixty-six characters of free text from the district or proration office. Order by seq to read a wrapped remark whole; the tape does not mark where one remark ends and the next begins. | — |
| 6 |
print_on_ledger_flag
|
text | 80 | — | 'Y' where the remark is printed on the ledger the operator receives. The file also writes '0' where the question does not apply. | — |
wl_gas_report_cycle
59 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. e.g. 306974 | — |
| 2 |
cycle_yyyymm
key
|
integer | 3-8 | — | The reporting cycle, as one YYYYMM integer, and half the primary key. The August 2026 tape runs 2024-07 to 2026-08 -- twenty-six cycles -- and holds nothing older. e.g. 202606 | — |
| 3 |
allow_effective_date
|
date | 9-16 | — | Date this allowable took effect. Gas allowables normally start on the first of the month; a mid-month date means a new well or a change accepted during the month. | — |
| 4 |
allow_issue_date
|
date | 17-24 | — | Date the cycle's most recent allowable calculation ran -- either the monthly calculate for every well, or the supplement that superseded it. | — |
| 5 |
type_well
|
text | 25-26 | — | The well's category this cycle: PR producing (2,533,423 cycles), TA temporarily abandoned (748,001), RT statewide rule 10 well (133,682), PP partial plug, SH shut-in, ZZ not eligible for an allowable, IN injection, SM shut-in multiple completion, GJ gas storage injection, DW domestic, PF PF well, and the rest of appendix A. e.g. PR | — |
| 6 |
allowable_cycle_amt
|
integer measured in MCF | 27-31 | — | The most gas the well may produce for the whole cycle, in MCF: the daily allowable times the days in the cycle. Positive on 2,108,072 of the 3,581,939 cycles. e.g. 3630 | — |
| 7 |
allowable_daily_amt
|
integer measured in MCF/d | 32-36 | — | The same allowable as a daily figure, in MCF. e.g. 121 | — |
| 8 |
allowable_code
|
text | 37-38 | — | Which kind of allowable was assigned, one character from the manual's appendix: N special allowable granted administratively (1,401,118 cycles), X exempt/salvage (900,891), K shut-in 14(b)(2) well (763,979), J temporarily abandoned, O delinquent G-10, # restricted to 100 percent of the daily production test, R deliverability plus overage, H shut-in with pressure, Z not eligible, I injection, W withheld pending forms, S granted by hearing, A plugged, % plugged with condensate on hand, > delinquent P-2. Two values are not in the printed appendix: '(' on 128,432 cycles, which pairs one for one with the word allowable 'SWR 10' (a Statewide Rule 10 well), and the cent sign on 416, pairing one for one with 'DLQ H-10'. e.g. X | — |
| 9 |
word_allowable
|
text | 39-46 | — | Eight characters printed in place of a number where the well gets no allowable amount, and the plainest statement of why: '14B2 EXT' (571,847 cycles), '14B DENY', 'T. A.', 'DLQ G-10', 'PRTL PLG', 'SHUT IN', 'INJECT', 'H15 VIOL', 'SI MULT', 'DOMESTIC', 'STRG INJ', 'SWR 10'. Null where the well has a numeric allowable. | — |
| 10 |
assigned_allow_code
|
text | 47-48 | — | The allowable code that went with the assigned allowable -- the first and most basic of the three categories. | — |
| 11 |
assigned_allow
|
integer measured in MCF/d | 49-53 | — | The daily allowable the calculation produced before any balancing or administrative override, in MCF. | — |
| 12 |
adjusted_allow_code
|
text | 54-55 | — | The allowable code after the balancing process, which may or may not differ from the assigned one. | — |
| 13 |
adjusted_allow_amt
|
integer measured in MCF/d | 56-60 | — | The assigned allowable after balancing, in fields that have balancing rules. It takes precedence over the assigned amount. | — |
| 14 |
administrative_allow
|
integer measured in MCF/d | 61-65 | — | An allowable set directly by the proration analyst. It takes precedence over both the adjusted and the assigned amount. | — |
| 15 |
special_allow_daily_amt
|
integer measured in MCF/d | 66-70 | — | Daily special allowable for the cycle, in MCF. A special allowable is asked for by the operator and granted administratively or at a hearing. | — |
| 16 |
special_allow_code
|
text | 71 | — | Which: 'N' assigned administratively, 'S' assigned by hearing, blank no special allowable. | — |
| 17 |
liquid_allow_amt
|
integer measured in bbl/d | 72-76 | — | Daily liquid allowable in barrels, for a well in a liquid-limit gas field -- a field that limits liquid instead of gas. | — |
| 18 |
liquid_allow_code
|
text | 77 | — | How that liquid amount is used: 3 subject to the oil production factor, 4 a daily amount, 5 a monthly amount, blank none. | — |
| 19 |
daily_rate_49b_amt
|
integer measured in MCF/d | 78-82 | — | Daily gas a well in a 49(b) field may produce during the cycle. | — |
| 20 |
past_prod_changed_flag
|
text | 83 | — | Whether the twelve-month production figure was changed. In the Panhandle West field this item carries the twelve-month peak instead. | — |
| 21 |
high_daily_changed_flag
|
text | 84 | — | Whether the highest daily average was changed on-line rather than computed. | — |
| 22 |
is_pf_well_flag
|
text | 85 | — | 'Y' marks a PF well: if a G-10 arrives with producing data the well type goes back to PF rather than to producing. | — |
| 23 |
k2_special_allow_flag
|
text | 86 | — | 'Y' where the well is eligible for a K2 special allowable. | — |
| 24 |
h15_violation_flag
|
text | 87 | — | 'Y' where the well failed its H-15 test or is delinquent in filing one. | — |
| 25 |
perm_exc_cycles
|
text | 88-89 | — | How many cycles the timed exception to G-10 testing (code 7) runs for. '99' means permanent until the code is removed. | — |
| 26 |
acres
|
numeric measured in acres | 90-95 | — | Acres assigned to the well for the cycle, to four decimal places, in fields whose allowable formula uses acreage. 2,595,038 of the 3,581,939 cycles carry a positive number. e.g. 348.0000 | — |
| 27 |
acre_feet
|
numeric measured in acre-ft | 96-99 | — | Acre-feet assigned to the well for the cycle, to one decimal place. | — |
| 28 |
cal_del_pote
|
integer measured in MCF/d | 100-104 | — | Calculated deliverability potential, a factor in the allocation formula for District 10 fields. Reported on Form GWT or the G-10, and not the same thing as deliverability or potential. | — |
| 29 |
bhp
|
integer measured in psi | 105-107 | — | Bottom-hole pressure used for the cycle, in PSI, derived from the G-10. | — |
| 30 |
siwh
|
integer measured in psi | 108-111 | — | Shut-in wellhead pressure used for the cycle, in PSI, derived from the G-10. e.g. 380 | — |
| 31 |
rock_press
|
integer measured in psi | 112-114 | — | Rock pressure used for the cycle, in PSI, from the G-10 or Form GWT. | — |
| 32 |
deliv_letter_effect_date
|
date | 115-122 | — | Date the operator filed a letter asking for the well's deliverability to be lowered. | — |
| 33 |
deliverability_mcf
|
integer measured in MCF/d | 123-127 | — | The deliverability used for the cycle, in MCF per day -- from the G-10 or from that letter, whichever is more recent. e.g. 125 | — |
| 34 |
top_schedule_allowable
|
integer measured in MCF/d | 128-132 | — | The largest allowable the gas calculate program could have assigned this well. It may carry no allowable code of its own. | — |
| 35 |
exc_to_g10_test_flag
|
text | 133 | — | The well's exception to G-10 testing: 0 regular testing required, 1 none required, 2 no commingle test required, 4 temporary exception for a new well, 5 LACT with regular testing, 6 LACT exempt from commingle testing, 7 a timed exception (see perm_exc_cycles). | — |
| 36 |
allowable_remarks
|
text | 134-166 | — | Thirty-three characters printed on the operator's supplement when the cycle's allowable is a recalculation. | — |
| 37 |
auto_special_flag
|
text | 167 | — | 'Y' where the operator has asked NOT to be given an administrative special allowable; 'N' leaves the well eligible for one when deliverability and recent production are under 100 MCF a day. | — |
| 38 |
no_supplement_flag
|
text | 168 | — | Whether a supplement issued this month was forced to print ('Y') although nothing changed, or suppressed ('N'). RRC's own processing flag. | — |
| 39 |
highest_daily_avg_yyyymm
|
integer | 169-174 | — | Year and month of the production report behind the highest daily average, as one YYYYMM integer. | — |
| 40 |
highest_daily_average
|
integer measured in MCF/d | 175-179 | — | Highest daily average production over the previous twelve months. Multiplied by the days in the cycle, and if that is the smallest of the candidate allowables it becomes the allowable, with code 'U' or 'L'. | — |
| 41 |
peak_12_month_yyyymm
|
integer | 180-185 | — | Year and month of the past-production report, as one YYYYMM integer. In the Panhandle West field it holds the twelve-month peak month instead. | — |
| 42 |
peak_12_month
|
integer measured in MCF/d | 186-190 | — | Past production, taken over as many cycles as the field's rules require. In the Panhandle West field it is the daily production of the highest month in the last twelve. Five bytes on the file rather than the three the manual prints, which is why everything after it is offset. | — |
| 43 |
g10_bhp_except_flag
|
smallint | 191 | — | Exemption from the G-10 bottom-hole pressure test: 0 none, 1 no test required, 2 exception granted by hearing. | — |
| 44 |
g10_sip_except_flag
|
smallint | 192 | — | Exemption from the G-10 shut-in pressure test: 0 none, 1 no test required, 4 exception granted by hearing. | — |
| 45 |
dpt_code_except_flag
|
smallint | 193 | — | Exemption from the G-10 daily production test: 0 none, 3 reduced to the G-1 potential, 4 reduced at the operator's request, 5 exempt because deliverability is under 100 MCF. | — |
| 46 |
code_14b2
|
text | 194 | — | The well's 14(b)(2) extension this cycle: 0 none, 1 in effect (prints as EXC 14B), 4 denied (14B DENY), 5 denied because of an H-15 violation. | — |
| 47 |
date_14b2_yyyymm
|
integer | 195-200 | — | Month the 14(b)(2) extension expires, as one YYYYMM integer. | — |
| 48 |
bh_temperature
|
smallint measured in deg F | 201-203 | — | Bottom-hole temperature for the well. | — |
| 49 |
field_deliv_share_pct
|
numeric measured in percent | 204-208 | — | The percentage of the field's total G-10 deliverability this well contributes, in a prorated field, to two decimal places. This column and lease_percent_reserves are the SAME five bytes read two ways, as the copybook REDEFINES them: 3,581,887 cycles hold the share as digits and the other 52 hold the packed form, so exactly one of the two is null in every row. | — |
| 50 |
lease_percent_reserves
|
numeric measured in percent | 204-208 | — | The percent-of-lease-reserves reading of those same five bytes, used in the Zone 21-B Trend field, to four decimal places. Non-null on 52 of the 3,581,939 cycles; where it is set, field_deliv_share_pct is null. | — |
| 51 |
panhandle_comp_code
|
text | 209 | — | Which guideline a Panhandle well used to show compliance with the field rules. '0' means none has been established; the manual says the other valid values are 1 to 6 and 'A'. | — |
| 52 |
admin_allow_flag
|
text | 210 | — | 'Y' where the allowable was keyed in by the proration analyst rather than calculated. | — |
| 53 |
test_date
|
date | 211-218 | — | Date of the most recent test on file -- an annual survey, a Form G-1, or a G-10 retest. It sits at byte 211 rather than the 207 the manual prints; the loader checked both against the sibling previous allowable before choosing. e.g. 2025-11-17 | — |
| 54 |
tmp_monthly_flag
|
text | 219 | — | Panhandle West only: whether the twelve-month peak figure is a monthly amount. | — |
| 55 |
recommenced_well_flag
|
text | 220 | — | Panhandle West only: whether the well recommenced production this month. | — |
| 56 |
permanent_gas_well_flag
|
text | 221 | — | 'Y' where the well has been permanently classified as a gas well. | — |
| 57 |
prev_deliverability_mcf
|
integer measured in MCF/d | 222-226 | — | The deliverability the well had before TMP replaced it, in MCF per day. | — |
| 58 |
using_tmp_flag
|
text | 227 | — | 'Y' where the well is on TMP. | — |
| 59 |
stack_lat_parentage
|
text | 228 | — | Stacked-lateral role: P parent well, C child well. Only the parent carries an allowable, and only the parent's RRC ID has to file a PR. | — |
wl_gas_sb126
6 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 3 |
cert_flag
|
text | 3 | — | Whether the well is certified for the Senate Bill 126 two-year inactive tax credit: A automatically, M manually, '0' not certified. e.g. M | — |
| 4 |
cert_effective_yyyymm
|
integer | 4-9 | — | Month from which the well is certified to receive the tax credit, as one YYYYMM integer. e.g. 202501 | — |
| 5 |
cert_letter_date
|
date | 10-17 | — | Date RRC wrote to the operator saying the credit can be taken for this well's production. e.g. 2025-05-15 | — |
| 6 |
turnaround_letter_date
|
date | 18-25 | — | Date RRC wrote to say the credit COULD be taken if the operator asks for certification -- the invitation rather than the grant. | — |
wl_gas_sealed
7 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 3 |
sealed_effective_yyyymm
|
integer | 3-8 | — | Month the seal order took effect, as one YYYYMM integer. | — |
| 4 |
sealed_reason
|
text | 9-10 | — | Why the well was sealed: 01 delinquent production report, 02 discrepancies on it, 03 casinghead gas reported with no oil, 04 condensate with no gas well gas, 05 liquid overproduction, 06 gas overproduction, 07 delinquent forms, 08 condensate produced does not match condensate gathered, 09 delinquent H-10, 10 delinquent H-5, 11 failure to prove authority, 12 operator violations, 13 rule violations, 99 sealed before the database conversion and the reason is not known. '00' means no reason is recorded, which is what all seven rows of the August 2026 oil tape carry. | — |
| 5 |
sealed_issue_date
|
date | 11-18 | — | Date RRC issued the seal order. | — |
| 6 |
sealed_issued_by
|
text | 19-20 | — | Which part of RRC sealed the well: PC production, PA proration, FO field operations, CA commingle audit, LE legal enforcement. | — |
| 7 |
seal_removed_date
|
date | 21-28 | — | Date the seal was removed. Null while the well is still sealed. | — |
wl_gas_transfer
5 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
cycle_yyyymm
key
|
integer | — | — | The reporting cycle this row belongs to, as one YYYYMM integer, carried down from the reporting-cycle segment above it on the tape. | — |
| 3 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 4 |
transfer_code
|
text | 3 | — | Which way the allowable moves this cycle: 'S' the well is sending allowable, 'R' receiving it. e.g. R | — |
| 5 |
transfer_amount
|
integer measured in MCF | 4-8 | — | The amount of allowable involved in the transfer, in MCF. e.g. 1803 | — |
wl_gas_uic
8 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
wlroot_key
key
join
|
integer | — | — | The eight-digit RRC internal well id the row hangs off (WL-ROOT-KEY). Carried down from the 01 well root above it on the tape: the child segments have no key of their own. | — |
| 2 |
cycle_yyyymm
key
|
integer | — | — | The reporting cycle this row belongs to, as one YYYYMM integer, carried down from the reporting-cycle segment above it on the tape. | — |
| 3 |
seq
key
|
integer | — | — | Ordinal of this segment under its parent, counting from 1 in tape order. EZRRC's, not RRC's -- the segment carries no search field, and the manual calls several of these non-recurring where the tape does not agree, so the ordinal is what keeps the primary key unique. | — |
| 4 |
uic_control_no
join
|
integer | 3-11 | — | The UIC permit's control number -- the primary key of RRC's UIC database. Every one of the 1,170,867 oil rows resolves to a control number in the UIC Database dataset, across 45,177 distinct permits. | — |
| 5 |
h10_required_flag
|
text | 12 | — | Which annual survey this well owes: H or Y the H-10, Z the H-10H, G or N the G-10. | — |
| 6 |
uic_status_date
|
date | 13-20 | — | Documented by the manual as not currently used, and null in every row. | — |
| 7 |
prev_h10_status
|
text | 21 | — | Documented by the manual as not currently used, and null in every row. | — |
| 8 |
roll_segment_flag
|
text | 22 | — | 'Y' where this UIC segment rolls forward with the next month when RRC advances its database a cycle. | — |
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.
Statewide Gas Well Database joins to PDQ Well Completion Directory on Wlroot key = Well root number — one row here matches one row there.
is PDQ's well completion
The same bridge for the gas tape: 138,869 of the 138,901 gas wells resolve to exactly one PDQ well completion, which is where the API number and the county are. The two tapes share no root keys, so a key that matches here does not match the oil tape. 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-gas-well-database.wlroot_key = pdq-well-completion.well_root_no
Statewide Gas Well Database joins to PDQ Regulatory Lease Directory on District number = District number and Gas RRC ID = Lease number — many rows here share a single row there.
is the lease
PDQ carries a gas well as a lease keyed on its statewide RRC ID, so this well's gas_rrc_id is PDQ's lease_no. 138,870 of the 138,901 wells resolve, and the directory row carries the operator number and field number this tape does not. Restrict the PDQ side to oil_gas_code = 'G': without it the join returns 140,840 rows rather than 138,870, the extra 1,970 being oil leases that share their digits and district with a gas well. 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-gas-well-database.district_no = pdq-regulatory-lease-directory.district_no AND statewide-gas-well-database.gas_rrc_id = pdq-regulatory-lease-directory.lease_no
Statewide Gas Well Database joins to Gas Well Status (26 Month G-10) on Gas RRC ID = RRC ID — one row here matches many rows there.
was tested on the G-10 as
The gas well's RRC ID is the G-10 status file's rrc_id, and both sides store it as an integer, so this join needs nothing done to it. 154,313 test rows match, over 44,970 of the 138,901 wells. No district is needed: the RRC ID is unique across Texas (138,901 distinct values in 138,901 rows), and adding the district changes nothing -- all 154,313 matched rows agree on it, once internal 10 is read as District 08. The two files are cut at different times. The status file RRC publishes separately holds tests up to November 2021 and nothing after; this tape's own G-10 segment is current to July 2026, with 171,826 of its 172,707 tests dated 2022 or later. So a well with no match here is one with no test in that 2021 file -- which says nothing about whether it has been tested since. For that, read the G-10 segment this dataset already carries.
statewide-gas-well-database.gas_rrc_id = gas-well-status-g10.rrc_id
Statewide Gas Well Database joins to PDQ Lease Summary (master) on District number = District number and Gas RRC ID = Lease number — rows can match many rows in both directions.
produced as the lease
The gas tape's route to reported production: PDQ keys a gas well's summary on the same statewide RRC ID. 138,870 of the 138,901 wells match, over 510,890 pairs, because the summary repeats a lease per operator and field. Restrict the PDQ side to oil_gas_code = 'G'. 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-gas-well-database.district_no = pdq-lease-summary.district_no AND statewide-gas-well-database.gas_rrc_id = pdq-lease-summary.lease_no
Statewide Gas Well Database joins to Certificate of Authorization P-4 (Oil and Gas) on District number = District number and Gas RRC ID = Lease rrcid — one row here matches one row there.
is this gas well
A gas 'lease' is one well on both files, so this is one row to one row -- and it is exact: every one of the gas well database's 138,901 wells finds its P-4 lease, and 138,901 of the 140,121 gas leases still on the schedule find their well. Across all 294,582 gas leases it is 47%, the rest having left the schedule. Restrict this side to oil_gas_code = 'G'. Internal district numbers on both sides, text here and smallint there. 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.
p4-certificate-of-authorization.district_no = statewide-gas-well-database.district_no AND p4-certificate-of-authorization.lease_rrcid = statewide-gas-well-database.gas_rrc_id
Statewide Gas Well Database joins to Historical Ledger — Gas Well Months on Wlroot key — one row here matches many rows there.
is the well database record for the well
The most interesting edge on this family, and the only one on either tape that reaches a WELL rather than a lease or an RRC id. LDGSDATA carries RRC's internal eight-digit WLROOT key -- 'a number which will never change, even if the well changes to a different lease', in the manual's words -- and it is the same key WLA001K's root segment is built on. 32,228,787 of the 42,897,545 well-months resolve (75.1%), over 219,039 distinct keys of which 136,278 are in the current gas well database. The shortfall is the well database's own coverage: it holds the 138,901 wells on the schedule now, not every well that has been on it since 1993. The evidence that it is the right key, rather than a number that happens to match: where it resolves, the well database names the SAME district and RRC id as the ledger row on 136,278 of the 136,297 keys that match at all. And not one of the 219,039 matches anything in the OIL well database, which is what a per-tape key should do. Both columns are integers.
historical-ledger-gas-well-months.wlroot_key = statewide-gas-well-database.wlroot_key
Statewide Gas Well Database joins to Statewide Production Data — Gas on District number = District and Gas RRC ID = Gas RRC ID — one row here matches one row there.
is the scheduled well
The same hop for gas, and one-to-one: the gas well database is one row per RRC id, 138,901 of them, all on schedule. 2,963 of 5,000 sampled wells match, and exactly as many match on the id alone -- the district is carried here because it agrees, not because it is needed. It is the route from a well's allowable and production to its survey, its 14(b)(2) status and its removal history. 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-production-data-gas.district = statewide-gas-well-database.district_no AND statewide-production-data-gas.gas_rrc_id = statewide-gas-well-database.gas_rrc_id
Statewide Gas Well Database joins to Historical Ledger — Statewide Gas on District number = District and Gas RRC ID = Gas RRC ID — one row here matches one row there.
is the scheduled well
The route from a well's thirty-one years of allowables to its survey, its 14(b)(2) status and its removal history. 136,279 of the 219,384 wells match, and exactly as many match on the id alone -- the district is carried because WLA001K writes the same internal number this tape does, not because it is needed. The ceiling is the well database, which holds only the 138,901 wells currently on the gas schedule; this tape holds every well that reported in any month since 1993. 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-gas.district = statewide-gas-well-database.district_no AND historical-ledger-gas.gas_rrc_id = statewide-gas-well-database.gas_rrc_id
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.wl_gas_well
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.