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

OGW003A6, the NGPA master file. One row per docket the Commission opened on an application under the Natural Gas Policy Act of 1978 — the federal framework the Texas high-cost gas incentive derives from. 233,678 dockets, reaching back to January 1978.

Each row carries who applied (operator number, mailing address and ZIP), what it applied over (the printed district plus the oil lease number or gas well ID, and a well number where the application names one), a status byte for each of the twelve NGPA categories the docket could be filed under — 102(b), 102(c), 103, 107(d), 107, 107(e), 107(t), 108 and their tax-certification twins — and the procedural trail as dates: application received, review letter sent, notice of hearing sent, hearing held, order prepared, sent to FERC, and put on the Secretary of State's agenda. Six more dates track the Central Records side of a 107 tax certification: approval, withdrawal, spud, completion, received and first production. Two 60-character remark lines carry whatever the analyst wrote.

RRC publishes it as fixed ASCII already converted off the mainframe. Upstream decodes the copybook positions, resolves the district subscript to the printed designation, turns the all-zero and high-value date sentinels into nulls and drops the RRDS control record and the erased slots.

What you can do with it

Trace a high-cost gas certification back to the determination behind it: every one of the 90,732 rows in the high-cost gas file names a docket number that is a docket here.

Count how long the Commission took between receiving an application and sending it to FERC, by category, by district or by year; find an operator's whole NGPA history from one P-5 number; and see which applications were withdrawn, denied or left incomplete.

Gotchas

This is frozen history that RRC still republishes monthly. The determinations run from 1978 into the 1990s; the file is reissued every month, but the rows in it do not change.

The district on the tape is a SUBSCRIPT, not the designation. Subscript 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. Both are here: `district` is the printed designation and is what to filter and join on; `district_subscript` is kept as published.

`lease_id` is an oil lease number when `well_type` is OIL and a gas well ID when it is GAS, and NGPA writes both six digits wide. PDQ writes gas IDs six wide too, so the gas side joins straight across; PDQ writes oil lease numbers FIVE wide, so an oil docket needs lpad(ltrim(lease_id,'0'),5,'0') before it will match anything. Padded that way, 74,005 of the 74,050 oil dockets whose lease fits in five digits resolve to the PDQ regulatory lease directory; 22 oil dockets carry six significant digits and match nothing.

Half the file has no received date. `received_date` is present on 128,813 of 233,678 dockets while `sent_date` is on 219,191 and `hearing_date` on 209,638, so a count of applications by received year is a count of the half that recorded one. Five dockets carry a received date in the future (2070 and similar) — mainframe typing, not a filing.

`roll` and `frame` are zero in all 233,678 rows; the manual says they are "presently not used" and the file agrees. `og_ad_docket` holds the Oil & Gas Legal Department's Area Designation docket (05-0235294 and the like) on 36,203 rows and a bare '*' on four; it is only present on the records longer than 346 bytes, and `line_length` says which those are.

`list_key` points into the interested-party file ROGFPL, which RRC publishes separately and this mirror does not carry. The number is real; there is nothing here to resolve it against.

The category bytes use one code list: 0 not applied for, X applied for, D denied, Z denied and withdrawn, A awaiting withdrawal, W withdrawn. Only 0, X, D and W appear in the current file.

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

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

ngpa_docket 61 columns

