BQmail使用
October 26, 2023
简介 #
bqmail 是南大徐弥坚博士写的一个向IRIS申请数据的Python模块,实现了地震和台站的快速查询,并能够以Python模块的方式调用来发送数据请求,使用起来十分方便。
徐博士在他的博客里已经详细说明了安装及使用用法,这里我只对发送申请数据进行详细说明。
安装 #
安装见上文连接。
此外说明,需要obspy模块,这里推荐使用miniconda(Anaconda)的虚拟环境管理,推荐seisman的地震学主站Anaconda教程学习安装过程。
申请数据 #
创建BQMail实例时的四个参数在Blog中并未讲清楚,具体使用时还是花费了不少时间弄明白。这里详细说明一下
以申请Turkey YL阵列事件波形数据为例(段落注释中为申请单台连续波形数据),先贴代码:
from bqmail.mail import BQMail
from obspy import UTCDateTime #模块加载
#申请邮箱实例
bq = BQMail('xxxx@qq.com', server='smtp.qq.com',
password='xxxxxx', username='bqmail')'
#申请事件波形
#台站搜索
#阵列\范围\分量
bq.query_stations(
network='YL',
minlatitude=39,
maxlatitude=43,
minlongitude=30,
maxlongitude=39,
channel='BH?')
#事件搜索
#起止时间\震级大小\地震目录
bq.query_events(
starttime=UTCDateTime(
2005, 6, 1), endtime=UTCDateTime(
2008, 7, 1), minmagnitude=5.5, maxmagnitude=7.0, catalog='GCMT')
#邮件发送
bq.send_mail(
arrange='events',
mark="P",
time_before=-100,
time_after=300,
)
"""
#申请连续波形
bq.query_stations(
network='YL',
station='ALIN',
channel='BH?')
bq.send_mail(arrange='continue', starttime=UTCDateTime(2005, 6, 1),
endtime=UTCDateTime(2008, 7, 1), time_val_in_hours=24,
channel='BH?', location='01')
"""
邮箱实例参数说明(以QQ邮箱为例,其他server smtp服务器地址可自行搜索):
首先需开启邮箱SMTP服务,服务在邮箱设置-账号-下面可以看到
然后开启服务并使用密保手机发送短信
成功后得到password
username:任意名字均可,后续在IRIS数据申请网站上可看到所使用username申请数据的状态。
终端运行
(jandy) [ydz@gaia YL]$ python bqmailforYL.py
successfully send 2005.06.01_2005.07.01
(jandy) [ydz@gaia YL]$
成功后QQ邮箱会收到一封收到申请(IRIS received your data request)的邮件以及数据挑选完成(Your …is ready to pick up)的邮件,但这里QQ邮箱存在一个问题,不显示FTP数据下载链接。在这里贴出IRISftp链接,找到你的username文件夹下就是你申请的地震数据了。
windows系统下点击便可以下载,Linux使用wget命令便可以下载
wget https://ds.iris.edu/pub/userdata/bqmail/*.tar.mseed返回