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/11/11 4:25:54 阅读更多 →
GetQzonehistory:QQ空间历史说说导出与数字记忆保存指南

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

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

2026/10/15 9:04:30 阅读更多 →
小智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/10/25 15:30:40 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