Summary
Introduce a first-class NumericSeries object in Cognite CDF to natively represent depth-indexed data (measured depth, true vertical depth) and elapsed-time-indexed measurements (wireline elapsed time, drilling offsets in hours). Depth is a fundamental axis in upstream oil & gas, on par with time measurements. A NumericSeries would unlock more natural storage, querying, visualization, and analytics for a large portion of subsurface and drilling data.
Why numeric indexes matter in Upstream Oil & Gas
Numeric indexes are the most widely used independent variables across the upstream domain:
-
Drilling: MWD/LWD logs, drilling parameters vs. depth, trajectories, broomsticks, hole conditions
-
Geology: lithology descriptions, stratigraphic tops, formations, facies vs. depth
-
Petrophysics: wireline logs, core measurements, interpreted curves
-
Reservoir & Completions: perforations, zones, intervals, properties vs. depth
-
Elapsed time s/min/hr in addition to depth: wireline, well testing, drilling offsets
Statistically, the largest share of subsurface data in upstream O&G is indexed by depth rather than time. Treating depth as a first-class concept would better reflect how domain experts think, work, and analyze data. Traditionally storage and infrastructure around depth and time logs in upstream software follows exactly the same pattern (everything except the index type).
Options
In 2026 CDF currently has 3 potential options to store depth data - Sequences, Records, Files. Theoretically, CDF also allows to use TimeSeries, since index is integer. Integer index is interpreted as milli-seconds since 1970, however can hold any value, for example, millimeters, which is OK for depth and length measurements. One of viable options for future CDF is to fork TimeSeries into NumericSeries (or DepthSeries, or LengthSeries), since it seems to satisfy most of requirements for this kind of object
Feature comparison
| Requirement for numeric | Sequences | Records | Files | NumericSeries* |
| Static schema (ex, trajectory) | Yes | Yes | Yes | Yes |
| Flexible schema (most depth) | Static only | Static only | Any | Any |
| Datasets 1000+ columns | 200 max | 1000 max | Any | Any |
| Datasets 100k+ rows | Too heavy | All data <50M | Any | Any |
| RAW and Transformations | Yes | No | No | Any |
| Filtering by index | Only int index | Yes | No | Any |
| Filtering by column values | Yes | Yes | No | Yes |
| Aggregations | No | Yes | No | Yes |
| Chunking/pagination | Yes | Yes | No | Yes |
| Unit conversions | No | No, planned | No | Yes |
| Python SDK | Yes, now | No, planned | Yes | Yes |
| Extractor support | Yes | Yes, partial | Yes | Yes |
| Value type - float | Yes | Yes | Yes | Yes |
| Value type - float[], images | No | Via JSON | Yes | No |
| Value type - text | Yes | Yes | Yes | Yes |
| Value type - timestamp | Yes | Yes | Yes | Yes |
| Available in CDF UI | Yes, native | Custom app | Yes | Custom app |
Value to CDF and Users
-
Aligns CDF’s data model with upstream O&G data models (OSDU, WITSML, PPDM)
-
Improves performance and usability for subsurface and drilling workflows
-
Enables rich domain-specific applications and analytics
-
Lowers total cost of ownership by simplifying data pipelines
-
Strengthens CDF as a system of record for subsurface and drilling data
Check the
documentation
Ask the
Community
Take a look
at
Academy
Cognite
Status
Page
Contact
Cognite Support
