本系列文章主要关注走时计算软件TauP的使用,主要工作参考:
连载1关注于TauP的介绍和安装
TauP的介绍
- TauP是由University of South Carolina开发
- 基于Java语言
- 基于Buland 和 Chapman 于 1983 年提出的方法(Buland, R. and C. H. Chapman (1983). The Computation of Seismic Travel Times, Bull. Seism. Soc. Am.73(5),1271–1302.)
TauP相比于其他的走时软件,有如下的优点或特色:
- 主要优点是它的灵活性,TauP除了可以用来计算地震波的走时,还可以计算由其衍生出来的射线路径,穿透点,转折点,射线参数,走时曲线等
- 由于该软件是由Java写的,使其具有强大的可移植性,可以在多平台使用(Windows,Linux,MacOS)
- 其内置多个地球速度模型,其自带的速度模型,可以在解压出的文件
TauP-2.4.5/StdModels
中查看,其自带的速度模型共11个,包括1066a,1066b,ak135,alfs,herrin,iasp91,jb,prem,pwdk,qdt,sp6
- 提供震相分解功能,支持不常见的震相名称
- 支持自己制作速度模型求解走时
- 部分兼容
ttimes
的震相名称,比如用ttp
表示常见 P 波震相,除此之外,还有tts、ttp+、tts+、ttbasic、ttall
- 提供GUI
最新的TauP包发行版是由2016年7月6日发行的2.4的版本。下载解压后主要有以下目录:
文件 | 主要信息 |
---|---|
README | 获取软件包以及安装的基本信息 |
gpl3.0.txt | GNU GPL许可信息 |
StdModels | 标准速度模型 |
bin | 可直接添加到PATH中运行的命令 |
lib | Java归档文件(包括依赖包) |
doc | 包括关于TauP发表的文章的链接,说明文档,以及一个简易的速度模型文件等 |
native | 提供的TauP包与C的接口(官方已经不建议使用) |
jacl | 不了解,详细信息可以看doc文件夹中的说明文档23页 |
src | 所有的Java源码 |
TauP提供的工具有:
taup time
计算走时taup pierce
计算速度间断面或特定深度的穿透点taup path
计算射线路径和深度-震中距关系taup wavefront
计算以时间为步长的波前的传播taup
图形用户界面工具taup curve
计算走时曲线和深度-震中距关系taup table
输出不同深度和传播距离的走时信息ASCII文件taup setsac
将计算出的走时信息写入SAC头文件中taup create
根据速度模型创建一个.taup文件taup console
TauP的Python脚本
TauP定义了一些默认的参数值:
参数 | 含义 | 值 |
---|---|---|
taup.model.name |
初始速度模型 | iasp91 |
taup.model.path |
速度模型的默认寻找路径 | null |
taup.source.depth |
初始震源深度 | 0.0km |
taup.phase.list |
初始震相列表 |
p,s,P,S,Pn,Sn,PcP,ScS,Pdiff, Sdiff,PKP,SKS,PKiKP,SKIKS
|
taup.depth.precision |
输出深度的精度 | 1 |
taup.distance.precision |
输出距离的精度 | 2 |
taup.latlon.precision |
输出经纬度的精度 | 2 |
taup.time.precision |
输出时间的精度 | 2 |
taup.raypath.precision |
输出深度的精度 | 3 |
taup.maxRefraction |
Pn和Sn波沿着莫霍界面滑行的最大距离 | 20 degrees |
taup.maxDiffraction |
核幔边界衍射波沿CMB衍射的最大距离 | 60 degrees |
taup.path.maxPathInc |
射线路径上两点之间最大距离 | 简单的线性插值 |
taup.table.locsat.maxdiff |
不太了解 | 105 degrees |
taup.create.minDeltaP |
慢度采样间距的最小值 | 0.1 sec/rad |
taup.create.maxDeltaP |
慢度采样间距的最小值 | 11.0 sec/rad |
taup.create.maxDepthInterval |
深度采样间距最大值 | 115 km |
taup.create.maxRangeInterval |
两个相邻射线的距离最大值 | 2.5 degrees |
taup.create.maxInterpError |
线性插值最大误差 | 0.05 s |
taup.create.allowInnerCoreS |
是否允许J震相和内核中S波的传播 | true |
TauP的安装
TauP的安装很简单,可参照说明文档36页,步骤如下:
- 检查是否安装Java运行环境
在终端中键入java -version
,需要安装Java 1.8.x以上版本,大多数系统已经内置Java运行环境
$ java -version
java version "1.8.0_141"
OpenJDK Runtime Environment (rhel-2.5.1.2.el7_0-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.146-b16, mixed mode)
如果没有版本信息,则需要先安装 Java 运行环境,在 CentOS 7 下用如下命令:
$ sudo yum install java
下载 TauP:
$ wget http://www.seis.sc.edu/downloads/TauP/TauP-2.4.5.tgz
解压:
tar -xvf TauP-2.4.5.tgz
将解压出的文件移动到自己文件目录中
sudo mv TauP-2.4.5 /opt
修改环境变量
vim ~/.bashrc
键入:
export TAUPHOME=/opt/TauP-2.4.1
export PATH=${TAUPHOME}/bin:${PATH}
使修改后的环境变量生效
source ~/.bashrc
- 执行测试
终端键入 taup 若出现 TauP 图形界面则表示安装成功。
修改历史:
- 2017年11月23日 初稿