Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

earthquake-phase-association-gamma-phase-associator地震相位关联 伽马相位关联器

Agent Skill

earthquake-phase-association-gamma-phase-associator 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,115

周安装

89

GitHub Stars

公开资料未说明

下载量

740
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:earthquake-phase-association-gamma-phase-associator(地震相位关联 伽马相位关联器)
来源仓库:https://github.com/wu-uk/earthquake-phase-association-gamma-phase-associator
安装命令:
openclaw skills install earthquake-phase-association-gamma-phase-associator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install earthquake-phase-association-gamma-phase-associator

简介

该技能用于运行 GaMMA 地震相位关联算法,处理相位拾取与站点数据匹配。

  • 适合在 OpenClaw 中进行地震事件检测、波形分析与震源定位研究时使用。
  • 输入包括相位选取结果与台站元数据,输出事件关联矩阵与置信度评分。
  • 安装命令为 openclaw skills install earthquake-phase-association-gamma-phase-associator。
  • 需准备符合格式要求的地震学数据文件,并注意计算资源消耗问题。

SKILL.md

name
gamma-phase-associator
description
An overview of the python package for running the GaMMA earthquake phase association algorithm. The algorithm expects phase picks data and station data as input and produces (through unsupervised clustering) earthquake events with source information like earthquake location, origin time and magnitude. The skill explains commonly used functions and the expected input/output format.

GaMMA Associator Library

What is GaMMA?

GaMMA is an earthquake phase association algorithm that treats association as an unsupervised clustering problem. It uses multivariate Gaussian distribution to model the collection of phase picks of an event, and uses Expectation-Maximization to carry out pick assignment and estimate source parameters i.e., earthquake location, origin time, and magnitude.

GaMMA is a python library implementing the algorithm. For the input earthquake traces, this library assumes P/S wave picks have already been extracted. We provide documentation of its core API.

Zhu, W., McBrearty, I. W., Mousavi, S. M., Ellsworth, W. L., & Beroza, G. C. (2022). Earthquake phase association using a Bayesian Gaussian mixture model. Journal of Geophysical Research: Solid Earth, 127(5).

The skill is a derivative of the repo https://github.com/AI4EPS/GaMMA

Installing GaMMA

pip install git+https://github.com/wayneweiqiang/GaMMA.git

GaMMA core API

association

Function Signature

def association(picks, stations, config, event_idx0=0, method="BGMM", **kwargs)

Purpose

Associates seismic phase picks (P and S waves) to earthquake events using Bayesian or standard Gaussian Mixture Models. It clusters picks based on arrival time and amplitude information, then fits GMMs to estimate earthquake locations, times, and magnitudes.

1. Input Parameters

ParameterTypeDefaultDescription
picksDataFramerequiredSeismic phase pick data
stationsDataFramerequiredStation metadata with locations
configdictrequiredConfiguration parameters
event_idx0int0Starting event index for numbering
methodstr"BGMM""BGMM" (Bayesian) or "GMM" (standard)

2. Required DataFrame Columns

picks DataFrame

ColumnTypeDescriptionExample
idstrStation identifier (must match stations)network.station. or network.station.location.channel
timestampdatetime/strPick arrival time (ISO format or datetime)"2019-07-04T22:00:06.084"
typestrPhase type: "p" or "s" (lowercase)"p"
probfloatPick probability/weight (0-1)0.94
ampfloatAmplitude in m/s (required if use_amplitude=True)0.000017

Notes:

  • Timestamps must be in UTC or converted to UTC
  • Phase types are forced to lowercase internally
  • Picks with amp == 0 or amp == -1 are filtered when use_amplitude=True
  • The DataFrame index is used to track pick identities in the output

stations DataFrame

ColumnTypeDescriptionExample
idstrStation identifier"CI.CCC..BH"
x(km)floatX coordinate in km (projected)-35.6
y(km)floatY coordinate in km (projected)45.2
z(km)floatZ coordinate (elevation, typically negative)-0.67

Notes:

  • Coordinates should be in a projected local coordinate system (e.g., you can use the pyproj package)
  • The id column must match the id values in the picks DataFrame (e.g., network.station. or network.station.location.channel)
  • Group stations by unique id, identical attribute are collapsed to a single value and conflicting metadata are preseved as a sorted list.

3. Config Dictionary Keys

Required Keys

KeyTypeDescriptionExample
dimslist[str]Location dimensions to solve for["x(km)", "y(km)", "z(km)"]
min_picks_per_eqintMinimum picks required per earthquake5
max_sigma11floatMaximum allowed time residual in seconds2.0
use_amplitudeboolWhether to use amplitude in clusteringTrue
bfgs_boundstupleBounds for BFGS optimization((-35, 92), (-128, 78), (0, 21), (None, None))
oversample_factorfloatFactor for oversampling initial GMM components5.0 for BGMM, 1.0 for GMM

