穆宝胜 李宏超
(河南测绘职业学院 国土资源调查与管理系,河南 郑州 450000)
GPS 反演大气可降水量是随着GPS 技术的迅速发展而出现的一种新的大气水汽探测技术,与传统的大气水汽观测手段相比,具有诸多优点。GPS 反演大气可降水量需要专业的处理软件,GAMIT 软件是美国麻省理工学院和美国加利福尼亚大学SCRIPPS 海洋研究所研发的一款高精度长基线GPS 数据处理软件,主要是双差模式。与一般的GPS 处理软件不同,用GAMIT软件反演大气可降水量过程复杂,前期需要做大量的资料准备。本文就GAMIT 的安装及解算前的准备工作两个方面做了详细介绍,以期为初学者提供帮助。
GAMIT 软件的主要功能包括:估计卫星状态矢量(坐标和速度)、太阳光压参数(3 ~9 个)、卫星Y方向偏差、地球自转参数、台站坐标和对流层引起的天顶延迟,从而解算出大气中可降水量总量[1]。软件还可用于研究板块运动和地壳形变以及其他地球物理现象,用于开展GPS 气象学的应用和研究。
GAMIT 软件主要由以下程序构成:ARC-轨道积分程序,根据给定的卫星轨道初值和动力模型参数用数值积分的方法给出卫星轨道和变分方程的数值解;MODEL-观测值模型程序,由观测数据文件组成观测方程;SINCLN-单差自动修复周跳程序,基于非差和星间单差观测值线性拟合发现和修改周跳;DBCLN-用双差线性拟合进一步修改周跳;CVIEW-人工交互的方式修复周跳和删除不好的观测值;SOLVE-利用双差观测按最小二乘原理求解参数以及用于创建SOLVE 所需要的M-file 文件的CFMRG 程序等。
(1)观测数据文件的准备
用GAMIT 软件反演可降水量首先需要卫星的原始数据观测文件(称之为O 文件)、气象数据观测文件(称之为M 文件)、IGS 精密星历文件、广播星历文件。四种文件的命名格式分别是[2]:
O 文件(kunm0010.12o)
M 文件(kunm0010.12m)
IGS 精密星历文件(igs16694.sp3)
广播星历文件(brdc0010.12n)
只有命名格式准确,GAMIT 软件才进行解算。IGS精密星历文件、广播星历文件以及部分M 文件可以从网站(ftp://cddis.gsfc.nasa.gov/pub/gps/data/)免费下载[3]。
(2)与GAMIT 软件相关的其他文件的下载[4]
运行GAMIT 软件时,除了观测文件以外,还需要下载与卫星等相关的文件,包括:
极移表(pole.)
TAI-UT1 表(ut1.)
坏卫星信息文件(svs_exclude.dat)
星号对照表(svnav.dat)
接收机与其天线型号对照表(rcvant.dat)
天线相位中心改正表(antmod.dat)
地球形状参数表(gdetic.dat)
太阳表(soltab.)
月亮表(luntab.)
章动表(nutabl.)
跳秒表(leap.sec)
周跳的自动探测和修改命令表(autcln.cmd)
潮汐表(scherneck_stations.oct)
上述文件都可以从网站(lox.ucsd.edu)下载,例如Linux 环境下下载:
% ftp lox.ucsd.edu
User name anonymous
Passwd e-mail address
ftp> cd pub/products/ (下载GPS卫星文件)
ftp> cd pub/gamit/tables(下载其他相关文件)
(3)GAMIT 软件中常用文件介绍
L-file:台站初始坐标文件。
X-file:经过格式转换,重新写过的观测文件。
C-file:数据分析的基本文件,包括观测文件和残差。
K-file:用初始坐标、卫星广播星历和伪距观测计算出来的接收机钟差文件。
G-file:包括所有卫星的轨道初始信息。
T-file:转化成列表形式的广播星历,包括卫星的星号、速度等信息。
(1)台站坐标文件
L 文件包含台站的初始坐标,对于新的台站,可以从rinex 观测文件,通过单点定位的方式获得初始坐标,在GAMIT 软件中具体命令为:
Sh_rx2apr - site
site 代表需要定位的台站,nav 代表导航文件,ref 代表参考台站,apr 代表参考台站的坐标文件,val 代表最新二乘的约束值。例如:SHNH 是需要定位的站点,BJFS 是IGS 的台站,作为参考站,约束值可以使用默认值,以2008 年第199 天为例:
Sh_rx2apr - site shnh1990.08o -nav auto1990.08n -ref bifs1990.08o -apr igs.dat
GAMIT 运行时,初始坐标的误差必须在10m 以内,否则可能会导致最后迭代不收敛。初始坐标的误差在1m 以内,才能保证最终的台站坐标精度优于1mm。有时因为接收机性能不稳定,或者是周围观测条件不佳,影响有些时段的观测,导致单点定位精度不好或者定位时不收敛,那么需要重新选择其他时段的RINEX 观测文件。为了获得比较好的初始坐标,通常可以多选几天的RINEX 观测文件,进行单点定位,对多次定位结果取平均。
(2)台站信息文件
文件staotion.info,如图1 所示,包含了所有需要解算的台站的信息,即台站的天线相位中心对于地球标准椭球面在X、Y、Z 方向的偏差和接收机型号、天线型号等信息。这些信息都可以从每个台站的观测文件的头文件中获取,其中,所谓天线相位中心在X、Y、Z 方向的偏差实际只有天线相位中心的高度(Ant Ht),因为天线相位中心在Y 和X 方向的偏差(Ant N,Ant E)一般为零。
station.info 文件中的每个台站的信息必须与每个台站的观测文件的头文件中的这些信息相符合,以保证解算时有正确的天线高等信息。值得注意的是,有些台站的信息因为更换接收机或者迁址等原因,会进行信息更新,在station.info文件中同一台站会有几行信息,必须按时间先后顺序排列,将最新的信息放在最下面一行,GAMIT 默认读取最后一行信息。
(3)台站约束文件
图1 台站信息文件
图2 台站约束文件
文件sittbl.是有关台站约束的文件,如图2所示。首先要检查是否包含所有需要解算的台站的信息,然后对每一个台站设置先验约束。这里主要是对台站X、Y、Z 方向摆动的限制。约束值的大小要依据L 文件的精度设置,如果L 文件中初始台站坐标比较精确,约束值就可以设置得比较小,约厘米级精度。如果L 文件误差大,约束值就要比较大,一般为5 ~10m,否则在最后解算时会导致迭代不收敛,因此可以对IGS站等初始坐标精度比较好的台站给定较小的约束值,以固定大地坐标框架。
(4)GAMIT 软件运行控制文件
sestbl.文件中的各选项决定GAMIT 软件运行过程中的计算方案和相应的参数设置。要设置下面几项参数:
①choice of experiment
RELAX:定轨、定位、解EPR
BASELINE:仅仅定位
ORBIT:仅仅定轨
一般为解算水汽获取大气总延迟的时候,仅仅需要选择BASELINE,不需要对卫星进行定轨,广播星历的精度已经足够。
②choice of observable
LC_HELP:用LC 观测解模糊度。
LC_RANGE:用于LC_HELP,但更强调伪距的作用。
LC_ONLY:用LC 观测不解模糊度。
L1_ONLY:仅仅使用L1,解模糊度,对于几千米的小网。
L2_ONLY:仅仅使用L2,解模糊度,对于几千米的小网。
L1,L2_INDEPEND:分别使用L1、L2,解模糊度,对于几千米的小网。
最后一个选项不成熟,不建议使用,一般对于几百千米的区域网,解算天顶延迟的时候,建议选择使用第一项LC_HELP。
③type of analysis
QUICK:每一个缺口加周跳标志,对每一个周跳标志求解bias 参数,这样解的参数多了,解的精度也就低了,且对周跳不敏感。
0-ITER:ARC,MODEL,AUTCLN,SOLVE,SCANDD。
1-ITER:两个0-ITER 序列,但第一个是QUICK 解。
2-ITER:在1-ITER 基础上再加一个序列,用于确定轨道。
3-对于仅仅解算基线,获取大气延迟量,只需要选择0-ITER。
以上设置对于GAMIT 运行有决定性作用,其他相关参数,如天顶延迟的个数等,可以根据需要设置,每个设置项的含义在sestbl.文件中都有说明。不同版本的GAMIT 软件中附带的sestbl.文件、格式、选项都略有不同。
(1)如果没有实测气象数据,一个测站先验气压和温度值最好采用Boehm 和Schuh 提出的“全球气压和温度”(GPT)模型值[5]。它利用多年的气象数据拟合,是位置和年积日的函数。但是,如果有一些测站的RINEX气象文件和从当前NWM得到的一个测站列表文件,应该设置为:
Met obs source=RNX UFL GPT 50
表示先检查RINEX 气象文件M(如图3 所示),然后检查U 文件中的测站,最后返回到GPT。VMF1 映射函数的格网或表文件包含气压和温度或者是天顶干延迟,这种情况下只需指定map.list 或者map.grid。如果不使用VMF1,仍然可以通过met.list 和met.grid 文件来输入气压和温度值。如果是从RINEX 文件中输入气压和温度值,则被认为是测站高度上的数值。
图3 RINEX气象文件
(2)使用Dmap 和Wmap 命令来设置映射函数。为了使用VMF1,把map.list 和map.grid 连接到当前处理年份的VMF1 文件,设置Use map list 或Use map grid为Y[yes],并且在Met obs source 中包含ufile。
(3)如果想要在24 小时的测段内每2 个小时估计一个参数,设置Number Zen=13或者Interval Zen=2(当项目中存在多个不同长度的测段时,后者更为方便)。为了利用数据文件,还需要设置Output met=Y。
一系列的准备工作完成后,就可以正式解算数据。在GAMIT 命令窗口输入sh_metutil 命令可以调用软件中的metutil 程序。程序可以自动从O 文件中提取天顶总延迟量,并根据自带的天顶静力延迟模型来改正天顶静力延迟量,通过求差可以算出天顶湿延迟量,从而根据水汽转换系数来求得大气中的水汽总量,得到最终的反演结果,软件会输出一个met_[site].[yyddd]的文件,如图4 所示。
图4 met_[site].[yyddd]的文件
基于支持Windows 的UNIX 系统,GAMIT 软件的安装过程没有图形用户界面,而是一些命令和脚本的松散集合,对于初学者来说难以掌握。本文立足实际经验摸索总结了一套安装方法,已在很多计算机上安装试验,证明方法可行。GAMIT 软件解算GPS 数据得到大气可降水量是一个复杂的过程,需要做大量准备工作,本文从实际应用出发对所需的前期准备工作做了详细介绍,降低了初学者应用GAMIT 软件反演大气可降水量的难度,对初学者学习GAMIT 软件有很大帮助。