OpenMI技术在水文模型集成中的研究进展

2016-12-27 12:01颜停霞许金朵林晨段洪涛马
南水北调与水利科技 2016年5期

颜停霞许金朵林晨段洪涛马荣华胡维平左一鸣

摘要:针对传统的模型集成方法难以规范化和模型接口难以标准化等问题,欧盟水框架委员会建立了开放式模型接口标准OpenMI(Open Modeling Interface),通过该接口标准,模型可以实现并行运行且共享每一时间步信息,在数据交换和模型链接机理上具有一定的优势。该文在分析了OpenMI工作原理和核心技术的基础上,着重阐述了OpenMI技术在水文模型集成中的研究进展,并指出OpenMI技术目前存在无法支持分布式模型集成以及缺乏可视化界面与人机交互等缺陷,而且在对模型间的数据请求响应机制以及交互数据的容错处理和中断处理机制方面仍有待完善。

关键词:模型集成;OpenMI;标准接口;同步数据交互;连接机制

中图分类号:P333 文献标志码:A 文章编号:

16721683(2016)05001305

利用水文模型进行水环境评估、水文过程模拟、水生态调查,可以快速、有效地获取流域水文特征,为流域环境管理提供理论与实践依据。但是,水文现象是由自然与人文多要素耦合作用的结果,因此单一的水文模型只能做到局部水文现象的模拟,在整体性、一致性上存在不足。同时,目前的水文模型之间较为孤立,彼此联系不足,直接影响了模拟的准确性与全面性。由此可见,实现多个水文过程模型间有效、无缝的集成,是获取流域水文过程的关键技术手段,集成方式的选择是其中必须解决的基础性问题。

近年来,模型集成技术处于不断的发展变化中。早先的模型集成技术主要对源码进行改写以实现模型的复用,为模型集成技术的发展奠定了基础[12]。随着空间决策支持系统的引进,基于模型库的集成方式取得了突破性的进展[35]。后来为减少模型集成人员的编程工作,相对简单、方便的可执行程序集成方式逐渐得到认可,此种方式主要的任务是制定出数据的交换格式和编制数据转换的程序[6]。随着信息技术的发展,考虑到分布式计算技术应用的增多,为解决系统集成功能冗余弊端和集成环境要求的限制,基于Web Services的集成方式受到了广泛的重视[78],并成为目前主流的集成方式。随后基于函数库集成方式也得到了发展[910],此种方式虽可以实现高度的无缝集成,但存在函数库难以扩充与升级等缺陷。由于模型组件化具有较高可移植性、可扩展性等优点,组件化技术对模型集成具有极大的意义[1112]。总而言之,传统的模型集成技术包括源代码、模型库、可执行程序、Web Services、函数库以及组件六种方式,其优缺点见表1。实际应用中,模型集成人员根据各种集成方式的优缺点以及模型的结构选取合适的集成方式实现模型耦合。

水环境领域里有众多的水文模型,这些模型之间在尺度与维数、时空特点、模拟的物理量、数据处理机制、模型的开发语言及环境等方面存在差异,导致模型之间无法实现数据交互与有效连接。因此,传统的模型集成方式不适用于水环境领域的模型集成。为解决此问题,欧盟水框架委员会建立了开放式模型接口(Open Modeling Interface,简称OpenMI),该标准接口适用于以时间序列为基础的模型,规定了各模型在运算时各个模型交互数据应当遵循的规范(包括单位、尺度、时空描述和操作等),并确定了数据的接口形式[13]。该标准接口提供了模型集成的连接机制,用于解决模型数据交互方面的难题,从而实现了模型间的相互连接。利用OpenMI能方便地对已有模型进行改造和移植,增加了对已有模型的复用机会,减少了模型耦合所需的代码重建代价,对于水环境系统的模型集成有重要的意义。

1 OpenMI的工作原理及核心技术

OpenMI接口标准是水环境领域里模型软件计算引擎之间的接口协议,接入此标准接口的模型计算引擎不需要经过二次开发即可实现与其他模型耦合,其具体的工作原理见图1[1314]。

水文模型主要由用户界面、输入文件、计算引擎和结果文件四个部分组成,用户首先通过用户界面定制模型运算所需要的参数,生成输入文件,模型计算引擎在读取输入文件的基础上启动运算并生成相应的结果文件。假如两个模型A与B的计算引擎都接入了OpenMI标准接口协议,则模型A在运行时就可以通过指定的接口共享模型B的数据,真正地实现模型在运行时完成数据交互,达到动态链接的目的。

