SEISAMUSE

Jun Xie的博客

  有些时候需要抓取别人图片中的点的信息,应该怎么整?

阅读全文 »

  用gmt画箭头还是挺常见的。GMT documentGMT中文手册虽好,但如果网络不好不就歇菜了,还是记录一下吧,自己翻起来方便。画箭头参数是Sv(或SV),自己调Sv之后的参数可以看效果。输入参数表示是x,y,angle,length。x,y表示箭头的起始坐标。angle是箭头指向,逆时针为正,x轴正向为0。length就是那个length了。

1
echo 0 0 60 0.5i | gmt psxy -R -J -O -K -Sv0.25c+e0.2c -W0.5p -Gblack >>$ps

用我的脚本下载了一堆的miniseed放在seed下,仪器响应文件放在resp文件夹下,利用obspy去除仪器响应,还保存为miniseed。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import os
from glob import glob
from obspy import read, read_inventory
# 设置路径
seed_folder = "seed"
resp_folder = "resp"
output_folder = "seed_corrected"
os.makedirs(output_folder, exist_ok=True)
seed_files = glob(os.path.join(seed_folder, "*.seed")) # 遍历所有 seed 文件
for seed_file in seed_files:
print(f"Processing {os.path.basename(seed_file)}")
try:
st = read(seed_file) # 读取 MiniSEED 数据
for tr in st:
net = tr.stats.network
sta = tr.stats.station
loc = tr.stats.location
cha = tr.stats.channel
resp_file = os.path.join(resp_folder, f"RESP.{net}.{sta}.{loc}.{cha}") # 构造 RESP 文件路径
if not os.path.exists(resp_file):
print(f"RESP file not found: {resp_file}, skipping trace.")
continue
inventory = read_inventory(resp_file) # 读取 RESP 文件作为 inventory
# 去除仪器响应
tr.remove_response(inventory=inventory, output="VEL", pre_filt=[0.001, 0.002, 0.3, 0.45 ], zero_mean=True, taper=True)
output_file = os.path.join(output_folder, os.path.basename(seed_file)) # 输出文件名
st.write(output_file, format="MSEED")
print(f"Saved corrected data to {output_file}\n")
except Exception as e:
print(f"Error processing {seed_file}: {e}")
0%