SAC 不同格式间的转换

SAC 文件格式包括二进制格式和 ASCII 格式,平常接触的都是二进制格式的,毕竟二进 制格式相对于 ASCII 格式有很多优点,比如读写速度更快、文件大小更小。下面讨论 SAC 的两种格式以及另外一种常见的数据格式(自变量 + 因变量两列数据)之间的转换。

利用 Web Service Fetch scripts 申请和下载数据

IRIS Web Service

IRIS DMC 提供了一系列网页服务,用于获取台站数据、仪器响应、走时以及波形数据等。 简而言之,其原理大概就是根据某种特定的格式要求发送网页请求,然后 IRIS 会返回相应的 信息供用户解析。

IRIS 网页服务的主页位于: http://service.iris.edu/ ,有兴趣的可以研究一下。

Web Service Fetch Script

主页:https://seiscode.iris.washington.edu/projects/ws-fetch-scripts

这是一个利用 IRIS 提供的网页服务来实现数据下载的工具,其源代码用 perl 写成, 因而几乎可以在任何平台上直接运行。整个工具包含了三个 perl 脚本:FetchDataFetchEventFetchMetadata

安装 pssac

pssac 是 Prof. Lupei Zhu 根据 GMT 的 psxy 命令修改得到,用于绘制 SAC 格式的波形数据的 一个小程序。

该程序调用了 GMT 的绘图库,因而安装该程序之前需要首先安装 GMT4。

GMT5用户请注意,GMT 从 5.3.1 起自带了 pssac 模块,可以直接使用 gmt pssac 来调用。

闰年的判断

判定某年为闰年的标准是: 能被 4 整除且不能被 100 整除的 能被 400 整除的 用 C 语言实现代码就是 if ((year % 100 != 0) && (year % 4 == 0) || (year % 400 == 0)) { // 输出该年是闰年; }

SAC 文件修改事件经纬度后震中距的自动计算

地震目录中包含震中的经度、纬度、深度等信息,有些时候下载的数据中没有这些事件信息, 就需要自己手动添加进去。

很基础的操作:

SAC > r *.BH*
SAC > ch evla 30.5 evlo 120.5 evdp 5.0
SAC > wh
SAC > q

修改了地震经纬度及深度信息之后,一般来说,震中距 dist、gcarc 以及方位角 az、baz 也会 随着一起改变。但是,有些时候这些量却没有随着事件位置的变化而变化,这是为什么呢?