What this is:

The 06 LDOLDATA segment of S.LDF900OL on its own: 29,542,093 rows, one per oil lease per reporting cycle, from January 1993 to June 2024. This is the table the Historical Ledger exists for, and it is published separately because a download is of one table and the root's 158,566 balance rows are not what anyone comes here for.

How it is laid out:

The Railroad Commission publishes this as EBCDIC (IBM cp037). IBM mainframe encoding (cp037). Opening it as text gives you nonsense; it has to be transcoded first. We decode it into a table you can open anywhere. It has 21 columns and about 29.5M rows.

The columns you will most likely want:

  • district RRC district as an INTERNAL district number, 01 to 14 -- not the designation the industry prints.
  • lease_no The RRC oil lease number as a whole number, so PDQ's '02092' is 2092 here.
  • cycle_yyyymm The reporting cycle this row belongs to, as a whole number: 202406 is June 2024.
  • operator_no The six-digit P-5 operator number for THIS cycle, which is what makes the file a history rather than a snapshot: a lease that changed hands in 2007 has one number before and another after.
  • field_no The five-digit RRC field number for this cycle, as a whole number.
  • field_reservoir_no The three-digit reservoir number under the field, the low end of RRC's eight-digit field key.

…and 15 more, all documented on the full page.

What we add:

Chart a lease's allowable against its production for thirty-one years; find the months a lease produced beyond its allowable and the months it worked the overage off; total oil by district and year for the whole state; or take one year -- about a million rows -- and join it to the P-5 directory to see who was operating what in 1997.

  • 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 use:

FILTER ON THE CYCLE. The table is 29.5M rows partitioned by year, and a cycle range is the only filter that lets Postgres skip whole years of it. A district or an operator on their own still read every partition.

The full page lists every trap in this dataset.

Get it:

People who want this usually want: