Data Types
OriginInfo
Acquisition and well metadata sourced from the ORIGIN EFLR. When the ORIGIN
EFLR is unreadable, the library falls back to the PARAMETER EFLR using the
standard mnemonics WN, FN, CN, WI, RUN, and SON.
Field |
Type |
Description |
|---|---|---|
|
string |
OBNAME triplet string of the ORIGIN object |
|
string |
FILE-ID attribute (file identifier) |
|
string |
File set name |
|
number |
File set number |
|
number |
File number within the file set |
|
string |
File type (e.g. |
|
string |
Acquisition software product name |
|
string |
Acquisition software version |
|
Date | null |
Date and time the file was created |
|
string |
Service order number |
|
number |
Well descent (run) counter |
|
number |
Logging run number |
|
string |
Well API / UWI identifier |
|
string |
Well name |
|
string |
Field name |
|
number |
Logging company code (API standard) |
|
string |
Logging company name |
|
string |
Operating company name |
ChannelInfo
Metadata for one channel as parsed from the CHANNEL EFLR.
Field |
Type |
Description |
|---|---|---|
|
string |
OBNAME triplet |
|
string |
Short mnemonic (e.g. |
|
OBName |
Full OBNAME triplet |
|
string |
Descriptive name (e.g. |
|
string |
Unit symbol (e.g. |
|
number |
RP66 V1 representation code (see Representation Codes) |
|
number[] |
|
|
string[] |
Channel property flags (e.g. |
|
number | null |
Minimum value hint (may be absent) |
|
number | null |
Maximum value hint (may be absent) |
DecodeResult
Returned by Frame.decode().
Field |
Type |
Description |
|---|---|---|
|
number |
Number of decoded depth/time samples |
|
Int32Array |
RP66 V1 frame numbers (1-based, one per row) |
|
DecodeChannelMeta[] |
Ordered channel metadata (name, longName, units, repcode, dimension) |
|
Record<string, Float64Array> |
Decoded values. Length = |
|
Record<string, number> |
1 for scalar channels; product of |
Example — accessing data:
const result = frame.decode();
// Scalar channel (stride = 1)
const depth = result.data['DEPTH']; // length == frameCount
console.log('Start depth:', depth[0]);
console.log('Stop depth:', depth[result.frameCount - 1]);
// Array channel (stride = 500 for a 500-sample waveform)
const stride = result.strides['VDL']; // 500
const vdl = result.data['VDL']; // length == frameCount * 500
for (let i = 0; i < result.frameCount; i++) {
const waveform = vdl.subarray(i * stride, (i + 1) * stride);
// waveform is a Float64Array view of 500 samples at depth[i]
}
ParameterInfo
One entry from the PARAMETER EFLR.
Field |
Type |
Description |
|---|---|---|
|
string |
Mnemonic (e.g. |
|
string |
Descriptive name |
|
unknown[] |
Parsed values (strings, numbers, or Date objects) |
|
string |
Unit symbol |
|
OBName[] |
Zone references (empty for global parameters) |
OBName
The RP66 V1 Object Name triplet used to uniquely identify every object.
Field |
Type |
Description |
|---|---|---|
|
number |
Origin reference — links the object to its creating logical file |
|
number |
Copy number — distinguishes multiple copies of the same-named object |
|
string |
Human-readable identifier (the mnemonic) |
// OBNAME key format used by channel/frame Maps
const key = `${obname.origin}/${obname.copy}/${obname.name}`;
// e.g. "1/0/GR" or "16/0/TDEP"