一種分布式水文模型并行運(yùn)算方法
【專利摘要】本發(fā)明提供了一種分布式水文模型并行運(yùn)算方法,通過確定循環(huán)時段初始狀態(tài),主要包括上游依賴子流域數(shù)目和各子流域至流域出口線路上所有子流域所需模擬時間的累積和;選擇累積運(yùn)行時間最長且上游依賴河段數(shù)等于0的河段,建立節(jié)點(diǎn)子進(jìn)程進(jìn)行并行模擬;通過節(jié)點(diǎn)模擬并行子進(jìn)程完成整個子流域產(chǎn)匯流運(yùn)算模擬,結(jié)束后將其直接下游子流域的上游依賴子流域數(shù)目減1;循環(huán)執(zhí)行動態(tài)分配過程和節(jié)點(diǎn)模擬過程,直到所有子流域均完成模擬,然后進(jìn)入下一循環(huán)時段進(jìn)行模擬。本發(fā)明提高了分布式水文模型并行效率,能夠確保消耗時間最長的子流域優(yōu)先模擬。
【專利說明】一種分布式水文模型并行運(yùn)算方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于水文模型領(lǐng)域,尤其涉及一種分布式水文模型并行運(yùn)算方法。
【背景技術(shù)】
[0002] 隨著分布式水文模型應(yīng)用尺度的增大,基本計算單元個數(shù)越來越多,模型運(yùn)算所 需運(yùn)行時間也越來越多。多線程并行運(yùn)算成為提高模型運(yùn)算速率的重要方法。就模型并行 運(yùn)算方面,許多學(xué)者進(jìn)行了研究,并提出不同的并行運(yùn)算方法,涉及靜態(tài)/動態(tài)并行任務(wù)分 配方案、時間/空間并行分配方案等?,F(xiàn)有的并行運(yùn)算方法假設(shè)每個子流域具有基本相同 的運(yùn)行時間,對不同子流域具有不同的運(yùn)行時間情況的優(yōu)化效率不高,在遇到變時間步長 問題時,即不同的子流域之間以及在不同的模擬循環(huán)中都具有不同的模擬運(yùn)行時間,動態(tài) 分配效率低。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于提供一種分布式水文模型并行運(yùn)算方法,旨在解決現(xiàn)有的并行 運(yùn)算動態(tài)分配技術(shù)只能處理同一個模型單個模擬循環(huán)中所有子流域以及同一子流域在不 同模擬循環(huán)中都具有相同的模擬運(yùn)算時間的情況。
[0004] 本發(fā)明是這樣實(shí)現(xiàn)的,一種分布式水文模型并行運(yùn)算方法,包括以下步驟:
[0005] S1、確定循環(huán)時段初始狀態(tài),主要包括上游依賴子流域數(shù)目(初始值等于上游子 流域數(shù)目)和各子流域至流域出口線路上所有子流域所需模擬時間的累積和;
[0006] S2、選擇累積運(yùn)行時間最長且上游依賴河段數(shù)等于0的河段,建立節(jié)點(diǎn)子進(jìn)程進(jìn) 行并行模擬,即動態(tài)分配過程;
[0007] S3、通過節(jié)點(diǎn)模擬并行子進(jìn)程完成整個子流域產(chǎn)匯流運(yùn)算模擬,結(jié)束后將其直接 下游子流域的上游依賴子流域數(shù)目減1,即節(jié)點(diǎn)模擬過程;
[0008] S4、循環(huán)執(zhí)行動態(tài)分配過程和節(jié)點(diǎn)模擬過程,直到所有子流域均完成模擬,然后進(jìn) 入下一循環(huán)時段進(jìn)行模擬。
[0009] 相比于現(xiàn)有技術(shù)的缺點(diǎn)和不足,本發(fā)明具有以下有益效果:
[0010] (1)本發(fā)明能夠適用于對子流域采用變時間步長模擬的分布式水文模型并行運(yùn) 算;本發(fā)明充分考慮了不同模擬循環(huán)中各子流域具有不同的模擬時間的情景進(jìn)行動態(tài)分 配,提高分布式水文模型并行效率。
[0011] (2)本發(fā)明根據(jù)不同模擬時段各子流域?qū)嶋H所需運(yùn)行時間進(jìn)行動態(tài)分配,能夠確 保累積消耗時間最長的子流域優(yōu)先模擬。
【專利附圖】
【附圖說明】
[0012] 圖1是本發(fā)明分布式水文模型并行運(yùn)算方法的步驟流程圖;
[0013] 圖2是本發(fā)明實(shí)施例中子流域示意圖。
【具體實(shí)施方式】
[0014] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0015] 一種分布式水文模型并行運(yùn)算方法,如圖1所示,包括以下步驟:
[0016] S1、確定循環(huán)時段初始狀態(tài),主要包括上游依賴子流域數(shù)目(初始值等于上游子 流域數(shù)目)和各子流域至流域出口線路上所有子流域所需模擬時間的累積和
[0017] 在步驟S1中,首先根據(jù)子流域內(nèi)河網(wǎng)拓?fù)潢P(guān)系,獲取子流域上下游拓?fù)潢P(guān)系信 息,如圖2和表1所示,其中,圖2為子流域示意圖,表1為子流域上下游拓?fù)湫畔ⅲㄆ渲凶?流域編號0表示沒有)。
[0018] 表1子流域上下游拓?fù)湫畔?br>
[0019]
【權(quán)利要求】
1. 一種分布式水文模型并行運(yùn)算方法,其特征在于包括以下步驟: 51、確定循環(huán)時段初始狀態(tài),主要包括上游依賴子流域數(shù)目和各子流域至流域出口線 路上所有子流域所需模擬時間的累積和; 52、選擇累積運(yùn)行時間最長且上游依賴河段數(shù)等于0的河段,建立節(jié)點(diǎn)子進(jìn)程進(jìn)行并 行模擬,即動態(tài)分配過程; 53、通過節(jié)點(diǎn)模擬并行子進(jìn)程完成整個子流域產(chǎn)匯流運(yùn)算模擬,結(jié)束后將其直接下游 子流域的上游依賴子流域數(shù)目減1,即節(jié)點(diǎn)模擬過程; 54、循環(huán)執(zhí)行動態(tài)分配過程和節(jié)點(diǎn)模擬過程,直到所有子流域均完成模擬,然后進(jìn)入下 一循環(huán)時段進(jìn)行模擬。
【文檔編號】G06F9/38GK104142812SQ201410371523
【公開日】2014年11月12日 申請日期:2014年7月30日 優(yōu)先權(quán)日:2014年7月30日
【發(fā)明者】劉佳嘉, 周祖昊, 賈仰文, 王浩, 賈金生, 龔家國 申請人:中國水利水電科學(xué)研究院