This lightweight container parses the header that opens an
Other Data Section as defined by the SEG-EDI spec. It
collects canonical options, any extra key/value pairs,
and the ordered list of measurement IDs that may follow
the options list.
Parameters:
*args (Any) – Unused positional arguments. Present for MRO safety.
verbose (int or bool, optional) – Verbosity level. Propagated by EDIComponentBase.
logger (object, optional) – Logger instance. If None, a null logger is used.
**kws – Field overrides to pre-populate attributes.
Variables:
sectid (str or None) – Section identifier. Often mirrors DATAID.
nchan (int or None) – Number of channels in this section.
nfreq (int or None) – Number of frequencies, if provided.
maxblks (int or None) – Upper bound on the number of data blocks.
ndipole (int or None) – EMAP-style dipole count, if present.
type (str or None) – Free-form type tag found in the wild (e.g. FREE).
extra (dict) – Any unrecognized header keys are stored here.
meas_ids (list of str) – Measurement IDs listed under the header.
start_data_lines_num (int or None) – Absolute line index where the first >BLOCK begins.
Unknown header keys are preserved in extra so
round-tripping does not lose information. Measurement IDs
are appended in the order they appear in the file.
Reader/writer for generic >BLOCK data under OTHERSECT.
The class iterates over consecutive >KEY data blocks
that follow an >=OTHERSECT header, and stores each as
a small record. Numeric rows are collected into
_OtherBlock.values. Non-numeric rows are kept in
_OtherBlock.raw_lines to preserve content that
cannot be parsed as floats.
Parameters:
*args (Any) – Unused positional arguments. Present for MRO safety.
verbose (int or bool, optional) – Verbosity level. Propagated by EDIComponentBase.
logger (object, optional) – Logger instance. If None, a null logger is used.
**kws – Field overrides to pre-populate attributes.
Variables:
blocks (list of _OtherBlock) – Parsed data blocks in file order.
Parse all >BLOCK entries. If start_line is
None, the reader seeks the first >OTHER or the
line after >=OTHERSECT. Raises
EdIDataError when no blocks are found.
Typing strategy. Option values are parsed with a
best-effort rule: integers first, then floats, else kept
as strings. Numeric table rows are formatted using
FLOAT_FMT and wrapped
using PER_LINE.
This mixin supplies two small facade methods that delegate
to OtherSECT and OtherIO. It lets a host
class add simple read_* helpers without duplicating
plumbing.