王東張玉田葉文王露
結合EXCEL的VBA功能實現(xiàn)聲學多普勒流速儀流量測驗記載表的自動填寫
王東1張玉田2葉文1王露1
流量測驗是水文工作中常規(guī)測驗項目,目前最先進的聲學多普勒流速儀(ADCP)法在水文流量測驗中得到較廣泛的應用,其原理是利用聲波的多普勒效應,測量運動儀器所處位置的垂線各測點相對速度、河底相對速度、水深,從而計算出垂線各測點水流速度、儀器所處相對位置,進而計算河道斷面流量。ADCP測驗歷時短、具有不擾動流場等特點,被廣泛用于海洋、河口的流場結構調查、流速和流量測驗等。

圖1 配置文件數(shù)據(jù)格式圖

圖2 測流報告數(shù)據(jù)格式圖

圖3 ASCII數(shù)據(jù)文件格式圖
根據(jù)2006年7月1日實施的《聲學多普勒流量測驗規(guī)范》(SL337—2006),采用ADCP法進行流量測驗,應填寫《聲學多普勒流速儀流量測驗記載表》。目前,大多數(shù)人采用從ADCP成果文件中手工摘錄相關測驗信息,再手工填入記載表中。本文介紹利用EXCEL的VBA功能實現(xiàn)自動讀取ADCP成果表中的信息,再自動填入記載表。以RDI公司生產的瑞江牌ADCP為例,其配套的軟件為WINRIVER-I,利用VBA功能提取流量測驗成果文件中的數(shù)據(jù)信息,并填入記載表中。
ADCP成果文件共有測流原始文件(*r.000)、配置文件(*w.000)、測流報告文件*r.sum、ASCII數(shù)據(jù)文件*t. 000。其中*r.000和*w.000為測量時形成,*r.sum和*t.000為測量生成報告時形成。
(1)測流原始文件(*r.000),該文件為二進制文件,不易解讀。
(2)配置文件(*w.000),該文件為文本文件,格式如圖1,可從該文件中提取含鹽度、底跟蹤脈沖數(shù)、水跟蹤脈沖數(shù)等信息。
(3)測流報告文件(*r.sum),該文件為文本文件,利用WINRIVER-I中“輸出測流報告”功能可形成,格式如圖2。
可從該文件中提取文件名、日期、開始測量時間、結束測量時間、截面積、寬度、固件版本、軟件版本、文件路徑、探頭入水深、盲區(qū)、深度單元尺寸、冪指數(shù)等信息。
(4)ASCII數(shù)據(jù)文件格式:該文件為文本文件,利用WINRIVER-I中“輸出ASCII數(shù)據(jù)文件”功能,形成*t.000,此文件為文本文件,易于解讀。可從該文件中提取盲區(qū)、深度單元尺寸、深度單元數(shù)、水跟蹤脈沖數(shù)、位置、水深、測點流速等信息,格式如圖3。
利用EXCEL中VAB功能,從相應文件中自動提取所需的數(shù)據(jù)信息。
(1)提取配置文件中信息。編寫相關代碼從配置文件(*w.000)中提取鹽度、底跟蹤脈沖數(shù)、水跟蹤脈沖數(shù)等信息,代碼如圖4。
(2)提取測流報告文件中信息。編寫相關代碼從測流報告文件(*r. sum)中提取文件名、日期、開始測量時間、結束測量時間、截面積、寬度、固件版本、軟件版本、文件路徑、探頭入水深、盲區(qū)、深度單元尺寸、冪指數(shù)等信息,代碼如圖5。

圖4 提取配置文件代碼圖

圖5 提取測流報告信息代碼圖

圖6 提取ASCII信息代碼圖

圖7 摘錄最大流速信息代碼圖

圖8 摘錄ADCP測驗數(shù)據(jù)主界面圖

圖9 ADCP數(shù)據(jù)文件選擇界面圖

圖10 記載表自動填充成果圖
(3)提取ASCII文件中信息(代碼如圖6)。
(4)摘錄最大流速信息。根據(jù)《聲學多普勒流量測驗規(guī)范》(SL337-2006)規(guī)定,“最大測點流速取每半測回最大值。每半測回的最大測點流速取各深度單元流速最大值。各深度單元流速采用含有30個脈沖的數(shù)據(jù)組滑動平均值。”編制摘錄最大流速信息的代碼如圖7。
(5)斷面數(shù)據(jù)。當有實測大斷面數(shù)據(jù)時,編寫相關代碼實現(xiàn)從大斷面數(shù)據(jù)中提取面積、斷面寬度、平均水深、最大水深等水文要素。無實測大斷面數(shù)據(jù)時,直接提取ADCP測流報告文件中的面積、斷面寬度、平均水深、最大水深等水文要素。
(1)制作聲學多普勒流速儀流量測驗記載表:利用EXCEL制表功能,編制記載表,作為樣表。對于站名、測船、流速儀型號等固定內容可在樣表中預先填寫。
(2)添加流量測次:利用EXCEL中VBA功能編寫宏命令,每張EXCEL工作表對應一個測次,見圖8。
(3)選擇ADCP數(shù)據(jù)文件。點擊測次編號,進入ADCP測次選擇界面。選擇ADCP測量的成果文件存放位置及文件名,至少有1個,最多選6個,作為此次流量測驗數(shù)據(jù),并輸入開始水位、結束水位、天氣、風力風向,見圖9。當有實測大斷面時,選擇“以實測大斷面計算”,從大斷面數(shù)據(jù)中提取面積、斷面寬度、平均水深、最大水深等水文要素。
按“確定”后,程序自動從選擇的ADCP數(shù)據(jù)文件中摘錄日期、開始測量時間、結束測量時間、截面積、寬度、固件版本、軟件版本、文件路徑、探頭入水深、盲區(qū)、深度單元尺寸、冪指數(shù)、流量、最大流速等相關信息,并填寫記載表。有實測大斷面數(shù)據(jù)時,程序自動從大斷面數(shù)據(jù)中提取面積、斷面寬度、平均水深、最大水深等水文要素并填入記載表,見圖10。
隨著ADCP使用的更加廣泛,利用EXCEL的VBA功能可自動摘錄ADCP測量成果文件中的相關信息,能夠方便快捷準確地填寫聲學多普勒流速儀流量測驗記載表。與傳統(tǒng)人工摘錄相關信息并填填寫記載表相比,EXCEL的VBA功能填寫記載表具有以下特點:
(1)方便、快捷。ADCP測量結束后,可立刻填寫記載表,具有較高的時效性。
(2)準確性高,由于人工摘錄時,手工填寫記載表會存在錯誤。而利用VBA自動填寫記載表能保證信息填寫的準確性
(作者單位:1.江蘇省水文水資源勘測局宿遷分局2238002.江蘇省水文水資源勘測局泰州分局225300)