穆寶勝 李宏超
(河南測繪職業(yè)學院 國土資源調(diào)查與管理系,河南 鄭州 450000)
GPS 反演大氣可降水量是隨著GPS 技術(shù)的迅速發(fā)展而出現(xiàn)的一種新的大氣水汽探測技術(shù),與傳統(tǒng)的大氣水汽觀測手段相比,具有諸多優(yōu)點。GPS 反演大氣可降水量需要專業(yè)的處理軟件,GAMIT 軟件是美國麻省理工學院和美國加利福尼亞大學SCRIPPS 海洋研究所研發(fā)的一款高精度長基線GPS 數(shù)據(jù)處理軟件,主要是雙差模式。與一般的GPS 處理軟件不同,用GAMIT軟件反演大氣可降水量過程復(fù)雜,前期需要做大量的資料準備。本文就GAMIT 的安裝及解算前的準備工作兩個方面做了詳細介紹,以期為初學者提供幫助。
GAMIT 軟件的主要功能包括:估計衛(wèi)星狀態(tài)矢量(坐標和速度)、太陽光壓參數(shù)(3 ~9 個)、衛(wèi)星Y方向偏差、地球自轉(zhuǎn)參數(shù)、臺站坐標和對流層引起的天頂延遲,從而解算出大氣中可降水量總量[1]。軟件還可用于研究板塊運動和地殼形變以及其他地球物理現(xiàn)象,用于開展GPS 氣象學的應(yīng)用和研究。
GAMIT 軟件主要由以下程序構(gòu)成:ARC-軌道積分程序,根據(jù)給定的衛(wèi)星軌道初值和動力模型參數(shù)用數(shù)值積分的方法給出衛(wèi)星軌道和變分方程的數(shù)值解;MODEL-觀測值模型程序,由觀測數(shù)據(jù)文件組成觀測方程;SINCLN-單差自動修復(fù)周跳程序,基于非差和星間單差觀測值線性擬合發(fā)現(xiàn)和修改周跳;DBCLN-用雙差線性擬合進一步修改周跳;CVIEW-人工交互的方式修復(fù)周跳和刪除不好的觀測值;SOLVE-利用雙差觀測按最小二乘原理求解參數(shù)以及用于創(chuàng)建SOLVE 所需要的M-file 文件的CFMRG 程序等。
(1)觀測數(shù)據(jù)文件的準備
用GAMIT 軟件反演可降水量首先需要衛(wèi)星的原始數(shù)據(jù)觀測文件(稱之為O 文件)、氣象數(shù)據(jù)觀測文件(稱之為M 文件)、IGS 精密星歷文件、廣播星歷文件。四種文件的命名格式分別是[2]:
O 文件(kunm0010.12o)
M 文件(kunm0010.12m)
IGS 精密星歷文件(igs16694.sp3)
廣播星歷文件(brdc0010.12n)
只有命名格式準確,GAMIT 軟件才進行解算。IGS精密星歷文件、廣播星歷文件以及部分M 文件可以從網(wǎng)站(ftp://cddis.gsfc.nasa.gov/pub/gps/data/)免費下載[3]。
(2)與GAMIT 軟件相關(guān)的其他文件的下載[4]
運行GAMIT 軟件時,除了觀測文件以外,還需要下載與衛(wèi)星等相關(guān)的文件,包括:
極移表(pole.)
TAI-UT1 表(ut1.)
壞衛(wèi)星信息文件(svs_exclude.dat)
星號對照表(svnav.dat)
接收機與其天線型號對照表(rcvant.dat)
天線相位中心改正表(antmod.dat)
地球形狀參數(shù)表(gdetic.dat)
太陽表(soltab.)
月亮表(luntab.)
章動表(nutabl.)
跳秒表(leap.sec)
周跳的自動探測和修改命令表(autcln.cmd)
潮汐表(scherneck_stations.oct)
上述文件都可以從網(wǎng)站(lox.ucsd.edu)下載,例如Linux 環(huán)境下下載:
% ftp lox.ucsd.edu
User name anonymous
Passwd e-mail address
ftp> cd pub/products/ (下載GPS衛(wèi)星文件)
ftp> cd pub/gamit/tables(下載其他相關(guān)文件)
(3)GAMIT 軟件中常用文件介紹
L-file:臺站初始坐標文件。
X-file:經(jīng)過格式轉(zhuǎn)換,重新寫過的觀測文件。
C-file:數(shù)據(jù)分析的基本文件,包括觀測文件和殘差。
K-file:用初始坐標、衛(wèi)星廣播星歷和偽距觀測計算出來的接收機鐘差文件。
G-file:包括所有衛(wèi)星的軌道初始信息。
T-file:轉(zhuǎn)化成列表形式的廣播星歷,包括衛(wèi)星的星號、速度等信息。
(1)臺站坐標文件
L 文件包含臺站的初始坐標,對于新的臺站,可以從rinex 觀測文件,通過單點定位的方式獲得初始坐標,在GAMIT 軟件中具體命令為:
Sh_rx2apr - site
site 代表需要定位的臺站,nav 代表導(dǎo)航文件,ref 代表參考臺站,apr 代表參考臺站的坐標文件,val 代表最新二乘的約束值。例如:SHNH 是需要定位的站點,BJFS 是IGS 的臺站,作為參考站,約束值可以使用默認值,以2008 年第199 天為例:
Sh_rx2apr - site shnh1990.08o -nav auto1990.08n -ref bifs1990.08o -apr igs.dat
GAMIT 運行時,初始坐標的誤差必須在10m 以內(nèi),否則可能會導(dǎo)致最后迭代不收斂。初始坐標的誤差在1m 以內(nèi),才能保證最終的臺站坐標精度優(yōu)于1mm。有時因為接收機性能不穩(wěn)定,或者是周圍觀測條件不佳,影響有些時段的觀測,導(dǎo)致單點定位精度不好或者定位時不收斂,那么需要重新選擇其他時段的RINEX 觀測文件。為了獲得比較好的初始坐標,通??梢远噙x幾天的RINEX 觀測文件,進行單點定位,對多次定位結(jié)果取平均。
(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.是有關(guān)臺站約束的文件,如圖2所示。首先要檢查是否包含所有需要解算的臺站的信息,然后對每一個臺站設(shè)置先驗約束。這里主要是對臺站X、Y、Z 方向擺動的限制。約束值的大小要依據(jù)L 文件的精度設(shè)置,如果L 文件中初始臺站坐標比較精確,約束值就可以設(shè)置得比較小,約厘米級精度。如果L 文件誤差大,約束值就要比較大,一般為5 ~10m,否則在最后解算時會導(dǎo)致迭代不收斂,因此可以對IGS站等初始坐標精度比較好的臺站給定較小的約束值,以固定大地坐標框架。
(4)GAMIT 軟件運行控制文件
sestbl.文件中的各選項決定GAMIT 軟件運行過程中的計算方案和相應(yīng)的參數(shù)設(shè)置。要設(shè)置下面幾項參數(shù):
①choice of experiment
RELAX:定軌、定位、解EPR
BASELINE:僅僅定位
ORBIT:僅僅定軌
一般為解算水汽獲取大氣總延遲的時候,僅僅需要選擇BASELINE,不需要對衛(wèi)星進行定軌,廣播星歷的精度已經(jīng)足夠。
②choice of observable
LC_HELP:用LC 觀測解模糊度。
LC_RANGE:用于LC_HELP,但更強調(diào)偽距的作用。
LC_ONLY:用LC 觀測不解模糊度。
L1_ONLY:僅僅使用L1,解模糊度,對于幾千米的小網(wǎng)。
L2_ONLY:僅僅使用L2,解模糊度,對于幾千米的小網(wǎng)。
L1,L2_INDEPEND:分別使用L1、L2,解模糊度,對于幾千米的小網(wǎng)。
最后一個選項不成熟,不建議使用,一般對于幾百千米的區(qū)域網(wǎng),解算天頂延遲的時候,建議選擇使用第一項LC_HELP。
③type of analysis
QUICK:每一個缺口加周跳標志,對每一個周跳標志求解bias 參數(shù),這樣解的參數(shù)多了,解的精度也就低了,且對周跳不敏感。
0-ITER:ARC,MODEL,AUTCLN,SOLVE,SCANDD。
1-ITER:兩個0-ITER 序列,但第一個是QUICK 解。
2-ITER:在1-ITER 基礎(chǔ)上再加一個序列,用于確定軌道。
3-對于僅僅解算基線,獲取大氣延遲量,只需要選擇0-ITER。
以上設(shè)置對于GAMIT 運行有決定性作用,其他相關(guān)參數(shù),如天頂延遲的個數(shù)等,可以根據(jù)需要設(shè)置,每個設(shè)置項的含義在sestbl.文件中都有說明。不同版本的GAMIT 軟件中附帶的sestbl.文件、格式、選項都略有不同。
(1)如果沒有實測氣象數(shù)據(jù),一個測站先驗氣壓和溫度值最好采用Boehm 和Schuh 提出的“全球氣壓和溫度”(GPT)模型值[5]。它利用多年的氣象數(shù)據(jù)擬合,是位置和年積日的函數(shù)。但是,如果有一些測站的RINEX氣象文件和從當前NWM得到的一個測站列表文件,應(yīng)該設(shè)置為:
Met obs source=RNX UFL GPT 50
表示先檢查RINEX 氣象文件M(如圖3 所示),然后檢查U 文件中的測站,最后返回到GPT。VMF1 映射函數(shù)的格網(wǎng)或表文件包含氣壓和溫度或者是天頂干延遲,這種情況下只需指定map.list 或者map.grid。如果不使用VMF1,仍然可以通過met.list 和met.grid 文件來輸入氣壓和溫度值。如果是從RINEX 文件中輸入氣壓和溫度值,則被認為是測站高度上的數(shù)值。
圖3 RINEX氣象文件
(2)使用Dmap 和Wmap 命令來設(shè)置映射函數(shù)。為了使用VMF1,把map.list 和map.grid 連接到當前處理年份的VMF1 文件,設(shè)置Use map list 或Use map grid為Y[yes],并且在Met obs source 中包含ufile。
(3)如果想要在24 小時的測段內(nèi)每2 個小時估計一個參數(shù),設(shè)置Number Zen=13或者Interval Zen=2(當項目中存在多個不同長度的測段時,后者更為方便)。為了利用數(shù)據(jù)文件,還需要設(shè)置Output met=Y。
一系列的準備工作完成后,就可以正式解算數(shù)據(jù)。在GAMIT 命令窗口輸入sh_metutil 命令可以調(diào)用軟件中的metutil 程序。程序可以自動從O 文件中提取天頂總延遲量,并根據(jù)自帶的天頂靜力延遲模型來改正天頂靜力延遲量,通過求差可以算出天頂濕延遲量,從而根據(jù)水汽轉(zhuǎn)換系數(shù)來求得大氣中的水汽總量,得到最終的反演結(jié)果,軟件會輸出一個met_[site].[yyddd]的文件,如圖4 所示。
圖4 met_[site].[yyddd]的文件
基于支持Windows 的UNIX 系統(tǒng),GAMIT 軟件的安裝過程沒有圖形用戶界面,而是一些命令和腳本的松散集合,對于初學者來說難以掌握。本文立足實際經(jīng)驗摸索總結(jié)了一套安裝方法,已在很多計算機上安裝試驗,證明方法可行。GAMIT 軟件解算GPS 數(shù)據(jù)得到大氣可降水量是一個復(fù)雜的過程,需要做大量準備工作,本文從實際應(yīng)用出發(fā)對所需的前期準備工作做了詳細介紹,降低了初學者應(yīng)用GAMIT 軟件反演大氣可降水量的難度,對初學者學習GAMIT 軟件有很大幫助。