数据转换
Hi-net提供了win32格式的波形数据和通道表形式的仪器响应。 win32
可以将其转换为SAC和SAC零极点格式。
- >>> from HinetPy import win32
- >>> data = "0101_201001010000_20.cnt"
- >>> ctable = "0101_20100101.ch"
提取波形数据
提取所有通道的数据数据并保存为SAC格式。
- >>> win32.extract_sac(data, ctable)
重要
从win32格式转换得到的SAC文件的单位不是digital counts!!!
win2sac_32
会自动从波形中去除灵敏度,并乘以1.0e9。因而,SAC文件是以 nm/s 为单位的速度或以 nm/s/s 为单位的加速度。
SAC文件的默认文件名格式为 STATION.COMPONENT.SAC
(例如 N.NABC.U.SAC
)。你可以指定其他SAC文件后缀和输出目录。
- >>> win32.extract_sac(data, ctable, suffix="", outdir="SAC")
如果你只想提取一部分通道的波形数据,你可以使用 filter_by_id
、 filter_by_name
和/或 filter_by_component
以筛选需要的通道。这些参数都可以接受字符串列表或者包含通配符的字符串。
- >>> # extract 3 channles by id
- >>> win32.extract_sac(data, ctable, filter_by_id=['3e83', '3e84', '3e85'])
- >>> # extract all channels whose name match 'N.NA*'
- >>> win32.extract_sac(data, ctable, filter_by_name='N.NA*')
- >>> # extract vertical(U) component channels whose name match 'N.NA*'
- >>> win32.extract_sac(data, ctable, filter_by_name='N.NA*', filter_by_component='U')
提取零极点文件
extract_pz()
可以将仪器响应从Hi-net的通道表格式转换为SAC PZ格式。
警告
此功能仅对Hi-net台网有效。
强烈建议F-net数据用户使用 FnetPy 从Fnet网站申请SEED格式的数据,并从SEED文件中提取RESP或PZ格式的仪器响应。
提取所有通道的仪器响应并保存为SACPZ文件:
- >>> win32.extract_pz(ctable)
SACPZ文件的默认文件名格式为 STATION.COMPONENT.SAC_PZ
(例如 N.NABC.U.SAC_PZ
)。你可以指定其他SACPZ文件后缀和输出目录。
- >>> win32.extract_pz(ctable, suffix="SACPZ", outdir="PZ/")
如果你只想提取一部分通道的波形数据,你可以使用 filter_by_id
、 filter_by_name
和/或 filter_by_component
以筛选需要的通道。这些参数都可以接受字符串列表或者包含通配符的字符串。
- >>> # extract 3 channles by id
- >>> win32.extract_pz(ctable, filter_by_id=['3e83', '3e84', '3e85'])
- >>> # extract all channels whose name match 'N.NA*'
- >>> win32.extract_pz(ctable, filter_by_name='N.NA*')
- >>> # extract vertical(U) component channels whose name match 'N.NA*'
- >>> win32.extract_pz(ctable, filter_by_name='N.NA*', filter_by_component='U')
参见