GAMIT从配置到出结果
GAMIT从配置到出结果安装目录虚拟机配置VMwareWSL2启用WSL2下载Ubuntu18.04 LTS换源安装依赖项改编译器优先级将安装包导入虚拟机VMWareWSL2解压压缩包文件夹提升权限编译GAMIT修改Makefile.config修改GAMIT几个常量更新包添加环境变量基线解算数据准备rinex文件的准备工作大写转小写工具RINEX合并工具广播星历与精密星历的准备工作tables文件准备解算策略选择观测值使用高阶电离层处理策略表文件更新海潮模型下载批处理解算新发现的报错处理方式解算结果查看总体精度基线精度GAMIT 是一种常用的GNSS高精度数据处理软件建议运行环境为Ubuntu20.04以下编译环境使用gcc-9gfortran-9以下版本gcc-7有问题。在Windows需要搭配虚拟机使用。常用的虚拟机软件包括VMWareOpen VirtualBox以及WSL2.在离线设备上安装使用了VMWare镜像导入的方式进行安装后续探索如何将WSL镜像直接导入。Ubuntu原生自带的gfortran 7对GAMIT编译选项支持不正确其他10以下的版本均可正常编译10以上版本需要添加编译选项详见我的另一篇文章在Ubuntu 24.04安装GAMIT。安装目录本次将软件安装至~/gamit目录内。~/gamit虚拟机配置VMware下载VMWare Workstation Pro查询一个可以用的激活码。下载Ubuntu18.04.6LTS镜像 https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso安装VMWare 软件打开软件按照提示一步步安装即可无需先创建磁盘再装系统。尽量把磁盘容量留大一些装数据有可能不够用WSL2启用WSL2需要在BIOS内开启内核虚拟化以提升性能控制面板-程序-启用或关闭Windows功能中勾选适用于Linux的Windows子系统和虚拟机平台重启电脑下载Ubuntu18.04 LTS在微软商店中下载Ubuntu18.04 LTS下载完成后打开自动弹出新建用户的窗口注意用户名仅能为小写字母密码不显示换源在终端内依次执行sudosed-is//.*archive.ubuntu.com//mirrors.ustc.edu.cng/etc/apt/sources.listsudosed-is/security.ubuntu.com/mirrors.ustc.edu.cn/g/etc/apt/sources.listsudosed-is/http:/https:/g/etc/apt/sources.listsudoaptupdate安装依赖项参考GAMIT快速入门引导http://geoweb.mit.edu/gg/docs/GG_Quick_Start_Guide.pdfsudoaptinstallgfortranmakelibx11-dev csh tcshbccurlgmt gmt-dcw gmt-gshhg改编译器优先级官方推荐使用gcc-6进行编译其实gcc-9以下除了gcc-7都能用。可以忽略这步重新装下sudoaptinstallgcc-6 gfortran-6为使得gccgfortran命令使用所需版本需要对优先级进行设置sudoupdate-alternatives--install/usr/bin/gcc gcc /usr/bin/gcc-646sudoupdate-alternatives--install/usr/bin/gfortran gfortran /usr/bin/gfortran-646清除优先级设置sudoupdate-alternatives--removegcc /usr/bin/gcc-6sudoupdate-alternatives--removegcc /usr/bin/gfortran-6将安装包导入虚拟机VMWare若已成功安装VMWare Tools直接拖入虚拟机即可。WSL2在终端操作即可Windows端的硬盘挂在/mnt/目录下。例如cp/mnt/e/download/gamit.zip.# 将E:\download\gamit.zip 复制到当前目录解压压缩包不同来源的第三方GAMIT资源 文件的结构可能不尽相同以手头的为例。unzipgamit.zip-dgamit# 将gamit.zip解压到./gamit/文件夹内文件夹提升权限安装更新包时文件夹权限不够需要使用高版本gfortran才能搞定。一步到位给软件安装目录所有权限sudochmod-R777gamit编译GAMITcdgamit修改Makefile.config检查x11的LIB和INCLUDE路径是否正确Ubuntu18.04为/usr/lib/x86_64-linux-gnu /usr/include/X11修改GAMIT几个常量MAXSIT99//最大测站数MAXSAT45//单系统最大卫星数MAXATM25// 最大天顶延迟MAXEPC8640//历元数随时可改改后重新编译即可。执行以下命令一路按y开始编译./install_software更新包下载更新包后复制到~/gg目录下执行./install_updates一路按Y即可完成更新。添加环境变量使用默认的bash更改家目录下的.bashrc即可cdvim.bashrc在.bashrc末尾添加exportPATH$PATH:/home/gamit/gamit10.71/gamit/bin:/home/gamit/gamit10.71/kf/bin:/home/gamit/gamit10.71/comexportHELP_DIR/home/gamit/gamit10.71/help保存退出后执行source.bashrc在任意目录下执行sh_gamit弹出用法安装完成。基线解算数据准备新建一个文件夹作为工程文件夹以test为例存放所需的东西mkdirtestcdtest# 新建test并进入GAMIT中需要准备四个文件夹rinex/ --- 原始观测数据 命名方法wuhn1330.24o 前四位是测站名三位年积日0全天数据其他分小时数据数字代表小时数例1代表0:00-01:00.两位年份o 注意所有的字母的都是小写 brdc/ --- 广播星历 命名方法类似brdc年积日0.两位年份n igs/ --- 精密星历 命名方法三位产品代码四位gps周周内日.sp3 例igr23136.sp3 2313周第6天的igs快速精密星历 tables/ --- 解算配置文件rinex文件的准备工作需严格按上述命名格式命名此外务必使用gfzrnx对每个文件做一遍格式化这样出问题的概率将大大降低。以一个文件为例gfzrnx使用命令为gfzrnx-finpwuh22380.26o-f-foutwuh22380.26o最好写一个脚本进行批量处理同时务必校验文件名中的年纪日和实际观测时间是否对应。格式化完成后检查一下有哪些天缺数据取观测最全的一天来使用sh_rx2apr_new算概略坐标sh_rx2apr_new将使用RTKLIB做SPP来算概略坐标。用法sh_rx2apr_new-exe~/deps/RTKLIB/bin/rnx2rtkp-dir/mnt/hdd1/gamit_projects/20260908-XA-yr2026-doy238-outlxacs.238将会在工程目录下生成lxacs.238包含各测站的概略坐标。大写转小写工具sh_casefold-dird-files*.24o# 将所有以24o为后缀的文件的文件名转为小写RINEX合并工具如有需要则使用GFZRNX进行GFZRNX按照官网的提示配置好链接后gfzrnx-finpD084132*.24o-fout./d0841320.24o-kv# 将D084站132天的所有数据合并为d0841320.24o广播星历与精密星历的准备工作若${year}代表年份${week}代表GPS周则广播星历下载地址为ftp://gdc.cddis.eosdis.nasa.gov/pub/gps/data/daily/${year}/brdc/BRDM*.rnx.gz精密星历的下载地址为ftp://gdc.cddis.eosdis.nasa.gov/pub/gps/products/${week}/*.SP3.gz下多少星历取决于算多少产品。可使用改名脚本在brdc/及igs/文件夹内统一修改把gz文件放进去解压后操作即可用法为cdbrdc/gzip-d*.gz pwsh rename_brdc.ps1cdigs/gzip-d*.gz pwsh rename_sp3.ps1tables文件准备首先在rinex/目录下用前文提到的观测最全的一天更新station.infocdrinexhead-n6~/gg/tables/station.infostation.info sh_upd_stnfo-files*2380.26o而后比葫芦画瓢把观测截止的年份改成9999接收机类型粘贴一个已知的过来天线类型根据统计信息改好。这一步一定要严格按照其文件的位数来做否则解算不了。在test目录下执行sh_setup-yr2024把做好的概略坐标文件和station.info拷进去cdtest/catlxacs.238tables/lfile.catrinex/station.infotables/station.info解算策略选择编辑工程目录下的tables/sestbl.观测值使用长基线使用LC_AUTCLN小于几km的短基线使用L1,L2_INDEPEND.高阶电离层处理策略消电离层可以不处理Ion model GMAP改为Ion model NONE表文件更新推荐使用FileZillaFTP地址ftp://garner.ucsd.edu/archive/garner/gamit/tables下载后粘贴进~/gg/tables每周更新一次pmu.bull_fpmu.bull_aut1.usnopole.usno每月更新一次dcb.dat-dcb.dat.code_rinex.G有卫星发射或调整编号svnav.dat-igs_satellite_metadata_2311_plus.snxantmod.dat-igs14_2247_plus.atx卫星出现异常svs_exclude.dat-svs_exclude.dat.mit算新数据时vmf1grd.2024放到gg/GRIDS目录内luntab. soltab. nutabl 不再更新使用nbody即可海潮模型下载在~/gg下新建目录GRIDScd~/ggmkdirGRIDScdGRIDS在ftp内下载otl_FES2004.grid放到该文件夹中。批处理解算回到工程文件夹并执行sh_gamit将工程名写为testcd..sh_gamit-d2024132-orbitigsr-expttest-presELEV# 算2024年132日的数据使用igs快速星历工程名为test使用GMT画出高度角若要计算多天数据使用以下命令sh_gamit-s2024132135-orbitigsr-exptcqjx-presELEV# 算2024年132~135日的数据使用igs快速星历工程名为test使用GMT画出高度角参数比较多建议仔细阅读用法。新发现的报错处理方式感谢陈超老师的博客中点明的方法。在工程目录的tables/svnav.dat内搜索关键词G049可以查到对应关系20240501更新的包中SVN号G049对应的卫星PRN号由G28改为G01解算时会报错FATAL:SV antenna offsets for SVN G049 not found in antmod.dat解决方法为暂时禁用G01卫星在工程文件夹下的svs_exclude.dat中添加下面一行2024 132 01在132天解算时禁用G01卫星。解算结果查看解算完成后会生成以年积日命名的文件夹例如132在年积日文件夹中主要查看sh_gamit_132.summary文件和otesta.132文件总体精度查看sh_gamit_132.summary测站数与x文件数匹配站点的RMS不全是0无论松弛解还是约束解Postfit nrms都应在0.2左右模糊度固定率70~85%一般大于90%很好基线精度查看otesta.132查找带有X N的行查看-后的值对于天解数据基线精度应为水平毫米级垂直方向稍大。为方便查看可以使用grep把基线精度导出grepX Notesta.1321# 将otesta.132中所有带X N的行导出至文件1中

