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

LAD001, the gas half: S.LDF900GS, a 160-byte EBCDIC tape of the Commission's Historical Ledger database. At 105,926,205 records it is the largest single file EZRRC serves, and it is decoded here into five tables -- 219,384 gas WELLS by RRC id, each with up to 378 monthly CYCLES reaching back to January 1993, and hanging off every cycle the gas dispositions by code (54,242,820 of them), the condensate dispositions (7,897,112) and the balancing-period status (669,344).

It is the longest per-well series on this site, and what makes it different from a production series is that every month carries the REGULATORY record beside the volume: the allowable and the word allowable that stood in for it, the allowable code, the well type and its 14(b)(2) status, the operator and field as they were THAT month, the cumulative overage the well was working off, and where the gas went, code by code. 42,897,545 well-months in all.

WHICH OF THE FOUR TO TAKE. Four datasets on this site cover a gas well's monthly life and they are not interchangeable:

* This one for the LONG regulatory history -- 1993-01 to 2024-06, everything that has rolled off the Commission's live database.
* statewide-production-data-gas (PDA001) for the LIVE window. It holds 202407 to 202608 and it abuts this tape exactly: there is no overlapping cycle and no gap. It carries more per month than this does -- commingle permits, clerks' remarks, previous filings -- but only 26 months of it.
* pdq-lease-cycle for VOLUMES with names attached. PDQ reaches back to 199301 too and it carries the lease name, the operator name and the field name, which nothing on this tape does. What it does not carry is the allowable code, the well type, the balancing period, the dispositions broken out by code, or any balance at all.
* gas-ledger for the CURRENT proration schedule -- 12 to 14 months, with the gatherers, the county and the schedule status. It is the working document, not a history.

Where this tape and PDQ overlap they agree, once you know that this one is WET. In cycle 202406, production minus the code-9 (separation and extraction loss) disposition equals PDQ's lease_gas_prod_vol on 141,447 of the 141,466 wells in both; compared raw, wet against dry, only 111,614 match.

What you can do with it

Take a gas well's whole allowable-and-production history in one query -- 378 months for the wells that have been on the schedule since 1993 -- and put the reason beside the number: 5,530,195 well-months whose allowable was the word '14B2 EXT', 752,293 that read '14B DENY', 330,843 delinquent on the G-10. Follow flaring over three decades (810,826 vented-or-flared dispositions), find the 2,394,299 months carrying a cumulative overage, or the 3,794 where an operator cancelled an underage outright.

Gotchas

THE DISTRICT IS THE INTERNAL NUMBER, 01-14, not the designation RRC prints: 08 here is District 7B, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. There is no 07 on the gas tape (6E is an oil-only district) and no 12 (8B is not used). It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, which is why those joins need no translation -- and it is NOT the spelling the gas proration ledger or the G-10 use, where '08' means District 08. Joined to either on the column as it stands it matches 68,273 wells, and the matches are wrong rows.

A download from THIS page is texas.hist_gas_well: one row per RRC id with its opening balances, 219,384 rows and no month in sight. The 42.9M well-months are their own dataset, Historical Ledger -- Gas Well Months, and that is the page to start from unless you actually want the balances.

PRODUCTION IS WET. The tape's production figure is the volume RRC charges against the allowable, before lease separation. The dry volume everyone else publishes is that minus the code-9 disposition; see the description for the measurement.

The root record is a SNAPSHOT, not the beginning of the history. The manual defines its three balances as of the oldest cycle still on the LIVE database, so they describe the live ledger at the moment the tape was cut, not 1993. They mostly, not always, agree with the same columns on statewide-production-data-gas: 196,463 of the 219,315 wells in both for the gas balance and 151,284 for the condensate one.

cond_limit is zero in all 42,897,545 well-months -- the manual itself says 'data item is not used' -- and rein_underage_date is null in every one of them. reinstated_underage is non-zero on 14 rows and g9_injection on 826.

cumulative_overage carries 999,999,999 on 338,162 months. That is the manual's sentinel for 'underage was voluntarily cancelled during this balancing period', not a billion MCF.

