安装 pssac
文章目录
pssac
是 Prof. Lupei Zhu 根据 GMT 的 psxy
命令修改得到,用于绘制 SAC 格式的波形数据的
一个小程序。
该程序调用了 GMT 的绘图库,因而安装该程序之前需要首先安装 GMT4。
GMT5用户请注意,GMT 从 5.3.1 起自带了 pssac 模块,可以直接使用 gmt pssac
来调用。
下载
# 下载基于 GMT4.0 的 pssac 包
$ wget http://www.eas.slu.edu/People/LZhu/downloads/pssac.tar
$ tar -xvf pssac.tar # 解压
# 下载基于 GMT4.5 的 pssac 源码
$ wget http://www.eas.slu.edu/People/LZhu/downloads/pssac.c
$ mv pssac.c pssac/ # 用基于 GMT4.5 的 pssac.c 替换基于 GMT 4.0 的 pssac.c
$ cd pssac
修改 Makefile
源码中的 Makefile 有些问题,需要进一步修改。修改之后的 Makefile 内容如下:
GMTHOME=/opt/GMT-4.5.13
GMT_INC=-I${GMTHOME}/include
GMT_LIBS=-L${GMTHOME}/lib -lgmt -lpsl -lgmtps -lnetcdf -lm
CFLAGS = -O ${GMT_INC}
pssac: pssac.o sacio.o
$(LINK.c) -o $@ $@.o sacio.o $(GMT_LIBS)
clean:
rm -f pssac *.o
GMTHOME
是当前系统中 GMT4 的安装路径,需要根据自己的情况修改GMT_INC
指定了 GMT 的头文件的位置GMT_LIBS
指定了编译过程中所需要的库文件-L
指定了在编译过程中要在哪些路径下寻找库文件
通常情况下,只需要根据自己的情况修改 GMTHOME
即可。
如果出现 -lnetcdf
找不到的情况,可能的原因是 netCDF 不是通过系统自带的
软件包管理器安装而是手动编译的,此时需要在 GMT_LIBS
中加上 netCDF 所对应的
路径,比如:
GMT_LIBS=-L${GMTHOME}/lib -L/path/to/netcdf/lib -lgmt -lpsl -lgmtps -lnetcdf -lm
当然也有可能某些发行版下不是 lib
目录,而是 lib64
目录。
编译
编译过程就是简单的 make,正常情况下的输出如下:
$ make
cc -O -I/opt/GMT-4.5.13/include -c -o pssac.o pssac.c
cc -O -I/opt/GMT-4.5.13/include -c -o sacio.o sacio.c
cc -O -I/opt/GMT-4.5.13/include -o pssac pssac.o sacio.o -L/opt/GMT-4.5.13/lib -lgmt -lpsl -lgmtps -lnetcdf -lm
编译会生成可执行文件 pssac
,将该可执行文件复制到 PATH
中即可,比如
/usr/local/bin
、 /opt/GMT-4.5.13/bin
或 ${HOME}/bin
。
执行
终端直接执行 pssac
就会出现命名的语法说明。
修订历史
- 2013-04-17:初稿;
- 2013-04-19:加入了对旧版本
pssac.c
的讨论; - 2014-06-24:GMT4 的最近几个版本,都不再建议自己安装 netcdf3 了,最好还是自己利用系统自带的 软件包管理器安装 netcdf4。在这种情况下,netcdf 会被安装到系统默认路径中,因而 Makefile 中不需要再指明 netcdf 的安装路径;
- 2014-07-16:在某些系统下,
GMT_LIBS
需要加上-lm
; - 2015-07-16:整理,并删除对旧版本
pssac.c
的说明;
文章作者 SeisMan
上次更新 2015-07-16