Read a Micromate ISEE blasting record.
readISEE.RdParses the TXT output of an ISEE-compliant blasting seismograph
(Micromate, Vibra-Tech, GeoSonics). The format is the
International Society of Explosives Engineers (ISEE) Performance
Specifications for Blasting Seismographs and is declared in the
header line Version : V 10-90 Micromate ISEE.
Value
LONG data.table(t, OCID, s) with OCID in T/V/L
and s in mm/s. Three rows per sample, 3 * NP rows
total where NP is the per-channel sample count.
Details
Two firmware variants are supported transparently:
v10 /
.TXT: header lines"<key> : <value>"(space-colon-space), body tab-separatedTran Vert Long MicL.v11 /
.CSV: header lines"<key>","<value>"(CSV pair), body comma-separated quoted"Tran","Vert","Long"(no MicL present in the body).
Variant is auto-detected from the file content – the dispatch
is not by extension. Sample rate is read from a line matching
Sample\\s*Rate\\s*[: ,"]+<Fs>\\s*sps, which captures both
header styles. The body header is located by the regex
Tran[^A-Za-z]+Vert[^A-Za-z]+Long, also style-agnostic.
Column-to-OCID mapping (ISEE convention):
Tran(transverse) ->TVert(vertical) ->VLong(longitudinal, radial blast-to-station) ->LMicL(microphone, dB(L)) -> dropped when present (only in v10).
Velocity is in mm/s; dt = 1 / Fs is derived from the header.
No metadata other than Fs is read here – per-event scalars
(charge, distance to centroid, location) live in the blast
flatfile, not in the parser's contract.
To process an ISEE record end-to-end:
DT <- readISEE("UM12780_23_10_2025_15_22_8.TXT")
# DT now has columns (t, OCID, s) with OCIDs T/V/L; s in mm/sFrom parseRecord() (the canonical entry point), the dispatch
happens via .OWNER_FORMAT["ISEE"] = "ISEE". To get a sidecar
record (raw/VT.<RID>.csv + JSON), call
extractRecord(.x, path) – the provider-string parser
(.parseUnits / .parseKind) accepts "mm/s" on the master row and
derives KIND = "VT" automatically, or pass kind = "VT" explicitly
to bypass derivation.
Examples
file <- tempfile(fileext = ".TXT")
writeLines(c(
"Version : V 10-90 Micromate ISEE",
"Sample Rate : 100 sps",
"Tran\tVert\tLong\tMicL",
"1\t2\t3\t90",
"4\t5\t6\t91"
), file)
readISEE(file)
#> t OCID s
#> <num> <char> <int>
#> 1: 0.00 T 1
#> 2: 0.01 T 4
#> 3: 0.00 V 2
#> 4: 0.01 V 5
#> 5: 0.00 L 3
#> 6: 0.01 L 6