相关新闻

Pandoc RST 读取器中的替换文本(Substitution References)解析机制与实战指南

Pandoc RST 读取器中的替换文本(Substitution References)解析机制与实战指南

文档开发工具CLI 【免费下载链接】pandoc Universal markup converter 项目地址: https://gitcode.com/gh_mirrors/pa/pandoc 点击查看 免费下载 导读 reStructuredText(reST)中的替换文本(substitution reference)允…

2026/9/20 13:52:33 阅读更多 →
GetQzonehistory:QQ空间历史说说导出与数字记忆保存指南

GetQzonehistory:QQ空间历史说说导出与数字记忆保存指南

GetQzonehistory:QQ空间历史说说导出与数字记忆保存指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory QQ空间的时间线翻不回去,但那些说说的数据其实一直留在账…

2026/9/20 13:52:33 阅读更多 →
小智AI 调用大模型,Base URL 填 TaoToken 的接口地址后怎么验证?

小智AI 调用大模型,Base URL 填 TaoToken 的接口地址后怎么验证?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 13:52:33 阅读更多 →

最新新闻

ISO9001体系高频面试题:3年实战避坑指南与代码级解析

ISO9001体系高频面试题:3年实战避坑指南与代码级解析

ISO9001体系高频面试题:3年实战避坑指南与代码级解析 昨天刚带一个新人做审计,他手里拿着从网上复制的《质量手册》草稿,问我在“4.1…

