SeisComP3 文档

scolv

初动定位视图

描述

scolv 是个交互工具,用于校验初动信息,如拾取、位置、深度、时间、震级和事件关联等。scolv 分为 5 个逻辑单元(选项卡):

  • Location(位置)
  • Magnitudes(震级)
  • Event(事件)
  • Events(事件)
  • Picker(拾取)

scolv 提供完整的函数来校验地震参数。

单位和数位

本地台网用户习惯距离单位为Km(公里),而其他用户则习惯°(度)。scolv 可配置显示其中一种。

# If true, show distances in km. Use degree otherwise.
scheme.unit.distanceInKM = true

此外,还可配置各种值的精度:

# Precision of depth values.
scheme.precision.depth = 0
# Precision of lat/lon values.
scheme.precision.location = 2
# Precision of pick times (fractions of seconds).
scheme.precision.pickTime = 1

概要部件

概要部件包含两个选项卡:Preferred(首选)和 Current(当前)。

绘图

scolv 中某些选项卡用于绘制数据(如到时残差)。绘图是可交互的。

可定义绘图过滤器。点击绘图选项卡右下角not active链接启用过滤器,将弹出设置窗口。当前仅支持震中方位角过滤。

绘图过滤器设置

选择中心方位角及其范围,点击OK按钮,选项卡将提示Filter is active。点击链接并选择None将禁用过滤器。

绘图可配置显示虚线网格,默认显示。

# Switch of grid lines by default
olv.drawGridLines = false

位置选项卡

位置选项卡显示关联相位和初动残差的详细信息,包括震中、时间、台站分布等。

scolv 位置选项卡

默认到时残差图显示在最上面。附加的 4 个绘图可有效分析到时。

附加到时绘图

从左上至右下分别为:1)方位角 vs 距离;2)传播时间 vs 距离;3)传播时间-语言时间 vs 距离;4)方位角 vs 距离极性

MoveOut 绘图使用基于 6km/s 递减速度的递减传播时间。该值可配置:

# Reduction velocity used for move out plot
olv.Pvel = 6.0

当事件重定位时,使用Compute Magnitudes按钮重新计算新的震级。

计算震级状态窗口

弹出窗口显示计算进度信息。

到时表

到时表显示当前初动的所有到时。有效的列标识符:

  • Used(使用)
  • Status(状态)
  • Phase(相位)
  • Weight(权重)
  • Method(方法)
  • Polarity(极性)
  • Net(台网)
  • Sta(台站)
  • Loc/Cha(位置/通道)
  • Res(?)
  • Dis(距离)
  • Az(方位角)
  • Time(时间)
  • +/-(?)
  • Created(创建)
  • Latency(传输延时)

初始列可在scolv.cfg中更改:

olv.arrivalTable.visibleColumns = Used, Status, Weight, Phase, Net, Sta,\
                                  Loc/Cha, Res, Dis, Az, Time, +/-

用户也可以通过右键点击表头实现交互。

到时表头内容

上下文菜单允许:

  • 选择基于可靠标准的到时
  • 激活/停用选择的到时
  • 删除选择的到时
  • 重命名选择到时的相位
到时上下文菜单

如果到时被删除,将实质性被移除;如果停用则仅设置到时权重为 0。

波形回顾(拾取)

Picker按钮打开交互波形失去窗口,允许拾取附加相位、确认拾取、添加附加拾取信息、旋转轨迹等。

波形回顾分为 2 部分,缩放轨迹和轨迹列表。缩放轨迹显示列表中活动轨迹的子区域。

拾取

起初,拾取仅显示每个台站的垂直通道。可以配置显示所有 3 个通道。

起初,允许拾取以下震相:

  • P
  • Pn
  • Pg
  • pP
  • S
  • Sg

一个示例配置如下所示:

# Define two phase groups: regional and teleseismic
picker.phases.groups = regional, teleseismic

# Define all phases of group "regional"
picker.phases.groups.regional = Pn, P, Pg, PmP, P1, Sg, S, Sn, SmS

# Define all phases of group "teleseismic"
picker.phases.groups.teleseismic = pP, PKP, PKP

# Define a list of favourite phase for quick access
picker.phases.favourites = Pn, P, Pg, PmP, P1, Pg, Sg, S, Sn, SmS

偏好列表用于指定快捷键,1赋给第一个震相,2赋给第二个,以此类推。快捷键仅支持前 9 个震相,其他震相通过Picking菜单激活

震相选择菜单

当鼠标悬停在拾取上时,将在拾取周围绘制虚线矩形。右键菜单也将被激活:

拾取上下文菜单

这些可在scolv.cfg中配置:

# Define available pick uncertainty profiles. Single values
# are symmetric uncertainties whereas tuples are asymmetric
# uncertainties: (left,right). Uncertainty values are given
# in seconds.

