update to 0.26.0. Big chonking update including 0.23, 0.24, and 0.25 as well. #33
+26
-5
@@ -6,6 +6,16 @@ All notable changes to seismo-relay are documented here.
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v0.26.0 — 2026-08-27
|
||||||
|
|
||||||
|
**Series-3 decode correctness.** Two body-model rewrites, a systematic
|
||||||
|
scale error affecting every geophone reading ever produced, a recovered
|
||||||
|
file format, and two artifact-hygiene bugs where stale files outlived the
|
||||||
|
decodes that made them. All 11,603 series-3 binaries in the production
|
||||||
|
snapshot now pass every check.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- **Series-3 health sweep: 11,603 / 11,603 binaries now clean on every check.**
|
- **Series-3 health sweep: 11,603 / 11,603 binaries now clean on every check.**
|
||||||
@@ -261,11 +271,22 @@ gitignored fixtures).
|
|||||||
the ACH queue with garbage events. Store-wide it affects 2 units of 21 across
|
the ACH queue with garbage events. Store-wide it affects 2 units of 21 across
|
||||||
6 episodes; see `scratch/offset_candidates.csv` and the project memory notes.
|
6 episodes; see `scratch/offset_candidates.csv` and the project memory notes.
|
||||||
|
|
||||||
- **Still open:** 3 of 75 ground-truth events truncate at a segment-header
|
- ~~**Still open:** 3 of 75 ground-truth events truncate at a segment-header
|
||||||
variant with a variable-width prefix before the channel-id field (2, 4 or 6
|
variant with a variable-width prefix.~~ **Resolved later the same day** — the
|
||||||
bytes observed) and an `01 00` marker instead of `02 00`. See the protocol
|
record-chain rewrite (above) showed there is no variable prefix; it was
|
||||||
reference, "Unmapped: variable-prefix segment descriptors". Examples:
|
walker drift. All 75 are now sample-count exact.
|
||||||
`BE12599/N599LPNB.JF0W` at body offset 1155, `BE9558/K558LOF2.820W` at 1485.
|
|
||||||
|
- **Still open after this release:**
|
||||||
|
- **Series-4 (Thor / Micromate) is not verified** — UM-series sits at ~48%
|
||||||
|
against device peaks with a ~1.7% systematic bias and a near-zero tail.
|
||||||
|
Thor IDFW is pinned to `decode_waveform_legacy` deliberately.
|
||||||
|
- **14 sensitive-range files** show a decoded/truth ratio of exactly 8.0
|
||||||
|
(= 10.0/1.25) — a units bug, not a codec one. Never chased.
|
||||||
|
- **`backfill_sidecars.py --force` also inserts DB rows** for store files
|
||||||
|
that have none (1,286 on the snapshot; one-time per store), and the
|
||||||
|
dry-run does not report that count before you commit to it.
|
||||||
|
- **Verification is uneven:** per-sample proof on the 11% of files with a
|
||||||
|
preserved `_ASCII.TXT`, peak-and-structure consistency on the other 89%.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,34 @@
|
|||||||
|
|
||||||
Ground-up Python replacement for **Blastware**, Instantel's Windows-only software for
|
Ground-up Python replacement for **Blastware**, Instantel's Windows-only software for
|
||||||
managing MiniMate Plus seismographs. Connects over direct RS-232 or cellular modem
|
managing MiniMate Plus seismographs. Connects over direct RS-232 or cellular modem
|
||||||
(Sierra Wireless RV50 / RV55). Current version: **v0.21.0**.
|
(Sierra Wireless RV50 / RV55). Current version: **v0.26.0**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Where things stand (updated 2026-08-27)
|
||||||
|
|
||||||
|
Read this first when picking the project back up.
|
||||||
|
|
||||||
|
- **Series-3 decode is correct and verified.** All 11,603 series-3 binaries in
|
||||||
|
the prod snapshot pass every check (channel lengths, peaks vs the device's
|
||||||
|
own reported PPV, nothing above full scale, length vs declared record time).
|
||||||
|
Ground truth: 1,211/1,211 histograms exact per-interval and 75/75 waveform
|
||||||
|
sample counts exact against preserved Blastware ASCII exports.
|
||||||
|
⚠ That is per-sample proof on 11% of files and peak-only consistency on the
|
||||||
|
other 89% — see `docs/instantel_protocol_reference.md` §7.6.1.
|
||||||
|
- **Series-4 (Thor / Micromate) is NOT verified.** UM-series sits at ~48%
|
||||||
|
against device peaks with a ~1.7% systematic bias and a near-zero tail.
|
||||||
|
Thor IDFW is pinned to `decode_waveform_legacy` deliberately.
|
||||||
|
- **Open, not blocking:** 14 sensitive-range files show an exact 8x
|
||||||
|
(= 10.0/1.25) units discrepancy; `scripts/backfill_sidecars.py --force` also
|
||||||
|
inserts DB rows for store files that have none (one-time per store) and the
|
||||||
|
dry-run does not report that count.
|
||||||
|
- **After any codec change, regenerate the store** — `backfill_sidecars.py
|
||||||
|
--force` then `backfill_event_shape.py`, DB backup first. Stored `.h5` files
|
||||||
|
do not update themselves.
|
||||||
|
- **Parked:** the "offset" hardware-fault investigation (Appendix E of the
|
||||||
|
protocol reference) pending the multi-year BW archive.
|
||||||
|
|
||||||
|
|
||||||
When new information about the protocol is discovered, please update the instantel_protocol_reference.md with the findings in addition to this document
|
When new information about the protocol is discovered, please update the instantel_protocol_reference.md with the findings in addition to this document
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "seismo-relay"
|
name = "seismo-relay"
|
||||||
version = "0.25.0"
|
version = "0.26.0"
|
||||||
description = "Python client and REST server for MiniMate Plus seismographs"
|
description = "Python client and REST server for MiniMate Plus seismographs"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|||||||
+1
-1
@@ -90,7 +90,7 @@ app = FastAPI(
|
|||||||
"Implements the minimateplus RS-232 protocol library.\n"
|
"Implements the minimateplus RS-232 protocol library.\n"
|
||||||
"Proxied by terra-view at /api/sfm/*."
|
"Proxied by terra-view at /api/sfm/*."
|
||||||
),
|
),
|
||||||
version="0.25.0",
|
version="0.26.0",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Allow requests from the waveform viewer opened as a local file (file://)
|
# Allow requests from the waveform viewer opened as a local file (file://)
|
||||||
|
|||||||
Reference in New Issue
Block a user