使用广播星历进行 GAMIT 解算
GAMIT/GLOBK 作为一个高精度的 GNSS 数据处理程序,在数据处理时通常需要将 IGS 发布的精密轨道产品作为输入。但有时我们可能并没有相应的精密轨道产品可供使用,只能退而求其次,采用广播星历。GAMIT 软件可以满足这一需求,但是在操作上与通常情况有些差异。
这一篇博文将以操作演示的形式,介绍只使用广播星历进行数据解算的过程。操作时所用的 GAMIT/GLOBK 程序的版本号为 10.61。
数据准备
开始数据解算前我们依然要首先进行数据准备工作。我在本次解算时采用了 BJFS、CHAN、DAEJ、SHAO、SUWN 和 WUH2 共 6 个 IGS 站在 2017 年第 192 日的观测文件,并采用对应日期的广播星历。文件的组织方式为:
1 | · demo/ |
在解算目录 demo/ 内平行地创建 4 个子文件夹:其中 brdc/ 文件夹存放广播星历文件;rinex/ 文件夹存放各站点的观测文件;tables/ 文件夹用于存放解算所需的共用表文件;而年积日文件夹(192/)用于解算操作,所有结果文件和中间本文都保存在该文件夹内。
参数设置
链接表文件
无论做哪一种数据处理任务,执行操作之前,首先需要做的就是链接数据解算所需的共用表文件。在解算目录下运行 sh_setup
命令,将共用表文件链接至解算目录的 tables/ 文件夹内:
1 | $ sh_setup -yr 2017 -doy 192 |
参数设置
执行上面的 sh_setup
命令之后,解算所需的配置文件也已经被拷贝至 tables/ 文件内,你可以通过编辑它们对解算进行设置。这里我只是用于演示目的,因此采用默认配置,不做任何修改。
解算操作
需要说明的一点是:虽然在 sh_gamit
命令中可以通过 -orbt
选项来指定解算所需的轨道文件,但我测试后发现,该命令此时不太好用。如果使用该命令解算,将遭遇很多错误。并且,使用广播星历解算时使用的命令与通常情况并不十分一致。因此,我在实际操作中使用分步运行的方式。
链接文件
首先,使用 UNIX/Linux 系统的 ln -s
命令,将准备好的文件链接至年积日文件夹(192/)内。在年积日文件夹执行:
1 | $ ln -s ../brdc/*n . |
开始解算
现在,就可以执行任务的初始化等准备工作了。这一步骤可以使用 makexp
或 sh_makexp
完成。此处我将使用 sh_makexp
,它是一个非交互性的脚本指令,接受的参数为:
1 | $ sh_makexp -expt <expt> -yr <year> -doy <doy> -nav <file> -orbt <orbt> -apr <file.> -sess <no.> -sinfo <session> |
参数释义:
-expt <expt>
:4 字符的项目名;-yr <year>
:观测数据的年;-doy <doy>
:观测数据的年积日;-orbt <orbt>
:4 字符的轨道名;-gnss <code>
:GNSS 系统代号(默认 G);-nav <file>
:广播星历的文件名;-apr <file.>
:站点概略坐标文件名;-sess <no.>
:解算任务的 session 号;-jclock <>
:生成钟文件(J-文件)的来源文件(brdc 或 sp3),默认 brdc;-sinfo <session>
:数据解算的间隔、开始时刻(时、分)和总历元数。
具体到本次任务,实际运行的命令为:
1 | $ sh_makexp -expt demo -yr 2017 -doy 192 -nav brdc1920.17n -orbt brdc -apr lfile. -sess 99 -sinfo 30 00 00 2880 |
然后就是进行轨道拟合,使用精密星历时我们通过运行 sh_sp3fit
来完成这一过程。但此时我们使用广播星历,其对应的命令为 sh_bcfit
,这一步几乎就是整个任务成败的关键。它接受的参数为:
1 | $ sh_bcfit -f <file> -d <year> <doy> |
此处的 <file>
代表广播星历文件名,而 <year>
和 <doy>
分别为数据的年和年积日。即:
1 | $ sh_bcfit -f brdc1920.17n -d 2017 192 |
之后就进入了熟悉的流程。生成卫星钟文件(J-文件):
1 | $ makej brdc1920.17n jbrdc7.192 |
生成双差观测文件(X-文件):
1 | $ makex demo.makex.batch |
启动数据驱动程序:
1 | $ fixdrv ddemo7.192 |
执行数据解算解算脚本:
1 | $ csh bdemo7.bat |
等待程序运行完成。若没有提示任何错误,就得到了数据处理的结果。
补充
有读者可能会质疑本文操作的必要性,毕竟 IGS 的超快速轨道产品在观测前的几个小时就能拿到。此时可以试想一下:IGS 等机构是如何生产精密轨道产品的?