陳浩 中工武大設(shè)計研究有限公司
HEC-RAS是由美國陸軍工程兵團(tuán)水文中心開發(fā)的河流模擬分析軟件,其數(shù)據(jù)輸入界面直觀友好、參數(shù)意義明確,圖表功能方便快捷,幫助文檔詳盡細(xì)致,所引用的計算公式、參數(shù)在水力計算常用的教材和計算手冊中均有據(jù)可查,在我國各水利設(shè)計院的河道一維恒定流和非恒定流的水力計算中應(yīng)用普遍。
本文主要對其中的Geometric Data(以下稱之為幾何數(shù)據(jù))輸入界面對應(yīng)的數(shù)據(jù)文件存儲格式進(jìn)行解析,在工程文件所在目錄下后綴名為“.g+數(shù)字”格式的文件保存著建模時輸入的幾何數(shù)據(jù),文本格式,記事本即可打開編輯。
實際工作當(dāng)中,建筑物、堤防點、灘槽分界等復(fù)雜的信息往往在基礎(chǔ)模型建立后才根據(jù)實際情況手動添加調(diào)整,因此可僅憑測量橫斷面數(shù)據(jù)文件快速建立不包含建筑物、堤防點等復(fù)雜信息的基礎(chǔ)模型。
基礎(chǔ)文件中的數(shù)據(jù)可分為四個部分,每部分以一空行分隔,其中文件頭、河道示意線、文件尾較簡單,僅介紹快速建模的關(guān)鍵也就是橫斷面數(shù)據(jù)部分,見圖1。
橫斷面數(shù)據(jù)部分至少包括7個必要關(guān)鍵字,視模型復(fù)雜程度,還會包括描述堤防點、建筑物等數(shù)據(jù)的關(guān)鍵字。
“Type RM Length L Ch R”:取值包括5部分,以英文逗號分隔,第一個值默認(rèn)可取1不變,第二個值對應(yīng)橫斷面數(shù)據(jù)輸入界面的River Station,取值規(guī)則為不超過8個半角字符長度的數(shù)字,不足8個字符則需按左對齊右邊補(bǔ)空格的方式補(bǔ)齊,該值在HEC-RAS中按從上游到下游的方向一定是降序排列的,因此其數(shù)值越大代表所對應(yīng)的斷面越靠近上游,越小則代表越靠近下游。
在實際項目中,樁號若從下游向上游遞增編制,則可以樁號對應(yīng)的里程數(shù)字作為River Station,若是從上游向下游遞增編制,可在實際樁號前加上數(shù)字前綴控制斷面上下游排序,如0+000代表上游起始斷面,0+100,…,直至下游終止斷面5+100,River Station可分別取為9990000、9980100,…,9005100此種格式,通過前綴降序控制斷面的上下游關(guān)系。
此關(guān)鍵字的最后三個值分別代表此橫斷面與下游相鄰的橫斷面的左灘、河槽、右灘的實際距離,對應(yīng)“Cross Section Data”界面中的“Downstream reach Length”,無字符長度控制要求,三者均為0則代表該斷面是河段最下游的橫斷面,編程處理時,這三個值可直接先取兩個斷面的實際間距,之后再根據(jù)實際情況在軟件界面中調(diào)整。
“Node Name”:可選關(guān)鍵字,可在幾何數(shù)據(jù)編輯界面的“Tables”菜單下“Names”子菜單中選擇“Node Names”批量輸入,也可在編程建模時將此可選關(guān)鍵字賦值為斷面的實際樁號。
以下圖為例,將“River Sta”為150的橫斷面的“Node Name”賦值為實際樁號“0+150”,則“Cross Section Data”界面“River Sta”處將顯示為“1500+150”,便于了解斷面對應(yīng)的實際樁號,在計算完畢查看水面線縱斷面圖時,也可勾選顯示“Node Name”,在橫坐標(biāo)軸上顯示出每個橫斷面的樁號,尤其是實際樁號從上游向下游遞增編制時,查看和導(dǎo)出計算結(jié)果也比默認(rèn)設(shè)置更為直觀、方便。
“Node Last Edited Time”:代表一個橫斷面最后被修改編輯的時間,取值不影響建模和計算。
“#Sta/Elev”:取值分為兩部分,第一部分代表一個橫斷面的測量點的個數(shù),單獨占一行;第二部分為每個測點的起點距和高程數(shù)據(jù),順序為從左岸到右岸,可以有多行,每行最多只能有5個測點共十個數(shù)字,對應(yīng)著5對起點距、高程數(shù)據(jù),每個數(shù)字的字符串長度為8個半角字符,右對齊,不足則在左側(cè)補(bǔ)空格。
“#Mann”:包含糙率系數(shù)取值信息,取值分為兩部分:編程處理時第一部分可取默認(rèn)值“3,0,0”,單獨占一行,對應(yīng)默認(rèn)情況下的橫斷面糙率系數(shù)取值設(shè)置;第二部分占一行,默認(rèn)情況下共9個數(shù)字,同樣是8個半角字符長度、右對齊、不足8則左側(cè)補(bǔ)空格。第1個值代表橫斷面數(shù)據(jù)中左岸第1個測點的起點距數(shù)據(jù);第2、5、8個值分別代表左灘、河槽、右灘的糙率系數(shù),第4、7個值分別代表左、右側(cè)灘槽分界點的起點距,即“Cross Section Data”界面中的“L ef t Bank”和“Right Bank”,第3、6、9默認(rèn)取0。
“Bank Sta”:取值同“#Mann”關(guān)鍵字第4、7個值,快速建模時可分別取左岸第一個點和右岸最后一個點的起點距,之后根據(jù)實際情況在模型中復(fù)核調(diào)整。
圖1
“XS Rating Curve”:代表此斷面的水位流量關(guān)系線,默認(rèn)(不指定時)取值“0,0”。
“Exp/Cntr”:代表斷面的擴(kuò)散系數(shù)、收縮系數(shù),默認(rèn)取“0.3,0.1”。
測量專業(yè)一般會提供文本格式的橫斷面測量數(shù)據(jù)文件,Visual C#、VB、Python等常見編程語言均可方便的讀取,根據(jù)前述幾何數(shù)據(jù)文件格式解析內(nèi)容,使用基本的字符串處理函數(shù)即可將測量數(shù)據(jù)轉(zhuǎn)化為HECRAS能直接打開使用的幾何數(shù)據(jù)文件格式,實現(xiàn)快速建模。
需要注意的是,筆者在實際工作當(dāng)中經(jīng)常遇到測量專業(yè)提供的數(shù)據(jù)文件存在斷面樁號格式不正確的問題,如“3+008”“3+086”“5+000”經(jīng)常錯寫為“3+8”“3+86”“5+0”等,編程中需要加入樁號預(yù)處理檢驗和修正功能,防止橫斷面按上下游排序時出現(xiàn)順序錯亂現(xiàn)象。