GAMIT/GLOBK 10.71在Linux环境下的GNSS数据处理实战指南

张开发
2026/4/13 20:19:27 15 分钟阅读

分享文章

GAMIT/GLOBK 10.71在Linux环境下的GNSS数据处理实战指南
1. GAMIT/GLOBK 10.71与GNSS数据处理基础如果你正在Linux环境下处理GNSS数据GAMIT/GLOBK这套开源软件绝对是你的得力助手。作为MIT开发的高精度GNSS数据处理工具10.71版本在稳定性和功能上都有了显著提升。我第一次接触这个软件是在处理一组跨断层GPS数据时当时就被它毫米级的定位精度震惊了。GAMIT主要负责基线解算而GLOBK则用于网平差和时序分析两者配合使用可以完成从原始观测数据到最终坐标解算的全流程。与商业软件相比它的优势在于完全开源且支持自定义算法特别适合科研场景。不过要注意的是这套软件对Linux环境依赖较强建议使用Ubuntu或CentOS这类主流发行版。2. Linux环境准备与软件安装2.1 系统基础配置在开始安装前建议先更新系统sudo apt update sudo apt upgrade -y必须安装的依赖项包括gfortran、libx11-dev等开发工具sudo apt install gfortran libx11-dev tcsh csh make gcc g我曾在Ubuntu 20.04上遇到过gfortran版本兼容问题解决方法是指定安装gfortran-9sudo apt install gfortran-9 sudo update-alternatives --config gfortran2.2 GAMIT/GLOBK安装详解下载源码包后解压到/home/username目录下。这里有个小技巧建议将文件夹重命名为简单的gg以方便后续操作tar -xzvf gamit10.71.tar.gz mv gamit10.71 gg编译安装时需要特别注意环境变量设置。编辑.bashrc文件添加export PATH$PATH:/home/username/gg/gamit/bin:/home/username/gg/kf/bin export HELP_DIR/home/username/gg/help/第一次编译可能会遇到各种报错最常见的是缺少X11库。这时需要检查/usr/include/X11是否存在如果缺失就重新安装libx11-dev。3. 数据处理全流程实战3.1 工程初始化新建工程目录时我习惯按项目名_日期的格式命名例如mkdir taiwan_2023155 cd taiwan_2023155 mkdir brdc igs rinex tables必须准备的星历文件包括广播星历(brdc)从CDDIS下载精密星历(igs)根据处理时段选择电离层格网文件3.2 基线解算关键步骤编辑sh_gamit脚本时这几个参数需要特别注意sestbl. 0.05 # 解算收敛阈值 sittbl. 1.0 # 测站约束运行解算后一定要检查q文件中的RMS值。我通常用这个命令快速查看grep RMS *.q | awk {print $1,$6,$7}3.3 GLOBK平差技巧准备globk.cmd文件时建议先复制模板再修改cp /home/username/gg/kf/templates/globk.cmd .重点需要配置apr_neu 0.01 0.01 0.03 # 先验约束 stab_site 5 # 稳定点定义4. 常见问题排查指南4.1 内存不足错误遇到tssum内存不足报错时可以尝试增大系统swap空间修改Makefile.config中的MAXSIT参数重新编译分批次处理测站4.2 星历文件问题精密星历不同步会导致解算失败。我写了个自动检查脚本#!/bin/bash for file in igs/*.sp3; do echo -n $file: grep END $file | tail -1 done4.3 坐标系统转换使用convertc工具时注意高程基准面参数。比如从ITRF转到本地坐标系convertc -f globk_apr -o local -x 121.53 -y 25.02 -z 50.05. 效率优化与高级技巧5.1 并行处理方案对于大批量数据处理可以用GNU parallel加速ls rinex/*.o | parallel -j 4 sh_gamit -doy 155 -year 2023 -sites {}5.2 自动化脚本示例这是我常用的自动下载星历脚本#!/bin/bash year$1 doy$1 wget -P brdc/ ftp://cddis.gsfc.nasa.gov/gnss/data/daily/$year/brdc/brdc${doy}0.${year:2:2}n.gz gunzip brdc/brdc${doy}0.${year:2:2}n.gz5.3 结果可视化结合GMT绘图时先用doy命令转换日期doy 2023-06-04输出155这样就可以直接用155作为时间标签。处理完一批数据后我习惯用Python的matplotlib做时间序列分析。这里有个小技巧先把globk的pos文件转换成csv格式awk /STAX/{print $2,$4,$6,$8} *.pos result.csv

更多文章