一种SWMM运算结果自动化的数据转化方法与流程

文档序号:18901129发布日期:2019-10-18 21:57阅读:1933来源:国知局
一种SWMM运算结果自动化的数据转化方法与流程

本发明涉及swmm运算结果自动化的数据转化方法,属于市政工程、环境工程、环境系统模拟预测技术与计算机技术交叉领域。



背景技术:

我国是洪涝灾害严重的国家。在城市化发展和气候变化影响下,城市暴雨内涝问题日益突出,逐渐成为中国城市防灾减灾体系中的突出短板和制约经济社会可持续发展的主要障碍。新形势下,城市暴雨洪涝问题也已成为城市防灾减灾与海绵城市建设亟待解决的问题。排水管网系统是城市重要的基础设施之一,承担雨水、生活污水、工业废水和融化雪水等城市水资源的收集、运输和排放功能,具有水资源疏导和城市防涝减灾的双重功能,是城市的“静脉”,在城市规划和防涝减灾中的作用不容忽视。

随着数字化城市的进程,构建管网模型以分析城市内涝成因与制定防涝措施的技术逐步趋于成熟。美国环保署于1971年推出城市暴雨管理模型(stormwatermanagementmodel),可用于城市某一单场暴雨或者连续降雨的水文、水力与水质动态模拟,进而评价城市排水管网系统的运行现状与内涝成因。经过近50年的发展,该模型广泛应用于北京、上海、芝加哥、纽约、伦敦等近200个世界各大城市的排水管网系统模拟,具有极强的实用性。

直到swmm模型大力发展的今天,swmm模型在数据交互阶段仍存在一些弊端。swmm的计算结果储存在二进制文件中,目前关于swmm的计算结果解读只能通过swmm软件的交互界面通过选择特定对象从而导出运算结果为多个文本文件,在进行城市管网模拟结果数据库构建过程中数据导入效率极低。在小型管网模型(汇水区、管道、节点总数小于1000个)中使用该方法可以分多次将结果全部导入计算结果数据库,倘若使用这种导出方式将大型排水管网(汇水区、管道、节点总数大于1000个)的计算结果全部导入将耗费大量的人力物力,操作效率极低。



技术实现要素:

本发明的目的是为了解决现有swmm模型的计算结果全部导入将耗费大量的人力物力,操作效率低的问题,而提出一种swmm运算结果自动化的数据转化方法。

一种swmm运算结果自动化的数据转化方法具体过程为:

步骤一、手动运行swmm模型得到计算结果,将计算结果以后缀为.out的格式储存,储存位置与swmm模型的输入文件所处的位置相同,并自动命名为相同项目名称的out文件;

步骤二、判断out文件的可用性,包括out文件大小是否大于14byte、首末位特殊标识码是否不同、错误代码是否为0以及报告输出时间节点数是否大于零,当所有返回值为true时,执行步骤三,否则表示swmm模型构建失败;

步骤三、将swmm模型的版本号、标准单位、操作对象基础名称信息和模拟场景信息按顺序转化为数据库可读取数据;

步骤四、将步骤一运行swmm模型得到的计算结果中汇水区二进制计算信息转化为数据库可读取数据;

步骤五、将步骤一运行swmm模型得到的计算结果中管段的二进制计算信息转化为数据库可读取数据;

步骤六、将步骤一运行swmm模型得到的计算结果中节点的二进制计算信息转化为数据库可读取数据;

步骤七、根据步骤四、步骤五、步骤六得到的转化为数据库可读取的数据,生成swmm模型系统参数文本与汇水区、管段、节点三要素的三个数据文件夹;

其中swmm模型系统参数文本为txt格式,记录swmm模型的版本号、标准单位、汇水区数目与名称、节点数目与名称、管段数目与名称、污染物数量与名称、swmm模型模拟开始日期和模拟时长信息;

三个数据文件夹内分别包括每个时间点下汇水区、管段和节点的计算结果值,以txt的形式存储,一键导入数据库软件从而建立swmm计算结果数据库。

本发明的有益效果为:

