当前位置: 首页 > news >正文

基于Ubuntu 18.04的GAMIT/GLOBK10.71部署与数据解算测试

摘要:本文记录了在 Windows + WSL2 + Ubuntu 18.04 环境下部署 GAMIT/GLOBK 10.71 并进行 GNSS 数据处理测试的完整流程。通过 3 个 IGS 站点(BJFS、HKSL、HKWS)的单日数据,从环境准备、软件安装、表文件配置、数据下载到 GAMIT 日解算和 GLOBK 平差组合,逐步演示了 GNSS 数据处理的核心环节。重点总结了 WSL 环境下的路径挂载策略、常见编译问题解决方案、关键表文件作用以及从单日测试到多日时间序列处理的进阶路线,为 GNSS 数据处理初学者提供了一套可复现的实践参考。

最近在 Windows + WSL2 的 Ubuntu 18.04 环境中完成了 GAMIT/GLOBK 10.71 的部署,并基于 3 个 IGS 站点数据进行了单日测试。之前参考过一些 GAMIT 安装博客,发现很多教程主要集中在软件安装本身,但实际操作中还会涉及路径挂载、表文件配置、轨道文件准备、数据下载、GAMIT 日解算以及 GLOBK 平差组合等环节。

因此,这里整理一份相对完整的实践记录,供刚接触 GAMIT/GLOBK、GNSS 数据处理或测绘地球物理方向的同学参考。


一、运行环境

本次使用的环境为:

Windows WSL2 Ubuntu 18.04 GAMIT/GLOBK 10.71

GAMIT/GLOBK 安装在 Ubuntu 18.04 中,示例安装目录为:

/home/user/gamit10.71

并建立软链接:

~/gg ->/home/user/gamit10.71

这样后续可以通过~/gg$GG调用 GAMIT/GLOBK 的相关目录和程序。

本次配置的基本思路是:

Windows 负责文件管理 Ubuntu/WSL 负责专业计算 F 盘负责存放工程数据和结果

也就是说,软件主体安装在 Ubuntu 中,但测试工程目录挂载到 Windows 的 F 盘中。

Windows 示例路径为:

F:\gamit_project\cn3_test_2026121

在 WSL Ubuntu 中对应为:

/mnt/f/gamit_project/cn3_test_2026121

这种方式的好处是:一方面,GAMIT/GLOBK 仍然在 Linux 环境中运行,兼容性较好;另一方面,输入数据、日志文件、q-file、h-file 和结果文档都保存在 Windows 磁盘中,后期查看、复制、压缩、备份都比较方便。

可以简单理解为:

Windows 大硬盘负责数据管理 Ubuntu 18.04 负责专业计算

不过需要注意,如果是大规模连续解算,尤其涉及大量小文件读写,直接在/mnt/f这类 Windows 挂载目录下运行可能会比 Linux 原生目录慢。因此建议:

小规模测试、教学演示、结果整理:可以放在 F 盘挂载目录 长期批量计算、大规模 GNSS 网:建议放在 /home/user/... 中运行,完成后再复制回 Windows 磁盘

二、安装前准备

GAMIT/GLOBK 是比较传统的 Linux/Unix 科研软件,不建议直接在 Windows 原生环境中安装。比较稳妥的路线包括:

1. Linux 实体机 2. Linux 虚拟机 3. WSL2 + Ubuntu

本次采用:

WSL2 + Ubuntu 18.04

安装前需要准备基础依赖:

sudoaptupdatesudoaptinstallcsh tcsh gcc gfortranmakelibx11-dev libxt-dev

其中cshtcsh很关键,因为 GAMIT/GLOBK 中大量脚本采用 csh 风格。如果缺少这些依赖,install_softwaresh_setupsh_gamit等脚本可能无法正常运行。


三、安装 GAMIT/GLOBK

示例安装包路径为:

/home/user/gamit10.71.zip

解压后通常包括:

install_software gamit/globk 源码包 tables incremental_updates 测试数据

示例安装目标目录为:

/home/user/gamit10.71

安装过程中可能遇到几个典型问题。

第一个问题是 WSL2 内核版本较新,GAMIT 10.71 的老脚本可能无法正确识别 Linux 版本。这时需要检查Makefile.config,适当放宽 Linux 版本识别范围,使其复用已有的 Linux 编译配置。

第二个问题是老 Fortran 程序在较高优化级别下可能触发gfortran编译错误。如果在编译类似dlinpk.f这类文件时出现异常,可以尝试将优化级别从-O3-O1降为:

-O0