# Define an uncertainty profile for local events
picker.uncertainties.profile.local = 0.05, 0.1, 0.2, 0.3, "(0.1,0.2)"

# Define an uncertainty profile for teleseimis events
picker.uncertainties.profile.teleseismic = 0.5, 1, 2, 3, "(1,2)"

# Define the list of uncertainty sets that are active in scolv.
# This first set in the list is used by default. The other sets
# can be activated in the settings dialog (scolv: F3)
picker.uncertainties.preferred = local, teleseismic

如果选择 unertainty 则激活的拾取复制到手动拾取,uncertainty 显示为半透明条。

选择 uncertainy

此外,拾取极性也可被定义:

拾取上下文菜单

可选择 positivenegativeundecidableunset。 可设置显示为箭头。Undecidable 可显示为叉(X)。

选择极性

为了转换波形分量为 ZNEZRT,系统在工具栏上添加了下拉列表。

转换选项

当波形被请求时,相应的部件背景将改变状态:

  • 黄色:波形被请求,尚未接收到
  • 红色:获取已结束,无有效数据
  • 绿色:波形已接收,获取仍进行
数据获取状态

如果显示三分量轨迹,且振幅比例放大,则不适应窗口区域。削波功能将通过C按键或View ‣ Zoomtrace ‣ Clip components to viewport菜单实现。

下面两幅图将显示其区别:

允许削波

这里允许轨迹削波。

禁用削波

这里禁止轨迹削波。

提交解决方案

发送定位(包括可选震级)至处理系统,让其确定首选初动。

为将工作流:

  1. 选择一个事件
  2. 回顾解决方案
  3. 提交解决方案
  4. 切换至事件选项卡
  5. 设置该解决方案为首选
  6. 设置事件类型
  7. 切换至事件选项卡
  8. 转到 1.

优化为:

  1. 选择一个事件
  2. 回顾解决方案
  3. 提交解决方案
  4. 切换至事件选项卡
  5. 转到 1.

一个附加的提交模式将允许设置。

提交选项

按下Commit按钮并保持一会儿,弹出菜单允许选择 With additional options 选项。选择该项将弹出新的选项窗口。

提交选项

如果 Return to event list after commit 被选中,事件列表将被激活。

震级选项卡

震级选项卡显示初动所有有效震级信息。对每种不同的震级类型(mb, mB, MLv, Mw(mB))台站震级显示在震级残差图标中。

震级选项卡

波形回顾

震级回顾页允许回顾波形。Waveforms按钮转至振幅波形回顾页。

震级波形回顾

初始视图载入所有到达的波形轨迹。缩放轨迹显示所有分量。所有轨迹按触发时间(蓝色 P 标记)对齐。如果台站已获取振幅,将显示红色或绿色标记。

工具栏包含两行设置。第一行同Picker,第二行为振幅拾取。

震级工具栏

台站轨迹分为三个区域:

  • 暗灰色:未使用数据
  • 亮灰色:用于噪声偏移和振幅的数据
  • 白色:用于振幅计算的数据

上面的示例显示了不同数据时间窗口,用于振幅的判定。振幅判定依赖于距离和振幅类型。

可做的事情:

  • 显示原始数据
  • 更改处理设置
  • 调整处理区域(噪声, 信号)
  • 应用次级过滤器(移除噪声或低频)
  • 在用户定义时间窗口中拾取振幅
  • 增加一定距离内的未拾取/未关联的台站
  • 移除不良台站

显示原始数据

默认显示已处理的波形。通过过滤器下拉框选择Raw可查看原始波形。

处理设置

基本振幅处理使用两个基本设置:最小信噪比(SNR)和数据时间窗口。最小 SNR 由振幅算法定义。默认 SNR 显示在工具栏右侧Min SNR:

一些振幅处理器允许修改振幅类型或振幅合并处理。这种处理常用于计算来自两个分量的振幅,如水平分量上的 ML。

二级过滤

有效过滤器可在设置对话框或配置文件中定义:

# Define a list of available filters for amplitude picking.
# The format is "name1;filter-definition1", "name2;filter-definition2"
amplitudePicker.filters = "4 pole HP @2s;BW_HP(4,0.5)"

新的过滤器将立即应用至波形,即使振幅未重新计算。

计算振幅

按下工具栏上绿色按钮,将计算所有轨迹的振幅。如果发生错误,将显示短消息框。如果新振幅有效,其状态将设置为手动并标记新的位置。如果鼠标悬停在振幅标记上,将弹出提示框并显示振幅信息。

振幅提示框

拾取振幅

除了默认拾取所有台站之外,还可以定义台站振幅的时间窗口。通过按1或主菜单Amplitudes ‣ Pick amplitudes

