流域模拟模型是流域管理的重要工具,对识别流域过程,了解流域发展动态起到重要作用[1]。但是随着大量流域模型的为断开发和模型应用的深入,流域模型的规模不断增大,结构不断复杂,结果是模型的开发效率降低、运行速度变慢,也愈加适用于单一物理过程和简单区域的传统建模方式难以解决复杂大系统模拟问题[2]。
摘要:组件技术与计算机技术相结合能克服传统建模方式难以解决大规模系统模拟集成的缺陷,可有效促进流域模拟模型集成的发展。为此,从模型组件化的可移植性、灵活性、扩展性、与第三方软件集成等方面分析了组件技术在流域模型集成中的重要作用,分析了国内外组件式流域模拟模型集成技术的发展现状,进而提出国内流域模拟模型集成系统存在的问题。最后,从数字流域模型平台化、基于云计算模式的模型集成、模型应用的组件化等方面,探讨了流域模拟模型集成系统的发展趋势。
关键词:农业与技术期刊,流域模拟模型,组件化,展望
为解决上述问题,人们把几个不同的模型组合成一个有机整体,建立耦合模型,由此发挥各专业模型的优势,提高模型模拟和预报的精度,以解决复杂的问题,即所谓的模型集成[3-5]。与单一的专业模型相比,集成模型结构更为复杂,且由于引入了更多参数,模型参数率定变得更为困难[6]。不过近年来,随着计算机计算能力的提高,多媒体技术、图像处理技术、大型关系数据库技术、组件技术、GIS/GPS/3S技术、多语言混合编程技术等迅速发展,它们与计算机技术的结合为流域模拟模型集成技术的发展提供了新的机遇,对流域模拟模型的推广和应用具有重要意义[7]。
目前,流域模型集成技术主要集中在三方面:第一种是软件工程领域的基于组件(构件)的软件开发方法;第二种是决策支持系统(DSS)领域的模型库系统(MBS);第三种是系统仿真领域的组合仿真理论[8]。本文主要分析基于组件的流域模拟模型集成技术的研究进展以及流域模拟模型的发展趋势。
1组件技术在模型集成中的重要性
流域模型集成系统的发展可概括为“水-土-气-生-人”集成模型的发展,应由分布式水文模型、陆面过程模型、地下水模型、渠系模型、动态植被模型和社会经济模型构成[9]。早期的模拟模型集成方法是通过修改各个模型的源代码来适应具体的应用环境,弊端是模型程序标准化存在一定困难、代码的重用率和开发效率低。尤其是当使用环境发生变化时,用户只有对每个模型的内部结构进行详细了解后,才能修改源代码以实现代码的复用。这些问题阻碍了模型集成系统的发展。随着组件技术的发展以及组件标准的完善,为解决上述问题的解决提供了契机。在流域集成模型系统中应用组件技术使得系统结构由粗放的源代码级开发向模块式、组件化方向发展。这将使软件系统更易局部更新,适用范围更广,灵活性更强,也使用户可以更加方便地将自己编制的模型程序嵌入进这类软件中[10]。组件化技术对集成系统模型的实现具有极大的意义,主要体现在以下几点。(1)模型组件化具有很强的可移植性,因此对象或代码的复用变得很容易。
(2)模型组件化不仅使系统具有较强的灵活性,也使得开发方式灵活,可以以工作组形式开发,也可以并行开发。
(3)模型的组件化具有很好的扩展性,可以单独升级也可以随时对系统功能进行扩充,这是传统软件开发难以实现的。
(4)模型组件化容易与前处理和后处理的第三方软件进行集成。
2国内外组件化流域集成技术的发展及存
在问题流域模型的组件根据模型的求解方式分为3类,分别是前处理组件、计算引擎组件、后处理组件。其中,前处理组件为模型的计算准备提供功能支持,后处理组件为模型的计算结果分析提供功能支持,计算引擎组件是集成模型系统的核心。目前,国内外很多流域集成模型或者模型集成系统均采用了组件化方法,下面对国内外的典型流域集成模型/系统加以评述。
2.1国外组件化流域集成技术的发展
国际上较为知名的流域集成模型包括:丹麦水文研究所开发的MIKESHE和MIKEBASIN等系列软件、美国农业部开发的SWAT模型以及在此基础上发展出的多种集成模型、美国环保署开发的平台式系统BASINS、美国地质调查局在MODFLOW基础上发展的地表水与地下水耦合模型GSFLOW、美国水文工程中心的HEC-HMS模型、美国BrighamYoung大学环境模型研究实验室开发的专业水文模拟处理软件WMS模型系统、英国Wallingford公司所研发的InfoWorksRS以及近年来发展起来的ParFlow等。下面主要介绍其中6种模型。
2.1.1MIKEBASIN模型
MIKEBASIN是一个基于ArcGIS®的流域水资源规划管理工具,在流域(区域)尺度基础上,解决水量的优化配置、用水户连接、水库调度规则及水质模拟等问题的综合性水资源数学模型软件,分NAM(降雨径流)和MIKEBASIN(水资源配置)两个模块[11-12]。MIKEBASIN采用COM/.NET编程功能,提供二次开发及扩展空间,具有综合性与可移植性的特点,通用性强,适于大、小流域和行政区域各种复杂条件水资源问题研究。该软件基于GIS平台,建模快速,数据前处理灵活,后处理以多种形式直观表达,易于分析、统计等。
2.1.2MIKESHE模型
作为一个综合性的水文模拟系统和进行大范围陆地水循环研究的有力工具,MIKESHE侧重地下水资源和地下水环境问题分析、规划和管理。该模型软件包含了模拟坡面漫流、非饱和流、溶质输移、农业设施、总蒸发等数值模块。MIKESHE将水文循环的各物理过程分别独立模型模拟,通过多模型之间的数据交换来模拟各水文循环过程。模型软件采用组件式结构,将每一个子过程分别设计成一个软件模块,每一模块仅执行一个子过程的计算。子模块可单独使用,也可以根据需要进行耦合或者叠加。同时,MIKESHE模型软件具有标准的OpenMI(OpenModelInterface,开放式模型接口)接口,为该模型软件与其他模型集成提供了标准接口[13]。MIKESHE模型软件具有高度灵活性、通用性以及简单操作性。但是,该软件过于庞大和复杂,不易掌握和运用,尤其是整个安装过程较为复杂,良好使用对计算机性能的要求较高[14-15]。2.1.3SWAT(SoilandWaterAssessmentTool)
模型
SWAT模型是一个具有物理机制的分布式流域水文模型。该模型在Windows操作系统上利用VisualBasic并结合GRASS和ArcView进行开发,整合了ARS(AgriculturalResearchService)和SWRRB模型(SimulatorforWaterResourcesinRuralBasins)的特征,采用了先进的模块化设计思路[16-17]。该模型模拟的各环节都有对应的子功能模块,模型运行采用命令行代码结构来控制相关模块的调用,命令行的控制由一个包含命令和代码的特定格式配置文件完成。SWAT模型自问世以来得到了广泛的认可,但是在集成调用的过程中存在如下问题[18-19]。(1)SWAT模型采用与GIS软件紧密集成的方式,模拟过程中的前处理(空间离散化、空间参数化)、运行及调试均以扩展模块方式在GIS环境下实现,因此如果需要将其作为定量评价工具集成到特定的流域管理系统中,那么就意味着同时需要集成整个GIS软件系统,所以集成效率低且浪费资源。(2)由于SWAT模型的空间运行单元采用多层次组织,模型运行需要的基础数据结构复杂,类型多样,所以要想单独开发模型运行的前处理模块,实现的难度较大。
2.1.4InfoWorksRS模型
InfoWorksRS(河流系统软件)主要用于河网及明渠等的水动力学模型计算。它前处理集成了两种GIS组件,即MapInfo公司的MapX和Esri公司的Mapobject,为用户提供了直观的图形用户界面。InfoWorksRS采用分布式体系结构,既支持单用户应用,也可支持工作组多用户应用[20-21]。该软件在应用中对数据的数量和质量要求较高,相对于国内现在较为滞后和不太规范的水文基础数据库而言,软件在应用和推广方面会受到一定的影响。
2.1.5WMS(WatershedModelingSystem)模型
WMS(专业水文模拟处理软件系统),以通用的数据接口集成了HEC、NFF、TR-20、TR-55、RationalMethod和HSPF大量的传统集总式水文模型和基于物理基础的分布式水文模型Gssha,能够提供流域内水文所有过程的模拟。WMS并内嵌了完整的GIS工具,可以实现流域描绘和各种GIS功能分析[22]。目前该软件已被引入国内,并在部分研究中得到了应用。
2.1.6HEC-HMS模型
HEC-HMS(水文模型系统是美国水文工程中心降雨径流模型),模型主要由C,C++和Fortran语言混编而成[23-25]。该HEC-HMS模型具有模块化的结构,研究者可以依据所研究流域的情况,采用不同的产流和汇流方案进行分布式、半分布式或集总式模拟。
组件化技术在国外研究的流域集成模型中已经得到了广泛的应用,促进了国外的流域集成模型的发展。我国也引进了其中一些模型并在流域管理方面应用。但是,如上所述,这些集成模型也存在一些问题,并不是完全适应我国的流域管理,在应用时,也需要对其进行改进以适应应用的环境。
2.2国内组件化流域集成技术的发展
在我国,一些集成模型/集成系统也应用了组件技术进行模型集成。
雷晓辉等[26]开发了基于开源GIS软件MapWindow的模型软件系统MWEasyDHM。该系统集成前处理、模型计算、参数识别、统计分析、结果展示等功能,是一个低成本的分布式水文模型软件系统,整个平台的开发语言包括:C++,C#,VB.Net和Fortran等。该模拟模型采用模块化编程思想,集成多种产汇流计算方式,具有较强的可扩展性。
陈秀万等[27]采用面向对象的方法,基于UML、ATLCOM、ArcEngine、OpenGL等技术实现了一个基于动态响应单元的组件化分布式水文模型系统—DRUMS(ADynamicalResponseUnitsbasedDistributedHydrologicalModelSystem)。DRUMS为多尺度下水文模型库系统的实现提供了一个开放的、可扩展的实现框架。该系统具有开放的接口,灵活的扩展性,在此基础上可以构建不同的专业领域应用。
禹雪中等[28]根据淮河流域洪水特征和水系构成,分析了水文学与水力学模型在洪水过程、洪水要素和空间范围方面的集成方式,采用了数据-模型-应用3层结构的总体集成框架,通过模型应用过程的模块化处理和数据有效交换,建立了集模拟、率定和预报功能于一体的综合计算平台。
黄河数学模拟系统V1.0采用基于.NET的3层架构进行组织,同时考虑通过企业服务总线(ESB)等产品实现与J2EE等架构的有效集成,同时利用COM组件和设置公共接口,有效地耦合各类数学模型,实现数学模型与GIS的集成,基本解决了各类模型前后处理和可视化的问题。但是,目前的系统属于单机软件,对使用人员的专业技术水平要求较高[29]。夏润亮[30]等在黄河数学模拟系统V1.0基础上,基于ArcGISServer开发了分布式数学模型公共后处理平台,以Web服务方式耦合发布各类图层数据,可便捷地在线展示数学模型计算成果。同时利用VTK组件实现了数学模型计算结果的动态渲染,把复杂的数字表现形式转化成为便于领导决策的可视化动态表现形式,将传统面向科研人员的单机数学模型后处理系统,转向为领导决策服务的网络发布平台。
周振红等[31]将Fortran计算程序做成动态链接库,采用组件化编程的方式解决数据传输与控制的问题,建立了基于组件的水力数值模拟可视化系统。
水利部珠江水利科学研究院[32]研制了水资源实时监控管理系统基础平台(WaterWM),该平台对水文产汇流模型、水量水质模拟模型等采用COM组件技术进行了模块封装,可快速完成各种一维水量水质模拟分析计算。魏锋等[33]采用C/S结构开发黄河小花间分布式模型洪水预报系统,并使用COM组件技术进行模块化设计以及用户界面和业务逻辑分离的开发策略,有效解决了不同语言混合编程的问题。
文献[34-37]应用组件和WebService技术及面向服务的体系结构(SOA)对模块进行封装并发布服务,形成洪水预报模型组件库,其组件化过程见图1。
首先,根据洪水预报模型的计算过程进行组件化拆分;然后,运用组件技术、WebService技术、面向服务的体系结构等组件封装技术将划分好的模块封装洪水预报模型组件;第三,对封装后的组件存入组件库,用户定制组件库中的组件并将其在可视化界面中搭建洪水预报模型;最后对系统进行构建。
从上述文献中可以看出,模型组件化后需将这些组件集成在一起,为将这些模型更好地集成,2005年欧洲的OpenMI系统提出了开放式模型接口(OpenModelInterface)和模型组件(ModelComponent)的概念。在这个标准框架下的各种软件之间有共同的接口协议。因此在这个标准的平台上,各种模型可以以组件形式相互耦合组成一个模型系统,可以多方位考察整个流域的模拟问题[38]。目前,全球数十家水环境系统模型软件供应商都把自己软件计算引擎不同程度地接入了OpenMI标准接口,成为OpenMI兼容软件[39-42]。但是,OpenMI标准需要彻底改变数学模型的计算和逻辑过程,对原模型改动很大,而且需要模型开发者熟悉C#编程语言,使用起来很不方便。另外,OpenMI的各模型组件间通过请求数据形成一种“链式”计算过程,在某一时刻只有一个模型组件在计算,不符合计算机发展要求模型计算并行化的趋势。郭延祥[43-44]等针对OpenMI存在的问题,设计了一套将普通模型变为模型组件方法,该方法不受模型的网格划分方法、模拟对象、模型开发语言和操作系统的限制;仅在原模型的时间循环中插入过程函数即可,对原模型改动很小;便于实现分布式计算和并行计算。该模型方法为通过组合简单模型来模拟复杂问题提供了一条有效途径。
2.3国内流域模拟模型集成研究存在的主要问题
(1)通用性与灵活性较差,普适性有待提高。由于缺乏从软件工程的角度进行系统架构设计致使模型集成系统的可扩展性与开发效率都较低,同时,我国早期的涉水模型大部分是针对一个功能模块对应一个或者有限个用户,也使得在全国范围内对同一问题进行着低水平的重复开发,模型有很多,但是普适性有待提高。
(2)不同来源的兼容数学模型兼容性较差,组件化程度不够,模型接口不开放,模型平台标准化不足。
(3)大多数模型采用Fortran语言编写,采取面向过程的结构化编程,将一个大的计算任务分解成一系列子任务,每个子任务又由很多的子程序和函数组成,这种模型的模型程序缺点较多,如代码管理不方便、复用性差、系统图形化用户界面(GUI)程度低等。
(4)模型主要面向科学研究,并非针对具体的流域管理进行设计,很难直接应用于流域管理业务中。
(5)开发出的模拟模型的表达与求解复杂性以及模型参数的设置和率定的困难性,对于非专业人员是难以逾越的障碍,这在一定程度上制约了数学模型的发展与应用不适合非专业人员使用。
(6)流域模拟模型集成系统日益注重与GIS进行集成,各类遥感观测为模型系统提供了高分辨率输入,但是现有模型大多数没有使用遥感数据以及进一步同化遥感数据,降低了模型数据分析与决策的能力。
这些均使得我国流域模拟模型集成系统的研制比较落后。因此,针对上述问题,研究使用方便,具有通用性、可扩展性、实用性强的流域模拟模型集成系统是很有必要的。
3流域模拟模型集成技术研究展望
流域模拟模型集成系统是一项高难度的复杂系统工程,研究内容涉及面广,总体上还不成熟。以云计算、Web2.0为标志的第三次信息技术浪潮的到来为研究具有实用性和通用性的水利数学模型平台带了良好的契机[45-46]。根据目前流域模拟模型集成技术研究现状和存在的主要问题,需要深入研究的重点包括以下几个方面。
(1)将各种数学模型开发成易于集成的标准组件既是发展的趋势,也是当今数学模型应用开发的一个重要任务。研究各类模型的信息交互、传输方式、集成结构、参数管理、协同调用、输出结果等内容,将模型组件化并建立流域模型组件库,集成化软件组件的公共开放环境。通过标准数据接口整合各类异构模型组件,以开放式建模接口标准和通用组件架构模式,搭建开放、开源的模拟平台,使预报结果更加丰富。
(2)随着云计算、Web2.0的发展,研究不同要素、不同过程模型在云中集成所涉及的技术难点和模型结构、数据接口等具体问题,构建基于云计算模式的流域模拟模型平台成为水利数学模型平台开发的最新趋势。
(3)流域模拟模型平台化是流域模型与信息技术相结合的产物。设计程序结构灵活,利于扩充和兼容性模型应用平台化已成为趋势。目前,国外的流域模拟模型平台居于领先地位。为解决我国模型平台低水平重复开发问题,应该认真研究国外优秀平台,注重顶层设计,分析系统结构、核心算法、数据流程、数据存储结构、前后处理方法,并抽象出模型系统的共性点形成技术开发规范,在技术传承积累的基础上渐次推进我国流域模拟模型的发展[47]。
参考文献(References):
[1]姚长青,杨志峰,赵彦伟.流域模拟模型与GIS集成研究现状与展望[J].水土保持研究,2005,12(6):138-141.(YAOChang-qing,YANGZhi-feng,ZHAOYan-wei.DevelopmentofresearchontheintegrationofwatershedsimulationmodelandGIS[J].ResearchofSoilandWaterConservation,2005,12(6):138-141.(inChinese))[2]李新,程国栋,康尔泗,等.数字黑河的思考与实践3:模型集成[J].地球科学进展,2010,25(8):851-865.(LIXin,CHENGGuo-dong,KANGEr-si,etal.Digitalheiheriverbasin.3:modelintegration[J].AdvancesinEarthScience,2010,25(8):851-865.(inChinese))
[3]唐莉华.基于地貌特征的流域水一沙一污染物耦合模型及其应用[D].北京:清华大学,2009.(TANGLi-hua.Geomorphology-basedwater-sediment-pollutantmodelanditsapplication[D].Beijing:TsinghuaUniversity,2009.(inChinese))
[4]张万顺,方攀,鞠美勤,等.流域水量水质耦合水资源配置[J].武汉大学学报,2009,42(5):577-581.(ZHANGWan-shun,FANGPan,JUMei-qin,etal.ACoupledwaterquantity-qualitymodelforwaterresourcesallocation[J].EngineeringJournalofWuhanUniversity,2009,42(5):577-581.(inChinese))
[5]凌敏华,陈喜,程勤波,等.地表水与地下水耦合模型研究进展[J].水利水电科技进展,2010,30(4):79-84.(LINGMin-hua,CHENXi,CHENGQin-bo,etal.Advancesincoupledsurfacewaterandgroundwatermodels[J].AdvancesinScienceandTechnologyofWaterResources,2010,30(4):79-84.(inChinese))
[6]庞树森,许继军.国内数字流域研究与问题浅析[J].水资源与水工程学报,2012,23(1):164-167.(PANGShu-sen,XUJi-jun.PreliminaryanalysisondigitalbasinresearchandprobleminChina[J].JournalofWaterResourcesandWaterEngineering,2012,23(1):164-167.(inChinese))
[7]辛文杰,陈志昌,罗小峰.河口海岸数值模拟可视化系统[A].第十二届中国海岸工程学术讨论会论文集