Processing profiles

A processing profile stores the settings of the CLUSTERING and REFINE panels, the database bar, the QC rule sets and the aggregation rules, so the same setup can be reused, for example one profile per network or region. Profiles are declared in the SeisComP application configuration (catalyst.cfg). Each one points to a .profile file that holds the actual key = value settings.

Declare profiles in catalyst.cfg

Put this in @SYSTEMCONFIGDIR@/catalyst.cfg ($SEISCOMP_ROOT/etc/catalyst.cfg) or in the user configuration @CONFIGDIR@/catalyst.cfg (~/.seiscomp/catalyst.cfg):

# Available processing profiles.
profiles = iceland, ukraine

# Profile applied at start-up. Default: the first one in the list.
defaultProfile = iceland

# Each profile points to a settings file. @SYSTEMCONFIGDIR@, @CONFIGDIR@,
# @DATADIR@ and @ROOTDIR@ are resolved by SeisComP.
profile.iceland.configFile = @SYSTEMCONFIGDIR@/iceland.profile
profile.ukraine.configFile = @SYSTEMCONFIGDIR@/ukraine.profile

At start-up Catalyst reads the profiles list, resolves each configFile path and fills the Profile dropdown in the toolbar. It then applies the profile named by defaultProfile. If that name is not in the list, Catalyst logs a warning and uses the first profile. The profile is applied at the end of start-up, after the locator and travel-time lists have been filled, so the dropdown never shows a profile whose settings are not in effect.

If no profiles are configured, the dropdown shows “(no profiles configured)” and the controls keep their built-in defaults.

Other module settings

Settings that belong to the installation rather than to a profile, such as minPhases, the score plugin or the 3D-view files, are set in catalyst.cfg only. See configuration.

The .profile files

A .profile file is a plain key = value list. Lines starting with # are comments. Shortened example:

# Catalyst processing profile - Iceland (IMO)
nucMethod      = dbscan
phase          = P+S
dbscanVelP     = 7
dbscanVelS     = 4
dbscanMaxDistP = 12
dbscanMaxDistS = 15
minSize        = 6
nucWindowDB    = 90
dupWindow      = 1
mergeDist      = 0.05
mergeTime      = 1
mergeMatchWin  = 0.2
mergeMinShared = 3
interface      = LOCSAT
locProfile     = sil
ttt            = LOCSAT
tttModel       = sil
assocTolerance = 2
maxDistance    = 100
qcZones        = ~/SC_configs/IMO/zones.geojson
cities         = "Reykjavik, Grindavík, Húsavík, Akureyri, Selfoss"

Rules for loading:

  • A key that is missing keeps the control’s current value.

  • Unknown keys are ignored. Keys from older versions, such as avgVelocity or maxDist, have no effect any more.

  • Combo values (phase, interface, locProfile, ttt, tttModel) are applied only if the option exists in that dropdown on this installation. Otherwise the field is left unchanged, a warning is logged, and a dialog lists the settings that could not be applied.

  • Booleans accept true or 1. Everything else counts as false.

  • A leading ~/ in qcZones is expanded to the home folder.

Using profiles in the GUI

  • The Profile dropdown in the toolbar lists the configured profiles.

  • Load applies the selected profile. Nothing runs automatically, except that the QC zone file and the bearing catalogue are loaded if their paths are set and the files exist.

  • Save as… writes the current settings to a .profile file. The dialog starts with the selected profile’s configFile, so pressing Enter overwrites it. If you don’t have write access to @SYSTEMCONFIGDIR@, save under ~/.seiscomp/ instead. When the target file already exists, keys the GUI does not manage (for example cities) are kept. After creating a new file, add profiles and profile.<name>.configFile entries for it to catalyst.cfg so it appears in the dropdown next time.

Settings keys

Nucleation

Key

Control

nucMethod

Nucleation tab: dbscan, backprojection, gamma or gridsearch

phase

DBSCAN: Phase (P, S, P+S or Is)

dbscanVelP / dbscanVelS / dbscanVelIs

DBSCAN: Vel P / Vel S / Vel Is [km/s]

dbscanMaxDistP / dbscanMaxDistS / dbscanMaxDistIs

DBSCAN: Max dist P / S / Is [s]

minSize

DBSCAN: Min size (picks)

maxDistPctl

DBSCAN: Dist pctl [%] used by Auto dist

pgMaxDist

DBSCAN: Pg max [km] for the apparent-velocity fit (0 = all picks)

nucWindowDB

DBSCAN: Window [s]

use3D

DBSCAN: Use 3D distances

bpGrid

Back projection: Grid [km]

bpDepth

Back projection: Depth [km]

bpMaxRange

Back projection: Max range [km]

minSizeBP

Back projection: Min size

bpPhaseP / bpPhaseS / bpPhaseIs

Back projection: phases used (several = joint search)

bpT0Tol

Back projection: t0 tol [s]

bpAzTol

Back projection: Az tol [deg]

bpMaxAzGap

Back projection: Max az gap [deg] (360 = off)

bpEDT

Back projection: EDT stacking

bpEdtSigma

Back projection: EDT σ [s]

nucWindowBP

Back projection: Window [s] (currently has no effect)

gammaGridKm

GaMMA: Grid [km]

gammaCoarseWin

GaMMA: Coarse window [s]

gammaOtTol

GaMMA: OT tol [s]

gammaWindowSec

GaMMA: Processing window [s]

gammaMinPts

GaMMA: Min size

gammaDepthKm