Record layout for ngpa_docket — 61 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 docket_no key join integer 1-6 FPM-DOC The docket number RRC assigned to the NGPA application, and the key of this file. The high-cost gas certification file carries the same number as docket_number; all 90,732 of its rows name a docket here. e.g. 157880
2 list_key integer 7-12 FPM-LIST-KEY The relative record key of this docket's entry in the interested-party file ROGFPL, which RRC publishes as a separate dataset and this mirror does not carry. Non-zero on 125,998 dockets.
3 well_type text 13-15 FPM-TYP GAS or OIL, spelled out, though the manual describes it as a single G or O. It decides what lease_id means: an oil lease number on an OIL docket, a gas well ID on a GAS one. e.g. GAS
4 district_subscript text 16-17 FPM-DST The district exactly as the tape writes it, which is a SUBSCRIPT and not the designation: 07 is 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. Kept so a row can be checked against the original; filter and join on district instead. e.g. 05
5 lease_id join text 18-23 FPM-LSE-ID The oil lease number or gas well ID the application covers, six digits and zero-padded. PDQ writes gas IDs six digits wide too, so a gas docket joins straight across; it writes oil lease numbers FIVE wide, so an oil docket must be re-padded before it matches. e.g. 202476
6 well_no text 24-29 FPM-WELL The well number, where the application named one. Present on 83,820 of 233,678 dockets.
7 operator_no join text 30-35 FPM-OPR The applicant's RRC-assigned operator number. 233,649 of the 233,670 that carry one resolve to the P-5 organization directory. e.g. 251691
8 address text 36-66 FPM-ADDR The operator's mailing address as filed, one line of up to 31 characters. e.g. 120 AUSTIN HWY STE 105
9 zip text 67-71 FPM-ZIP The operator's ZIP code. Zeros are stored as null. e.g. 78209
10 cat_102b text 72 FPM-102B Status of the docket's NGPA section 102(b) category: 0 not applied for, X applied for, D denied, Z denied and withdrawn, A awaiting withdrawal, W withdrawn.
11 cat_102c text 73 FPM-102C Status of the section 102(c) category, on the same code list as cat_102b.
12 cat_103 text 74 FPM-103 Status of the section 103 category, on the same code list as cat_102b.
13 cat_107d text 75 FPM-107D Status of the section 107(d) category, on the same code list as cat_102b.
14 cert_107d text 76 FPM-C107D Status of the 107(d) TAX CERTIFICATION, on the same code list as cat_102b.
15 cat_107 text 77 FPM-107 Status of the section 107 category -- the high-cost gas one -- on the same code list as cat_102b. 385 dockets applied for it and 172 withdrew. e.g. 0
16 cat_107e text 78 FPM-107E Status of the section 107(e) category, on the same code list as cat_102b.
17 cat_107t text 79 FPM-107T Status of the section 107(t) category, on the same code list as cat_102b.
18 cert_107 text 80 FPM-C107 Status of the 107 tax certification, on the same code list as cat_102b.
19 cert_107e text 81 FPM-C107E Status of the 107(e) tax certification, on the same code list as cat_102b.
20 cert_107t text 82 FPM-C107T Status of the 107(t) tax certification, on the same code list as cat_102b.
21 cat_108 text 83 FPM-108 Status of the section 108 category, on the same code list as cat_102b. Zero in every row of the current file.
22 latest_post_admin_date date 84-91 FPM-LATEST-POST-ADMIN-DATE Date of administrative approval for the most recent post special order. Present on 1,625 dockets.
23 order_status text 92 FPM-ORD-STAT '0' while the order is on conference hold, 'R' once the hold is removed.
24 no_response_20_day text 93 FPM-20-STAT 'X' once more than 20 days have passed since the applicant last responded, '0' while fewer have. X on 4,922 dockets.
25 action text 94 FPM-ACTION Final action: '0' sent to FERC, 'R' held for further action.
26 contested text 95 FPM-CONTESTED 'C' on a contested application, '0' otherwise. Seven dockets are contested.
27 complete text 96 FPM-COMPLETE How far the application got: 0 received, I incomplete, C complete, X withdrawn, A awaiting withdrawal. 208,601 are complete and 11,819 withdrawn. e.g. C
28 roll smallint 97-99 FPM-ROLL Microfilm roll. The manual says the field is "presently not used" and the file agrees: zero in all 233,678 rows.
29 frame smallint 100-103 FPM-FRAME Microfilm frame. "Presently not used", and zero in all 233,678 rows, like roll.
30 admin_approval text 104 FPM-ADMIN 'A' where the determination was approved administratively (201,169 dockets) and '0' where it was not (19,067). 1,262 rows carry 'D', which the manual does not list.
31 sp_order_108 text 105 FPM-SP-ORD 'S' when a section 108 special order was requested.
32 sp_order_103 text 106 FPM-103-SP-ORD 'S' when a section 103 special order was requested.
33 type_107f text 107 FPM-107F-TYPE FERC section type: '1' tight formation gas (13,033 dockets), '2' Devonian shale (16), '0' neither. The file also carries '3' and '4', on twelve dockets between them, which the manual does not describe. e.g. 1
34 cert_107f text 108 FPM-C107F Tax-certification status for the FERC section type, on cat_102b's code list.
35 sp_order_108c text 109 FPM-108C-SP-ORDER Section 108 conservation special order: 0 not applied for, X applied for, P applied for after the application was complete.
36 sp_order_108e text 110 FPM-108E-SP-ORDER Section 108 enhanced-recovery special order, on sp_order_108c's code list.
37 sp_order_108s text 111 FPM-108S-SP-ORDER Section 108 seasonal special order, on sp_order_108c's code list.
38 post_108c_status text 112 FPM-POST-108C-STATUS Status of the post-108 conservation order: 0 not applied for, I incomplete, R approved at hearing, C approved administratively, S on the Secretary of State agenda, F order letter written, T FERC letter written, X withdrawn, A awaiting withdrawal, D denied, Z denied and withdrawn.
39 post_108e_status text 113 FPM-POST-108E-STATUS Status of the post-108 enhanced-recovery order, on post_108c_status's code list.
40 post_108s_status text 114 FPM-POST-108S-STATUS Status of the post-108 seasonal order, on post_108c_status's code list.
41 latest_post_order_date date 115-122 FPM-LATEST-POST-ORDER-DATE Date the most recent post order letter was sent to the applicant. Present on 1,665 dockets.
42 hearing_sent_date date 123-130 FPM-DTE-HEAR-SENT Date the notice of hearing, or the administrative approval letter, was sent to the applicant.
43 received_date date 131-138 FPM-DTE-RCVD Date RRC received the NGPA application. Present on 128,813 of 233,678 dockets, so it is not a reliable spine for counting filings by year, and five dockets carry a date in the future. e.g. 1978-12-01
44 sent_date date 139-146 FPM-DTE-SENT Date the last review letter was sent to the applicant. Present on 219,191 dockets.
45 hearing_date date 147-154 FPM-DTE-HEAR Date of the formal hearing, or of administrative approval where there was no hearing. Present on 209,638 dockets. e.g. 2013-05-21
46 order_date date 155-162 FPM-DTE-ORDER Date the orders were prepared. Present on 121,937 dockets.
47 ferc_date date 163-170 FPM-DTE-FERC Date the application was sent to the Federal Energy Regulatory Commission. Present on 120,106 dockets; the file's high-value sentinel 19999999 sits here on 271 records and is stored as null.
48 con_set_date date 171-178 FPM-DTE-CON-SET Date the application appeared on the Secretary of State's agenda. Present on 120,457 dockets.
49 remark1 text 179-238 FPM-RMK1 General remarks, line 1. Up to 60 characters, free-form. e.g. APPLICATION WITHDRAWN ON 12-21-78 BY OPERATOR
50 remark2 text 239-298 FPM-RMK2 General remarks, line 2. Only 7,004 dockets use a second line.
51 cr_app_date date 299-306 FPM-CR-APP-DATE Central Records: the date the 107, 107(e) or 107(t) tax certification was approved.
52 cr_withdrawn_date date 307-314 FPM-CR-WTH-DATE Central Records: the date that tax certification was withdrawn.
53 cr_spud_date date 315-322 FPM-CR-SPUD-DATE Central Records: the spud date of the well the tax certification covers.
54 cr_completion_date date 323-330 FPM-CR-COMP-DATE Central Records: the completion date of that well.
55 cr_received_date date 331-338 FPM-CR-REC-DATE Central Records: the date the tax certification application was received.
56 cr_first_prod_date date 339-346 FPM-CR-FIRSTP-DATE First production for the high-cost gas incentive: the earlier of the month of the deliverability test and the first production month reporting a disposition other than lease or field fuel use, or vented and flared. Present on 85,947 dockets. e.g. 2004-05-01
57 og_ad_docket text 347-356 FPM-OG-AD-DOCKET The Area Designation docket the Oil & Gas Legal Department docket is associated with, e.g. 05-0235294. Present on 36,203 records and a bare '*' on four; it only exists on records longer than 346 bytes. e.g. 01-0253019
58 og_ad_docket_flag text 357 A single byte after the Area Designation docket, Y on 818 records and N on 35,386. The manual does not describe it, and it is carried rather than dropped. e.g. N
59 district join text The district as RRC prints it (01-06, 6E, 7B, 7C, 08, 8A, 09, 10), decoded from district_subscript by the loader. Null on the two dockets whose subscript is 00. e.g. 05 RRC district (printed designation)
60 line_length smallint How many bytes the source line held: 346 on 197,212 records, 356 on 229, 357 on 15,862 and 400 on 20,375. Not an RRC field -- the loader records it because the optional Area Designation tail only exists past 346, and this says which rows could have carried one. e.g. 346
61 ingested_at timestamptz When the upstream pipeline last wrote this row. Not an RRC field — it is EZRRC's provenance stamp, and it is what the freshness badge is measured against.

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 (printed designation) 14 values

