kappa¶
Event Classification GUI
Description¶
Kappa is a graphical user interface for interactive event classification. It provides a Summary tab for a final event classification based on different observations and preliminary type guesses which are presented in the observation tabs.
Summary and classification¶
The summary tab is the main tab for making interactive event classifications. The preliminary type guesses and certainties from the individual observations are presented for joint evaluation in the table Feature results. A type selection can be made below in the Event type ranking.
Feature results table¶
The row show the preliminary type guesses from the individual observations. The color indicate the status of the applied methods:
green: the observations are available and could be evaluated,
blue: the observations are being processed,
red: the observations are not available or the processing was not successful.
When the preliminary event type different from the default, it is highlighted in bold letters.
The different observations and methods may results in different suggestions for the event type or even no decision at all. To every observation a certainty is automatically assigned which can be adjusted manually. Together with the weight, an overall certainty is computed from the event type suggestions.
Event type ranking¶
In the lower part, the event type suggestions are summarized. The most likely type is shown at the top of the table. They pie chart visualizes the relative certainties of the different types. The colors correspond to the rows in the table to the right.
For making a final classification, select the event type in different ways:
Pie chart: Click on the type in the pie chart. The selection is highlighted by the circle segment outside the pie chart. In the pie chart the type can also be selected by using the courser keys or the mouse wheel and then pressing the Enter key.
Table: Click on the row of the table. In the table the type can also be selected by using the courser keys then pressing the Enter key.
Pull-down menu: Select the type from the pull-down menu in the lower part of the Summary tab.
Press Commit to send the decision to the SeisComP messaging system.
Note
To revise a classification simply select the correct one an press Commit again.
Detailed observation tabs¶
The observations can be reviewed in the different observation tab. They provide automatic preliminary guesses of the event type based on the presented observation. The type along with the certainty can be interactively adjusted.
Note
The behavior of all observation tabs can be configured in the module configuration of kappa. The parameters contain the alternative event types, fallback event types, thresholds, etc.
Region check¶
The region check tab shows the event location and the relation to pre-defined polygons. If the polygons contain information about the event type and the hypocenter of the event lies within the polygone, the preliminary type is given to the selected event.
Magnitude / Amplitude Ratio¶
The Magnitude / Amplitude Ratio tab shows the network magnitude ratio of Ms_20 vs. mb. Upper and lower thresholds along with event types and example data points are configurable. If the selected event is below the lower or above upper thresholds, the respective preliminary event type is given with a certainty of 100%. If the event type is in between, the type and the certainty are given based on the event type associated to the closest threshold line.
Note
Hold the mouse over an example point to read more information about this event.
Moment tensor¶
The moment tensor tab provides the full information about the moment tensor, its components and the derived focal mechanism values such as focal mechanism and principle axes. The beach balls represent the full moment tensor (left) and the double-couple (DC) moment tensor (right). The color of the represent the centroid depth of the moment tensor if given or the hypocenter depth.
The rectangles around the beach balls represent the stations at their azimuth from the event origin. The colors of the station rectangles indicate the average station fit from moment tensor inversion:
green: good fit, low residual
yellow: intermediate
red: low fit, high residual.
MachineLearning¶
In the machine learning tabs multiple methods can be added and configured. The machine learning algorithms provide probabilities of particular event types based on provided features. By default, the features are the magnitude ratios:
Ms_20/mb
ML/Md.
The machine learning methods are provided by Python scripts. Additional procedures can be added as profiles.
Note
Machine learning algorithms are executed from configurable Python scripts.
To use other methods simply create a new script and define it in
machineLearning.$name.command
.
Ms vs. mb¶
The MachineLearning: Ms/mb tab compares Ms-mb magntiude ratios of the selected event with provided event examples. The classification and the certainties are based on machine learning. To run the machine learning tool press the Start button.
The gray field to the left shows the progress information and possible errors.
ML vs. Md¶
The MachineLearning: ML/Md tab compares ML-Md magnitude ratios of the selected event with provided event examples. The classification and the certainties are based on machine learning. To run the machine learning tool press the Start button.
The gray field to the left shows the progress information and possible errors.
Origin Meta Information¶
Kappa is able to evaluate origin comments.
E.g. the template-based event detector
ccloc can transport the event type of a
master event to the new origin by a comment written to the origin. When the comment is configured in Kappa
and found in an origin of an event, then this is a strong indicator that the event which contains the new origin
is of the same type as the master event. The considered comment is configured by originMeta.idEventType
.
Configuration¶
etc/defaults/global.cfg
etc/defaults/kappa.cfg
etc/global.cfg
etc/kappa.cfg
~/.seiscomp/global.cfg
~/.seiscomp/kappa.cfg
kappa inherits global options.
-
preferredEventTypes
¶ Type: list:string
List of preferred event types which should appear on top of event type selection boxes. Default is
earthquake,explosion
.
-
eventTypeColors
¶ Type: list:string
List of eventType to color mappings, e.g., earthquake:#00ff00, explosion:#ff0000. Default is
earthquake:#b3de69,explosion:#fb8072,"nuclear explosion:#bc80bd","quarry blast:#fdb462","sonic blast:#80b1d3"
.
Note
regionCheck.* Tests if events lies within or outside a region. Events within a region are flagged as positive, outside as negative. The event type is set accordingly.
-
regionCheck.enabled
¶ Type: boolean
Defines whether this plugin should be available. Default is
true
.
-
regionCheck.name
¶ Type: string
Name of the profile used in tab and summary table. Default is
Region Check
.
-
regionCheck.weight
¶ Type: double
Weight of the event type reported by this plugin. Default is
1.0
.
-
regionCheck.defaultEventType
¶ Type: string
Event type used as fallback when no other type applies. Leaving it empty will not propose a type. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
-
regionCheck.defaultMinDepth
¶ Type: double
Unit: km
Minimum hypocenter depth required for the default event type.
-
regionCheck.defaultMaxDepth
¶ Type: double
Unit: km
Maximum hypocenter depth allowed for the default event type.
-
regionCheck.regions
¶ Type: list:string
The list of closed BNA polygon names defining regions for flagging event as positive or negative. A polygon name defines a positive region but names with prefix ! (exclamation mark) define negative regions. Evaluation is done in the order of the polygons. The last matching criteria applies and the event type is set accordingly.
Default: If events are not positive or are negative regions the event type is set to “outside of network interest”. Default: “!reject”, use “accecpt” to overwrite the default.
Examples:
Events are flagged positive within the polygon “germany”:
germany
All events are flagged positive but events within the polygon “quarries” are negative:
accept,!quarries
Events within the polygon “germany” are flagged positive but all other events and events within the polygon “quarries” are negaitve:
germany,!quarries
All events are flagged positive but events within the polygon “germany” are negative and all events within the polygon “saxony” are positive:
accept,!germany,saxony Default is
!reject
.
-
regionCheck.readEventTypeFromBNA
¶ Type: boolean
Read the event type from the BNA polygon header. The header must contain the type, e.g. header of a polygon with name “quarry”:
“quarry”,”rank 1”,”eventType: quarry blast”,13
When active, type superseeds eventTypePositive and eventTypeNegative. This feature requires a SeisComP version greater than 2018.327. Default is
false
.
-
regionCheck.eventTypePositive
¶ Type: string
New type of an event which is flagged positive. Ignored if readEventTypeFromBNA is active.
Empty: Do not set type
-
regionCheck.eventTypeNegative
¶ Type: string
New type of an event which is flagged negative. Ignored if readEventTypeFromBNA is active.
Empty means default: “outside of network interest” Default is
"outside of network interest"
.
Note
magRatio.* Magnitude ratio.
-
magRatio.enabled
¶ Type: boolean
Defines whether this plugin should be available. Default is
true
.
-
magRatio.name
¶ Type: string
Name of the profile used in tab and summary table. Default is
Magnitude Ratio
.
-
magRatio.weight
¶ Type: double
Weight of the event type reported by this plugin. Default is
1.0
.
-
magRatio.typeX
¶ Type: string
Magnitude type to bind to variable X. Default is
mb
.
-
magRatio.typeY
¶ Type: string
Magnitude type to bind to variable Y. Default is
Ms_20
.
Note
magRatio.upperType.* Formula representing an upper bound for an event type. If the magnitude ratio exceeds the graph describled by this formula the configured event type is set.
-
magRatio.upperType.eventType
¶ Type: string
The event type. E.g., earthquake. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
-
magRatio.upperType.formula
¶ Type: string
E.g. x - 0.68
-
magRatio.upperType.description
¶ Type: string
Formula description or reference.
-
magRatio.upperType.referenceData
¶ Type: string
Name of file containing reference data. Each line is expected to hold a coordinate of form x,y and an event description, e.g. 5.5,6,gfz2020abcd
Note
magRatio.upperType.pen.* Defines the pen used for the graph and event data.
-
magRatio.upperType.pen.color
¶ Type: color
The color of the pen. Default is
ff0000
.
-
magRatio.upperType.pen.style
¶ Type: string
The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine. Default is
SolidLine
.
-
magRatio.upperType.pen.width
¶ Type: double
Unit: px
The width of the pen. Default is
2.0
.
Note
magRatio.lowerType.* Formula representing a lower bound for an event type. If the magnitude ratio falls below the graph describled by this formula the configured event type is set.
-
magRatio.lowerType.eventType
¶ Type: string
The event type. E.g., explosion. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
-
magRatio.lowerType.formula
¶ Type: string
E.g. 0.95 * x - 1.668
-
magRatio.lowerType.description
¶ Type: string
Formula description or reference.
-
magRatio.lowerType.referenceData
¶ Type: string
Name of file containing reference data. Each line is expected to hold a coordinate of form x,y and an event description, e.g. 5.5,6,gfz2020abcd
Note
magRatio.lowerType.pen.* Defines the pen used for the graph and event data.
-
magRatio.lowerType.pen.color
¶ Type: color
The color of the pen. Default is
ff0000
.
-
magRatio.lowerType.pen.style
¶ Type: string
The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine. Default is
SolidLine
.
-
magRatio.lowerType.pen.width
¶ Type: double
Unit: px
The width of the pen. Default is
2.0
.
Note
ampRatio.* Amplitude ratio.
-
ampRatio.enabled
¶ Type: boolean
Defines whether this plugin should be available. Default is
true
.
-
ampRatio.name
¶ Type: string
Name of the profile used in tab and summary table. Default is
Amplitude Ratio
.
-
ampRatio.weight
¶ Type: double
Weight of the event type reported by this plugin. Default is
1.0
.
-
ampRatio.typeX
¶ Type: string
Amplitude type to bind to variable X. Default is
mb
.
-
ampRatio.typeY
¶ Type: string
Amplitude type to bind to variable Y. Default is
Ms_20
.
-
ampRatio.unitX
¶ Type: string
Amplitude unit. Default is
nm
.
-
ampRatio.unitY
¶ Type: string
Amplitude unit. Default is
nm
.
Note
ampRatio.upperType.* Formula representing an upper bound for an event type. If the amplitude ratio exceeds the graph describled by this formula the configured event type is set.
-
ampRatio.upperType.eventType
¶ Type: string
The event type. E.g., earthquake. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
-
ampRatio.upperType.formula
¶ Type: string
E.g. x - 0.68
-
ampRatio.upperType.description
¶ Type: string
Formula description or reference.
Note
ampRatio.upperType.pen.* Defines the pen used for the graph and event data.
-
ampRatio.upperType.pen.color
¶ Type: color
The color of the pen. Default is
ff0000
.
-
ampRatio.upperType.pen.style
¶ Type: string
The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine. Default is
SolidLine
.
-
ampRatio.upperType.pen.width
¶ Type: double
Unit: px
The width of the pen. Default is
2.0
.
Note
ampRatio.lowerType.* Formula representing a lower bound for an event type. If the amplitude ratio falls below the graph describled by this formula the configured event type is set.
-
ampRatio.lowerType.eventType
¶ Type: string
The event type. E.g., explosion. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
-
ampRatio.lowerType.formula
¶ Type: string
E.g. 0.95 * x - 1.668
-
ampRatio.lowerType.description
¶ Type: string
Formula description or reference.
Note
ampRatio.lowerType.pen.* Defines the pen used for the graph and event data.
-
ampRatio.lowerType.pen.color
¶ Type: color
The color of the pen. Default is
ff0000
.
-
ampRatio.lowerType.pen.style
¶ Type: string
The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine. Default is
SolidLine
.
-
ampRatio.lowerType.pen.width
¶ Type: double
Unit: px
The width of the pen. Default is
2.0
.
Note
momentTensor.* Evaluates the isotrophic component of a moment tensor solution.
-
momentTensor.enabled
¶ Type: boolean
Defines whether this plugin should be available. Default is
true
.
-
momentTensor.name
¶ Type: string
Name of the profile used in tab and summary table. Default is
Moment Tensor
.
-
momentTensor.weight
¶ Type: double
Weight of the event type reported by this plugin. Default is
1.0
.
-
momentTensor.defaultEventType
¶ Type: string
Event type used as fallback when no other type applies. Leaving it empty will not propose a type. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
-
momentTensor.iso
¶ Type: double
Unit: %
Threshold of the isotropic moment tensor component. Default is
30
.
-
momentTensor.eventType
¶ Type: string
Event type to set if the iso threshold is exceeded. Default is
explosion
.
Note
machineLearning.* Machine learning.
-
machineLearning.profiles
¶ Type: string:list
List of machine learning profiles to activate.
Note
machineLearning.$name.* $name is a placeholder for the name to be used.
-
machineLearning.$name.name
¶ Type: string
Name of the profile used in tab and summary table. Default is
Machine Learning
.
-
machineLearning.$name.weight
¶ Type: double
Weight of the event type reported by this plugin. Default is
1.0
.
-
machineLearning.$name.defaultEventType
¶ Type: string
Event type used as fallback when no other type applies. Leaving it empty will not propose a type. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
-
machineLearning.$name.command
¶ Type: string
Command to execute.
-
machineLearning.$name.minValue
¶ Type: double
Minimum expected value. Default is
0.0
.
-
machineLearning.$name.maxValue
¶ Type: double
Maximum expected value. Default is
1.0
.
-
machineLearning.$name.lowerType.eventType
¶ Type: string
EventType to use if probability exceeds the lower threshold. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types. Default is
explosion
.
-
machineLearning.$name.lowerType.threshold
¶ Type: double
Lower threshold Default is
0.2
.
-
machineLearning.$name.lowerType.referenceData
¶ Type: string
Name of file containing reference data. Each line is expected to hold a probability value, the event time in iso format and an event description, e.g., 0.05,2017-06-23T22:58:12.123456,gfz2020abcd
Note
machineLearning.$name.lowerType.pen.* Defines the pen used for the graph and event data.
-
machineLearning.$name.lowerType.pen.color
¶ Type: color
The color of the pen. Default is
ff0000
.
-
machineLearning.$name.lowerType.pen.style
¶ Type: string
The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine. Default is
SolidLine
.
-
machineLearning.$name.lowerType.pen.width
¶ Type: double
Unit: px
The width of the pen. Default is
2.0
.
-
machineLearning.$name.upperType.eventType
¶ Type: string
EventType to use if probability exceeds the upper threshold. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types. Default is
earthquake
.
-
machineLearning.$name.upperType.threshold
¶ Type: double
Upper threshold Default is
0.8
.
-
machineLearning.$name.upperType.referenceData
¶ Type: string
Name of file containing reference data. Each line is expected to hold a probability value, the event time in iso format and an event description, e.g., 0.95,2017-06-23T22:58:12.123456,gfz2020abcd
Note
machineLearning.$name.upperType.pen.* Defines the pen used for the graph and event data.
-
machineLearning.$name.upperType.pen.color
¶ Type: color
The color of the pen. Default is
00ff00
.
-
machineLearning.$name.upperType.pen.style
¶ Type: string
The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine. Default is
SolidLine
.
-
machineLearning.$name.upperType.pen.width
¶ Type: double
Unit: px
The width of the pen. Default is
2.0
.
Note
originMeta.* Reads the event type from origin comments, e.g. set by ccloc.
-
originMeta.enabled
¶ Type: boolean
Defines whether this plugin should be available. Default is
true
.
-
originMeta.idEventType
¶ Type: string
ID of the comment containing the event type hint. Default is
ccloc:eventTypeHint
.
-
originMeta.idCertainty
¶ Type: string
ID of the comment containing the certainty value. Default is
configID
.
-
originMeta.idDescription
¶ Type: string
ID of the comment containing an additional result description. Default is
configID
.
-
originMeta.defaultEventType
¶ Type: string
Event type used as fallback when no other type applies. Leaving it empty will not propose a type. See @ROOTDIR@/include/seiscomp/datamodel/types.h or scolv for a list of supported event types.
Bindings¶
Configuration¶
-
enable
¶ Type: boolean
Enables/disables the station for event classification. Default is
true
.
-
channels
¶ Type: list:string
Defines a list of preferred channels that are activated by default for that station. If this option is undefined then the highest sample rate channels for acceleration and velocity are used by default. If the list is empty (which is a different state than undefined) then no channels are selected by default.