这类问题不一定是源码本身有语法错误,而可能是老 Fortran 代码与编译器优化选项之间的兼容性问题。

安装完成后,可检查核心命令:

whichsh_gamitwhichglobkwhichglorgwhichmakexp

正常情况下会返回类似路径:

sh_gamit -> /home/user/gamit10.71/com/sh_gamit globk -> /home/user/gamit10.71/kf/bin/globk glorg -> /home/user/gamit10.71/kf/bin/glorg makexp -> /home/user/gamit10.71/gamit/bin/makexp

能找到这些程序,说明 GAMIT/GLOBK 主体基本安装成功。


四、环境变量配置

安装完成后,需要配置环境变量。可以在~/.bashrc中加入:

exportGG=/home/user/gamit10.71exportHELP_DIR=$GG/helpexportPATH=$GG/com:$GG/gamit/bin:$GG/kf/bin:$PATHexportINSTITUTE=ABC

其中:

GG GAMIT/GLOBK 主目录 HELP_DIR 帮助文件目录 PATH 将 GAMIT/GLOBK 命令目录加入系统搜索路径 INSTITUTE 机构或项目代号,可先使用三位占位符

配置后执行:

source~/.bashrc

然后测试:

whichsh_gamitwhichglobkwhichglorgwhichmakexp

若能返回对应路径,说明环境变量已经生效。


五、工程目录准备

GAMIT/GLOBK 通常按项目和年份组织数据。例如处理 2026 年数据,可建立如下工程目录:

mkdir-p/mnt/f/gamit_project/cn3_test_2026121/2026cd/mnt/f/gamit_project/cn3_test_2026121/2026 sh_setup-yr2026

这里工程目录位于:

/mnt/f/gamit_project/cn3_test_2026121

对应 Windows 路径为:

F:\gamit_project\cn3_test_2026121

运行sh_setup -yr 2026后,会生成或链接一些关键目录:

rinex/ RINEX 观测文件 brdc/ 广播星历 igs/ 精密轨道、钟差、ERP 等 gfiles/ GAMIT 轨道积分相关文件 tables/ GAMIT 核心控制表文件 gsoln/ GLOBK 结果目录 glbf/ GLOBK binary h-file figs/ 图件输出

其中最关键的是:

tables/

GAMIT 的很多问题不是程序本身的问题,而是tables中的控制文件没有配置正确。


六、核心表文件

GAMIT/GLOBK 的学习难点之一是表文件较多。初学阶段建议重点理解以下文件:

sites.defaults

控制哪些测站参与处理,哪些测站下载,哪些测站排除。

process.defaults

控制处理路径、采样率、数据源、轨道源、压缩删除等。

station.info

测站仪器信息表,包括接收机、天线、天线高、起止时间等。该文件非常关键,天线高或天线型号错误会直接影响解算结果。

sestbl.

GAMIT 日解算策略表,控制观测组合、对流层、电离层、潮汐、天线模型、轨道模型等。

sittbl.

测站约束表,用于控制测站坐标约束强弱。

lfile.

测站先验坐标文件。如果新站坐标误差过大,可能导致预处理或解算失败。

autcln.cmd

自动清理观测数据的控制文件,涉及周跳探测、粗差剔除、高度角、残差阈值等。

初学阶段,建议优先掌握:

sites.defaults station.info sestbl. sittbl. process.defaults

七、测试数据准备

本次测试采用 3 个 IGS 站点的单日数据,测试日期为:

2026-05-01 DOY 121

测试站点为:

BJFS HKSL HKWS

数据源主要来自武汉大学 IGS 数据中心。

需要准备三类主要文件:

第一类是 RINEX 观测文件,放入:

rinex/

例如:

bjfs1210.26o hksl1210.26o hkws1210.26o

第二类是广播星历,放入:

brdc/

例如:

brdc1210.26n

第三类是精密轨道 SP3,放入:

igs/

例如:

wum24165.sp3

本次测试最终采用 WHU 精密轨道,并在 GAMIT 中使用:

-orbitwuhm

八、文件下载与命名

武汉大学 IGS 数据中心可以下载 GNSS 观测文件、广播星历和精密轨道文件。为了便于控制流程,测试时可以先手动下载并放入相应目录,再使用-noftp参数避免 GAMIT 自动联网下载。

RINEX 文件放入:

/mnt/f/gamit_project/cn3_test_2026121/2026/rinex

广播星历放入:

/mnt/f/gamit_project/cn3_test_2026121/2026/brdc

精密轨道放入:

/mnt/f/gamit_project/cn3_test_2026121/2026/igs

