






















又是一个python下载地震数据的脚本,不过这次更好玩一些。设置一下就可以定期到USGS官网看看有没有大于某个震级的地震,然后到IRIS下载。
老早就想这么搞了,在AI的帮助下终于搞定了啊。我把readme放下面了。
这是一个基于 Python 和 ObsPy 的自动化地震数据处理工具。它能够定期监测 USGS 的地震发布信息,自动下载符合条件的地震波形数据,进行仪器响应去除、格式转换、头段读写以及波形可视化。
download_status.txt。如果已下载时长不足 2 小时,且现在有更多新数据可用,程序会自动删除旧数据并重新下载补全至最新时刻(最高 2 小时)。YYYYMMDDHHMMSSM[震级] (例如:20231101123045M6.5)。台网_台站_通道.SAC (例如:IU_ANMO_BHZ.SAC)。download_status.txt,记录下载台站数、时长及下载时间。evla, evlo, evdp, mag, o (发震时刻)。stla, stlo, stel。garc (大圆路径度数)。推荐使用 Python 3.8 或更高版本。
安装 ObsPy 及其绘图依赖:
pip install obspy matplotlib numpy
直接运行脚本即可开始检索:
python auto_seismo_monitor.py
为了实现每 12 小时自动运行一次,建议设置定时任务。
crontab -e。# 每 12 小时执行一次(0点和12点)
0 */12 * * * /usr/bin/python3 /Users/junxie/Work/auto_download/auto_seismo_monitor.py >> /Users/junxie/Work/auto_download/log.txt 2>&1
python.exe,参数为脚本的完整路径。auto_download/
├── auto_seismo_monitor.py # 主程序脚本
├── README.md # 说明文档
├── earthquake_data/ # 数据输出根目录
│ └── 20231101123045M6.5/ # 单个地震事件目录
│ ├── SAC_files/ # SAC 格式波形文件
│ ├── download_status.txt # 下载状态及时长说明
│ ├── plot_0.01_0.1Hz.png # 长周期波形图
│ └── plot_0.1_2Hz.png # 短周期波形图
└── log.txt # 运行日志(设置crontab后生成)
您可以在 auto_seismo_monitor.py 开头的“配置参数”部分调整:
* MIN_MAGNITUDE: 触发下载的最小震级。
* TARGET_DURATION: 目标下载时长(秒)。
* NETWORKS: 下载的全球台网范围(默认为 IU, II, CU, IC, GE 等骨干台网)。
* OUTPUT_ROOT: 数据保存的绝对路径。
有兴趣可以下载Python脚本试试,修改一下目录就可以了。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。