GaMMA: Depth [km]

gammaMaxRangeKm

GaMMA: Max range [km]

gammaMaxSpread

GaMMA: Max OT spread [s]

gsGridFile

Grid search: Grid file (scautoloc grid.conf)

gsStationFile

Grid search: Station file (scautoloc station.conf)

gsMinStations

Grid search: Min. stations

gsDmax

Grid search: Max. distance [deg]

gsDt0

Grid search: Agreement offset [s]

gsDefaultDt

Grid search: Projected window [s]

gsMaxRadiusFactor

Grid search: Max. radius factor

gsWindowSec

Grid search: Processing window [s]

Pick aggregation and filters

Key

Control

dupWindow

Aggregation: Dup. win [s]

aggMode

Aggregation: Mode (0 = Generate virtual pick, 1 = Keep preferred pick)

aggAcrossPhases

Aggregate picks of different phases together (no GUI control)

pickPrefRules

Aggregation: preferred-pick priority list (format below)

pickIsoMinStations

Isolated-pick filter: minimum stations (no GUI control)

pickIsoWindow

Isolated-pick filter: time window [s] (no GUI control)

pickIsoOverdetectingOnly

Isolated-pick filter: apply only to overdetecting stations (no GUI control)

pickIsTraceVelFilter

Pick filter: trace-velocity filter for Is picks on/off

pickIsTraceVelMin / pickIsTraceVelMax

Pick filter: trace-velocity range [km/s]

Relocation, association and merging

Key

Control

interface

Locator Interface

locProfile

Locator Profile

fixDepth

Fix depth on/off

fixDepthValue

Fix depth [km]

ignoreInitial

Ignore initial location

mcDraws

Monte Carlo rescue: MC draws

mcFraction

Monte Carlo rescue: min set (smallest number of picks in a subset)

ttt

Association: TTT interface

tttModel

Association: TTT model

assocTolerance

Association: Assoc. tol [s]

maxDistance

Association: Max distance [km] (0 = no limit)

mergeDist

Merge: Merge dist [km]

mergeTime

Merge: Merge time [s]

mergeMatchWin

Merge: Pick match [s]

mergeMinShared

Merge: Min shared picks

preferRules

Preferred-origin ranking used when merging (format below)

QC, references and display

Key

Control

qcProfiles

Named QC rule sets (format below)

qcZones

GeoJSON file with the QC zones, loaded with the profile

bearingCatalog

Slow/baz source catalogue (CSV), loaded with the profile

cities

Reference cities in the 3D view, comma-separated in quotes

Database bar

Key

Control

dbPicks / dbOrigins

picks / origins: load all picks / all origins in the window

dbPrefOrigins / dbPrefPicks

pref. origins / pref. picks: load only each event’s preferred origin / only the picks associated with it

dbAggregate

aggregate: aggregate the picks after every load

dbKeepPicks / dbKeepOrigins

keep picks / keep origins: add to what is loaded instead of replacing it

dbStart / dbEnd

Time window, ISO 8601 (for example 2025-11-01T00:00:00Z)

Rule formats

qcProfiles

Rule sets are joined with |. Each one is name=chain, and a chain is a ;-separated list of conditions:

qcProfiles = Gap zones=0,2,2,180,0;0,14,4,1,0|Weak=0,1,0,6,0;1,3,2,1,0

Each condition is conn,field,op,threshold,indent:

  • conn: how the condition joins the one above. 0 = AND, 1 = OR. AND binds more tightly than OR. Ignored for the first condition.

  • field:

    Code

    Field

    Code

    Field

    0

    Depth [km]

    9

    S cov (0 = good)

    1

    Phase count

    10

    Fault Q (0 = good)

    2

    Azimuthal gap [deg]

    11

    Min sta dist [km]

    3

    RMS [s]

    12

    Mode (0 = automatic, 1 = manual)

    4

    Mismatch

    13

    Status (0 = preliminary, 1 = confirmed, 2 = reviewed, 3 = final, 4 = rejected, 5 = reported)

    5

    Move-out 0–1

    14

    Zone

    6

    DD ref ties

    15

    Clean Q (0 = good)

    7

    DD residual [s]

    16

    Score

    8

    DD qual (0 = good)

  • op: 0 <, 1 ≤, 2 >, 3 ≥, 4 =, 5 ≠

  • threshold: number

  • indent: grouping depth (0 = top level)

The custom (“(custom)”) query is scratch space and is not saved. It always starts empty when a profile is loaded. Loading a profile that contains qcProfiles replaces all named rule sets. The built-in defaults are added back if they are missing.

preferRules

Preferred-origin ranking, ;-separated, in priority order. Each rule is field,value. For numeric fields (the QC field codes above), value is 1 to prefer higher values or 0 to prefer lower ones. For Author (1000) and Method (1001), value is the author or method name to prefer.

preferRules = 12,1;3,0;1000,scautoloc

pickPrefRules

Preferred-pick priority list for “Keep preferred pick”, in the same field,value format:

Code

Field

2000

Manual (manual beats automatic)

2001

Status (more vetted wins)

2002

Time uncertainty [s]

2003

Time (earliest / latest)

2004

Author (value = author name)

2005

Method (value = methodID)

Not stored in profiles

These settings currently live only in the GUI session: the DBSCAN Min sta setting, the aggregation time mode, cell size and carried measurements, the swarm, template and fingerprint matching parameters, the map clustering settings, and the pick and origin filters except the trace-velocity filter.