本文参考台网中心数据服务手册介绍了几种下载国内波形数据的方法,如涉及版权、保密等问题请及时告知。

浏览器方式

在浏览器地址栏内键入以下网址即可。网址参数含义如下:

10.5.107.1:8080   # 数据服务器的 IP 和 端口号
------------------------------------------------
fdsnws/event    # FDSN 定义的地震目录 Web 服务
1          # 主版本号 
query?     # 表示一个具体的查询开始
minmag     # 震级下限
maxmag     # 震级上限
minlatitude  # 纬度下限
maxlatitude  # 纬度上限
minlongitude # 经度下限
maxlongitude # 经度上限
mindepth    # 震源深度的下限值 
starttime  # 起始时间,参数值和返回数据的时间均为国际时
endtime    # 截止时间,参数值和返回数据的时间均为国际时
format     # 结果输出的格式,缺省的情况下是 QuakeML , text 表示文本格式
-------------------------------------------------
fdsnws/station  # FDSN 定义的台站信息服务
network        # 所选台网
station        # 所选台站 
level          # 返回结果的细节层次,包括 network(台网)、station(台站)、channel(通道)、response(响应)四个级别
format         # 结果的格式,如缺省则为 StationXML 格式, text 表示文本格式

获取地震目录信息

  • 查询 2012 年内所有 6 级以上地震的发震时刻信息,用文本格式输出
http://10.5.107.1:8080/fdsnws/event/1/query?minmag=6&starttime=2012-01-01T00:00:00&endtime=2013-01-01T00:00:00&format=text
  • 查询 2012 年至今首都圈范围内(纬度 35 至 44 度、经度 114 至 120 度)的所有 3.5 及以上地震
http://10.5.107.1:8080/fdsnws/event/1/query?minmag=3.5&starttime=2012-01-01T00:00:00&minlatitude=35&maxlatitude=44&minlongitude=114&maxlongitude=120&format=text
  • 查询中国大陆地区(纬度 20 至 50 度、经度 74 至 136 度)2012 年至今所有深度大于 70 公里的地震
http://10.5.107.1:8080/fdsnws/event/1/query?mindepth=70&starttime=2012-01-01T00:00:00&minlatitude=20&maxlatitude=50&minlongitude=74&maxlongitude=136&format=text

获取地震台站信息

  • 获取 GS 台网 GTA 台站所有通道中 metadata 的值(无时间限制)
http://10.5.107.1:8080/fdsnws/station/1/query?network=GS&station=GTA&level=channel&format=text
  • 获取在纬度 35 至 44 度、经度 114 至 120 度之间,所有以 BH 开头的通道的台站相关信息
http://10.5.107.1:8080/fdsnws/station/1/query?channel=BH*&maxlatitude=44&minlatitude=35&minlongitude=114&maxlongitude=120&level=channel&format=text
  • 获取 GS 台网、 HE 台网中的相关台站信息, level 级别为台网,用文本格式输出
http://10.5.107.1:8080/fdsnws/station/1/query?network=GS,HE&level=network&format=text
  • 获取 GS 台网、 HE 台网中的相关台站信息, level 级别为台站,用文本格式输出
http://10.5.107.1:8080/fdsnws/station/1/query?network=GS,HE&level=station&format=text
  • 获取 HE 台网中昌黎台(CLI)的仪器参数信息
http://10.5.107.1:8080/fdsnws/station/1/query?network=HE&station=CLI&level=response
  • 获取位于纬度 35 至 44 度、经度 114 至 120 度之间的所有台站的信息
http://10.5.107.1:8080/fdsnws/station/1/query?maxlatitude=44&minlatitude=35&minlongitude=114&maxlongitude=120&level=station&format=text
  • 获取在纬度 35 至 44 度、经度 114 至 120 度之间的所有台站及仪器通道的信息
http://10.5.107.1:8080/fdsnws/station/1/query?maxlatitude=44&minlatitude=35&minlongitude=114&maxlongitude=120&level=channel&format=text

获取地震波形数据

  • 获取天津台网大沽台、宝坻台、静海台记录到的天津爆炸的波形
http://10.5.107.1:8080/fdsnws/dataselect/1/query?network=TJ&station=DAG,DAD,JIH&starttime=2015-08-12T15:20:00&endtime=2015-08-12T15:40:00

注:当选择台站过多,时间范围过长时,可能会因为返回的数据量过大,数据请求会失败(返回的 HTTP 状态代码为 414 )。当需要台站数目较多时,建议采用分批多次方式请求数据。

客户端软件方式

JWEED 方式

具体下载及安装方法参考 JWEED 软件包中附带的安装手册: https://seiscode.iris.washington.edu/projects/jweed

打开 JWEED 客户端后选中 Select Servers ,默认有三个 Service Provider ,选中任意 URL 进行修改。

  • Service Provider : CENC-FDSN service..

  • URL : 10.5.107.1:8080/fdsnws,1

使用 IRIS 提供的 FetchData 脚本

FetchData 程序是 IRIS 发布的 Perl 程序,用于下载波形数据。使用它来下载中国地震台网中心的波形数据时,要预先设定三个环境变量( SERVICEBASETIMESERIESWSMETADATAWS ),如果用户使用的是 bash shell ,可设定如下:

$ echo `export SERVICEBASE=http://10.5.107.1:8080/` >> ~/.bashrc
$ echo `export TIMESERIESWS=http://10.5.107.1:8080/fdsnws/dataselect/1` >> ~/.bashrc
$ echo `export METADATAWS=http://10.5.107.1:8080/fdsnws/station/1` >> ~/.bashrc
$ source ~/.bashrc
# 下载河北地震台网记录到的北京时间 2015 年 9 月 14 日 18:10:10 河北秦皇岛 4.2 级地震事件在垂直分量上的波形
$ FetchData -N HE -S TAH,TLK -C ?HZ -s 2015-09-14T10:00:00 -e 2015-09-14T10:30:00 -o 201509141010.mseed 

利用脚本直接下载

#!/usr/bin/python
# 导入 ObsPy 的 FDSN 客户端模块和日期模块
from obspy.core import UTCDateTime
from obspy.fdsn import Client
# 新版本中用 obspy.clients.fdsn 代替 obspy.fdsn
client=Client("http://10.5.107.1:8080")
# 波形截取起始时间
starttime=UTCDateTime("2015-09-14T10:10:00.000")
# 请求河北台网唐海台和桃林口台两个台站 00 通道 Z 分量的波形数据,时间长度 10 分钟
st=client.get_waveforms("HE", "TAH,TLK", "00", "?HZ", starttime, starttime + 600)
# 显示并保存得到的波形数据
st.plot()
st.write('201509141010.mseed ',format="mseed")
inventory=client.get_stations(network="HE", station="*")
inventory.plot(projection=”local”)