well_formation_tops
Formation top picks: one row per well per geologic formation penetrated, with the measured top depth (TVD and subsea). Sourced from completion reports, well logs and scout tickets; this is the input data behind our gridded formation surfaces.
Access tier: portal
Portal. These rows are well-level or producing-unit-level data, or our modelled output at cohort or grid grain. They open with a Portal, Pro or Enterprise plan. The website shows aggregates built from them, never the rows.
Primary key: well_id, formation
Regions: Alberta, British Columbia, Colorado, Louisiana, Michigan, Montana, North Dakota, New Mexico, Ohio, Oklahoma, Pennsylvania, Texas, Utah, West Virginia, Wyoming
Columns
| Column | Type | Nullable | Description |
|---|---|---|---|
well_id |
string | no | Join key to the well register. Part of the primary key together with formation. |
formation |
string | no | Formation name for this pick, as the region's builder normalizes it. Case conventions differ by region today (several regions publish uppercase names), so the same formation can appear under more than one spelling across regions; filters on this column match exactly. Part of the primary key. |
zone |
string | yes | Landing zone within the formation: an attribute, not part of the key. Where multiple records exist for a (well, formation) pair, carries the shallowest record's zone. NULL = formation-level top with no zone detail. |
formation_id |
string | yes | Canonical stratigraphic-unit identifier: the join key to the formations register. NULL for formation names not yet mapped to the registry. |
top_tvd |
int32 | yes | True vertical depth to the formation top, in feet: the shallowest value when multiple sources report. Sourced from completion-report formation lists. NULL when we could not establish the true vertical depth: the source reported only a measured depth we could not reliably convert, the reported vertical depth disagrees with every hole the well's directional survey records and those holes disagree with each other at that depth, or the source reported only the formation's base (carried in base_tvd or base_md). In the first two cases top_md still carries the reported measured depth. |
top_md |
int32 | yes | Measured depth to the formation top, in feet. NULL when the source reports only a vertical depth (the common case in Texas), or only the formation's base (carried in base_tvd or base_md). |
top_tvdss |
int32 | yes | Subsea depth of the top, in feet: elevation_kb minus top_tvd. Negative = below sea level. NULL when elevation_kb or top_tvd is unavailable. The elevation-normalized depth our formation surfaces are built from. |
top_tvd_source |
string | yes | Where top_tvd came from: reported = the operator-reported value, either confirmed by the well's directional survey within 50 ft or with no survey to check against; reported_traded = the operator filed the vertical depth and measured depth in each other's columns, the vertical depth at most 50 ft past the measured depth; both numbers are published swapped back. survey = the operator value disagreed with the survey by more than 50 ft and was replaced by the survey-interpolated depth at top_md. survey_filled = the source reported only a measured depth; the value is the survey-interpolated true vertical depth at that measured depth. NULL, together with top_tvd, when we could not establish the true vertical depth: the source reported only a measured depth we could not reliably convert, the reported vertical depth disagrees with every hole the well's directional survey records and those holes disagree with each other at that depth, or the source reported only the formation's base (carried in base_tvd or base_md). In the first two cases top_md still carries the reported measured depth.
Values: reported · reported_traded · survey · survey_filled. |
pick_source |
string | yes | Who authored this formation pick: operator_report = the operator's own filed formation list (completion reports and well files); regulator_log_pick = the regulator's or geological survey's own interpretation of well logs. Empty where the pick's authorship is not yet classified.
Values: operator_report · regulator_log_pick. |
pick_status |
string | yes | The pick's status where it is not final: pending_approval = the filing it comes from awaits regulator approval and values can change if the filing is revised; rejected = the filing was rejected by the regulator and a refile supersedes these values. Blank for final picks.
Values: pending_approval · rejected. |
base_tvd |
int32 | yes | Depth of the formation's base (bottom boundary) at this well, true vertical depth in feet, from picks explicitly marked as the base (e.g. 'BASE AUSTIN CHALK') or from a source that records a bottom for its picks. NULL when no base was reported, or when the base's true vertical depth was not established (base_md may still carry the measured depth). |
base_md |
int32 | yes | Measured depth along the wellbore of the formation's base, in feet. NULL when no base was reported, or when the source reports only a vertical depth for the base (carried in base_tvd). |
base_tvdss |
int32 | yes | The formation's base in true vertical depth subsea, feet, same datum convention as top_tvdss. NULL when no base pick was reported. |
elevation_kb |
int32 | yes | Surface elevation (kelly bushing datum), in feet, copied from the well register so subsea depth can be recomputed. NULL = elevation unknown. |
latitude |
float64 | yes | Surface hole latitude (WGS84), copied from the well register for spatial queries. |
longitude |
float64 | yes | Surface hole longitude (WGS84), copied from the well register. |
Region-specific columns
Extra columns a single region's source adds.
Wyoming (2 columns)
| Column | Type | Description |
|---|---|---|
source |
string | |
top_md_method |
string |
How these numbers are built is on methodology; the machine twin of this page is data-dictionary.json.