两种拾取模式:

  • 通过在开始时间按下鼠标左键,在结束时间释放鼠标来创建时间窗口
  • 双击一个时间,使用时间窗口![t-0.5sec;t+0.5sec]

添加范围内台站

未拾取或未关联的台站,可用手动拾取的方法增加。新的台站没有振幅,需要手动拾取或全局振幅重计算。

移除不良台站

在预览视图中的轨迹标签上双击可以禁用台站,通过禁用振幅也可以实现。

确认振幅

工具栏上红色按钮确认所有振幅,并将其传送至震级回顾页。仅传送已激活的振幅。禁用的台站或振幅将被忽略。在此阶段,所有震级会被计算,台网震级会根据设置(MeanMedianTrimmed mean)被计算。

事件选项卡

事件选项卡显示关联初动和事件震级的所有信息。这里首选初动和震级可能受到scevent的影响。sceventscolv之间关于初动和震级的消息可以在窗口中浏览。

事件选项卡

地图(左下部分)显示所有关联初动。

事件列表选项卡

事件列表选项卡显示时间段内的事件的预览。有关初动时间、首选震级、首选震级类型、震相数量、震中和深度、初动状态、范围等的信息,类似于scesv中的事件列表。

事件选项卡

事件列表包含Hide other/fake events复选框。如果选中,所有类型不存在的事件将隐藏。可使用过滤器配置事件类型。

# Define the event types to be filtered
eventlist.filter.types.blacklist = "not existing", "other",\
                                   "outside of network interest"

# Define the label of the button to filter the events
eventlist.filter.types.label = "Hide fake events"

# Define the default behaviour
eventlist.filter.types.enabled = true

另一个事件过滤选项是通过agencyID。按钮Show only own events将隐藏所有的事件,当首选初动的agencyID未配置。该行为可被配置。

# Set the preferred agencyIDs to GFZ and EMSC
eventlist.filter.agencies.whitelist = GFZ, EMSC

# Set type to 'origins' which means that an event will pass the filter if
# at least one origin is from a preferred agency defined with the whitelist
# above. The default type is 'events' which checks only the events preferred
# origin.
eventlist.filter.agencies.type = origins
eventlist.filter.agencies.label = "Show only my preferred events"

# Enable this filter initially. If this option is not used the filter
# is disabled by default.
eventlist.filter.agencies.enabled = true

到时表中显示的列也可配置。有效的标识符:

  • OT(GMT)
  • Type
  • M
  • TP
  • Phases
  • Lat
  • Lon
  • Depth
  • Stat
  • Agency
  • Author
  • Region
  • ID

该列表也可自定义:

# Remove Type and Author from column list that is initially active
eventlist.visibleColumns = OT(GMT), M, TP, Phases, Lat, Lon,\
                           Depth, Stat, Agency, Region, ID

自定义量

因内部数据模块限制,scolv 允许增加派生自初动对象的自定义量,用于信息面板、事件选项卡的初动列表、事件列表。这有助于以更好方式评估初动。

支持两种源:初动注释和自定义脚本。

初动注释

在位置选项卡,增加注释至信息面板,可使用以下配置:

# Define the comment id to be used
display.origin.comment.id = SED.quality

# Define the default display value if no comment is available
display.origin.comment.default = "-"

# Define the label text in the information panel for this value
display.origin.comment.label = Quality

在事件选项卡,增加自定义列至初动列表,可使用以下配置:

# Define the default value if no comment is present
eventedit.customColumn.default = "-"

# Define the comment id to be used
eventedit.customColumn.originCommentID = SED.quality

# Define the column header label
eventedit.customColumn = "Qual"

# Define the column position in the table
eventedit.customColumn.pos = 4

# Allows to map comment values (strings) to colors. In this case the
# comment will have A,B,C or D which is mapped to green, yellow, orange and
# red
eventedit.customColumn.colors = "A:00FF00","B:rgb(64,192,0)",\
                                "C:rgb(192,64,0)","D:FF0000"

在事件列表选项卡,增加自定义列至事件列表,可使用以下配置:

# Define the default value if no comment is present
eventlist.customColumn.default = "-"

# Define the comment id to be used
eventlist.customColumn.originCommentID = "SED.quality"

# Define the column header label
eventlist.customColumn = "Qual"

# Define the column position in the table
eventlist.customColumn.pos = 5

# Allows to map comment values (strings) to colors. In this case the
# comment will have A,B,C or D which is mapped to green, yellow, orange and
# red
eventlist.customColumn.colors = "A:00FF00","B:rgb(64,192,0)",\
                                "C:rgb(192,64,0)","D:FF0000"

外部脚本

scolv 调用外部脚本,将其写入二进制串行初动对象。scolv 读取脚本的输出,仅在返回代码为 0 时,显示这些值。

