Change Log

All notable changes to Catalyst are documented here.

[Unreleased]

Added

  • Open… and the command line load several SCML files at once (e.g. a folder of day files): they are merged into one data set, objects already read from an earlier file are skipped, and Save then asks for a new name.

  • Renamed from EP Basket to Catalyst.

  • Nucleation with DBSCAN, back projection (optionally with EDT stacking), GaMMA-lite and the scautoloc grid search.

  • Pick aggregation into virtual picks or preferred picks; pick filters for isolated picks, histogram bins and infrasound trace velocity.

  • Smart-locate following the analyst decision rules, with recovery ladder, Monte Carlo rescue and batch processing.

  • Merging by hypocentre distance, origin time and shared picks, with a configurable preferred-origin ranking.

  • Double-difference relocation against a reference catalogue and between selected origins.

  • Swarm recovery: template match, swarm consensus, slowness/back-azimuth matching with a source catalogue, and fingerprint match.

  • Rule-based quality control with named rule sets, QC zones from GeoJSON and the scevent OriginMultiFeature score.

  • Map, hexagon density map with time categories, and 3D view with faults, cities and reference catalogues.

  • Processing profiles.

  • Sending of updated origins to the messaging system; virtual picks are kept local.

  • Installation scripts for the system dependencies.

  • Infrasound tab and the QC fields Is n, Is frac and Is baz: do the array picks fit an origin in celerity, back-azimuth and apparent velocity.

  • Is tables iasp91_scanloc_istrat and iasp91_scanloc_icel026, listed in the default configuration.

  • The infra profile uses back projection with EDT stacking, the icel026 table, the Infrasound tab and three QC rule sets (Reject / Check / Confirm).

  • Spectra test for infrasound: the Is window of the pressure channel replaces S (P and Is for a Shake & Boom, Is alone for infrasound stations); arrays are one row with the median of their elements, and dead or noisy elements are flagged as suspect.

  • Spectra tab: Stations and within (maximum distance) boxes. Raising them loads only the waveforms of the new stations.

  • Profile newmexico for New Mexico and the Delaware Basin, tuned on 118 reviewed ComCat events, with the iasp91_scanloc tables and an adaptive grid for the grid search.

  • Nucleator EDT location (plugin nucleator_edtloc), after the RTLoc method of Satriano, Lomax & Zollo (2008), written from the publication: P-pick candidates located with the equal-differential-time likelihood and an octree search, using the working stations that have not picked as a soft constraint. Their silence can be ignored for over-detecting stations, an exemption list and a scautoloc station.conf (usage flag and maximum nucleation distance). On New Madrid picks with noise it keeps chance coincidences out (12 instead of 472 false seeds in 12 days) and locates the seeds to 0.9 km (median).

  • Nucleator interface version 2: setStations() and the UsesStations capability pass every station with the times of its loaded picks.

Changed

  • 3D view: the topography has relief again, on the same scale as the depth. It is coloured by the height of each vertex, so colour and relief can no longer be mirrored against each other (the earlier “blue hills”). Cities, stations and fault traces sit on the ground.

  • 3D view: city labels are white and station labels light grey text, both without a background box.

  • Hexmap legend: the colour scale has four labelled ticks (minimum, maximum and two in between) instead of only minimum and maximum.

  • minPhases moved from catalyst.cfg to the profile: locator.smartLocate.minPhases, the min phases box under Relocate, Advanced. It decides which Smart-locate results are kept, so it belongs to the processing settings. Fast smart-locate and Consider virtual picks are saved in the profile too (locator.smartLocate.fast, locator.considerVirtualPicks); before, they were reset on every start.

  • catalyst.cfg keys are namespaced: nucleator.maxOrigins, gui.cities, gui.citiesFile, gui.demPath, gui.faultPointBudget. The old names are no longer read; Catalyst logs a warning with the new name when it finds one.

  • Nucleation works on all picks shown in the pick list, associated or not (before: only the unassociated ones among them). Untick Show associated to nucleate only the picks that belong to no origin. The status line reports how many of the nucleated picks were already in an origin.

  • Profile keys are namespaced: the nucleator settings use the plugin parameter names (nucleator.dbscan.maxDistP, the same names as in catalyst.cfg), the others are grouped by panel (locator.*, association.*, merge.*, qc.*, picks.*, spectra.*, infra.*, swarm.*, database.*, gui.*). The old flat keys are no longer read; apps/catalyst/docs/profile_keys.py converts a profile.

Fixed

  • 3D view: Refresh, new picks or a new profile showed the stations, cities and reference catalogue again although their checkboxes were off. The view now keeps the checkbox states when it rebuilds an overlay.

  • Clicking an event in the 3D view while a relocation was not accepted yet opened the Accept / Discard / Cancel question inside the 3D graph’s update: the dialog was not drawn and took no input. The click is now handled after the graph’s update.

  • Calculate spectra: an origin for which no waveforms came back (server not reachable, timeout, wrong URL) was stored as computed and skipped on every later run until it was relocated. Such origins are now tried again, and selected origins are always computed again.

  • Every nucleator uses only the settings of its own page. The grid search took its phases from the DBSCAN Phase combo (S or Is selected there meant S-only or infrasound-only grid search); it now uses P picks, as scautoloc. The “too few picks” check of back projection, GaMMA-lite and the grid search used DBSCAN’s Min size instead of their own minimum.

  • Grid search: the usage flag of the scautoloc station.conf (third column) was read and ignored, so stations switched off still nucleated.

  • infra.arraysConfig paths in a profile resolve @SYSTEMCONFIGDIR@ and the other SeisComP variables.

  • Crash in the arrival table after adding or removing picks (dangling arrivals); the table models now keep references to what they show.

  • An unaccepted relocation or edit was dropped in silence when another origin was selected, also by Shift+C / Shift+X, and C followed by Accept lost the status. Now selecting another origin or Escape asks Accept / Discard / Cancel, and C / X / D accept a pending result of the origin first.

  • QC queries on Mode and Status: an origin without a mode or status counts as -1 (“not set”) instead of having no value, so “Status != 1” also selects the origins without a status.