参考:
[Seisman数据命名规则]https://seisman.github.io/SAC_Docs_zh/appendix/naming-convections/#id3
[地震学笔记]https://seismology.gitee.io/seisnote/obspydoc/plot_5_retrieving_data/
数据获取
数据获取有多种方式,例如脚本或者直接网页申请。在这里记录使用方法
获取数据需要的参数(数据命名规则)
标准SAC文件命名规则为:
yyyy.ddd.hh.mm.ss.ffff.NN.SSSSS.LL.CCC.Q.SAC
- yyyy: 年份
- ddd: 年分中的第几天
- hh.mm.ss.ffff: 时、分、秒、毫秒
- NN: 台网代号
- SSSSS: 台站名(代号)
- LL: 位置码,台站中的地震仪编号
- CCC: 通道名
- Q: 质量控制标识
- SAC: 格式后缀
Network 台网
台网名如下:
所有永久或临时台网:http://www.fdsn.org/networks/
Station 台站
Location 位置码(同一台站的不同地震仪)
常见为空。
Channel 通道
通道名有三个字符。三个字符分别表示:频带码、仪器码、方位码。
频带码(Band Code)
第一个字符表示仪器采样率以及响应频带等信息。
参考:Seisman频带码表
仪器码(Instrument Code)
第二个字符表示不同的仪器传感器。
仪器码 | 说明 | |
---|---|---|
H | High Gain Seismometer | 高增益地震仪 |
L | Low Gain Seismometer | 低增益地震仪 |
G | Gravimeter | 重力仪 |
M | Mass position Seismometer | 质量位置地震仪 |
N | Accelerometer | 加速度计 |
常见H 高增益仪器。
方位码(Orientation Code)
- N E Z 南北向、东西向、垂向
- 1 2 3(Z) 3(Z)为垂向,1、2为正交的水平向,但并非南北东西向
- T R Z 切向、径向、垂向
- 方位码 U V W 未知,可能与1 2 Z(3)相同
注意:N、E、Z并非指正北等方向,与正北夹角2度以内的均可取N。以头段变量cmpaz和cmpinc为准(cmpaz也可能产生一定误差)。
Quality 波形质量
- D 不确定状态的数据
- M 已合并的数据
- R 原始波形数据
- Q 经过质量控制的数据
常见M与Q。
Format 格式
- SAC格式
- mSeed格式
- miniSeed格式
Web Services 网页获取
在浏览器中输入, 可以直接获取相关数据:
1 | http://service.iris.edu/fdsnws/dataselect/1/query?network=XA&station=S12&starttime=1970-01-01T00:00:00&endtime=1971-01-01T12:00:00 |
如上所述为台网XA、台站S12,起始时间与终止时间为1970与1971年的月震记录。
Obspy获取
服务器下载波形数据
使用get_waveforms()从服务器下载波形数据,
需要添加关键字参数自定义申请。
申请单个数据
参数:
waveform = get_waveforms(台网名,台站名,位置码,通道名,波形开始时间,波形结束时间(s))
每个参数需要””,多个参数使用 , 隔开。
可以使用通配符,?和*
filename = ‘文件名’waveform
attach_response=True 添加仪器响应
waveform.remove_response(output=’VEL’) 去除仪器响应
1 | from obspy.clients.fdsn import Client |
申请多组数据
get_waveforms_bulk()可以同时提交多个申请。
多个列表组成的列表,每一个列表包含:台网名、台站名、位置码、通道名、开始时间和结束时间
bulk = [[“IU”, “ANMO”, “0?”, “LH?”, t1, t2],(),……]包含有效request(返回信息)的字符串、文件名或者已打开文件的句柄
1
2
3
4
5
6
7
8字符串:
bulk = 'quality=B\n' + \
'longestonly=false\n' + \
'IU ANMO * BHZ 2010-02-27 2010-02-27T00:00:02\n' + \
'IU AFI 1? BHE 2010-02-27 2010-02-27T00:00:04\n' + \
'GR GRA1 * BH? 2010-02-27 2010-02-27T00:00:02\n'
文件名:
client.get_waveforms_bulk("request.txt", attach_response=True)
申请多组数据:
1 | t1 = UTCDateTime("2010-02-27T06:45:00.000") |
服务器下载地震目录(catalog)
get_events() 申请地震目录。
使用 eventid 获取地震目录
1 | client = Client("IRIS") |
使用起止时间以及震级等条件筛选地震
get_events(starttime = 开始时间,endtime = 结束时间,minmagnitude = 震级,catalog = 地震目录来源)
- starttime = 开始时间
- endtime = 结束时间
- minmagnitude = 最小震级
- catalog = “地震目录来源”
1 | t1 = UTCDateTime("2001-01-07T00:00:00") |
下载台站信息数据
get_stations() 可以得到台站数据,返回值为网络和台站等信息。
可以通过这个方法查询到相关台网的台站信息、台站所有的位置码和通道等等信息。
1 | inventory = client.get_stations(network="IU", station="A*", |
绘制仪器相应文件
利用台站信息get_stations()的返回值的plot_response()获得仪器响应文件。
inventory.plot_response(min_freq=0.01, output="DISP", station="ADK", channel="BH?")
- minfreq = 最小频率
- output = 输出形式? 仪器响应中内置仪器类型中BBDISP表示位移型地震仪,参照Seisman仪器响应文件-内置仪器响应
- station = 台站名
- channel = 通道号