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