HinetPy 是由具神开发并在 Github 上开源的一个用于从日本 NIED Hi-net 网站下载地震波形数据并进行数据格式转换的 Python 模块。 HinetPy 只支持 Python 3.4 及以上的版本,不熟悉 Python 的用户建议直接安装 Anaconda 。

安装 HinetPy

$ pip install HinetPy   # 安装最新稳定版
$ pip install HinetPy --upgrade  # 升级
$ pip install git+https://github.com/seisman/HinetPy.git # 可选,安装最新开发版
$ pip uninstall HinetPy  # 卸载 HinetPy

安装 Win32tools

$ tar -xvf win32tools.tar.gz  # 需要提前注册申请才能下载
$ cd win32tools/
$ make
$ cp catwin32.src/catwin32 win2sac.src/win2sac_32 ~/bin/

示例

# 下面的示例展示了如何从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)