.. _catalyst-sec-profiles: 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 :ref:`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..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`` / | DBSCAN: Vel P / Vel S / Vel Is | | ``dbscanVelIs`` | [km/s] | +--------------------------------------+--------------------------------------+ | ``dbscanMaxDistP`` / | DBSCAN: Max dist P / S / Is [s] | | ``dbscanMaxDistS`` / | | | ``dbscanMaxDistIs`` | | +--------------------------------------+--------------------------------------+ | ``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`` / | Back projection: phases used | | ``bpPhaseIs`` | (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`` / | Pick filter: trace-velocity range | | ``pickIsTraceVelMax`` | [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.