賀蔚,董淑鵬
(武漢市政工程設(shè)計(jì)研究院有限責(zé)任公司,湖北武漢 430023)
目前國際上GPS數(shù)據(jù)處理軟件主要有美國JPL的GIPSY/OASIS及MIT的GAMIT/GLOBK,瑞士伯爾尼大學(xué)的BERN系列,國內(nèi)處理精度比較好的軟件為武漢大學(xué)的PANDA軟件。BERN軟件由瑞士伯爾尼大學(xué)研制,目前即將升級到5.2版本,軟件功能十分強(qiáng)大,既有事后精密單點(diǎn)定位(PPP)模塊,又有雙差處理(RNX2SNX)模塊,此外在鐘差計(jì)算、對流層參數(shù)、電離層參數(shù)、定軌計(jì)算方面均能達(dá)到較高精度,是一款專業(yè)性能非常強(qiáng)大的軟件,基本上涵蓋了GPS數(shù)據(jù)處理的所有功能模塊[1~5]。
BERN 5.0軟件分Windows微機(jī)版及Unix版本,Windows版本由于所有功能已編譯,按照使用說明直接安裝到本地微機(jī)上即可使用;Unix版本需要編譯才能使用,不同的操作系統(tǒng)使用不同的編譯器,按照說明書找到編譯器后編譯完成即可使用。但是筆者在使用時(shí)發(fā)現(xiàn),按照軟件說明書的操作進(jìn)行安裝時(shí)會碰到錯誤,導(dǎo)致安裝執(zhí)行不下去。基于此本文主要介紹了如何在Linux系統(tǒng)下成功安裝BERN 5.0軟件以方便初學(xué)者使用;基于目前國內(nèi)CORS站網(wǎng)數(shù)據(jù)較多,使用相關(guān)數(shù)據(jù)處理時(shí)需分區(qū)處理耗時(shí)費(fèi)事的問題,本文提出利用BERN 5.0軟件進(jìn)行快速處理的方法和編譯策略[6]。
本文所述的在Linux下成功安裝的過程主要采用的操作系統(tǒng)為 Linux2.6.18 -164.el5 版本,c shell環(huán)境,基本編譯語言為G95。要想成功安裝BERN 5.0,必須做好必要的文件準(zhǔn)備工作,如檢查安裝文件是否齊全;下載輔助安裝軟件,如在Linux操作系統(tǒng)下必須安裝QT、Perl以及Fortran 編譯器,其中,QT 需要3.0.7版本以上,Perl需要5.6版本以上,目前操作系統(tǒng)主要分為32位和64位,注意下載對應(yīng)版本的軟件,F(xiàn)ortran編譯器則有F77,F(xiàn)90,G95等,根據(jù)不同用戶需要選擇相應(yīng)編譯器。
Unix版本的BERN 5.0軟件安裝包共有8個壓縮文件,分別是 BPE.TAZ,EXAMPLE.TAZ,GPS.TAZ,ICONS.TAZ,INC.TAC,LIB.TAZ,MENU.TAZ,PGM.TAZ,以及SETUP.SH文件和一個README文件夾,內(nèi)含一些說明文件,在安裝前必須檢查以上所述安裝文件是否齊全。
首先在.chsrc中設(shè)置如下環(huán)境變量:
接下來相繼運(yùn)行:
即可安裝完畢。
即可成功安裝。
將路徑鏈接后就可以執(zhí)行g(shù)95,而不需要重新安裝。
在準(zhǔn)備文件安裝完畢后即可以進(jìn)行BERN 5.0軟件的編譯,本文所述的軟件編譯并不是對BERN 5.0軟件操作說明書的簡單翻譯,而是對其未提及技術(shù)問題的補(bǔ)充,因而須結(jié)合軟件操作說明書的安裝步驟及本文所說內(nèi)容進(jìn)行安裝,因而普通的安裝流程將不是本文的重點(diǎn),也不再贅述。
首先打開Linux終端進(jìn)入安裝目錄,查看是否安裝了uncompress解壓軟件,一般Linux下不帶uncompress這個解壓軟件,解決方法一是下載安裝uncompress,另外一個方法是采用Linux下自帶的gzip解壓軟件,即打開安裝源文件SETUP.SH,把uncompress換成gzip-d源文件系統(tǒng),檢查,然后在該安裝目錄下執(zhí)行以下命令:sh SETUP.SH
①將會出現(xiàn)拷貝文件到安裝目錄的命令,等文件拷貝完成后,先不按照提示進(jìn)行安裝,而選擇退出,進(jìn)入$X/EXE($X代表BERN 5.0安裝路徑)目錄下修改CMPOPT.pl文件,加入g95編譯器到系統(tǒng)指定的編譯選項(xiàng),添加的語言如下:
②輸入:
將會出現(xiàn)編譯窗口,再按照窗口中的提示一步步進(jìn)行,就可以編譯成功當(dāng)前版本的BERN 5.0。
安裝完成以后,必須將以下兩行加入.cshrc文件中去:
至此,安裝過程已基本完畢,在終端輸入G回車,即可出現(xiàn)bernese界面。
由于不同的用戶使用的版本可能不一樣,而BERN 5.0軟件開發(fā)小組定期對軟件進(jìn)行升級和維護(hù),要想正常使用Bern必須將當(dāng)前安裝完畢的版本升級到最新版本。例如筆者安裝的軟件版本為2004-07-15,則必須將其升級到2010-02-18版本。
在軟件安裝完畢后,必須對現(xiàn)有的版本進(jìn)行升級,去伯爾尼官方網(wǎng)站上下載對應(yīng)時(shí)期的升級包,解壓覆蓋或安裝編譯即可。需要記住的是要按照時(shí)間順序先后解壓覆蓋,最終解壓完畢以后一起編譯,如筆者版本為2004-07-15版本,則必須依次下載2004-2010年補(bǔ)丁,依照時(shí)間先后順序解壓到$X目錄下。然后再運(yùn)行一遍:
對源文件進(jìn)行重新編譯。
同時(shí)還需要下載最新的EXAMPLE壓縮包,因?yàn)樾掳姹镜能浖С痔炀€帶罩子,而老版本的并不支持,所以必須更新算例。此外,還要到ftp://aiub.unibe.ch下更新GPS/GEN目錄下的一些常用參數(shù)文件,該目錄包含接收機(jī)型號、天線型號、衛(wèi)星狀態(tài)信息及地球物理常數(shù),需要及時(shí)更新到最新版本。
安裝過程中最容易遇到問題的是Fortran編譯器的使用,因?yàn)樵诶习姹镜能浖?,只列?類操作系統(tǒng)和編譯軟件,很多時(shí)候都沒有對應(yīng)的編譯軟件,因而在使用新機(jī)器或新的編譯器情況下,都需在CMPOPT.pl文件中加入編譯語言。
在安裝過程中,僅第一次使用sh SETUP.sh命令,將所有的文件解壓完畢拷貝當(dāng)安裝目錄后,不能再執(zhí)行該命令,特別是修改完CMPOPT.pl文件后切記不能運(yùn)行,否則將修改的CMPOPT.pl文件覆蓋。
安裝完畢后需設(shè)置環(huán)境變量,特別是加入setenv BPE_SERVER_HOST“`uname - n`”這一行至.cshrc文件中,否則安裝的結(jié)果看似正常實(shí)則不能運(yùn)行。
安裝完畢后運(yùn)行程序前還須按照說明文件所述生成DEP200文件,否則安裝步驟并沒有完全。
BERN 5.0開發(fā)的BPE引擎是處理連續(xù)運(yùn)行基準(zhǔn)站(CORS)數(shù)據(jù)的利器,因?yàn)镃ORS站的數(shù)據(jù)設(shè)置統(tǒng)一,通過BPE計(jì)算可實(shí)現(xiàn)連續(xù)自動化。但是目前國內(nèi)很多省市CORS數(shù)據(jù)已接近100站,而對于國家基準(zhǔn)站數(shù)據(jù),更是高達(dá)260個,如果用GAMIT計(jì)算,則需考慮分區(qū)處理,而由于BERN 5.0采用的是非差處理方式(PPP)和雙差處理方式(RNX2SNX),采用的是n-1基線組合方式,因而可通過調(diào)整源程序重新編譯使其適應(yīng)更多站的計(jì)算。本文主要介紹PPP數(shù)據(jù)處理模塊進(jìn)行大規(guī)?;鶞?zhǔn)站網(wǎng)數(shù)據(jù)處理的編譯策略。
在BERN 5.0中精密單點(diǎn)定位(PPP)數(shù)據(jù)處理模塊采用了非差處理模式,處理精度在2 cm左右,其日常設(shè)置中最大測站數(shù)設(shè)置為100站,由于其處理采用非相關(guān)模式,因而可以進(jìn)行相對擴(kuò)展,進(jìn)而處理大規(guī)?;鶞?zhǔn)站觀測數(shù)據(jù)。根據(jù)數(shù)據(jù)計(jì)算需求,擬將其更改為最大可同時(shí)處理300個CORS站數(shù)據(jù),在實(shí)際計(jì)算過程中,主要采用2011年第172天229個CORS站數(shù)據(jù)進(jìn)行大規(guī)模網(wǎng)處理調(diào)試,對運(yùn)行過程中出現(xiàn)的問題查找原因并修改源程序后編譯執(zhí)行。以下為主要的源程序編譯過程:
主程序文件:M_MAXDIM.F文件中,MAXFIL變量由200改為300;CRDMRG文件中文件限制由100改為300;P_gpsest.f文件中MAXFIL變量由200改為300,如果需要計(jì)算電離層參數(shù),還需將其擴(kuò)展至900。
對于主程序,修改后編譯需執(zhí)行以下命令:
在對話框出現(xiàn)后選擇選項(xiàng)“4”,即編譯源程序即可使用。
子程序文件:QBLH.f,PRIDIS.f,GPHELM.f,CORSAV.f,XYZTIM.f等文件中 MAXFIL 變量由 200 更改為300。
更改后首先打開$I/I_GPSLIB.f90文件,查看文件里面是否含有該子程序的交互定義,如果有,則需按照修改主程序的步驟進(jìn)行重新編譯;如果沒有子程序的交互定義,則可采用如下方法進(jìn)行編譯:
則以上修改的信息均已編譯完成,可以進(jìn)行大規(guī)模就CORS站網(wǎng)數(shù)據(jù)處理。圖1是筆者基于PPP模式計(jì)算的229個GNSS連續(xù)運(yùn)行基準(zhǔn)站數(shù)據(jù)的統(tǒng)計(jì)結(jié)果,從該結(jié)果中可以看出,BERN 5.0軟件可以經(jīng)過修改后可進(jìn)行大規(guī)模基準(zhǔn)站網(wǎng)的數(shù)據(jù)處理,共可計(jì)算229站,458個文件數(shù)據(jù),處理結(jié)果的驗(yàn)后精度為0.001 18 m滿足精度需求。且計(jì)算過程耗時(shí)不長,大約每天230站數(shù)據(jù)采用PPP模式計(jì)算的話在30 min左右就可以計(jì)算出結(jié)果。
圖1 229個CORS站數(shù)據(jù)處理統(tǒng)計(jì)
本文主要介紹了BERN 5.0在Linux系統(tǒng)下成功安裝的技術(shù)細(xì)節(jié)并對軟件說明書進(jìn)行了必要補(bǔ)充,方便初學(xué)者在Linux系統(tǒng)下使用該軟件;同時(shí)基于目前國內(nèi)CORS站網(wǎng)數(shù)據(jù)較多,使用相關(guān)數(shù)據(jù)處理時(shí)需分區(qū)處理,耗時(shí)費(fèi)事的問題根據(jù)筆者實(shí)際應(yīng)用過程中的經(jīng)驗(yàn),給出Linux系統(tǒng)下進(jìn)行大規(guī)模CORS站網(wǎng)數(shù)據(jù)處理策略和編譯方法。
[1]顧國華.GNSS科學(xué)發(fā)展與前景[J].全球定位系統(tǒng),2008,33(4):1 ~6.
[2]張彩紅,朱波,張黎.應(yīng)用Bernese軟件進(jìn)行高精度GPS定位解算[J].測繪信息與工程,2006,31(3):8~9.
[3]李志才,武軍酈,張鵬等.基于BERN 5.0軟件計(jì)算的北京地區(qū)GPS可降水量研究[J].全球定位系統(tǒng),2008,6,1 ~5.
[4]譚建冬,師倩.基于BERN 5.0軟件GPS動態(tài)單歷元計(jì)算的初步探討[J].礦山測量,2009(04):67~69.
[5]李志才,張鵬,蔣志浩等.基于單歷元方法研究汶川8.0級地震對中國大陸的同震變形影響[J].測繪科學(xué),2009(05):49~51.
[6]Rolf Dach,Urs Hugentobler,Pierre Fridez,Michael Meindl.Bernese GPS Software Version 5.0[R].2007.