Drilling Permit Master and Trailer
Queryable Fixed-width
The complete W-1 permit history — every application since 1976 with every trailer segment, 13.5 million rows across fifteen tables.
Get the data
Free. You will be asked to confirm an email address before the files are built — that is the only gate, and it is there so we can tell you when a large export is ready.
What this is
OGA049M's MASTER FILE TAPE, daf802.txt.gz, and the deepest dataset on this site: 993,336 W-1 applications with all fourteen trailer segments of RRC's IMS drilling-permit database hanging off them. The permit segment's issue dates start at 1976-05-28; the applications carry received dates back to 1922, on records rebuilt from the old drilling-permit master.
The original is one file of 13.5 million lines with the record type in the first two bytes and the hierarchy expressed by position: a 01 root, then its 02 permit, then that permit's 03 fields, each field's 04 specifics and 05 bottom-hole location, the 06/07 canned restrictions, the 08/09 free-form restrictions, the 10 permit bottom-hole location, the 11 alternate address, and the root's own 12 remarks and 13 check register. A child record does not repeat its parent's key, so the file can only be read forwards. Here it is fifteen tables, every child carrying the root's (status_no, status_seq) and its position among its siblings, so it can be filtered, joined and sorted.
This is not the same file as the daily and end-of-month permit datasets. Those are the rolling daf420.dat extract — 115,579 rows covering the last few years, flattened to one row per permit, with coordinates. This is the whole history in its original shape, with the restrictions, the bottom-hole tracts, the remarks and the filing-fee checks that the rolling extract throws away. The two meet on (status_no, sequence_no): 114,493 of the 115,579 rows in the daily table are in here, and the 1,086 that are not are permits issued since this tape was cut.
What you can do with it
Reconstruct a permit's whole life — the original filing and every amendment, what the operator asked for, what the Commission approved, when it was issued, extended, spudded, expired or cancelled.
Read the restrictions. 1,684,601 canned and 3,924,454 free-form restrictions are printed on Texas drilling permits and exist nowhere else in structured form; 2,816,608 of the free-form ones apply to a single named field rather than the whole permit, and the 07 and 09 tables say which field.
Take permit counts by operator, county, district, field or application type over fifty years rather than the few the rolling extract holds, and separate the 961,280 approved applications from those withdrawn, dismissed, denied, deleted or cancelled.
Follow a permit out to the field it named (1,577,023 field records), to the bottom-hole tract it was permitted to (229,986 field bottom-holes and 23,782 permit bottom-holes), and on to the wellbore database, the P-5 operator directory and the PDQ field directory.
Gotchas
dp_gis_surface and dp_gis_bottom_hole are EMPTY. The 14 and 15 GPS records are in the OGA049M layout and in the daily daf420.dat, but the daf802 fetched on 2026-08-04 carries none of either. The two tables exist so that the month RRC starts writing them the coordinates load without a schema change; today they hold zero rows and nothing in this dataset can be mapped. The daily and end-of-month permit files are the ones with coordinates.
The key is (status_no, status_seq), never the permit number. Before September 1986 an application's status number and its permit number were different numbers — 306,221 of the 950,665 permit records — and six permit numbers appear under two roots each after renumbering. status_seq counts DOWN: 99 is the original filing, 98 the first amendment, 97 the second.
Every child table repeats (status_no, status_seq) and adds an `ordinal`, its 1-based position among siblings of the same type under the same parent. That ordinal is ours, not RRC's: the original expresses the ordering by position on the tape and has no such column. Segments the manual calls non-recurring carry one too, so a second occurrence cannot collide.
district is the INTERNAL district number (01-14), not the district the industry prints. 10 is District 08, 11 is 8A, 13 is District 09, 14 is District 10 and 07 is 6E — and 12 (District 8B) does not exist, though one root carries it. county_code is the three-digit code; texas.permits, confusingly, holds the county NAME in its column of that name.
The root and the permit segment carry the same six facts twice — county, lease name, district, operator number, operator name, well number — because the root holds what the operator wrote on the W-1 and the permit holds what RRC approved. They disagree often enough to matter; the permit segment is the Commission's answer.
3,476 lines of the file do not begin with a record type: a free-form restriction or a remark whose text held a control character was written across two lines. Upstream rejoins them, and every one of the 2,829 affected records then comes out at its documented length. If you parse the original yourself, expect them.
field_no on the 03, 04, 05, 07 and 09 records is stored as an integer, and the PDQ field directory keys on the same number as an eight-digit zero-padded string. Pad it back before joining — lpad(field_no::text, 8, '0') — or 6,529 fields whose numbers begin with a zero silently miss. Padded, all 20,000 sampled field records resolve; unpadded, 13,772 do.
A permit is an application, not a well. Many were never drilled, and one wellbore accumulates several over its life.
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.
dp_permit_root
32 columns
This is the table you get when you download or query Drilling Permit Master and Trailer.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | 3-9 | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. e.g. 917007 | — |
| 2 |
status_seq
key
|
integer | 10-11 | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. e.g. 99 | — |
| 3 |
county_code
join
|
text | 12-14 | DA-COUNTY-CODE |
Three-digit county code of the county the drilling operation is to take place in, AS THE OPERATOR REPORTED IT on the W-1. RRC numbers the 254 onshore counties with the odd numbers 001-507 and gives the 23 offshore areas both odd and even ones. '000' appears on the rows carrying no county at all. The permit segment carries RRC's own answer, which is not always the same. e.g. 003 | Texas county code |
| 4 |
lease_name
|
text | 15-46 | DA-LEASE-NAME |
Lease name as the operator wrote it on the W-1, up to 32 characters. The permit segment carries the name RRC approved. e.g. MABEE DDA A30 | — |
| 5 |
district
join
|
text | 47-48 | DA-DISTRICT |
RRC district as the operator reported it, stored as the internal ADP code: 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. Code 12 is District 8B, which has never existed — one root carries it anyway, and eleven carry '00'. e.g. 10 | RRC district (internal number) |
| 6 |
operator_no
join
|
integer | 49-54 | DA-OPERATOR-NUMBER |
The operator's six-digit P-5 organization number as reported on the W-1. Stored as an integer, so leading zeros are gone; texas.operators keys on the same number as an integer. e.g. 166150 | — |
| 7 |
received_date
|
date | 59-66 | DA-DATE-APP-RECEIVED |
Date the W-1 application was received in Austin, CCYYMMDD on the tape. Runs from 1922-03-21 to 2026-07-07; exactly one row predates 1960, so read anything that early as a record rebuilt from the old drilling-permit master rather than as a filing date. e.g. 2026-07-07 | — |
| 8 |
operator_name
|
text | 67-98 | DA-OPERATOR-NAME |
Operator name as reported on the W-1, 32 characters. e.g. COG OPERATING LLC | — |
| 9 |
hb1407_problem_flag
|
text | 100 | DA-HB1407-PROBLEM-FLAG |
One-character flag for a House Bill 1407 problem on the application. '0' on 993,315 of the 993,336 roots and 'Y' on 21. | — |
| 10 |
app_status
|
text | 101 | DA-STATUS-OF-APP-FLAG |
Status of the application in one character. The manual documents P pending approval, A approved, W withdrawn at the operator's request, D dismissed, E denied, C closed (a Rule 37/38/39 case the legal section could get no response on) and O other. The file also carries Z on 8,393 roots and X on 6,664, which upstream reads as cancelled and deleted. 961,280 are A. e.g. P | — |
| 11 |
not_enough_money_flag
|
text | 102 | DA-NOT-ENOUGH-MONEY-FLAG |
Y when less than the filing fee arrived with the application, R when that was resolved, N when it does not apply. The standard W-1 fee is $100. | — |
| 12 |
too_much_money_flag
|
text | 103 | DA-TOO-MUCH-MONEY-FLAG |
Y when too much money arrived with the application, R resolved, N not applicable. | — |
| 13 |
p5_problem_flag
|
text | 104 | DA-P5-PROBLEM-FLAG |
Y when the application does not carry a valid P-5 organization number, R when resolved, N when it does not apply. | — |
| 14 |
p12_problem_flag
|
text | 105 | DA-P12-PROBLEM-FLAG |
Y when there is a problem with the Form P-12 certificate of pooling authority, which must accompany a W-1 for a drill site on a pooled unit. R resolved, N not applicable. | — |
| 15 |
plat_problem_flag
|
text | 106 | DA-PLAT-PROBLEM-FLAG |
Y when there is a problem with the plat filed with the W-1 — the 1" = 1,000' drawing showing the drilling unit, the proposed surface location and the distances to lease and survey lines. | — |
| 16 |
w1a_problem_flag
|
text | 107 | DA-W1A-PROBLEM-FLAG |
Y when there is a problem with the Form W-1A, the substandard acreage certification filed when the tract is smaller than density rules require. | — |
| 17 |
other_problem_flag
|
text | 108 | DA-OTHER-PROBLEM-FLAG |
Y when the application has some other problem, R resolved, N or blank not applicable. | — |
| 18 |
rule37_problem_flag
|
text | 109 | DA-RULE37-PROBLEM-FLAG |
Y when the application has a Statewide Rule 37 problem — the spacing rule, 467 feet from any lease line and 1,200 feet from any well in the same horizon. | — |
| 19 |
rule38_problem_flag
|
text | 110 | DA-RULE38-PROBLEM-FLAG |
Y when the application has a Statewide Rule 38 problem — the density rule, one well per proration unit. | — |
| 20 |
rule39_problem_flag
|
text | 111 | DA-RULE39-PROBLEM-FLAG |
Y when the application has a Statewide Rule 39 problem — the rule requiring the acreage in a proration or drilling unit to be contiguous. | — |
| 21 |
no_money_flag
|
text | 112 | DA-NO-MONEY-FLAG |
Y when no money at all arrived with the application, R resolved, N not applicable. | — |
| 22 |
permit_no
join
|
integer | 113-119 | DA-PERMIT-NUMBER |
The permit number, assigned when the application is approved. NULL on the 21,504 roots that never were. For applications since September 1986 it equals status_no; for older ones it does not. | — |
| 23 |
issue_date
|
date | 120-127 | DA-PERMIT-ISSUE-DATE |
Date RRC approved the application. NULL on the 23,317 roots with no approval. 47 roots carry a date before 1976, the earliest 1900-02-12, which the permit segment does not: those are records rebuilt from the old master and the date is not an issue date. | — |
| 24 |
withdrawn_date
|
date | 128-135 | DA-WITHDRAWN-DATE |
Date the application was withdrawn from the approval process. Filled on 11,433 roots. | — |
| 25 |
walkthrough_flag
|
text | 136 | DA-WALKTHROUGH-FLAG |
Y when the application was carried into the Austin office in person rather than mailed. 154,766 of 993,336 were. | — |
| 26 |
other_problem_text
|
text | 137-156 | DA-OTHER-PROBLEM-TEXT |
Up to twenty characters explaining the 'other' problem flagged above. Filled on 696 roots. | — |
| 27 |
well_no
|
text | 157-162 | DA-WELL-NUMBER |
Well number as the operator reported it on the W-1, up to six characters. Assigned by the operator and generally not changed when the well is worked over. e.g. 1110LH | — |
| 28 |
built_from_old_master_flag
|
text | 163 | DA-BUILT-FROM-OLD-MASTER-FLAG |
Y when this status record was built from the pre-1986 drilling permit master rather than filed into the current system. 685 rows. | — |
| 29 |
status_renumbered_to
|
integer | 164-172 | DA-STATUS-RENUMBERED-TO |
When the new system could not use an application's status number as its permit number — because that number was already in use as a permit number — the number it was moved to. 546 rows. | — |
| 30 |
status_renumbered_from
|
integer | 173-181 | DA-STATUS-RENUMBERED-FROM |
The status number an application was renumbered away from. 546 rows. | — |
| 31 |
application_returned_flag
|
text | 182 | DA-APPLICATION-RETURNED-FLAG |
Whether a W-1 with a money problem was returned to the filer. Y on 3,098 roots; '0' and blank both mean it does not apply. | — |
| 32 |
ecap_filing_flag
|
text | 183 | DA-ECAP-FILING-FLAG |
Whether the application was an ECAP (electronic) filing. The manual describes a one-character flag; the file carries '0', 'X', 'E', 'P', '3' and blank, and RRC has not published what the last four mean. | — |
dp_alt_address
7 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this alternate address on the permit among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 5 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 6 |
address_1
|
text | 3-37 | DA-ALT-ADDRESS-LINE-1 |
First line of the address the permit is to be sent to, when it is not the operator's P-5 address. The manual shows a separate two-byte key before this; in the file that key IS the first two characters of this line. e.g. P. O. BOX 1714 | — |
| 7 |
address_2
|
text | 38-72 | DA-ALTERNATE-ADDRESS-2 |
Second line of the alternate address. | — |
dp_canned_restriction
9 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this canned restriction on the permit among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 5 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 6 |
restr_key
|
smallint | 3-4 | DA-CAN-RESTR-KEY |
The two-digit key identifying this restriction within the permit. | — |
| 7 |
restr_type
|
text | 5-6 | DA-CAN-RESTR-TYPE |
Appendix D code naming which standard restriction this is — O, P, G, W, A, AH, E and about forty more. The code decides how the 35-byte remark is laid out: for some it is a footage, for others a docket number, a date or a field number. e.g. P | — |
| 8 |
remark
|
text | 7-41 | — | The 35-byte value the restriction's text is built around — a footage, a docket number, a date, a field number — depending on restr_type. The full wording of each standard restriction is in Appendix D of the manual, not in this file. Blank on the many restrictions that need no value. e.g. 031583 | — |
| 9 |
restr_flag
|
text | 42 | DA-CAN-RESTR-FLAG |
'P' when the restriction applies to the whole permit (1,385,341 rows) and 'F' when it applies to one named field (299,256). The fields it applies to are the 07 records. e.g. P | — |
dp_canned_restriction_field
8 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
restr_ordinal
key
|
smallint | — | — | Which canned restriction (06 segment) this row belongs to — its 1-based position among the restrictions on the permit. | — |
| 4 |
ordinal
key
|
smallint | — | — | 1-based position of this field under one canned restriction among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 5 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 6 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 7 |
restr_key
|
smallint | — | DA-CAN-RESTR-KEY |
The restriction's own two-digit key, copied down from the parent. | — |
| 8 |
field_no
join
|
integer | 3-10 | DA-CAN-RESTR-FLD-NUMBER |
The eight-digit RRC field number the restriction applies to, as an integer. One row per field. e.g. 34773550 | — |
dp_check_register
5 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this check received for the application among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
check_date
|
date | 3-10 | DA-CHECK-REGISTER-DATE |
Date the check was entered into the drilling permits system. e.g. 1989-07-24 | — |
| 5 |
check_no
|
integer | 11-18 | DA-CHECK-REGISTER-NUMBER |
The eight-digit register number stamped on the check when it arrived. Usually a $100 filing fee. e.g. 218026 | — |
dp_field_bhl
26 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
field_ordinal
key
|
smallint | — | — | Which field record this bottom-hole location belongs to — its 1-based position among the fields named on the permit. | — |
| 4 |
ordinal
key
|
smallint | — | — | 1-based position of this bottom-hole record under one field among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 5 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 6 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 7 |
field_no
join
|
integer | — | DA-FIELD-NUMBER |
The eight-digit RRC field number this bottom-hole location is for, as an integer. e.g. 6001 | — |
| 8 |
section
|
text | 3-10 | DA-FLD-BHL-SECTION |
Survey section the bottom of the hole is in, up to eight characters. | — |
| 9 |
block
|
text | 11-20 | DA-FLD-BHL-BLOCK |
Survey block the bottom of the hole is in, up to ten characters. | — |
| 10 |
abstract
|
text | 21-26 | DA-FLD-BHL-ABSTRACT |
Abstract number of the survey the bottom of the hole is in. | — |
| 11 |
survey
|
text | 27-81 | DA-FLD-BHL-SURVEY |
Name of the original land survey the bottom of the hole is in, up to 55 characters. | — |
| 12 |
acres
|
numeric measured in acres | 82-89 | DA-FLD-BHL-ACRES |
Acres in the tract at the bottom-hole location, to two decimal places. | — |
| 13 |
nearest_well
|
text | 90-117 | DA-FLD-BHL-NEAREST-WELL |
Distance and direction to the nearest well, as free text. | — |
| 14 |
lease_feet1
|
numeric measured in ft | 118-125 | DA-FLD-BHL-LEASE-FEET-1 |
Feet from the first lease line at the bottom hole, two decimal places. e.g. 85.00 | — |
| 15 |
lease_direction1
|
text | 126-138 | DA-FLD-BHL-LEASE-DIRECTION-1 |
Direction of the first lease-line call at the bottom hole. e.g. N | — |
| 16 |
lease_feet2
|
numeric measured in ft | 139-146 | DA-FLD-BHL-LEASE-FEET-2 |
Feet from the second lease line at the bottom hole. | — |
| 17 |
lease_direction2
|
text | 147-159 | DA-FLD-BHL-LEASE-DIRECTION-2 |
Direction of the second lease-line call at the bottom hole. | — |
| 18 |
survey_feet1
|
numeric measured in ft | 160-167 | DA-FLD-BHL-SURVEY-FEET-1 |
Feet from the first survey line at the bottom hole. e.g. 3981.00 | — |
| 19 |
survey_direction1
|
text | 168-180 | DA-FLD-BHL-SURVEY-DIRECTION-1 |
Direction of the first survey-line call at the bottom hole. e.g. N | — |
| 20 |
survey_feet2
|
numeric measured in ft | 181-188 | DA-FLD-BHL-SURVEY-FEET-2 |
Feet from the second survey line at the bottom hole. | — |
| 21 |
survey_direction2
|
text | 189-201 | DA-FLD-BHL-SURVEY-DIRECTION-2 |
Direction of the second survey-line call at the bottom hole. | — |
| 22 |
county
|
text | 202-214 | DA-FLD-BHL-COUNTY |
County the bottom of the hole is in, as a NAME rather than a code — the one place in this family that spells a county out. A horizontal well can bottom in a different county from the one it was spudded in. | — |
| 23 |
penetration_dist1
|
numeric measured in ft | 215-222 | DA-FLD-BHL-PNTRT-DIST-1 |
Feet to the first penetration point — where the wellbore first enters the permitted interval, which is what governs spacing on a horizontal well. | — |
| 24 |
penetration_dir1
|
text | 223-235 | DA-FLD-BHL-PNTRT-DIR-1 |
Direction of the first penetration-point call. | — |
| 25 |
penetration_dist2
|
numeric measured in ft | 236-243 | DA-FLD-BHL-PNTRT-DIST-2 |
Feet to the second penetration point. | — |
| 26 |
penetration_dir2
|
text | 244-256 | DA-FLD-BHL-PNTRT-DIR-2 |
Direction of the second penetration-point call. | — |
dp_field_specific
12 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
field_ordinal
key
|
smallint | — | — | Which field record (the 03 segment) this row hangs off — its 1-based position among the fields named on the permit. Part of the key, and EZRRC's: the original expresses it by position. | — |
| 4 |
ordinal
key
|
smallint | — | — | 1-based position of this field-specific record under one field among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 5 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 6 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 7 |
field_no
join
|
integer | — | DA-FIELD-NUMBER |
The eight-digit RRC field number this record is specific to, as an integer. e.g. 34773550 | — |
| 8 |
district
|
text | 3-4 | DA-FIELD-DISTRICT |
RRC district for THIS field, as the internal ADP code, when it differs from the permit's. That is what the whole segment is for: a directional well can cross a district boundary. e.g. 03 | RRC district (internal number) |
| 9 |
lease_name
|
text | 5-36 | DA-FIELD-LEASE-NAME |
Lease name for this field, when it differs from the permit's. e.g. GERDES, GARWOOD | — |
| 10 |
total_depth
|
integer measured in ft | 37-41 | DA-FIELD-TOTAL-DEPTH |
Depth of the well for this field, in feet. e.g. 9004 | — |
| 11 |
well_no
|
text | 42-47 | DA-FIELD-WELL-NUMBER |
Well number for this field, when it differs from the permit's. e.g. 2 | — |
| 12 |
acres
|
numeric measured in acres | 46-53 | DA-FIELD-ACRES |
Acres in the lease for this field, to two decimal places (PIC 9(06)V9(2) with the point implied on the tape). e.g. 1.20 | — |
dp_freeform_restriction
9 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this free-form restriction on the permit among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 5 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 6 |
restr_key
|
smallint | 3-4 | DA-FREE-RESTR-KEY |
The two-digit key identifying this restriction within the permit. | — |
| 7 |
restr_type
|
text | 5-6 | DA-FREE-RESTR-TYPE |
A type code the manual says will always be 'Z' for this segment. It is not: 3,015,677 rows carry '28' and 617,968 carry '29', against 261,176 Z. RRC has not published what the numeric ones mean. e.g. Z | — |
| 8 |
remark
|
text | 7-76 | DA-FREE-RESTR-REMARK |
Up to seventy characters of free-form restriction text, printed on the permit. Genuinely free-form: it can say anything, and a permit can carry up to 99 of these. e.g. WILDCAT ABOVE 6000 | — |
| 9 |
restr_flag
|
text | 77 | DA-FREE-RESTR-FLAG |
'F' when the restriction applies to one named field (2,816,608 rows) and 'P' when it applies to the whole permit (1,107,846). The fields it applies to are the 09 records. e.g. P | — |
dp_freeform_restriction_field
8 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
restr_ordinal
key
|
smallint | — | — | Which free-form restriction (08 segment) this row belongs to — its 1-based position among the restrictions on the permit. | — |
| 4 |
ordinal
key
|
smallint | — | — | 1-based position of this field under one free-form restriction among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 5 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 6 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 7 |
restr_key
|
smallint | — | DA-FREE-RESTR-KEY |
The restriction's own two-digit key, copied down from the parent. | — |
| 8 |
field_no
join
|
integer | 3-10 | DA-FREE-RESTR-FLD-NUMBER |
The eight-digit RRC field number the restriction applies to, as an integer. e.g. 34773550 | — |
dp_gis_bottom_hole
5 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this bottom-hole GIS record on the application among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
longitude
|
numeric measured in deg | — | DA-GIS-BOTTOM-HOLE-LONGITUDE |
Longitude of the GIS-spotted bottom hole, NAD27, negative for west. No row of the current file carries one. | — |
| 5 |
latitude
|
numeric measured in deg | — | DA-GIS-BOTTOM-HOLE-LATITUDE |
Latitude of the GIS-spotted bottom hole, NAD27. No row of the current file carries one. | — |
dp_gis_surface
5 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this surface GIS record on the application among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
longitude
|
numeric measured in deg | — | DA-GIS-SURFACE-LONGITUDE |
Longitude of the GIS-spotted surface hole, NAD27, negative for west. PIC 9(5)V9(7) on the tape. No row of the current file carries one. | — |
| 5 |
latitude
|
numeric measured in deg | — | DA-GIS-SURFACE-LATITUDE |
Latitude of the GIS-spotted surface hole, NAD27. PIC 9(5)V9(7). No row of the current file carries one. | — |
dp_permit
70 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 Drilling Permit Master.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. e.g. 830732 | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. e.g. 99 | — |
| 3 |
permit_no
join
|
integer | 3-9 | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. e.g. 830732 | — |
| 4 |
permit_seq
|
integer | 10-11 | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 5 |
county_code
join
|
text | 12-14 | DA-PERMIT-COUNTY-CODE |
Three-digit county code AS RRC APPROVED IT, which is not always the county the operator reported in the root. '000' on the rows with no county. e.g. 389 | Texas county code |
| 6 |
lease_name
|
text | 15-46 | DA-PERMIT-LEASE-NAME |
Lease name as RRC approved it, up to 32 characters. e.g. LEFT HAND BULL | — |
| 7 |
district
join
|
text | 47-48 | DA-PERMIT-DISTRICT |
RRC district as approved, stored as the internal ADP code: 07 is 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is District 09, 14 is District 10. Six rows carry '00'. e.g. 10 | RRC district (internal number) |
| 8 |
well_no
|
text | 49-54 | DA-PERMIT-WELL-NUMBER |
Well number as RRC approved it, up to six characters. e.g. 8901H | — |
| 9 |
total_depth
|
integer measured in ft | 55-59 | DA-PERMIT-TOTAL-DEPTH |
Permitted total depth of the well, in feet. Zero on the tape means not given and loads as NULL. e.g. 10700 | — |
| 10 |
operator_no
join
|
integer | 60-65 | DA-PERMIT-OPERATOR-NUMBER |
The operator's P-5 organization number as approved, an integer. All 20,000 sampled values resolve to texas.operators. e.g. 166150 | — |
| 11 |
application_type
|
text | 66-67 | DA-TYPE-APPLICATION |
What the operator asked permission to do, as the RAW two-digit code: 01 drill, 05 other, 07 re-enter, 09 field transfer, 14 recompletion, 15 reclass are the six the current file uses, and rrc.application_type documents all fifteen the layout defines. Nothing decodes this on load, unlike texas.permits. e.g. 01 | Drilling permit application type |
| 12 |
other_explanation
|
text | 68-97 | DA-OTHER-EXPLANATION |
Up to thirty characters of free text explaining application type 05, 'other'. Filled on 306,297 permits. | — |
| 13 |
address_unique_no
|
integer | 98-103 | DA-ADDRESS-UNIQUE-NUMBER |
RRC's internal key for retrieving the operator's address from the P-5 system. | — |
| 14 |
zip_prefix
|
text | 104-108 | DA-ZIP-CODE-PREFIX |
First five digits of the operator's ZIP code. | — |
| 15 |
zip_suffix
|
text | 109-112 | DA-ZIP-CODE-SUFFIX |
Last four digits of the operator's ZIP code. | — |
| 16 |
fiche_set_no
|
integer | 113-118 | DA-FICHE-SET-NUMBER |
Microfiche page the permit was printed on. RRC internal. | — |
| 17 |
onshore_county
|
text | 119-121 | DA-ONSHORE-COUNTY |
Three-digit code of the corresponding onshore county when the drilling is in an offshore county. '000' and '0' are the placeholders for 'not offshore'. | — |
| 18 |
received_date
|
date | 122-129 | DA-RECEIVED-DATE |
Date the W-1 was received in Austin, CCYYMMDD on the tape. | — |
| 19 |
issue_date
|
date | 130-137 | DA-PERMIT-ISSUED-DATE |
Date the application was approved. 1976-05-28 to 2026-07-07 on the current file, and the date the industry counts. e.g. 2017-11-01 | — |
| 20 |
amended_date
|
date | 138-145 | DA-PERMIT-AMENDED-DATE |
Date the permit was amended. Filled on 162,735 permits. | — |
| 21 |
extended_date
|
date | 146-153 | DA-PERMIT-EXTENDED-DATE |
Date the permit was extended. Filled on 4,962 permits. | — |
| 22 |
spud_date
|
date | 154-161 | DA-PERMIT-SPUD-DATE |
Date drilling started. Filled on 552,348 permits — RRC records one only when it is reported, so a null is not proof the well was never drilled. | — |
| 23 |
surface_casing_date
|
date | 162-169 | DA-PERMIT-SURFACE-CASING-DATE |
Date surface casing was set in the well. Filled on 359,909 permits. | — |
| 24 |
well_status
|
text | 170 | DA-WELL-STATUS |
One-character well status code, from OGA049M Appendix B. W (543,015) and D (99,731) dominate and 267,534 permits carry none. No code set has been transcribed for it, so exports show the raw letter. | — |
| 25 |
well_status_date
|
date | 171-178 | DA-PERMIT-WELL-STATUS-DATE |
Date the well status above was recorded. Filled on 683,174 permits. | — |
| 26 |
expired_date
|
date | 179-186 | DA-PERMIT-EXPIRED-DATE |
Date the permit expires. Filled on 949,694 of the 950,665 permits. | — |
| 27 |
cancelled_date
|
date | 187-194 | DA-PERMIT-CANCELLED-DATE |
Date the permit was cancelled. Filled on 5,906 permits. | — |
| 28 |
cancellation_reason
|
text | 195-224 | DA-CANCELLATION-REASON |
Up to thirty characters of free text giving the reason for cancellation. Filled on three rows of the whole file. | — |
| 29 |
p12_filed_flag
|
text | 225 | DA-P12-FILED-FLAG |
Y when a Form P-12, certificate of pooling authority, was filed with this permit. | — |
| 30 |
substd_acreage_flag
|
text | 226 | DA-SUBSTANDARD-ACREAGE-FLAG |
Y when the drilling tract is smaller than the standard acreage density rules require, which is what the Form W-1A certifies. | — |
| 31 |
rule36_flag
|
text | 227 | DA-RULE-36-FLAG |
Y when the well is expected to produce significant quantities of hydrogen sulphide, which is what Statewide Rule 36 governs. | — |
| 32 |
h9_flag
|
text | 228 | DA-H9-FLAG |
Y when Form H-9, the certificate of compliance with Rule 36, was filed. | — |
| 33 |
rule37_case_no
|
integer | 229-235 | DA-RULE-37-CASE-NUMBER |
The case number when the application needs an exception to Statewide Rule 37, the well-spacing rule. Filled on 138,884 permits. | — |
| 34 |
rule38_docket_no
|
integer | 236-242 | DA-RULE-38-DOCKET-NUMBER |
The docket number when the application needs an exception to Statewide Rule 38, the well-density rule. Filled on 12,547 permits. | — |
| 35 |
location_format_flag
|
text | 243 | DA-LOCATION-FORMATION-FLAG |
Which of the two surface-location formats this row uses. 'N' (726,536 rows) means the typed section/block/survey/abstract and footage columns are filled; 'O' (224,119) means the whole 82-byte area is free text in surface_location_old and the two *_distance_old columns. Upstream stores the row under the flag that governs it rather than always slicing it the 'new' way. | — |
| 36 |
surface_location_old
|
text | 244-295 | DA-OLD-SURFACE-LOCATION |
Up to 52 characters of free-form surface location — section, block, survey and abstract run together — on the 224,103 rows whose location_format_flag is 'O'. | — |
| 37 |
surface_section
|
text | 244-251 | DA-SURFACE-SECTION |
Survey section the surface hole is in, new location format. Filled on 400,949 permits. | — |
| 38 |
surface_block
|
text | 252-261 | DA-SURFACE-BLOCK |
Survey block the surface hole is in, new location format. | — |
| 39 |
surface_survey
|
text | 262-316 | DA-SURFACE-SURVEY |
Name of the original land survey the surface hole is in, up to 55 characters. | — |
| 40 |
surface_abstract
|
text | 317-322 | DA-SURFACE-ABSTRACT |
Abstract number of the survey the surface hole is in. | — |
| 41 |
surface_acres
|
numeric measured in acres | 326-333 | DA-SURFACE-ACRES |
Acres in the lease, to two decimal places. PIC 9(06)V9(2) on the tape, with the point implied; upstream applies it. e.g. 443.01 | — |
| 42 |
surface_miles_from_city
|
numeric measured in mi | 334-339 | DA-SURFACE-MILES-FROM-CITY |
Miles from the nearest town, to two decimal places. PIC 9(04)V9(2) — SIX characters, not eight: reading eight takes the first two letters of the direction with it and turns '000800NE' into a distance. | — |
| 43 |
surface_direction_from_city
|
text | 340-345 | DA-SURFACE-DIRECTION-FROM-CITY |
Free-form direction to the nearest town, six characters. | — |
| 44 |
surface_nearest_city
|
text | 346-358 | DA-SURFACE-NEAREST-CITY |
Name of the nearest town, thirteen characters. e.g. SARAGOSA, TX | — |
| 45 |
surface_lease_distance_old
|
text | 359-386 | DA-OLD-SURFACE-LEASE-DISTANCE |
The distance and direction from the lease lines as one 28-character free-text string, on the rows whose location format is 'O'. | — |
| 46 |
surface_lease_feet1
|
numeric measured in ft | 359-366 | DA-SURFACE-LEASE-FEET-1 |
Feet from the first lease line, two decimal places. | — |
| 47 |
surface_lease_direction1
|
text | 367-379 | DA-SURFACE-LEASE-DIRECTION-1 |
Direction of the first lease-line call, e.g. 'N', 'S (RIVER)'. | — |
| 48 |
surface_lease_feet2
|
numeric measured in ft | 380-387 | DA-SURFACE-LEASE-FEET-2 |
Feet from the second lease line, two decimal places. | — |
| 49 |
surface_lease_direction2
|
text | 388-400 | DA-SURFACE-LEASE-DIRECTION-2 |
Direction of the second lease-line call. | — |
| 50 |
surface_survey_distance_old
|
text | 401-428 | DA-OLD-SURFACE-SURVEY-DISTANCE |
The distance and direction from the survey lines as one 28-character free-text string, on the 'O'-format rows. | — |
| 51 |
surface_survey_feet1
|
numeric measured in ft | 401-408 | DA-SURFACE-SURVEY-FEET-1 |
Feet from the first survey line, two decimal places. | — |
| 52 |
surface_survey_direction1
|
text | 409-421 | DA-SURFACE-SURVEY-DIRECTION-1 |
Direction of the first survey-line call. | — |
| 53 |
surface_survey_feet2
|
numeric measured in ft | 422-429 | DA-SURFACE-SURVEY-FEET-2 |
Feet from the second survey line, two decimal places. | — |
| 54 |
surface_survey_direction2
|
text | 430-442 | DA-SURFACE-SURVEY-DIRECTION-2 |
Direction of the second survey-line call. | — |
| 55 |
nearest_well
|
text | 443-470 | DA-NEAREST-WELL |
Distance and direction to the nearest well, as 28 characters of free text. Filled on 945,346 permits — the old format, which is the only one this file uses. | — |
| 56 |
nearest_well_feet
|
numeric measured in ft | 443-450 | DA-NEAREST-WELL-FEET |
Feet to the nearest well in the new format. Populated in NONE of the 950,665 rows: nearest_well_format_flag is 'O' on all but nine. | — |
| 57 |
nearest_well_direction
|
text | 451-463 | DA-NEAREST-WELL-DIRECTION |
Direction to the nearest well in the new format. Empty for the same reason. | — |
| 58 |
nearest_well_format_flag
|
text | 471 | DA-NEAREST-WELL-FORMAT-FLAG |
'O' when the nearest-well call is free text and 'N' when it is typed. 'O' on 950,656 of the 950,665 rows. | — |
| 59 |
final_update
|
date | 472-479 | DA-FINAL-UPDATE |
DA-FINAL-UPDATE: the date the permit was validated after completion papers were reviewed and the well began to be documented as a producing well. Filled on 319,514 permits, and the closest thing in this file to 'the hole was drilled and completed'. | — |
| 60 |
cancelled_flag
|
text | 480 | DA-CANCELLED-FLAG |
'P' when the whole permit was cancelled, 'F' when only one filing (amendment) was. | — |
| 61 |
spud_in_flag
|
text | 481 | DA-SPUD-IN-FLAG |
Y when a spud-in date has been received for this permit. RRC internal. | — |
| 62 |
directional_well_flag
|
text | 482 | DA-DIRECTIONAL-WELL-FLAG |
Y when the wellbore deviates from vertical. | — |
| 63 |
sidetrack_well_flag
|
text | 483 | DA-SIDETRACK-WELL-FLAG |
Y when the well is a sidetrack — drilled sideways out of an existing hole, usually around an obstruction, and back down. | — |
| 64 |
moved_indicator
|
text | 484 | DA-MOVED-INDICATOR |
Y while a permit record is being moved to the correct status record, N once the nightly program has done it. RRC internal. | — |
| 65 |
conv_issued_date
|
date | 485-492 | DA-PERMIT-CONV-ISSUED-DATE |
The issue date again, decoded. The tape stores 30,000,000 minus CCYYMMDD so the mainframe could sort newest first; upstream reads it back to a date. Filled on 950,650 rows and should agree with issue_date. | — |
| 66 |
rule37_granted_code
|
text | 493 | DA-RULE-37-GRANTED-CODE |
'A' or 'B', naming the subsection a Rule 37 permit was granted under — 37(h)(2)(A) or 37(h)(2)(B). Filled on 448,622 permits. | — |
| 67 |
horizontal_well_flag
|
text | 494 | DA-HORIZONTAL-WELL-FLAG |
The RAW flag: 'Y' means horizontal (197,299 rows). The manual says N and 0 both mean it is not, and the file uses both — 397,691 N and 355,675 zeros. texas.permits renders the same byte as the words Horizontal and Vertical; this column does not. e.g. Y | — |
| 68 |
duplicate_permit_flag
|
text | 495 | DA-DUPLICATE-PERMIT-FLAG |
Y when the permit duplicates a previously issued one that was given an unperfed completion status. The duplicate is created when completion papers are filed and is typed as a recompletion. | — |
| 69 |
nearest_lease_line
|
text | 496-502 | DA-NEAREST-LEASE-LINE |
Distance in feet to the nearest lease line. PIC X(07), and it really is text: '1154', '40.0', '1.0' all appear, so it is kept as written rather than coerced. e.g. 1.0 | — |
| 70 |
api_number
join
|
text | 503-510 | API-NUMBER |
API number formatted 42-CCC-UUUUU, the spelling texas.permits and texas.wellbore use. Present on 950,646 of the 950,665 rows, and every sampled value resolves to a wellbore. e.g. 42-389-36336 | — |
dp_permit_bhl
24 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this bottom-hole record on the permit among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 5 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 6 |
section
|
text | 3-10 | DA-BHL-SECTION |
Survey section the bottom of the hole is in, up to eight characters. | — |
| 7 |
block
|
text | 11-20 | DA-BHL-BLOCK |
Survey block the bottom of the hole is in, up to ten characters. | — |
| 8 |
abstract
|
text | 21-26 | DA-BHL-ABSTRACT |
Abstract number of the survey the bottom of the hole is in. | — |
| 9 |
survey
|
text | 27-81 | DA-BHL-SURVEY |
Name of the original land survey the bottom of the hole is in, up to 55 characters. | — |
| 10 |
acres
|
numeric measured in acres | 82-89 | DA-BHL-ACRES |
Acres in the tract at the bottom-hole location, to two decimal places. | — |
| 11 |
nearest_well
|
text | 90-117 | DA-BHL-NEAREST-WELL |
Distance and direction to the nearest well, as free text. e.g. 378 | — |
| 12 |
lease_feet1
|
numeric measured in ft | 118-125 | DA-BHL-LEASE-FEET-1 |
Feet from the first lease line at the bottom hole, two decimal places. e.g. 669.00 | — |
| 13 |
lease_direction1
|
text | 126-138 | DA-BHL-LEASE-DIRECTION-1 |
Direction of the first lease-line call at the bottom hole. e.g. E | — |
| 14 |
lease_feet2
|
numeric measured in ft | 139-146 | DA-BHL-LEASE-FEET-2 |
Feet from the second lease line at the bottom hole. | — |
| 15 |
lease_direction2
|
text | 147-159 | DA-BHL-LEASE-DIRECTION-2 |
Direction of the second lease-line call at the bottom hole. | — |
| 16 |
survey_feet1
|
numeric measured in ft | 160-167 | DA-BHL-SURVEY-FEET-1 |
Feet from the first survey line at the bottom hole. | — |
| 17 |
survey_direction1
|
text | 168-180 | DA-BHL-SURVEY-DIRECTION-1 |
Direction of the first survey-line call at the bottom hole. | — |
| 18 |
survey_feet2
|
numeric measured in ft | 181-188 | DA-BHL-SURVEY-FEET-2 |
Feet from the second survey line at the bottom hole. | — |
| 19 |
survey_direction2
|
text | 189-201 | DA-BHL-SURVEY-DIRECTION-2 |
Direction of the second survey-line call at the bottom hole. e.g. W (RIVER) | — |
| 20 |
county
|
text | 202-214 | DA-BHL-COUNTY |
County the bottom of the hole is in, as a NAME rather than a code — the one place in this family that spells a county out. A horizontal well can bottom in a different county from the one it was spudded in. | — |
| 21 |
penetration_dist1
|
numeric measured in ft | 215-222 | DA-BHL-PNTRT-DIST-1 |
Feet to the first penetration point — where the wellbore first enters the permitted interval, which is what governs spacing on a horizontal well. | — |
| 22 |
penetration_dir1
|
text | 223-235 | DA-BHL-PNTRT-DIR-1 |
Direction of the first penetration-point call. | — |
| 23 |
penetration_dist2
|
numeric measured in ft | 236-243 | DA-BHL-PNTRT-DIST-2 |
Feet to the second penetration point. | — |
| 24 |
penetration_dir2
|
text | 244-256 | DA-BHL-PNTRT-DIR-2 |
Direction of the second penetration-point call. | — |
dp_permit_field
14 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this field named on the permit among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
permit_no
join
|
integer | — | DA-PERMIT-NUMBER |
The permit number, carried down from the permit segment. Indexed but not a key: it differs from the status number on 306,221 pre-1986 permits, and six permit numbers sit under two applications each. | — |
| 5 |
permit_seq
|
integer | — | DA-PERMIT-SEQUENCE-NUMBER |
The permit's own amendment sequence, counting down from 99. | — |
| 6 |
field_no
join
|
integer | 3-10 | DA-FIELD-NUMBER |
The eight-digit RRC field number named on the permit. The first five digits identify the field and ascend with the alphabetical field name; the last three are the reservoir number. Stored as an integer, so pad it back to eight to join the field directory. e.g. 34773550 | — |
| 7 |
application_well_code
|
text | 11 | DA-FIELD-APPLICATION-WELL-CODE |
What kind of well was proposed for this field at application time — O oil, G gas, B oil and gas, I injection, T exploratory and the rest of rrc.well_code. Nine values appear in 1,577,023 rows. e.g. O | Permit well code |
| 8 |
completion_well_code
|
text | 12 | DA-FIELD-COMPLETION-WELL-CODE |
What kind of well was proposed at completion time, from the same code list. NULL on 965,228 rows: most permitted fields never got a completion. e.g. O | Permit well code |
| 9 |
completion_code
|
text | 13 | DA-FIELD-COMPLETION-CODE |
Reserved for future use, says the manual, and the file agrees: two of 1,577,023 rows carry anything at all. | — |
| 10 |
transfer_code
|
text | 14 | DA-FIELD-TRANSFER-CODE |
Y when the well was transferred into this field, at the operator's request or the Commission's. 723 rows; the manual notes the item is not really in use yet. e.g. N | — |
| 11 |
validation_date
|
date | 15-22 | DA-FIELD-VALIDATION-DATE |
Date the completion in this field was validated by RRC's permit validation section. Filled on 440,786 of the 1,577,023 field records. | — |
| 12 |
completion_date
|
date | 23-30 | DA-FIELD-COMPLETION-DATE |
Date the well was completed in this field. Filled on 614,971 records, and the earliest parse to 1900 — a placeholder, not a completion. | — |
| 13 |
rule37_flag
|
text | 31 | DA-FIELD-RULE37-FLAG |
Y when drilling in this field must conform to Statewide Rule 37, the spacing rule. e.g. N | — |
| 14 |
rule38_flag
|
text | 32 | DA-FIELD-RULE38-FLAG |
Y when drilling in this field must conform to Statewide Rule 38, the density rule. | — |
dp_permit_remark
6 columns
Documented here because RRC ships it in the same file. It is not in a download of this dataset.
| # | Column | Type | Bytes | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|---|
| 1 |
status_no
key
join
|
integer | — | DA-STATUS-NUMBER |
The seven-digit status number RRC assigns to a W-1 application when it arrives. For applications since September 1986 it is also the permit number; for the 306,221 older ones it is not, which is why every table in this family is keyed on it rather than on the permit number. | — |
| 2 |
status_seq
key
|
integer | — | DA-STATUS-SEQUENCE-NUMBER |
The amendment sequence, which counts DOWN from 99: 99 is the original filing, 98 the first amendment, 97 the second. 877,260 of the 993,336 applications are still at 99. | — |
| 3 |
ordinal
key
|
smallint | — | — | 1-based position of this remark on the application among its siblings under the same parent, and part of the key. EZRRC's, not RRC's: the original file expresses the ordering by position on the tape and carries no such column. | — |
| 4 |
remark_seq
|
smallint | 3-5 | DA-REMARK-SEQUENCE-NUMBER |
RRC's own three-digit sequence number for the remark. Usually the same as ordinal; kept because it is what the file says. e.g. 1 | — |
| 5 |
remark_date
|
date | 6-13 | DA-REMARK-FILE-DATE |
Date the remark was entered into RRC's system. e.g. 2004-08-03 | — |
| 6 |
remark
|
text | 14-83 | DA-REMARK-LINE |
Up to seventy characters of remark about the W-1 application or permit. Remarks are internal — unlike restrictions they are not printed on the permit — and a long one is written as several consecutive rows. e.g. PRIOR TO 9/1/1986 ONE LOCATION DATA ENTRY SCREEN EXISTED, AND FOR | — |
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.
Drilling permit application type 15 values
Read by application_type
What the operator asked permission to do. A single wellbore accumulates several of these over its life: an original DRILL, then a RE-ENTER or a PLUG-BACK years later. The pipeline that loads this data resolves the code on the way in, so the warehouse column holds the text below rather than the raw RRC code. Both are recorded here so the original filing can be read either way.
Source: OilGasDataProcessing process_permits.applicationTypeString (OGA049 field ROOT-APPLICATION-TYPE)
Texas county code 277 values
Read by county_code, county_code
The three-digit county code RRC uses, which is also the county's FIPS code. `canonical_value` carries the full five-digit state plus county FIPS, so a county joins straight to Census geography. There are 254 Texas counties and 277 codes; the extras are offshore areas and administrative entries.
Source: Generated from texas.pdq_gp_county
RRC district (internal number) 14 values
Read by 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.
| 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
Permit well code 34 values
Read by application_well_code, completion_well_code
What the permit says the well is for. This is the widest code list RRC uses and it goes well past oil and gas — uranium, cathodic protection, seismic shot holes and water supply wells all appear. The pipeline that loads this data resolves the code on the way in, so the warehouse column holds the text below rather than the raw RRC code. Both are recorded here so the original filing can be read either way.
Source: OilGasDataProcessing process_permits.wellCodeString (OGA049 field FLD-APPLICATION-WELL-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.
Drilling Permit Master and Trailer joins to P-5 Organization (ASCII) on Operator number = ID — many rows here share a single row there.
was applied for by
The P-5 number as the OPERATOR wrote it on the W-1, resolved to the operator directory. Both sides are integers. 19,997 of 20,000 sampled applications resolve. Three fewer than the permit segment's 20,000, and the difference is the point: the root holds what was filed and the permit segment holds what RRC approved, so a P-5 number the Commission corrected survives here.
drilling-permit-master-and-trailer.operator_no = p5-organization-ascii.id
Drilling Permit Master and Trailer joins to Drilling Permit Master and Trailer — Daily File (with latitudes and longitudes) on Status number = Status number and Status sequence = Sequence number — one row here matches many rows there.
is the same application as
The rolling daily permit extract and the complete monthly history are the same W-1 applications written twice, and this is the key they meet on: the status number and its amendment sequence, which the daily file calls sequence_no. Both sides are integers, so the comparison needs nothing done to it. Measured over the WHOLE of texas.permits rather than a sample: 114,493 of its 115,579 rows are in daf802. The 1,086 that are not are permits issued since the monthly tape was cut. Follow it this way for the restrictions, the bottom-hole tracts, the remarks and the pre-2010 history; follow it back for coordinates, which daf802 does not carry at all.
drilling-permits-daily.status_no = drilling-permit-master-and-trailer.status_no AND drilling-permits-daily.sequence_no = drilling-permit-master-and-trailer.status_seq
Drilling Permit Master and Trailer joins to Drilling Permit Master and Trailer — End of Month File (with latitudes and longitudes) on Status number = Status number and Status sequence = Sequence number — one row here matches many rows there.
is the same application as
The end-of-month permit extract to the full permit history, on the application key. Same table and same measurement as the daily file above: 114,493 of 115,579 rows resolve.
drilling-permits-monthly.status_no = drilling-permit-master-and-trailer.status_no AND drilling-permits-monthly.sequence_no = drilling-permit-master-and-trailer.status_seq
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 7th working day.)
- RRC download link
- GoAnywhere MFT
- Record layout manuals
- Our table
texas.dp_permit_root
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.