SWMM与EFDC耦合方法、装置、终端及存储介质与流程


swmm与efdc耦合方法、装置、终端及存储介质
技术领域
1.本发明涉及水文模型构建技术领域,尤其涉及一种swmm与efdc耦合方法、装置、终端及存储介质。


背景技术:



2.在流域模拟中包含水文过程和河网水动力水质变化过程,两者分别可以通过swmm(storm water management model,暴雨洪水管理模型)模型和efdc(the environmental fluid dynamics code三维环境流体动力学程序)模型进行模拟计算,swmm模型模拟陆地中的降雨-径流过程,efdc模型模拟河网水体和水质输移过程,完整的流域模拟需将两者进行耦合计算。
3.耦合过程中需要将swmm模拟计算结果作为边界条件输入efdc模型中,这个过程需要解析efdc模型,并修改相应的边界和时间序列数据。目前解析efdc模型主要通过将主控文件数据格式转换为efdc-ml(efdc markup language)语言(定义为一种xml格式的标记语言),修改边界和时间序列数据后再转换为efdc模型文件。这种方法需要读取和解析所有模型文件的数据,占用内存大,维护成本高。
4.基于此,需要开发设计出一种swmm与efdc耦合方法。


技术实现要素:



5.本发明实施方式提供了一种swmm与efdc耦合方法、装置、终端及存储介质,用于解决现有技术中的耦合效率低下的问题。
6.第一方面,本发明实施方式提供了一种swmm与efdc耦合方法,包括:
7.获取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息;
8.根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果;
9.获取efdc模型中的时间序列参数列表,以及,根据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中;
10.根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。
11.在一种可能实现的方式中,所述根据所述swmm模型的模型文件,进行模拟和转换,包括:
12.获取所述swmm模型的模型文件;
13.根据所述swmm模型的模型文件,利用swmm-toolkit中的计算方法进行模拟计算,获取计算结果;
14.根据swmm-toolkit的结果读取方法,对所述计算结果进行解析,获得数据表;
15.根据所述efdc时间序列格式,对所述数据表进行转换,获得所述符合所述efdc时
间序列格式的模型模拟结果。
16.在一种可能实现的方式中,所述根据所述efdc时间序列格式,对所述数据表进行转换,获得所述符合所述efdc时间序列格式的模型模拟结果,包括:
17.构建转换类,其中,所述转换类包括:数据总体描述变量、数据量变量、序列名称变量、分层变量以及时间序列数据变量;
18.根据所述转换类构建转换对象,其中,所述转换对象包括时间转换方法以及写入文件方法,所述时间转换方法根据所述数据表中的date和time转换为efdc中的相对时间,所述写入文件方法将所述转换对象的数据写入efdc模型文件。
19.在一种可能实现的方式中,所述获取efdc模型中的时间序列参数列表,包括:
20.获取efdc模型的主控文件;
21.对所述主控文件通过模块卡以及所述模块卡的参数行或通过模块卡、所述模块卡的参数行以及标识符,对所述主控文件的内容进行查,获得所述efdc模型中的时间序列参数列表。
22.在一种可能实现的方式中,所述耦合信息包括多个汇流区域名称,所述根据所述耦合信息对所述时间序列参数列表进行更新,包括:
23.根据所述时间序列参数列表中的多个边界条件名称和所述多个汇流区域名称进行对比,获得多个返回项和多个新增项,其中,返回项为所述多个边界条件名称中与所述多个汇流区域名称中相同的项,新增项为在所述多个边界条件名称中不存在的所述多个汇流区域名称的项;
24.根据所述多个返回项,返回多个返回序号,其中,返回序号对应返回项的时间序列的序号;
25.根据所述多个新增项,对所述时间序列参数列表进行新增。
26.在一种可能实现的方式中,所述根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新,包括:
27.根据所述多个返回序号,到多个对应所述返回序号的多个时间序列位置,其中,所述多个时间序列位置基于对应所述多个返回序号的文件;
28.根据所述模型模拟结果,对所述多个时间序列位置的边界条件进行替换和/或新增。
29.在一种可能实现的方式中,在所述根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列进行更新之后,还包括:
30.调用efdc模型计算程序,进行模拟计算。
31.第二方面,本发明实施方式提供了一种swmm与efdc耦合装置,用于实现如上第一方面或第一方面的任一种可能的实现方式所述的swmm与efdc耦合方法,所述swmm与efdc耦合装置包括:
32.耦合信息获取模块,用于获取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息;
33.swmm模型文件模拟模块,用于根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果;
34.时间序列参数列表更新模块,用于获取efdc模型中的时间序列参数列表,以及,根
据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中;
35.以及,
36.efdc模型更新模块,用于根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。
37.第三方面,本发明实施方式提供了一种终端,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
38.第四方面,本发明实施方式提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
39.本发明实施方式与现有技术相比存在的有益效果是:
40.本发明实施方式公开了的一种swmm与efdc耦合方法,其首先获取取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息;然后,根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果;接着,获取efdc模型中的时间序列参数列表,以及,根据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中;最后,根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。本发明方法实施方式通过在对swmm与efdc耦合模拟计算全过程的自动化快速处理,包括swmm模拟计算与结果提取、efdc边界和时间序列的“查改增”、efdc模拟计算,可大大减少数据的后处理工作,提升工作效率。该技术创新性地构建了对efdc模型文件“查改增”的算法,能够准确定位模型文件中边界和时间序列中的关键信息,并对其进行修改和增添,该算法只对efdc模型关键信息进行“查改增”,避免了对整个efdc模型数据库的构建,能够有效减少内存占用,提升执行效率。
附图说明
41.为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1是本发明实施方式提供的swmm与efdc耦合方法的流程图;
43.图2是本发明实施方式提供的swmm与efdc耦合方法的过程图;
44.图3是本发明实施方式提供的主控文件更新过程图;
45.图4是本发明实施方式提供的swmm结果导入efdc模型过程图;
46.图5是本发明实施方式提供的swmm与efdc耦合装置功能框图;
47.图6是本发明实施方式提供的终端功能框图。
具体实施方式
48.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具
体细节,以便透彻理解本发明实施方式。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
49.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施方式来进行说明。
50.下面对本发明的实施例作详细说明,本实例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
51.本发明实施方式旨在解决模拟swmm与efdc自动化耦合计算的问题,优化对efdc模型文件的“查改增”过程,减少内存占用,降低维护成本,提升耦合效率。主要过程包含:swmm模型计算结果提取、efdc边界条件查与修改、时间序列查与修改和自动化模拟计算。
52.图1为本发明实施方式提供的swmm与efdc耦合方法的流程图。
53.图2为本发明实施方式提供的swmm与efdc耦合方法的过程图。
54.如图1所示,其示出了本发明实施方式提供的swmm与efdc耦合方法的实现流程图,详述如下:
55.在步骤101中,获取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息。
56.在步骤102中,根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果。
57.在一些实施方式中,所述步骤102包括:
58.获取所述swmm模型的模型文件;
59.根据所述swmm模型的模型文件,利用swmm-toolkit中的计算方法进行模拟计算,获取计算结果;
60.根据swmm-toolkit的结果读取方法,对所述计算结果进行解析,获得数据表;
61.根据所述efdc时间序列格式,对所述数据表进行转换,获得所述符合所述efdc时间序列格式的模型模拟结果。
62.在一些实施方式中,所述根据所述efdc时间序列格式,对所述数据表进行转换,获得所述符合所述efdc时间序列格式的模型模拟结果,包括:
63.构建转换类,其中,所述转换类包括:数据总体描述变量、数据量变量、序列名称变量、分层变量以及时间序列数据变量;
64.根据所述转换类构建转换对象,其中,所述转换对象包括时间转换方法以及写入文件方法,所述时间转换方法根据所述数据表中的date和time转换为efdc中的相对时间,所述写入文件方法将所述转换对象的数据写入efdc模型文件。
65.示例性地,首先,需要构建耦合文件,文件中记录swmm模型和efdc模型文件的路径信息;所需要输出swmm结果的汇水片区数量;污染物种类数量;swmm与efdc连接的详细信息;污染物对应关系。
66.如,一种耦合文件结构如下所示:
67.#水文模型文件路径
68.shwmpath d:\work\2021season4.inp
69.#河流模型文件路径
70.rivermodelpath d:\work\efdc.inp
71.#连接数量
72.numberofconnections 2
73.#污染物种类数量
74.numberofpollutants 4
75.#连接信息
76.#汇流区域名称连接网格数量网格i网格j
77.connectioninfo
78.node15 1 901 282
79.node53 4 897 289 897 298 897 305 897 319
80.#污染物对应关系efdc swmm
81.pollutantrelationship
82.codmn cod
83.tp tp
84.tn tn
85.nh3n nh3-n
86.然后,根据进行swmm模型模拟计算与结果解析:
87.根据耦合文件中swmm模型文件路径信息,导入swmm模型文件,利用第三方库swmm-toolkit中的计算方法进行模拟计算,计算完成后利用swmm-toolkit中的结果读取方法将模型结果进行解析,构建名称为swmm_result的dataframe数据表,一种应用场景中,数据表如表1所示:
88.表1
[0089][0090]
然后,将数据表转换为efdc时间序列格式,如表2所示:
[0091]
表2
[0092][0093]
针对上述过程,编制的程序采用面向对象的设计思路,构建timeseries类,成员变量(属性)包括:datadiscription(数据总体描述)、numberofdata(数据量)、name(序列名称)、layer(分层)、datalist(时间序列数据),一种基于python语言编制的程序如下所示:
[0094]
[0095][0096]
程序根据swmm模拟结果构建timeseries对象,对象中包含conv(时间转换)方法与savetolocal(写入文件)方法,其中conv能够将表1中的date和time转换为efdc中的相对时间,writetofile能够将整个timeseries对象的数据写入efdc模型文件,如下所示:
[0097]
[0098][0099]
在步骤103中,获取efdc模型中的时间序列参数列表,以及,根据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中。
[0100]
在一些实施方式中,所述获取efdc模型中的时间序列参数列表,包括:
[0101]
获取efdc模型的主控文件;
[0102]
对所述主控文件通过模块卡以及所述模块卡的参数行或通过模块卡、所述模块卡的参数行以及标识符,对所述主控文件的内容进行查,获得所述efdc模型中的时间序列参数列表。
[0103]
在一些实施方式中,所述耦合信息包括多个汇流区域名称,所述根据所述耦合信息对所述时间序列参数列表进行更新,包括:
[0104]
根据所述时间序列参数列表中的多个边界条件名称和所述多个汇流区域名称进行对比,获得多个返回项和多个新增项,其中,返回项为所述多个边界条件名称中与所述多个汇流区域名称中相同的项,新增项为在所述多个边界条件名称中不存在的所述多个汇流区域名称的项;
[0105]
根据所述多个返回项,返回多个返回序号,其中,返回序号对应返回项的时间序列的序号;
[0106]
根据所述多个新增项,对所述时间序列参数列表进行新增。
[0107]
示例性地,在对swmm进行模拟计算和解析后,需要对efdc主要模型文件解析:
[0108]
efdc模型文件有统一的格式标准,各文件之间以及文件内前后参数都有关联关系。因此,在解析文件时先查主控文件efdc.inp中的信息,获取边界条件信息后,根据边界条件中的时间序列信息去解析对应的时间序列文件。
[0109]