OpenMI标准接口在交互数据描述和传递机制方面研究较为深入,涉及的模型数据交换实现的主要技术如下。

(1)交互数据的描述。

模型在运行时若想实现数据交互,必须定义好交互数据内容、交互数据位置以及交互时间,主要包括三个方面[1516]:a.是什么(what),模型必须定义交互数据的物理量、数值类型(Value Type)、标示符(ID)、单位(Unit)等,如果交互的数据在单位不同情况下需要经过转换才能互相调用;b.在哪里(where),数据值在何地通过Elementset类来表示,包含了有序要素集,每一要素可以通过节点序号或者具有坐标的地理位置来表示;c.在什么时间(when),数据类型是Itime,采用改进后的儒略日(Julian)日期格式来表示时间,可以是瞬时值或者是时间周期。

(2)数据传递格式定义。

一般情况下,一个或多个 OpenMI 标准组件的软件应用系统组成一个 OpenMI 系统,通过标准接口该系统可以连接与OpenMI标准接口兼容的模型,因此,OpenMI 系统须具备三个方面的功能和信息:①系统必须清楚在哪里可以找到连接的组件;②系统必须知道连接组件之间存在何种连接;③系统必须能够实例化,且能分发并运行连接的组件。

(3)交互数据传递机制。

OpenMI中通过“请求响应”机制的方式实现数据传递,因而,采用 OpenMI 接口标准后,模型根据需要能够实时进行转换为能响应不同问题的组件或对象,通过执行有关属性和方法,组件之间可以建立有效的连接。对已存在模型,通过嵌入标准引擎代码实现,新模型或代码能直接作为方法接口组件开发[17]。

为实现数据交换,采用请求响应机制连接组件,请求输入模型需要在固定位置或时间给出要素变量集,源模型需要计算后给出并返回变量集,这一机制具体的解释如下:

将多个组件连接形成复杂的相互连接的组件集,在每个连接中,“牵引”数据的组件需要从连接的另一端获取数据,牵引竞争处理办法是为数据请求指定输入点。通过交叉连接的数据是输出数据或模型计算后的结果,并成为接受模型的输入数据或者边界条件,同样,采用相同的机制也可从数据库中获取数据。OpenMI能使得模型引擎计算和交换数据在自身的时间步完成,而不需要外部机制来控制,通过禁止组件不返回数据提供了防死锁处理,当一个模型被请求数据,则需要详细说明如何提供给它,因为前一个方法模拟使得缓存中可能已经有模型数据,也可能使得其自行模拟计算,造成一个最好的估算被篡改,或者不能提供请求的数据,在运行时交换数据是自动完成的,通过预先定义的连接驱动,而不需要人为干预处理。

2 OpenMI在水文模型集成中的应用

2.1 不同维数模型的集成研究

随着OpenMI技术委员会的成立,国外更多的科研院所和公司将水环境领域里不同维数模型软件的计算引擎接入OpenMI标准接口协议,如丹麦DHI software 的1维河道与河网综合模拟软件、1维城市排水系统综合模拟软件和1维排水/河网综合模型;英国Wallingford Software的1/2维河道、河网综合模拟软件、3维湖泊河口模型;荷兰Delft Hydraulics Software的1维河网/河网综合模型软件、2/3维水力模型等[18]。而我国目前很少有学者将不同维数的模型偶合起来,仅有王永[19]对石景山雨水管网模型、1维河道模型、2维地表漫流水利模型进行相互耦合,建立了集成式模型系统,结果显示利用OpenMI技术可以更加准确地模拟模型之间的动态影响;杨德全[20]采用OpenMI标准接口对河网1维水力学模型与圩区0维模型进行了耦合模拟。上述研究表明水环境领域里不同维数(0维,1维、1/2维,2/3维,3维等)模型之间也可以实现有效的集成,不过模型计算引擎接口符合OpenMI标准是实现不同维数模型集成的前提保证,对模型间的交互数据在时间、空间和交互内容的理解是实现模型耦合的关键。

2.2 多个模型的集成研究

