mike-ba-c#程序语言在水资源调度中的应用_第1页
mike-ba-c#程序语言在水资源调度中的应用_第2页
mike-ba-c#程序语言在水资源调度中的应用_第3页
mike-ba-c#程序语言在水资源调度中的应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

mike-ba-c#程序语言在水资源调度中的应用

1用量-地域分布库水库作为重要的引水利用场所,其运营、规划和控制规则关系到城市乃至特定流域生活和生产所需的水能力平衡。如果能够使用专业的数学模型软件,较准确地模拟现有水库的运行规则,或者为将来的规划方案服务,使之能够比较多套方案,并预测今后某个或多个流域(区域)内的用水户供需水趋势变化及时空分布过程,是非常必要且十分重要的。文中将介绍基于ESRI公司ArcGIS9.1平台的2007版MIKEBASIN水资源数学模型软件,利用VBA或者C#等计算机语言进行模型的二次开发,用于解决从水库直接取水的用水户供水问题及水库预警泄流问题的研究,可方便的使用MIKEBASIN来模拟复杂水库调度过程。2基于空间组织的水资源的及其优化配置MIKEBASIN是由丹麦水利研究院开发,在流域(区域)尺度基础上,解决水量的优化配置、用水户连接、水库调度规则及水质模拟等问题的综合性水资源数学模型软件。无论是在规划设计阶段还是在现行方案的检验过程中,MIKEBASIN借助ArcGIS的平台来管理数据的输入输出并且可以方便地进行模型结果的可视化处理。MIKEBASIN在模拟过程中,既考虑了空间要素的影响,也考虑了时间要素的影响,适合于不同时间尺度(年、月、日、小时等)、空间尺度(用水户、工程点、河流、流域)上对大量的方案进行研究,具有强大的数据交互、结果分析展示、计算速度快、可移植性和可扩展性强等功能。在水文学方面,模型通过空间分析功能可以在已有的数字高程图DEM的基础上,在流域中自上游至下游自动地追踪河流并生成河道,从而建立河网。此外也可以根据流域出口点的所在位置自动地划分子流域。MIKEBASIN模型中的河网分为两大要素:(1)概括各种天然河道的河流及连接渠道。(2)代表汇流点、分流点、水库或用水户的河流节点。此外,MIKEBASIN采用稳态的水量平衡方程,可以模拟一定程度的河道演算;WQ水质模拟可以模拟污染物传输过程中的一阶衰减情况;地下水模拟则是采用了线性水库方程。MIKEBASIN还包括TemporalAnalyst模块和集总式概念的NAM降雨径流模块。在最新发布的2008版本中,还增加了灌溉模拟。它与FAO56模型相对应,可以作为CropWat模型的数据进行运算,可以直接使用联合国标准中的各项经验参数,具有很强的操作性及实用性。基于MIKEBASIN长期以来在世界多个流域(区域)水资源规划管理项目中所取得的令人满意的成果及成熟丰富的经验[5~6],近年国内各主要水利研究机构及大专院校逐步接触并利用此软件用以研究水资源优化配置及制定合理的规划方案[7~10]。通过模拟功能,对规划方案或现状情况通过数学建模并进行多方案的运算和比较,最终为项目或规划的决策提供有力的技术支持。3高级水库调度规则程序所谓复杂水库调度规则是指在操作、运行某一规则时,必须同时考虑若干个相互联系、相互限制的判断条件和调度因素。文中将会介绍基于MIKEBASIN的计算引擎,使用macro及编程等方式二次开发有关复杂水库调度的计算程序。它的意义在于:(1)对现有水库的调度规则模拟和检验;(2)对根据特殊的调度规则设置灵活的限制曲线。用户可以按照此文中介绍的方法,通过VBAmacro或者C#等程序来编辑自己需要的调度规则。一般情况下,用户在MIKEBASIN模型中针对水库可以输入很多控制规则,例如:特征水位、库容曲线、汛限水位、最小泄量(环境流量)、最大泄量、坝顶溢洪道过水能力曲线、下游用水户取水优先级与消落曲线、水库间双向调水、远程控制流量等。其中,比较重要的控制曲线是汛限水位、最小泄量(环境流量)、下游用水户取水优先级及消落曲线的设定。需要注意的是,水电站的上游必须与水库相联接,因而也需要在水库属性对话框中设定水电站的取水优先级与消落曲线,见图1。根据现有水库的调度资料,在设定水库各种属性的过程中,发现用水户的实际取水情况除了要考虑水库的水位限制之外,还需要考虑输水渠道的渠首过水能力曲线。由于MIKEBASIN的水库调度规则中,只考虑了消落水位、消落系数及供水渠道的恒定过水能力,而过水能力曲线尚未包含在模型中。因此,借助模型中的宏助手功能首先生成VB程序代码,其中包含有MIKEBASIN引擎及所调用的对象,然后将此代码转移到Excel中或者转换成其他计算机语言,例如C#,并进行适当修改,添加判断语句或限制规则,进而用于编辑高级水库调度规则程序。此程序设定了两大部分:(1)水库信息,包含水库的上游控制点(选填项)及其调用的Excel参数文件(选填项);(2)用水户信息,包括水库的供水水位限制曲线(消落水位曲线)及其所对应的优先级和Excel参数文件,水位限制曲线和用水户需水量、用水户渠首过水能力、强制需水量3类参数。高级程序经过设置并模拟运算之后,除了生成一个与MIKEBASIN相关联的包含所有模型运算结果的dfs0结果文件之外,还会生成一个txt格式的结果文件。这样做的目的是更能直观地反映根据高级程序设置的参数对结果的影响,能让用户在第一时间发现所作修改之后模型运行的结果是否合理。在此文本格式结果文件里包含有:程序运行开始时间、时间、水库名称、用水户名称、当前水库水位、用户取水量、远程控制点及修改后的泄洪道底高程。值得注意的是,虽然用的二次开发的高级水库调度规则程序,且使用的是C#语言及Excel工具,不过其核心计算引擎和调用对象Object还是利用了MIKEBASIN模型的算法以及DHI的时间序列对象(DHI.MikeBasin.Engine和DHI.TimeSeries,见表1。这样可以从编辑高级程序所使用的C#程序中调用由MIKEBASIN宏助手自动生成的代码上就可以看出。不过仅调用宏助手生成的代码即使用MIKEBASIN自身的用水户或水库限制条件还不能完全满足一部分客户的要求,因此必须根据MIKEBASIN的算法及各个计算节点模拟的优先顺序,对原有的程序代码进行调整,并加入新的限制条件和判断语句。本例程序原理是:读取某一时刻模型计算的水库水位,根据Excel参数设置文件的限制水位区域,判断相应的用水户需水量,并将其与渠首过水能力曲线中此时刻水位所对应的最大过水流量做比较,二者取最小值。此外,还可以设置绝对取水量,即不考虑任何的水库调度规则,根据取水优先级顺序按照设定的数值向用水户供水,直到水库水位降到死水位则停止供水。高级调度程序还可以设置水库预警泄量,即读取上游某一计算节点的流量值,根据Excel参数文件中的上游控制点流量Qp~水库水位Hp关系,判断当水库上游某一控制点的流量处在某一限定范围内的时刻,水库允许达到的最高预警水位。使MIKEBASIN模型在原有的计算基础上功能更加强化,能够模拟预警泄流,见图2、图3。4模型结果与程序结果对比根据上述的程序设计流程,建立一个高级水库调度程序。考虑到用户普遍对于Excel的文件格式比较熟悉,并且日常的数据整理和保存都是在Excel中完成的。因而,将Excel文件格式做为高级程序中用水户及水库参数的文件类型。用户可以将所需要的数据和关系曲线数值放入已建立好的Excel模板中,最终生成独立的可被高级程序所调用的参数文件。当然,对于熟悉数据库格式,例如MicrosoftAccess的专业人员,可以借用数据库和程序语言进行二次开发,通过数据库编辑和存放模型所需要的参数及曲线数值,从而可以一定程度地优化程序语句。这种方法当模拟多个直接向用水户供水的水库或者模拟过程中使用日步长来计算的情况时,可以加快程序运行的速度、提高效率,节省模型读取参数文件的时间。根据同一套模型数据及模型参数设置进行比较:(1)仅独立使用MIKEBASIN模型引擎所得到的计算结果(下称“模型结果”);(2)既使用模型引擎又实用复杂水库调度程序所得的结果(下称“程序结果”)。首先,研究只是考虑用水户取水而不考虑水库预警泄流的情况,见表2和图4。可以看到在2、3、4、6月,实线所示的程序结果中用水户W5实际取水量比虚线所示的模型结果中的用水户实际取水量减少30%。其中,2、3、4、6月份模型结果的W5实际取水量分别从1.2117m3/s、1.8176m3/s、2.4234m3/s、3.6352m3/s变为程序结果的0.8482m3/s、1.2723m3/s、1.6964m3/s、2.5446m3/s。同样在这4个月中,用水户W6的两种不同计算结果的实际取水量数值之间相差29.9%,程序结果中W6实际取水量大幅减少。同一套模型数据在相同的模型参数下模拟出的结果出现较大的差别,是因为渠首过水能力在水库低水位运行的状态下,对用水户的实际取水量影响很大。此时即使水库水位在死水位以上,有部分库容依然可以供水,但由于受渠首水位~流量关系曲线的过水能力限制,用水户的取水量已经受到部分削减甚至在极端情况下有可能完全停止供水。因此,我们可以认为考虑输水管道的渠首过水能力曲线的程序结果较好的反映现实的调度规则,使水库在整个供水过程是按照调度手册的要求进行,相对于模型结果,水库库水位略微上升,用水户实际取水量的数值大幅减小。而模型结果,只是在模拟丰水年或平水年时段比较符合调度规则。然后,研究另一种同时考虑用水户取水及水库预警泄流的情况,见表3和图5。在此情况下,由于用水户的取水限制规则没有任何的改动,通过结果图5(a)、(b)的曲线对比可以看到用水户的实际取水量与第1种情况中的结果相同。而库水位由于要考虑上游控制点来水情况,并根据所制定的Qp~Hp关系曲线的限制规则进行预警泄流,将水库中的水位维持在一个比较安全的范围内,从而避免因上游汛期洪水到来造成下游水库无法及时泄洪,导致水库及下游防汛出现危险的情况发生。因此相对于前一种情况,当控制点流量超过一定等级的时候,水库的库水位曲线会有较大的变化。比如,从6月到10月,由于上游控制点的流量变化范围是从2419.36m3/s到3699.97m3/s,因而程序根据Qp~Hp曲线规则及线性内插原理设定预警泄流的库水位,最终使库水位变化范围保持在139.74m和142.44m之间。此时,计算结果曲线更接近现实运行情况下的水位变化,即可以在计算水资源模型中水量平衡的同时又可以模拟水库的防洪运行规则,见图5(c)。5基于arcdis9.x的反渗透水资源模型分析软件以及其它设备的应用,有利于二次开发和完善我国高校的水(1)MIKEBASIN水资源模型软件不光可以进行某个流域、区域甚至城市的水资源分配和水量平衡的计算,还可以对水库的调度规则进行综合模拟,将水资源分配和水库调度有机的联合起来;(2)由于综合水库调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论