构建通用的efdc模型信息查方法。
[0110]
方法中包含三个参数,cardname、id和parameter,其中cardname输入card序号(如“c24”),id输入唯一标识符(默认值为短横线
“‑‑‑‑”
),parameter输入参数(如“iqserq”)。
[0111]
方法中通过cardname和id来筛选和获取模型信息卡,再利用关键“*”过滤无效信息,最后通过parameter获取模型信息卡中的关键参数,该方法返回参数信息。代码示例如下所示
[0112]“def getmodelinfo(cardname,id=
”‑‑‑
",parameter):
[0113]
with open(efdc.inp)as f:
[0114]
for lines in f.readlines:
[0115]
if cardname in line:
[0116]
……
[0117]
if id in line:
[0118]
……
[0119]
if parameter in line:
[0120]
……
[0121]
f.close
[0122]
return number”[0123]
对于c24结构表3所示:
[0124]
表3
[0125][0126]

efdc边界“增改”,利用

中的方法,通过参数cardname=”c24”、id缺省和parameter=”id”,获取所有边界条件名称,与耦合文件中的“connectioninfo”信息中的“汇流区域名称”进行对比,如果边界中已经存在则返回该边界的“时间序列的序号”,如果不存在则在下方新增边界。其过程如图3所示。
[0127]
在步骤104中,根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。
[0128]
在一些实施方式中,步骤104包括:
[0129]
根据所述多个返回序号,到多个对应所述返回序号的多个时间序列位置,其中,所述多个时间序列位置基于对应所述多个返回序号的文件;
[0130]
根据所述模型模拟结果,对所述多个时间序列位置的边界条件进行替换和/或新增。
[0131]
示例性地,在对efdc主要模型文件解析后,就可以将swmm结果导入efdc模型:
[0132]
根据步骤103
‑②
中返回的时间序列序号,查对应时间序列文件中的时间序列位置,并利用步骤2中swmm结果对其进行替换(对应边界条件已存在的情况)或新增(对应新增边界条件)。其过程如图4所示。
[0133]
此外,在一些应用场景中,还包括efdc模型计算步骤105,其设置于步骤104之后,包括:
[0134]
调用efdc模型计算程序,进行模拟计算。
[0135]
本发明swmm与efdc耦合方法实施方式,其首先获取取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息;然后,根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果;接着,获取efdc模型中的时间序列参数列表,以及,根据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中;最后,根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。本发明方法实施方式通过在对swmm与efdc耦合模拟计算全过程的自动化快速处理,包括swmm模拟计算与结果提取、efdc边界和时间序列的“查改增”、efdc模拟计算,可大大减少数据的后处理工作,提升工作效率。该技术创新性地构建了对efdc模型文件“查改增”的算法,能够准确定位模型文件中边界和时间序列中的关键信息,并对其进行修改和增添,该算法只对efdc模型关键信息进行“查改增”,避免了对整个efdc模型数据库的构建,能够有效减少内存占用,提升执行效率。
[0136]
本发明在实际应用时,首先,分别根据swmm模型、efdc模型和污染汇入数据构建耦合文件,文件中包含swmm模型和efdc模型的文件路径、连接位置、连接数量和污染物对应关系的信息。然后,将耦合文件与耦合计算程序放入同一文件夹下,最后,执行耦合计算程序,程序首先执行swmm的模拟计算,等待计算完成后,根据耦合文件中的连接位置,提取水质和水量数据,并结合耦合文件中的连接位置和污染物对应关系信息将其作为时间序列导入efdc模型文件,最后执行efdc模型计算程序,从而实现swmm模型与efdc模型计算程序的耦合。
[0137]
本发明方法实施方式可以应用于流域水系水质水量的预警预报。在流域水环境综合管理系统平台中,可利用该发明实现自动化的模拟计算,根据未来降雨数据,使用swmm模型计算地表和地下管网的污染负荷,将污染负荷作为边界条件导入efdc模型,计算未来水系水质水量的变化。
[0138]
还可以应用于水生态环境综合治理的规划、设计和运维。
[0139]
当应用于城市防洪排涝时,可利用该发明计算城市降雨内涝,识别内涝风险区域,为城市指挥调度提供数据支撑。
[0140]
当应用于海绵城市规划时,可利用该发明计算地表径流量,结合城市规划,合理配
置海绵工程措施,在渗、滞、蓄、净、用、排整个过程中,合理分配水量,为规划设计提供数据支撑。
[0141]
应理解,上述实施方式中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施方式的实施过程构成任何限定。
[0142]
以下为本发明的装置实施方式,对于其中未详尽描述的细节,可以参考上述对应的方法实施方式。
[0143]
图5是本发明实施方式提供的swmm与efdc耦合装置功能框图,参照图5,swmm与efdc耦合装置5包括:耦合信息获取模块501、swmm模型文件模拟模块502、时间序列参数列表更新模块503以及efdc模型更新模块504,其中:
[0144]
耦合信息获取模块501,用于获取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息;
[0145]
swmm模型文件模拟模块502,用于根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果;
[0146]
时间序列参数列表更新模块503,用于获取efdc模型中的时间序列参数列表,以及,根据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中;
[0147]
efdc模型更新模块504,用于根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。
[0148]
图6是本发明实施方式提供的终端的功能框图。如图6所示,该实施方式的终端6包括:处理器600和存储器601,所述存储器601中存储有可在所述处理器600上运行的计算机程序602。所述处理器600执行所述计算机程序602时实现上述各个swmm与efdc耦合方法及实施方式中的步骤,例如图1所示的步骤101至步骤104。
[0149]
示例性的,所述计算机程序602可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器601中,并由所述处理器600执行,以完成本发明。
[0150]
所述终端6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端6可包括,但不仅限于,处理器600、存储器601。本领域技术人员可以理解,图6仅仅是终端6的示例,并不构成对终端6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端6还可以包括输入输出设备、网络接入设备、总线等。
[0151]
所称处理器600可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0152]
所述存储器601可以是所述终端6的内部存储单元,例如终端6的硬盘或内存。所述存储器601也可以是所述终端6的外部存储设备,例如所述终端6上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器601还可以既包括所述终端6的内部存储单元也包括外部存储设
备。所述存储器601用于存储所述计算机程序602以及所述终端6所需的其他程序和数据。所述存储器601还可以用于暂时地存储已经输出或者将要输出的数据。
[0153]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施方式中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
[0154]
在上述实施方式中,对各个实施方式的描述都各有侧重,某个实施方式中没有详述或记载的部分,可以参见其它实施方式的相关描述。
[0155]
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0156]
在本发明所提供的实施方式中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0157]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0158]
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0159]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法及装置实施方式的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。
[0160]
以上所述实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的精神和范围,均应包含在本发明的保护范围之内。