通过OpenMI技术实现水环境领域里多个模型的集成研究比较多,国外有Gijsbers[21]等人探讨了利用OpenMI技术建立地下水与河网系统交互模拟;Reuner[22]等人将河网、污水处理系统和排水系统模型的计算引擎与OpenMI标准接口兼容,有效地实现了模型集成;W.Bauwens[23]等人将SWAT模型按照OpenMI标准接口进行了改造和移植,有效地耦合了SWAT模型、气候模型以及水力模型;J.V.Assel[24]等将OpenMI用于Scheldt流域的城市雨水管网模型与河流模型系统的耦合,该耦合系统运行时同步双向交换水位与流量数据;Jamie Margetts[25]利用OpenMI技术集成了排水管网模型、河网模型、水质模型以及污水处理系统,综合地对河流的水质进行了评估。在我国,陈建[26]等人将单位线模型、新安江模型、马斯京根等模型的计算引擎接入OpenMI标准接口,结果取得了显著的效果,为多种模型的集成实现提供了思路;杨元元[27]基于OpenMI标准接口技术对感潮河网和排水管网模型进行移植并改造,实现两个模型的动态连接,提高了计算的准确度,特别是初次使用Pi演算推演系统行为的方法解决在模型交互时出现死锁的问题,该研究属于我国的首创,将对水环境领域实现模型之间无缝连接起到引领作用。我国开发研制的水文模型众多,结构各异,为避免资源的浪费,如何实现对已有模型的复用也是一项重要的研究,吴辉[28]对SWAT模型解析的基础上,对子流域坡面产出过程和河道演算过程模块进行OpenMI兼容化处理,实现模型组件集成研究,该文初次探索了对已有模型的拆解和模块重用,为模型的复用提供了参考。

上述研究主要探讨了利用OpenMI技术实现水环境领域里多模型的集成、对已有模型的改造和移植处理方法,以及处理模型交互数据在传递过程中存在的误差等问题,旨在达到多模型高效集成的目的。

2.3 单个模型的集成研究

利用OpenMI技术直接开发研制出与OpenMI兼容的模型软件对水环境领域的模型集成具有重要的意义。我国学者雷四华[29]等人在分析了预报模型的结构、输入和输出参数的基础上,基于OpenMI技术研制了墒情预报模型,为模型研究人员利用OpenMI技术进行模型开发提出了宝贵的建议。吴辉[28]利用OpenMI模型集成环境,在分析模型主要地理过程的基础上对SWAT模型进行模块拆解并集成,为大型模型的模块复用提供了新的思路和方法。周密[30]等人在深入分析OpenMI技术及其原理的基础上,将OpenMI标准接入到新安江模型中,证实利用OpenMI技术实现模型耦合的有效性和先进性,有效地推动了OpenMI的发展。

3 展望

计算机的快速发展和模型研究的不断深入是促进模型集成技术快速发展的重要因素, OpenMI集成方式与传统模型集成方式相比,存在集成效率高、成本低、模型运行时耦合紧密的优点,在数据交换和模型连接机理方面研究比较成功,并被逐渐认为是模型集成的一种标准和规范,是目前相对先进的一种集成方式。但是由于水文模型内部结构复杂,实现水环境领域多模型的集成是一项高难度的工程,研究内容涉及面广,因此OpenMI技术还存在无法实现超大规模系统的建模、模型之间数据传递存在误差等问题。总体来看,有关OpenMI技术的水文模型应用,今后需要深入研究的重点包括以下几个方面。

(1)简化数据请求响应机制。各个模型在运行时都可能会提出相应的数据请求机制,计算顺序相对较为复杂,此时需要检测模型交互机制是否会存在死锁现象。为避免死锁,用户一方面要提高系统的稳定性,另一方面要求用户深刻的理解模型耦合的总体框架,熟悉模型间需要交互的数据内容以及交互位置、时间等,尽量简化模型间的数据请求响应。

(2)加强容错处理和中断处理机制。水文模型过程中各模型的输入输出在时间序列上会存在差异,有的是日序列,有的是时序列,此时模型在数据交互传递时可能会出现误差传递和传输中断现象,因此应加强容错处理和中断处理机制,减少耦合系统运行的不稳定性因素影响,提高系统的可调试性。

(3)不支持分布式模型的集成。目前OpenMI技术暂时不支持分布式模型的集成,降低了模型的集成效率,采用分布式模型集成的关键任务就是研究如何实现作业调度机制,以满足大量客户请求模拟计算服务时得到回应并较少系统资源。如何使得OpenMI技术应用于分布式模型集成将是模型集成方面一个重要的任务,也是一个难点,或成为模型集成发展的新趋势。

(4)加强OpenMI平台对模型运行结果的展示。虽然OpenMI技术委员会提供了模型集成的操作平台,可以实现操作层面上的可视化模型耦合,但是该平台相对复杂,而且无法展示出模型的运行结果,缺乏人机交互和可视化等方面的功能,因此还需要在模型运行结果展示上面进一步探索。

