GAMIT从配置到出结果

GAMIT 是一种常用的GNSS高精度数据处理软件,建议运行环境为Ubuntu18.04,编译环境使用gcc-6+gfortran-6。在Windows需要搭配虚拟机使用。常用的虚拟机软件包括VMWare,Open VirtualBox以及WSL2.在离线设备上安装使用了VMWare镜像导入的方式进行安装,后续探索如何将WSL镜像直接导入。

安装目录

本次将软件安装至~/gamit目录内。

~/gamit

虚拟机配置

VMware

  1. 下载VMWare Workstation Pro,查询一个可以用的激活码。
  2. 下载Ubuntu18.04.6LTS镜像 https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
  3. 安装VMWare 软件,打开软件,按照提示一步步安装即可,无需先创建磁盘再装系统

尽量把磁盘容量留大一些,装数据有可能不够用

WSL2

启用WSL2

需要在BIOS内开启内核虚拟化以提升性能

控制面板->程序->启用或关闭Windows功能中勾选适用于Linux的Windows子系统虚拟机平台,重启电脑
在这里插入图片描述

下载Ubuntu18.04 LTS

在微软商店中下载Ubuntu18.04 LTS,下载完成后打开自动弹出新建用户的窗口

在这里插入图片描述

注意:

用户名仅能为小写字母

密码不显示

换源

在终端内依次执行

sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/http:/https:/g' /etc/apt/sources.list
sudo apt update

安装依赖项

参考GAMIT快速入门引导,http://geoweb.mit.edu/gg/docs/GG_Quick_Start_Guide.pdf

sudo apt install gfortran make libx11-dev csh tcsh bc curl gmt gmt-dcw gmt-gshhg

改编译器优先级

官方推荐使用gcc-6进行编译,重新装下

sudo apt install gcc-6 gfortran-6

为使得gcc gfortran命令使用所需版本,需要对优先级进行设置

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 46
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-6 46

清除优先级设置:

sudo update-alternatives --remove gcc /usr/bin/gcc-6
sudo update-alternatives --remove gcc /usr/bin/gfortran-6

将安装包导入虚拟机

VMWare

若已成功安装VMWare Tools,直接拖入虚拟机即可。

WSL2

在终端操作即可,Windows端的硬盘挂在/mnt/目录下。例如:

cp /mnt/e/download/gamit.zip .# 将E:\download\gamit.zip 复制到当前目录

解压压缩包

不同来源的第三方GAMIT资源 文件的结构可能不尽相同,以手头的为例。

unzip gamit.zip -d gamit # 将gamit.zip解压到./gamit/文件夹内

文件夹提升权限

安装更新包时,文件夹权限不够需要使用高版本gfortran才能搞定。一步到位给软件安装目录所有权限

sudo chmod -R 777 gamit

编译GAMIT

cd gamit

修改Makefile.config

  1. 检查x11的LIB和INCLUDE路径是否正确,Ubuntu18.04为
/usr/lib/x86_64-linux-gnu
/usr/include/X11

修改GAMIT几个常量

MAXSIT 80 //最大测站数
MAXSAT 35 //单系统最大卫星数
MAXATM 25 // 最大天顶延迟
MAXEPC 2880 //历元数

随时可改,改后重新编译即可。
执行以下命令,一路按y开始编译:

./install_software

更新包

下载更新包后,复制到~/gg目录下,执行./install_updates,一路按Y即可完成更新。

添加环境变量

使用默认的bash,更改家目录下的.bashrc即可

cd
vim .bashrc

.bashrc末尾添加

export PATH=$PATH:/home/gamit/gamit10.71/gamit/bin:/home/gamit/gamit10.71/kf/bin:/home/gamit/gamit10.71/com 
export HELP_DIR=/home/gamit/gamit10.71/help

保存退出后执行

source .bashrc

在任意目录下执行

sh_gamit

弹出用法,安装完成。

在这里插入图片描述

基线解算

数据准备

新建一个文件夹作为工程文件夹,以test为例,存放所需的东西

mkdir test && cd test # 新建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/ ---> 解算配置文件

大写转小写工具

sh_casefold -dir d -files *.24o # 将所有以24o为后缀的文件的文件名转为小写

RINEX合并工具

GFZRNX

按照官网的提示配置好链接后

gfzrnx -finp D084132*.24o -fout ./d0841320.24o -kv # 将D084站132天的所有数据合并为d0841320.24o

tables文件准备

在test目录下执行

sh_setup -yr 2024

而后进入工程文件夹的tables目录

cd tables

执行

sh_upd_stnfo -files ../rinex/*.24o

完成station.info的更新,更新完成后,用vscode打开station.info,查找所有备注中带有../rinex/的行

确保接收机型号及固件版本、天线型号及DOME为已知的型号

在这里插入图片描述

解算策略选择

编辑工程目录下的tables/sestbl.

观测值使用

长基线使用LC_AUTCLN,小于几km的短基线使用L1,L2_INDEPEND.
在这里插入图片描述

高阶电离层处理策略

消电离层可以不处理,Ion model = GMAP改为Ion model = NONE
在这里插入图片描述

表文件更新

推荐使用FileZilla,FTP地址:ftp://garner.ucsd.edu/pub/gamit/tables/

下载后粘贴进~/gg/tables

  • 每周更新一次
    • pmu.bull_f
    • pmu.bull_a
    • ut1.usno
    • pole.usno
  • 每月更新一次
    • dcb.dat->dcb.dat.code_rinex.G
  • 有卫星发射或调整编号
    • svnav.dat->igs_satellite_metadata_2311_plus.snx
    • antmod.dat->igs14_2247_plus.atx
  • 卫星出现异常
    • svs_exclude.dat->svs_exclude.dat.mit
  • 算新数据时
    • vmf1grd.2024,放到gg/GRIDS目录内

luntab. soltab. nutabl 不再更新,使用nbody即可

海潮模型下载

~/gg下新建目录GRIDS

cd ~/gg
mkdir GRIDS && cd GRIDS

在ftp内下载otl_FES2004.grid,放到该文件夹中。

批处理解算

回到工程文件夹并执行sh_gamit,将工程名写为test

cd ..
sh_gamit -d 2024 132 -orbit igsr -expt test -pres ELEV
# 算2024年132日的数据,使用igs快速星历,工程名为test,使用GMT画出高度角

若要计算多天数据,使用以下命令:

sh_gamit -s 2024 132 135 -orbit igsr -expt cqjx -pres ELEV
# 算2024年132~135日的数据,使用igs快速星历,工程名为test,使用GMT画出高度角

参数比较多,建议仔细阅读用法。

新发现的报错处理方式

感谢陈超老师的博客中点明的方法。
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把基线精度导出

grep "X N" otesta.132 > 1 # 将otesta.132中所有带X N的行导出至文件"1"中
  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lyre丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值