项目示例脚本仅返回标准错误:

#!/usr/bin/env python
import seiscomp3.DataModel, seiscomp3.IO

def main():
    ar = seiscomp3.IO.BinaryArchive()

    # Open standard input
    if not ar.open("-"):
        # Hmmm, opening stdin failed
        return 1

    # Read the object
    obj = ar.readObject()
    ar.close()

    # Try to cast obj to an origin
    org = seiscomp3.DataModel.Origin.Cast(obj)

    # No origin -> error
    if not org:
        return 1

    # Try to print the standard error to stdout
    try: print org.quality().standardError()
    # Field not set, return error
    except: return 1

    return 0

 if __name__ == "__main__":
     sys.exit(main())

在位置选项卡,增加输出至信息面板,可使用以下配置:

# Define the available addons to be used
display.origin.addons = qual1, qual2

# Configure each addon
display.origin.addon.qual1.label = "Qual1"
display.origin.addon.qual1.script = "@CONFIGDIR@/scripts/scolv/qual1"

display.origin.addon.qual2.label = "Qual2"
display.origin.addon.qual2.script = "@CONFIGDIR@/scripts/scolv/qual2"

在事件选项卡,增加输出至初动列表,可使用以下配置:

eventedit.scripts.columns = qual1, qual2
eventedit.scripts.column.qual1.label = "Qual1"
eventedit.scripts.column.qual1.pos = 8
eventedit.scripts.column.qual1.script = "@CONFIGDIR@/scripts/scolv/qual1"
eventedit.scripts.column.qual2.label = "Qual2"
eventedit.scripts.column.qual2.pos = 9
eventedit.scripts.column.qual2.script = "@CONFIGDIR@/scripts/scolv/qual2"

在事件列表选项卡,增加输出至事件列表,可使用以下配置:

eventlist.scripts.columns = qual1, qual2
eventlist.scripts.column.qual1.label = "Qual1"
eventlist.scripts.column.qual1.pos = 5
eventlist.scripts.column.qual1.script = "@CONFIGDIR@/scripts/scolv/qual1"
eventlist.scripts.column.qual2.label = "Qual2"
eventlist.scripts.column.qual2.pos = 6
eventlist.scripts.column.qual2.script = "@CONFIGDIR@/scripts/scolv/qual2"

设置

scolv 的所有设置可在配置文件中调整。但是为了能在传输过程中更改设置,通过F3可打开设置窗口。

Global(全局)

包含所有主选项卡和波形窗口的设置。

全局设置

拾取

包含拾取窗口的设置。

波形拾取设置

震级回顾

包含震级波形回顾窗口的设置。

振幅/震级回顾设置

热键

主窗口

快捷键 描述
F2 设置连接对话框
F3 拾取设置对话框
F8 显示左边事件概要面板
F9 显示射线路径和关联台站
F10 显示事件列表
F11 切换全屏
Ctrl+N 在当前地图中心创建未关联人工初动
Ctrl+Z 返回最后一个初动
Ctrl+Shift+Z 移至下一个初动
Mouse wheel 地图缩放
Double click 设置地图中心

拾取

快捷键 描述
F3 增加台站
F5 重定位
Y 缩减轨迹列表的行高
Shift+Y 增加轨迹列表的行高
S 最大化显示振幅
F 切换过滤器
Z 切换至 Z 分量
N 切换至 N 分量
E 切换至 E 分量
> 增加轨迹预览中的时间比例
< 缩减轨迹预览中的时间比例
Ctrl+N 默认轨迹视图
Ctrl+T 切换到时显示
Ctrl+P 切换失去显示
Ctrl+Up 振幅缩小
Ctrl+Down Ctrl+Right 时间缩小
Ctrl+Left 时间放大
Ctrl+0 按初动时间对齐
Ctrl+[1..9] 按 1~9 偏好真相对齐
Ctrl+WheelUp 振幅缩小
Ctrl+WheelDown 振幅放大
Shift+WheelUp 时间缩小
Shift+WheelDown 时间放大
Ctrl+Shift+WheelUp 时间和振幅缩小
Ctrl+Shift+WheelDown 时间和振幅放大
Left 向左移动轨迹视图
Right 向右移动轨迹视图
Shift+Left 向左移动轨迹视图
Shift+Right 向右移动轨迹视图
Up 向上滚动
Down 向下滚动
Alt+Right 跳至下一个标签
Alt+Left 调至上一个标签
Esc 离开失去模式
Alt+D 按距离排序
Alt+R 按惨差排序

配置

etc/defaults/global.cfg
etc/defaults/scolv.cfg
etc/global.cfg
etc/scolv.cfg
~/.seiscomp3/global.cfg
~/.seiscomp3/scolv.cfg