OpenMI标准接口以其实用和先进的多模块集成理念和信息交互机制,在欧美发达国家水环境领域得到了广泛的关注和应用。然而,OpenMI标准接口在我国水环境领域里模型集成方面仅有了初步的应用,与发达国家比较相对落后。未来我国模型研究人员可以自主研究和开发适合我国特定环境的水文模拟软件,并将模型计算引擎接入OpenMI接口标准,充分利用已有的资源,将自主开发的模型与欧盟大多数模型软件相结合起来,综合解决水环境系统存在的问题,更好地服务于水环境系统的管理者和决策者。

参考文献(References):

[1] 王帆,向立云,张大伟,等.山洪风险分析系统中水文模型的接口实现[J].信息化建设,2013,23(6):1417.(WANG Fan,XIANG Liyun,ZHANG Dawei,et al.The interface implementation of the hydrological model in a flash flood risk analysis system[J].Information Construction,2013,23(6):1417.(in Chinese))

[11] 温永宁,闾国年,杨慧,等.面向服务的分布式地学模型集成框架研究[J].遥感学报.2006,10(2):160168.(WEN Yongning,LV Guonian,YANG Hui,et al.A serviceoriented framework of distributed geographic model integration[J].Journal of Remote Sensing,2006,10(2):160168.(in Chinese))

[12] 刘海燕,刘晓民,魏加华,等.组件式流域模拟模型集成技术进展及发展趋势[J].南水北调与水利科技,2013,11(1):140145.(LIU Haiyan,LIU Xiaomin,WEI Jiahua,et al.Progress and development trend of watershed simulation model intergration based on component technology[J].South to North Water Transfers and Water Science & Technology,2013,11(1):140145.(in Chinese))

[13] Gregersen J B,Gijsbers P J A,Westen S J P.OpenMI:Open modeling interface[J].Journal of Hydroinformatics,2007,9(3):175191.

[14] Voinov A,Cerco C.Model integration and the role of data[J].Environmental Modelling& Software,2010,25(8): 965969.

[15] The OpemMI Association Technical Committee(OATC).OpenMI Document Series :OpenMI Standard 2 Specification for the OpenMI (Version 2.0)[EB/OL].http://publicwiki.deltares.nl/download/attachments/41549981/OpenMI+Standard+2+Specification.pdfversion=1&modificationDate=129278907400.

[16] http://www.openmi.org.

[17] Daniels W,Gijsbers P,Fortune D,et al.Applying the modeling interface(OpenMI)[C].International Congress on Modelling and Simulation,at Melbourne,Australia.2005: 634640.

[18] OpenMI association official website: http://openmi.org: last visit:2008,11,20.

[19] 王永.基于OpenMI的城镇排水系统模拟技术研究[D].北京:北京工业大学,2009.(WANG Yong.Study on urban drainage modeling technology based on open modeling interface[D].Beijing: Beijing University of Technology,2009.(in Chinese))

[20] 杨德全,李光炽,程闯闯.基于OpenMI标准的模型耦合技术与应用[J].水利水运工程学报,2013,(1):7680.

(YANG Dequan,LI Guangchi,CHENG Chuangchuang.OpenMI and its application to coupling models[J].HydroScience and Engineering,2013,(1):7680.(in Chinese))

[21] Gijsbers P J A.Gregersen J B.OpenMI design pattems for river groundwater interaction[C].MODFLOW and More 2008 Conference,at Goleden,Colorado US,2008.

[22] Reuner F,Muschalla D,Alex J,et al.OpenMI based basin wide integrated modelling considering multiple urban areas[C].11th International Conference on Urban Drainage,at Edinburgah,Scotland,UK.2008:19.

[23] Bauwens W,Shresta N,Tolseea O,et al.Hydrological open source experiences using SWATandOpenMI[OL].http://www.academia.edu/1468483/Hydrological_open_source_experience_using_SWAT_and_OpenMI.

[24] Assel J V,Waterschoot G,Devroede N,et al.Modeling bidirectional interactions between sewer and river systems using OpenMIa case study in the Scheldt River Basin(Belgium)[OL].http://documents.irevues.inist.fr/bitstream/andle/2042/35709/31702032VAN.pdfsequence=1.

[25] OpenMI Around the World.[20081124].http://www.openmi org/reloaded/users/openmi around the world.php.

[26] 陈建,王建平,李春红.水文模拟系统开放模型接口应用[J].水电自动化与大坝监测,2012,36(1):1722.(CHEN Jian,WANG Jianping,LI Chunhong.Application of open model interface in hydrological analogue system[J].Hydropower Automation and Dam Monitoring,2012,36(1):1722.(in Chinese))