HinetPy: Hi-net 数据申请与处理模块
文章目录
HinetPy 是一个用于从日本 NIED Hi-net 网站下载地震波形数据并进行数据格式转换的Python模块。
本文仅做简要介绍,详情请阅读官方文档。
安装
HinetPy 只支持Python 3.4 及以上的版本,不熟悉 Python 的用户建议直接 安装 Anaconda。
安装 HinetPy 很简单:
pip install HinetPy
升级已安装的 HinetPy:
pip install --upgrade HinetPy
除此之外,还需要从 Hi-net 下载并安装 win32tools。
tar -xvf win32tools.tar.gz
cd win32tools/
make
cp catwin32.src/catwin32 win2sac.src/win2sac $HOME/bin/
使用
Python 以易读易用出名,HinetPy 也尽量做到易读易用。
下面的示例展示了如何从Hi-net申请 2010-01-01T00:00 (日本时间,GMT+0900)开始的20分钟的连续波形数据。
from HinetPy import Client, win32
# 根据你的 Hi-net 账户信息修改 username, password
client = Client("username", "password")
# 开始申请数据
# '0101' 是 Hi-net 的代号
data, ctable = client.get_waveform('0101', '201001010000', 20)
# 等待数据的申请和下载,一般需要几分钟时间
# 下载完成会在当前目录下生成cnt格式的数据文件和channle table文件
# 0101_201001010000_20.cnt 0101_20100101.ch
# 将 cnt 数据转换为 SAC 格式
win32.extract_sac(data, ctable)
# 从 channel table 中提取令极点信息并保存为 SAC PZ 格式
win32.extract_pz(ctable)
搞定收工。
更多功能及选项见官方文档。欢迎报BUG,也欢迎提Feature Request。
文章作者 SeisMan
上次更新 2017-04-01