Notes on dims:

  • Options: ["x(km)", "y(km)", "z(km)"], ["x(km)", "y(km)"], or ["x(km)"]

Notes on bfgs_bounds:

  • Format: ((x_min, x_max), (y_min, y_max), (z_min, z_max), (None, None))
  • The last tuple is for time (unbounded)

Velocity Model Keys

KeyTypeDefaultDescription
veldict{"p": 6.0, "s": 3.47}Uniform velocity model (km/s)
eikonaldict/NoneNone1D velocity model for travel times

DBSCAN Pre-clustering Keys (Optional)

KeyTypeDefaultDescription
use_dbscanboolTrueEnable DBSCAN pre-clustering
dbscan_epsfloat25Max time between picks (seconds)
dbscan_min_samplesint3Min samples in DBSCAN neighborhood
dbscan_min_cluster_sizeint500Min cluster size for hierarchical splitting
dbscan_max_time_space_ratiofloat10Max time/space ratio for splitting
  • dbscan_eps is obtained from estimate_eps Function

Filtering Keys (Optional)

KeyTypeDefaultDescription
max_sigma22float1.0Max phase amplitude residual in log scale (required if use_amplitude=True)
max_sigma12float1.0Max covariance
max_sigma11float2.0Max phase time residual (s)
min_p_picks_per_eqint0Min P-phase picks per event
min_s_picks_per_eqint0Min S-phase picks per event
min_stationsint5Min unique stations per event

Other Optional Keys

KeyTypeDefaultDescription
covariance_priorlist[float]autoPrior for covariance [time, amp]
ncpuintautoNumber of CPUs for parallel processing

4. Return Values

Returns a tuple (events, assignments):

events (list[dict])

List of dictionaries, each representing an associated earthquake:

KeyTypeDescription
timestrOrigin time (ISO 8601 with milliseconds)
magnitudefloatEstimated magnitude (999 if use_amplitude=False)
sigma_timefloatTime uncertainty (seconds)
sigma_ampfloatAmplitude uncertainty (log10 scale)
cov_time_ampfloatTime-amplitude covariance
gamma_scorefloatAssociation quality score
num_picksintTotal picks assigned
num_p_picksintP-phase picks assigned
num_s_picksintS-phase picks assigned
event_indexintUnique event index
x(km)floatX coordinate of hypocenter
y(km)floatY coordinate of hypocenter
z(km)floatZ coordinate (depth)

assignments (list[tuple])

List of tuples (pick_index, event_index, gamma_score):

  • pick_index: Index in the original picks DataFrame
  • event_index: Associated event index
  • gamma_score: Probability/confidence of assignment

estimate_eps Function Documentation

Function Signature

def estimate_eps(stations, vp, sigma=2.0)

Purpose

Estimates an appropriate DBSCAN epsilon (eps) parameter for clustering seismic phase picks based on station spacing. The eps parameter controls the maximum time distance between picks that should be considered neighbors in the DBSCAN clustering algorithm.

1. Input Parameters

ParameterTypeDefaultDescription
stationsDataFramerequiredStation metadata with 3D coordinates
vpfloatrequiredP-wave velocity in km/s
sigmafloat2.0Number of standard deviations above the mean

2. Required DataFrame Columns

stations DataFrame

ColumnTypeDescriptionExample
x(km)floatX coordinate in km-35.6
y(km)floatY coordinate in km45.2
z(km)floatZ coordinate in km-0.67

3. Return Value

TypeDescription
floatEpsilon value in seconds for use with DBSCAN clustering

4. Example Usage

from gamma.utils import estimate_eps

# Assuming stations DataFrame is already prepared with x(km), y(km), z(km) columns
vp = 6.0  # P-wave velocity in km/s

# Estimate eps automatically based on station spacing
eps = estimate_eps(stations, vp, sigma=2.0)

# Use in config
config = {
    "use_dbscan": True,
    "dbscan_eps": eps,  # or use estimate_eps(stations, config["vel"]["p"])
    "dbscan_min_samples": 3,
    # ... other config options
}

Typical Usage Pattern

from gamma.utils import association, estimate_eps

# Automatic eps estimation
config["dbscan_eps"] = estimate_eps(stations, config["vel"]["p"])

# Or manual override (common in practice)
config["dbscan_eps"] = 15  # seconds

5. Practical Notes

  • In example notebooks, the function is often commented out in favor of hardcoded values (10-15 seconds)
  • Practitioners may prefer manual tuning for specific networks/regions
  • Typical output values range from 10-20 seconds depending on station density
  • Useful when optimal eps is unknown or when working with new networks

6. Related Configuration

The output is typically used with these config parameters:

config["dbscan_eps"] = estimate_eps(stations, config["vel"]["p"])
config["dbscan_min_samples"] = 3
config["dbscan_min_cluster_size"] = 500
config["dbscan_max_time_space_ratio"] = 10

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

73.51%
按下载量换算544

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills