Get the data

Free. You will be asked to confirm an email address before the files are built — that is the only gate, and it is there so we can tell you when a large export is ready.

Preview the first 100 rows

What this is

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.

Record layout for wl_gas_well — 23 columns, with byte positions
# 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.
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.

Record layout for wl_gas_forms_lacking — 4 columns, with byte positions
# 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.

Record layout for wl_gas_forms_lacking_desc — 5 columns, with byte positions
# 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.

Record layout for wl_gas_g1 — 14 columns, with byte positions
# 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.

Record layout for wl_gas_g10 — 28 columns, with byte positions
# 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.

Record layout for wl_gas_g10_prev — 29 columns, with byte positions
# 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.

Record layout for wl_gas_gc1 — 10 columns, with byte positions
# 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.

Record layout for wl_gas_prev_allowable — 36 columns, with byte positions
# 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.

Record layout for wl_gas_remark — 6 columns, with byte positions
# 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.

Record layout for wl_gas_report_cycle — 59 columns, with byte positions
# 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.

Record layout for wl_gas_sb126 — 6 columns, with byte positions
# 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.

Record layout for wl_gas_sealed — 7 columns, with byte positions
# 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.

Record layout for wl_gas_transfer — 5 columns, with byte positions
# 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.

Record layout for wl_gas_uic — 8 columns, with byte positions
# 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.

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

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.

Oil or gas schedule — 2 codes and their meanings
CodeMeans
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.