BQmail使用

BQmail使用

October 26, 2023
地震学
python, 软件使用, 数据申请

简介 #

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服务,服务在邮箱设置-账号-下面可以看到

smtp1

然后开启服务并使用密保手机发送短信

smtp2

成功后得到password

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
返回