Seismic Unix(SU)在Ubuntu 20.04上的安装与配置指南
1. 认识Seismic Unix(SU)
Seismic Unix(简称SU)是地球物理领域最著名的开源地震数据处理软件包之一。我第一次接触SU是在研究生期间,当时导师扔给我一个U盘说:"把这个装上,以后处理地震数据就靠它了"。说实话,刚开始看到满屏的命令行操作确实有点懵,但用久了就会发现它的强大之处。
SU由科罗拉多矿业学院开发维护,包含了超过300个地震数据处理程序,覆盖了从数据预处理到偏移成像的完整流程。最让我惊喜的是,它完全免费开源,这对预算有限的学生和研究人员来说简直是福音。在石油勘探、工程地震和学术研究领域,SU都有着广泛应用。
与商业软件相比,SU最大的特点是模块化设计和命令行操作。每个功能都是独立的可执行文件,你可以像搭积木一样组合它们来完成复杂处理流程。虽然学习曲线稍陡,但一旦掌握就会发现这种方式的灵活性无可比拟。
2. 安装前的准备工作
2.1 系统要求确认
在Ubuntu 20.04上安装SU前,建议先检查系统配置。我遇到过不少因为系统环境问题导致的安装失败案例,所以这一步很重要。
首先确认你的Ubuntu版本:
lsb_release -a输出应该包含"Ubuntu 20.04"字样。虽然SU理论上支持大多数Linux发行版,但在Ubuntu上兼容性最好。
硬件方面,建议至少:
- 4GB内存(处理大测线数据时8GB更佳)
- 50GB可用磁盘空间
- 多核CPU(编译时会快很多)
2.2 获取安装包
目前最新稳定版是SU44R18,可以通过以下方式获取:
wget https://nextcloud.seismic-unix.org/s/LZpzc8jMzbWG9BZ/download/cwp_su_all_44R18.tar如果下载速度慢,可以尝试国内镜像源。我习惯把安装包放在~/Downloads目录,方便统一管理:
mv cwp_su_all_44R18.tar ~/Downloads/3. 安装依赖项
3.1 基础工具准备
首先更新软件源,这个步骤能避免很多依赖问题:
sudo apt update && sudo apt upgrade -y然后安装编译工具链,这是SU安装的基础:
sudo apt install build-essential -y3.2 图形库依赖
SU的图形显示功能需要这些库支持:
sudo apt install libx11-dev libxt-dev libxmu-dev libxi-dev -y3D可视化组件需要OpenGL支持:
sudo apt install freeglut3 freeglut3-dev -y3.3 语言环境
SU的部分模块是用Fortran编写的,需要对应编译器:
sudo apt install gfortran -y因为SU的安装脚本使用csh语法,所以还需要:
sudo apt install csh -y4. 解压与目录准备
4.1 创建安装目录
我建议在用户主目录下创建专门目录,这样权限管理更方便:
mkdir -p ~/cwp将下载的安装包移动到该目录:
mv ~/Downloads/cwp_su_all_44R18.tar ~/cwp/4.2 解压安装包
进入目录并解压:
cd ~/cwp tar -zxvf cwp_su_all_44R18.tar解压后会生成src目录,里面包含了所有源代码。这里有个小技巧:解压时加上-v参数可以看到解压过程,确认没有报错。
5. 环境变量配置
5.1 设置CWPROOT
SU需要知道自己的安装位置,通过环境变量CWPROOT指定:
echo "export CWPROOT=~/cwp" >> ~/.bashrc5.2 添加PATH
为了能在任意位置使用SU命令,需要将bin目录加入PATH:
echo "export PATH=\$PATH:\$CWPROOT/bin" >> ~/.bashrc使配置立即生效:
source ~/.bashrc验证设置是否正确:
echo $CWPROOT应该显示"/home/你的用户名/cwp"
6. 编译与安装
6.1 基础模块安装
进入源码目录开始编译:
cd $CWPROOT/src make install这个过程可能需要10-30分钟,取决于你的CPU性能。我第一次安装时在这里遇到了gfortran报错,后来发现是没装对Fortran编译器版本。
6.2 图形模块安装
X11图形支持模块:
make xtinstall6.3 其他功能模块
Fortran相关模块:
make finstall管理工具:
make mglinstall make utilsSEGD格式支持(用于处理野外采集的原始数据):
make sfinstall7. 验证安装
7.1 运行测试命令
生成测试数据并显示:
suplane | suxwigb &如果看到弹出一个显示正弦波的窗口,恭喜你安装成功了!我第一次看到这个窗口时激动得差点从椅子上跳起来。
7.2 常见问题排查
如果测试命令报错,可以尝试以下步骤:
- 检查环境变量:
env | grep CWP- 确认可执行文件存在:
ls $CWPROOT/bin/su*- 查看日志文件:
less $CWPROOT/src/INSTALL_LOG8. 进阶配置技巧
8.1 多用户环境配置
如果是实验室服务器安装,建议将SU安装在/opt目录:
sudo mkdir /opt/cwp sudo chown -R $USER:$USER /opt/cwp然后所有用户都可以在自己的.bashrc中添加:
export CWPROOT=/opt/cwp export PATH=$PATH:$CWPROOT/bin8.2 性能优化
编译时可以使用并行加速:
make -j4 install其中4是你的CPU核心数。
8.3 自定义模块
如果需要添加第三方模块,可以放在:
$CWPROOT/src/user然后重新编译。
9. 日常使用建议
9.1 文档查阅
SU自带详细文档:
cd $CWPROOT/doc ls我最常看的是《SU User's Guide》,里面有所有命令的详细说明。
9.2 数据处理流程
典型的处理流程是:
- 用suread读入数据
- 一系列su命令处理
- 用suwrite输出结果
建议为每个项目创建独立目录,避免文件混乱。
9.3 脚本编写
可以把常用处理流程写成shell脚本:
#!/bin/bash suplane npts=1000 > data.su sufilter < data.su > filtered.su suxwigb < filtered.su title="处理结果" &10. 遇到问题怎么办
10.1 官方资源
SU有活跃的邮件列表,遇到难题时可以搜索历史讨论或提问: https://wiki.seismic-unix.org
10.2 实用技巧
- 使用suhelp查看命令帮助:
suhelp sufilter- 调试时加上-v参数查看详细输出:
sufilter -v < data.su- 大数据处理时使用管道减少中间文件:
suplane | sufilter | suximage &安装SU只是地震数据处理的第一步,真正有趣的是后续的数据处理实践。记得第一次用SU处理出合格的地震剖面时,那种成就感至今难忘。虽然命令行操作不如GUI软件直观,但正是这种透明性让你对每个处理步骤都了如指掌。