Read by district

The district as the Railroad Commission prints it: 01-06, 6E, 7B, 7C, 08, 8A, 09 and 10, plus 20 for statewide. This is what appears on permits, completions, ST-1 filings and inspection reports. It is not interchangeable with the internal district number. A column holding '11' means District 8A under the internal numbering and nothing at all under this one.

RRC district (printed designation) — 14 codes and their meanings
CodeMeans
01 District 01 — San Antonio RRC District 01, administered from the San Antonio district office.
02 District 02 — San Antonio RRC District 02, administered from the San Antonio district office.
03 District 03 — Houston RRC District 03, administered from the Houston district office.
04 District 04 — Corpus Christi RRC District 04, administered from the Corpus Christi district office.
05 District 05 — Kilgore RRC District 05, administered from the Kilgore district office.
06 District 06 — Kilgore RRC District 06, administered from the Kilgore district office.
6E District 6E — Kilgore RRC District 6E, administered from the Kilgore district office.
7B District 7B — Abilene RRC District 7B, administered from the Abilene district office.
7C District 7C — San Angelo RRC District 7C, administered from the San Angelo district office.
08 District 08 — Midland RRC District 08, administered from the Midland district office.
8A District 8A — Midland RRC District 8A, administered from the Midland district office.
09 District 09 — Wichita Falls RRC District 09, administered from the Wichita Falls district office.
10 District 10 — Pampa RRC District 10, administered from the Pampa district office.
20 District 20 — State Wide RRC District 20, administered from the State Wide district office.