本发明从swmm模型运算结果不能系统性的转化并导入运算结果数据库的弊端出发,根据swmm的结果储存文件的储存规则,本发明提出一种swmm运算结果自动化的数据转化方法,本发明实现的快速转化技术,极大程度上减轻了人工转化swmm计算结果的工作量,加快结果转化效率,避免重复性的机械劳动。本发明可以将数据转化时间缩短,效率提升12倍以上,正常3小时以上的工作量可以在15分钟内完成;解决当前swmm模型计算结果手动转化耗费大量的人力物力,操作效率低的问题。

附图说明

图1为本发明swmm计算结果转化为数据库规范数据的数据转换流程图。

具体实施方式

具体实施方式一:本实施方式一种swmm运算结果自动化的数据转化方法具体过程为:

首先运行swmm模型得到结果储存文件(后缀为.out),然后解析out文件数据存储规则,编写计算机程序以解析out文件中的数据信息,最后数据结果形成的输出文件一键导入数据库软件。基于c#编写的计算机程序包括具体以下程式步骤:

步骤一、手动运行swmm模型得到计算结果,将计算结果以后缀为.out的格式储存,储存位置与swmm模型的输入文件所处的位置相同,并自动命名为相同项目名称的out文件(***.out);

步骤二、判断out文件的可用性,包括out文件大小是否大于14byte、首末位特殊标识码是否不同(一个特殊的swmm5标识码(516114522)作为文件中的第一个和最后一个记录出现,只有这样才是完整可读的out文件)、错误代码是否为0(在运算过程中,若出现逻辑错误、拓扑结构错误、数据缺失、数据超出约束条件等不能计算的情况,则模型会根据错误类型提出错误代码,比如e001,表示error001,错误代码为0,证明模型可以运行)以及报告输出时间节点数(报告输出的节点数是总降雨时长除以计算步长)是否大于零,当所有返回值为true时,执行步骤三,否则表示swmm模型构建失败;

步骤三、将swmm模型的版本号、标准单位(公制/英制)、操作对象基础名称信息(操作对象是汇水区、节点、管段;基础名称信息:id号、污染物名称、污染物单位)和模拟场景信息(模拟场景是具体的降雨事件,如降雨起始时间、降雨量步长单位(每多长时间收集一次降雨量)、地面污染清扫起止时间、清扫频率、模型计算步长(每多长时间计算一次结果))按顺序(顺序是模型在记录计算结果的时候先记录整体运行情况,比如第一条是swmm模型的版本号、第二条是标准单位制度、第三条操作对象基础名称信息、第四条模拟场景信息)转化(正常所有输出数据都是0-1二进制数,无法直接读取,转化为字母+空格+十进制数可以直观展示结果)为数据库可读取数据;

步骤四、将步骤一运行swmm模型得到的计算结果中汇水区二进制计算信息转化为数据库可读取数据;

步骤五、将步骤一运行swmm模型得到的计算结果中管段的二进制计算信息转化为数据库可读取数据;

步骤六、将步骤一运行swmm模型得到的计算结果中节点的二进制计算信息转化为数据库可读取数据;

步骤七、根据步骤四、步骤五、步骤六得到的转化为数据库可读取的数据,生成swmm模型系统参数文本与汇水区、管段、节点三要素的三个数据文件夹;

其中swmm模型系统参数文本为txt格式,记录swmm模型的版本号、标准单位(公制/英制)、汇水区数目与名称、节点数目与名称、管段数目与名称、污染物数量与名称、swmm模型模拟开始日期和模拟时长(模拟降雨的起始时间、模型计算步长)等信息;

三个数据文件夹内分别包括每个时间点下汇水区、管段和节点的计算结果值,以txt的形式存储,可直接一键导入数据库软件(数据库是任意的,包括mysql、access等主流数据库)从而建立swmm计算结果数据库。

具体实施方式二:本实施方式与具体实施方式一不同的是,所述步骤一中输入文件后缀为.inp。

其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述步骤四中汇水区二进制计算信息依次包括每个汇水区对象的雨量(英寸/小时或毫米/小时)、雪深(英寸/毫米)、蒸发损失(英寸/天或毫米/天)、渗透损失(英寸/小时或毫米/小时)、径流率(流量单位)、地下水流出量(流量单位)、地下水水位标高(英尺或米)、非饱和区含水率(%)、污染物的径流浓度(浓度单位)。

