在Linux操作系統下安裝與運行GAMIT軟件 |
發布時間: 2012/8/26 17:38:46 |
1、引言
隨著GPS技術的發展,在大地測量、工程測量、地球動力學、GPS氣象學等多種學科中得到廣泛的應用,精密解算GPS觀測數據的軟件也得到了重視與發展。國內外開發了許多GPS數據處理軟件,主要有著名的美國麻省理工學院(MIT)和斯克里普斯海洋研究所(SIO)開發的GAMIT軟件,美國宇航局(NASA)噴氣推進實驗室(JPL)研發的GIPSY-OASIS軟件,以及瑞士伯爾尼大學天文研究所研制的BERNESE軟件等幾種。本文主要介紹GAMIT軟件,其最主要的特點是其解算精度高,且免費開放源代碼,用戶可以根據需要對源程序做相應的修改,以便于科研工作。 2、GAMIT簡介GAMIT可以解算衛星軌道、測站坐標、大氣延遲、整周模糊度等。它主要由以下幾個模塊組成:ARC(軌道積分)、MODEL(組成觀測方程)、SINCLN(單差自動修復周跳)、DBLCLN(雙差自動修復周跳)、CVIEW(人工交互式修復周跳)、CFMRG(用于創建SOLVE所需的M文件)、SOLVE(利用雙差觀測按最小二乘法求解參數)。 GAMIT軟件所需的數據是RINEX格式的,可以處理各種不同型號的GPS接收機采集的數據。目前,GAMIT軟件支持在UNIX和LINUX操作系統上運行,本文以GAMIT 10.2和LINUX RedHat 9.0為例來講解其安裝與使用過程。 3、軟件的安裝 3.1 LINUX系統的安裝 首先確保電腦上有足夠的空間來安裝LINUX,在這推薦至少有10G的空閑空間。LINUX系統的安裝可選擇從光盤安裝,硬盤安裝或網絡安裝,一般選擇從光盤安裝。在光驅中插入安裝光盤,從光盤引導后,根據安裝向導的提示,就能完成LINUX系統的安裝。 3.2 LINUX編譯器的更新LINUX系統的C和Fortran編譯器系統默認的文件選項中MAXUNIT為100,而GAMIT軟件源代碼中則要求MAXUNIT為10000。如果不進行修改而直接進行GAMIT軟件的安裝,則會產生很多的警告性錯誤,造成安裝后無法正常運行。安裝GCC的步驟如下:用戶可以從網站上(http://gcc.gnu.org)下載GCC編譯器2.95.3或以上版本的源代碼,拷貝至/usr/gcc目錄下,進入該目錄,用tar zxvf 命令將其解壓后,找到gcc-2.95.3/libf2c/libI77/目錄下的fio.h文件,用vi命令打開,將#define MAXUNIT 100這一行改為10000,保存后,退到/usr/gcc目錄,重新進行編譯和安裝GCC。 3.3 GAMIT系統的安裝 從麻省理工學院的FTP服務器(http://bowie.mit.edu)下載GAMIT軟件包,其中包括了軟件源代碼和安裝包。在LINUX系統中創建/usr/gamit目錄,將GAMIT安裝包目錄/source下的文件拷貝至此,其中有安裝批處理文件install_software和幾個以.tar.Z結尾的壓縮文件,以10.2版為例,分別為: install_software 安裝批處理文件 com.10.2.tar.Z 組件壓縮包 gamit.10.2.tar.Z gamit軟件壓縮包 help.10.2.tar.Z 幫助系統壓縮包 kf.10.2.tar.Z kf軟件壓縮包 libraries.10.2.tar.Z 庫文件壓縮包 templates.10.2.tar.Z 數據模塊壓縮包 maps.10.2.tar.Z 地圖數據壓縮包 在安裝軟件前,要做一些相關配置。首先,要對安裝程序的配置文件Makefile.config進行修改。與系統相關的設置主要是庫文件和編譯器的路徑設置,在linux redhat 9.0下設置的路徑為: X11LIBPATH /usr/X11R6/lib X11INCPATH /usr/X11R6/include/X11 與GPS數據處理相關的幾個參數為: MAXSIT 最大測站數 默認值45 MAXSAT 最大衛星數 默認值30 MAXATM 最大天頂延遲參數 默認值49 MAXEPC 最大歷元數 默認值2880 做好這些準備就可以安裝軟件了,進入/usr/gamit目錄,運行命令./install_software,然后根據屏幕給出的提示給予回應,就可以完成安裝。 3.4 設置軟件路徑 等待上述安裝過程結束之后,并不能正常運行GAMIT軟件,要對.cshrc文件配置。把路徑/usr/gamit/com、/usr/gamit/gamit/bin、/usr/gamit/kf/bin,加入到path。這樣做是因為我們在控制臺中運行程序時,使用的是bash shell,若不改寫C shell配置文件,會導致系統無法從路徑中調用到GAMIT的命令。這樣GAMIT軟件才算真正地完成了安裝。 本文選取了2006年,年積日為100天的安徽黃山(ahhs)、安徽馬鞍山(ahma)、江蘇常州(jscz)、江蘇高郵(jsgy)、上海奉先(shfx)、上海浦東(shpd)6個國內的GPS觀測站的觀測資料。 4.1 數據準備 建立rinex、eph、tables目錄和以年積日100命名的工作目錄。在rienx目錄中準備該天的所選用的各個觀測站的觀測文件o-files。在eph目錄中準備導航文件auto1000.06n,GPS衛星星歷igu13701.sp3,極移表pole.,TAI-UT1國際時間系統表ut1.,壞衛星信息文件svs_exclude.txt。在tables中建立:測站信息文件station.info,測段信息控制文件sestbl., 測站信息控制文件sittbl.,天線相位中心改正表antmod,dat,周跳的自動探測和修改命令表autcln.cmd,地球形狀參數表gdetic.dat,跳秒表leap.sec,月亮表luntab.,章動表nutabl.,太陽表soltab.,星號對照表svnav.dat,接收機及其天線型號對照表rcvan.dat。 上述的文件,可以在網站(ftp://lox.ucsd.edu)下載2006年底100天的衛星星歷,以及2005年的太陽表、月亮表和章動表(這些表每年都要更新,因此要下載所處理數據當年的),其余的文件在安裝GAMIT時是自帶的,復制到對應的文件夾下即可。需要注意的是, station.info, sestbl., sittbl.這三個文件,應該根據實際處理的情況做相應的修改。 編輯station.info文件:首先打開o-files,記錄每個選用臺站的X、Y、Z方向的高度和接收機型號、天線型號,然后來校正station.info文件中的數據,以求每一個站都有正確的天線高度等信息。開始和結束時間形如:0 0 0 0 24 0 0,則天線信息不僅適用于這一天,而且適用于以后的天,直到有更新的信息。同一站的信息可以出現多次,但不必相鄰,但必須是按時間先后順序排列的。 編輯sestbl.文件:文件選擇計算方案和設置與計算方案相應的參數。主要設置下面幾項: A、Choice of Experiment RELAX:定軌、定位、解ERP; BASELINE:僅僅定位。 B、Choice of Observable LC_HELP:用LC觀測解模糊度; LC_RANGE:用LC觀測模糊度,但更強調偽距的作用; LC_ONLY:用LC觀測,不解模糊度; L1_ONLY:僅僅使用L1,解模糊度,對于幾公里的小網; L2_ONLY:僅僅使用L2,解模糊度,對于幾公里的小網; C、Zenith Delay Estimation YES:解算天頂延遲估計; NO:不解算天頂延遲估計。 D、Interval Zen 解算天頂延遲參數的時間間隔。 編輯sittbl.文件:首先檢查是否包括每個選用測站的信息,缺少的信息要補全,然后對每一個站設置先驗約束。這里主要是對臺站在X、Y、Z方向擺動的作限制。 4.2 數據處理步驟 (1)用ln命令鏈接../rinex,../eph,../tables內的文件到work; (2)執行makexp程序建立所有準備文件的輸出及一些模塊的輸入文件。系統會提示讓輸入試驗名、軌道名、year、doy、session number、概略坐標文件、導航文件名,系統還會提示輸入采樣間隔、起始時間、歷元數。這樣,我們依次輸入pgga,pgga,2006,100,0,lpgga,auto1000.06n,60 0 0 1440即可。 (3)sh_sp3fit –-f igu13701_18.sp3 –-d 2006 099 100 –-t tpgga6.100 并將生成的*.099文件改名為*.100 (4)makej auto1000.06n jauto6.100 (5)makex pgga. (6)fixdrv dpgga6.100 (7)csh b*.bat 以上pgga為工程名稱,可以根據需要進行替換。 4.3 數據處理結果分析 此次數據處理例子是解算對流層天頂延遲的。結算的精度與可靠性主要看兩個方面: (1)是否使用了足夠的資料。所得基線分量的精度是衡量這個標準是否滿足的標志。此例中基線邊解算精度的統計如表1所示。 由表1可以看到,GAMIT解算得到的基線相對精度均優于對臺站坐標和衛星軌道所加的約束10-3。 (2)對資料的擬合模型是否達到它的噪聲水平。滿足這個條件的判據是解的nrms(normalized rms),即每個自由度的chi-square的平方根。其理論值是1,但實際上這個值在0.25左右才算正常,本例中nrms=0.28。如果這個值大于0.5,則意味著有殘余的周跳,或是有嚴重的其它問題。 表 1
5、結論 讀者可以根據以上的步驟進行GAMIT軟件的安裝與運行,不同的硬件配置,處理結果可能有微小的差異。從以上可以得到結論,GAMIT在LINUX系統上的處理結果是可靠的。然而,GAMIT為一復雜的GPS處理軟件,在實際使用時,會遇到各種各樣的問題,這就需要在實踐中不斷地摸索總結,這樣,才能熟練掌握它。 本文出自:億恩科技【www.vbseamall.com】 本文出自:億恩科技【www.enidc.com】 --> |