NonLinLoc 定位包装插件
通过 SeisComP3 插件机制,NonLinLoc(NLL)](http://alomax.free.fr/nlloc) 定位算法已实现。新的locnll
插件包含LocatorInterface
的实现。
运行 NonLinLoc 之后,输出将被转换成 SC3 初动对象,包括所有有效错误量度。 下表显示 NLL 错误量度如何映射至 SC3 数据模型:
SC3 | NLL |
---|---|
Origin.latitude.uncertainty | sqrt(phypo->cov.yy) |
Origin.longitude.uncertainty | sqrt(phypo->cov.xx) |
Origin.depth.uncertainty | sqrt(phypo->cov.zz) |
Origin.originQuality.standardError | phypo->rms |
Origin.originQuality.secondaryAzimuthalGap | phypo->gap_secondary |
Origin.originQuality.usedStationCount | phypo->usedStationCount |
Origin.originQuality.associatedStationCount | phypo->associatedStationCount |
Origin.originQuality.associatedPhaseCount | phypo->associatedPhaseCount |
Origin.originQuality.usedPhaseCount | phypo->nreadings |
Origin.originQuality.depthPhaseCount | phypo->depthPhaseCount |
Origin.originQuality.minimumDistance | km2deg(phypo->minimumDistance) |
Origin.originQuality.maximumDistance | km2deg(phypo->maximumDistance) |
Origin.originQuality.medianDistance | km2deg(phypo->medianDistance) |
Origin.originQuality.groundTruthLevel | phypo->groundTruthLevel |
Origin.originUncertainty.horizontalUncertainty | phypo->ellipse.len2 |
Origin.originUncertainty.minHorizontalUncertainty | phypo->ellipse.len1 |
Origin.originUncertainty.maxHorizontalUncertainty | phypo->ellipse.len2 |
Origin.originUncertainty.azimuthMaxHorizontalUncertainty | phypo->ellipse.az1 + 90 |
ConfidenceEllipsoid.semiMajorAxisLength | phypo->ellipsoid.len3 |
ConfidenceEllipsoid.semiMinorAxisLength | phypo->ellipsoid.len1 |
ConfidenceEllipsoid.semiIntermediateAxisLength | phypo->ellipsoid.len2 |
ConfidenceEllipsoid.majorAxisPlunge | (phypo->ellipsoid.axis1 x phypo->ellipsoid.axis2).dip |
ConfidenceEllipsoid.majorAxisAzimuth | (phypo->ellipsoid.axis1 x phypo->ellipsoid.axis2).az |
ConfidenceEllipsoid.majorAxisRotation | T.B.D. |
NonLinLoc 插件安装于share/plugins/locnll.so
。
添加插件至模块,只需将其添加至modulename.cfg
或global.cfg
配置文件:
plugins = ${plugins}, locnll
基本上可用于两个模块: screloc 和 scolv。
所有输出存入NonLinLoc.outputPath
,文件前缀为originID
,包括以下文件:
添加插件至 scolv 或 screloc,在配置文件中插件列表中添加:
plugins = ${plugins}, locnll
增加插件配置:
########################################################
################ NonLinLoc configuration################
########################################################
NLLROOT = ${HOME}/nll/data
NonLinLoc.outputPath = ${NLLROOT}/output/
# Define the default control file if no profile specific
# control file is defined.
NonLinLoc.controlFile = ${NLLROOT}/NLL.default.conf
# Set the default pick error in seconds passed to NonLinLoc
# if no SC3 pick uncertainty is available.
NonLinLoc.defaultPickError = 0.1
# Define the available NonLinLoc location profiles. The order
# implicitly defines the priority for overlapping regions
#NonLinLoc.profiles = swiss_3d, swiss_1d, global
NonLinLoc.profiles = swiss_3d, global
# The earthModelID is copied to earthModelID attribute of the
# resulting origin
NonLinLoc.profile.swiss_1d.earthModelID = "swiss regional 1D"
# Specify the velocity model table path as used by NonLinLoc
NonLinLoc.profile.swiss_1d.tablePath = ${NLLROOT}/time_1d_regio/regio
# Specify the region valid for this profile
NonLinLoc.profile.swiss_1d.region = 41.2, 3.8, 50.1, 16.8
# The NonLinLoc default control file to use for this profile
NonLinLoc.profile.swiss_1d.controlFile = ${NLLROOT}/NLL.swiss_1d.conf
# Configure the swiss_3d profile
NonLinLoc.profile.swiss_3d.earthModelID = "swiss regional 3D"
NonLinLoc.profile.swiss_3d.tablePath = ${NLLROOT}/time_3d/ch
NonLinLoc.profile.swiss_3d.region = 45.15, 5.7, 48.3, 11.0
NonLinLoc.profile.swiss_3d.controlFile = ${NLLROOT}/NLL.swiss_3d.conf
# And the global profile
NonLinLoc.profile.global.earthModelID = iaspei91
NonLinLoc.profile.global.tablePath = ${NLLROOT}/iasp91/iasp91
NonLinLoc.profile.global.controlFile = ${NLLROOT}/NLL.global.conf
插件载入成功后,新的定位器出现在左下角复合框中:
选择 NonLinLoc 定位器,将载入配置属性:
如果初动已被重定位,方法将被设为NonLinLoc
且地球模型包含属性的名称。
NLL 定位器支持会话级配置设置或控制参数的重载。 按定位器选择组合框右边的按钮,打开设置对话框:
显示 NLL 参数:
scolv 提供两个附加配置按钮,一个为Seismicity Viewer
:
button0 = "Seismicity Viewer"
scripts.script0 = @CONFIGDIR@/scripts/sv
脚本sv
将被Seismicity Viewer
调用:
#!/bin/sh
FILE=$HOME/nll/data/output/$1.loc.hyp
java -classpath $HOME/nll/bin/SeismicityViewer50.jar \
net.alomax.seismicity.Seismicity $FILE
Seismicity Viewer
已安装于$HOME/nll/bin
。