Formats and Metadata
Understand supported formats, frame columns, missing values, units and large-file limits.
Turn text into plotted columns
Edit CSV or JSON, then plot its columns. Runs locally on the calling thread; this example accepts up to 64 KiB.
Use the live parser to check how rows become typed columns. File extensions help detection; metadata and warnings confirm what was read.
Supported Inputs
| Format | Support |
|---|---|
| SEG-Y | Revisions 0–2; ASCII/EBCDIC; extended headers; either byte order; fixed/variable traces |
| SEG-Y sample codes | 1, 2, 3, 5, 6, 8–12, 15, 16, including IBM floats |
| SU | Trace-only IEEE floats; detected byte order |
| LAS | 1.2–3.0; wrapped values, delimiters, nulls, multiple data frames |
| Delimited text | Delimiter detection, quoted fields, numeric/date/boolean/category columns |
| JSON | Column objects, record arrays, row tables |
Malformed inputs reject. Local DLIS and well array channels are unsupported.
Read the Result Correctly
| Result | Contains | Check before plotting |
|---|---|---|
OpenedSeismic |
Layout, optional trace offsets | Sample encoding, interval, domain, units, delay |
FramesFile |
Typed frames, parameters, warnings, preview | Index order, curve kinds, units, category labels |
Browser FramesDetails |
Descriptions and previews, not full arrays | Use wellCurves or points for data |
A frame has an index (Float64Array) and named curves (Float32Array / Float64Array). Missing scalar values are NaN; test with Number.isFinite. Category values are codes, not measurements. Use isMonotonic when calculations require an ordered index.
FramesFile is not a core Table; convert it or use source.points before passing it to CrossplotView.
JSON Input Shapes
Column object:
{ "Depth": [1000, 1001, 1002], "Porosity": [0.12, 0.18, 0.09] }
Record array:
[
{ "Depth": 1000, "Porosity": 0.12 },
{ "Depth": 1001, "Porosity": 0.18 }
]
Coordinate Conventions
- Direct trace reads use zero-based indices and exclusive range ends.
SectionViewuses 1-based trace numbers and ms from the first sample.- Custom depth views must preserve the file’s domain, units and delay.
- Header summaries, previews and amplitude estimates are bounded/sampled, not full copies of all values.
Large-File Behavior
| Operation | Cost to expect |
|---|---|
| Fixed-length seismic access | Ranged reads without retaining every sample |
| Variable-length traces | Offset scan may be needed |
| Coarse overview | Reads every value included in its averages |
| LAS / delimited parsing | Retains numeric columns |
| JSON parsing | Whole document; readJson defaults to 64 MiB |
Browser sessions add text/column/cache budgets. Direct LAS/delimited calls do not inherit them; bound your own input and output. Mock dimensions do not establish a maximum real file size.