Source: Generated from texas.pdq_gp_district.district_name

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.

Natural Gas Policy Act joins to P-5 Organization (ASCII) on Operator number = ID — many rows here share a single row there.

was applied for by

The operator that filed the NGPA application, resolved to the P-5 organization directory. 233,649 of the 233,670 dockets carrying an operator number resolve — the register still holds organizations that stopped filing in the 1980s. 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.

natural-gas-policy-act.operator_no = p5-organization-ascii.id

Natural Gas Policy Act joins to PDQ Regulatory Lease Directory on District = District name and Lease ID = Lease number — many rows here share a single row there.

covers the gas well

From a GAS docket to the lease directory, on the printed district and the six-digit gas well ID. 148,806 of the 154,493 gas dockets that name a lease resolve, which is 96%. Restrict the PDQ side to oil_gas_code = 'G' if you want to be explicit, though the widths already do it: PDQ writes gas IDs six characters wide and oil lease numbers five, and 0 of the 154,493 gas dockets collide with an oil lease. An OIL docket needs its lease re-padded to five digits first and is not this join — see the dataset's gotchas. The join goes through district_name, not district_no: NGPA publishes the printed designation once the subscript is decoded, and PDQ's district_no is the internal number.

natural-gas-policy-act.district = pdq-regulatory-lease-directory.district_name AND natural-gas-policy-act.lease_id = pdq-regulatory-lease-directory.lease_no

Natural Gas Policy Act joins to High Cost Gas on Docket number — one row here matches many rows there.

was determined in NGPA docket

The NGPA determination behind a high-cost gas certification, and the cleanest join in this file: all 90,732 certifications name a docket that exists here, and they name 90,732 distinct dockets, so it is one-to-one across the current pair of files. Unlike the oil-and-gas-docket join above, this one needs no regexp: both files write the bare six-digit number. It is the route from a certified lease to who applied, when the application was received, whether it was contested and when it went to FERC. 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.

high-cost-gas.docket_number = natural-gas-policy-act.docket_no

Where this comes from

Published by
Texas Railroad Commission — the original page
Original format
Fixed-width Columns are byte ranges with no separators, described only in a scanned record layout.
RRC publishes
Updated once a month (Monthly. Available by the 27th.)
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.ngpa_docket

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.