转载来自CSDN:https://blog.csdn.net/Hsin_Ching/article/details/115004087

GAMIT 分步进行基线解算

近期选修课进行gamit学习,在此将自己的学习过程分享给大家,希望对大家有所帮助。

所用系统:Ubuntu20.04 + GAMIT10.71

此次实习所用数据为 2018 年 4 月 5 日4个 IGS 测站(bjfs,lhaz,urum,ccj2)的观测数据,年积日为 095。

注意:本篇中文件命名格式以本工程实际数据命名,实际解算时根据实际情况进行修改。

一、数据准备

数据都为武汉大学IGS数据中心下载,地址如下:

http://www.igs.gnsswhu.cn/index.php/home/data_product/igs.html

创建工程文件夹:

本文为work(也可以以年份起名,如:2018):

文件组织架构如下

· work/
  —— 095/
  —— brdc/
  —— igs/
  —— rinex/
  —— tables/

tables文件夹为链接文件夹

链接命令如下(命令在工程文件夹work下执行):

sh_setup -yr 2018 -doy 095

把下载好的数据放入相关文件夹中,brdc 文件夹存放广播星历文件(后缀:.18n),igs 文件夹存放精密星历文件(后缀:.sp3),rinex 文件夹存放观测数据文件(后缀:.18o)。

二、参数配置

表文件更新

表文件更新较为复杂也极容易出错,所以建议查找更详细的tables更新教程进行此步操作。

下面主要说一下我遇到的断链情况,通过运行如下命令进行链接情况查看:

ls -al

在这里插入图片描述
在这里插入图片描述

若出现除去上面红链以外的红链,则需要对其进行查找重新链接。

具体方法: 通过查看后面链接的文件地址,查看其文件属性进行进一步追踪,最终找到最终的文件,若指向的最终文件不存在,需要进行文件下载。

对于本文中的 2018 年 4月 5 日的观测数据,特别要仔细检查以下文件:

soltab.2018.J2000、luntab.2018.J2000、vmf1grd.2018(与map.grid相关)、otl_FES2004.grid(与otl.grid相关)、atmdisp_cm.2018(与atml.grid相关) 和 nutabl.2018。

表文件可以在以下网址下载

http://sopac.ucsd.edu/GAMIT.shtml

ftp://garner.ucsd.edu/archive/garner/gamit/tables

ftp://everest.mit.edu/

也可以通过如下命令进行表更新:

gftp <网址>

参数配置

tbles文件夹中有sestbl.和sittbl.两个文件

sittbl.文件设置:sittbl.可以对站点进行约束,对高精度已知坐标强约束,可以设置为5cm;对待求点坐标进行松约束,本文设置为100m。

如下所示:

在这里插入图片描述

sestbl. 文件中相应位置可以按照如下修改:

Use otl.list = Y ; Ocean tidal loading list file from OSO
Use otl.grid = N ; Ocean tidal loading grid file, GAMIT-format converted from OSO

此为基线解算中所需的海潮改正文件的配置。还有更多细节参数设置,请仔细查阅相关文档。

因为此处处理的是 IGS 站的观测数据,按照上面修改,直接使用otl.list即可。

初始文件生成

生成 station.info

进入tables文件夹,使用以下命令

sh_upd_stnfo -files ../rinex/*o

生成新的station.info文件,内容如下:

在这里插入图片描述

生成 lfile.

lfile.文件中包含测站的概略坐标,生成方法如下:

在工作目录的rinex目录执行:

grep POSITION *.18o > lfile.rnx

rx2apr lfile.rnx 2018 095

gapr_to_l  lfile.rnx.apr lfile. '''' 2018 095

lfile.文件内容如下:

在这里插入图片描述

然后将lfile.文件复制到tables文件中。

三、开始解算

首先创建年积日文件夹(本文名称为095),并与igs、brdc、rinex、tables文件夹进行链接

进入095文件夹分别执行如下命令:

ln -s ../igs/*sp3 ./
ln -s ../brdc/*n ./ 
ln -s ../rinex/*o ./
ln -s ../tables/* ./

下面开始进行分布解算:

注意:所有命令均在095文件夹内执行

1、执行 sh_makexp

命令如下:

sh_makexp -expt test -orbt igsf -yr 2018 -doy 095 -sess 99 -nav brdc0950.18n -sp3file igs19954.sp3 -jclock sp3 -apr lfile. -sinfo 30 0 0 2880

正常结束如下:

在这里插入图片描述

2、生成G-文件(轨道文件):

命令如下:

sh_sp3fit -f igs19954.sp3 -o igsf -d 2018 095

成功后,进行文件检查:

$ sh_check_sess -sess 095 -type gfile -file gigsf8.095

此时可能有报错,称找不到gigsf文件,查看095文件夹,发现生成的G-文件的名字为gigsg8.095,将他改为gigsf8.095,再次进行检查,检查通过。

在这里插入图片描述

3、生成J-文件:

命令如下:

makej brdc0500.16n jigsf8.095

成功后进行文件检查:

sh_check_sess -sess 095 -type jfile -file jigsf8.095

在这里插入图片描述

4、生成X-文件:

生成双差观测文件命令为:

makex work.makex.batch

成功截图如下:

在这里插入图片描述

5、生成脚本:

运行 fixdrv 命令

fixdrv dwork8.095

注意: 此时可能会出现如下错误

在这里插入图片描述

解决办法: 将095文件夹内的GAMIT.fatal文件删除

命令成功截图如下:

在这里插入图片描述

6、最后,进行数据解算

csh bwork8.bat

等待数据解算完成。

解算成功截图如下:

在这里插入图片描述

相关成果

解算成功后,在095文件夹中会有 O-文件,Q-文件和 H-文件,以及解算更新的站坐标lfilg.文件。

解算过程中的错误,可以在 GAMIT.fatal 文件中查看。

至此,流程顺利跑通,但其中处理命令的参数和相关文件参数的设置和如此设置的意义,还需要进一步阅读相关文献进行学习。