水文站流量測(cè)驗(yàn)成果的計(jì)算,一直以來(lái)都是采用進(jìn)行人工計(jì)算、校核和統(tǒng)計(jì),這種傳統(tǒng)的方式不僅繁瑣,工作量大而且效率低,隨著科技的發(fā)展,計(jì)算機(jī)的普及及應(yīng)用,開(kāi)發(fā)計(jì)算機(jī)的應(yīng)用程序,應(yīng)用計(jì)算機(jī)進(jìn)行流量測(cè)驗(yàn)成果的統(tǒng)計(jì)計(jì)算,不僅縮短了工作量,同時(shí)提高了計(jì)算精度,大大提高生產(chǎn)率,解放了勞動(dòng)力,為測(cè)洪、報(bào)訊等節(jié)約了時(shí)間,為提升水文測(cè)報(bào)整的數(shù)據(jù)化、性息化提供了支持和保障。
Microsoft office Excel(電子表格)是水文站職工最為常用的應(yīng)用軟件之一,Excel的VBA(Visual Basic For Application)語(yǔ)言提供了強(qiáng)大的二次開(kāi)發(fā)功能;結(jié)合不同測(cè)區(qū)河流特性和現(xiàn)有流量測(cè)驗(yàn)方法,設(shè)計(jì)適合本地區(qū)河流特性的流量計(jì)算程序是提高本地區(qū)流量測(cè)驗(yàn)自動(dòng)化水平的重要因素,該程序結(jié)合水文測(cè)站流量測(cè)驗(yàn)計(jì)算的具體要求,并滿(mǎn)足《河道流量測(cè)驗(yàn)規(guī)范》和《水文資料整編規(guī)范》的技術(shù)要求。除了考慮到流量的計(jì)算方法外,還考慮到陡岸邊、兩股流、測(cè)深不測(cè)速、死水界定、一條垂線(xiàn)兩個(gè)水深、多點(diǎn)法、多種流速儀的組合應(yīng)用,冰期流量計(jì)算等特殊條件下的計(jì)算,都可以通過(guò)程序中的參數(shù)設(shè)置將所需要的參數(shù)和系數(shù)輸人到其中,包括岸邊系數(shù)、流速系數(shù)、比降斷面間距、流速儀計(jì)算公式、水尺高程等。
根據(jù)水文測(cè)驗(yàn)規(guī)范的要求以及實(shí)際工作的需要,利用VBA宏控制語(yǔ)言編寫(xiě)了流量計(jì)算的程序代碼,通過(guò)控制Excel對(duì)象和流量計(jì)算、圖表自動(dòng)繪制等功能,借此使Excel和VBA在流量測(cè)驗(yàn)計(jì)算中得以應(yīng)用?;赩BA開(kāi)發(fā)Excel測(cè)量程序具有簡(jiǎn)便、高效和通用的特點(diǎn),程序的使用具有直觀、實(shí)時(shí)、動(dòng)態(tài)、靈活、交互性與圖形功能強(qiáng)等明顯的優(yōu)勢(shì)。由于Office軟件使用的普遍性及其組件之間數(shù)據(jù)良好的交互性和共享性,Excel在數(shù)據(jù)處理與相應(yīng)報(bào)告的生成等方面更具優(yōu)勢(shì)。在項(xiàng)目設(shè)計(jì)開(kāi)發(fā)以及成果檢驗(yàn),都是在水文站的流量實(shí)測(cè)資料的基礎(chǔ)上進(jìn)行,而后在其它水文站上檢驗(yàn)、推廣及應(yīng)用。
Excel是微軟公司開(kāi)發(fā)的一種具有計(jì)算、繪圖等多種功能通用的電子表格軟件,是微軟辦公套裝軟件的一個(gè)重要的組成部分,它具有嚴(yán)格的先后順序和邏輯關(guān)系,每一個(gè)表格具有固定的格式,層次清晰,一目了然,可以進(jìn)行各種數(shù)據(jù)的處理、統(tǒng)計(jì)分析和輔助決策操作,廣泛應(yīng)用于眾多領(lǐng)域,在水利方面的應(yīng)用也越來(lái)越廣泛;水文測(cè)驗(yàn)中數(shù)據(jù)較多,計(jì)算量大,是一項(xiàng)比較繁瑣且人工計(jì)算容易出錯(cuò)的工作,采用Excel編制計(jì)算模塊,具有強(qiáng)大的功能和良好的人機(jī)交互對(duì)話(huà)界面,簡(jiǎn)單又實(shí)用,容易掌握,每一個(gè)軟件都有輸人、輸出等工作表,按照記錄本格式填寫(xiě),輸出符合表格比較接近,經(jīng)過(guò)編制加工后,可以達(dá)到'所見(jiàn)即所得"的效果,具有易學(xué)易用、功能強(qiáng)大、圖像直觀的特點(diǎn)。
Visual Basic for Applications(簡(jiǎn)稱(chēng)VBA)是新一代標(biāo)準(zhǔn)宏語(yǔ)言,是基于Visual Basic for Windows 發(fā)展而來(lái)的。它與傳統(tǒng)的宏語(yǔ)言不同,傳統(tǒng)的宏語(yǔ)言不具有高級(jí)語(yǔ)言的特征,沒(méi)有面向?qū)ο蟮某绦蛟O(shè)計(jì)概念和方法。而VBA 提供了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,提供了相當(dāng)完整的程序設(shè)計(jì)語(yǔ)言。VBA 易于學(xué)習(xí)掌握,可以使用宏記錄器記錄用戶(hù)的各種操作并將其轉(zhuǎn)換為VBA 程序代碼。這樣用戶(hù)可以容易地將日常工作轉(zhuǎn)換為VBA 程序代碼,使工作自動(dòng)化。因此,對(duì)于在工作中需要經(jīng)常使用Office 套裝軟件的用戶(hù),學(xué)用VBA 有助于使工作自動(dòng)化,提高工作效率。另外,由于VBA 可以直接應(yīng)用Office 套裝軟件的各項(xiàng)強(qiáng)大功能,所以對(duì)于程序設(shè)計(jì)人員的程序設(shè)計(jì)和開(kāi)發(fā)更加方便快捷。
根據(jù)要解決的問(wèn)題來(lái)選擇 VBA 的使用方式是很重要的,電子表格并不能提供所有問(wèn)題的解決方案。使用 VBA 子程序來(lái)處理自動(dòng)重復(fù)計(jì)算任務(wù)是很有效的;使用 VBA 建立簡(jiǎn)單函數(shù)也是很方便的。該項(xiàng)目主要研究流速儀測(cè)驗(yàn)方式下流量成果,采用一種基于Excel的應(yīng)用計(jì)算機(jī)程序來(lái)計(jì)算流速儀暢流期和冰期實(shí)測(cè)流量成果的方法。只要將起點(diǎn)距、水深、信號(hào)數(shù)和歷時(shí)輸人到指定界面下,該次的流量成果就會(huì)自動(dòng)生成。該程序與手工計(jì)算的過(guò)程方式一樣,不僅能計(jì)算流量而且還可以計(jì)算每條垂線(xiàn)的部分輸沙率,同時(shí)將輸沙率的成果一并體現(xiàn)在流量計(jì)算表中。經(jīng)檢驗(yàn)該程序可適應(yīng)各種復(fù)雜情況下(如復(fù)式斷面、多岸邊系數(shù)、測(cè)深測(cè)速混合、測(cè)速垂線(xiàn)多點(diǎn)法混合等不確定因素混合在一起)的流量計(jì)算。該程序主要由測(cè)站基本信息、暢流期模板、流量編輯、流量計(jì)算與打印、系統(tǒng)設(shè)置、數(shù)據(jù)庫(kù)管理等部分組成。
對(duì)于使用流速儀測(cè)流的流量計(jì)算,首先要獲得流速公式的參數(shù),通過(guò)建立流速儀基本信息,在計(jì)算處理時(shí)可直接調(diào)用,極大減少公式的輸人量。通過(guò)系統(tǒng)設(shè)置中水尺高程的設(shè)置,只要填取開(kāi)始和終了讀數(shù)即可。流量測(cè)驗(yàn)從水邊開(kāi)始布設(shè)測(cè)速垂線(xiàn),逐條輸入測(cè)速垂線(xiàn)的相關(guān)信息,包括起點(diǎn)距、水深、測(cè)時(shí)、信號(hào)數(shù)和歷時(shí),直至另一水邊結(jié)束。對(duì)于需要計(jì)算輸沙率的測(cè)站,可在每條垂線(xiàn)所對(duì)應(yīng)的位置輸人采樣方法、垂線(xiàn)平均含沙量,便能自動(dòng)計(jì)算部分輸沙率。通過(guò)各個(gè)信息的輸入,流量計(jì)算成果表中流量、面積、流速、斷面平均含沙量、糙率和水面比降、以及各極值都會(huì)一一自動(dòng)的計(jì)算出來(lái),并且會(huì)以電子表格的形式保存輸出,方便打印、保存和校核。
編者認(rèn)為Excel和VBA編制流量測(cè)驗(yàn)軟具有下列主要特點(diǎn):
1.數(shù)據(jù)輸入直觀方便簡(jiǎn)潔
水文測(cè)驗(yàn)中的雨量、水位、流量、蒸發(fā)等原始數(shù)據(jù)記錄采用表格形式的記載表,該軟件輸人全部采用與記載表一樣格式,只要把測(cè)量數(shù)據(jù)按照記載表格式填寫(xiě)到相應(yīng)位置即可,非常直觀,熟悉水文測(cè)驗(yàn)的人員不需要專(zhuān)業(yè)學(xué)習(xí),直接填寫(xiě)就可以,比如流量計(jì)算,只需輸人站名、施測(cè)時(shí)間、起點(diǎn)距、水深、總轉(zhuǎn)數(shù)、歷時(shí)等必要實(shí)測(cè)數(shù)據(jù)。
2.快速準(zhǔn)確自動(dòng)處理數(shù)據(jù)
水文測(cè)驗(yàn)中經(jīng)常遇到一些需不斷重復(fù)計(jì)算的繁瑣工作,采用Excel數(shù)據(jù)關(guān)聯(lián)及相應(yīng)公式強(qiáng)大功能,使用者可以不關(guān)心如何計(jì)算,只要把數(shù)據(jù)輸完,輸出工作表就會(huì)得到正確計(jì)算結(jié)果。在測(cè)量中,數(shù)據(jù)較多,以往采用計(jì)算器人工一步步計(jì)算,并根據(jù)水文規(guī)范要求的有效位數(shù)和小數(shù)位數(shù)取舍位數(shù),任務(wù)量大且容易出錯(cuò)。如采用VBA編輯函數(shù),輸出數(shù)據(jù)可自動(dòng)更新,使用方便,達(dá)到零差錯(cuò)。
3.優(yōu)秀的可視化交互界面
Excel的“所見(jiàn)即所得"功能為用戶(hù)提供了一個(gè)可視化的交互平臺(tái),可以讓用戶(hù)在一個(gè)工作表下管理眾多關(guān)聯(lián)數(shù)據(jù),多個(gè)工作表在同一個(gè)任務(wù)下運(yùn)行,過(guò)程清晰透明,使用方便。采用Excel計(jì)算模塊的輸人輸出工作表可以加工成與人工計(jì)算一樣的記載計(jì)算表,就像紙質(zhì)記載表一樣,直接打印即可,達(dá)到資料整編規(guī)范要求。
4.Excel計(jì)算模塊嚴(yán)格遵守水文規(guī)范,使數(shù)據(jù)計(jì)算過(guò)程和結(jié)果符合規(guī)范要求
水文的測(cè)驗(yàn)和整編規(guī)范對(duì)測(cè)驗(yàn)數(shù)據(jù)的計(jì)算過(guò)程小數(shù)取舍有嚴(yán)格要求,進(jìn)位采用取規(guī)范規(guī)定精度位數(shù)后一位數(shù)字,采用“四舍六入,奇進(jìn)偶舍”方法取舍,不同水文要素的單位和取舍精度都不一樣采用人工計(jì)算繁雜,效率低,而且容易出錯(cuò)。如果使用Excel和VBA結(jié)合,只需編輯一個(gè)函數(shù)即可輕松達(dá)到“四舍六入,奇進(jìn)偶舍”的效果,計(jì)算過(guò)程和結(jié)果符合水文規(guī)范要求。
5.方便測(cè)驗(yàn)原始數(shù)據(jù)儲(chǔ)存、調(diào)用
傳統(tǒng)人工記載一般只對(duì)結(jié)果導(dǎo)出文本結(jié)果,查閱調(diào)用原始數(shù)據(jù)很不方便,往往需要查看原始記載表。水文行業(yè)對(duì)原始資料保存有嚴(yán)格要求,有專(zhuān)門(mén)資料庫(kù),有專(zhuān)人負(fù)責(zé),其他人員查閱原始資料不方便。但采用Excel計(jì)算模塊可以將每次測(cè)驗(yàn)數(shù)據(jù)分別命名,分類(lèi)保存在指定文件夾中,保存至任意一臺(tái)計(jì)算機(jī),方便儲(chǔ)存和調(diào)用。
作者簡(jiǎn)介:
郭銀良,男,1980.7祁連縣農(nóng)牧水利和科技局。