技术特征:


1.一种swmm与efdc耦合方法,其特征在于,包括:获取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息;根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果;获取efdc模型中的时间序列参数列表,以及,根据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中;根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。2.根据权利要求1所述的swmm与efdc耦合方法,其特征在于,所述根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果,包括:获取所述swmm模型的模型文件;根据所述swmm模型的模型文件,利用swmm-toolkit中的计算方法进行模拟计算,获取计算结果;根据swmm-toolkit的结果读取方法,对所述计算结果进行解析,获得数据表;根据所述efdc时间序列格式,对所述数据表进行转换,获得所述符合所述efdc时间序列格式的模型模拟结果。3.根据权利要求2所述的swmm与efdc耦合方法,其特征在于,所述根据所述efdc时间序列格式,对所述数据表进行转换,获得所述符合所述efdc时间序列格式的模型模拟结果,包括:构建转换类,其中,所述转换类包括:数据总体描述变量、数据量变量、序列名称变量、分层变量以及时间序列数据变量;根据所述转换类构建转换对象,其中,所述转换对象包括时间转换方法以及写入文件方法,所述时间转换方法根据所述数据表中的date和time转换为efdc中的相对时间,所述写入文件方法将所述转换对象的数据写入efdc模型文件。4.根据权利要求1所述的swmm与efdc耦合方法,其特征在于,所述获取efdc模型中的时间序列参数列表,包括:获取efdc模型的主控文件;对所述主控文件通过模块卡以及所述模块卡的参数行或通过模块卡、所述模块卡的参数行以及标识符,对所述主控文件的内容进行查,获得所述efdc模型中的时间序列参数列表。5.根据权利要求1所述的swmm与efdc耦合方法,其特征在于,所述耦合信息包括多个汇流区域名称,所述根据所述耦合信息对所述时间序列参数列表进行更新,包括:根据所述时间序列参数列表中的多个边界条件名称和所述多个汇流区域名称进行对比,获得多个返回项和多个新增项,其中,返回项为所述多个边界条件名称中与所述多个汇流区域名称中相同的项,新增项为在所述多个边界条件名称中不存在的所述多个汇流区域名称的项;根据所述多个返回项,返回多个返回序号,其中,返回序号对应返回项的时间序列的序号;
根据所述多个新增项,对所述时间序列参数列表进行新增。6.根据权利要求5所述的swmm与efdc耦合方法,其特征在于,所述根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新,包括:根据所述多个返回序号,到多个对应所述返回序号的多个时间序列位置,其中,所述多个时间序列位置基于对应所述多个返回序号的文件;根据所述模型模拟结果,对所述多个时间序列位置的边界条件进行替换和/或新增。7.根据权利要求1-6任一项所述的swmm与efdc耦合方法,其特征在于,在所述根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列进行更新之后,还包括:调用efdc模型计算程序,进行模拟计算。8.一种swmm与efdc耦合装置,其特征在于,用于实现如权利要求1-7任一项所述的swmm与efdc耦合方法,所述swmm与efdc耦合装置包括:耦合信息获取模块,用于获取耦合信息,其中,所述耦合信息表征swmm模型与efdc模型的交互信息;swmm模型文件模拟模块,用于根据所述swmm模型的模型文件,进行模拟和转换,获得符合所述efdc时间序列格式的模型模拟结果;时间序列参数列表更新模块,用于获取efdc模型中的时间序列参数列表,以及,根据所述耦合信息对所述时间序列参数列表进行更新,其中,更新包括将所述耦合信息中所述时间序列参数列表中不存在的时间序列参数列表加入所述时间序列参数列表中;以及,efdc模型更新模块,用于根据所述efdc模型中的时间序列参数列表以及所述模型模拟结果,对所述efdc模型中的时间序列参数进行更新。9.一种终端,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上的权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至7中任一项所述方法的步骤。

技术总结


本发明涉及水文模型构建技术领域,尤其涉及一种SWMM与EFDC耦合方法、装置、终端及存储介质,本发明方法首先获取取耦合信息;然后,根据SWMM模型的模型文件,进行模拟和转换,获得符合EFDC时间序列格式的模型模拟结果;接着,获取EFDC模型中的时间序列参数列表,以及,根据耦合信息对时间序列参数列表进行更新;最后,根据EFDC模型中的时间序列参数列表以及模型模拟结果,对EFDC模型中的时间序列参数进行更新。该技术创新性地构建了对EFDC模型文件“查改增”的算法,能够准确定位模型文件中边界和时间序列中的关键信息,避免了对整个EFDC模型数据库的构建,能够有效减少内存占用,提升执行效率。执行效率。执行效率。


技术研发人员:

金占军 王龙 李玉 崔厚欣

受保护的技术使用者:

河北先河环保科技股份有限公司

技术研发日:

2022.10.10

技术公布日:

2022/12/12

本文发布于:2024-09-24 00:26:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/38380.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   模型   序列   时间
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议