高 超,鄧 瑤,張小潭,趙 磊
(1.中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司,云南昆明650051;2.南京衡水科技有限公司,江蘇南京210000)
1990年,我國(guó)引進(jìn)和試用聲學(xué)多普勒流速剖面儀(Acoustic Doppler Current Profiler,簡(jiǎn)稱“ADCP”)開(kāi)展長(zhǎng)江口潮汐流量測(cè)驗(yàn),開(kāi)創(chuàng)了應(yīng)用ADCP進(jìn)行河口及內(nèi)河流量測(cè)驗(yàn)的先河[1]。由于其較之常規(guī)的測(cè)流方法可極大地提高效率,目前已在我國(guó)多種類型河流、不同適用性條件下的水文系統(tǒng)工作中廣泛應(yīng)用[2- 3]。但多用于河口及內(nèi)河流速、流量與懸移質(zhì)泥沙測(cè)驗(yàn)工作,而對(duì)于其他測(cè)量數(shù)據(jù)的深度挖掘與二次開(kāi)發(fā)并未得到充分研究。隨著ADCP應(yīng)用范圍與場(chǎng)景的不斷拓展與深入,其測(cè)量采集的數(shù)據(jù)可應(yīng)用于許多方面;這就需要先對(duì)其大量測(cè)量數(shù)據(jù)進(jìn)行甄別及深度挖掘,從中提取出我們需要的數(shù)據(jù),并視情況對(duì)其進(jìn)行二次加工利用。
筆者就以往的實(shí)踐經(jīng)驗(yàn)與水文分析等工作先后采用MATLAB軟件進(jìn)行以下研究,基于Copula函數(shù)的區(qū)域降水聯(lián)合分布與特征分析[4],基于AHP_Fuzzy法的漢江流域水資源承載力評(píng)價(jià)與預(yù)測(cè)[5]及基于MATLAB的水文資料整編后處理模塊開(kāi)發(fā)[6],充分展現(xiàn)出MATLAB語(yǔ)言的矩陣運(yùn)算、曲線繪圖等強(qiáng)大的數(shù)據(jù)處理功能;其在水文測(cè)量龐大的數(shù)據(jù)挖掘與整理分析工作中同樣具有優(yōu)良的應(yīng)用前景與推廣意義。
以基層水文工作的實(shí)例為切入點(diǎn)——設(shè)計(jì)斷面僅具有ADCP走航數(shù)據(jù)與水上斷面測(cè)量數(shù)據(jù),需推求出設(shè)計(jì)斷面的水位流量關(guān)系;故先從ADCP走航數(shù)據(jù)中挖掘提取出設(shè)計(jì)斷面的水下部分,并與水上測(cè)量斷面合并,得到完整的大斷面成果;再基于MATLAB軟件編制了水力要素計(jì)算程序,可輕松實(shí)現(xiàn)水位流量關(guān)系的推求。
以筆者所在單位中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司采購(gòu)的走航式ADCP為例,其由美國(guó)TRDI公司開(kāi)發(fā)研制,與之配套的是WinRiver II軟件v2.17版本。使用軟件打開(kāi)圖1中一個(gè)測(cè)量文件,點(diǎn)擊圖1中箭頭指示的“ASCII數(shù)據(jù)文件輸出向?qū)А卑粹o,彈出如圖對(duì)話框。
圖1 ASCII數(shù)據(jù)文件輸出向?qū)?duì)話框示意
此時(shí),可采用兩種方法創(chuàng)建模版:方法一直接點(diǎn)擊下一步按步驟生成所需模版;方法二載入之前已保存的輸出文件模版,減少對(duì)話框中手動(dòng)操作的工作量。兩種方法的具體操作分別介紹如下。
(1)方法一。在圖1對(duì)話框中默認(rèn)選擇第一項(xiàng)“生成新ASCII輸出文件模版”,點(diǎn)擊下一步,彈出生成模版系列對(duì)話框,見(jiàn)圖2。從左側(cè)項(xiàng)目欄可見(jiàn)共包括四個(gè)子步驟,第一步“參數(shù)選擇”對(duì)話框:在中間列表欄中搜索選擇所需輸出的參數(shù),本例為提取水下斷面,即對(duì)走航式ADCP測(cè)量文件中的底跟蹤數(shù)據(jù)進(jìn)行提取,對(duì)應(yīng)輸出參數(shù)為各呼集合(垂線)深度與寬度,其中深度參數(shù)為四個(gè)探頭Beam平均深度——即Beams Average Depth[m]參數(shù),寬度參數(shù)為參照底跟蹤BT總寬度——即Total Width(Ref:BT)[m]參數(shù),參數(shù)選入右側(cè)項(xiàng)目欄后點(diǎn)擊下一步;第二步“選擇輸出格式”對(duì)話框:如無(wú)特殊輸出格式要求按默認(rèn)選擇即可并點(diǎn)擊下一步;第三步“數(shù)據(jù)輸出選擇”對(duì)話框:勾選“到文件(輸出到工程目錄)”選項(xiàng)并點(diǎn)擊下一步;第四步“完成”對(duì)話框:點(diǎn)擊“瀏覽”按鈕,編輯要保存的模版路徑及文件名并點(diǎn)擊完成。至此,便完成了所需提取數(shù)據(jù)(本例為水下斷面數(shù)據(jù))其新ASCII輸出文件模版生成的所有步驟,即在目標(biāo)文件夾中已生成一個(gè)輸出文件模版,即ttf格式文件,可供下次提取數(shù)據(jù)直接導(dǎo)入使用。
圖2 生成新ASCII輸出文件模版對(duì)話框示意
(2)方法二。在圖1對(duì)話框中選擇第二項(xiàng)“載入ASCII數(shù)據(jù)文件輸出模版”,點(diǎn)擊下一步,彈出對(duì)話框中選擇之前導(dǎo)出的數(shù)據(jù)文件輸出模版,即ttf格式文件;再回到圖1對(duì)話框中后選擇第三項(xiàng)“管理載入模版”,點(diǎn)擊下一步,視需要在已有模版基礎(chǔ)上按照方法一的步驟對(duì)應(yīng)修改;最后得到所需的輸出文件模版。
按照上述任一方法完成輸出文件模版的創(chuàng)建后,回到WinRiver II軟件界面,便可發(fā)現(xiàn)當(dāng)前測(cè)量文件的各測(cè)次下面都多了一個(gè)txt文件,見(jiàn)圖3。接著根據(jù)生成的輸出文件模版對(duì)所需提取測(cè)次進(jìn)行重新處理,先勾選所需提取測(cè)次,右鍵點(diǎn)擊圖3中的“站點(diǎn)流量”文字處,將會(huì)彈出幾個(gè)選項(xiàng),選擇第一個(gè)“重新處理所有選定的測(cè)次”,等待所有選定的測(cè)次逐個(gè)
圖3 模版創(chuàng)建后的WinRiver II軟件界面示意
處理結(jié)束。上述txt文件便可直接訪問(wèn),同時(shí)測(cè)流文件所在目錄中亦生成了上述txt文件。文件內(nèi)容為對(duì)應(yīng)測(cè)次所需提取的數(shù)據(jù)。亦即為前述輸出文件模版中選定的參數(shù),本例為各呼集合(垂線)深度與寬度參數(shù)。
至此,所需提取的ADCP測(cè)量數(shù)據(jù)已經(jīng)成功導(dǎo)出到對(duì)應(yīng)地txt文件中。即,本例中組成水下斷面的各呼集合(垂線)深度與寬度參數(shù)已提取出來(lái)。需要注意的一點(diǎn),導(dǎo)出的各呼集合(垂線)寬度數(shù)據(jù)已包含測(cè)流時(shí)設(shè)置的左右岸寬度。
回顧上述ADCP測(cè)量數(shù)據(jù)挖掘過(guò)程,最核心的工作便是在輸出文件模版中正確甄別與選擇出所需要的參數(shù);否則,很可能南轅北轍,最后導(dǎo)致分析計(jì)算成果出錯(cuò)。例如,本文分析計(jì)算設(shè)計(jì)斷面水位流量關(guān)系所缺的水下斷面數(shù)據(jù)是應(yīng)該提取各呼集合(垂線)深度與寬度參數(shù);而ADCP走航測(cè)流過(guò)程中測(cè)量到的深度和寬度很多。如何從其中準(zhǔn)確甄別得到所需參數(shù)便是本次實(shí)際工作中的重難點(diǎn)。解決此類問(wèn)題推薦參閱《WINRIVER II SOFTWARE USER’S GUIDE(August 2015)》軟件幫助文檔中的“Table 6. WinRiver II ASCII Output Variable List”等有關(guān)內(nèi)容。
采用WinRiver II軟件查看某個(gè)完整的ADCP走航測(cè)流文件,其中共包含576項(xiàng)可輸出參數(shù),上文已介紹了從這些海量測(cè)量數(shù)據(jù)中進(jìn)行甄別與提取數(shù)據(jù)的詳細(xì)過(guò)程,獲取原始測(cè)量數(shù)據(jù)后視需要對(duì)其進(jìn)行二次加工處理,以滿足后期應(yīng)用的需要。如本例需要將水下提取斷面與水上測(cè)量斷面進(jìn)行合并,得到完整的測(cè)流大斷面成果,并對(duì)逐個(gè)水位級(jí)統(tǒng)計(jì)計(jì)算得到對(duì)應(yīng)的斷面面積、濕周與水力半徑值,最終采用曼寧公式推求得到設(shè)計(jì)斷面的水位流量關(guān)系成果。其中,水上、水下斷面的合并過(guò)程較為簡(jiǎn)單,人工完成即可,而依據(jù)大斷面成果推求水位流量關(guān)系為批量過(guò)程,推薦采用MATLAB開(kāi)發(fā)對(duì)應(yīng)計(jì)算程序;此外,在水位流量關(guān)系定線過(guò)程中應(yīng)充分考慮與斷面水位流量實(shí)測(cè)點(diǎn)據(jù)的匹配,對(duì)斷面糙率值進(jìn)行率定采用。
根據(jù)曼寧公式推求水位流量關(guān)系:首先定義由低到高的水位級(jí)系列,再依據(jù)大斷面情況分別對(duì)各水位級(jí)統(tǒng)計(jì)計(jì)算得到此水面與水下斷面組成的斷面面積A值與濕周χ值,進(jìn)而求得此水位級(jí)對(duì)應(yīng)地水力半徑R值;結(jié)合斷面縱剖面測(cè)量資料求得其比降S值;結(jié)合經(jīng)驗(yàn)糙率表或者斷面實(shí)測(cè)水位流量成果率定得到的糙率n值;最后將各水位級(jí)對(duì)應(yīng)地A、R、S、n帶入曼寧公式便可推求得到對(duì)應(yīng)流量,即為水位流量關(guān)系成果。
上述依據(jù)大斷面統(tǒng)計(jì)批量計(jì)算各水位級(jí)的水力要素(A值、χ值與R值等)的過(guò)程采用MATLAB進(jìn)行編制。A值為依次對(duì)相鄰兩個(gè)點(diǎn)據(jù)與水面組成的三角形或四邊形面積求和得到,χ值為依次對(duì)相鄰兩個(gè)點(diǎn)據(jù)之間的距離求和得到。此程序只需將大斷面數(shù)據(jù)文件與水位級(jí)數(shù)據(jù)文件統(tǒng)一輸入,即可得到各水位級(jí)對(duì)應(yīng)地水力要素成果。充分利用MATLAB語(yǔ)言強(qiáng)大的矩陣運(yùn)算優(yōu)勢(shì)實(shí)現(xiàn)有關(guān)批量計(jì)算功能,并結(jié)合實(shí)際工作需要批量繪制各種圖表(如本例水位流量關(guān)系曲線圖),從而使得ADCP測(cè)量數(shù)據(jù)二次開(kāi)發(fā)過(guò)程簡(jiǎn)單可行。
本文以基層水文工作的實(shí)例為切入點(diǎn),對(duì)ADCP測(cè)量數(shù)據(jù)挖掘與二次開(kāi)發(fā)展開(kāi)介紹。實(shí)例中的方法已在中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司設(shè)計(jì)與運(yùn)行的南歐江流域水情自動(dòng)測(cè)報(bào)系統(tǒng)[7]等多個(gè)工程項(xiàng)目中有效運(yùn)用。尤其是,本方法中數(shù)據(jù)挖掘提取過(guò)程僅依靠官方WinRiver II測(cè)流軟件便可實(shí)現(xiàn),操作簡(jiǎn)單,在未來(lái)推廣過(guò)程中,面對(duì)各式各樣的個(gè)性化數(shù)據(jù)提取需求,僅需針對(duì)性的修改輸出文件模版即可。
回顧ADCP測(cè)量數(shù)據(jù)挖掘過(guò)程,最核心的工作便是在輸出文件模版中正確甄別與選擇出所需要的參數(shù);否則,很可能南轅北轍,最后導(dǎo)致分析計(jì)算成果出錯(cuò)。ADCP走航測(cè)流文件共包含576項(xiàng)可輸出參數(shù),創(chuàng)建輸出文件模版的準(zhǔn)確性將是未來(lái)推廣使用中的重難點(diǎn)問(wèn)題,推薦參閱WinRiver II軟件幫助文檔等有關(guān)內(nèi)容,以保證數(shù)據(jù)提取準(zhǔn)確。