Three code lists on this tape disagree with the copybook, and the column descriptions say so: balancing_rule_code is 'B' on 4,717,671 months and null on the rest, while the copybook's own N, R, C, S and L never appear at all; allowable_code carries '(' on 984,441 months, '¢' on 5,892, '00' on 474 and 'G' on 2, none of which is in appendix A; and well_type carries 'RT' on 987,220, which is in no list RRC publishes. Three gas disposition codes are outside the copybook's list too -- 0 on 7 rows, 11 on 1 and 98 on 2.

The gas cycle segment carries two packed fields at bytes 145 and 150 where the 2005 copybook prints eight bytes of FILLER. They are set on 33,416,946 of the 42,897,545 months (77.9%) -- 0.03% in 1993, 84.3% by 2003 and 100% of every month from 2006 -- and upstream kept them as undoc_packed_145 and undoc_packed_150 rather than guess. The second only ever holds 0, 110 or 1100. Nobody knows what either counts; do not read them as quantities.

Record layout

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

hist_gas_well 6 columns

This is the table you get when you download or query Historical Ledger — Statewide Gas.

Record layout for hist_gas_well — 6 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text 4-5 LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 01 RRC district (internal number)
2 gas_rrc_id key join integer 6-11 LDROOT-RRCID-NBR The well's RRC gas identifier as a whole number. Unique statewide -- 219,384 wells, 219,384 distinct ids -- so unlike the oil lease number it can be filtered and joined on by itself. e.g. 130821
3 og_code text 3 LDROOT-OG-CODE The tape's record marker, 'G' for a gas well, on all 219,384 rows. The oil tape writes 'O' in the same byte. e.g. G
4 gas_oldest_eom_balance integer measured in MCF 12-16 LD-GAS-OLDEST-EOM-BALANCE Cumulative gas overage, or underage where it is negative, as of the beginning of the oldest cycle on the LIVE database -- so this describes the live ledger at the tape cut, not 1993. Non-zero on 17,522 of the 219,384 wells and negative on 13,294 of those. It agrees with the same column on statewide-production-data-gas on 196,463 of the 219,315 wells both tapes carry; the two were cut on different days. e.g. 71712
5 cond_oldest_eom_balance integer measured in bbl 17-21 LD-COND-OLDEST-EOM-BALANCE Condensate on hand at the end of the oldest live cycle, in barrels. Non-zero on 24,339 wells, reaching 8,184. e.g. 167
6 liquid_oldest_eom_balance integer measured in bbl 22-26 LD-LIQUID-OLDEST-EOM-BALANCE The same for plant liquids, and only meaningful for wells in liquid-limit fields. All but dead: non-zero on 4 of the 219,384 wells. e.g. 0

hist_gas_balancing_period 7 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for hist_gas_balancing_period — 7 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 01 RRC district (internal number)
2 gas_rrc_id key join integer LDROOT-RRCID-NBR The well's RRC gas identifier as a whole number. Unique statewide -- 219,384 wells, 219,384 distinct ids -- so unlike the oil lease number it can be filtered and joined on by itself. e.g. 133
3 cycle_yyyymm key join integer LDGSDATA-CYCLE-KEY The reporting cycle this row belongs to, as a whole number: 202406 is June 2024. The tape does not store it that way -- it writes a nines-complement month index where January 1993 is 9927 and each later month is one LESS -- and upstream decodes it on load. The file runs 199301 to 202406, 378 months, and the cycle and disposition tables are PARTITIONED by this column, one partition per year, so a predicate on it is what makes a query over tens of millions of rows finish. e.g. 199308
4 balancing_period_status integer measured in MCF 3-7 LD-GAS-BALANCING-PERIOD-STATUS MCF of overage (positive) or underage (negative) accumulated since the last balancing-period status date. Non-zero on 147,780 of the 669,344 rows and negative on 104,877 of those. e.g. -11241
5 cancelled_underage integer measured in MCF 8-12 LD-GAS-CANCELLED-UNDERAGE MCF of underage carried out of the previous balancing period that was not used during this one, and so was cancelled. Non-zero on 72,465 rows. e.g. -16185
6 off_file_bal_per_status integer measured in MCF 13-17 LD-GAS-OFF-FILE-BAL-PER-STATUS The balancing-period status as of the most recent status date that is NOT on the live database -- the manual's way of reaching one period further back than the file goes. Non-zero on 2 of the 669,344 rows. e.g. 0
7 off_file_cum_overage integer measured in MCF 18-22 LD-GAS-OFF-FILE-CUM-OVERAGE The cumulative overage accumulated up to, and not including, the oldest cycle on the live database. Zero on every one of the 669,344 rows. e.g. 0

hist_gas_cond_disposition 5 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for hist_gas_cond_disposition — 5 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 01 RRC district (internal number)
2 gas_rrc_id key join integer LDROOT-RRCID-NBR The well's RRC gas identifier as a whole number. Unique statewide -- 219,384 wells, 219,384 distinct ids -- so unlike the oil lease number it can be filtered and joined on by itself. e.g. 130821
3 cycle_yyyymm key join integer LDGSDATA-CYCLE-KEY The reporting cycle this row belongs to, as a whole number: 202406 is June 2024. The tape does not store it that way -- it writes a nines-complement month index where January 1993 is 9927 and each later month is one LESS -- and upstream decodes it on load. The file runs 199301 to 202406, 378 months, and the cycle and disposition tables are PARTITIONED by this column, one partition per year, so a predicate on it is what makes a query over tens of millions of rows finish. e.g. 199301
4 disposition_code key smallint 3-4 LDG-CONDS-DISP-CODE Where the condensate went: 0 pipeline (1,366,481 rows), 1 truck (5,032,510), 2 tank car or barge, 3 tank cleaning, 4 circulating oil, 5 lost, 6 sedimentation, 7 other, 8 skim (1,377,680), 9 scrubber, 10 stock adjustment -- which may be negative -- 99 none. Every value on the file is in the list. e.g. 1
5 amount integer measured in bbl 5-9 LDG-CONDS-DISP-AMT The volume disposed of under this code, in barrels. One row per code per cycle; a lease with no disposition at all has no row here rather than a zero. Range on the file: -187 to 195,541. e.g. 362

hist_gas_disposition 5 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for hist_gas_disposition — 5 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 01 RRC district (internal number)
2 gas_rrc_id key join integer LDROOT-RRCID-NBR The well's RRC gas identifier as a whole number. Unique statewide -- 219,384 wells, 219,384 distinct ids -- so unlike the oil lease number it can be filtered and joined on by itself. e.g. 130821
3 cycle_yyyymm key join integer LDGSDATA-CYCLE-KEY The reporting cycle this row belongs to, as a whole number: 202406 is June 2024. The tape does not store it that way -- it writes a nines-complement month index where January 1993 is 9927 and each later month is one LESS -- and upstream decodes it on load. The file runs 199301 to 202406, 378 months, and the cycle and disposition tables are PARTITIONED by this column, one partition per year, so a predicate on it is what makes a query over tens of millions of rows finish. e.g. 199301
4 disposition_code key smallint 3-4 LDG-GAS-DISP-CODE Where the gas went, from the copybook's list: 1 lease fuel (13,385,861 rows), 2 pipeline (18,607,236), 3 processing plant (11,161,973), 4 vented or flared (810,826), 5 gas lift, 6 repressure, 7 carbon black, 8 underground storage, 9 separation and extraction loss (10,189,298), 99 none. Three values are outside the list and unexplained: 0 on 7 rows, 11 on 1 and 98 on 2. The dispositions sum to the cycle's WET production -- for RRC id 130821 in 199301, 17,861 pipeline plus 20,515 plant plus 315 separation loss is exactly its 38,691 MCF. e.g. 3
5 amount integer measured in MCF 5-9 LDG-GAS-DISP-AMT The volume disposed of under this code, in MCF. One row per code per cycle; a lease with no disposition at all has no row here rather than a zero. Range on the file: 1 to 6,857,567. e.g. 20515

hist_gas_well_cycle 40 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset — it is published separately as Historical Ledger — Gas Well Months.

Record layout for hist_gas_well_cycle — 40 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 district key join text LDROOT-DISTRICT RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints. The manual's own conversion table reads 07 = 6E (oil only), 08 = 7B, 09 = 7C, 10 = District 08, 11 = 8A, 12 = 8B (not used, and absent from both tapes), 13 = 09 and 14 = District 10. It is the same spelling PDQ writes in district_no and the statewide production tape writes in district, and it is NOT the spelling the proration ledgers, the W-10 or the G-10 use: on those '08' means District 08, and here it means 7B. e.g. 01 RRC district (internal number)
2 gas_rrc_id key join integer LDROOT-RRCID-NBR The well's RRC gas identifier as a whole number. Unique statewide -- 219,384 wells, 219,384 distinct ids -- so unlike the oil lease number it can be filtered and joined on by itself. e.g. 130821
3 cycle_yyyymm key join integer 3-6 LDGSDATA-CYCLE-KEY The reporting cycle this row belongs to, as a whole number: 202406 is June 2024. The tape does not store it that way -- it writes a nines-complement month index where January 1993 is 9927 and each later month is one LESS -- and upstream decodes it on load. The file runs 199301 to 202406, 378 months, and the cycle and disposition tables are PARTITIONED by this column, one partition per year, so a predicate on it is what makes a query over tens of millions of rows finish. e.g. 199301
4 operator_no join integer 7-12 LDGSDATA-OPERATOR-NUMBER The six-digit P-5 operator number for THIS cycle, which is what makes the file a history rather than a snapshot: a lease that changed hands in 2007 has one number before and another after. 12,351 distinct numbers appear across the file and all 12,351 of them resolve in the P-5 operator directory. e.g. 844118
5 field_no join integer 13-17 LDGSDATA-FL-FIELD-NO The five-digit RRC field number for this cycle, as a whole number. It is the field HALF of the eight-digit field key; field_reservoir_no is the other three digits. Reassemble them as field_no * 1000 + field_reservoir_no before joining to a PDQ or field-tape field number. e.g. 42803
6 field_reservoir_no integer 18-20 LDGSDATA-FIELD-RESERVOIR-NO The three-digit reservoir number under the field, the low end of RRC's eight-digit field key. Non-zero on 42,894,558 of the 42,897,545 rows. e.g. 749
7 field_type text 21 LDGSDATA-FIELD-TYPE 'A' where the gas field is associated with an oil field and 'N' where it is not -- 7,933,942 and 34,963,555 months. The manual says outright that the item is no longer maintained, so read it as the classification RRC last set rather than as current fact. e.g. N
8 type_field_code text 22-23 LDGSDATA-TYPE-FIELD-CODE How the field's monthly allowable is calculated, which is the single most useful classification on the tape: CA capacity (30,731,755 months), PR prorated (3,755,475), ON one-well (3,181,303), EX exempt (2,965,226), 49 rule 49B (1,973,702), ST storage, SV salvage, LQ liquid limit. The copybook's CY (cycling) and SP (special) never appear. e.g. CA
9 balancing_field_flag text 24 LDGSDATA-BALANCING-FIELD-FLAG 'Y' where the field balances -- prorated fields, and 49B fields under regular balancing rules. 3,914,097 months. The tape leaves it blank rather than writing 'N', so null is the negative.
10 balancing_rule_code text 25 LDGSDATA-BALANCING-RULE-CODE Which balancing rule the field's wells are under. THE TAPE AND THE COPYBOOK DISAGREE: the copybook lists N none, R regular, C, S and L, and not one of those five appears anywhere on the file. What does appear is 'B', on 4,717,671 months, with the remaining 38,179,874 blank. Treat it as a flag that a balancing rule applied rather than as the copybook's five-way code.
11 well_no text 26-31 LDGSDATA-WELL-NUMBER The operator's own well number, six characters, WITH the tape's leading blanks kept: ' 3' and ' 1H', not '3'. The manual describes an elaborate positional convention (the first byte may be alphabetic, the fifth and sixth may be) which is why the padding is significant and is not stripped. Set on 42,701,894 months. e.g. 3
12 wlroot_key join integer 32-39 LDGSDATA-WLROOT-KEY RRC's internal eight-digit well-database root key -- 'a number which will never change, even if the well changes to a different lease', in the manual's words. It is the only route from this tape to a well's survey, 14(b)(2) history and removal record. Non-zero on 42,700,467 months over 219,039 distinct keys, of which 136,278 are in the current statewide gas well database; where they match, that database names the same district and RRC id on 136,278 of 136,297. The shortfall is wells that have left the schedule since, not a bad key -- and none of these keys matches the OIL well database, which is how it should be. e.g. 307090
13 p2_filed text 40 LDGSDATA-P2-FILED-FLAG 'Y' where a Form P-2 was filed for the cycle before it rolled off the live database, on 36,952,919 months. The tape writes '0' (1,706,523) or nothing (4,236,639) rather than the copybook's 'N', which appears on 1,464 rows in the whole file. e.g. Y
14 corrected_p2 text 41 LDGSDATA-CORRECTED-P2-FLAG 'Y' where a report was filed after the cycle had already rolled off -- a historical correction, on 1,652,690 months.
15 word_allowable text 42-49 LDGSDATA-WORD-ALLOWABLE The REASON no numeric allowable was assigned, written as a word rather than a number, and it is one of the most readable things on the tape: '14B2 EXT' (5,530,195 months), ' T. A.' (1,121,213), ' SWR 10' (985,395), '14B DENY' (752,293), 'PRTL PLG', 'SI MULT', 'DLQ G-10', 'INJECT', ' SHUT IN'. Null on 32,126,231 months, where a number was assigned instead. The tape's leading blanks are kept, so match with 'contains' rather than 'equals'.
16 allowable integer measured in MCF 50-54 LDGSDATA-ALLOWABLE The maximum gas the well was allowed to produce for the cycle, in MCF -- the daily allowable times the days in the month. Non-zero on 29,229,859 months and reaching 435,608,001 MCF. It is stored in FULL here, unlike statewide-production-data-gas's balancing_allow_amt, which keeps only its low five digits. e.g. 110403
17 well_type text 55-56 LDGSDATA-WELL-TYPE The well's type that cycle, off the well database: PR producing (27,620,707 months), TA temporarily abandoned (5,935,290), SH shut-in, PP partial plug, ZZ not eligible for an allowable, IN injection, SM shut-in multiple completion, AB plugged and abandoned, DW domestic, GJ/GW gas storage injection and withdrawal, OB observation, WS water supply, BM brine mining, SD sealed, GT geothermal, TR training. '00' on 5,226,204 months is the tape's zeros placeholder, and 'RT' on 987,220 is in no list RRC publishes. e.g. 00
18 code_14b2 text 57 LDGSDATA-14B2-CODE Statewide Rule 14(b)(2) requires a well be plugged once it stops producing; this is the exception status. 0 none granted (36,326,076 months), 1 extension in effect (5,511,009), 4 denied (791,828), 5 denied over an H-15 violation (45,896). e.g. 0
19 allowable_code text 60-61 LDGSDATA-ALLOWABLE-CODE Appendix A's type-of-allowable code: N special allowable by administrative action (15,948,016 months), X exempt/salvage (11,962,308), K shut-in under a 14(b)(2) exception (7,324,600), # restricted to 100% of the daily production test (1,495,955), J temporarily abandoned, R deliverability plus overage, O delinquent G-10, Z not eligible, I injection, H shut-in, W withheld pending forms, A plugged, S special by Commission action, T incomplete G-10, @ limited to top production, > delinquent P-2, % plugged and abandoned with condensate on hand, D disposal, C cycling. FOUR VALUES ARE NOT IN THE APPENDIX: '(' on 984,441 months, '¢' on 5,892, '00' on 474 and 'G' on 2. The appendix's L and U never appear. e.g. X
20 top_sched_allowable integer measured in MCF 62-66 LDGSDATA-TOP-SCHED-ALLOWABLE The largest allowable RRC's calculate program could have assigned the well this cycle, in MCF -- the ceiling the actual allowable was cut down from. Non-zero on 30,493,955 months, which is more than carry an allowable, because a well limited to zero still has a top. e.g. 58900
21 revised_allow_code text 67-68 LDGSDATA-REVISED-ALLOW-CODE Two characters that are '00' on 11,903,373 months and blank on the other 30,994,172, and nothing else. The copybook's description of this item is a copy-paste of LDGSDATA-ALLOWABLE's and describes an amount rather than a code, so it explains nothing; the tape's own content is all there is to go on. Do not read it as a revised allowable.
22 commingled text 69 LDGSDATA-COMMINGLED-FLAG 'Y' where the lease held an active permit to commingle liquids that cycle -- 11,131,846 months against 31,635,527 'N'.
23 production integer measured in MCF 70-74 LDGSDATA-PRODUCTION MCF of gas the operator reported on the Form P-2 for the cycle. THIS IS THE WET VOLUME, the one charged against the allowable. The dry volume everyone else publishes is this minus the code-9 (separation and extraction loss) disposition: in cycle 202406 that identity equals PDQ's lease_gas_prod_vol on 141,447 of the 141,466 wells both carry, where the raw wet figure matches only 111,614. Non-zero on 29,514,788 months; the largest is 6,891,097. e.g. 38691
24 injection_credit_code text 75 LDGSDATA-INJECTION-CREDIT-CODE What kind of injection credit the G-9 amount beside it is: 0 none (41,692,235 months), 1 injection credit (826). The copybook's 2 gas-lift credit and 3 bank balance never appear.
25 g9_injection integer measured in MCF 76-80 LDGSDATA-G9-INJECTION-AMOUNT MCF of gas credited back to the well for injection under a Form G-9 -- secondary or tertiary recovery, or pressure maintenance. All but unused: non-zero on 826 of the 42,897,545 months, exactly the rows where injection_credit_code is 1.
26 lift_gas_injected integer measured in MCF 81-85 LDGSDATA-LIFT-GAS-INJECTED MCF of gas injected into the well to enhance production. Non-zero on 53,463 months.
27 monthly_status integer measured in MCF 86-90 LDGSDATA-MONTHLY-STATUS THIS cycle's gas status in MCF: production, less the injection credit, less the allowable, plus any overage transfer and reinstated underage. Positive is overproduced, negative underproduced. Non-zero on 18,848,934 months and negative on 17,274,947 of those -- underproduction is the normal state of a Texas gas well. e.g. -71712
28 reinstated_underage integer measured in MCF 91-95 LDGSDATA-REINSTATED-UNDERAGE Gas underage reinstated as of rein_underage_date, in MCF. Reaching the end of its life: non-zero on 14 of the 42,897,545 months.
29 rein_underage_date date 96-103 LDGSDATA-REIN-UNDERAGE-DATE The date the underage above was reinstated, CCYYMMDD on the tape. NULL on every one of the 42,897,545 months -- the tape writes zeros, which decode to no date, even on the 14 rows that carry an amount.
30 overage_transfer integer measured in MCF 104-108 LDGSDATA-OVERAGE-TRANSFER MCF of overproduction the well brought with it from before a workover or a reclassification. Non-zero on 1,386 months.
31 cumu_status integer measured in MCF 109-113 LDGSDATA-CUMU-STATUS The well's cumulative gas status in MCF at the end of this cycle: the previous cycle's figure plus this one's monthly_status, floored at zero in every field type except prorated. Underage is NOT accumulated, which is why it is non-zero on only 2,867,483 months and negative on 750,977 of those.
32 cond_limit integer measured in bbl 114-118 LDGSDATA-COND-LIMIT Zero in all 42,897,545 months. The manual says so itself -- 'data item is not used' -- and the column is carried rather than dropped so the month RRC starts writing it, it appears.
33 cond_plant_production integer measured in bbl 119-123 LDGSDATA-COND-PLANT-PRODUCTION Barrels of liquid separated at a plant and allocated to the well. Non-zero on 626 months in the whole file.
34 cond_lease_production integer measured in bbl 124-128 LDGSDATA-COND-LEASE-PRODUCTION Barrels of condensate separated at the well location, as reported by the operator. This is the condensate figure to use: non-zero on 10,305,553 months. e.g. 286
35 cond_eom_balance integer measured in bbl 129-133 LDGSDATA-COND-EOM-BALANCE Condensate on hand at the end of the month, in barrels -- 'stock on hand': the previous month's balance plus what was produced, less every liquid disposition. Non-zero on 15,712,071 months, and the newest cycle's value is what the live production database opens on (141,267 of 141,466 wells agree for 202406). e.g. 91
36 cancel_underage_flag text 134 LDGSDATA-CANCEL-UNDERAGE-FLAG How the next cycle's cumulative status treats this one's underage: N no cancellation (42,761,384 months), Y cancel, A cancel after the automatic February/August cancellation (1,634), B cancel before it (35). 'Y' appears on 3,794 months, and '0' and 'D' on 474 and 1 respectively, neither of which the copybook lists. e.g. N
37 cumulative_overage integer measured in MCF 135-139 LDGSDATA-CUMULATIVE-OVERAGE MCF of overproduction accumulated since the first cycle of this balancing period. WATCH THE SENTINEL: 999,999,999 on 338,162 months means an underage was voluntarily cancelled during the period, not a billion MCF of overage. Non-zero on 2,394,299 months in all.
38 liquid_cumu_status integer measured in bbl 140-144 LDGSDATA-LIQUID-CUMU-STATUS The cumulative liquid status for wells in liquid-limit fields -- plant liquid plus lease liquid, less the allowable, added to the beginning status. Non-zero on 132 of the 42,897,545 months, because liquid-limit fields are 1,695 of them.
39 undoc_packed_145 integer 145-149 An undocumented nine-digit packed value at byte 145, where the 2005 copybook prints FILLER PIC X(08) VALUE ZEROS. It is really there: 33,416,946 of the 42,897,545 months carry it (77.9%), and the take-up is a rollout rather than a scatter -- 0.03% of 1993 cycles, 3% by 2002, 84.3% in 2003, and 100% of every month from 2006 to the end of the file. The rest hold the EBCDIC zeros the copybook declares, which decode to null. Upstream kept it under its byte position rather than giving it a name it might not deserve. Nobody knows what it counts; do not read it as a quantity. e.g. (null: the tape wrote zeros in 1993)
40 undoc_packed_150 integer 150-152 A second undocumented packed value, five digits, at byte 150 -- the back half of the same eight bytes of FILLER. Set on the same 33,416,946 months, and over all of them it only ever holds 0 (5,995,765), 110 (26,766,924) or 1100 (654,257), which is why it reads as a code rather than an amount. Meaning unknown.

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, district, district, district, district

RRC's internal sequential district numbering, 01 to 14 plus 20 for statewide. The production data, the UIC database and the high-cost gas certifications all use this. Internal 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. There is no internal 12.

RRC district (internal number) — 14 codes and their meanings
CodeMeans
01 District 01 — San Antonio (internal 01) Internal district number 01, which RRC prints as District 01 and administers from San Antonio.
02 District 02 — San Antonio (internal 02) Internal district number 02, which RRC prints as District 02 and administers from San Antonio.
03 District 03 — Houston (internal 03) Internal district number 03, which RRC prints as District 03 and administers from Houston.
04 District 04 — Corpus Christi (internal 04) Internal district number 04, which RRC prints as District 04 and administers from Corpus Christi.
05 District 05 — Kilgore (internal 05) Internal district number 05, which RRC prints as District 05 and administers from Kilgore.
06 District 06 — Kilgore (internal 06) Internal district number 06, which RRC prints as District 06 and administers from Kilgore.
07 District 6E — Kilgore (internal 07) Internal district number 07, which RRC prints as District 6E and administers from Kilgore.
08 District 7B — Abilene (internal 08) Internal district number 08, which RRC prints as District 7B and administers from Abilene.
09 District 7C — San Angelo (internal 09) Internal district number 09, which RRC prints as District 7C and administers from San Angelo.
10 District 08 — Midland (internal 10) Internal district number 10, which RRC prints as District 08 and administers from Midland.
11 District 8A — Midland (internal 11) Internal district number 11, which RRC prints as District 8A and administers from Midland.
13 District 09 — Wichita Falls (internal 13) Internal district number 13, which RRC prints as District 09 and administers from Wichita Falls.
14 District 10 — Pampa (internal 14) Internal district number 14, which RRC prints as District 10 and administers from Pampa.
20 District 20 — State Wide (internal 20) Internal district number 20, which RRC prints as District 20 and administers from State Wide.

Source: Generated from texas.pdq_gp_district.district_no

What this joins to

The Railroad Commission never states these keys anywhere in the files. They are the reason the data is hard to use, so here they are with the exact columns on both sides.

Historical Ledger — Statewide Gas joins to Historical Ledger — Gas Well Months on District and Gas RRC ID — one row here matches many rows there.

has its months

The 02 LDGSDATA segment under the root: every month this well reported since January 1993, with its allowable, the word allowable that stood in for it, the production, the overage and the well's type that cycle. All 219,384 wells have at least one, averaging 195, and the longest carry all 378. This is where a reader should be going. The root is 219,384 rows of balances; the months are 42,897,545 rows of history.

historical-ledger-gas.district = historical-ledger-gas-well-months.district AND historical-ledger-gas.gas_rrc_id = historical-ledger-gas-well-months.gas_rrc_id

Historical Ledger — Statewide Gas joins to Statewide Production Data — Gas on District and Gas RRC ID — one row here matches one row there.

continues into the live production database

The other half of the same well. This tape ends at cycle 202406 and PDA001 begins at 202407 -- no overlapping month, no gap -- so the two together run from January 1993 to last month. 219,315 of the 219,384 wells here are in the live database; the 69 that are not have reported nothing inside its 26-month window. The handover is checkable on the condensate: this tape's 202406 cond_eom_balance is pd_gas_well.cond_oldest_eom_balance on 141,267 of the 141,466 wells that reported that month. Same types on both sides, so no cast is needed.

historical-ledger-gas.district = statewide-production-data-gas.district AND historical-ledger-gas.gas_rrc_id = statewide-production-data-gas.gas_rrc_id

Historical Ledger — Statewide Gas joins to PDQ Regulatory Lease Directory on District = District number and Gas RRC ID = Lease number — one row here matches one row there.

is the regulatory lease

The gas well's name, its current operator and its field, none of which is on this tape. 219,356 of the 219,384 wells resolve. Restrict PDQ 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.

historical-ledger-gas.district = pdq-regulatory-lease-directory.district_no AND historical-ledger-gas.gas_rrc_id = pdq-regulatory-lease-directory.lease_no

Historical Ledger — Statewide Gas joins to PDQ Lease Production by Cycle on District = District number and Gas RRC ID = Lease number — one row here matches many rows there.

produced, by month

PDQ carries a gas well as a lease keyed on the same RRC id, so this is the oil join again and it scores the same way: all 219,384 wells on this tape have PDQ cycles. MIND THE WET AND THE DRY. This tape's production is the WET volume charged against the allowable; PDQ's lease_gas_prod_vol is the dry one. In cycle 202406, production minus the code-9 (separation and extraction loss) disposition equals PDQ's figure on 141,447 of the 141,466 wells both carry, where comparing the raw volumes matches only 111,614. In 200506 all 103,045 wells reporting match on the key. Restrict PDQ to oil_gas_code = 'G', and add the cycle if you are joining month to month -- Historical Ledger -- Gas Well Months carries cycle_yyyymm for exactly that. 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 = pdq-lease-cycle.district_no AND historical-ledger-gas.gas_rrc_id = pdq-lease-cycle.lease_no

Historical Ledger — Statewide Gas joins to Statewide Gas Well Database on District = District number 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

Historical Ledger — Statewide Gas joins to Gas Ledger — Wells on Gas RRC ID — many rows here share a single row there.

is scheduled in the gas proration ledger as

From the historical record to the schedule that sets the allowable today, and with it the well's name, county, gatherers and completion date. 138,401 of the 219,384 wells match: the ledger holds the wells currently on schedule and this tape holds every well that has ever been. It is declared on the RRC id ALONE, deliberately. The two files spell the district in different vocabularies -- this one writes the internal number and the ledger writes 07B and 08A -- so a join carrying it would be wrong rather than merely narrow: on the columns as they stand it matches 68,273, and some of those are other districts' wells. The id is unique statewide (219,384 wells, 219,384 ids), so nothing is lost by dropping the district. Both columns are integers. Both rates were counted over the whole table rather than a 5,000-row sample: this tape is one row per well, not per month, so the whole of it is cheap to count and is better evidence.

historical-ledger-gas.gas_rrc_id = gas-ledger-wells.gas_rrc_id

Historical Ledger — Statewide Gas joins to PDQ Well Completion Directory on District = District number and Gas RRC ID = Lease number — one row here matches one row there.

is the well whose completion is

From the gas id to PDQ's completion record and its API number. 219,205 of the 219,384 wells match, and exactly one row comes back for each, because a gas 'lease' in PDQ IS one well. The oil edge is the same join and one-to-many. Restrict 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.

historical-ledger-gas.district = pdq-well-completion.district_no AND historical-ledger-gas.gas_rrc_id = pdq-well-completion.lease_no

Historical Ledger — Statewide Gas joins to PDQ Lease Summary (master) on District = District number and Gas RRC ID = Lease number — one row here matches many rows there.

has a production summary

The first and last cycles PDQ holds gas production for. 219,355 of 219,384 wells match, and more than one row can come back: the summary is keyed on the well AND its operator and field, so a well that changed hands over thirty-one years has a row for each. Restrict 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.

historical-ledger-gas.district = pdq-lease-summary.district_no AND historical-ledger-gas.gas_rrc_id = pdq-lease-summary.lease_no

Historical Ledger — Statewide Gas 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 deliverability tests behind the allowable. 48,301 of the 219,384 wells match, and the ceiling is the G-10 file rather than the key: the copy RRC publishes was cut in late 2021 and holds no test after November of that year. On the id alone, for the same reason as the ledger edge above -- the G-10 writes the printed district (7B, 8A) and this tape writes the internal number. Both columns are integers.

historical-ledger-gas.gas_rrc_id = gas-well-status-g10.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.hist_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.