Wellbore Casing Records
Every casing string set in every Texas well: size, depth, hole size and cement.
What this is
Record type 05. One row per casing string: the casing diameter as a whole number plus a fraction, the depth it was set to, the hole size it went into, how much cement was pumped and how the top of cement was determined.
1.7 million casing strings. This is the dataset behind almost every groundwater-protection question asked about Texas wells.
How it is laid out
The Railroad Commission publishes this as Fixed-width ASCII. Columns are byte ranges with no separators, described only in a scanned record layout. We decode it into a table you can open anywhere. It has 17 columns and about 1.7M rows.
The columns you will most likely want:
-
api_countyThe three-digit county component of the API number. For offshore wells this is the nearest onshore county, not … -
api_uniqueThe five-digit well component of the API number. Unique only in combination with the county code. -
casing_countSequence of this casing string within the bore. -
cas_inchCasing diameter, whole inches. -
cas_frac_numNumerator of the fractional part of the casing diameter. -
cas_frac_denomDenominator of the fractional part of the casing diameter.
…and 11 more, all documented on the full page.
What we add
Check whether surface casing was set below the base of usable-quality water, compare cement volumes against hole volume, and find wells whose casing programme is unusual for their field.
- Decoded out of the Commission's original format into something Excel opens.
- Filterable before you download, so you can take one county instead of the whole state.
- The Commission's single-letter codes translated into words.
Worth knowing before you use it
Casing and hole diameters are stored as three separate integers — a whole number, a fraction numerator and a fraction denominator. 9 5/8 inch casing is 9, 5 and 8. Reassemble before you compare anything.
The cement measurement code says whether the amount is sacks or cubic feet. Summing the column without reading that code …
The full page lists every trap in this dataset.