**GAMIT分布解算学习记录以及报错解决方法记录**

GAMIT分布解算学习记录以及报错解决方法记录

一、解算前的准备工作:

(1)新建一个工程文件目录:mkdir (expt为目录,这里我们设置为chen,即mkdir chen)。进入到目录中,cd chen //chen表示工程文件的名称;
(2)运行 sh_setup -yr 2017,会多生成一个tables文件
(3)在chen目录下新建rinex brdc igs 三个目录,mkdir rinex brdc igs,在这三个目录下下载相应的文件。
(4)进入igs目录,cd igs 。然后doy,可以查看解算的当天周和周内天。然后,下载星历,wget -nd ftp://cddis.gsfc.nasa.gov/pub/gps/products/1931/igs19312.sp3.Z(我们使用的是1931周的第2天igs精密星历的数据),将下载的数据进行解压,uncompress *
(5)进入brdc目录,cd …/brdc 然后下载wget -c ftp://nfs.kasi.re.kr/gps/data/daily/2017/010/17n/brdc0100.17n.Z 然后解压,uncompress *
(6)进入rinex目录,cd …/rinex 然后下载几个站的数据,wget --http-user = anonymous --http -passwd = [email protected] -nd http://garner.ucsd.edu/pub/rinex/2017/010/urum0100.17d.Z
最后的urum0100.17d.Z可以更换,再下载其他站的数据,例如:lhaz0100.17d.Z,shao 0100.17d.Z
下载完成之后,分别对每个站解压,对于d.Z文件的解压,可使用sh_crx2rnx -f urum0100.17d.Z 分别进行解压。
---------------------------------------------------------------~~
二、文件下载完毕之后,制作tables文件和l文件
(1)制作tables文件
a)在rinex文件中,截取1~6行的内容作为头文件,sed -n “1,6p” …/tables/station.info
b)将其生成到rinex目录下,sed -n “1,6p” …/tables/station.info > ./station.info
c)更新tables文件,即可把我们下载的站按照要求的格式生成tables文件。 sh_upd_stnfo -files *.17o
d)之后,将制作好的拷贝到tables下,cp station.info …/tables

(2)制作l文件,可使用rinex的头文件作为l文件的近似坐标(目前的精度较好)
a)在chen目录下,打开tables/process.defaults,即vim tables/process.defaults,将其中的set_use_rxc = “Y”(原本为N)
b)同时,打开tables/sestbl.看看哪些需要修改,下载了的文件需要变成Y,反之则为N,具体可以cd tables查看tables下的内容。
---------------------------------------------------------------~~
三、在工程文件chen下新建一个目录,例如010,即10号的解(具体的解算就在该目录下完成)。mkdir 010 ,进入010文件,cd 010
(1)链接导航文件,ln -s …/brdc/brdc0100.17n ./
(2)链接星历文件,ln -s …/igs/igs19312.sp3 ./
(3)链接rinex里的o文件,ln -s …/rinex/.17o ./
(4)将tables中的内容,全部拷贝到当前目录,即010目录下,cp …/tables/
./
---------------------------------------------------------------~
四、分布解算的步骤:
第一步:make_xp
sh_makexp -expt chen -orbt igsf -sp3file igs19312.sp3 -yr 2017 -doy 010 -sess 99 -srin -nav brdc0100.17n -apr lfile. -sinfo 30 00 00 2880
问题:这一步需要加上-sp3file,否则会提示缺少-sp3file文件(我的不加显示会报错,你可以不加试试也行)。

第二步:轨道积分sp3fit
sh_sp3fit -f igs19312.sp3 -o igsf -d 2017 010 -r BERNE -t -u(-t可以加,也可以不加,本人没加)

第三步:sh_check_sess,检查g文件和session.info的一致性
sh_check_sess -sess 010 -type gfile -file gigsf7.010

问题1:sh_check_sess: Removing any PRN’s from session.info that are missing from: gigsf7.010
missing input file: gigsf7.010 QUIT
解答:缺少输入文件gigsf7.010,由于第二步轨道积分,得到的文件夹是gigsg7.010(一个是“gigsg”,另一个是“gigsf”,具体原因也没找到),但是可以利用手动将文件夹gigsg7.010的名称,改为gigsf7.010,就行了。

问题2:FATAL :200803:1536:23.0 FIXDRV/fixdrv: Neither T- nor G-file available (Name tigsf7.010)
STOP FATAL Error: Stop from report_stat
解答:这一步也是因为缺少t文件或g文件,所以导致第七步fixdrv出现错误。可以在轨道积分(第二步)时,不加参数-t,重新运行,运用g文件也可。

第四步:makej,生成j文件
makej brdc0100.17n jbrdc7.010

第五步:sh_check_sess,检查j文件和session.info的一致性
sh_check_sess -sess 010 -type jfile -file jbrdc7.010

第六步:makex
makex chen.makex.batch

第七步:fixdrv
fixdrv dchen7.010

第八步:生成q、o、h文件
csh bchen7.bat


到此全部完成
(以上学习来自于陈超老师的《GNSS高精度数据处理——GAMIT/GLOBK入门》一书,仅作为个人学习记录)

你可能感兴趣的:(**GAMIT分布解算学习记录以及报错解决方法记录**)