每个汇水区对象的雨量(英寸/小时或毫米/小时)、雪深(英寸/毫米)、蒸发损失(单位/天或毫米/天)、渗透损失(英寸/小时或毫米/小时)、径流率(流量单位)、地下水流出量(流量单位)、地下水水位标高(英尺或米)、非饱和区含水率(%)、污染物的径流浓度(浓度单位)是swmm模型依次计算出来的,然后在out文件中二进制排列是按着这个方式进行排列的,故在数值转化时也按照这个规则进行顺序转化。

其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述步骤五中管段的二进制计算信息依次包括每个管段对象的流量(流量单位)、水深(英尺或米)、流速(英尺/秒或米/秒)、积水量(立方英寸或立方米)、充满度(%)以及污染物的径流浓度(浓度单位)。

每个管段对象的流量(流量单位)、水深(英尺或米)、流速(英尺/秒或米/秒)、积水量(立方英寸或立方米)、充满度(%)以及污染物的径流浓度(浓度单位)是swmm模型依次计算出来的,然后在out文件中二进制排列是按着这个方式进行排列的,故在数值转化时也按照这个规则进行顺序转化。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是,所述步骤六中节点的二进制计算信息依次包括每个节点对象的水位(英尺或米)、压头(head流体力学术语,是流体高于某基准水平面的位置时所具有的能量)(英尺或米)、积水量(立方英尺或立方米)、侧流入流量(流量单位)、总入流量(流量单位)、涌出流量(流量单位)以及污染物的径流浓度(浓度单位)。

每个节点对象的水位(英尺或米)、压头(head流体力学术语,是流体高于某基准水平面的位置时所具有的能量)(英尺或米)、积水量(立方英尺或立方米)、侧流入流量(流量单位)、总入流量(流量单位)、涌出流量(流量单位)以及污染物的径流浓度(浓度单位)是swmm模型依次计算出来的,然后在out文件中二进制排列是按着这个方式进行排列的,故在数值转化时也按照这个规则进行顺序转化。

其它步骤及参数与具体实施方式一至四之一相同。

采用以下实施例验证本发明的有益效果:

实施例一:

本发明方法于2019年3月应用于某大型城市swmm模型的计算结果转化,其中该城市的排水管网包含728个汇水区、1058个排水管段/管渠、1434个检查井节点、11个调蓄水池、6个雨水泵站、8个内河闸门、3个污水处理厂以及5个降雨监测站,利用传统手段查阅所有对象的计算结果信息,需要进行点击查阅对象、点击对象属性、复制、粘贴保存等动作累计共计16265次,完成数据整理估算耗时45个小时;采用本发明方法,仅需将out文件路径拖入开发的快速转化程序,耗时20分钟,效率提升270倍。具体实施过程为:

(1)swmm模型的运行和out文件保存

加载swmm模型的inp文件,点击swmm菜单栏的“project-runsimulation”,运行模型。运行计算结束后,弹出对话框“runwassuccessful”,然后点击“ok”关闭对话框,同时关闭swmm软件。关闭之前软件时弹出对话框“savecurrentsimulationresults?”选择“yes”保存结果,。模型的计算结果保存在与inp相同目录下,自动命名为相同项目名称的二进制文件(swmm.out)。

(2)out文件导入转化程序

打开程序窗口,在路径输入栏中键入路径或者打开资源浏览器选择out文件,完成文件的导入示。导入后弹出对话框“180times!”表示out文件验证完成,该out文件是可用文件,且文件中存在180个时间点,需进行180次转化过程。

(3)数据转化过程

点击“confirm”开始进行数据转化,进度条开始增加,当达到100%后,弹出对话框“dataextractedsuccessfully!”,表示数据转化成功。

(4)关闭程序

转化过程结束后,弹出对话框“complete!!!”。关闭程序界面,此时弹出对话框“pleasechecktheextracteddataandclickthe‘confirm’buttontoexitorclickthe‘retry’buttontoexecutetheprogramonemoretime!”,out文件相同目录下生成三个文件夹与一个txt系统文本,点击“confirm”按钮并退出程序。txt数据文本可在在数据库软件中实现一键导入,也可在excel和spss等统计软件中打开,对swmm计算结果进行批量分析。

本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1