需要注意,不同数据中心的目录结构和命名规则并不完全相同。有些精密轨道产品下载后是长文件名,为了让 GAMIT 更容易识别,可以根据 GPS week 和 day of week 改成短文件名,例如:

wum24165.sp3

其中2416表示 GPS week,5表示 day of week。


九、运行 GAMIT 日解算

准备好数据和表文件后,进入工程年份目录:

cd/mnt/f/gamit_project/cn3_test_2026121/2026

目录结构大致为:

2026/ rinex/ bjfs1210.26o hksl1210.26o hkws1210.26o brdc/ brdc1210.26n igs/ wum24165.sp3 tables/ sites.defaults station.info sestbl. sittbl. process.defaults

测试阶段需要检查tables/sites.defaults,确保本次只处理目标站点。

如果sestbl.中开启了本地缺失的模型,例如:

Ion model = GMAP Use otl.grid = Y

但本地没有对应的 ionex 文件或海潮负荷格网,可能会导致报错。测试阶段可暂时改为:

Ion model = NONE Use otl.grid = N

需要说明的是,正式高精度处理时不能随意省略这些改正。测试阶段这样做只是为了先跑通基本流程。

主解算命令示例:

sh_gamit-exptcn3w-s2026121121-orbitwuhm-noftp-presELEV-coptx k p-doptsc ao-nopngs>&sh_gamit_2026121.log

参数含义如下:

-expt cn3w 实验名,后续输出文件会带该名称。 -s 2026 121 121 处理 2026 年第 121 天,即 2026 年 5 月 1 日。 -orbit wuhm 使用 WHU 精密轨道。 -noftp 不让 GAMIT 自动下载,使用本地已准备好的文件。 -pres ELEV 按高度角加权,低高度角观测权重较低。 -copt x k p 处理后压缩部分中间文件。 -dopts c ao 处理后删除部分中间文件。 -nopngs 不生成 PNG 图,减少测试阶段额外输出。

十、计算完成后检查结果

GAMIT 跑完后,不应只看最后有没有报错,还要检查几个关键文件。

GAMIT.status

用于快速判断当天处理是否完成。

q-file

GAMIT 的最小二乘解算结果文件。重点关注:

postfit nrms 坐标改正 模糊度固定情况 站点残差

autcln.prefit.sumautcln.post.sum

用于查看数据清理情况,例如:

周跳 粗差 删除率 残差统计

h-file

GAMIT 输出的日解结果,后续 GLOBK 平差/组合需要使用。

如果只是流程测试,能够生成 q-file 和 h-file,通常说明 GAMIT 主流程已经跑通。


十一、GLOBK 平差与组合

GAMIT 可以理解为单日或单批数据解算,GLOBK 则用于后续多日、多网、多解的组合和平差。

首先可执行:

sh_glred-cmd

该命令会准备标准的:

globk.cmd glorg.cmd

然后执行:

sh_glred-s20261212026121-exptcn3w-optH G T>&sh_glred.log

其中:

-opt H 将 GAMIT h-file 转换为 GLOBK binary h-file。 -opt G 运行 globk/glorg,进行组合和平差。 -opt T 生成时间序列相关结果。

GLOBK 常见输出包括:

*.org *.prt *.pos *.vel *.glx

如果后续处理连续多日数据,就可以进一步分析站点重复性、时间序列和速度场。


十二、文件下载、GAMIT 计算与 GLOBK 平差的关系

可以简单理解为:

文件下载 准备 RINEX、广播星历、精密轨道、ERP、表文件等 GAMIT 计算 利用每日观测数据进行基线/网解,生成 q-file、h-file 等结果 GLOBK 平差 将一天或多天的 h-file 进行组合,得到更稳定的坐标、速度场或时间序列

也就是说,文件下载是准备原材料;GAMIT 是日解算;GLOBK 是组合和平差。

如果科研目标是获取站点时间序列或速度场,通常不能只停留在sh_gamit,还需要进一步进行sh_glred/globk/glorg处理。


十三、踩坑总结

