[发明专利]一种基于物理模型的水文过程串并耦合动态模拟方法有效
申请号: | 202210331469.8 | 申请日: | 2022-03-30 |
公开(公告)号: | CN114707325B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 张传才;马艳艳;秦奋;杨康;刘亚静 | 申请(专利权)人: | 洛阳师范学院 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F9/50;G06F15/163 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 席小东 |
地址: | 471000 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 物理 模型 水文 过程 耦合 动态 模拟 方法 | ||
1.一种基于物理模型的水文过程串并耦合动态模拟方法,其特征在于,包括以下步骤:
步骤1,对被研究流域的DEM数据进行水文分析,提取得到多个子流域;根据多个子流域的汇流过程,将具有空间依赖关系的多个子流域合并,得到一个主河网子流域,表示为:Wm;对于剩余的不具有空间依赖关系的子流域,作为外层子流域,假设共有n个外层子流域,表示为:W1,W2,…,Wn;
步骤2,预估外层子流域W1,W2,…,Wn的运算时间,分别为:S1,S2,…,Sn,假设S1S3…Sn-1Sn…S4S2;
预估主河网子流域Wm的运算时间为Sm;
设参与模拟运算的处理器总数为p个,表示为:处理器C1,C2,…,Cp;pn;
步骤3,n个外层子流域W1,W2,…,Wn以及主河网子流域Wm均进行状态标注;其中:标注的状态包括:未分配处理器状态、某个时间步长模拟进行中状态和某个时间步长模拟完成状态;
初始时,标注的状态均为:未分配处理器状态;
步骤4,进行第1个时间步长的水文过程模拟:
步骤4.1,根据n个外层子流域的运算时间,将n个外层子流域,按运算时间从小到大的顺序,加入外层子流域队列;按从外层子流域队列头部到尾部的顺序,依次为:W1,W3,…,Wn-1,Wn,…,W4,W2;
步骤4.2,从外层子流域队列的头部,依次读取p个外层子流域,即:W1,W3,…,Wp;将外层子流域W1,W3,…,Wp,分别分配给处理器C1,C2,…,Cp,使处理器C1,C2,…,Cp,分别对读取的p个外层子流域进行第1个时间步长的并行水文过程模拟;
对于读取的p个外层子流域,当被分配处理器进行第1个时间步长的水文过程模拟时,将其状态均标注为:第1个时间步长模拟进行中状态;
步骤4.3,对于任意处理器Ci,i=1,2,…,p,当完成对步骤4.2所分配的外层子流域的第1个时间步长的水文过程模拟时,将完成第1个时间步长的水文过程模拟的外层子流域的状态标注为:第1个时间步长模拟完成状态;同时,处理器Ci空闲;
当出现空闲的处理器Ci时,判断外层子流域队列中是否存在状态为未分配处理器状态的外层子流域,如果有,则在当前未分配处理器状态的外层子流域中,选择运算时间最长的外层子流域,并分配给处理器Ci进行第1个时间步长的水文过程模拟,同时将所选择的外层子流域的状态标注为:第1个时间步长模拟进行中状态;
如果没有,执行步骤4.4;
步骤4.4,表明当前的n个外层子流域,不存在未分配处理器状态的外层子流域;
对于出现空闲的处理器Ci,判断当前n个外层子流域中,是否存在第1个时间步长模拟进行中状态的外层子流域,如果存在,则立即执行步骤5;如果不存在,表明自身是最后一个完成对n个外层子流域进行第1个时间步长模拟的处理器,执行步骤4.5;
步骤4.5,将主河网子流域Wm分配给处理器Ci,由处理器Ci对主河网子流域Wm进行第1个时间步长的水文过程模拟,当模拟结束时,表明完成对n个外层子流域和1个主河网子流域的第1个时间步长的水文过程模拟,即:第1个时间步长的水文过程模拟全部结束;
对于处理器Ci,转为空闲状态,执行步骤5;
步骤5,令j=2;
步骤6,进行第j个时间步长的水文过程模拟:
步骤6.1,判断是否存在状态为第j-1个时间步长模拟完成状态的外层子流域,如果有,则执行步骤6.2;如果没有,进一步判断是否存在状态为第j个时间步长模拟进行中状态的外层子流域,如果有,表明自身不是最后一个完成对n个外层子流域进行第j个时间步长模拟的处理器,则执行步骤7;否则,表明自身是最后一个完成对n个外层子流域进行第j个时间步长模拟的处理器,执行步骤6.3;
步骤6.2,更新外层子流域队列,仅将状态为第j-1个时间步长模拟完成状态的外层子流域加入队列,并按运算时间进行排序;其中,按从队头到队尾方向,外层子流域的运算时间逐渐增加;
在更新后的外层子流域队列中,选择运算时间最长的外层子流域,表示为:外层子流域Wk,其中,k=1,2,…,n,将外层子流域Wk分配给处理器Ci,由处理器Ci对外层子流域Wk进行第j个时间步长的水文过程模拟,并将外层子流域Wk状态标注为:第j个时间步长模拟进行中状态;当处理器Ci完成对外层子流域Wk的第j个时间步长的水文过程模拟时,将外层子流域Wk的状态标注为:第j个时间步长模拟完成状态;同时,处理器Ci空闲;返回执行步骤6.1;
步骤6.3,将主河网子流域Wm分配给处理器Ci,由处理器Ci对主河网子流域Wm进行第j个时间步长的水文过程模拟,当模拟结束时,表明完成对n个外层子流域和1个主河网子流域的第j个时间步长的水文过程模拟,即:第j个时间步长的水文过程模拟全部结束;
对于处理器Ci,转为空闲状态,执行步骤7;
步骤7,判断当前第j个时间步长是否为最后一个时间步长;如果不是,则令j=j+1,返回执行步骤6;如果是,则使处理器Ci保持空闲状态,直到所有处理器均为空闲状态时,结束流程;
还包括:
建立共享数据表;对于每个外层子流域W1,W2,…,Wn和主河网子流域Wm,记录其每个时间步长的模拟结果;
对于任意外层子流域Wa,a=1,2,…,n,当需要对外层子流域Wa进行当前时间步长的模拟时,通过读取共享数据表,获得外层子流域Wa上一个时间步长的模拟结果,并以该模拟结果为输入,对外层子流域Wa进行当前时间步长的模拟;
当需要对主河网子流域Wm进行当前时间步长的模拟时,通过读取共享数据表,获得主河网子流域Wm上一个时间步长的模拟结果,同时,获得n个外层子流域在当前时间步长的模拟结果,然后,以主河网子流域Wm上一个时间步长的模拟结果和n个外层子流域在当前时间步长的模拟结果为输入,对主河网子流域Wm进行当前时间步长的模拟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洛阳师范学院,未经洛阳师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210331469.8/1.html,转载请声明来源钻瓜专利网。