CommoVision

See the future in real time

← All tables

directional_surveys

Full wellbore trajectories: one row per survey station (a measured-depth reading along a wellbore leg), with inclination, azimuth, true vertical depth, and position in WGS84. Every filed reading is kept: planned (proposed) surveys as well as as-drilled, and superseded filings alongside the latest, so you can compare plan against actual. For the current as-drilled trajectory, filter is_proposed = false and is_latest_version = true. This is the table for accurate lateral placement, well spacing, and landing-zone work.

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: station_id
Region codes: ar, bc, co, gom, la, mi, mt, nd, nm, oh, ok, pa, pacific, tx, ut, wv, wy

Columns

ColumnTypeNullableDescription
station_id string no Globally unique station identifier (opaque string), this table's primary key. Distinct filings and plan-vs-as-drilled readings of the same well/leg/depth coexist as separate rows; for the canonical trajectory filter is_proposed = false AND is_latest_version = true. Never parse substrings out of it.
well_id string no Join key to the well register.
completion_id string yes Join key to the completions table. Links the survey leg to its completion event: the vertical hole and first lateral to the initial completion; later laterals and sidetracks to recompletions by date order. NULL where the leg matches no completion, and where several completion records tie at the deciding date, so no single completion is evidenced.
station_sequence int32 no Row number of the station within its (well, leg, filing), ordered by measured depth; starts at 1. A filing that carries both a proposed and an as-drilled survey numbers each set separately.
leg string no Wellbore leg code (VERT, DIR, LAT1, STK2, ...). Within a single multi-survey filing, LAT1/LAT2 distinguish the laterals; across separate filings the same lateral defaults back to LAT1 unless the operator labeled it.
leg_type string yes The leg's classified type: vertical, directional, lateral, or sidetrack. Values: vertical · directional · lateral · sidetrack.
leg_sequence int32 yes Numeric sequence of the leg within its type (LAT1 = 1, LAT2 = 2; vertical/directional legs = 1).
md float64 no Measured depth in feet. The station ordering key.
inclination float64 yes Wellbore deviation from vertical in degrees (0 = vertical, 90 = horizontal).
azimuth float64 yes Compass bearing in degrees (0 = north, 90 = east).
tvd float64 yes True vertical depth in feet. Source-provided where tvd_source = 'reported'; computed by the minimum-curvature method from measured depth, inclination and azimuth where 'min_curvature'.
tvd_source string yes Where this station's true vertical depth came from: reported = the source filing carried it; min_curvature = we computed it by the minimum-curvature method from measured depth, inclination and azimuth where the source omitted it. NULL exactly when tvd is NULL. Filter tvd_source = 'reported' for source-reported depths only. This is the per-station flag; the well-level tvd_source on the well register separately records which source tier supplied the well's headline TVD. Values: reported · min_curvature.
position_source string yes Where this station's published position (latitude/longitude) came from: reported = the source filing carried the position (printed offsets from the surface location, or absolute coordinates we convert to WGS84); identity_inferred = the filing printed the position values but did not label the columns: we identified the north/south, east/west and vertical-section columns from the survey's own reference azimuth and internal geometry; min_curvature = we computed the position by the minimum-curvature method from measured depth, inclination and azimuth. NULL exactly when latitude/longitude are NULL. Filter position_source = 'reported' for source-asserted positions only. Values: reported · identity_inferred · min_curvature.
latitude float64 yes Station latitude (WGS84). See position_source for whether it derives from a source-carried position or from our minimum-curvature computation.
longitude float64 yes Station longitude (WGS84). See position_source for whether it derives from a source-carried position or from our minimum-curvature computation.
doc_id string no Identifier of the source document this station was parsed from (opaque string). Stable, the same filing always yields the same id. Use source + source_id for the agency-side handle.
source_id string yes The agency-side handle of the source filing (e.g. the regulator's bulk filing id or document image id). Unique within a given source.
source string yes Which acquisition path the survey came from: daily_bulk (the regulator's bulk data feed) or completion_packet (PDFs from well completion packets).
survey_date date yes Date of the survey: the reported survey interval's end where the source publishes one, else the filing's header date (for proposed filings, the plan's own date). Used as the tie-break between overlapping surveys of one wellbore of the same kind that reached the same depth (see is_latest_version).
sensor_type string yes Survey sensor type: mwd = measurement-while-drilling (real-time, lower accuracy at depth); gyro = gyroscopic (higher accuracy, typically run after drilling); other = catch-all. NULL where the source doesn't say. Values: mwd · gyro · other.
is_proposed bool no True if the survey is a pre-drill plan (a proposed trajectory); false if it is a post-drill as-drilled measurement. Never NULL: where the source filing does not label plan vs as-drilled, we resolve the value from that source's own filing semantics (a source whose unlabeled filings are as-drilled surveys reads false) and, where it is decisive, the survey's measured geometry; an explicit source label always stands. Pre-drill plans are kept so you can see the plan-vs-as-drilled delta and the full version history of a wellbore. For canonical bottom-hole position use is_proposed = false AND is_latest_version = true.
is_latest_version bool no True for the stations that make up the leg's canonical path: where several records of one wellbore overlap, a full position survey outranks a summary or partial record of the same hole (a certification page, a duplicate copy, an inclination-only report); among records of the same kind, the one that reached deepest wins the shared interval (then the newest, then the one with the most stations; remaining ties are broken deterministically), and a shallower record keeps only the stations beyond every deeper one's reach. Latest does NOT imply as-drilled - a pre-drill plan is ranked among plans; combine with is_proposed = false for canonical as-drilled positions.

Region-specific columns

Extra columns a single region's source adds.

bc (1 column)
ColumnTypeDescription
wa_number string
nd (1 column)
ColumnTypeDescription
file_no int32
ut (2 columns)
ColumnTypeDescription
construct_number int32
citing_type string

How these numbers are built is on methodology; the machine twin of this page is data-dictionary.json.