本次配置和测试中比较重要的经验包括:

  1. GAMIT 老版本对新 WSL/Linux 内核识别不友好,必要时需要修改Makefile.config
  2. gfortran高优化可能导致老 Fortran 文件编译失败,可尝试降低优化级别。
  3. csh/tcsh必须安装,否则很多 GAMIT 脚本无法运行。
  4. tables文件非常关键,尤其是station.infosestbl.sites.defaults
  5. 初学建议先跑 3 个站、1 天数据,不要一开始就处理几十个站或多年数据。
  6. F 盘挂载目录适合测试和结果管理,但大规模批量计算建议使用 Linux 原生目录。
  7. WHU、IGS、CODE 等数据中心的文件命名和目录结构要提前了解。
  8. 报错时不要只看屏幕最后几行,要检查 log、GAMIT.status 和 q-file。
  9. Ion modelotl.grid、精密轨道、广播星历等文件和参数需要匹配。
  10. GLOBK 是后续时间序列、速度场和参考框架处理的重要环节。

十四、个人理解

GAMIT/GLOBK 的难点不只是安装,而是一整套处理逻辑:

安装软件 配置环境变量 准备 tables 下载 RINEX、轨道和星历 运行 GAMIT 日解算 检查 q-file 和 h-file 运行 GLOBK 组合和平差 输出时间序列或速度场

本次测试的意义在于跑通了一个最小闭环:

3 个 IGS 站 1 天数据 WHU 数据源 F 盘挂载工程目录 Ubuntu 18.04 中运行 GAMIT/GLOBK 完成 GAMIT 日解算 理解 GLOBK 平差流程

对初学者,建议学习路线为:

第一步:装通 GAMIT/GLOBK 第二步:跑通 3 个站 1 天 第三步:跑 3 个
http://www.jsqmd.com/news/890486/

相关文章:

  • GSM方案选择如何权衡?
  • 2026年唐山外墙清洗、烟道保洁与商业保洁一站式解决方案深度对比指南 - 年度推荐企业名录
  • 初创公司如何借助Taotoken快速验证多个AI模型的产品效果
  • 嵌入式AI心电分类实战:轻量CNN定制与模型剪枝的硬件部署对比
  • DeepSeek 大模型本地部署与调用实战指南
  • 大窗标杆品牌,行业率先提供大窗系统解决方案的品牌
  • 2026年兰州石膏线定制厂家深度评测:源头直供极速配送对标全国品牌 - 精选优质企业推荐官
  • 自己搭一个 AI Coding 助手:基于开源模型的私有化部署全流程
  • 基于象限电极的电容传感器:低成本实现位移与倾角同步测量
  • UI-TARS桌面版:用自然语言控制电脑的终极智能助手指南
  • 南宁同城黄金回收|余生黄金回收(全国连锁)靠谱上门变现 - 润富黄金珠宝行
  • 肖特基二极管与CRLH传输线在W波段宽带三倍频器设计中的应用
  • 戴森球计划工厂蓝图完整指南:免费获取3000+自动化布局方案
  • 2026天津南开区装修公司哪家好|案例多交付稳|本土靠谱装修公司排名避坑指南 - 品牌智鉴榜
  • 一个被37年时间面试过的门窗品牌,用时间见证每一扇门窗的匠心品质
  • 低代码+AI Agent=降本增效新拐点:实测某制造业客户3周ROI达217%(附完整配置清单)
  • 2026年5月最新!杭州本地窗帘定制十大排名深度解析——谁是本地龙头之选? - 速递信息
  • 从冬奥会到上合峰会!这家山东企业,凭实力拿下国家级交通工程
  • 官方认证|2026年宁夏山东五大正规军事化训练 / 问题少年教育 / 厌学逃学矫正 / 叛逆学生培训 / 亲子教育指导公司排名,育才叛逆青少年素质教育口碑断层领先,银川等地 - 十大品牌榜
  • 解锁3个自动化场景:如何用Pulover‘s Macro Creator告别重复工作
  • 让Windows 11重获新生:开源优化工具Win11Debloat完全指南
  • 襄阳襄州旺哥黄金回收|2026 年 5 月黄金回收行情 + 变现攻略 + 连锁保障 - 润富黄金珠宝行
  • 买完物联网平台才发现:这玩意儿改不动啊!
  • 全网瑞祥商联卡回收:4种安全靠谱的回收方法汇总 - 可可收公众号
  • 大模型内卷结束,Agent 正规军围剿“PPT大师”
  • 2026 镇江丹阳财税代理记账十大排行,会计代账机构哪家好,注册公司、工商注册代办推荐详细解读 - 品牌智鉴榜
  • Thief摸鱼神器终极指南:如何高效使用这款跨平台办公助手
  • 5/26
  • g1000,TS9020,g3810,G5080,ts5480,G7080,MG3680,G3800,G2800,报错5B00,P07,5b02,1700,1704,5b04废墨垫清零软件,亲测有效
  • 提示词工程在 AI Coding 中的实战:如何让模型写出你想要的代码