Repository navigation
Releases: sgjholt/SpecMod
Releases · sgjholt/SpecMod
Release list
v0.6.0
v0.5.0
0.5.0 (2026-09-19)
Features
- acquire: rank co-sited instruments with
channel_prioritiesandlocation_priorities, so a station carrying a broadband and an accelerometer contributes one record rather than two (2af57e8)
Bug Fixes
- acquire: ask for waveforms by name, so
max_radius_kmapplies to the download and not only to the station query — FDSN dataselect takes no geographic parameters, so a wildcard request was unbounded (2af57e8) - acquire: cut the radius against true WGS84 distance rather than a fixed 111.195 km per degree, which moved the boundary by up to half a percent with latitude;
min_radius_kmnow applies on its own, and a non-positive radius or an inverted annulus is refused (2af57e8)
Documentation
v0.4.0
0.4.0 (2026-09-16)
Features
- smoothing: wire [smoothing] method up, and add three more methods (fff3ab1)
Bug Fixes
- config: refuse a [smoothing] method the pipeline does not apply (1f18c68)
- test: compare the roadmap against the published minor, not the proposed one (1e34b4e)
- tools: call the preprocess API that 0.3.0 left behind (8501c8e)
Documentation
- keep the reasoning out of the docstrings, in comments where it belongs (2684ec9)
- say what tagging the frozen commit does and does not trigger (2273219)
- state what the smoothers are, not how they were arrived at (4c97491)
- the 0.3.0 work shipped a week ago, so stop calling it unreleased (e2aaced)
- v0.1.1 is master's tip, which is what freezing it was for (db50972)
v0.3.0
0.3.0 (2026-09-06)
⚠ BREAKING CHANGES
- the tutorial page moves from
/tutorial/SpecModTutorial.htmlto/tutorial/specmod-tutorial.html. - the ten mutating functions in
specmod.preprocessare renamed and now return a new stream or trace.get_signalis removed, and the two undated deprecation shims are gone.
Features
- let the fitted band be capped, fixed or corrected by hand (ba241a9)
- preprocess returns new streams instead of mutating (78aabeb)
Bug Fixes
- give the noise and bandwidth registries a documented home (daeb2cc)
- transforms: re-export every public name from base (67c24c3)
Code Refactoring
- docs: build the tutorial from a script too (de846c6)
- docs: one notebook builder per notebook, named after it (0175f89)
- split io and plotting into packages (027b77f)
Documentation
- adopt the academic theme from the branding manual (76f0aa0)
- kebab-case the tutorial notebook, snake_case its builder (5a65b73)
- measure the MathJax figure instead of asserting it (cba7e01)
- render maths with KaTeX, served from this site (902d3fe)
- self-host the branding fonts (c1e6f9f)
- the decomposition is finished (bbb2b71)
v0.2.3
0.2.3 (2026-09-05)
Bug Fixes
- correct four documented equations and behaviours that the code contradicts (821792b)
- point the DOI badge at the concept DOI, not v0.2.0's (11e7f7a)
Documentation
- an upgrade guide, and a table of contents with a shape (4f35388)
- derive the roadmap's version, and say when its entries move (1917d43)
- document moment and magnitude, which the page said were absent (026abec)
- state what is true now, not what the page used to say (b17339b)
- the documentation 1.0 was waiting on is done (9693334)
v0.2.2
v0.2.1
0.2.1 (2026-08-23)
Documentation
- add the Zenodo DOI to the README and the citation metadata (8a89884)
- PyPI and docs badges, and an install section for people who are not us (d444397)
- repoint the 0.2.0 changelog link, which 404s (f1bbe31)
- say where the code behind the publication lives (ae7e906)
- turn the roadmap's stages into milestones against versions (b933e69)
v0.2.0
0.2.0 (2026-08-23)
⚠ BREAKING CHANGES
- MultitaperEstimator.adaptive and TransformConfig.adaptive now default to False. Adaptive weighting collapses for off-centre transients, and a seismic arrival in a refined window is one.
- modules move to src/specmod/ and are renamed to snake_case (Spectral -> spectral, PreProcess -> preprocess, ModelGuess -> model_guess).
Features
- acquire: fetch an event from FDSN into the layout datasets reads (61c3ebc)
- acquire: name the event catalogue separately from the waveform archive (be1a00a)
- add centring, which removes the position bias completely (144db2f)
- add floors job to test workflow for minimum dependency resolution (171e0bc)
- add layered configuration with recorded provenance (ea7a429)
- add Prieto's multitaper package as an optional backend (7ff6639)
- add the pluggable transform layer and its normalisation contract (1ba5da0)
- add the smoothing layer and document a multitaper transient bias (5ace1a9)
- add variance normalisation and document what each transform does (683b353)
- api: a stable import surface for downstream packages (72fc3a9)
- core: add the typed collection layer that replaces SNP and Spectra (5b7510d)
- core: make bandwidth selection a registry, and fix a wrap in the default (9166d86)
- core: name both amplitude conventions instead of implying one (b2bef97)
- core: validate that record geometry is self-consistent (2bda2a1)
- datasets: load published datasets through pooch, pinned by hash (70735a8)
- datasets: name the event layout once, and fix what the move missed (67a0aa6)
- distance: make the source-to-site distance a registry, and read it (782760c)
- fitting: default the model to what the configuration asks for (3a208e6)
- io: HDF5 for arrays, Parquet for tables, and no pickle anywhere (b95a858)
- magnitude: compute M0 and Mw, and register geometric spreading (4796605)
- make the package installable and importable (30b4e89)
- noise: port ROT_METHOD=1 and reduce utils.py to what has callers (3485019)
- picks: a reader registry, detected by sniffing rather than by suffix (333b8b3)
- picks: move to QuakeML, and stop acquire discarding the catalogue (041af07)
- picks: plugin readers, and a CSV reader you configure yourself (d00bb5f)
- picks: resolve arrivals to sensors instead of matching strings (e16ea23)
- pipeline: waveforms to SpectrumSet with no legacy object in between (b9a30fd)
- release: release-please, and PyPI publishing in the same workflow (47fe5e4)
- restore the three capabilities that went with the legacy containers (abcdb96)
- sources: connect config.model.source to something, at last (99da9a4)
- spectral: convert the legacy container to a SpectrumSet (0b47b3d)
- spectral: run the legacy pipeline on the rewritten estimators (bdec9ff)
- staged: the two-stage event fit, with selection after quality control (0702ba7)
- tools: generate the measured tables in the docs, and move CLIs to click (ad2ad8a)
- transforms: add n_fft padding strategies, and document what padding does (50d3812)
- transforms: add quadratic multitaper, vendored from Prieto (3a20470)
- transforms: add the continuous wavelet transform and scalogram QC (47bb5a9)
- typing: close the mypy backlog, and stub lmfit to do it (b208773)
- typing: stub ObsPy, and annotate utils and preprocess against it (de640cc)
Bug Fixes
- ci: keep the suite green without the multitaper extra (4123677)
- core: derive the binned noise from the lifted noise, not beside it (b2adc0b)
- core: derive the fold tolerance from bin spacing, not a fixed rtol (b5afbb7)
- core: read the recorded resolution floor instead of re-deriving it (15b8efc)
- correct commands in build and test workflows to use 'uv' instead of 'uvx' (c8fde4f)
- correct dependency floors that were unsatisfiable (cb4e0d5)
- datasets: correct the PNR origin time, and source its magnitude (d0c210b)
- datasets: take the PNR hypocentre from the published catalogue (2977318)
- default multitaper adaptive weighting off, and quantify why (628d36d)
- deps: raise two floors that were never installable (41cd88d)
- fitting: repair write_flatfile, and stop requiring a mutable container (80560fd)
- fitting: stop freezing configuration at import, and stop printing (c151425)
- make the golden reference portable, and fix the lint drift (b366f19)
- make the pipeline reproducible by removing three discontinuities (982cc9f)
- multitaper: correct units in Thomson's adaptive weighting (6410187)
- noise: remove the fourth discontinuity, an "already touching" guard (60c9731)
- pipeline: reject estimator keywords instead of discarding them (f22c523)
- preprocess: repair the six defects the characterisation exposed (6a869b3)
- quadratic: guard the damping term against a zero denominator (650a1a7)
- **quadra...