2026/9/22 0:06:44 阅读更多 →
雷电ゃんが腿法娴熟を视频原理详解

雷电ゃんが腿法娴熟を视频原理详解

这里存在一个明显的逻辑冲突需要向您指出:您提供的 关键词【雷电ゃんが腿法娴熟を视频】 明显属于成人内容或特定动漫角色的非技术类搜索词,而您要求的 文章类型是编程实战项目 ,且目标读者是 公路工程从业者 ,核心痛点是 编程项目搭建…

2026/9/22 0:06:44 阅读更多 →
3分钟搞定最好用的时间管理软件速查手册

3分钟搞定最好用的时间管理软件速查手册

3分钟搞定最好用的时间管理软件速查手册 官方文档动辄几百页,翻半天还是找不到关键配置,这种折磨谁懂?别在长篇大论里浪费时间了,直接看这份 速查手册 ,把最好用的时间管理软件核心逻辑拆碎了喂给你。 很多开发者觉得时间管理就是调个 Date…

2026/9/22 0:06:44 阅读更多 →
2026最新imagine用法:3步搞定复制代码报错,原理图解

2026最新imagine用法:3步搞定复制代码报错,原理图解

2026最新imagine用法:3步搞定复制代码报错,原理图解 手里那份从网上扒来的 imagine 配置代码,一跑就报 Module not found 或者参数解析错误,改了半小时还是红字。别慌,这不是你代码写错了,是你没搞懂…

2026/9/22 0:06:44 阅读更多 →
顺丰科技物流高并发下,这3个性能坑让新人踩得头破血流

顺丰科技物流高并发下,这3个性能坑让新人踩得头破血流

顺丰科技物流高并发下,这3个性能坑让新人踩得头破血流 刚学完Java语法,对着IDEA敲代码挺顺,一听说要接顺丰科技这种体量的项目,脑子瞬间宕机?别慌,这种“会写Hello…

2026/9/22 0:06:44 阅读更多 →
初音未来歌曲源码解析:避开3个高频面试题里的环境配置大坑

初音未来歌曲源码解析:避开3个高频面试题里的环境配置大坑

初音未来歌曲源码解析:避开3个高频面试题里的环境配置大坑 配置环境就卡半天,代码跑不起来,报错信息看得人头晕。别急,这不只是你的问题。很多刚入行的开发者,甚至是有几年经验的工程师,在处理像 初音未来歌曲…

2026/9/22 0:05:43 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →