Field Monthly Statistics (Allowables and Production)
Queryable EBCDIC
Field-level monthly allowables beside the P-1 and P-2 production actually reported. 4.0 million field-months, and no other RRC file has them.
Get the data
Heads up on Original: the Commission does not publish this table on its own. It publishes Statewide Field Data, which this was parsed out of — so Original gets you that whole file, not just this table. Every other format is this table alone.
Free. You will be asked to confirm an email address before the files are built — that is the only gate, and it is there so we can tell you when a large export is ready.
What this is
The 17 FLDMO segment of the statewide field tape, one row per field per month: the gas, oil, condensate and casinghead allowables the Commission assigned, the gas and condensate reported on form P-2, the oil and casinghead gas reported on form P-1, and two codes saying how much of that reporting had actually come in.
4,015,934 rows over all 65,826 fields. The manual promises 24 months and the tape delivers more: 59,790 fields carry the last 26 months, and 6,032 carry every month back to September 1992.
The allowable half is what makes this unique. PDQ's field cycle table carries the same monthly production and no allowables at all, so nothing else published by RRC lets you put what a field was allowed to produce beside what it did.
What you can do with it
Compare a field's allowable with its production, month by month, and see when a field was held back by proration rather than by geology.
Build a monthly gas or oil series for a field, a district or the state without waiting for the annual report, and reconcile it against PDQ's own field cycle figures.
Find the months where reporting was incomplete before drawing conclusions from a dip: partial_gas_well_prod_cd and partial_oil_well_prod_cd say whether every P-1 and P-2 was in.
Gotchas
The tape's newest month is a stub and the month before it has allowables but no production, because reporting lags allowable assignment by about two months. In the August 2026 file, 9,502 fields carry a July allowable and not one carries an August one; SPRABERRY (TREND AREA) shows 28,887,062 barrels of oil allowable for July and zeros across August.
A row exists for every month the field is on the tape whether or not anything happened: 1,010,771 of the 4,015,934 rows carry any production at all and 1,071,468 carry any allowable. That is why only 41% of rows match a PDQ field cycle and 99% of the rows WITH production do.
liquid_cond_allowable is zero in every row. Liquid limits are no longer set, and the gas segment's own liquid totals agree.
casinghead_gas_limit reads 999999999 where the limit is really 'none'; unlimited_casinghead_flag says so properly.
include_drop_gas_stats_flag and include_drop_oil_stats_flag are empty in every row — RRC bookkeeping the tape no longer writes.
The field key is (district_no, field_no) with district_no the INTERNAL number and field_no an integer. Pad the field number back to eight characters before joining to PDQ.
Record layout
18 columns. Byte positions are 1-based and come from the RRC record layout, so you can check our decoding against the original file yourself.
fl_field_month
18 columns
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
district_no
key
join
|
text | — | FL-DISTRICT |
RRC district as the FL tape stores it, 01 to 14 — the INTERNAL number, not the designation the industry prints. 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is District 09 and 14 is District 10. This is the same numbering PDQ calls district_no, so the two join directly; the printed form is on fl_field.district_name. Code 12 (District 8B) is reserved and no field carries it. e.g. 09 | RRC district (internal number) |
| 2 |
field_no
key
join
|
integer | — | FL-NUMBER |
The eight-digit RRC field number: five digits of field, then three of reservoir. Stored as an INTEGER, so the leading zeros are gone — 6,529 of the 65,826 fields have one. Pad it back before joining to PDQ or the Oracle field rules, which key on it as eight characters: lpad(field_no::text, 8, '0'). Padded, all 65,826 fields resolve to the PDQ field directory; unpadded, 59,297 do. e.g. 85279200 | — |
| 3 |
prod_yyyymm
key
|
integer | 3-8 | FL-PRODUCTION-DATE |
The production month this row is for, as yyyymm. 199209 through 202608 on the August 2026 tape. The manual promises 24 months and the file delivers more: 59,790 fields carry the last 26 months only, while 6,032 carry all 408 months back to September 1992. e.g. 202607 | — |
| 4 |
gas_allowable
|
bigint measured in MCF | 11-17 | FL-GAS-ALLOWABLE |
Gas well gas the field was allowed to produce that month, in MCF. This is the field's total, assigned by the Commission and then prorated among its wells by the allocation formula. e.g. 185840 | — |
| 5 |
liquid_cond_allowable
|
integer measured in bbl | 18-22 | FL-LIQUID-COND-ALLOWABLE |
The monthly condensate (liquid) allowable assigned to a gas field, in barrels. ZERO in all 4,015,934 rows of this tape: liquid limits are no longer set, which the gas segment's own on-file and year-to-date liquid totals confirm. | — |
| 6 |
oil_allowable
|
integer measured in bbl | 23-27 | FL-OIL-ALLOWABLE |
Oil the field was allowed to produce that month, in barrels — the field total that the yardstick and the field's allocation formula distribute among its wells. e.g. 28887062 | — |
| 7 |
casinghead_gas_limit
|
integer measured in MCF | 28-32 | FL-CASINGHEAD-GAS-LIMIT |
MCF of casinghead gas — gas produced from an oil well — the field was allowed that month. 999999999 appears where the limit is the mainframe's 'no limit'; unlimited_casinghead_flag says so properly. e.g. 16864422 | — |
| 8 |
p2_gas_production
|
integer measured in MCF | 33-37 | FL-P2-GAS-PRODUCTION |
Gas well gas the operators reported for the field that month on form P-2, in MCF. Reporting lags allowables by about two months, so the newest cycles read zero until the reports arrive. | — |
| 9 |
p2_condensate_production
|
integer measured in bbl | 38-42 | FL-P2-CONDENSATE-PRODUCTION |
Condensate reported on form P-2 for the field that month, in barrels. | — |
| 10 |
partial_gas_well_prod_cd
|
text | 43 | FL-PARTIAL-GAS-WELL-PROD-CD |
How complete the P-2 reporting is for the month: 'A' all reports in, 'S' some, 'N' none, 'I' no gas wells in the field. 'I' is the commonest value, on 1,856,462 rows, and 284,638 rows carry nothing at all. Anything other than 'A' means the production figures beside it are partial. e.g. N | — |
| 11 |
p1_oil_production
|
integer measured in bbl | 44-48 | FL-P1-OIL-PRODUCTION |
Oil the operators reported for the field that month on form P-1, in barrels. | — |
| 12 |
p1_casinghead_production
|
integer measured in MCF | 49-53 | FL-P1-CASINGHEAD-PRODUCTION |
Casinghead gas reported on form P-1 for the field that month, in MCF. | — |
| 13 |
partial_oil_well_prod_cd
|
text | 54 | FL-PARTIAL-OIL-WELL-PROD-CD |
How complete the P-1 reporting is: 'A' all reports in, 'S' some, 'N' none, 'I' no oil wells in the field. Read it before comparing one month with another. e.g. N | — |
| 14 |
date_last_updated
|
date | 55-62 | FL-DATE-LAST-UPDATED |
When the mainframe last wrote this row, CCYYMMDD. Filled on 2,849,023 of the rows, running 1994-10-17 to 2026-07-23; the older months carry none. e.g. 2026-07-23 | — |
| 15 |
unlimited_casinghead_flag
|
text | 63 | FL-UNLIMITED-CASINGHEAD-FLAG |
'Y' where the field's casinghead gas is unlimited — it may produce to capacity. 4,754 rows. e.g. N | — |
| 16 |
include_drop_gas_stats_flag
|
text | 64 | FL-INCLUDE-DROP-GAS-STATS-FLAG |
RRC bookkeeping: 'Y' where gas well records for this field-month were dropped off the master production tapes and stored elsewhere. EMPTY in every row. | — |
| 17 |
include_drop_oil_stats_flag
|
text | 65 | FL-INCLUDE-DROP-OIL-STATS-FLAG |
The same for oil lease records. EMPTY in every row. | — |
| 18 |
total_calc_res_amount
|
integer measured in MCF | 66-70 | FL-TOTAL-CALC-RES-AMOUNT |
The total reservoir allowable as actually calculated, in MCF. It differs slightly from gas_allowable because the assigned total cannot always be divided evenly among the wells and the mainframe does not carry fractions. e.g. 185251 | — |
Code lookups used here
Every coded column in this dataset resolves to a real lookup table, so
a well code of G can be read as what it actually means.
RRC district (internal number) 14 values
Read by district_no
RRC's internal sequential district numbering, 01 to 14 plus 20 for statewide. The production data, the UIC database and the high-cost gas certifications all use this. Internal 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. There is no internal 12.
| Code | Means |
|---|---|
01 |
District 01 — San Antonio (internal 01) Internal district number 01, which RRC prints as District 01 and administers from San Antonio. |
02 |
District 02 — San Antonio (internal 02) Internal district number 02, which RRC prints as District 02 and administers from San Antonio. |
03 |
District 03 — Houston (internal 03) Internal district number 03, which RRC prints as District 03 and administers from Houston. |
04 |
District 04 — Corpus Christi (internal 04) Internal district number 04, which RRC prints as District 04 and administers from Corpus Christi. |
05 |
District 05 — Kilgore (internal 05) Internal district number 05, which RRC prints as District 05 and administers from Kilgore. |
06 |
District 06 — Kilgore (internal 06) Internal district number 06, which RRC prints as District 06 and administers from Kilgore. |
07 |
District 6E — Kilgore (internal 07) Internal district number 07, which RRC prints as District 6E and administers from Kilgore. |
08 |
District 7B — Abilene (internal 08) Internal district number 08, which RRC prints as District 7B and administers from Abilene. |
09 |
District 7C — San Angelo (internal 09) Internal district number 09, which RRC prints as District 7C and administers from San Angelo. |
10 |
District 08 — Midland (internal 10) Internal district number 10, which RRC prints as District 08 and administers from Midland. |
11 |
District 8A — Midland (internal 11) Internal district number 11, which RRC prints as District 8A and administers from Midland. |
13 |
District 09 — Wichita Falls (internal 13) Internal district number 13, which RRC prints as District 09 and administers from Wichita Falls. |
14 |
District 10 — Pampa (internal 14) Internal district number 14, which RRC prints as District 10 and administers from Pampa. |
20 |
District 20 — State Wide (internal 20) Internal district number 20, which RRC prints as District 20 and administers from State Wide. |
Source: Generated from texas.pdq_gp_district.district_no
What this joins to
The Railroad Commission never states these keys anywhere in the files. They are the reason the data is hard to use, so here they are with the exact columns on both sides.
Field Monthly Statistics (Allowables and Production) joins to Statewide Field Data on District number and Field number — many rows here share a single row there.
is a month of
Each field-month back to the field it belongs to, for the name, the class and the rules. Every one of 20,000 sampled rows resolves, as it must: the loader drops a child whose parent it never saw.
statewide-field-monthly-statistics.district_no = statewide-field-data.district_no AND statewide-field-monthly-statistics.field_no = statewide-field-data.field_no
Field Monthly Statistics (Allowables and Production) joins to PDQ Field Production by Cycle on District number = District number and Field number = Field number and Prod yyyymm = Cycle year month — one row here matches one row there.
is the same field-month as
The allowable and the production for one field in one month, from two different RRC systems. 8,292 of 20,000 sampled field-months find their PDQ cycle -- but 19,788 of 20,000 do once the sample is restricted to rows that carry any production at all, because the FL tape writes a row for every month whether anything happened or not: 1,010,771 of its 4,015,934 rows carry production. The other direction is thinner: 3,317 of 20,000 sampled PDQ cycles find a field-month, because PDQ keeps every cycle back to 1993 while the FL tape keeps 26 months for most fields. Both the field number and the month need the cast: PDQ writes them as text where this file holds integers. These two columns are different types — one is text, the other an integer — so a direct equality is rejected by Postgres. Cast the text side to integer, which also disposes of any leading zeros; casting the integer to text would not, because '000123' and 123 are not equal as text.
statewide-field-monthly-statistics.district_no = pdq-field-cycle.district_no AND statewide-field-monthly-statistics.field_no = pdq-field-cycle.field_no AND statewide-field-monthly-statistics.prod_yyyymm = pdq-field-cycle.cycle_year_month
Where this comes from
- Published by
- Texas Railroad Commission — the original page
- Original format
- EBCDIC IBM mainframe encoding (cp037). Opening it as text gives you nonsense; it has to be transcoded first.
- RRC publishes
- Updated once a month (Monthly. Available by the 27th.)
- RRC download link
- GoAnywhere MFT
- Record layout manual
- Our table
texas.fl_field_month
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.